2
\$\begingroup\$

I have basic knowledge in static timing analysis. I understand concepts about setup and hold time of bistables and that failure to meet these two timing constraints can lead to metastability where output of such bistables can become unpredictable (as transients have not died).

What are different techniques to address issues of setup and hold time violations for FPGA's and ASIC designs ?

\$\endgroup\$
  • \$\begingroup\$ Are you asking about ways to detect/identify them or was to fix them or both? \$\endgroup\$ – FarhadA Jun 21 '13 at 8:32
6
\$\begingroup\$

This answer is more geared to an ASIC than an FPGA, but some will still apply.

To address setup time violations, you can:

  • Use larger/stronger cells to drive paths with high capacitance, which can reduce the time needed to transition on sluggish net.
  • Adjust the skew of the clock to the start or endpoint of the path which is violating. (time borrowing).
  • Move gates around to make the total distance between different cells in the violating path smaller (less capacitance to drive = faster transitions)
  • Insert retiming flops on the path, if the design will allow for it (try to do an operation in two clock cycles instead of one)
  • Reduce the overall clock frequency.

For hold time violations:

  • Skew the clock to the start/endpoint (reverse of how to fix setup) to make the endpoint clock arrive earlier.
  • Insert cells along the path to increase the propogation time (insert chains of buffers)
  • Reduce the drive strength of cells on the path to make the transition time increase.
\$\endgroup\$
  • \$\begingroup\$ Retiming is moving existing flops. Are you referring to pipelining the combinational path before the Flop with setup violation ? \$\endgroup\$ – nurabha Jun 20 '13 at 23:07
  • \$\begingroup\$ Yes, that's what I'm referring to. \$\endgroup\$ – Tim Jun 20 '13 at 23:17
  • \$\begingroup\$ In this which all we can apply for FPGA ? \$\endgroup\$ – tollin jose Aug 30 '16 at 11:48
0
\$\begingroup\$

FPGA and ASIC tools that can calculate the various timing paths over Process/Temp/Voltage and identify and flag any timing violations. Additionally, these same tools will factor in timing constraints during Place & Route, to help assure that the constraints will be met.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.