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

[STA] Timing Constraints for synchronizers

Altera_Forum
Honored Contributor II
2,109 Views

Hi All, 

 

 

 

What timing constraints should be applied for the synchronizers?  

 

 

 

1) false path from a clock pin of the first flop to D-pin of the second/last flop  

 

2) what about the multicycle path? should it be applied for the synchronizers? 

 

 

 

Thank you!
0 Kudos
5 Replies
Altera_Forum
Honored Contributor II
1,237 Views

1. You only need the false path between the registers that actually cross the clock domain. Unlike Xilinx, who insist you time everything from pin to pin, making getting the paths correct annoying and a little tedious, Altera have a get_keepers function, that make it easier to fetch objects. Usually its often easier just easier to set a -to or -from for a single end-point rather than both ends.  

 

set_false_path -to [get_keepers */my_ent/cdc_reg_clkB] 

 

2. Multi-cycle paths should only be set on registers that actually have a multicycle path. Synchronisers often do not. Are you talking about some specific design?
0 Kudos
Altera_Forum
Honored Contributor II
1,237 Views

Is functionality of a two flops synchronizer is not similar to the multicycle path of 2 cycles (just skipping the first stage of the synchronizer)?

0 Kudos
Altera_Forum
Honored Contributor II
1,237 Views

No, A multi-cycle path applies for a single path where a register is only active (enabled) for a single clock cycle with other clock cycles in between. Eg, you have a clock enable that is only high every 3 clock cycles, then you know you have a 3 cycle MCP, with 2 clocks of hold. In synchronisers, each register is clocked at full rate, so need to be timed as normal. 

 

You may have MCPs if you have some slower form of hand-shaking that has a known timing relationship, then MCPs may be valid. But if it is a standard 2 reg synchroniser, only false paths are valid (or maybe a relaxed max delay constraint to prevent the registers being placed too far from each other).
0 Kudos
Altera_Forum
Honored Contributor II
1,237 Views

so, a false path or max_delay constraint should be applied? I believe they cannot be placed both together ...

0 Kudos
Altera_Forum
Honored Contributor II
1,237 Views

no, a false path will override a max delay. A false path will probably be fine, but theres no guarantee the placer wont put the endpoints at opposite corners of the chip. Using a max delay (with a very relaxed constraint) should ensure they're reasonably close.

0 Kudos
Reply