File tree 19 files changed +43
-48
lines changed
19 files changed +43
-48
lines changed Original file line number Diff line number Diff line change @@ -19,5 +19,5 @@ export SKIP_REPORT_METRICS = 1
19
19
20
20
# Faster build, remove these in your own config.mk
21
21
export SKIP_CTS_REPAIR_TIMING = 1
22
- export REMOVE_ABC_BUFFERS = 1
22
+ export FLOORPLAN_BUFFERING = 0
23
23
export SKIP_INCREMENTAL_REPAIR = 1
Original file line number Diff line number Diff line change 36
36
export DESIGN_TYPE = CELL_NODEN
37
37
endif
38
38
39
- export REMOVE_ABC_BUFFERS = 1
39
+ export FLOORPLAN_BUFFERING = 0
Original file line number Diff line number Diff line change 30
30
export DESIGN_TYPE = CELL_NODEN
31
31
endif
32
32
33
- export REMOVE_ABC_BUFFERS = 1
33
+ export FLOORPLAN_BUFFERING = 0
Original file line number Diff line number Diff line change 42
42
export DESIGN_TYPE = CELL_NODEN
43
43
endif
44
44
45
- export REMOVE_ABC_BUFFERS = 1
45
+ export FLOORPLAN_BUFFERING = 0
Original file line number Diff line number Diff line change @@ -13,4 +13,4 @@ export TNS_END_PERCENT = 100
13
13
14
14
export USE_FILL = 1
15
15
16
- export REMOVE_ABC_BUFFERS = 1
16
+ export FLOORPLAN_BUFFERING = 0
Original file line number Diff line number Diff line change @@ -10,5 +10,5 @@ export CORE_UTILIZATION = 55
10
10
export PLACE_DENSITY_LB_ADDON = 0.20
11
11
export TNS_END_PERCENT = 100
12
12
13
- export REMOVE_ABC_BUFFERS = 1
13
+ export FLOORPLAN_BUFFERING = 0
14
14
Original file line number Diff line number Diff line change @@ -16,7 +16,7 @@ export TNS_END_PERCENT = 100
16
16
17
17
export FASTROUTE_TCL = $(DESIGN_HOME ) /$(PLATFORM ) /$(DESIGN_NICKNAME ) /fastroute.tcl
18
18
19
- export REMOVE_ABC_BUFFERS = 1
19
+ export FLOORPLAN_BUFFERING = 0
20
20
21
21
export CTS_CLUSTER_SIZE = 20
22
22
export CTS_CLUSTER_DIAMETER = 50
Original file line number Diff line number Diff line change @@ -7,7 +7,7 @@ orfs_flow(
7
7
"CORE_UTILIZATION" : "45" ,
8
8
"PLACE_DENSITY_LB_ADDON" : "0.2" ,
9
9
"TNS_END_PERCENT" : "100" ,
10
- "REMOVE_ABC_BUFFERS " : "1 " ,
10
+ "FLOORPLAN_BUFFERING " : "0 " ,
11
11
},
12
12
pdk = "@docker_orfs//:sky130hd" ,
13
13
sources = {
Original file line number Diff line number Diff line change @@ -51,7 +51,7 @@ export TNS_END_PERCENT = 100
51
51
52
52
export FASTROUTE_TCL = $(DESIGN_HOME ) /$(PLATFORM ) /$(DESIGN_NICKNAME ) /fastroute.tcl
53
53
54
- export REMOVE_ABC_BUFFERS = 1
54
+ export FLOORPLAN_BUFFERING = 0
55
55
56
56
export CTS_CLUSTER_SIZE = 20
57
57
export CTS_CLUSTER_DIAMETER = 50
Original file line number Diff line number Diff line change @@ -12,4 +12,4 @@ export TNS_END_PERCENT = 100
12
12
13
13
export FASTROUTE_TCL = $(DESIGN_HOME ) /$(PLATFORM ) /$(DESIGN_NICKNAME ) /fastroute.tcl
14
14
15
- export REMOVE_ABC_BUFFERS = 1
15
+ export FLOORPLAN_BUFFERING = 0
Original file line number Diff line number Diff line change @@ -8,4 +8,4 @@ export SDC_FILE = $(DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NICKNAME)/constraint.
8
8
export CORE_UTILIZATION = 45
9
9
export PLACE_DENSITY_LB_ADDON = 0.2
10
10
11
- export REMOVE_ABC_BUFFERS = 1
11
+ export FLOORPLAN_BUFFERING = 0
Original file line number Diff line number Diff line change @@ -12,7 +12,7 @@ export CORE_MARGIN = 2
12
12
export PLACE_DENSITY_LB_ADDON = 0.25
13
13
export TNS_END_PERCENT = 100
14
14
15
- export REMOVE_ABC_BUFFERS = 1
15
+ export FLOORPLAN_BUFFERING = 0
16
16
17
17
export CTS_CLUSTER_SIZE = 10
18
18
export CTS_CLUSTER_DIAMETER = 50
Original file line number Diff line number Diff line change @@ -45,4 +45,4 @@ export CORE_UTILIZATION = 45
45
45
export PLACE_DENSITY_LB_ADDON = 0.2
46
46
export TNS_END_PERCENT = 100
47
47
48
- export REMOVE_ABC_BUFFERS = 1
48
+ export FLOORPLAN_BUFFERING = 0
Original file line number Diff line number Diff line change @@ -13,4 +13,4 @@ export TNS_END_PERCENT = 100
13
13
14
14
export FASTROUTE_TCL = $(DESIGN_HOME ) /$(PLATFORM ) /$(DESIGN_NICKNAME ) /fastroute.tcl
15
15
16
- export REMOVE_ABC_BUFFERS = 1
16
+ export FLOORPLAN_BUFFERING = 0
Original file line number Diff line number Diff line change 28
28
&synch2
29
29
&nf
30
30
&put
31
- buffer -c
32
- topo
33
- stime -c
34
- upsize -c
35
- dnsize -c
Original file line number Diff line number Diff line change @@ -40,6 +40,26 @@ check_setup
40
40
set num_instances [llength [get_cells -hier *]]
41
41
puts " number instances in verilog is $num_instances "
42
42
43
+ # Strip all incoming buffers
44
+ remove_buffers
45
+
46
+ set_dont_use $::env(DONT_USE_CELLS)
47
+
48
+ # Do not buffer chip-level designs
49
+ # by default, IO ports will be buffered
50
+ # to not buffer IO ports, set environment variable
51
+ # DONT_BUFFER_PORT = 1
52
+ if { ![env_var_exists_and_non_empty FOOTPRINT] } {
53
+ if { ![env_var_equals DONT_BUFFER_PORTS 1] } {
54
+ puts " Perform port buffering..."
55
+ buffer_ports
56
+ }
57
+ }
58
+
59
+ if {[env_var_equals FLOORPLAN_BUFFERING 1]} {
60
+ repair_design_helper -pre_placement
61
+ }
62
+
43
63
set additional_args " "
44
64
append_env_var additional_args ADDITIONAL_SITES -additional_sites 1
45
65
@@ -103,13 +123,6 @@ if {[env_var_exists_and_non_empty FOOTPRINT_TCL]} {
103
123
log_cmd source $::env(FOOTPRINT_TCL)
104
124
}
105
125
106
- if { [env_var_equals REMOVE_ABC_BUFFERS 1] } {
107
- # remove buffers inserted by yosys/abc
108
- remove_buffers
109
- } else {
110
- repair_timing_helper 0
111
- }
112
-
113
126
# #### Restructure for timing #########
114
127
if { [env_var_equals RESYNTH_TIMING_RECOVER 1] } {
115
128
repair_design_helper
Original file line number Diff line number Diff line change @@ -10,17 +10,6 @@ set pin_count_before [sta::network_leaf_pin_count]
10
10
11
11
set_dont_use $::env(DONT_USE_CELLS)
12
12
13
- # Do not buffer chip-level designs
14
- # by default, IO ports will be buffered
15
- # to not buffer IO ports, set environment variable
16
- # DONT_BUFFER_PORT = 1
17
- if { ![env_var_exists_and_non_empty FOOTPRINT] } {
18
- if { ![env_var_equals DONT_BUFFER_PORTS 1] } {
19
- puts " Perform port buffering..."
20
- buffer_ports
21
- }
22
- }
23
-
24
13
repair_design_helper
25
14
26
15
if { [env_var_exists_and_non_empty TIE_SEPARATION] } {
Original file line number Diff line number Diff line change @@ -40,14 +40,14 @@ proc repair_timing_helper { {hold_margin 1} } {
40
40
log_cmd repair_timing {*}$additional_args
41
41
}
42
42
43
- proc repair_design_helper {} {
43
+ proc repair_design_helper { {extra_args " " } } {
44
44
puts " Perform buffer insertion and gate resizing..."
45
45
46
- set additional_args " -verbose"
47
- append_env_var additional_args CAP_MARGIN -cap_margin 1
48
- append_env_var additional_args SLEW_MARGIN -slew_margin 1
49
- append_env_var additional_args MATCH_CELL_FOOTPRINT -match_cell_footprint 0
50
- log_cmd repair_design {*}$additional_args
46
+ set args " -verbose"
47
+ append_env_var args CAP_MARGIN -cap_margin 1
48
+ append_env_var args SLEW_MARGIN -slew_margin 1
49
+ append_env_var args MATCH_CELL_FOOTPRINT -match_cell_footprint 0
50
+ log_cmd repair_design {*}$args {*} $extra_args
51
51
}
52
52
53
53
proc recover_power_helper {} {
Original file line number Diff line number Diff line change @@ -254,14 +254,12 @@ FLOORPLAN_DEF:
254
254
stages :
255
255
- floorplan
256
256
- place
257
- REMOVE_ABC_BUFFERS :
257
+ FLOORPLAN_BUFFERING :
258
258
description : >
259
- Remove abc buffers from the netlist. If timing repair in floorplanning is
260
- taking too long, use a SETUP/HOLD_SLACK_MARGIN to terminate timing repair early
261
- instead of using REMOVE_ABC_BUFFERS or set SKIP_LAST_GASP=1.
259
+ Perform a pre-placement buffering round at the floorplan stage.
262
260
stages :
263
261
- floorplan
264
- deprecated : 1
262
+ default : 1
265
263
PLACE_SITE :
266
264
description : |
267
265
Placement site for core cells defined in the technology LEF file.
You can’t perform that action at this time.
0 commit comments