Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Do we need to check hold time violation between synchronizing flip-flops?

ahmad898

Junior Member level 3
Junior Member level 3
Joined
Aug 21, 2022
Messages
25
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
192
I have two-stage synchronizing strcuture consisting of two flip-flops. My question is that do we need to check hold time violation between flip-flops of synchronizer. Somewhere I read that these two flip-flops should be close together as much as possible and somewhere else I found that between these flops no combination logic is allowed as it may increase the metastability likelihood, but this may increase the hold violation as well.
 

FvM

Super Moderator
Staff member
Advanced Member level 7
Joined
Jan 22, 2008
Messages
50,970
Helped
14,629
Reputation
29,534
Reaction score
13,733
Trophy points
1,393
Location
Bochum, Germany
Activity points
291,643
Registers in the same clock domain are regularly covered by timing analysis, including hold time check. Are you considering to disable the timing check? Why?
 

ahmad898

Junior Member level 3
Junior Member level 3
Joined
Aug 21, 2022
Messages
25
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
192
Yes I want to aviod inserting buffer between synchronizer flip-flops as it reduces the MTBF.
 

dpaul

Advanced Member level 5
Advanced Member level 5
Joined
Jan 16, 2008
Messages
1,707
Helped
317
Reputation
634
Reaction score
335
Trophy points
1,373
Location
Germany
Activity points
12,514
What you have read are both correct!
1. In some designs, to be really safe, you will observe that the engineer has put placement constraints on such sync flops such that tool places them as near as possible. But I also have designs running on hardware without such constraints.
2. You should not put any type of combi logic at such paths. Do whatever you have to do with the signal after the sync is done.
As FvM says above, the tool will by default do all type of timing analysis on the paths.

Have you already run timing analysis? Do you have hold problems?
If not just do it and see the results (do not get too carried away by what can happen or might happen)!
 
Last edited:

ahmad898

Junior Member level 3
Junior Member level 3
Joined
Aug 21, 2022
Messages
25
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
192
What you have read are both correct!
1. In some designs, to be really safe, you will observe that the engineer has put placement constraints on such sync flops such that tool places them as near as possible. But I also have designs running on hardware without such constraints.
2. You should not put any type of combi logic at such paths. Do whatever you have to do with the signal after the sync is done.
As FvM says above, the tool will by default do all type of timing analysis on the paths.

Have you already run timing analysis? Do you have hold problems?
If not just do it and see the results (do not get too carried away by what can happen or might happen)!
Thanks for your reply. I have already run timing analysis and I get the hold violation for the sync flops. So, here is the bottleneck. If I dont constraint such paths the tool will probably put some buffers between them when running optimization in P&R. I can put constraint on these paths with set_min_delay. But, the hold optimization will be ignored by tool. So, here again, do we need to be worry about hold violation between sync flops?
 

oratie

Full Member level 6
Full Member level 6
Joined
Jan 10, 2007
Messages
366
Helped
177
Reputation
352
Reaction score
178
Trophy points
1,323
Activity points
4,293
You should fix hold (and setup) violations between two FFs (synchronizer). Yes, no combinational logic allowed (but you fix hold by delay insertion, not logic). Yes, they should be close together as much as possible, but no hold violations.
If hold vios exist - the second FF may fall in metastability stage.
 

LaTeX Commands Quick-Menu:

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top