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

Subversion Repositories c16

[/] [c16/] [trunk/] [vhdl/] [opcode_decoder.vhd] - Diff between revs 17 and 21

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

Rev 17 Rev 21
Line 96... Line 96...
        LAST_M <= '1' when (OP_CYC = LAST) else '0';
        LAST_M <= '1' when (OP_CYC = LAST) else '0';
 
 
        HLT    <= HALTED;       -- show when CPU is halted
        HLT    <= HALTED;       -- show when CPU is halted
        -- HLT    <= '1' when DISABLE_CNT = 0 else '0'; -- show when ints enabled
        -- HLT    <= '1' when DISABLE_CNT = 0 else '0'; -- show when ints enabled
 
 
        process(CLK_I)
        process(CLK_I, CLR)
        begin
        begin
                if (rising_edge(CLK_I)) then
 
                        if (CLR = '1') then
                        if (CLR = '1') then
                                DISABLE_CNT <= "0001";  -- 1 x disabled
                                DISABLE_CNT <= "0001";  -- 1 x disabled
                                INT_M2      <= '0';
                                INT_M2      <= '0';
                                HALTED      <= '0';
                                HALTED      <= '0';
                        elsif (CE = '1' and T2 = '1') then
                elsif ((rising_edge(CLK_I) and T2 = '1') and CE = '1' ) then
                                if (DISABLE_INT = '1') then
                                if (DISABLE_INT = '1') then
                                        DISABLE_CNT <= DISABLE_CNT + 1;
                                        DISABLE_CNT <= DISABLE_CNT + 1;
                                elsif (ENABLE_INT  = '1' and DISABLE_CNT /= 0) then
                                elsif (ENABLE_INT  = '1' and DISABLE_CNT /= 0) then
                                        DISABLE_CNT <= DISABLE_CNT - 1;
                                        DISABLE_CNT <= DISABLE_CNT - 1;
                                end if;
                                end if;
Line 118... Line 117...
                                        HALTED <= '1';
                                        HALTED <= '1';
                                end if;
                                end if;
 
 
                                INT_M2 <= INT_M1;
                                INT_M2 <= INT_M1;
                        end if;
                        end if;
                end if;
 
        end process;
        end process;
 
 
        process(OPCODE, OP_CYC, INT, RRZ, INT_M2, DISABLE_CNT, HALTED)
        process(OPCODE, OP_CYC, INT, RRZ, INT_M2, DISABLE_CNT, HALTED)
 
 
                variable        IS_M1                   : std_logic;
                variable        IS_M1                   : std_logic;

powered by: WebSVN 2.1.0

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