diff --git a/flow/designs/asap7/aes-block/rules-base.json b/flow/designs/asap7/aes-block/rules-base.json index 0d454b5e23..6410ba5c14 100644 --- a/flow/designs/asap7/aes-block/rules-base.json +++ b/flow/designs/asap7/aes-block/rules-base.json @@ -28,11 +28,11 @@ "compare": "<=" }, "cts__timing__setup__ws": { - "value": -78.0, + "value": -75.6, "compare": ">=" }, "cts__timing__setup__tns": { - "value": -2890.0, + "value": -2560.0, "compare": ">=" }, "cts__timing__hold__ws": { @@ -52,7 +52,7 @@ "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -3020.0, + "value": -2900.0, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -60,7 +60,7 @@ "compare": ">=" }, "globalroute__timing__hold__tns": { - "value": -1080.0, + "value": -423.0, "compare": ">=" }, "detailedroute__route__wirelength": { @@ -80,11 +80,11 @@ "compare": "<=" }, "finish__timing__setup__ws": { - "value": -58.1, + "value": -43.1, "compare": ">=" }, "finish__timing__setup__tns": { - "value": -897.0, + "value": -608.0, "compare": ">=" }, "finish__timing__hold__ws": { diff --git a/flow/designs/asap7/cva6/rules-base.json b/flow/designs/asap7/cva6/rules-base.json index 6de4b33e01..8073c6c908 100644 --- a/flow/designs/asap7/cva6/rules-base.json +++ b/flow/designs/asap7/cva6/rules-base.json @@ -1,6 +1,6 @@ { "synth__design__instance__area__stdcell": { - "value": 18784.414249, + "value": 18500.0, "compare": "<=" }, "constraints__clocks__count": { @@ -64,7 +64,7 @@ "compare": ">=" }, "detailedroute__route__wirelength": { - "value": 688855, + "value": 667361, "compare": "<=" }, "detailedroute__route__drc_errors": { diff --git a/flow/designs/asap7/ethmac_lvt/rules-base.json b/flow/designs/asap7/ethmac_lvt/rules-base.json index 3f6b71c8b5..e4d1a144eb 100644 --- a/flow/designs/asap7/ethmac_lvt/rules-base.json +++ b/flow/designs/asap7/ethmac_lvt/rules-base.json @@ -80,11 +80,11 @@ "compare": "<=" }, "finish__timing__setup__ws": { - "value": -19.6, + "value": -18.7, "compare": ">=" }, "finish__timing__setup__tns": { - "value": -94.2, + "value": -82.1, "compare": ">=" }, "finish__timing__hold__ws": { diff --git a/flow/designs/asap7/gcd-ccs/rules-base.json b/flow/designs/asap7/gcd-ccs/rules-base.json index 990e39d816..9215f6b375 100644 --- a/flow/designs/asap7/gcd-ccs/rules-base.json +++ b/flow/designs/asap7/gcd-ccs/rules-base.json @@ -64,7 +64,7 @@ "compare": ">=" }, "detailedroute__route__wirelength": { - "value": 925, + "value": 923, "compare": "<=" }, "detailedroute__route__drc_errors": { @@ -80,11 +80,11 @@ "compare": "<=" }, "finish__timing__setup__ws": { - "value": -37.9, + "value": -36.7, "compare": ">=" }, "finish__timing__setup__tns": { - "value": -180.0, + "value": -175.0, "compare": ">=" }, "finish__timing__hold__ws": { diff --git a/flow/designs/asap7/gcd/rules-base.json b/flow/designs/asap7/gcd/rules-base.json index b8a5a4a404..3ef49b1d51 100644 --- a/flow/designs/asap7/gcd/rules-base.json +++ b/flow/designs/asap7/gcd/rules-base.json @@ -64,7 +64,7 @@ "compare": ">=" }, "detailedroute__route__wirelength": { - "value": 1006, + "value": 1002, "compare": "<=" }, "detailedroute__route__drc_errors": { @@ -80,7 +80,7 @@ "compare": "<=" }, "finish__timing__setup__ws": { - "value": -32.2, + "value": -32.0, "compare": ">=" }, "finish__timing__setup__tns": { diff --git a/flow/designs/asap7/mock-alu/rules-base.json b/flow/designs/asap7/mock-alu/rules-base.json index 41d7e8aa44..bc79d8c0f7 100644 --- a/flow/designs/asap7/mock-alu/rules-base.json +++ b/flow/designs/asap7/mock-alu/rules-base.json @@ -84,7 +84,7 @@ "compare": ">=" }, "finish__timing__setup__tns": { - "value": -13000.0, + "value": -12900.0, "compare": ">=" }, "finish__timing__hold__ws": { diff --git a/flow/designs/asap7/mock-cpu/rules-base.json b/flow/designs/asap7/mock-cpu/rules-base.json index 008068335e..5eb6689cd7 100644 --- a/flow/designs/asap7/mock-cpu/rules-base.json +++ b/flow/designs/asap7/mock-cpu/rules-base.json @@ -84,7 +84,7 @@ "compare": ">=" }, "finish__timing__setup__tns": { - "value": -1670.0, + "value": -1620.0, "compare": ">=" }, "finish__timing__hold__ws": { diff --git a/flow/designs/asap7/riscv32i-mock-sram/rules-base.json b/flow/designs/asap7/riscv32i-mock-sram/rules-base.json index fe4797062a..cbb82df912 100644 --- a/flow/designs/asap7/riscv32i-mock-sram/rules-base.json +++ b/flow/designs/asap7/riscv32i-mock-sram/rules-base.json @@ -48,11 +48,11 @@ "compare": "<=" }, "globalroute__timing__setup__ws": { - "value": -56.5, + "value": -52.7, "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -209.0, + "value": -203.0, "compare": ">=" }, "globalroute__timing__hold__ws": { diff --git a/flow/designs/gf180/aes-hybrid/rules-base.json b/flow/designs/gf180/aes-hybrid/rules-base.json index 42ece06169..506537c336 100644 --- a/flow/designs/gf180/aes-hybrid/rules-base.json +++ b/flow/designs/gf180/aes-hybrid/rules-base.json @@ -80,7 +80,7 @@ "compare": "<=" }, "finish__timing__setup__ws": { - "value": -1.28, + "value": -1.27, "compare": ">=" }, "finish__timing__setup__tns": { @@ -96,7 +96,7 @@ "compare": ">=" }, "finish__design__instance__area": { - "value": 752796, + "value": 752750, "compare": "<=" } } \ No newline at end of file diff --git a/flow/designs/gf180/aes/rules-base.json b/flow/designs/gf180/aes/rules-base.json index 864fdbe9fb..aff9f039ec 100644 --- a/flow/designs/gf180/aes/rules-base.json +++ b/flow/designs/gf180/aes/rules-base.json @@ -64,7 +64,7 @@ "compare": ">=" }, "detailedroute__route__wirelength": { - "value": 1359688, + "value": 1358563, "compare": "<=" }, "detailedroute__route__drc_errors": { diff --git a/flow/designs/gf180/uart-blocks/rules-base.json b/flow/designs/gf180/uart-blocks/rules-base.json index de20a48fd8..9c5b06db05 100644 --- a/flow/designs/gf180/uart-blocks/rules-base.json +++ b/flow/designs/gf180/uart-blocks/rules-base.json @@ -64,7 +64,7 @@ "compare": ">=" }, "detailedroute__route__wirelength": { - "value": 21354, + "value": 20103, "compare": "<=" }, "detailedroute__route__drc_errors": { diff --git a/flow/designs/ihp-sg13g2/aes/rules-base.json b/flow/designs/ihp-sg13g2/aes/rules-base.json index d20b95319c..3cb7bedeef 100644 --- a/flow/designs/ihp-sg13g2/aes/rules-base.json +++ b/flow/designs/ihp-sg13g2/aes/rules-base.json @@ -72,7 +72,7 @@ "compare": "<=" }, "detailedroute__antenna__violating__nets": { - "value": 1, + "value": 0, "compare": "<=" }, "detailedroute__antenna_diodes_count": { diff --git a/flow/designs/ihp-sg13g2/gcd/rules-base.json b/flow/designs/ihp-sg13g2/gcd/rules-base.json index a74bfae7db..a8a74be416 100644 --- a/flow/designs/ihp-sg13g2/gcd/rules-base.json +++ b/flow/designs/ihp-sg13g2/gcd/rules-base.json @@ -64,7 +64,7 @@ "compare": ">=" }, "detailedroute__route__wirelength": { - "value": 11091, + "value": 11054, "compare": "<=" }, "detailedroute__route__drc_errors": { diff --git a/flow/designs/nangate45/ariane136/rules-base.json b/flow/designs/nangate45/ariane136/rules-base.json index e48b97d4ae..f7a95e87e0 100644 --- a/flow/designs/nangate45/ariane136/rules-base.json +++ b/flow/designs/nangate45/ariane136/rules-base.json @@ -8,7 +8,7 @@ "compare": "==" }, "placeopt__design__instance__area": { - "value": 847520, + "value": 846969, "compare": "<=" }, "placeopt__design__instance__count__stdcell": { @@ -40,7 +40,7 @@ "compare": ">=" }, "cts__timing__hold__tns": { - "value": -8.05, + "value": -3.43, "compare": ">=" }, "globalroute__antenna_diodes_count": { @@ -76,7 +76,7 @@ "compare": "<=" }, "detailedroute__antenna_diodes_count": { - "value": 201, + "value": 200, "compare": "<=" }, "finish__timing__setup__ws": { @@ -96,7 +96,7 @@ "compare": ">=" }, "finish__design__instance__area": { - "value": 858672, + "value": 857704, "compare": "<=" } } \ No newline at end of file diff --git a/flow/designs/nangate45/black_parrot/rules-base.json b/flow/designs/nangate45/black_parrot/rules-base.json index 0bc0df18eb..5d98cab428 100644 --- a/flow/designs/nangate45/black_parrot/rules-base.json +++ b/flow/designs/nangate45/black_parrot/rules-base.json @@ -28,7 +28,7 @@ "compare": "<=" }, "cts__timing__setup__ws": { - "value": -2.8, + "value": -2.78, "compare": ">=" }, "cts__timing__setup__tns": { @@ -48,7 +48,7 @@ "compare": "<=" }, "globalroute__timing__setup__ws": { - "value": -2.97, + "value": -2.96, "compare": ">=" }, "globalroute__timing__setup__tns": { @@ -80,7 +80,7 @@ "compare": "<=" }, "finish__timing__setup__ws": { - "value": -2.78, + "value": -2.75, "compare": ">=" }, "finish__timing__setup__tns": { diff --git a/flow/designs/nangate45/bp_be_top/rules-base.json b/flow/designs/nangate45/bp_be_top/rules-base.json index 2140525de9..d35fa3ac28 100644 --- a/flow/designs/nangate45/bp_be_top/rules-base.json +++ b/flow/designs/nangate45/bp_be_top/rules-base.json @@ -28,11 +28,11 @@ "compare": "<=" }, "cts__timing__setup__ws": { - "value": -0.411, + "value": -0.27, "compare": ">=" }, "cts__timing__setup__tns": { - "value": -24.3, + "value": -13.6, "compare": ">=" }, "cts__timing__hold__ws": { @@ -48,11 +48,11 @@ "compare": "<=" }, "globalroute__timing__setup__ws": { - "value": -0.427, + "value": -0.291, "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -29.9, + "value": -16.0, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -80,11 +80,11 @@ "compare": "<=" }, "finish__timing__setup__ws": { - "value": -0.418, + "value": -0.295, "compare": ">=" }, "finish__timing__setup__tns": { - "value": -28.5, + "value": -16.1, "compare": ">=" }, "finish__timing__hold__ws": { diff --git a/flow/designs/nangate45/bp_multi_top/rules-base.json b/flow/designs/nangate45/bp_multi_top/rules-base.json index 15e50bdcba..99a0e3f206 100644 --- a/flow/designs/nangate45/bp_multi_top/rules-base.json +++ b/flow/designs/nangate45/bp_multi_top/rules-base.json @@ -8,11 +8,11 @@ "compare": "==" }, "placeopt__design__instance__area": { - "value": 574894, + "value": 574711, "compare": "<=" }, "placeopt__design__instance__count__stdcell": { - "value": 108887, + "value": 108842, "compare": "<=" }, "detailedplace__design__violations": { @@ -20,11 +20,11 @@ "compare": "==" }, "cts__design__instance__count__setup_buffer": { - "value": 9468, + "value": 9464, "compare": "<=" }, "cts__design__instance__count__hold_buffer": { - "value": 9468, + "value": 9464, "compare": "<=" }, "cts__timing__setup__ws": { @@ -92,11 +92,11 @@ "compare": ">=" }, "finish__timing__hold__tns": { - "value": -1.32, + "value": -0.96, "compare": ">=" }, "finish__design__instance__area": { - "value": 581449, + "value": 580989, "compare": "<=" } } \ No newline at end of file diff --git a/flow/designs/nangate45/gcd/rules-base.json b/flow/designs/nangate45/gcd/rules-base.json index 40ceae99f8..ee0febfeb6 100644 --- a/flow/designs/nangate45/gcd/rules-base.json +++ b/flow/designs/nangate45/gcd/rules-base.json @@ -64,7 +64,7 @@ "compare": ">=" }, "detailedroute__route__wirelength": { - "value": 5236, + "value": 5224, "compare": "<=" }, "detailedroute__route__drc_errors": { @@ -80,7 +80,7 @@ "compare": "<=" }, "finish__timing__setup__ws": { - "value": -0.0688, + "value": -0.0684, "compare": ">=" }, "finish__timing__setup__tns": { diff --git a/flow/designs/nangate45/swerv/rules-base.json b/flow/designs/nangate45/swerv/rules-base.json index 0693282dcc..ff1463807a 100644 --- a/flow/designs/nangate45/swerv/rules-base.json +++ b/flow/designs/nangate45/swerv/rules-base.json @@ -1,6 +1,6 @@ { "synth__design__instance__area__stdcell": { - "value": 178043.59, + "value": 168000.0, "compare": "<=" }, "constraints__clocks__count": { @@ -8,11 +8,11 @@ "compare": "==" }, "placeopt__design__instance__area": { - "value": 179149, + "value": 177330, "compare": "<=" }, "placeopt__design__instance__count__stdcell": { - "value": 99342, + "value": 97682, "compare": "<=" }, "detailedplace__design__violations": { @@ -20,19 +20,19 @@ "compare": "==" }, "cts__design__instance__count__setup_buffer": { - "value": 8638, + "value": 8494, "compare": "<=" }, "cts__design__instance__count__hold_buffer": { - "value": 8638, + "value": 8494, "compare": "<=" }, "cts__timing__setup__ws": { - "value": -0.518, + "value": -0.315, "compare": ">=" }, "cts__timing__setup__tns": { - "value": -338.0, + "value": -158.0, "compare": ">=" }, "cts__timing__hold__ws": { @@ -44,15 +44,15 @@ "compare": ">=" }, "globalroute__antenna_diodes_count": { - "value": 102, + "value": 101, "compare": "<=" }, "globalroute__timing__setup__ws": { - "value": -0.533, + "value": -0.362, "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -329.0, + "value": -238.0, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -64,7 +64,7 @@ "compare": ">=" }, "detailedroute__route__wirelength": { - "value": 2659376, + "value": 2494479, "compare": "<=" }, "detailedroute__route__drc_errors": { @@ -76,15 +76,15 @@ "compare": "<=" }, "detailedroute__antenna_diodes_count": { - "value": 102, + "value": 101, "compare": "<=" }, "finish__timing__setup__ws": { - "value": -0.524, + "value": -0.337, "compare": ">=" }, "finish__timing__setup__tns": { - "value": -311.0, + "value": -175.0, "compare": ">=" }, "finish__timing__hold__ws": { @@ -96,7 +96,7 @@ "compare": ">=" }, "finish__design__instance__area": { - "value": 183736, + "value": 182643, "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 a07a1c8be8..5c2e5f74d3 100644 --- a/flow/designs/nangate45/swerv_wrapper/rules-base.json +++ b/flow/designs/nangate45/swerv_wrapper/rules-base.json @@ -28,11 +28,11 @@ "compare": "<=" }, "cts__timing__setup__ws": { - "value": -0.321, + "value": -0.151, "compare": ">=" }, "cts__timing__setup__tns": { - "value": -154.0, + "value": -6.99, "compare": ">=" }, "cts__timing__hold__ws": { @@ -48,11 +48,11 @@ "compare": "<=" }, "globalroute__timing__setup__ws": { - "value": -0.297, + "value": -0.154, "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -129.0, + "value": -16.0, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -80,11 +80,11 @@ "compare": "<=" }, "finish__timing__setup__ws": { - "value": -0.296, + "value": -0.172, "compare": ">=" }, "finish__timing__setup__tns": { - "value": -113.0, + "value": -19.8, "compare": ">=" }, "finish__timing__hold__ws": { diff --git a/flow/designs/nangate45/tinyRocket/rules-base.json b/flow/designs/nangate45/tinyRocket/rules-base.json index f546d8c309..f87170e655 100644 --- a/flow/designs/nangate45/tinyRocket/rules-base.json +++ b/flow/designs/nangate45/tinyRocket/rules-base.json @@ -8,11 +8,11 @@ "compare": "==" }, "placeopt__design__instance__area": { - "value": 60308, + "value": 60283, "compare": "<=" }, "placeopt__design__instance__count__stdcell": { - "value": 31653, + "value": 31628, "compare": "<=" }, "detailedplace__design__violations": { @@ -20,11 +20,11 @@ "compare": "==" }, "cts__design__instance__count__setup_buffer": { - "value": 2752, + "value": 2750, "compare": "<=" }, "cts__design__instance__count__hold_buffer": { - "value": 2752, + "value": 2750, "compare": "<=" }, "cts__timing__setup__ws": { @@ -32,7 +32,7 @@ "compare": ">=" }, "cts__timing__setup__tns": { - "value": -30.3, + "value": -25.5, "compare": ">=" }, "cts__timing__hold__ws": { @@ -52,7 +52,7 @@ "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -44.3, + "value": -33.8, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -64,7 +64,7 @@ "compare": ">=" }, "detailedroute__route__wirelength": { - "value": 538070, + "value": 532678, "compare": "<=" }, "detailedroute__route__drc_errors": { @@ -84,7 +84,7 @@ "compare": ">=" }, "finish__timing__setup__tns": { - "value": -38.1, + "value": -32.0, "compare": ">=" }, "finish__timing__hold__ws": { @@ -96,7 +96,7 @@ "compare": ">=" }, "finish__design__instance__area": { - "value": 62067, + "value": 62011, "compare": "<=" } } \ No newline at end of file diff --git a/flow/designs/sky130hd/aes/rules-base.json b/flow/designs/sky130hd/aes/rules-base.json index 2721f12272..fbfe25cdf0 100644 --- a/flow/designs/sky130hd/aes/rules-base.json +++ b/flow/designs/sky130hd/aes/rules-base.json @@ -84,7 +84,7 @@ "compare": ">=" }, "finish__timing__setup__tns": { - "value": -7.56, + "value": -7.08, "compare": ">=" }, "finish__timing__hold__ws": { diff --git a/flow/designs/sky130hd/gcd/rules-base.json b/flow/designs/sky130hd/gcd/rules-base.json index 0b617790b3..e5b43490bc 100644 --- a/flow/designs/sky130hd/gcd/rules-base.json +++ b/flow/designs/sky130hd/gcd/rules-base.json @@ -1,6 +1,6 @@ { "synth__design__instance__area__stdcell": { - "value": 2760.0, + "value": 2670.0, "compare": "<=" }, "constraints__clocks__count": { @@ -28,11 +28,11 @@ "compare": "<=" }, "cts__timing__setup__ws": { - "value": -1.82, + "value": -1.58, "compare": ">=" }, "cts__timing__setup__tns": { - "value": -77.3, + "value": -69.9, "compare": ">=" }, "cts__timing__hold__ws": { @@ -48,11 +48,11 @@ "compare": "<=" }, "globalroute__timing__setup__ws": { - "value": -1.91, + "value": -1.88, "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -85.4, + "value": -82.7, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -80,11 +80,11 @@ "compare": "<=" }, "finish__timing__setup__ws": { - "value": -1.8, + "value": -1.76, "compare": ">=" }, "finish__timing__setup__tns": { - "value": -80.8, + "value": -76.1, "compare": ">=" }, "finish__timing__hold__ws": { diff --git a/flow/designs/sky130hd/microwatt/rules-base.json b/flow/designs/sky130hd/microwatt/rules-base.json index 15d7239d50..3977d4bd2b 100644 --- a/flow/designs/sky130hd/microwatt/rules-base.json +++ b/flow/designs/sky130hd/microwatt/rules-base.json @@ -72,11 +72,11 @@ "compare": "<=" }, "detailedroute__antenna__violating__nets": { - "value": 3, + "value": 0, "compare": "<=" }, "detailedroute__antenna_diodes_count": { - "value": 1724, + "value": 1717, "compare": "<=" }, "finish__timing__setup__ws": { @@ -88,7 +88,7 @@ "compare": ">=" }, "finish__timing__hold__ws": { - "value": -1.6, + "value": -1.59, "compare": ">=" }, "finish__timing__hold__tns": { diff --git a/flow/designs/sky130hs/aes/rules-base.json b/flow/designs/sky130hs/aes/rules-base.json index 3c79d79eef..67f452a9e3 100644 --- a/flow/designs/sky130hs/aes/rules-base.json +++ b/flow/designs/sky130hs/aes/rules-base.json @@ -80,11 +80,11 @@ "compare": "<=" }, "finish__timing__setup__ws": { - "value": -0.15, + "value": -0.149, "compare": ">=" }, "finish__timing__setup__tns": { - "value": -0.57, + "value": -0.569, "compare": ">=" }, "finish__timing__hold__ws": { diff --git a/flow/designs/sky130hs/ibex/rules-base.json b/flow/designs/sky130hs/ibex/rules-base.json index 40be0a8a5f..d17823f6c1 100644 --- a/flow/designs/sky130hs/ibex/rules-base.json +++ b/flow/designs/sky130hs/ibex/rules-base.json @@ -84,7 +84,7 @@ "compare": ">=" }, "finish__timing__setup__tns": { - "value": -19.8, + "value": -18.3, "compare": ">=" }, "finish__timing__hold__ws": { diff --git a/flow/designs/sky130hs/riscv32i/rules-base.json b/flow/designs/sky130hs/riscv32i/rules-base.json index e7141d363c..83f49a7897 100644 --- a/flow/designs/sky130hs/riscv32i/rules-base.json +++ b/flow/designs/sky130hs/riscv32i/rules-base.json @@ -64,7 +64,7 @@ "compare": ">=" }, "detailedroute__route__wirelength": { - "value": 351774, + "value": 351354, "compare": "<=" }, "detailedroute__route__drc_errors": { @@ -80,11 +80,11 @@ "compare": "<=" }, "finish__timing__setup__ws": { - "value": -0.876, + "value": -0.874, "compare": ">=" }, "finish__timing__setup__tns": { - "value": -207.0, + "value": -167.0, "compare": ">=" }, "finish__timing__hold__ws": { diff --git a/tools/OpenROAD b/tools/OpenROAD index 29d97c45b3..e9b311b4a2 160000 --- a/tools/OpenROAD +++ b/tools/OpenROAD @@ -1 +1 @@ -Subproject commit 29d97c45b3e328b6141f76b72c9734f8b899ef14 +Subproject commit e9b311b4a2d011f7729792cc0ac5e8386ad7071f