diff --git a/docs/user/FlowVariables.md b/docs/user/FlowVariables.md
index 78871f1552..04e8b11e80 100644
--- a/docs/user/FlowVariables.md
+++ b/docs/user/FlowVariables.md
@@ -326,7 +326,6 @@ configuration file.
| TNS_END_PERCENT| Default TNS_END_PERCENT value for post CTS timing repair. Try fixing all violating endpoints by default (reduce to 5% for runtime). Specifies how many percent of violating paths to fix [0-100]. Worst path will always be fixed.| 100|
| UNSET_ABC9_BOX_CELLS| List of cells to unset the abc9_box attribute on| |
| USE_FILL| Whether to perform metal density filling.| 0|
-| USE_NEGOTIATION| Enable using negotiation legalizer for detailed placement.| 0|
| VERILOG_DEFINES| Preprocessor defines passed to the language frontend. Example: `-D HPDCACHE_ASSERT_OFF`| |
| VERILOG_FILES| The path to the design Verilog/SystemVerilog files providing a description of modules.| |
| VERILOG_INCLUDE_DIRS| Specifies the include directories for the Verilog input files.| |
@@ -671,5 +670,4 @@ configuration file.
- [TAP_CELL_NAME](#TAP_CELL_NAME)
- [TECH_LEF](#TECH_LEF)
- [USE_FILL](#USE_FILL)
-- [USE_NEGOTIATION](#USE_NEGOTIATION)
diff --git a/flow/designs/asap7/ethmac/rules-base.json b/flow/designs/asap7/ethmac/rules-base.json
index e96077cce2..8a4b25cc11 100644
--- a/flow/designs/asap7/ethmac/rules-base.json
+++ b/flow/designs/asap7/ethmac/rules-base.json
@@ -62,7 +62,7 @@
"compare": ">="
},
"globalroute__timing__setup__tns": {
- "value": -1870.0,
+ "value": -2120.0,
"compare": ">="
},
"globalroute__timing__hold__ws": {
@@ -94,7 +94,7 @@
"compare": ">="
},
"finish__timing__setup__tns": {
- "value": -1500.0,
+ "value": -1650.0,
"compare": ">="
},
"finish__timing__hold__ws": {
diff --git a/flow/designs/asap7/ethmac_lvt/rules-base.json b/flow/designs/asap7/ethmac_lvt/rules-base.json
index bdff6b82ed..a6aa2d62fa 100644
--- a/flow/designs/asap7/ethmac_lvt/rules-base.json
+++ b/flow/designs/asap7/ethmac_lvt/rules-base.json
@@ -62,7 +62,7 @@
"compare": ">="
},
"globalroute__timing__setup__tns": {
- "value": -308.0,
+ "value": -303.0,
"compare": ">="
},
"globalroute__timing__hold__ws": {
@@ -94,7 +94,7 @@
"compare": ">="
},
"finish__timing__setup__tns": {
- "value": -60.2,
+ "value": -121.0,
"compare": ">="
},
"finish__timing__hold__ws": {
diff --git a/flow/designs/asap7/mock-alu/rules-base.json b/flow/designs/asap7/mock-alu/rules-base.json
index 5dc374caa2..bb6c6947a9 100644
--- a/flow/designs/asap7/mock-alu/rules-base.json
+++ b/flow/designs/asap7/mock-alu/rules-base.json
@@ -42,7 +42,7 @@
"compare": ">="
},
"cts__timing__setup__tns": {
- "value": -18100.0,
+ "value": -18500.0,
"compare": ">="
},
"cts__timing__hold__ws": {
@@ -62,7 +62,7 @@
"compare": ">="
},
"globalroute__timing__setup__tns": {
- "value": -19400.0,
+ "value": -20000.0,
"compare": ">="
},
"globalroute__timing__hold__ws": {
@@ -90,11 +90,11 @@
"compare": "<="
},
"finish__timing__setup__ws": {
- "value": -300.0,
+ "value": -299.0,
"compare": ">="
},
"finish__timing__setup__tns": {
- "value": -19700.0,
+ "value": -19900.0,
"compare": ">="
},
"finish__timing__hold__ws": {
diff --git a/flow/designs/gf180/aes-hybrid/rules-base.json b/flow/designs/gf180/aes-hybrid/rules-base.json
index 6992544146..371d536e48 100644
--- a/flow/designs/gf180/aes-hybrid/rules-base.json
+++ b/flow/designs/gf180/aes-hybrid/rules-base.json
@@ -42,7 +42,7 @@
"compare": ">="
},
"cts__timing__setup__tns": {
- "value": -122.0,
+ "value": -124.0,
"compare": ">="
},
"cts__timing__hold__ws": {
@@ -62,7 +62,7 @@
"compare": ">="
},
"globalroute__timing__setup__tns": {
- "value": -135.0,
+ "value": -141.0,
"compare": ">="
},
"globalroute__timing__hold__ws": {
@@ -94,7 +94,7 @@
"compare": ">="
},
"finish__timing__setup__tns": {
- "value": -130.0,
+ "value": -138.0,
"compare": ">="
},
"finish__timing__hold__ws": {
diff --git a/flow/designs/gf180/aes/rules-base.json b/flow/designs/gf180/aes/rules-base.json
index eca90d0da7..3ed6a391d1 100644
--- a/flow/designs/gf180/aes/rules-base.json
+++ b/flow/designs/gf180/aes/rules-base.json
@@ -42,7 +42,7 @@
"compare": ">="
},
"cts__timing__setup__tns": {
- "value": -87.3,
+ "value": -85.9,
"compare": ">="
},
"cts__timing__hold__ws": {
@@ -62,7 +62,7 @@
"compare": ">="
},
"globalroute__timing__setup__tns": {
- "value": -100.0,
+ "value": -105.0,
"compare": ">="
},
"globalroute__timing__hold__ws": {
@@ -94,7 +94,7 @@
"compare": ">="
},
"finish__timing__setup__tns": {
- "value": -97.6,
+ "value": -103.0,
"compare": ">="
},
"finish__timing__hold__ws": {
diff --git a/flow/designs/ihp-sg13g2/ibex/rules-base.json b/flow/designs/ihp-sg13g2/ibex/rules-base.json
index 446f196ff2..561870d94d 100644
--- a/flow/designs/ihp-sg13g2/ibex/rules-base.json
+++ b/flow/designs/ihp-sg13g2/ibex/rules-base.json
@@ -18,11 +18,11 @@
"compare": "=="
},
"placeopt__design__instance__area": {
- "value": 306794,
+ "value": 306205,
"compare": "<="
},
"placeopt__design__instance__count__stdcell": {
- "value": 20278,
+ "value": 20217,
"compare": "<="
},
"detailedplace__design__violations": {
@@ -30,11 +30,11 @@
"compare": "=="
},
"cts__design__instance__count__setup_buffer": {
- "value": 1763,
+ "value": 1758,
"compare": "<="
},
"cts__design__instance__count__hold_buffer": {
- "value": 1763,
+ "value": 1758,
"compare": "<="
},
"cts__timing__setup__ws": {
@@ -94,7 +94,7 @@
"compare": ">="
},
"finish__timing__setup__tns": {
- "value": -1.6,
+ "value": -3.55,
"compare": ">="
},
"finish__timing__hold__ws": {
@@ -106,7 +106,7 @@
"compare": ">="
},
"finish__design__instance__area": {
- "value": 327350,
+ "value": 326753,
"compare": "<="
}
}
\ No newline at end of file
diff --git a/flow/designs/ihp-sg13g2/spi/rules-base.json b/flow/designs/ihp-sg13g2/spi/rules-base.json
index 0236581edb..dbc5afd888 100644
--- a/flow/designs/ihp-sg13g2/spi/rules-base.json
+++ b/flow/designs/ihp-sg13g2/spi/rules-base.json
@@ -74,7 +74,7 @@
"compare": ">="
},
"detailedroute__route__wirelength": {
- "value": 3972,
+ "value": 4630,
"compare": "<="
},
"detailedroute__route__drc_errors": {
diff --git a/flow/designs/nangate45/ariane133/rules-base.json b/flow/designs/nangate45/ariane133/rules-base.json
index 8cde2d298a..df07db1959 100644
--- a/flow/designs/nangate45/ariane133/rules-base.json
+++ b/flow/designs/nangate45/ariane133/rules-base.json
@@ -38,11 +38,11 @@
"compare": "<="
},
"cts__timing__setup__ws": {
- "value": -0.574,
+ "value": -0.569,
"compare": ">="
},
"cts__timing__setup__tns": {
- "value": -743.0,
+ "value": -760.0,
"compare": ">="
},
"cts__timing__hold__ws": {
@@ -62,7 +62,7 @@
"compare": ">="
},
"globalroute__timing__setup__tns": {
- "value": -994.0,
+ "value": -798.0,
"compare": ">="
},
"globalroute__timing__hold__ws": {
@@ -94,7 +94,7 @@
"compare": ">="
},
"finish__timing__setup__tns": {
- "value": -1010.0,
+ "value": -881.0,
"compare": ">="
},
"finish__timing__hold__ws": {
diff --git a/flow/designs/nangate45/jpeg/rules-base.json b/flow/designs/nangate45/jpeg/rules-base.json
index 7c66ee8ab0..c236655955 100644
--- a/flow/designs/nangate45/jpeg/rules-base.json
+++ b/flow/designs/nangate45/jpeg/rules-base.json
@@ -18,11 +18,11 @@
"compare": "=="
},
"placeopt__design__instance__area": {
- "value": 103034,
+ "value": 102921,
"compare": "<="
},
"placeopt__design__instance__count__stdcell": {
- "value": 68147,
+ "value": 68062,
"compare": "<="
},
"detailedplace__design__violations": {
@@ -30,11 +30,11 @@
"compare": "=="
},
"cts__design__instance__count__setup_buffer": {
- "value": 5926,
+ "value": 5918,
"compare": "<="
},
"cts__design__instance__count__hold_buffer": {
- "value": 5926,
+ "value": 5918,
"compare": "<="
},
"cts__timing__setup__ws": {
@@ -42,7 +42,7 @@
"compare": ">="
},
"cts__timing__setup__tns": {
- "value": -39.1,
+ "value": -42.1,
"compare": ">="
},
"cts__timing__hold__ws": {
@@ -62,7 +62,7 @@
"compare": ">="
},
"globalroute__timing__setup__tns": {
- "value": -47.7,
+ "value": -52.9,
"compare": ">="
},
"globalroute__timing__hold__ws": {
@@ -74,7 +74,7 @@
"compare": ">="
},
"detailedroute__route__wirelength": {
- "value": 654704,
+ "value": 757284,
"compare": "<="
},
"detailedroute__route__drc_errors": {
@@ -94,7 +94,7 @@
"compare": ">="
},
"finish__timing__setup__tns": {
- "value": -43.5,
+ "value": -49.1,
"compare": ">="
},
"finish__timing__hold__ws": {
diff --git a/flow/designs/nangate45/mempool_group/rules-base.json b/flow/designs/nangate45/mempool_group/rules-base.json
index 1539cdc5c9..c2b06ab9db 100644
--- a/flow/designs/nangate45/mempool_group/rules-base.json
+++ b/flow/designs/nangate45/mempool_group/rules-base.json
@@ -42,7 +42,7 @@
"compare": ">="
},
"cts__timing__setup__tns": {
- "value": -14900.0,
+ "value": -12200.0,
"compare": ">="
},
"cts__timing__hold__ws": {
@@ -62,7 +62,7 @@
"compare": ">="
},
"globalroute__timing__setup__tns": {
- "value": -12400.0,
+ "value": -12200.0,
"compare": ">="
},
"globalroute__timing__hold__ws": {
@@ -94,7 +94,7 @@
"compare": ">="
},
"finish__timing__setup__tns": {
- "value": -13600.0,
+ "value": -11900.0,
"compare": ">="
},
"finish__timing__hold__ws": {
@@ -102,11 +102,11 @@
"compare": ">="
},
"finish__timing__hold__tns": {
- "value": -1.02,
+ "value": -1.7,
"compare": ">="
},
"finish__design__instance__area": {
- "value": 453697,
+ "value": 453619,
"compare": "<="
}
}
\ No newline at end of file
diff --git a/flow/designs/nangate45/swerv/rules-base.json b/flow/designs/nangate45/swerv/rules-base.json
index 17193eb3c2..8502b75543 100644
--- a/flow/designs/nangate45/swerv/rules-base.json
+++ b/flow/designs/nangate45/swerv/rules-base.json
@@ -58,11 +58,11 @@
"compare": "<="
},
"globalroute__timing__setup__ws": {
- "value": -0.699,
+ "value": -0.671,
"compare": ">="
},
"globalroute__timing__setup__tns": {
- "value": -299.0,
+ "value": -351.0,
"compare": ">="
},
"globalroute__timing__hold__ws": {
@@ -90,11 +90,11 @@
"compare": "<="
},
"finish__timing__setup__ws": {
- "value": -0.672,
+ "value": -0.627,
"compare": ">="
},
"finish__timing__setup__tns": {
- "value": -359.0,
+ "value": -352.0,
"compare": ">="
},
"finish__timing__hold__ws": {
diff --git a/flow/designs/nangate45/swerv_wrapper/rules-base.json b/flow/designs/nangate45/swerv_wrapper/rules-base.json
index ebfaf73f5d..6f43c803d3 100644
--- a/flow/designs/nangate45/swerv_wrapper/rules-base.json
+++ b/flow/designs/nangate45/swerv_wrapper/rules-base.json
@@ -38,11 +38,11 @@
"compare": "<="
},
"cts__timing__setup__ws": {
- "value": -0.335,
+ "value": -0.331,
"compare": ">="
},
"cts__timing__setup__tns": {
- "value": -237.0,
+ "value": -238.0,
"compare": ">="
},
"cts__timing__hold__ws": {
@@ -62,7 +62,7 @@
"compare": ">="
},
"globalroute__timing__setup__tns": {
- "value": -230.0,
+ "value": -229.0,
"compare": ">="
},
"globalroute__timing__hold__ws": {
@@ -94,7 +94,7 @@
"compare": ">="
},
"finish__timing__setup__tns": {
- "value": -211.0,
+ "value": -208.0,
"compare": ">="
},
"finish__timing__hold__ws": {
diff --git a/flow/designs/nangate45/tinyRocket/rules-base.json b/flow/designs/nangate45/tinyRocket/rules-base.json
index e503a1e6a1..4a392b3abd 100644
--- a/flow/designs/nangate45/tinyRocket/rules-base.json
+++ b/flow/designs/nangate45/tinyRocket/rules-base.json
@@ -42,7 +42,7 @@
"compare": ">="
},
"cts__timing__setup__tns": {
- "value": -37.6,
+ "value": -40.8,
"compare": ">="
},
"cts__timing__hold__ws": {
@@ -62,7 +62,7 @@
"compare": ">="
},
"globalroute__timing__setup__tns": {
- "value": -56.6,
+ "value": -59.2,
"compare": ">="
},
"globalroute__timing__hold__ws": {
@@ -94,7 +94,7 @@
"compare": ">="
},
"finish__timing__setup__tns": {
- "value": -48.2,
+ "value": -52.4,
"compare": ">="
},
"finish__timing__hold__ws": {
diff --git a/flow/designs/sky130hd/aes/rules-base.json b/flow/designs/sky130hd/aes/rules-base.json
index a45b0a5aa4..a4f01086ae 100644
--- a/flow/designs/sky130hd/aes/rules-base.json
+++ b/flow/designs/sky130hd/aes/rules-base.json
@@ -58,11 +58,11 @@
"compare": "<="
},
"globalroute__timing__setup__ws": {
- "value": -0.554,
+ "value": -0.46,
"compare": ">="
},
"globalroute__timing__setup__tns": {
- "value": -4.6,
+ "value": -8.39,
"compare": ">="
},
"globalroute__timing__hold__ws": {
@@ -90,11 +90,11 @@
"compare": "<="
},
"finish__timing__setup__ws": {
- "value": -0.425,
+ "value": -0.406,
"compare": ">="
},
"finish__timing__setup__tns": {
- "value": -2.38,
+ "value": -3.38,
"compare": ">="
},
"finish__timing__hold__ws": {
diff --git a/flow/designs/sky130hd/gcd/rules-base.json b/flow/designs/sky130hd/gcd/rules-base.json
index f0f1e1bb1c..375376876d 100644
--- a/flow/designs/sky130hd/gcd/rules-base.json
+++ b/flow/designs/sky130hd/gcd/rules-base.json
@@ -38,11 +38,11 @@
"compare": "<="
},
"cts__timing__setup__ws": {
- "value": -1.36,
+ "value": -1.45,
"compare": ">="
},
"cts__timing__setup__tns": {
- "value": -58.6,
+ "value": -60.9,
"compare": ">="
},
"cts__timing__hold__ws": {
@@ -58,11 +58,11 @@
"compare": "<="
},
"globalroute__timing__setup__ws": {
- "value": -1.58,
+ "value": -1.66,
"compare": ">="
},
"globalroute__timing__setup__tns": {
- "value": -67.4,
+ "value": -71.6,
"compare": ">="
},
"globalroute__timing__hold__ws": {
@@ -74,7 +74,7 @@
"compare": ">="
},
"detailedroute__route__wirelength": {
- "value": 11052,
+ "value": 13026,
"compare": "<="
},
"detailedroute__route__drc_errors": {
@@ -90,11 +90,11 @@
"compare": "<="
},
"finish__timing__setup__ws": {
- "value": -1.47,
+ "value": -1.53,
"compare": ">="
},
"finish__timing__setup__tns": {
- "value": -62.0,
+ "value": -67.0,
"compare": ">="
},
"finish__timing__hold__ws": {
diff --git a/flow/designs/sky130hd/jpeg/rules-base.json b/flow/designs/sky130hd/jpeg/rules-base.json
index 98a375a0e7..4b483161be 100644
--- a/flow/designs/sky130hd/jpeg/rules-base.json
+++ b/flow/designs/sky130hd/jpeg/rules-base.json
@@ -38,11 +38,11 @@
"compare": "<="
},
"cts__timing__setup__ws": {
- "value": -0.716,
+ "value": -0.692,
"compare": ">="
},
"cts__timing__setup__tns": {
- "value": -78.6,
+ "value": -81.3,
"compare": ">="
},
"cts__timing__hold__ws": {
@@ -54,15 +54,15 @@
"compare": ">="
},
"globalroute__antenna_diodes_count": {
- "value": 100,
+ "value": 102,
"compare": "<="
},
"globalroute__timing__setup__ws": {
- "value": -0.877,
+ "value": -0.853,
"compare": ">="
},
"globalroute__timing__setup__tns": {
- "value": -139.0,
+ "value": -129.0,
"compare": ">="
},
"globalroute__timing__hold__ws": {
@@ -94,7 +94,7 @@
"compare": ">="
},
"finish__timing__setup__tns": {
- "value": -53.5,
+ "value": -52.9,
"compare": ">="
},
"finish__timing__hold__ws": {
diff --git a/flow/designs/sky130hd/microwatt/rules-base.json b/flow/designs/sky130hd/microwatt/rules-base.json
index 1b3e7358b4..11e90a2498 100644
--- a/flow/designs/sky130hd/microwatt/rules-base.json
+++ b/flow/designs/sky130hd/microwatt/rules-base.json
@@ -42,7 +42,7 @@
"compare": ">="
},
"cts__timing__setup__tns": {
- "value": -299.0,
+ "value": -290.0,
"compare": ">="
},
"cts__timing__hold__ws": {
@@ -54,15 +54,15 @@
"compare": ">="
},
"globalroute__antenna_diodes_count": {
- "value": 1497,
+ "value": 1595,
"compare": "<="
},
"globalroute__timing__setup__ws": {
- "value": -2.43,
+ "value": -2.4,
"compare": ">="
},
"globalroute__timing__setup__tns": {
- "value": -277.0,
+ "value": -261.0,
"compare": ">="
},
"globalroute__timing__hold__ws": {
@@ -86,7 +86,7 @@
"compare": "<="
},
"detailedroute__antenna_diodes_count": {
- "value": 1425,
+ "value": 1220,
"compare": "<="
},
"finish__timing__setup__ws": {
@@ -94,7 +94,7 @@
"compare": ">="
},
"finish__timing__setup__tns": {
- "value": -326.0,
+ "value": -270.0,
"compare": ">="
},
"finish__timing__hold__ws": {
@@ -102,7 +102,7 @@
"compare": ">="
},
"finish__timing__hold__tns": {
- "value": -9.05,
+ "value": -4.46,
"compare": ">="
},
"finish__design__instance__area": {
diff --git a/flow/designs/sky130hd/riscv32i/rules-base.json b/flow/designs/sky130hd/riscv32i/rules-base.json
index 66aac29df7..579b485000 100644
--- a/flow/designs/sky130hd/riscv32i/rules-base.json
+++ b/flow/designs/sky130hd/riscv32i/rules-base.json
@@ -18,11 +18,11 @@
"compare": "=="
},
"placeopt__design__instance__area": {
- "value": 81836,
+ "value": 81677,
"compare": "<="
},
"placeopt__design__instance__count__stdcell": {
- "value": 8404,
+ "value": 8384,
"compare": "<="
},
"detailedplace__design__violations": {
@@ -30,19 +30,19 @@
"compare": "=="
},
"cts__design__instance__count__setup_buffer": {
- "value": 731,
+ "value": 729,
"compare": "<="
},
"cts__design__instance__count__hold_buffer": {
- "value": 731,
+ "value": 729,
"compare": "<="
},
"cts__timing__setup__ws": {
- "value": -1.41,
+ "value": -1.31,
"compare": ">="
},
"cts__timing__setup__tns": {
- "value": -128.0,
+ "value": -88.1,
"compare": ">="
},
"cts__timing__hold__ws": {
@@ -58,11 +58,11 @@
"compare": "<="
},
"globalroute__timing__setup__ws": {
- "value": -1.55,
+ "value": -1.53,
"compare": ">="
},
"globalroute__timing__setup__tns": {
- "value": -224.0,
+ "value": -255.0,
"compare": ">="
},
"globalroute__timing__hold__ws": {
@@ -74,7 +74,7 @@
"compare": ">="
},
"detailedroute__route__wirelength": {
- "value": 312952,
+ "value": 309885,
"compare": "<="
},
"detailedroute__route__drc_errors": {
@@ -94,7 +94,7 @@
"compare": ">="
},
"finish__timing__setup__tns": {
- "value": -114.0,
+ "value": -136.0,
"compare": ">="
},
"finish__timing__hold__ws": {
diff --git a/flow/designs/sky130hs/aes/rules-base.json b/flow/designs/sky130hs/aes/rules-base.json
index 6465fd8fa6..a7783938c8 100644
--- a/flow/designs/sky130hs/aes/rules-base.json
+++ b/flow/designs/sky130hs/aes/rules-base.json
@@ -58,11 +58,11 @@
"compare": "<="
},
"globalroute__timing__setup__ws": {
- "value": -0.206,
+ "value": -0.351,
"compare": ">="
},
"globalroute__timing__setup__tns": {
- "value": -1.64,
+ "value": -3.45,
"compare": ">="
},
"globalroute__timing__hold__ws": {
@@ -90,7 +90,7 @@
"compare": "<="
},
"finish__timing__setup__ws": {
- "value": -0.145,
+ "value": -0.313,
"compare": ">="
},
"finish__timing__setup__tns": {
diff --git a/flow/designs/sky130hs/jpeg/rules-base.json b/flow/designs/sky130hs/jpeg/rules-base.json
index 6be2fc85c1..d439a2180a 100644
--- a/flow/designs/sky130hs/jpeg/rules-base.json
+++ b/flow/designs/sky130hs/jpeg/rules-base.json
@@ -58,7 +58,7 @@
"compare": "<="
},
"globalroute__timing__setup__ws": {
- "value": -0.268,
+ "value": -0.267,
"compare": ">="
},
"globalroute__timing__setup__tns": {
@@ -86,7 +86,7 @@
"compare": "<="
},
"detailedroute__antenna_diodes_count": {
- "value": 100,
+ "value": 108,
"compare": "<="
},
"finish__timing__setup__ws": {
diff --git a/flow/scripts/cts.tcl b/flow/scripts/cts.tcl
index 1378c9e7b9..4f602a22f5 100644
--- a/flow/scripts/cts.tcl
+++ b/flow/scripts/cts.tcl
@@ -46,9 +46,7 @@ set_placement_padding -global \
-left $::env(CELL_PAD_IN_SITES_DETAIL_PLACEMENT) \
-right $::env(CELL_PAD_IN_SITES_DETAIL_PLACEMENT)
-set dpl_args {}
-append_env_var dpl_args USE_NEGOTIATION -use_negotiation 0
-set result [catch { log_cmd detailed_placement {*}$dpl_args } msg]
+set result [catch { log_cmd detailed_placement } msg]
if { $result != 0 } {
save_progress 4_1_error
error "Detailed placement failed in CTS: $msg"
@@ -73,7 +71,7 @@ if { !$::env(SKIP_CTS_REPAIR_TIMING) } {
run_lec_test 4_rsz 4_before_rsz_lec.v 4_after_rsz_lec.v
}
- set result [catch { log_cmd detailed_placement {*}$dpl_args } msg]
+ set result [catch { log_cmd detailed_placement } msg]
if { $result != 0 } {
save_progress 4_1_error
error "Detailed placement failed in CTS: $msg"
diff --git a/flow/scripts/detail_place.tcl b/flow/scripts/detail_place.tcl
index 0e7c3b9794..a8570ddb8b 100644
--- a/flow/scripts/detail_place.tcl
+++ b/flow/scripts/detail_place.tcl
@@ -16,7 +16,6 @@ proc do_dpl { } {
-left $::env(CELL_PAD_IN_SITES_DETAIL_PLACEMENT) \
-right $::env(CELL_PAD_IN_SITES_DETAIL_PLACEMENT)
set dpl_args [env_var_or_empty DETAIL_PLACEMENT_ARGS]
- append_env_var dpl_args USE_NEGOTIATION -use_negotiation 0
log_cmd detailed_placement {*}$dpl_args
if { $::env(ENABLE_DPO) } {
diff --git a/flow/scripts/global_route.tcl b/flow/scripts/global_route.tcl
index 30ccf82bed..2fde876679 100644
--- a/flow/scripts/global_route.tcl
+++ b/flow/scripts/global_route.tcl
@@ -69,10 +69,8 @@ proc global_route_helper { } {
# Running DPL to fix overlapped instances
# Run to get modified net by DPL
- set dpl_args {}
- append_env_var dpl_args USE_NEGOTIATION -use_negotiation 0
log_cmd global_route -start_incremental
- log_cmd detailed_placement {*}$dpl_args
+ log_cmd detailed_placement
# Route only the modified net by DPL
log_cmd global_route -end_incremental {*}$res_aware \
-congestion_report_file $::env(REPORTS_DIR)/congestion_post_repair_design.rpt
@@ -88,7 +86,7 @@ proc global_route_helper { } {
}
log_cmd global_route -start_incremental
- log_cmd detailed_placement {*}$dpl_args
+ log_cmd detailed_placement
log_cmd check_placement -verbose
# Route only the modified net by DPL
log_cmd global_route -end_incremental {*}$res_aware \
diff --git a/flow/scripts/variables.json b/flow/scripts/variables.json
index 3a2db59d7f..952ae7ee54 100644
--- a/flow/scripts/variables.json
+++ b/flow/scripts/variables.json
@@ -1460,10 +1460,6 @@
"default": 0,
"description": "Whether to perform metal density filling.\n"
},
- "USE_NEGOTIATION": {
- "default": 0,
- "description": "Enable using negotiation legalizer for detailed placement.\n"
- },
"VERILOG_DEFINES": {
"description": "Preprocessor defines passed to the language frontend. Example: `-D HPDCACHE_ASSERT_OFF`\n",
"stages": [
diff --git a/flow/scripts/variables.yaml b/flow/scripts/variables.yaml
index 8bca003947..2757cf7a7f 100644
--- a/flow/scripts/variables.yaml
+++ b/flow/scripts/variables.yaml
@@ -639,10 +639,6 @@ DPO_MAX_DISPLACEMENT:
description: |
Specifies how far an instance can be moved when optimizing.
default: 5 1
-USE_NEGOTIATION:
- description: |
- Enable using negotiation legalizer for detailed placement.
- default: 0
GPL_RANDOM_SEED:
description: |
Specifies a random seed for global placement. Useful for perturbation studies.
diff --git a/tools/OpenROAD b/tools/OpenROAD
index 6b9d7fb806..bde79242a0 160000
--- a/tools/OpenROAD
+++ b/tools/OpenROAD
@@ -1 +1 @@
-Subproject commit 6b9d7fb806c0e769b548989d4049d8d0355ed487
+Subproject commit bde79242a037a995e908c52add57c1a4fee5b1c8