S
Simon Watson
Guest
Hi all,
I am reading Pong P Chu's book RTL design using VHDL - and have a bit of a quandary.
I have always written my state machines (generally) in one process. However, in this book - the author suggests that this is bad practice due to the fact that any signals in the process will have additional registers placed on them.
The question breaks down quite nicely:
1) The author uses if (clk'event and clk='1') to trigger on the rising edge rather than rising_edge(clk) which is my normal use - is there a significant difference in these?
2) Is the extra registering on the output signals from the state machine necessarily a bad thing?
The author suggests that a "2-segment" or two process approach, with one process triggering on the signals / states in the state machine, and another clocked process updating the state register.
If anyone has the book the discussion is on 333 to 337.
Best regards,
Simon
I am reading Pong P Chu's book RTL design using VHDL - and have a bit of a quandary.
I have always written my state machines (generally) in one process. However, in this book - the author suggests that this is bad practice due to the fact that any signals in the process will have additional registers placed on them.
The question breaks down quite nicely:
1) The author uses if (clk'event and clk='1') to trigger on the rising edge rather than rising_edge(clk) which is my normal use - is there a significant difference in these?
2) Is the extra registering on the output signals from the state machine necessarily a bad thing?
The author suggests that a "2-segment" or two process approach, with one process triggering on the signals / states in the state machine, and another clocked process updating the state register.
If anyone has the book the discussion is on 333 to 337.
Best regards,
Simon