praveen wrote:
> i have no of D flip flops cascaded now there are two ways clock can be routed.
>
> 1) in the direction of the data flow.
> 2) opposite to the direction of the data flow.
>
> which of the above is good??
Good question, Praveen. Since 1988, every young engineer that I
interviewed for employment here at Xilinx ( i.e. a couple of hundred)
had to come up with an answer to that question.
If you have a choice ( in an
FPGA you should use global clocks, so you
have no measurable delay difference anyhow) there is a trade-off:
Running the clock against the data flow sacrifices performance by
increasing the set-up time, but it is the safeest method, and therefore recommended.
Running the clock in the direction of the data flow reduces set-up time
and thus alllows a higher clock rate, but changes the input requirements
in the direction of a positive (or more positive) hold time. If
overdone, this can create a race condition, and "failure at any clock
speed".
Therefore not recommended.
Peter Alfke, Xilinx Applications