Skip to content

Commit d3c1791

Browse files
authored
Merge pull request #3657 from chrisgelinek-rl/add-var-BUFFER_PORTS_ARGS
Add var BUFFER_PORTS_ARGS
2 parents 5416120 + 6b54a55 commit d3c1791

File tree

4 files changed

+9
-2
lines changed

4 files changed

+9
-2
lines changed

docs/user/FlowVariables.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ configuration file.
102102
| <a name="ADDITIONAL_LIBS"></a>ADDITIONAL_LIBS| Hardened macro library files listed here. The library information is immutable and used throughout all stages. Not stored in the .odb file.| |
103103
| <a name="BALANCE_ROWS"></a>BALANCE_ROWS| Balance rows during placement.| 0|
104104
| <a name="BLOCKS"></a>BLOCKS| Blocks used as hard macros in a hierarchical flow. Do note that you have to specify block-specific inputs file in the directory mentioned by Makefile.| |
105+
| <a name="BUFFER_PORTS_ARGS"></a>BUFFER_PORTS_ARGS| Specify arguments to the buffer_ports call during placement. Only used if DONT_BUFFER_PORTS=0.| |
105106
| <a name="CAP_MARGIN"></a>CAP_MARGIN| Specifies a capacitance margin when fixing max capacitance violations. This option allows you to overfix.| |
106107
| <a name="CDL_FILES"></a>CDL_FILES| Insert additional Circuit Description Language (`.cdl`) netlist files.| |
107108
| <a name="CELL_PAD_IN_SITES_DETAIL_PLACEMENT"></a>CELL_PAD_IN_SITES_DETAIL_PLACEMENT| Cell padding on both sides in site widths to ease routability in detail placement.| 0|
@@ -369,6 +370,7 @@ configuration file.
369370
## place variables
370371

371372
- [BALANCE_ROWS](#BALANCE_ROWS)
373+
- [BUFFER_PORTS_ARGS](#BUFFER_PORTS_ARGS)
372374
- [CELL_PAD_IN_SITES_DETAIL_PLACEMENT](#CELL_PAD_IN_SITES_DETAIL_PLACEMENT)
373375
- [CELL_PAD_IN_SITES_GLOBAL_PLACEMENT](#CELL_PAD_IN_SITES_GLOBAL_PLACEMENT)
374376
- [CLUSTER_FLOPS](#CLUSTER_FLOPS)

flow/scripts/floorplan_to_place.tcl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,7 @@ if { $::env(GPL_TIMING_DRIVEN) } {
240240
if { ![env_var_exists_and_non_empty FOOTPRINT] } {
241241
if { ![env_var_equals DONT_BUFFER_PORTS 1] } {
242242
puts "Perform port buffering..."
243-
buffer_ports
243+
buffer_ports {*}[env_var_or_empty BUFFER_PORTS_ARGS]
244244
}
245245
}
246246

flow/scripts/global_place.tcl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ if { $::env(GPL_TIMING_DRIVEN) } {
1616
if { ![env_var_exists_and_non_empty FOOTPRINT] } {
1717
if { !$::env(DONT_BUFFER_PORTS) } {
1818
puts "Perform port buffering..."
19-
buffer_ports
19+
buffer_ports {*}[env_var_or_empty BUFFER_PORTS_ARGS]
2020
}
2121
}
2222

flow/scripts/variables.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -397,6 +397,11 @@ DONT_BUFFER_PORTS:
397397
stages:
398398
- place
399399
default: 0
400+
BUFFER_PORTS_ARGS:
401+
description: >
402+
Specify arguments to the buffer_ports call during placement. Only used if DONT_BUFFER_PORTS=0.
403+
stages:
404+
- place
400405
REMOVE_ABC_BUFFERS:
401406
description: >
402407
Remove abc buffers from the netlist. If timing repair in floorplanning is

0 commit comments

Comments
 (0)