DFF Hold Violation Problem

Status
Not open for further replies.

Boyenju

Newbie level 2
Joined
Aug 18, 2013
Messages
2
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Visit site
Activity points
13
I have two types of circuits
Type 1

Type2

I was told that i have hold violation in the 2nd DFF(right one) in both of them, where would you put buffers in order to solve the hold violation?
i would be very happy if some explain me this with an clk diagram or smthing.
thank you.
 

Attachments

  • prob1.jpg
    26.7 KB · Views: 61
  • prop2.jpg
    24.4 KB · Views: 69

When clock signal turns high (at +ve clock edge) to activate a DFF, the DFF will consume the input & produce the output.
Hold violation on 2nd DFF means that when the clock signal goes high (+ve clk edge), new output signal from 1st DFF reached 2nd DFF's input too fast, so fast that 2nd DFF not yet able to consume the old input.

You can put buffer between 1st & 2nd DFF to solve this problem.
 

i thought of putting a buffer between the two DFF or to put a buffer b4 the clk enter to DFF1 that's for type 2 ,
and for type 1 i thought of putting the same as i mentioned for type2 and another one on the Feedback b4 the enter to the 1st DFF.
what do you think ?
 

I would suggest:
type 1: put buffer between DFF1 to DFF2.
type 2: put buffer between DFF1 to DFF2; and also put buffer between DFF2 to DFF1 if you see hold issue here.

The method of putting buffer before clk of DFF1 (playing with clock skew) will work for the design in your diagram, but it will affect the timing path going into input of DFF1 (which is not showed in your diagram).
 

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…