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