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

Subversion Repositories c16

[/] [c16/] [trunk/] [vhdl/] [cpu_engine.vhd] - Diff between revs 21 and 23

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

Rev 21 Rev 23
Line 358... Line 358...
 
 
        process(CLK_I)
        process(CLK_I)
        begin
        begin
                if (rising_edge(CLK_I)) then
                if (rising_edge(CLK_I)) then
                        if (RST_I = '1') then   T2 <= '0';
                        if (RST_I = '1') then   T2 <= '0';
                        else                                    T2 <= not T2;
                        elsif (CE = '1') then   T2 <= not T2;
                        end if;
                        end if;
                end if;
                end if;
        end process;
        end process;
 
 
        process(T2, M_PC, ADR, C_IO, C_RD_O, C_WE_O)
        process(T2, M_PC, ADR, C_IO, C_RD_O, C_WE_O)
Line 385... Line 385...
        -- clock read data to XM_OPCODE in T1 or to XM_RDAT in T2
        -- clock read data to XM_OPCODE in T1 or to XM_RDAT in T2
        --
        --
        process(CLK_I)
        process(CLK_I)
        begin
        begin
                if (rising_edge(CLK_I)) then
                if (rising_edge(CLK_I)) then
 
                        if (CE = '1') then
                        if (T2 = '0') then
                        if (T2 = '0') then
                                OPCS   <= EXTERN;
                                OPCS   <= EXTERN;
                                XM_OPC <= DAT_I;
                                XM_OPC <= DAT_I;
                        else
                        else
                                RDATS   <= EXTERN;
                                RDATS   <= EXTERN;
                                XM_RDAT <= DAT_I;
                                XM_RDAT <= DAT_I;
                        end if;
                        end if;
                end if;
                end if;
 
                end if;
        end process;
        end process;
 
 
        M_OPC <= LM_OPC  when (OPCS = '0')  else XM_OPC;
        M_OPC <= LM_OPC  when (OPCS = '0')  else XM_OPC;
        ADR_O <= M_PC    when (T2 = '0')    else ADR;
        ADR_O <= M_PC    when (T2 = '0')    else ADR;
        RDAT  <= LM_RDAT when (RDATS = '0') else XM_RDAT;
        RDAT  <= LM_RDAT when (RDATS = '0') else XM_RDAT;

powered by: WebSVN 2.1.0

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