Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions docs/user/FlowVariables.md
Original file line number Diff line number Diff line change
Expand Up @@ -319,6 +319,7 @@ configuration file.
| <a name="TNS_END_PERCENT"></a>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|
| <a name="UNSET_ABC9_BOX_CELLS"></a>UNSET_ABC9_BOX_CELLS| List of cells to unset the abc9_box attribute on| |
| <a name="USE_FILL"></a>USE_FILL| Whether to perform metal density filling.| 0|
| <a name="USE_NEGOTIATION"></a>USE_NEGOTIATION| Enable using negotiation legalizer for detailed placement.| 0|
| <a name="VERILOG_DEFINES"></a>VERILOG_DEFINES| Preprocessor defines passed to the language frontend. Example: `-D HPDCACHE_ASSERT_OFF`| |
| <a name="VERILOG_FILES"></a>VERILOG_FILES| The path to the design Verilog/SystemVerilog files providing a description of modules.| |
| <a name="VERILOG_INCLUDE_DIRS"></a>VERILOG_INCLUDE_DIRS| Specifies the include directories for the Verilog input files.| |
Expand Down Expand Up @@ -655,4 +656,5 @@ configuration file.
- [TAP_CELL_NAME](#TAP_CELL_NAME)
- [TECH_LEF](#TECH_LEF)
- [USE_FILL](#USE_FILL)
- [USE_NEGOTIATION](#USE_NEGOTIATION)

6 changes: 4 additions & 2 deletions flow/scripts/cts.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,9 @@ set_placement_padding -global \
-left $::env(CELL_PAD_IN_SITES_DETAIL_PLACEMENT) \
-right $::env(CELL_PAD_IN_SITES_DETAIL_PLACEMENT)

set result [catch { log_cmd detailed_placement } msg]
set dpl_args {}
append_env_var dpl_args USE_NEGOTIATION -use_negotiation 0
set result [catch { log_cmd detailed_placement {*}$dpl_args } msg]
if { $result != 0 } {
save_progress 4_1_error
error "Detailed placement failed in CTS: $msg"
Expand All @@ -70,7 +72,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 } msg]
set result [catch { log_cmd detailed_placement {*}$dpl_args } msg]
if { $result != 0 } {
save_progress 4_1_error
error "Detailed placement failed in CTS: $msg"
Expand Down
4 changes: 3 additions & 1 deletion flow/scripts/detail_place.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@ proc do_dpl { } {
set_placement_padding -global \
-left $::env(CELL_PAD_IN_SITES_DETAIL_PLACEMENT) \
-right $::env(CELL_PAD_IN_SITES_DETAIL_PLACEMENT)
log_cmd detailed_placement {*}[env_var_or_empty DETAIL_PLACEMENT_ARGS]
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) } {
if { [env_var_exists_and_non_empty DPO_MAX_DISPLACEMENT] } {
Expand Down
6 changes: 4 additions & 2 deletions flow/scripts/global_route.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,10 @@ 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
log_cmd detailed_placement {*}$dpl_args
# 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
Expand All @@ -80,7 +82,7 @@ proc global_route_helper { } {
# Running DPL to fix overlapped instances
# Run to get modified net by DPL
log_cmd global_route -start_incremental
log_cmd detailed_placement
log_cmd detailed_placement {*}$dpl_args
check_placement -verbose
# Route only the modified net by DPL
log_cmd global_route -end_incremental {*}$res_aware \
Expand Down
4 changes: 4 additions & 0 deletions flow/scripts/variables.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions flow/scripts/variables.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -600,6 +600,10 @@ 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_TIMING_DRIVEN:
description: |
Specifies whether the placer should use timing driven placement.
Expand Down