Skip to content

Commit 2481bda

Browse files
committed
Merge branch 'master' into mb@update
Signed-off-by: louiic <[email protected]>
2 parents 19a6f21 + 8bd26c0 commit 2481bda

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+120404
-5245
lines changed

docs/user/FlowVariables.md

Lines changed: 39 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,12 @@ public platforms supported by the OpenROAD flow.
3535
Note:
3636
- = indicates default definition assigned by the tool
3737
- ?= indicates that the variable value may be reassigned with design `config.mk`
38-
- N/A indicates that the variable/files is not supported currently.
3938

4039

4140
| **Configuration Variable** | **sky130hd** | **sky130hs** | **nangate45** | **asap7** | **gf180** |
4241
|--------------------------------------|--------------|--------------|---------------|-----------|-----------|
4342
| Library Setup | | | | | |
4443
| `PROCESS` | = | = | = | = | = |
45-
| `CORNER` | N/A | N/A | N/A | ?= | ?= |
4644
| `TECH_LEF` | = | = | = | = | = |
4745
| `SC_LEF` | = | = | = | = | = |
4846
| `LIB_FILES` | = | = | = | = | = |
@@ -62,8 +60,6 @@ Note:
6260
| `PLACE_SITE` | = | = | = | = | = |
6361
| `MAKE_TRACKS` | = | = | = | = | = |
6462
| `TAPCELL_TCL` | = | = | = | = | = |
65-
| `MACRO_HALO_X` | NA | NA | NA | ?= | NA |
66-
| `MACRO_HALO_Y` | NA | NA | NA | ?= | NA |
6763
| `MACRO_PLACE_HALO` | ?= | ?= | ?= | ?= | ?= |
6864
| `MACRO_PLACE_CHANNEL` | ?= | ?= | ?= | ?= | ?= |
6965
| `PDN_TCL` | ?= | ?= | ?= | ?= | ?= |
@@ -82,8 +78,6 @@ Note:
8278
| `SKIP_PIN_SWAP` | ?= | ?= | ?= | ?= | ?= |
8379
| `TNS_END_PERCENT` | ?= | ?= | | ?= | ?= |
8480
| Routing | | | | | |
85-
| `FASTROUTE_TCL` | ?= | ?= | ?= | N/A | N/A |
86-
| `FILL_CONFIG` | = | = | N/A | N/A | N/A |
8781
| `KLAYOUT_TECH_FILE` | = | = | = | = | = |
8882
| `MAX_ROUTING_LAYER` | = | = | = | = | ?= |
8983
| `MIN_ROUTING_LAYER` | = | = | = | = | ?= |
@@ -120,6 +114,7 @@ Note:
120114
| `ABC_CLOCK_PERIOD_IN_PS` | Clock period to be used by STA during synthesis. Default value read from `constraint.sdc`. |
121115
| `ABC_DRIVER_CELL` | Default driver cell used during ABC synthesis. |
122116
| `ABC_LOAD_IN_FF` | During synthesis set_load value used. |
117+
| `MAX_UNGROUP_SIZE` | For hierarchical synthesis, we ungroup modules of size given by this variable. |
123118

124119

125120
### Floorplan
@@ -164,7 +159,7 @@ Note:
164159
| `SLEW_MARGIN` | Specifies a slew margin when fixing max slew violations. This option allow you to overfix. |
165160

166161

167-
### Clock Tree Synthesis(CTS)
162+
### Clock Tree Synthesis (CTS)
168163

169164

170165
| Variable | Description |
@@ -238,12 +233,18 @@ configuration file.
238233
| `ADDITIONAL_LIBS` | Hardened macro library files listed here. |
239234
| `ADDITIONAL_GDS` | Hardened macro GDS files listed here. |
240235
| `VERILOG_INCLUDE_DIRS` | Specifies the include directories for the Verilog input files. |
241-
| `CORNER` | PVT corner library selection. |
236+
| `CORNER` | PVT corner library selection. Only available for ASAP7 and GF180 PDK. |
242237
| `DESIGN_NICKNAME` | DESIGN_NICKNAME just changes the directory name that ORFS outputs to be DESIGN_NICKNAME instead of DESIGN_NAME in case DESIGN_NAME is unwieldy or conflicts with a difference design. |
243238
| `ABC_AREA` | Strategies for Yosys ABC synthesis: Area/Speed. Default ABC_SPEED. |
244239
| `PWR_NETS_VOLTAGES` | Used for IR Drop calculation. |
245240
| `GND_NETS_VOLTAGES` | Used for IR Drop calculation. |
246-
241+
| `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](../main/flow/Makefile) |
242+
| `CDL_FILES` | Insert additional Circuit Description Language (`.cdl`) netlist files. |
243+
| `DFF_LIB_FILES` | Technology mapping liberty files for flip-flops. |
244+
| `DONT_USE_LIBS` | Set liberty files as `dont_use`. |
245+
| `PRESERVE_CELLS` | Mark modules to keep from getting removed in flattening. |
246+
| `SYNTH_ARGS` | Optional synthesis variables for yosys. |
247+
| `VERILOG_TOP_PARAMS` | Apply toplevel params (if exist). |
247248

248249
#### Floorplan
249250

@@ -255,4 +256,33 @@ configuration file.
255256
| `CORE_MARGIN` | The margin between the core area and die area, in multiples of SITE heights. The margin is applied to each side. This variable is ignored if `CORE_UTILIZATION` is undefined. |
256257
| `DIE_AREA` | The die area specified as a list of lower-left and upper-right corners in microns (X1 Y1 X2 Y2). This variable is ignored if `CORE_UTILIZATION` and `CORE_ASPECT_RATIO` are defined. |
257258
| `CORE_AREA` | The core area specified as a list of lower-left and upper-right corners in microns (X1 Y1 X2 Y2). This variable is ignored if `CORE_UTILIZATION` and `CORE_ASPECT_RATIO` are defined. |
259+
| `RESYNTH_AREA_RECOVER` | Enable re-synthesis for area reclaim. |
260+
| `RESYNTH_TIMING_RECOVER` | Enable re-synthesis for timing optimization. |
261+
| `MACRO_HALO_X` | Set macro halo for x-direction. Only available for ASAP7 PDK. |
262+
| `MACRO_HALO_Y` | Set macro halo for y-direction. Only available for ASAP7 PDK. |
263+
264+
## Placement
265+
266+
267+
| Variable | Description |
268+
|--------------------------|----------------------------------------------------------------------------------------------------|
269+
| `MACRO_WRAPPERS` | The wrapper file that replace existing macros with their wrapped version. |
270+
271+
272+
## Clock Tree Synthesis
273+
274+
275+
| Variable | Description |
276+
|--------------------------|----------------------------------------------------------------------------------------------------|
277+
| `CTS_BUF_DISTANCE` | Distance (in microns) between buffers. |
278+
| `CTS_CLUSTER_DIAMETER` | Maximum diameter (in microns) of sink cluster. Default 20. |
279+
| `CTS_CLUSTER_SIZE` | Maximum number of sinks per cluster. Default 50.
280+
281+
282+
## Routing
283+
284+
285+
| Variable | Description |
286+
|--------------------------|----------------------------------------------------------------------------------------------------|
287+
| `FASTROUTE_TCL` | Specifies a Tcl scripts with commands to run before FastRoute. |
258288

flow/designs/asap7/ibex/config.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,4 @@ export ENABLE_DPO = 0
1515

1616
export DFF_LIB_FILE = $($(CORNER)_DFF_LIB_FILE)
1717
export TNS_END_PERCENT = 100
18+

flow/designs/asap7/mock-alu/config.mk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ export SDC_FILE = designs/asap7/mock-alu/constraints.sdc
99

1010
export PLATFORM = asap7
1111

12-
export PLACE_DENSITY = 0.60
13-
export CORE_UTILIZATION = 40
12+
export PLACE_DENSITY = 0.75
13+
export CORE_UTILIZATION = 50
1414
export CORE_ASPECT_RATIO = 1
1515
export CORE_MARGIN = 2
1616

flow/designs/asap7/mock-alu/constraints.sdc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
set clk_name clock
22
set clk_port_name clock
3-
set clk_period 500
3+
set clk_period 750
44
set clk_io_pct 0.2
55

66
set clk_port [get_ports $clk_port_name]

0 commit comments

Comments
 (0)