Skip to content

Commit 2c2b556

Browse files
committed
Changes for 2409
Standardized Makefiles, .gitignore Changes to local scripts to allow execution with new openlane
1 parent 4c28002 commit 2c2b556

5 files changed

Lines changed: 40 additions & 15 deletions

File tree

.gitignore

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,16 @@
22
/precheck_results/
33
*/tmp
44
*/*/tmp
5-
venv/
6-
caravel/
7-
mgmt_core_wrapper/
8-
dependencies/
5+
*.hex*
6+
*.lst
7+
*.vcd
8+
*.gtkw
9+
/env
10+
/venv
11+
/caravel
12+
/runs
13+
/dependencies
14+
/mgmt_core_wrapper
15+
/logs
16+
/lvs_results/
917
__pycache__/

Makefile

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@ export ROOTLESS
4444

4545
ifeq ($(PDK),sky130A)
4646
SKYWATER_COMMIT=f70d8ca46961ff92719d8870a18a076370b85f6c
47-
export OPEN_PDKS_COMMIT?=c887119ffa27d48613249b973a66dc667fe6ecd3
48-
export OPENLANE_TAG?=2024.07.19
47+
export OPEN_PDKS_COMMIT?=0fe599b2afb6708d281543108caf8310912f54af
48+
export OPENLANE_TAG?=2024.08.15
4949
MPW_TAG ?= mpw-9k
5050

5151
ifeq ($(CARAVEL_LITE),1)
@@ -62,8 +62,8 @@ endif
6262

6363
ifeq ($(PDK),sky130B)
6464
SKYWATER_COMMIT=f70d8ca46961ff92719d8870a18a076370b85f6c
65-
export OPEN_PDKS_COMMIT?=c887119ffa27d48613249b973a66dc667fe6ecd3
66-
export OPENLANE_TAG?=2024.07.19
65+
export OPEN_PDKS_COMMIT?=0fe599b2afb6708d281543108caf8310912f54af
66+
export OPENLANE_TAG?=2024.08.15
6767
MPW_TAG ?= mpw-9k
6868

6969
ifeq ($(CARAVEL_LITE),1)
@@ -78,9 +78,9 @@ endif
7878

7979
endif
8080

81-
ifeq ($(PDK),gf180mcuC)
81+
ifeq ($(PDK),gf180mcuD)
8282

83-
MPW_TAG ?= gfmpw-0b
83+
MPW_TAG ?= gfmpw-1c
8484
CARAVEL_NAME := caravel
8585
CARAVEL_REPO := https://github.com/efabless/caravel-gf180mcu
8686
CARAVEL_TAG := $(MPW_TAG)
@@ -252,6 +252,7 @@ run-precheck: check-pdk check-precheck
252252
docker run -it -v $(PRECHECK_ROOT):$(PRECHECK_ROOT) \
253253
-v $(INPUT_DIRECTORY):$(INPUT_DIRECTORY) \
254254
-v $(PDK_ROOT):$(PDK_ROOT) \
255+
-v $(HOME)/.ipm:$(HOME)/.ipm \
255256
-e INPUT_DIRECTORY=$(INPUT_DIRECTORY) \
256257
-e PDK_PATH=$(PDK_ROOT)/$(PDK) \
257258
-e PDK_ROOT=$(PDK_ROOT) \
@@ -264,6 +265,7 @@ run-precheck: check-pdk check-precheck
264265
docker run -it -v $(PRECHECK_ROOT):$(PRECHECK_ROOT) \
265266
-v $(INPUT_DIRECTORY):$(INPUT_DIRECTORY) \
266267
-v $(PDK_ROOT):$(PDK_ROOT) \
268+
-v $(HOME)/.ipm:$(HOME)/.ipm \
267269
-e INPUT_DIRECTORY=$(INPUT_DIRECTORY) \
268270
-e PDK_PATH=$(PDK_ROOT)/$(PDK) \
269271
-e PDK_ROOT=$(PDK_ROOT) \
@@ -272,7 +274,6 @@ run-precheck: check-pdk check-precheck
272274
efabless/mpw_precheck:latest bash -c "cd $(PRECHECK_ROOT) ; python3 mpw_precheck.py --input_directory $(INPUT_DIRECTORY) --pdk_path $(PDK_ROOT)/$(PDK)"; \
273275
fi
274276

275-
276277
BLOCKS = $(shell cd lvs && find * -maxdepth 0 -type d)
277278
LVS_BLOCKS = $(foreach block, $(BLOCKS), lvs-$(block))
278279
$(LVS_BLOCKS): lvs-% : ./lvs/%/lvs_config.json check-pdk check-precheck

openlane/Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
MAKEFLAGS+=--warn-undefined-variables
1717

1818
export OPENLANE_RUN_TAG = $(shell date '+%y_%m_%d_%H_%M')
19-
OPENLANE_TAG ?= 2023.07.19
19+
OPENLANE_TAG ?= 2024.08.15
2020
OPENLANE_IMAGE_NAME ?= efabless/openlane:$(OPENLANE_TAG)
2121
designs = $(shell find * -maxdepth 0 -type d)
2222
current_design = null
@@ -41,6 +41,7 @@ docker_mounts = \
4141
-v $$(realpath $(PWD)/..):$$(realpath $(PWD)/..) \
4242
-v $(PDK_ROOT):$(PDK_ROOT) \
4343
-v $(CARAVEL_ROOT):$(CARAVEL_ROOT) \
44+
-v $(HOME)/.ipm:$(HOME)/.ipm \
4445
-v $(OPENLANE_ROOT):/openlane
4546

4647
docker_env = \

openlane/openframe_project_wrapper/CustomApplyDEFTemplate/reader.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414
import odb
15+
from openroad import Tech, Design
16+
from typing import ClassVar, Optional
1517

1618
import os
1719
import sys
@@ -22,8 +24,17 @@
2224

2325

2426
class OdbReader(object):
27+
primary_reader: ClassVar[Optional["OdbReader"]] = None
28+
2529
def __init__(self, *args):
26-
self.db = odb.dbDatabase.create()
30+
if primary := OdbReader.primary_reader:
31+
self.db = odb.dbDatabase.create()
32+
self.db.setLogger(primary.design.getLogger())
33+
else:
34+
self.ord_tech = Tech()
35+
self.design = Design(self.ord_tech)
36+
self.db = self.ord_tech.getDB()
37+
2738
if len(args) == 1:
2839
db_in = args[0]
2940
self.db = odb.read_db(self.db, db_in)
@@ -45,6 +56,9 @@ def __init__(self, *args):
4556
self.dbunits = self.block.getDefUnits()
4657
self.instances = self.block.getInsts()
4758

59+
if OdbReader.primary_reader is None:
60+
OdbReader.primary_reader = self
61+
4862
def add_lef(self, new_lef):
4963
odb.read_lef(self.db, new_lef)
5064

@@ -77,6 +91,7 @@ def wrapper(input_db, output, output_def, input_lef, **kwargs):
7791

7892
if output_def is not None:
7993
odb.write_def(reader.block, output_def)
94+
sys.stdout.flush()
8095
odb.write_db(reader.db, output)
8196

8297
wrapper = click.option(

openlane/openframe_project_wrapper/interactive.tcl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package require openlane
22
set script_dir [file dirname [file normalize [info script]]]
33
set save_path "$script_dir/../.."
4-
prep -design $script_dir -tag $::env(OPENLANE_RUN_TAG)
4+
prep -design $script_dir -tag $::env(OPENLANE_RUN_TAG) -ignore_mismatches
55

66
if { $::env(RUN_LINTER) } {
77
run_verilator
@@ -98,4 +98,4 @@ save_final_views
9898
save_final_views -save_path $save_path -tag $::env(OPENLANE_RUN_TAG)
9999
calc_total_runtime
100100
save_state
101-
generate_final_summary_report
101+
generate_final_summary_report

0 commit comments

Comments
 (0)