Altera_Forum
Honored Contributor
11 years agoNO clock event, but signal changes anyway!
In a nutshell, something weird is going on in my simulation...
Clearly my code states that upon a rising_edge of nDB_BUF_EN then various outputs are latched. However I have seen the clocking signal nDB_BUF_EN to be stable (at logic 1) BUT the latched outputs change! How could this be?
proc_IOControlDBBusLatch : PROCESS (nRST, nDB_BUF_EN)
BEGIN
IF nRST='0' THEN
zb2D7_FrameBlank <= '0';
zb2D6_LineBlank <= '0';
zb2D5_CPU_Access <= '0';
zb2D4_AltGREENsel <= '0';
zb2D3_BANK3_CASsel <= '0';
zb2D2_BANK2_CASsel <= '0';
zb2D1_CassMotorEn <= '0';
zb2D0_SpeakerEn <= '0';
ELSIF RISING_EDGE(nDB_BUF_EN) THEN
--Latch data from the common databus
zb2D7_FrameBlank <= D_7_0(7);
zb2D6_LineBlank <= D_7_0(6);
zb2D5_CPU_Access <= D_7_0(5);
zb2D4_AltGREENsel <= D_7_0(4);
zb2D3_BANK3_CASsel <= D_7_0(3);
zb2D2_BANK2_CASsel <= D_7_0(2);
zb2D1_CassMotorEn <= D_7_0(1);
zb2D0_SpeakerEn <= D_7_0(0);
END IF;
END PROCESS proc_IOControlDBBusLatch;
So my question is, under what possible circumstances can the outputs change (latch) if nDB_BUF_EN is NOT changing??? I see no 'glitch' on nDB_BUF_EN either - there is NO rising_edge event! Thanks in advance for any insights, Andy