L
logia
Guest
Hi there,
I have been read a piece of vhdl code and could not understand
following part.
My question is that regLoadEn = '1' only when both stLoadEn and
qfnFingerEn
are '1'. And all these statements are inside a PROCESS, which means
they are
executed in sequence. The second if statement will turn regLoadDone =
'1' when
regLoadEn = '1' and stLoadEn = '0'. But is this possible? Not, right?
Because
regLoadEn = '1' then stLoadEn must be '1'; if regLoadEn = '0' the
second if
statement will never be true. Therefore per following statements
regLoadDone will
never be '1'.
Correct me if I am wrong. Thanks in advance!
FingerInitClock :
PROCESS ( crSysResetAX, sysDOFnDomClk )
...
...
regLoadEn <= stLoadEn AND qfnFingerEn;
IF (qfnFingerEn = '1') THEN
-----------------------------------------------------------------------
-- Falling Edge Detect
-----------------------------------------------------------------------
IF (regLoadEn = '1' AND stLoadEn = '0') THEN
regLoadDone <= '1';
ELSIF (stSymbolEn = '1' AND reg1stSymOnw = '0') THEN
regLoadDone <= '0';
END IF;
ELSE
regLoadDone <= '0';
END IF;
....
....
END PROCESS
FingerInitClock;
I have been read a piece of vhdl code and could not understand
following part.
My question is that regLoadEn = '1' only when both stLoadEn and
qfnFingerEn
are '1'. And all these statements are inside a PROCESS, which means
they are
executed in sequence. The second if statement will turn regLoadDone =
'1' when
regLoadEn = '1' and stLoadEn = '0'. But is this possible? Not, right?
Because
regLoadEn = '1' then stLoadEn must be '1'; if regLoadEn = '0' the
second if
statement will never be true. Therefore per following statements
regLoadDone will
never be '1'.
Correct me if I am wrong. Thanks in advance!
FingerInitClock :
PROCESS ( crSysResetAX, sysDOFnDomClk )
...
...
regLoadEn <= stLoadEn AND qfnFingerEn;
IF (qfnFingerEn = '1') THEN
-----------------------------------------------------------------------
-- Falling Edge Detect
-----------------------------------------------------------------------
IF (regLoadEn = '1' AND stLoadEn = '0') THEN
regLoadDone <= '1';
ELSIF (stSymbolEn = '1' AND reg1stSymOnw = '0') THEN
regLoadDone <= '0';
END IF;
ELSE
regLoadDone <= '0';
END IF;
....
....
END PROCESS
FingerInitClock;