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.

Negative Hold on Input and Output Delays - is there a sense?

Status
Not open for further replies.

ivlsi

Advanced Member level 3
Joined
Feb 17, 2012
Messages
883
Helped
17
Reputation
32
Reaction score
16
Trophy points
1,298
Activity points
6,868
Hi All,

Is there a sense to define Negative Hold on Input and Output Delays (synthesis timing constraints)?

How does it exactly work?

Thank you!
 

This is sort of a 'trick' fpga vendors use. Let's say a register has a setup time requirement of 5 ns, and a hold time requirement of 5 ns. Now, suppose the fpga intentionally adds an internal delay of 6 ns to the data input. You can now specify the setup time as 11 ns and the hold time as -1 ns.
 
  • Like
Reactions: ivlsi

    ivlsi

    Points: 2
    Helpful Answer Positive Rating
fpga intentionally adds an internal delay of 6 ns to the data input
is 6ns as min or max delay?

specify the setup time as 11 ns
What's the required clock frequency?

specify ... hold time as -1 ns
in my understanding, defining the -1ns as a hold time on the input port will just force the tool to implement an internal to the synthesized block combo logic with min delay of 1ns on this path.

You can now specify the setup time as 11 ns and the hold time as -1 ns.
In this case, what's the min/max delays will be on the data path from the input port to the register?
 

Setup and hold have nothing to with 'required' frequency (other than limiting period to setup+hold). The -1ns hold just means that your data signal has to be valid only up to 1ns before the clock edge.
 

barry, it seems we are talking about totally different tools... Actually I'm not a FPGA designer and have experience only with ASIC tools...
The definitions, which you are talking about, are completely different in the ASIC world.
Anyway, thank you for your comments.
 

Hi ivlsi,
I think that barry hit the nail on the head with his example for your question. Just forget about fpga in his example and go through it again. It answers your question clearly.

To be more explicit, "YES" it does make sense to have -ve values in i/o delay constraints. We deal with it all the time in asic world. I have seen it in several asic chip designs. It is perfectly OK to have -ve values for setup/hold/input delay/output delay....

Best Regards
 

Let's say a register has a setup time requirement of 5 ns, and a hold time requirement of 5 ns. Now, suppose the fpga intentionally adds an internal delay of 6 ns to the data input. You can now specify the setup time as 11 ns and the hold time as -1 ns.
I still don't understand this...

Let's talk in terms of input delays. What input min/max delays should be set on this input port in order to fulfill the described above timing ? What internal logic would be generated (in terms of min/max delays) as a result of these constraints?

Thank you!
 

Simply said, the setup time is a minimum of 11 ns. The hold time is a minimum of -1 ns.

Maybe you should try drawing a timing diagram.
 

suppose the fpga intentionally adds an internal delay of 6 ns to the data input
Is 6 ns in min or max delays?

setup time is a minimum of 11 ns. The hold time is a minimum of -1 ns
I'm asking about timing constraints on the input/output ports of the design. What them are?
 

input max delay of 11ns and input min delay of -1ns? What's the clock period?
 

Irrelevant!!!!

Setup and hold times relate only to a clock edge. The period has ABSOLUTELY NOTHING TO DO WITH IT.
 

Irrelevant!!!! Setup and hold times relate only to a clock edge. The period has ABSOLUTELY NOTHING TO DO WITH IT.
Waw! it's something new in the Digital Design! Clock period is irrelevant for the Setup time constraint - good stuff!

- - - Updated - - -

Take a look at this post: https://www.edaboard.com/threads/269890/
Are the constraints correct there?
 

If you believe that clock period has ANYTHING to do with the setup constraint, you need to go back and educate yourself about what setup and hold really mean.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top