Skip to content

Commit 503efec

Browse files
committed
flow: Makefile: Add slow, typ, fast libs for BLOCKS
Also provide ADDITIONAL_LIB variables for SLOW and FAST corners to allow generating blocks with Multi Corner analysis enabled. Add an additional ADDITIONAL_TYP_LIB variable as default for typical timings. Typical timings is required to generate a lib file for Yosys to replace the actual Verilog module. Signed-off-by: Daniel Schultz <[email protected]>
1 parent 0f8a38a commit 503efec

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

flow/Makefile

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -98,12 +98,17 @@ ifneq ($(BLOCKS),)
9898
# Normally this comes from variables.yaml, but we need it here to set up these variables
9999
# which are part of the DESIGN_CONFIG. BLOCKS is a Makefile specific concept.
100100
$(foreach block,$(BLOCKS),$(eval BLOCK_LEFS += $(WORK_HOME)/results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/${block}.lef))
101-
$(foreach block,$(BLOCKS),$(eval BLOCK_LIBS += $(WORK_HOME)/results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/${block}.lib))
101+
$(foreach block,$(BLOCKS),$(eval BLOCK_TYP_LIBS += $(WORK_HOME)/results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/${block}_typ.lib))
102+
$(foreach block,$(BLOCKS),$(eval BLOCK_FAST_LIBS += $(WORK_HOME)/results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/${block}_fast.lib))
103+
$(foreach block,$(BLOCKS),$(eval BLOCK_SLOW_LIBS += $(WORK_HOME)/results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/${block}_slow.lib))
102104
$(foreach block,$(BLOCKS),$(eval BLOCK_GDS += $(WORK_HOME)/results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/6_final.gds))
103105
$(foreach block,$(BLOCKS),$(eval BLOCK_CDL += $(WORK_HOME)/results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/6_final.cdl))
104106
$(foreach block,$(BLOCKS),$(eval BLOCK_LOG_FOLDERS += $(WORK_HOME)/logs/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/))
105107
export ADDITIONAL_LEFS += $(BLOCK_LEFS)
106-
export ADDITIONAL_LIBS += $(BLOCK_LIBS)
108+
export ADDITIONAL_LIBS += $(BLOCK_TYP_LIBS)
109+
export ADDITIONAL_TYP_LIBS += $(BLOCK_TYP_LIBS)
110+
export ADDITIONAL_FAST_LIBS += $(BLOCK_FAST_LIBS)
111+
export ADDITIONAL_SLOW_LIBS += $(BLOCK_SLOW_LIBS)
107112
export ADDITIONAL_GDS += $(BLOCK_GDS)
108113
ifneq ($(CDL_FILES),)
109114
export CDL_FILES += $(BLOCK_CDL)
@@ -167,9 +172,9 @@ endef
167172

168173
# Targets to harden Blocks in case of hierarchical flow is triggered
169174
.PHONY: build_macros
170-
build_macros: $(BLOCK_LEFS) $(BLOCK_LIBS)
175+
build_macros: $(BLOCK_LEFS) $(BLOCK_TYP_LIBS)
171176

172-
$(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}.lib,$(shell dirname $(DESIGN_CONFIG))/${block}/config.mk)))
177+
$(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)))
173178
$(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))
174179

175180
# Utility to print tool version information

0 commit comments

Comments
 (0)