My program with two processes are as following:
process ( CLK )
begin
if (CLK'EVENT and CLK = '1' )then
ADDR := ADDR + "0000000000000000001";
elsif ( RESET = '1') then
ADDR := "0000000000000000000";
end if;
CEN_ADDR <= ADDR;
end process;
process ( CLK )
begin
if ( CLK'EVENT and CLK = '1' ) then
if ( RESET = '0') then
RREG1 := DATA1;
RREG2 := DATA2;
RREG3 := DATA3;
REG1 := RREG1;
REG2 := RREG2;
REG3 := RREG3;
OUT1 <= REG1;
OUT2 <= REG2;
OUT 3 <= REG3;
end if;
end if;
end process;
O_DATA1 <= OUT1;
O_DATA2 <= OUT2;
O_DATA3 <= OUT3;
I want to use two current parts to do the followings:
1) currently process CEN_ADDR and O_DATA1, O_DATA2 and O_DATA3.
2) Send out CEN_ADDR right away without delay, and O_DATA1, O_DATA2 and O_DATA3 are delayed for two cycles.
For O_DATA1, O_DATA2 and O_DATA3 can reach Data bus at the same time, I put them out
from process.
Do you think O_DATA1, O_DATA2 , O_DATA3 can be updated correctly with the input DATA1,
DATA2 and DATA3 ?
Or O_DATA1, O_DATA2 and O_DATA3 are send out right away without updating?
Thank you for your help.