OpenCores
URL https://opencores.org/ocsvn/tg68kc/tg68kc/trunk

Subversion Repositories tg68kc

[/] [tg68kc/] [trunk/] [TG68K_Pack.vhd] - Diff between revs 2 and 8

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 2 Rev 8
Line 1... Line 1...
------------------------------------------------------------------------------
------------------------------------------------------------------------------
------------------------------------------------------------------------------
------------------------------------------------------------------------------
--                                                                          --
--                                                                          --
-- Copyright (c) 2009-2018 Tobias Gubener                                   -- 
-- Copyright (c) 2009-2019 Tobias Gubener                                   -- 
-- Subdesign fAMpIGA by TobiFlex                                            --
 
-- Patches by MikeJ, Till Harbaum, Rok Krajnk, ...                          --
-- Patches by MikeJ, Till Harbaum, Rok Krajnk, ...                          --
 
-- Subdesign fAMpIGA by TobiFlex                                            --
--                                                                          --
--                                                                          --
-- This source file is free software: you can redistribute it and/or modify --
-- This source file is free software: you can redistribute it and/or modify --
-- it under the terms of the GNU Lesser General Public License as published --
-- it under the terms of the GNU Lesser General Public License as published --
-- by the Free Software Foundation, either version 3 of the License, or     --
-- by the Free Software Foundation, either version 3 of the License, or     --
-- (at your option) any later version.                                      --
-- (at your option) any later version.                                      --
Line 27... Line 27...
 
 
        type micro_states is (idle, nop, ld_nn, st_nn, ld_dAn1, ld_AnXn1, ld_AnXn2, st_dAn1, ld_AnXnbd1, ld_AnXnbd2, ld_AnXnbd3,
        type micro_states is (idle, nop, ld_nn, st_nn, ld_dAn1, ld_AnXn1, ld_AnXn2, st_dAn1, ld_AnXnbd1, ld_AnXnbd2, ld_AnXnbd3,
                                                  ld_229_1, ld_229_2, ld_229_3, ld_229_4, st_229_1, st_229_2, st_229_3, st_229_4,
                                                  ld_229_1, ld_229_2, ld_229_3, ld_229_4, st_229_1, st_229_2, st_229_3, st_229_4,
                                                  st_AnXn1, st_AnXn2, bra1, bsr1, bsr2, nopnop, dbcc1, movem1, movem2, movem3,
                                                  st_AnXn1, st_AnXn2, bra1, bsr1, bsr2, nopnop, dbcc1, movem1, movem2, movem3,
                                                  andi, pack1, pack2, pack3, op_AxAy, cmpm, link1, link2, unlink1, unlink2, int1, int2, int3, int4, rte1, rte2, rte3,
                                                  andi, pack1, pack2, pack3, op_AxAy, cmpm, link1, link2, unlink1, unlink2, int1, int2, int3, int4, rte1, rte2, rte3,
                                                  rtd1, rtd2, trap0, trap1, trap2, trap3,
                                                  rtd1, rtd2, trap00, trap0, trap1, trap2, trap3,
                                                  trap4, trap5, trap6, movec1, movep1, movep2, movep3, movep4, movep5, rota1, bf1,
                                                  trap4, trap5, trap6, movec1, movep1, movep2, movep3, movep4, movep5, rota1, bf1,
                                                  mul1, mul2, mul_end1,  mul_end2, div1, div2, div3, div4, div_end1, div_end2);
                                                  mul1, mul2, mul_end1,  mul_end2, div1, div2, div3, div4, div_end1, div_end2);
 
 
        constant opcMOVE        : integer := 0; --
        constant opcMOVE        : integer := 0; --
        constant opcMOVEQ       : integer := 1; --
        constant opcMOVEQ       : integer := 1; --
Line 113... Line 113...
        constant opcPACK            : integer := 77; --
        constant opcPACK            : integer := 77; --
        constant opcUNPACK          : integer := 78; --
        constant opcUNPACK          : integer := 78; --
        constant hold_ea_data   : integer := 79; --
        constant hold_ea_data   : integer := 79; --
        constant store_ea_packdata  : integer := 80; --
        constant store_ea_packdata  : integer := 80; --
        constant exec_BS         : integer := 81; --
        constant exec_BS         : integer := 81; --
--      constant    : integer := 75; --
        constant save_OP2                               : integer := 82; --
--      constant         : integer := 76; --
        constant opcTRAPV                               : integer := 83; --
--      constant         : integer := 7; --
 
--      constant         : integer := 7; --
 
--      constant         : integer := 7; --
 
 
 
        constant lastOpcBit     : integer := 81;
        constant lastOpcBit                     : integer := 83;
 
 
        component TG68K_ALU
        component TG68K_ALU
        generic(
        generic(
                MUL_Mode :integer;          --0=>16Bit,  1=>32Bit,  2=>switchable with CPU(1),  3=>no MUL,  
                MUL_Mode :integer;          --0=>16Bit,  1=>32Bit,  2=>switchable with CPU(1),  3=>no MUL,  
                MUL_Hardware :integer;   --0=>no,         1=>yes,  
                MUL_Hardware :integer;   --0=>no,         1=>yes,  

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.