Skip to content

Commit 3e323db

Browse files
committed
write liberty file alongside .lef files for macros
Signed-off-by: Øyvind Harboe <[email protected]>
1 parent 547194a commit 3e323db

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

flow/Makefile

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -185,9 +185,11 @@ ifdef BLOCKS
185185
$(foreach block,$(BLOCKS),$(info Block ${block} needs to be hardened.))
186186
$(foreach block,$(BLOCKS),$(eval BLOCK_CONFIGS += ./designs/$(PLATFORM)/$(DESIGN_NICKNAME)/$(block)/config.mk))
187187
$(foreach block,$(BLOCKS),$(eval BLOCK_LEFS += ./results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/${block}.lef))
188+
$(foreach block,$(BLOCKS),$(eval BLOCK_LIBS += ./results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/${block}.lib))
188189
$(foreach block,$(BLOCKS),$(eval BLOCK_GDS += ./results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/6_final.gds))
189190
$(foreach block,$(BLOCKS),$(eval BLOCK_CDL += ./results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/6_final.cdl))
190191
export ADDITIONAL_LEFS += $(BLOCK_LEFS)
192+
export ADDITIONAL_LIBS += $(BLOCK_LIBS)
191193
export ADDITIONAL_GDS += $(BLOCK_GDS)
192194
export GDS_FILES += $(BLOCK_GDS)
193195
ifdef CDL_FILES
@@ -290,16 +292,18 @@ else
290292
endif
291293
export WRAPPED_GDSOAS = $(foreach lef,$(notdir $(WRAP_LEFS)),$(OBJECTS_DIR)/$(lef:.lef=_mod.$(STREAM_SYSTEM_EXT)))
292294

295+
define GENERATE_ABSTRACT_RULE
296+
# Single rule, two targets, hence the "&:", syntax
297+
$(1) $(2) &: $(3)
298+
$(MAKE) "DESIGN_CONFIG=$(3)" generate_abstract
299+
endef
293300

294301
# Targets to harden Blocks in case of hierarchical flow is triggered
295-
build_macros: $(BLOCK_LEFS)
302+
build_macros: $(BLOCK_LEFS) $(BLOCK_LIBS)
296303

297-
$(foreach block,$(BLOCKS),$(eval ./results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/${block}.lef: ./designs/$(PLATFORM)/$(DESIGN_NICKNAME)/${block}/config.mk))
304+
$(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,./designs/$(PLATFORM)/$(DESIGN_NICKNAME)/${block}/config.mk)))
298305
$(foreach block,$(BLOCKS),$(eval ./results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/6_final.gds: ./results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/${block}.lef))
299306

300-
$(BLOCK_LEFS):
301-
$(MAKE) DESIGN_CONFIG=$< generate_abstract
302-
303307
# Utility to print tool version information
304308
#-------------------------------------------------------------------------------
305309
.PHONY: versions.txt

flow/scripts/generate_abstract.tcl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ source $::env(SCRIPTS_DIR)/load.tcl
22
load_design 6_1_fill.odb 6_1_fill.sdc "Starting generation of abstract views"
33

44
puts "Starting generation of abstract views"
5+
write_timing_model $::env(RESULTS_DIR)/$::env(DESIGN_NAME).lib
56
write_abstract_lef $::env(RESULTS_DIR)/$::env(DESIGN_NAME).lef
67

78
if {[info exist ::env(CDL_FILES)]} {

0 commit comments

Comments
 (0)