diff --git a/flow/designs/asap7/riscv32i-mock-sram/rules-base.json b/flow/designs/asap7/riscv32i-mock-sram/rules-base.json index 66e03a5a6e..3bddc866f3 100644 --- a/flow/designs/asap7/riscv32i-mock-sram/rules-base.json +++ b/flow/designs/asap7/riscv32i-mock-sram/rules-base.json @@ -1,6 +1,6 @@ { "synth__canonical_netlist__hash": { - "value": "855cc88198fc9faaf17317eaea4a3a07a4340d1d", + "value": "58bf274dad2592154068ebaf8f3893ccf8b388fa", "compare": "==", "level": "warning" }, @@ -74,7 +74,7 @@ "compare": ">=" }, "detailedroute__route__wirelength": { - "value": 64313, + "value": 63228, "compare": "<=" }, "detailedroute__route__drc_errors": { @@ -94,7 +94,7 @@ "compare": ">=" }, "finish__timing__setup__tns": { - "value": -230.0, + "value": -2770.0, "compare": ">=" }, "finish__timing__hold__ws": { diff --git a/flow/designs/gf12/gcd/rules-base.json b/flow/designs/gf12/gcd/rules-base.json index 2a9c1a04af..6872b4b282 100644 --- a/flow/designs/gf12/gcd/rules-base.json +++ b/flow/designs/gf12/gcd/rules-base.json @@ -1,4 +1,14 @@ { + "synth__canonical_netlist__hash": { + "value": "a5874bf0d7a4676c0e25a99a5c7f6fcc237ed682", + "compare": "==", + "level": "warning" + }, + "synth__netlist__hash": { + "value": "4289d9760a66cd6331d0d0a75d97005969ecace5", + "compare": "==", + "level": "warning" + }, "synth__design__instance__area__stdcell": { "value": 107.0, "compare": "<=" @@ -52,7 +62,7 @@ "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -133.0, + "value": -210.0, "compare": ">=" }, "globalroute__timing__hold__ws": { diff --git a/flow/designs/ihp-sg13g2/jpeg/rules-base.json b/flow/designs/ihp-sg13g2/jpeg/rules-base.json index 3eb023fcba..b40601e98c 100644 --- a/flow/designs/ihp-sg13g2/jpeg/rules-base.json +++ b/flow/designs/ihp-sg13g2/jpeg/rules-base.json @@ -86,7 +86,7 @@ "compare": "<=" }, "detailedroute__antenna_diodes_count": { - "value": 109, + "value": 121, "compare": "<=" }, "finish__timing__setup__ws": { diff --git a/flow/designs/nangate45/aes/rules-base.json b/flow/designs/nangate45/aes/rules-base.json index d0029ea200..d19de231bc 100644 --- a/flow/designs/nangate45/aes/rules-base.json +++ b/flow/designs/nangate45/aes/rules-base.json @@ -62,7 +62,7 @@ "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -0.673, + "value": -0.671, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -70,7 +70,7 @@ "compare": ">=" }, "globalroute__timing__hold__tns": { - "value": -0.726, + "value": -0.624, "compare": ">=" }, "detailedroute__route__wirelength": { @@ -94,7 +94,7 @@ "compare": ">=" }, "finish__timing__setup__tns": { - "value": -0.167, + "value": -0.339, "compare": ">=" }, "finish__timing__hold__ws": { diff --git a/flow/designs/nangate45/ariane133/rules-base.json b/flow/designs/nangate45/ariane133/rules-base.json index 80a9eb92cd..c82fbaf34d 100644 --- a/flow/designs/nangate45/ariane133/rules-base.json +++ b/flow/designs/nangate45/ariane133/rules-base.json @@ -62,7 +62,7 @@ "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -577.0, + "value": -576.0, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -94,7 +94,7 @@ "compare": ">=" }, "finish__timing__setup__tns": { - "value": -576.0, + "value": -585.0, "compare": ">=" }, "finish__timing__hold__ws": { diff --git a/flow/designs/nangate45/bp_be_top/rules-base.json b/flow/designs/nangate45/bp_be_top/rules-base.json index 9d2fa02777..dbcc56d1ce 100644 --- a/flow/designs/nangate45/bp_be_top/rules-base.json +++ b/flow/designs/nangate45/bp_be_top/rules-base.json @@ -94,7 +94,7 @@ "compare": ">=" }, "finish__timing__setup__tns": { - "value": -19.1, + "value": -20.0, "compare": ">=" }, "finish__timing__hold__ws": { diff --git a/flow/designs/nangate45/bp_fe_top/rules-base.json b/flow/designs/nangate45/bp_fe_top/rules-base.json index 6397935139..675c6aae77 100644 --- a/flow/designs/nangate45/bp_fe_top/rules-base.json +++ b/flow/designs/nangate45/bp_fe_top/rules-base.json @@ -94,7 +94,7 @@ "compare": ">=" }, "finish__timing__setup__tns": { - "value": -1.23, + "value": -1.8, "compare": ">=" }, "finish__timing__hold__ws": { diff --git a/flow/designs/nangate45/swerv/rules-base.json b/flow/designs/nangate45/swerv/rules-base.json index 5e95636eb2..1d42413cb3 100644 --- a/flow/designs/nangate45/swerv/rules-base.json +++ b/flow/designs/nangate45/swerv/rules-base.json @@ -62,7 +62,7 @@ "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -485.0, + "value": -502.0, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -74,7 +74,7 @@ "compare": ">=" }, "detailedroute__route__wirelength": { - "value": 2366013, + "value": 2365053, "compare": "<=" }, "detailedroute__route__drc_errors": { @@ -94,7 +94,7 @@ "compare": ">=" }, "finish__timing__setup__tns": { - "value": -479.0, + "value": -609.0, "compare": ">=" }, "finish__timing__hold__ws": { @@ -106,7 +106,7 @@ "compare": ">=" }, "finish__design__instance__area": { - "value": 183688, + "value": 183574, "compare": "<=" } } \ No newline at end of file diff --git a/flow/designs/nangate45/swerv_wrapper/rules-base.json b/flow/designs/nangate45/swerv_wrapper/rules-base.json index 044be6a8aa..77672acde3 100644 --- a/flow/designs/nangate45/swerv_wrapper/rules-base.json +++ b/flow/designs/nangate45/swerv_wrapper/rules-base.json @@ -58,11 +58,11 @@ "compare": "<=" }, "globalroute__timing__setup__ws": { - "value": -0.345, + "value": -0.34, "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -146.0, + "value": -157.0, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -94,7 +94,7 @@ "compare": ">=" }, "finish__timing__setup__tns": { - "value": -126.0, + "value": -143.0, "compare": ">=" }, "finish__timing__hold__ws": { diff --git a/flow/designs/sky130hd/aes/fastroute.tcl b/flow/designs/sky130hd/aes/fastroute.tcl index 80e4274ee2..e795f5e820 100644 --- a/flow/designs/sky130hd/aes/fastroute.tcl +++ b/flow/designs/sky130hd/aes/fastroute.tcl @@ -1,4 +1,4 @@ -set_global_routing_layer_adjustment $::env(MIN_ROUTING_LAYER)-$::env(MAX_ROUTING_LAYER) 0.4 +set_global_routing_layer_adjustment $::env(MIN_ROUTING_LAYER)-$::env(MAX_ROUTING_LAYER) 0.3 set_routing_layers -clock $::env(MIN_CLK_ROUTING_LAYER)-$::env(MAX_ROUTING_LAYER) set_routing_layers -signal $::env(MIN_ROUTING_LAYER)-$::env(MAX_ROUTING_LAYER) diff --git a/flow/designs/sky130hd/chameleon/rules-base.json b/flow/designs/sky130hd/chameleon/rules-base.json index 134736e0e2..8c0d8d48b1 100644 --- a/flow/designs/sky130hd/chameleon/rules-base.json +++ b/flow/designs/sky130hd/chameleon/rules-base.json @@ -54,11 +54,11 @@ "compare": ">=" }, "globalroute__antenna_diodes_count": { - "value": 196, + "value": 200, "compare": "<=" }, "globalroute__timing__setup__ws": { - "value": -0.944, + "value": -0.943, "compare": ">=" }, "globalroute__timing__setup__tns": { diff --git a/flow/designs/sky130hd/gcd/rules-base.json b/flow/designs/sky130hd/gcd/rules-base.json index c8f2846085..f89b0121f4 100644 --- a/flow/designs/sky130hd/gcd/rules-base.json +++ b/flow/designs/sky130hd/gcd/rules-base.json @@ -62,7 +62,7 @@ "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -88.8, + "value": -89.0, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -90,11 +90,11 @@ "compare": "<=" }, "finish__timing__setup__ws": { - "value": -1.85, + "value": -1.82, "compare": ">=" }, "finish__timing__setup__tns": { - "value": -87.6, + "value": -85.7, "compare": ">=" }, "finish__timing__hold__ws": { diff --git a/flow/designs/sky130hd/jpeg/rules-base.json b/flow/designs/sky130hd/jpeg/rules-base.json index bbf97b08b7..c0e11f4e05 100644 --- a/flow/designs/sky130hd/jpeg/rules-base.json +++ b/flow/designs/sky130hd/jpeg/rules-base.json @@ -54,15 +54,15 @@ "compare": ">=" }, "globalroute__antenna_diodes_count": { - "value": 100, + "value": 102, "compare": "<=" }, "globalroute__timing__setup__ws": { - "value": -0.764, + "value": -0.754, "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -111.0, + "value": -113.0, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -94,7 +94,7 @@ "compare": ">=" }, "finish__timing__setup__tns": { - "value": -42.9, + "value": -42.2, "compare": ">=" }, "finish__timing__hold__ws": { diff --git a/flow/designs/sky130hd/microwatt/rules-base.json b/flow/designs/sky130hd/microwatt/rules-base.json index 051d2b461c..d57dbf012f 100644 --- a/flow/designs/sky130hd/microwatt/rules-base.json +++ b/flow/designs/sky130hd/microwatt/rules-base.json @@ -54,7 +54,7 @@ "compare": ">=" }, "globalroute__antenna_diodes_count": { - "value": 1333, + "value": 1364, "compare": "<=" }, "globalroute__timing__setup__ws": { @@ -62,7 +62,7 @@ "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -345.0, + "value": -306.0, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -82,27 +82,27 @@ "compare": "<=" }, "detailedroute__antenna__violating__nets": { - "value": 0, + "value": 1, "compare": "<=" }, "detailedroute__antenna_diodes_count": { - "value": 1434, + "value": 1352, "compare": "<=" }, "finish__timing__setup__ws": { - "value": -2.7, + "value": -2.65, "compare": ">=" }, "finish__timing__setup__tns": { - "value": -360.0, + "value": -305.0, "compare": ">=" }, "finish__timing__hold__ws": { - "value": -1.0, + "value": -0.959, "compare": ">=" }, "finish__timing__hold__tns": { - "value": -6.71, + "value": -5.94, "compare": ">=" }, "finish__design__instance__area": { diff --git a/flow/designs/sky130hd/riscv32i/rules-base.json b/flow/designs/sky130hd/riscv32i/rules-base.json index ec2ef0be19..437daa32fe 100644 --- a/flow/designs/sky130hd/riscv32i/rules-base.json +++ b/flow/designs/sky130hd/riscv32i/rules-base.json @@ -62,7 +62,7 @@ "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -300.0, + "value": -304.0, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -94,7 +94,7 @@ "compare": ">=" }, "finish__timing__setup__tns": { - "value": -167.0, + "value": -169.0, "compare": ">=" }, "finish__timing__hold__ws": { diff --git a/flow/designs/sky130hs/ibex/rules-base.json b/flow/designs/sky130hs/ibex/rules-base.json index 0f8405e64e..3e6641d4f8 100644 --- a/flow/designs/sky130hs/ibex/rules-base.json +++ b/flow/designs/sky130hs/ibex/rules-base.json @@ -62,7 +62,7 @@ "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -23.4, + "value": -43.4, "compare": ">=" }, "globalroute__timing__hold__ws": { diff --git a/flow/designs/sky130hs/riscv32i/rules-base.json b/flow/designs/sky130hs/riscv32i/rules-base.json index 73af5f9450..af7937c1ec 100644 --- a/flow/designs/sky130hs/riscv32i/rules-base.json +++ b/flow/designs/sky130hs/riscv32i/rules-base.json @@ -62,7 +62,7 @@ "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -134.0, + "value": -142.0, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -74,7 +74,7 @@ "compare": ">=" }, "detailedroute__route__wirelength": { - "value": 346876, + "value": 346646, "compare": "<=" }, "detailedroute__route__drc_errors": { @@ -94,7 +94,7 @@ "compare": ">=" }, "finish__timing__setup__tns": { - "value": -20.9, + "value": -29.2, "compare": ">=" }, "finish__timing__hold__ws": { diff --git a/tools/OpenROAD b/tools/OpenROAD index 5bf1281487..49bd051a10 160000 --- a/tools/OpenROAD +++ b/tools/OpenROAD @@ -1 +1 @@ -Subproject commit 5bf1281487af0f48cfe992f38030b071af2220e2 +Subproject commit 49bd051a10f0dd5bb89eba9acf668e8362b883d8