Trouble understanding Synplicity timing report

May 13, 2006 1 Replies

I'm having a problem understanding a Synplicity timing report. For the input ports of the design, the report gives column headings of 'port name', 'falling user constraint', 'rising user constraint', 'arrival time', 'required time', and 'slack'. The problem is, I can't make any sense of what 'arrival time' and 'required time' are, and so I can't work out how they arrived at the slack figure.



Here's an example for input port 'INPA', clocked by 'CLKA'. CLKA is



20ns. At the device pins, INPA has a setup of 8ns and a hold of 1ns relative to CLKA, so this is how I constrained INPA:

define_input_delay {INPA} -rise 8 -fall 8 -min_rise -1 -min_fall -1



-ref {CLKA:r}



I th Port clock cons(F) cons(R) AT RT SLACK INPA CLKA (rising) 8.000 8.000 8.000 5.125 -2.875



So what does this mean? Why is the 'arrival time' always shown as be>Port Name Port name



Reference Clock Source clock
>Falling User Constraint Specified falling input delay constraint
>Rising User Constraint Specified rising input delay constraint
>Arrival Time Clock latency - input delay constraint
>Required time Requested period - clock delay at destination -
> setup of destination
>Slack (max/min analysis) Required time - arrival time.

I haven't specified any latency on CLKA. My head is spinning - I'll be eternally grateful to anyone who can explain this!


Jack


It looks like I got the constraint wrong - define_input_delay seems to specify the total delay from the previous clock edge to when the signal is available at the port. This explains why the arrival time is the same as the constraint.

I've spent hours going through the docs and the website, and I eventually found this out by checking the documentation on

*Synopsys's* set_input_delay, which Synplicity says is (almost) the same. This is bizarre - there's not one picture or timing diagram describing this in the entire manual, and the text describing it was written by someone who certainly didn't understand it. Has anyone got any useful pointers to a proper explanation of Synplicity constraints?

Jack

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required