URL
https://opencores.org/ocsvn/c16/c16/trunk
[/] [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;
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.