Anton Blanchard
03/24/2022, 4:17 AMAnton Blanchard
03/24/2022, 4:17 AMStartpoint: _134694_ (rising edge-triggered flip-flop clocked by user_clock2)
Endpoint: microwatt_0.soc0.processor.execute1_0.multiply_0.multiplier/_603_
(rising edge-triggered flip-flop clocked by user_clock2)
Path Group: user_clock2
Path Type: min
Corner: tt
Fanout Cap Slew Delay Time Description
-----------------------------------------------------------------------------
0.00 0.00 clock user_clock2 (rise edge)
0.00 0.00 clock source latency
0.47 0.34 0.34 ^ user_clock2 (in)
1 0.10 user_clock2 (net)
0.49 0.00 0.34 ^ repeater12/A (sky130_fd_sc_hd__buf_12)
0.40 0.26 0.60 ^ repeater12/X (sky130_fd_sc_hd__buf_12)
1 0.39 net587 (net)
0.69 0.28 0.88 ^ clkbuf_0_user_clock2/A (sky130_fd_sc_hd__clkbuf_16)
0.37 0.42 1.30 ^ clkbuf_0_user_clock2/X (sky130_fd_sc_hd__clkbuf_16)
4 0.37 clknet_0_user_clock2 (net)
0.47 0.14 1.44 ^ clkbuf_2_0_0_user_clock2/A (sky130_fd_sc_hd__clkbuf_8)
0.28 0.37 1.82 ^ clkbuf_2_0_0_user_clock2/X (sky130_fd_sc_hd__clkbuf_8)
2 0.16 clknet_2_0_0_user_clock2 (net)
0.28 0.03 1.84 ^ clkbuf_3_1_0_user_clock2/A (sky130_fd_sc_hd__clkbuf_8)
0.76 0.55 2.39 ^ clkbuf_3_1_0_user_clock2/X (sky130_fd_sc_hd__clkbuf_8)
4 0.45 clknet_3_1_0_user_clock2 (net)
0.80 0.12 2.52 ^ clkbuf_5_4__f_user_clock2/A (sky130_fd_sc_hd__clkbuf_16)
0.44 0.53 3.04 ^ clkbuf_5_4__f_user_clock2/X (sky130_fd_sc_hd__clkbuf_16)
19 0.44 clknet_5_4__leaf_user_clock2 (net)
0.45 0.05 3.09 ^ clkbuf_leaf_6_user_clock2/A (sky130_fd_sc_hd__clkbuf_16)
0.11 0.28 3.37 ^ clkbuf_leaf_6_user_clock2/X (sky130_fd_sc_hd__clkbuf_16)
25 0.09 clknet_leaf_6_user_clock2 (net)
0.12 0.00 3.37 ^ _134694_/CLK (sky130_fd_sc_hd__dfxtp_2)
0.11 0.39 3.76 v _134694_/Q (sky130_fd_sc_hd__dfxtp_2)
1 0.04 microwatt_0.soc0.processor.execute1_0.multiply_0._00_[116] (net)
0.11 0.00 3.76 v microwatt_0.soc0.processor.execute1_0.multiply_0.multiplier/input111/A (sky130_fd_sc_hd__clkbuf_1)
0.03 0.11 3.87 v microwatt_0.soc0.processor.execute1_0.multiply_0.multiplier/input111/X (sky130_fd_sc_hd__clkbuf_1)
1 0.00 microwatt_0.soc0.processor.execute1_0.multiply_0.multiplier/net111 (net)
0.03 0.00 3.87 v microwatt_0.soc0.processor.execute1_0.multiply_0.multiplier/_603_/D (sky130_fd_sc_hd__dfxtp_4)
3.87 data arrival time
0.00 0.00 clock user_clock2 (rise edge)
0.00 0.00 clock source latency
0.47 0.38 0.38 ^ user_clock2 (in)
1 0.10 user_clock2 (net)
0.49 0.00 0.38 ^ repeater12/A (sky130_fd_sc_hd__buf_12)
0.40 0.29 0.66 ^ repeater12/X (sky130_fd_sc_hd__buf_12)
1 0.39 net587 (net)
0.69 0.31 0.97 ^ clkbuf_0_user_clock2/A (sky130_fd_sc_hd__clkbuf_16)
0.37 0.47 1.44 ^ clkbuf_0_user_clock2/X (sky130_fd_sc_hd__clkbuf_16)
4 0.37 clknet_0_user_clock2 (net)
0.47 0.16 1.59 ^ clkbuf_2_0_0_user_clock2/A (sky130_fd_sc_hd__clkbuf_8)
0.28 0.41 2.01 ^ clkbuf_2_0_0_user_clock2/X (sky130_fd_sc_hd__clkbuf_8)
2 0.16 clknet_2_0_0_user_clock2 (net)
0.28 0.03 2.04 ^ clkbuf_3_1_0_user_clock2/A (sky130_fd_sc_hd__clkbuf_8)
0.76 0.61 2.64 ^ clkbuf_3_1_0_user_clock2/X (sky130_fd_sc_hd__clkbuf_8)
4 0.45 clknet_3_1_0_user_clock2 (net)
0.80 0.14 2.78 ^ clkbuf_5_4__f_user_clock2/A (sky130_fd_sc_hd__clkbuf_16)
0.44 0.58 3.36 ^ clkbuf_5_4__f_user_clock2/X (sky130_fd_sc_hd__clkbuf_16)
19 0.44 clknet_5_4__leaf_user_clock2 (net)
0.45 0.06 3.42 ^ clkbuf_leaf_35_user_clock2/A (sky130_fd_sc_hd__clkbuf_16)
0.13 0.32 3.74 ^ clkbuf_leaf_35_user_clock2/X (sky130_fd_sc_hd__clkbuf_16)
25 0.11 clknet_leaf_35_user_clock2 (net)
0.13 0.00 3.74 ^ microwatt_0.soc0.processor.execute1_0.multiply_0.multiplier/clkbuf_0_clk/A (sky130_fd_sc_hd__clkbuf_16)
0.05 0.17 3.91 ^ microwatt_0.soc0.processor.execute1_0.multiply_0.multiplier/clkbuf_0_clk/X (sky130_fd_sc_hd__clkbuf_16)
2 0.02 microwatt_0.soc0.processor.execute1_0.multiply_0.multiplier/clknet_0_clk (net)
0.05 0.00 3.91 ^ microwatt_0.soc0.processor.execute1_0.multiply_0.multiplier/clkbuf_1_1_0_clk/A (sky130_fd_sc_hd__clkbuf_2)
0.05 0.12 4.02 ^ microwatt_0.soc0.processor.execute1_0.multiply_0.multiplier/clkbuf_1_1_0_clk/X (sky130_fd_sc_hd__clkbuf_2)
1 0.01 microwatt_0.soc0.processor.execute1_0.multiply_0.multiplier/clknet_1_1_0_clk (net)
0.05 0.00 4.02 ^ microwatt_0.soc0.processor.execute1_0.multiply_0.multiplier/clkbuf_1_1_1_clk/A (sky130_fd_sc_hd__clkbuf_2)
0.18 0.21 4.23 ^ microwatt_0.soc0.processor.execute1_0.multiply_0.multiplier/clkbuf_1_1_1_clk/X (sky130_fd_sc_hd__clkbuf_2)
2 0.03 microwatt_0.soc0.processor.execute1_0.multiply_0.multiplier/clknet_1_1_1_clk (net)
0.18 0.00 4.23 ^ microwatt_0.soc0.processor.execute1_0.multiply_0.multiplier/clkbuf_2_3_0_clk/A (sky130_fd_sc_hd__clkbuf_2)
0.20 0.26 4.50 ^ microwatt_0.soc0.processor.execute1_0.multiply_0.multiplier/clkbuf_2_3_0_clk/X (sky130_fd_sc_hd__clkbuf_2)
2 0.04 microwatt_0.soc0.processor.execute1_0.multiply_0.multiplier/clknet_2_3_0_clk (net)
0.20 0.00 4.50 ^ microwatt_0.soc0.processor.execute1_0.multiply_0.multiplier/clkbuf_3_7_0_clk/A (sky130_fd_sc_hd__clkbuf_2)
0.96 0.81 5.31 ^ microwatt_0.soc0.processor.execute1_0.multiply_0.multiplier/clkbuf_3_7_0_clk/X (sky130_fd_sc_hd__clkbuf_2)
14 0.18 microwatt_0.soc0.processor.execute1_0.multiply_0.multiplier/clknet_3_7_0_clk (net)
0.96 0.02 5.34 ^ microwatt_0.soc0.processor.execute1_0.multiply_0.multiplier/clkbuf_leaf_48_clk/A (sky130_fd_sc_hd__clkbuf_16)
0.08 0.32 5.66 ^ microwatt_0.soc0.processor.execute1_0.multiply_0.multiplier/clkbuf_leaf_48_clk/X (sky130_fd_sc_hd__clkbuf_16)
12 0.03 microwatt_0.soc0.processor.execute1_0.multiply_0.multiplier/clknet_leaf_48_clk (net)
0.08 0.00 5.66 ^ microwatt_0.soc0.processor.execute1_0.multiply_0.multiplier/_603_/CLK (sky130_fd_sc_hd__dfxtp_4)
0.25 5.91 clock uncertainty
-0.32 5.59 clock reconvergence pessimism
-0.03 5.56 library hold time
5.56 data required time
-----------------------------------------------------------------------------
5.56 data required time
-3.87 data arrival time
-----------------------------------------------------------------------------
-1.68 slack (VIOLATED)
Anton Blanchard
03/24/2022, 4:19 AMMatt Liberty
03/24/2022, 4:20 AMAnton Blanchard
03/24/2022, 4:20 AMAnton Blanchard
03/24/2022, 4:21 AMMatt Liberty
03/24/2022, 4:21 AMMatt Liberty
03/24/2022, 4:21 AMAnton Blanchard
03/24/2022, 4:21 AMAnton Blanchard
03/24/2022, 4:22 AMMatt Liberty
03/24/2022, 4:22 AMAnton Blanchard
03/24/2022, 4:22 AMMatt Liberty
03/24/2022, 4:24 AMMatt Liberty
03/24/2022, 4:25 AMMatt Liberty
03/24/2022, 4:28 AMAnton Blanchard
03/24/2022, 4:29 AMAnton Blanchard
03/24/2022, 4:30 AMMatt Liberty
03/24/2022, 4:32 AMAnton Blanchard
03/24/2022, 4:32 AMMatt Liberty
03/24/2022, 4:32 AMAnton Blanchard
03/24/2022, 4:34 AMTom Spyrou
03/24/2022, 2:11 PMAnton Blanchard
03/24/2022, 5:48 PMAnton Blanchard
03/24/2022, 5:53 PMdonn
03/24/2022, 6:08 PMAnton Blanchard
03/24/2022, 7:03 PMDi0
in RAM512
. I've got my regex for those stages in rx.yml
I'm just not sure of what to do next. I presume I'm modifying HigherLevelPlaceable
?donn
03/24/2022, 7:04 PMAnton Blanchard
03/24/2022, 7:13 PMAnton Blanchard
03/24/2022, 7:14 PMdonn
03/24/2022, 7:15 PMTom Spyrou
03/24/2022, 8:05 PMAnton Blanchard
03/24/2022, 8:31 PMRAM512 memory_0 (
`ifdef USE_POWER_PINS
.VPWR(vccd1),
.VGND(vssd1),
`endif
.A0(addr_buf),
.CLK(clk),
.Di0(din_buf),
.Do0(_1_),
.EN0(_2_),
.WE0(sel_qual)
);
Tom Spyrou
03/24/2022, 9:20 PMAnton Blanchard
03/24/2022, 9:21 PMTom Spyrou
03/24/2022, 9:22 PMAnton Blanchard
03/25/2022, 6:51 PM+# Work around hold violations in DFFRAMs by forcing a delay on all inputs
+set ram512_delay 5
+set_min_delay -to microwatt_0.soc0.bram.bram0.ram_0.memory_0/EN0* $ram512_delay
+set_min_delay -to microwatt_0.soc0.bram.bram0.ram_0.memory_0/A0* $ram512_delay
+set_min_delay -to microwatt_0.soc0.bram.bram0.ram_0.memory_0/Di0* $ram512_delay
+set_min_delay -to microwatt_0.soc0.bram.bram0.ram_0.memory_0/WE0* $ram512_delay
+
+set ram32_delay 5
+set_min_delay -to microwatt_0.soc0.processor.dcache_0.rams:1.way.cache_ram_0/A0* $ram32_delay
+set_min_delay -to microwatt_0.soc0.processor.dcache_0.rams:1.way.cache_ram_0/A1* $ram32_delay
+set_min_delay -to microwatt_0.soc0.processor.dcache_0.rams:1.way.cache_ram_0/Di0* $ram32_delay
+set_min_delay -to microwatt_0.soc0.processor.dcache_0.rams:1.way.cache_ram_0/EN0* $ram32_delay
+set_min_delay -to microwatt_0.soc0.processor.dcache_0.rams:1.way.cache_ram_0/EN1* $ram32_delay
+set_min_delay -to microwatt_0.soc0.processor.dcache_0.rams:1.way.cache_ram_0/WE0* $ram32_delay
+
+set_min_delay -to microwatt_0.soc0.processor.icache_0.rams:1.way.cache_ram_0/A0* $ram32_delay
+set_min_delay -to microwatt_0.soc0.processor.icache_0.rams:1.way.cache_ram_0/A1* $ram32_delay
+set_min_delay -to microwatt_0.soc0.processor.icache_0.rams:1.way.cache_ram_0/Di0* $ram32_delay
+set_min_delay -to microwatt_0.soc0.processor.icache_0.rams:1.way.cache_ram_0/EN0* $ram32_delay
+set_min_delay -to microwatt_0.soc0.processor.icache_0.rams:1.way.cache_ram_0/EN1* $ram32_delay
+set_min_delay -to microwatt_0.soc0.processor.icache_0.rams:1.way.cache_ram_0/WE0* $ram32_delay
Anton Blanchard
03/25/2022, 7:02 PMStartpoint: _130429_ (rising edge-triggered flip-flop clocked by user_clock2)
Endpoint: microwatt_0.soc0.processor.with_fpu.fpu_0.fpu_multiply_0.multiplier/_554_
(rising edge-triggered flip-flop clocked by user_clock2)
Path Group: user_clock2
Path Type: min
Corner: tt
Fanout Cap Slew Delay Time Description
-----------------------------------------------------------------------------
0.00 0.00 clock user_clock2 (rise edge)
0.00 0.00 clock source latency
0.50 0.36 0.36 ^ user_clock2 (in)
1 0.11 user_clock2 (net)
0.52 0.00 0.36 ^ repeater12/A (sky130_fd_sc_hd__buf_12)
0.44 0.35 0.71 ^ repeater12/X (sky130_fd_sc_hd__buf_12)
1 0.44 net637 (net)
0.74 0.29 1.00 ^ clkbuf_0_user_clock2/A (sky130_fd_sc_hd__clkbuf_16)
0.33 0.44 1.43 ^ clkbuf_0_user_clock2/X (sky130_fd_sc_hd__clkbuf_16)
4 0.32 clknet_0_user_clock2 (net)
0.37 0.09 1.52 ^ clkbuf_2_2_0_user_clock2/A (sky130_fd_sc_hd__clkbuf_8)
0.47 0.47 2.00 ^ clkbuf_2_2_0_user_clock2/X (sky130_fd_sc_hd__clkbuf_8)
4 0.28 clknet_2_2_0_user_clock2 (net)
0.47 0.03 2.03 ^ clkbuf_4_11_0_user_clock2/A (sky130_fd_sc_hd__clkbuf_8)
0.20 0.33 2.36 ^ clkbuf_4_11_0_user_clock2/X (sky130_fd_sc_hd__clkbuf_8)
2 0.11 clknet_4_11_0_user_clock2 (net)
0.20 0.01 2.37 ^ clkbuf_5_22__f_user_clock2/A (sky130_fd_sc_hd__clkbuf_16)
0.16 0.25 2.62 ^ clkbuf_5_22__f_user_clock2/X (sky130_fd_sc_hd__clkbuf_16)
7 0.14 clknet_5_22__leaf_user_clock2 (net)
0.16 0.01 2.63 ^ clkbuf_leaf_87_user_clock2/A (sky130_fd_sc_hd__clkbuf_16)
0.13 0.22 2.85 ^ clkbuf_leaf_87_user_clock2/X (sky130_fd_sc_hd__clkbuf_16)
25 0.11 clknet_leaf_87_user_clock2 (net)
0.13 0.00 2.85 ^ _130429_/CLK (sky130_fd_sc_hd__dfxtp_1)
0.04 0.32 3.17 v _130429_/Q (sky130_fd_sc_hd__dfxtp_1)
1 0.01 microwatt_0.soc0.processor.with_fpu.fpu_0.fpu_multiply_0._00_[67] (net)
0.04 0.00 3.17 v microwatt_0.soc0.processor.with_fpu.fpu_0.fpu_multiply_0.multiplier/U_HOLD_FIX_BUF_0_21/A (sky130_fd_sc_hd__dlygate4sd3_1)
0.08 0.56 3.74 v microwatt_0.soc0.processor.with_fpu.fpu_0.fpu_multiply_0.multiplier/U_HOLD_FIX_BUF_0_21/X (sky130_fd_sc_hd__dlygate4sd3_1)
1 0.01 microwatt_0.soc0.processor.with_fpu.fpu_0.fpu_multiply_0.multiplier/net_HOLD_NET_0_21 (net)
0.08 0.00 3.74 v microwatt_0.soc0.processor.with_fpu.fpu_0.fpu_multiply_0.multiplier/input87/A (sky130_fd_sc_hd__buf_2)
0.03 0.13 3.87 v microwatt_0.soc0.processor.with_fpu.fpu_0.fpu_multiply_0.multiplier/input87/X (sky130_fd_sc_hd__buf_2)
1 0.00 microwatt_0.soc0.processor.with_fpu.fpu_0.fpu_multiply_0.multiplier/net87 (net)
0.03 0.00 3.87 v microwatt_0.soc0.processor.with_fpu.fpu_0.fpu_multiply_0.multiplier/hold248/A (sky130_fd_sc_hd__dlygate4sd3_1)
0.11 0.58 4.45 v microwatt_0.soc0.processor.with_fpu.fpu_0.fpu_multiply_0.multiplier/hold248/X (sky130_fd_sc_hd__dlygate4sd3_1)
1 0.02 microwatt_0.soc0.processor.with_fpu.fpu_0.fpu_multiply_0.multiplier/net1178 (net)
0.11 0.00 4.45 v microwatt_0.soc0.processor.with_fpu.fpu_0.fpu_multiply_0.multiplier/hold249/A (sky130_fd_sc_hd__clkbuf_2)
0.11 0.19 4.64 v microwatt_0.soc0.processor.with_fpu.fpu_0.fpu_multiply_0.multiplier/hold249/X (sky130_fd_sc_hd__clkbuf_2)
1 0.03 microwatt_0.soc0.processor.with_fpu.fpu_0.fpu_multiply_0.multiplier/net1177 (net)
0.11 0.00 4.64 v microwatt_0.soc0.processor.with_fpu.fpu_0.fpu_multiply_0.multiplier/_554_/D (sky130_fd_sc_hd__dfxtp_4)
4.64 data arrival time
0.00 0.00 clock user_clock2 (rise edge)
0.00 0.00 clock source latency
0.50 0.40 0.40 ^ user_clock2 (in)
1 0.11 user_clock2 (net)
0.52 0.00 0.40 ^ repeater12/A (sky130_fd_sc_hd__buf_12)
0.44 0.38 0.79 ^ repeater12/X (sky130_fd_sc_hd__buf_12)
1 0.44 net637 (net)
0.74 0.32 1.10 ^ clkbuf_0_user_clock2/A (sky130_fd_sc_hd__clkbuf_16)
0.33 0.48 1.58 ^ clkbuf_0_user_clock2/X (sky130_fd_sc_hd__clkbuf_16)
4 0.32 clknet_0_user_clock2 (net)
0.37 0.10 1.68 ^ clkbuf_2_2_0_user_clock2/A (sky130_fd_sc_hd__clkbuf_8)
0.47 0.52 2.21 ^ clkbuf_2_2_0_user_clock2/X (sky130_fd_sc_hd__clkbuf_8)
4 0.28 clknet_2_2_0_user_clock2 (net)
0.47 0.03 2.24 ^ clkbuf_4_10_0_user_clock2/A (sky130_fd_sc_hd__clkbuf_8)
0.29 0.43 2.67 ^ clkbuf_4_10_0_user_clock2/X (sky130_fd_sc_hd__clkbuf_8)
2 0.17 clknet_4_10_0_user_clock2 (net)
0.30 0.03 2.70 ^ clkbuf_5_20__f_user_clock2/A (sky130_fd_sc_hd__clkbuf_16)
0.48 0.52 3.22 ^ clkbuf_5_20__f_user_clock2/X (sky130_fd_sc_hd__clkbuf_16)
16 0.48 clknet_5_20__leaf_user_clock2 (net)
0.48 0.02 3.24 ^ clkbuf_leaf_82_user_clock2/A (sky130_fd_sc_hd__clkbuf_16)
0.14 0.33 3.57 ^ clkbuf_leaf_82_user_clock2/X (sky130_fd_sc_hd__clkbuf_16)
25 0.13 clknet_leaf_82_user_clock2 (net)
0.14 0.00 3.57 ^ microwatt_0.soc0.processor.with_fpu.fpu_0.fpu_multiply_0.multiplier/clkbuf_0_clk/A (sky130_fd_sc_hd__clkbuf_16)
0.05 0.17 3.74 ^ microwatt_0.soc0.processor.with_fpu.fpu_0.fpu_multiply_0.multiplier/clkbuf_0_clk/X (sky130_fd_sc_hd__clkbuf_16)
2 0.02 microwatt_0.soc0.processor.with_fpu.fpu_0.fpu_multiply_0.multiplier/clknet_0_clk (net)
0.05 0.00 3.75 ^ microwatt_0.soc0.processor.with_fpu.fpu_0.fpu_multiply_0.multiplier/clkbuf_1_1_0_clk/A (sky130_fd_sc_hd__clkbuf_2)
0.05 0.12 3.86 ^ microwatt_0.soc0.processor.with_fpu.fpu_0.fpu_multiply_0.multiplier/clkbuf_1_1_0_clk/X (sky130_fd_sc_hd__clkbuf_2)
1 0.01 microwatt_0.soc0.processor.with_fpu.fpu_0.fpu_multiply_0.multiplier/clknet_1_1_0_clk (net)
0.05 0.00 3.86 ^ microwatt_0.soc0.processor.with_fpu.fpu_0.fpu_multiply_0.multiplier/clkbuf_1_1_1_clk/A (sky130_fd_sc_hd__clkbuf_2)
0.17 0.20 4.06 ^ microwatt_0.soc0.processor.with_fpu.fpu_0.fpu_multiply_0.multiplier/clkbuf_1_1_1_clk/X (sky130_fd_sc_hd__clkbuf_2)
2 0.03 microwatt_0.soc0.processor.with_fpu.fpu_0.fpu_multiply_0.multiplier/clknet_1_1_1_clk (net)
0.17 0.00 4.07 ^ microwatt_0.soc0.processor.with_fpu.fpu_0.fpu_multiply_0.multiplier/clkbuf_2_2_0_clk/A (sky130_fd_sc_hd__clkbuf_2)
0.19 0.26 4.33 ^ microwatt_0.soc0.processor.with_fpu.fpu_0.fpu_multiply_0.multiplier/clkbuf_2_2_0_clk/X (sky130_fd_sc_hd__clkbuf_2)
2 0.03 microwatt_0.soc0.processor.with_fpu.fpu_0.fpu_multiply_0.multiplier/clknet_2_2_0_clk (net)
0.19 0.00 4.33 ^ microwatt_0.soc0.processor.with_fpu.fpu_0.fpu_multiply_0.multiplier/clkbuf_3_5_0_clk/A (sky130_fd_sc_hd__clkbuf_2)
1.12 0.93 5.26 ^ microwatt_0.soc0.processor.with_fpu.fpu_0.fpu_multiply_0.multiplier/clkbuf_3_5_0_clk/X (sky130_fd_sc_hd__clkbuf_2)
15 0.21 microwatt_0.soc0.processor.with_fpu.fpu_0.fpu_multiply_0.multiplier/clknet_3_5_0_clk (net)
1.12 0.01 5.26 ^ microwatt_0.soc0.processor.with_fpu.fpu_0.fpu_multiply_0.multiplier/clkbuf_leaf_73_clk/A (sky130_fd_sc_hd__clkbuf_16)
0.08 0.34 5.60 ^ microwatt_0.soc0.processor.with_fpu.fpu_0.fpu_multiply_0.multiplier/clkbuf_leaf_73_clk/X (sky130_fd_sc_hd__clkbuf_16)
8 0.03 microwatt_0.soc0.processor.with_fpu.fpu_0.fpu_multiply_0.multiplier/clknet_leaf_73_clk (net)
0.08 0.00 5.60 ^ microwatt_0.soc0.processor.with_fpu.fpu_0.fpu_multiply_0.multiplier/_571_/CLK (sky130_fd_sc_hd__dfxtp_4)
0.25 5.85 clock uncertainty
-0.21 5.64 clock reconvergence pessimism
-0.05 5.59 library hold time
5.59 data required time
-----------------------------------------------------------------------------
5.59 data required time
-4.64 data arrival time
-----------------------------------------------------------------------------
-0.95 slack (VIOLATED)
Anton Blanchard
03/25/2022, 7:07 PMTom Spyrou
03/25/2022, 8:34 PMAnton Blanchard
03/25/2022, 9:42 PMTom Spyrou
03/25/2022, 9:43 PMAnton Blanchard
03/25/2022, 9:44 PMTom Spyrou
03/25/2022, 9:47 PMAnton Blanchard
03/25/2022, 9:55 PMYou need to run it in standalone 'sta'. OR doens't support verilog hierarchy but sta does
Matt Liberty
03/26/2022, 12:57 AMAnton Blanchard
03/26/2022, 1:05 AMMatt Liberty
03/26/2022, 1:16 AMAnton Blanchard
03/26/2022, 2:45 AMMatt Liberty
03/26/2022, 2:46 AMAnton Blanchard
03/26/2022, 2:46 AMAnton Blanchard
03/27/2022, 11:30 AMset_min_delay -to microwatt_0.soc0.processor.execute1_0.multiply_0.multiplier/a $multiplier_delay
I was wondering if I could specify the constraint with reference to the clock that is presented to the macro:
set_min_delay -from microwatt_0.soc0.processor.execute1_0.multiply_0.multiplier/clk -to microwatt_0.soc0.processor.execute1_0.multiply_0.multiplier/a $multiplier_delay
I couldn't get that to work.Anton Blanchard
03/30/2022, 3:50 AMset_load
it looks like I can use set_max_capacitance
on a net.
I'm not sure how to constrain the hard macro inputs though (set_driving_cell
but on a net)Tom Spyrou
03/30/2022, 4:33 AMAnton Blanchard
03/30/2022, 4:35 AMAnton Blanchard
03/30/2022, 4:36 AMset_min_delay
a net with reference to another net, eg:
set_min_delay -from microwatt_0.soc0.processor.execute1_0.multiply_0.multiplier/clk -to microwatt_0.soc0.processor.execute1_0.multiply_0.multiplier/a $multiplier_delay
Tom Spyrou
03/30/2022, 4:36 AMAnton Blanchard
03/30/2022, 4:37 AMset_min_delay
usage, I'm not using the netsTom Spyrou
03/30/2022, 4:37 AMAnton Blanchard
03/30/2022, 4:38 AM