Skip to content

Commit f1b39c1

Browse files
committed
update OR
Signed-off-by: Augusto Berndt <[email protected]>
2 parents 6bf947c + bbf5e22 commit f1b39c1

File tree

93 files changed

+24622
-597
lines changed

Some content is hidden

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

93 files changed

+24622
-597
lines changed

flow/Makefile

Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -89,23 +89,29 @@ include $(DESIGN_CONFIG)
8989

9090
export DESIGN_DIR ?= $(dir $(DESIGN_CONFIG))
9191

92-
# default value "base" is duplicated from variables.yaml because we need it
92+
# default value "base" for FLOW_VARIANT and "." for WORK_HOME are duplicated
93+
# from variables.yaml and variables.mk because we need it
9394
# earlier in the flow for BLOCKS. BLOCKS is a feature specific to the
9495
# ORFS Makefile.
9596
export FLOW_VARIANT?=base
97+
export WORK_HOME?=.
9698
# BLOCKS is a ORFS make flow specific feature.
9799
ifneq ($(BLOCKS),)
98100
# Normally this comes from variables.yaml, but we need it here to set up these variables
99101
# which are part of the DESIGN_CONFIG. BLOCKS is a Makefile specific concept.
100-
$(foreach block,$(BLOCKS),$(eval BLOCK_LEFS += ./results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/${block}.lef))
101-
$(foreach block,$(BLOCKS),$(eval BLOCK_LIBS += ./results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/${block}.lib))
102-
$(foreach block,$(BLOCKS),$(eval BLOCK_GDS += ./results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/6_final.gds))
103-
$(foreach block,$(BLOCKS),$(eval BLOCK_CDL += ./results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/6_final.cdl))
104-
$(foreach block,$(BLOCKS),$(eval BLOCK_LOG_FOLDERS += ./logs/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/))
102+
$(foreach block,$(BLOCKS),$(eval BLOCK_LEFS += $(WORK_HOME)/results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/${block}.lef))
103+
$(foreach block,$(BLOCKS),$(eval BLOCK_TYP_LIBS += $(WORK_HOME)/results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/${block}_typ.lib))
104+
$(foreach block,$(BLOCKS),$(eval BLOCK_FAST_LIBS += $(WORK_HOME)/results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/${block}_fast.lib))
105+
$(foreach block,$(BLOCKS),$(eval BLOCK_SLOW_LIBS += $(WORK_HOME)/results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/${block}_slow.lib))
106+
$(foreach block,$(BLOCKS),$(eval BLOCK_GDS += $(WORK_HOME)/results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/6_final.gds))
107+
$(foreach block,$(BLOCKS),$(eval BLOCK_CDL += $(WORK_HOME)/results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/6_final.cdl))
108+
$(foreach block,$(BLOCKS),$(eval BLOCK_LOG_FOLDERS += $(WORK_HOME)/logs/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/))
105109
export ADDITIONAL_LEFS += $(BLOCK_LEFS)
106-
export ADDITIONAL_LIBS += $(BLOCK_LIBS)
110+
export ADDITIONAL_LIBS += $(BLOCK_TYP_LIBS)
111+
export ADDITIONAL_TYP_LIBS += $(BLOCK_TYP_LIBS)
112+
export ADDITIONAL_FAST_LIBS += $(BLOCK_FAST_LIBS)
113+
export ADDITIONAL_SLOW_LIBS += $(BLOCK_SLOW_LIBS)
107114
export ADDITIONAL_GDS += $(BLOCK_GDS)
108-
export GDS_FILES += $(BLOCK_GDS)
109115
ifneq ($(CDL_FILES),)
110116
export CDL_FILES += $(BLOCK_CDL)
111117
endif
@@ -140,7 +146,7 @@ SHELL := /usr/bin/env bash
140146
# location
141147
# - default is current install / clone directory
142148
ifeq ($(origin FLOW_HOME), undefined)
143-
FLOW_HOME := $(abspath $(dir $(firstword $(MAKEFILE_LIST))))
149+
FLOW_HOME := $(abspath $(dir $(firstword $(MAKEFILE_LIST))))
144150
endif
145151
export FLOW_HOME
146152

@@ -168,10 +174,10 @@ endef
168174

169175
# Targets to harden Blocks in case of hierarchical flow is triggered
170176
.PHONY: build_macros
171-
build_macros: $(BLOCK_LEFS) $(BLOCK_LIBS)
177+
build_macros: $(BLOCK_LEFS) $(BLOCK_TYP_LIBS)
172178

173-
$(foreach block,$(BLOCKS),$(eval $(call GENERATE_ABSTRACT_RULE,./results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/${block}.lef,./results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/${block}.lib,$(shell dirname $(DESIGN_CONFIG))/${block}/config.mk)))
174-
$(foreach block,$(BLOCKS),$(eval ./results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/6_final.gds: ./results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/${block}.lef))
179+
$(foreach block,$(BLOCKS),$(eval $(call GENERATE_ABSTRACT_RULE,$(WORK_HOME)/results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/${block}.lef,$(WORK_HOME)/results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/${block}_typ.lib,$(shell dirname $(DESIGN_CONFIG))/${block}/config.mk)))
180+
$(foreach block,$(BLOCKS),$(eval $(WORK_HOME)/results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/6_final.gds: $(WORK_HOME)/results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/${block}.lef))
175181

176182
# Utility to print tool version information
177183
#-------------------------------------------------------------------------------
@@ -198,10 +204,10 @@ versions.txt:
198204
.SECONDEXPANSION:
199205
$(DONT_USE_LIBS): $$(filter %$$(@F) %$$(@F).gz,$(LIB_FILES))
200206
@mkdir -p $(OBJECTS_DIR)/lib
201-
$(UTILS_DIR)/preprocessLib.py -i $^ -o $@
207+
$(PYTHON_EXE) $(UTILS_DIR)/preprocessLib.py -i $^ -o $@
202208

203209
$(OBJECTS_DIR)/lib/merged.lib: $(DONT_USE_LIBS)
204-
$(UTILS_DIR)/mergeLib.pl $(PLATFORM)_merged $(DONT_USE_LIBS) > $@
210+
$(PYTHON_EXE) $(UTILS_DIR)/merge_lib.py $(PLATFORM)_merged $(DONT_USE_LIBS) > $@
205211

206212
# Pre-process KLayout tech
207213
# ==============================================================================
@@ -265,9 +271,9 @@ do-synth-report:
265271
.PHONY: memory
266272
memory:
267273
if [ -f $(RESULTS_DIR)/mem_hierarchical.json ]; then \
268-
python3 $(SCRIPTS_DIR)/mem_dump.py $(RESULTS_DIR)/mem_hierarchical.json; \
274+
$(PYTHON_EXE) $(SCRIPTS_DIR)/mem_dump.py $(RESULTS_DIR)/mem_hierarchical.json; \
269275
fi
270-
python3 $(SCRIPTS_DIR)/mem_dump.py $(RESULTS_DIR)/mem.json
276+
$(PYTHON_EXE) $(SCRIPTS_DIR)/mem_dump.py $(RESULTS_DIR)/mem.json
271277

272278
# ==============================================================================
273279

@@ -613,12 +619,12 @@ finish: $(LOG_DIR)/6_report.log \
613619

614620
.PHONY: elapsed
615621
elapsed:
616-
-@$(UTILS_DIR)/genElapsedTime.py -d $(BLOCK_LOG_FOLDERS) $(LOG_DIR)
622+
-@$(PYTHON_EXE) $(UTILS_DIR)/genElapsedTime.py -d $(BLOCK_LOG_FOLDERS) $(LOG_DIR)
617623

618624
# Useful when working with macros, see elapsed time for all macros in platform
619625
.PHONY: elapsed-all
620626
elapsed-all:
621-
@$(UTILS_DIR)/genElapsedTime.py -d $(shell find $(WORK_HOME)/logs/$(PLATFORM)/*/*/ -type d)
627+
@$(PYTHON_EXE) $(UTILS_DIR)/genElapsedTime.py -d $(shell find $(WORK_HOME)/logs/$(PLATFORM)/*/*/ -type d)
622628

623629
$(eval $(call do-step,6_1_fill,$(RESULTS_DIR)/5_route.odb $(RESULTS_DIR)/5_route.sdc $(FILL_CONFIG),density_fill))
624630

@@ -765,7 +771,7 @@ clean_all: clean_synth clean_floorplan clean_place clean_cts clean_route clean_f
765771

766772
.PHONY: nuke
767773
nuke: clean_test clean_issues
768-
rm -rf ./results ./logs ./reports ./objects
774+
rm -rf $(WORK_HOME)/results $(WORK_HOME)/logs $(WORK_HOME)/reports $(WORK_HOME)/objects
769775
rm -rf layer_*.mps macrocell.list *best.plt *_pdn.def
770776
rm -rf *.rpt *.rpt.old *.def.v pin_dumper.log
771777
rm -f $(OBJECTS_DIR)/versions.txt $(OBJECTS_DIR)/copyright.txt dummy.guide

flow/designs/asap7/aes-block/rules-base.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"synth__design__instance__area__stdcell": {
3-
"value": 2293.17,
3+
"value": 2131.37,
44
"compare": "<="
55
},
66
"constraints__clocks__count": {
@@ -48,7 +48,7 @@
4848
"compare": "<="
4949
},
5050
"finish__timing__setup__ws": {
51-
"value": -68.19,
51+
"value": -83.73,
5252
"compare": ">="
5353
},
5454
"finish__design__instance__area": {
@@ -67,4 +67,4 @@
6767
"value": -18.47,
6868
"compare": ">="
6969
}
70-
}
70+
}
Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,38 @@
11
{
22
"synth__design__instance__area__stdcell": {
3-
"value": 1972.31,
3+
"value": 1928.39,
44
"compare": "<="
55
},
66
"constraints__clocks__count": {
77
"value": 1,
88
"compare": "=="
99
},
1010
"placeopt__design__instance__area": {
11-
"value": 2273,
11+
"value": 2214,
1212
"compare": "<="
1313
},
1414
"placeopt__design__instance__count__stdcell": {
15-
"value": 19686,
15+
"value": 19594,
1616
"compare": "<="
1717
},
1818
"detailedplace__design__violations": {
1919
"value": 0,
2020
"compare": "=="
2121
},
2222
"cts__design__instance__count__setup_buffer": {
23-
"value": 1712,
23+
"value": 1704,
2424
"compare": "<="
2525
},
2626
"cts__design__instance__count__hold_buffer": {
27-
"value": 1712,
27+
"value": 1704,
2828
"compare": "<="
2929
},
3030
"globalroute__antenna_diodes_count": {
3131
"value": 0,
3232
"compare": "<="
3333
},
3434
"detailedroute__route__wirelength": {
35-
"value": 89339,
35+
"value": 76679,
3636
"compare": "<="
3737
},
3838
"detailedroute__route__drc_errors": {
@@ -48,23 +48,23 @@
4848
"compare": "<="
4949
},
5050
"finish__timing__setup__ws": {
51-
"value": -68.71,
51+
"value": -42.46,
5252
"compare": ">="
5353
},
5454
"finish__design__instance__area": {
55-
"value": 2359,
55+
"value": 2272,
5656
"compare": "<="
5757
},
5858
"finish__timing__drv__setup_violation_count": {
59-
"value": 856,
59+
"value": 852,
6060
"compare": "<="
6161
},
6262
"finish__timing__drv__hold_violation_count": {
6363
"value": 100,
6464
"compare": "<="
6565
},
6666
"finish__timing__wns_percent_delay": {
67-
"value": -21.4,
67+
"value": -15.57,
6868
"compare": ">="
6969
}
7070
}
Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,38 @@
11
{
22
"synth__design__instance__area__stdcell": {
3-
"value": 1972.31,
3+
"value": 1928.39,
44
"compare": "<="
55
},
66
"constraints__clocks__count": {
77
"value": 1,
88
"compare": "=="
99
},
1010
"placeopt__design__instance__area": {
11-
"value": 2273,
11+
"value": 2214,
1212
"compare": "<="
1313
},
1414
"placeopt__design__instance__count__stdcell": {
15-
"value": 19686,
15+
"value": 19594,
1616
"compare": "<="
1717
},
1818
"detailedplace__design__violations": {
1919
"value": 0,
2020
"compare": "=="
2121
},
2222
"cts__design__instance__count__setup_buffer": {
23-
"value": 1712,
23+
"value": 1704,
2424
"compare": "<="
2525
},
2626
"cts__design__instance__count__hold_buffer": {
27-
"value": 1712,
27+
"value": 1704,
2828
"compare": "<="
2929
},
3030
"globalroute__antenna_diodes_count": {
3131
"value": 0,
3232
"compare": "<="
3333
},
3434
"detailedroute__route__wirelength": {
35-
"value": 86627,
35+
"value": 74787,
3636
"compare": "<="
3737
},
3838
"detailedroute__route__drc_errors": {
@@ -48,23 +48,23 @@
4848
"compare": "<="
4949
},
5050
"finish__timing__setup__ws": {
51-
"value": -70.11,
51+
"value": -34.79,
5252
"compare": ">="
5353
},
5454
"finish__design__instance__area": {
55-
"value": 2350,
55+
"value": 2278,
5656
"compare": "<="
5757
},
5858
"finish__timing__drv__setup_violation_count": {
59-
"value": 856,
59+
"value": 852,
6060
"compare": "<="
6161
},
6262
"finish__timing__drv__hold_violation_count": {
6363
"value": 100,
6464
"compare": "<="
6565
},
6666
"finish__timing__wns_percent_delay": {
67-
"value": -19.6,
67+
"value": -13.72,
6868
"compare": ">="
6969
}
7070
}

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
"compare": "<="
3333
},
3434
"detailedroute__route__wirelength": {
35-
"value": 77902,
35+
"value": 72549,
3636
"compare": "<="
3737
},
3838
"detailedroute__route__drc_errors": {
@@ -48,11 +48,11 @@
4848
"compare": "<="
4949
},
5050
"finish__timing__setup__ws": {
51-
"value": -29.62,
51+
"value": -16.32,
5252
"compare": ">="
5353
},
5454
"finish__design__instance__area": {
55-
"value": 2142,
55+
"value": 2103,
5656
"compare": "<="
5757
},
5858
"finish__timing__drv__setup_violation_count": {
@@ -64,7 +64,7 @@
6464
"compare": "<="
6565
},
6666
"finish__timing__wns_percent_delay": {
67-
"value": -12.43,
67+
"value": -10.0,
6868
"compare": ">="
6969
}
7070
}

flow/designs/asap7/cva6/config.mk

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

8080
export SDC_FILE = $(DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/constraint.sdc
8181

82-
export DIE_AREA = 0 0 350 350
83-
export CORE_AREA = 1.08 1.08 340 340
82+
export CORE_UTILIZATION = 40
83+
export CORE_MARGIN = 2
84+
export MACRO_HALO = 5
8485
export PLACE_DENSITY = 0.50
85-
export MACRO_HALO = 5 5
8686

8787
# a smoketest for this option, there are a
8888
# few last gasp iterations

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

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"synth__design__instance__area__stdcell": {
3-
"value": 40692.1,
3+
"value": 40631.65,
44
"compare": "<="
55
},
66
"constraints__clocks__count": {
@@ -12,27 +12,27 @@
1212
"compare": "<="
1313
},
1414
"placeopt__design__instance__count__stdcell": {
15-
"value": 164118,
15+
"value": 163049,
1616
"compare": "<="
1717
},
1818
"detailedplace__design__violations": {
1919
"value": 0,
2020
"compare": "=="
2121
},
2222
"cts__design__instance__count__setup_buffer": {
23-
"value": 14271,
23+
"value": 14178,
2424
"compare": "<="
2525
},
2626
"cts__design__instance__count__hold_buffer": {
27-
"value": 14271,
27+
"value": 14178,
2828
"compare": "<="
2929
},
3030
"globalroute__antenna_diodes_count": {
3131
"value": 0,
3232
"compare": "<="
3333
},
3434
"detailedroute__route__wirelength": {
35-
"value": 1618999,
35+
"value": 1884562,
3636
"compare": "<="
3737
},
3838
"detailedroute__route__drc_errors": {
@@ -56,15 +56,15 @@
5656
"compare": "<="
5757
},
5858
"finish__timing__drv__setup_violation_count": {
59-
"value": 7136,
59+
"value": 7089,
6060
"compare": "<="
6161
},
6262
"finish__timing__drv__hold_violation_count": {
63-
"value": 105,
63+
"value": 101,
6464
"compare": "<="
6565
},
6666
"finish__timing__wns_percent_delay": {
67-
"value": -20.43,
67+
"value": -20.3,
6868
"compare": ">="
6969
}
7070
}

0 commit comments

Comments
 (0)