irun2
Member level 2
I have a design that has to used both rising and falling edges of a clock, to improve the holdtime margin. But I found DC has problem when doing timing analyze.
The hold time report looks like below. The clock period is 20ns, and I think the correct hold time slack should be 10ns+0.108= 10.108ns.
The hold time report looks like below. The clock period is 20ns, and I think the correct hold time slack should be 10ns+0.108= 10.108ns.
Code:
Startpoint: wdata_i[0]
(input port)
Endpoint: mctl/iram
(rising edge-triggered flip-flop clocked by cpu_clk')
Path Group: cpu_clk
Path Type: min
Point Fanout Trans Incr Path
---------------------------------------------------------------------
clock (input port clock) (rise edge) 0.000 0.000
clock network delay (ideal) 0.000 0.000
input external delay 0.000 0.000 r
wdata_i[0] (in) 0.000 0.000 0.000 r
wdata_i[0] (net) 1 0.000 0.000 r
U38/Y (AOI22X1) 0.096 0.059 0.059 f
n29 (net) 1 0.000 0.059 f
U37/Y (INVX1) 0.054 0.049 0.108 r
iram_wdata_v[0] (net) 1 0.000 0.108 r
mctl/din_i[0] (cpu_iram) 0.000 0.108 r
mctl/din_i[0] (net) 0.000 0.108 r
mctl/iram/D[0] (sram_8kx8) 0.107 0.000 0.108 r
data arrival time 0.108
clock cpu_clk' (rise edge) 10.000 10.000
clock network delay (ideal) 0.000 10.000
mctl/iram/CLK (sram_8kx8) 0.000 10.000 r
library hold time 0.000 10.000
data required time 10.000
---------------------------------------------------------------------
data required time 10.000
data arrival time -0.108
---------------------------------------------------------------------
slack (VIOLATED) -9.892