Skip to content

Commit 3d438a1

Browse files
committed
Merge remote-tracking branch 'private/master' into secure-gpl-filler-gcell-removal
2 parents f8ea4b7 + e3deec5 commit 3d438a1

File tree

9 files changed

+37
-35
lines changed

9 files changed

+37
-35
lines changed

docs/user/FlowVariables.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,7 @@ configuration file.
223223
| <a name="SYNTH_GUT"></a>SYNTH_GUT| Load design and remove all internal logic before doing synthesis. This is useful when creating a mock .lef abstract that has a smaller area than the amount of logic would allow. bazel-orfs uses this to mock SRAMs, for instance.| | |
224224
| <a name="SYNTH_HDL_FRONTEND"></a>SYNTH_HDL_FRONTEND| Select an alternative language frontend to ingest the design. Available option is "slang". If the variable is empty, design is read with the Yosys read_verilog command.| | |
225225
| <a name="SYNTH_HIERARCHICAL"></a>SYNTH_HIERARCHICAL| Enable to Synthesis hierarchically, otherwise considered flat synthesis.| 0| |
226+
| <a name="SYNTH_HIER_SEPARATOR"></a>SYNTH_HIER_SEPARATOR| Separator used for the synthesis flatten stage.| .| |
226227
| <a name="SYNTH_KEEP_MODULES"></a>SYNTH_KEEP_MODULES| Mark modules to keep from getting removed in flattening.| | |
227228
| <a name="SYNTH_MEMORY_MAX_BITS"></a>SYNTH_MEMORY_MAX_BITS| Maximum number of bits for memory synthesis.| 4096| |
228229
| <a name="SYNTH_MINIMUM_KEEP_SIZE"></a>SYNTH_MINIMUM_KEEP_SIZE| For hierarchical synthesis, we keep modules of larger area than given by this variable and flatten smaller modules. The area unit used is the size of a basic nand2 gate from the platform's standard cell library. The default value is platform specific.| 0| |
@@ -464,6 +465,7 @@ configuration file.
464465
- [SET_RC_TCL](#SET_RC_TCL)
465466
- [SLEW_MARGIN](#SLEW_MARGIN)
466467
- [SYNTH_ARGS](#SYNTH_ARGS)
468+
- [SYNTH_HIER_SEPARATOR](#SYNTH_HIER_SEPARATOR)
467469
- [TAP_CELL_NAME](#TAP_CELL_NAME)
468470
- [TECH_LEF](#TECH_LEF)
469471
- [USE_FILL](#USE_FILL)

etc/DependencyInstaller.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ _installUbuntuPackages() {
170170
fi
171171
else
172172
if [[ $1 == 20.04 ]]; then
173-
klayoutChecksum=15a26f74cf396d8a10b7985ed70ab135
173+
klayoutChecksum=f78d41edf5bcfa5f1990bde1a9307e9e
174174
else
175175
klayoutChecksum=54748a49e1ab53e14cf5bf95feb2f25a
176176
fi

flow/Makefile

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -184,17 +184,9 @@ $(foreach block,$(BLOCKS),$(eval $(WORK_HOME)/results/$(PLATFORM)/$(DESIGN_NICKN
184184
.PHONY: versions.txt
185185
versions.txt:
186186
mkdir -p $(OBJECTS_DIR)
187-
@if [ -z "$(YOSYS_EXE)" ]; then \
188-
echo >> $(OBJECTS_DIR)/$@ "yosys not installed"; \
189-
else \
190-
$(YOSYS_EXE) -V > $(OBJECTS_DIR)/$@; \
191-
fi
192-
@echo openroad `$(OPENROAD_EXE) -version` >> $(OBJECTS_DIR)/$@
193-
@if [ -z "$(KLAYOUT_CMD)" ]; then \
194-
echo >> $(OBJECTS_DIR)/$@ "klayout not installed"; \
195-
else \
196-
$(KLAYOUT_CMD) -zz -v >> $(OBJECTS_DIR)/$@; \
197-
fi
187+
@echo "yosys $(if $(YOSYS_EXE),$(shell $(YOSYS_EXE) -V 2>&1),not available)" > $(OBJECTS_DIR)/$@
188+
@echo "openroad $(if $(OPENROAD_EXE),$(shell $(OPENROAD_EXE) -version 2>&1),not available)" >> $(OBJECTS_DIR)/$@
189+
@echo "klayout $(if $(KLAYOUT_CMD),$(shell $(KLAYOUT_CMD) -zz -v 2>&1),not available)" >> $(OBJECTS_DIR)/$@
198190

199191
# Pre-process libraries
200192
# ==============================================================================

flow/designs/asap7/cva6/config.mk

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,10 +88,10 @@ export ADDITIONAL_LIBS = $(PLATFORM_DIR)/lib/NLDM/fakeram7_64x256.lib \
8888

8989
export SDC_FILE = $(DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/constraint.sdc
9090

91-
export CORE_UTILIZATION = 50
91+
export CORE_UTILIZATION = 70
9292
export CORE_MARGIN = 2
93-
export MACRO_HALO = 5
94-
export PLACE_DENSITY = 0.64
93+
export MACRO_PLACE_HALO = 3 3
94+
export PLACE_DENSITY = 0.73
9595

9696
# a smoketest for this option, there are a
9797
# few last gasp iterations

flow/designs/asap7/cva6/constraint.sdc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
set clk_name main_clk
44
set clk_port clk_i
55
set clk_ports_list [list $clk_port]
6-
set clk_period 1300
6+
set clk_period 1200
77
set input_delay 0.46
88
set output_delay 0.11
99
create_clock [get_ports $clk_port] -name $clk_name -period $clk_period

flow/designs/asap7/cva6/rules-base.json

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,31 +8,31 @@
88
"compare": "=="
99
},
1010
"placeopt__design__instance__area": {
11-
"value": 20743,
11+
"value": 20690,
1212
"compare": "<="
1313
},
1414
"placeopt__design__instance__count__stdcell": {
15-
"value": 137118,
15+
"value": 136421,
1616
"compare": "<="
1717
},
1818
"detailedplace__design__violations": {
1919
"value": 0,
2020
"compare": "=="
2121
},
2222
"cts__design__instance__count__setup_buffer": {
23-
"value": 11923,
23+
"value": 11863,
2424
"compare": "<="
2525
},
2626
"cts__design__instance__count__hold_buffer": {
27-
"value": 11923,
27+
"value": 11863,
2828
"compare": "<="
2929
},
3030
"globalroute__antenna_diodes_count": {
3131
"value": 0,
3232
"compare": "<="
3333
},
3434
"detailedroute__route__wirelength": {
35-
"value": 1124948,
35+
"value": 1074578,
3636
"compare": "<="
3737
},
3838
"detailedroute__route__drc_errors": {
@@ -48,23 +48,23 @@
4848
"compare": "<="
4949
},
5050
"finish__timing__setup__ws": {
51-
"value": -68.36,
51+
"value": -139.89,
5252
"compare": ">="
5353
},
5454
"finish__design__instance__area": {
55-
"value": 20933,
55+
"value": 20850,
5656
"compare": "<="
5757
},
5858
"finish__timing__drv__setup_violation_count": {
59-
"value": 5962,
59+
"value": 5931,
6060
"compare": "<="
6161
},
6262
"finish__timing__drv__hold_violation_count": {
6363
"value": 100,
6464
"compare": "<="
6565
},
6666
"finish__timing__wns_percent_delay": {
67-
"value": -10.27,
67+
"value": -10.0,
6868
"compare": ">="
6969
}
7070
}

flow/designs/gf12/bp_single/rules-base.json

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,35 +8,35 @@
88
"compare": "=="
99
},
1010
"placeopt__design__instance__area": {
11-
"value": 509289,
11+
"value": 491681,
1212
"compare": "<="
1313
},
1414
"placeopt__design__instance__count__stdcell": {
15-
"value": 546190,
15+
"value": 535708,
1616
"compare": "<="
1717
},
1818
"detailedplace__design__violations": {
1919
"value": 0,
2020
"compare": "=="
2121
},
2222
"cts__design__instance__count__setup_buffer": {
23-
"value": 47495,
23+
"value": 46583,
2424
"compare": "<="
2525
},
2626
"cts__design__instance__count__hold_buffer": {
27-
"value": 47495,
27+
"value": 46583,
2828
"compare": "<="
2929
},
3030
"globalroute__antenna_diodes_count": {
3131
"value": 0,
3232
"compare": "<="
3333
},
3434
"detailedroute__route__wirelength": {
35-
"value": 7863419,
35+
"value": 6200511,
3636
"compare": "<="
3737
},
3838
"detailedroute__route__drc_errors": {
39-
"value": 1,
39+
"value": 0,
4040
"compare": "<="
4141
},
4242
"detailedroute__antenna__violating__nets": {
@@ -48,19 +48,19 @@
4848
"compare": "<="
4949
},
5050
"finish__timing__setup__ws": {
51-
"value": -183.6,
51+
"value": -144.83,
5252
"compare": ">="
5353
},
5454
"finish__design__instance__area": {
55-
"value": 519153,
55+
"value": 500408,
5656
"compare": "<="
5757
},
5858
"finish__timing__drv__setup_violation_count": {
59-
"value": 23747,
59+
"value": 23292,
6060
"compare": "<="
6161
},
6262
"finish__timing__drv__hold_violation_count": {
63-
"value": 230,
63+
"value": 479,
6464
"compare": "<="
6565
},
6666
"finish__timing__wns_percent_delay": {

flow/scripts/synth.tcl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ if {[env_var_exists_and_non_empty SYNTH_KEEP_MODULES]} {
1717
}
1818
}
1919

20+
if {[env_var_exists_and_non_empty SYNTH_HIER_SEPARATOR]} {
21+
scratchpad -set flatten.separator $::env(SYNTH_HIER_SEPARATOR)
22+
}
23+
2024
set synth_full_args $::env(SYNTH_ARGS)
2125
if {[env_var_exists_and_non_empty SYNTH_OPERATIONS_ARGS]} {
2226
set synth_full_args [concat $synth_full_args $::env(SYNTH_OPERATIONS_ARGS)]

flow/scripts/variables.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -684,6 +684,10 @@ SYNTH_ARGS:
684684
description: |
685685
Optional synthesis variables for yosys.
686686
default: -flatten
687+
SYNTH_HIER_SEPARATOR:
688+
description: |
689+
Separator used for the synthesis flatten stage.
690+
default: .
687691
VERILOG_TOP_PARAMS:
688692
description: |
689693
Apply toplevel params (if exist).

0 commit comments

Comments
 (0)