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

Subversion Repositories tg68kc

[/] [tg68kc/] [trunk/] [TG68KdotC_Kernel.vhd] - Diff between revs 6 and 7

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

Rev 6 Rev 7
Line 19... Line 19...
-- along with this program.  If not, see <http://www.gnu.org/licenses/>.    --
-- along with this program.  If not, see <http://www.gnu.org/licenses/>.    --
--                                                                          --
--                                                                          --
------------------------------------------------------------------------------
------------------------------------------------------------------------------
------------------------------------------------------------------------------
------------------------------------------------------------------------------
 
 
 
-- 03.11.2019 TG rework barrel shifter - some other tweaks
 
-- 02.11.2019 TG bugfig N-Flag and Z-Flag for DIV
-- 30.10.2019 TG bugfix RTR in 68020-mode
-- 30.10.2019 TG bugfix RTR in 68020-mode
-- 30.10.2019 TG bugfix BFINS again
-- 30.10.2019 TG bugfix BFINS again
-- 19.10.2019 TG insert some bugfixes from apolkosnik
-- 19.10.2019 TG insert some bugfixes from apolkosnik
-- 05.12.2018 TG insert RTD opcode
-- 05.12.2018 TG insert RTD opcode
-- 03.12.2018 TG insert barrel shifter
-- 03.12.2018 TG insert barrel shifter
Line 1255... Line 1257...
                        SRin <= OP2out(15 downto 8);
                        SRin <= OP2out(15 downto 8);
                END IF;
                END IF;
 
 
                IF rising_edge(clk) THEN
                IF rising_edge(clk) THEN
                        IF Reset='1' THEN
                        IF Reset='1' THEN
                                FlagsSR(5) <= '1';
 
                                FC(2) <= '1';
                                FC(2) <= '1';
                                SVmode <= '1';
                                SVmode <= '1';
                                preSVmode <= '1';
                                preSVmode <= '1';
                                FlagsSR(3 downto 0) <= "0111";
                                FlagsSR <= "00100111";
                                make_trace <= '0';
                                make_trace <= '0';
                        ELSIF clkena_lw = '1' THEN
                        ELSIF clkena_lw = '1' THEN
                                IF setopcode='1' THEN
                                IF setopcode='1' THEN
                                        make_trace <= FlagsSR(7);
                                        make_trace <= FlagsSR(7);
                                        IF set(changeMode)='1' THEN
                                        IF set(changeMode)='1' THEN
Line 1296... Line 1297...
                                        FC(2) <= FlagsSR(5);
                                        FC(2) <= FlagsSR(5);
                                END IF;
                                END IF;
                                IF interrupt='1' THEN
                                IF interrupt='1' THEN
                                        FC(2) <= '1';
                                        FC(2) <= '1';
                                END IF;
                                END IF;
 
                                IF cpu(1)='0' THEN
 
                                        FlagsSR(6) <= '0';
 
                                END IF;
                                FlagsSR(3) <= '0';
                                FlagsSR(3) <= '0';
                        END IF;
                        END IF;
                END IF;
                END IF;
        END PROCESS;
        END PROCESS;
 
 
Line 1973... Line 1977...
                                                                                datatype <= "10";
                                                                                datatype <= "10";
                                                                                IF opcode(5 downto 3)="000" THEN                --swap
                                                                                IF opcode(5 downto 3)="000" THEN                --swap
                                                                                        set_exec(opcSWAP) <= '1';
                                                                                        set_exec(opcSWAP) <= '1';
                                                                                        set_exec(Regwrena) <= '1';
                                                                                        set_exec(Regwrena) <= '1';
                                                                                ELSIF opcode(5 downto 3)="001" THEN             --bkpt
                                                                                ELSIF opcode(5 downto 3)="001" THEN             --bkpt
 
                                                                                        trap_illegal <= '1';
 
                                                                                        trapmake <= '1';
                                                                                ELSE                                                                    --pea
                                                                                ELSE                                                                    --pea
                                                                                        ea_only <= '1';
                                                                                        ea_only <= '1';
                                                                                        ea_build_now <= '1';
                                                                                        ea_build_now <= '1';
                                                                                        IF nextpass='1' AND micro_state=idle THEN
                                                                                        IF nextpass='1' AND micro_state=idle THEN
                                                                                                set(presub) <= '1';
                                                                                                set(presub) <= '1';

powered by: WebSVN 2.1.0

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