Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
17249 Discussions

How do I disable setup/hold violation errors?

Altera_Forum
Honored Contributor II
4,301 Views

I'm simulating a design with ModelSim-Altera. The design has two clock domains and I'm using two-stage synchronizers on data that crosses between the clock domains. Because the two clocks are close in frequency but not equal I get a huge number of setup and hold violations on the synchronizer FFs, which is to be expected. Is there a way to disable setup and hold violations in the Altera simulation libraries?

0 Kudos
9 Replies
Altera_Forum
Honored Contributor II
2,315 Views

You can just skip timing analysis for transfers between asynchronous clock domains. In your .sdc file either put clocks in separate clock groups or set false path between them. For example: 

set_clock_groups -asynchronous -group -group or 

set_false_path -from -to set_false_path -from -to
0 Kudos
Altera_Forum
Honored Contributor II
2,315 Views

I already did that. This takes care of SDC but doesn't fix the problem with the post-fit simulation.

0 Kudos
Altera_Forum
Honored Contributor II
2,315 Views

false paths in sdc means just that at any level. It must you got something else violating timing. I suggest you use fifo instead of your two stage synchroniser.

0 Kudos
Altera_Forum
Honored Contributor II
2,315 Views

A FIFO isn't an appropriate solution. The problem isn't with the design, which works fine in real hardware. This is purely a simulation annoyance. A FIFO wont do anything anyway, since internally the FIFO uses the same synchronization chain mechanism.

0 Kudos
Altera_Forum
Honored Contributor II
2,315 Views

I am not sure about your description, which tool is reporting tSU/tH violation. Is it Modelsim or quartus? 

 

A fifo does have synchroniser similar to yours but plus handshaking logic to cross data correctly across both domains.
0 Kudos
Altera_Forum
Honored Contributor II
2,315 Views

It's ModelSim I'm using for the simulation.

0 Kudos
Altera_Forum
Honored Contributor II
2,315 Views

Does Modelsim report tSU/tH timing violation?

0 Kudos
Altera_Forum
Honored Contributor II
2,315 Views

No modelsim does simulation and doesn't do a timing a violation as a error. I may be corrected though by someone else but this is my observation

0 Kudos
Altera_Forum
Honored Contributor II
2,315 Views

TrueBlue,  

after you start simulation, you need to use the tcheck_set command to disable the timing checks on the first level of synchronizer FFs.
0 Kudos
Reply