Skip to content

Commit 45d3d14

Browse files
Merge branch 'main' into add-missing-non-eco-files
2 parents 8fc3963 + 27cbe49 commit 45d3d14

File tree

164 files changed

+487093
-1199593
lines changed

Some content is hidden

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

164 files changed

+487093
-1199593
lines changed

.github/workflows/auto-update-caravel-lite.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ jobs:
5151
git remote add parent https://github.com/efabless/caravel
5252
git pull parent main
5353
git fetch --all --tags
54-
git filter-repo --path def --path-glob 'signoff/*/openlane-signoff/spef' --path signoff/caravel/caravel.sdc --path signoff/caravan/caravan.sdc --path openlane/user_project_wrapper --path openlane/user_analog_project_wrapper --path openlane/Makefile --path gds/user_project_wrapper_empty.gds.gz --path gds/user_analog_project_wrapper_empty.gds.gz --path mag/user_project_wrapper_empty.mag --path mag/user_analog_project_wrapper_empty.mag --path lef/user_project_wrapper_empty.lef --path lef/user_analog_project_wrapper_empty.lef --path verilog/ --path Makefile --path scripts/ --path LICENSE --path manifest --path spi/lvs/run_lvs.sh --path gds/gds2mag-all.sh --path gds/drc_on_gds.tcl --path gds/antenna_on_gds.tcl --path spi/lvs/caravel.spice --path spi/lvs/caravan.spice --force
54+
git filter-repo --path def --path-glob 'signoff/*/openlane-signoff/spef' --path signoff/caravel/caravel.sdc --path signoff/caravan/caravan.sdc --path openlane/user_project_wrapper --path openlane/user_analog_project_wrapper --path openlane/Makefile --path gds/user_project_wrapper_empty.gds.gz --path gds/user_analog_project_wrapper_empty.gds.gz --path gds/openframe_project_wrapper_empty.gds.gz --path mag/user_project_wrapper_empty.mag --path mag/user_analog_project_wrapper_empty.mag --path lef/user_project_wrapper_empty.lef --path lef/user_analog_project_wrapper_empty.lef --path verilog/ --path Makefile --path scripts/ --path LICENSE --path manifest --path spi/lvs/run_lvs.sh --path gds/gds2mag-all.sh --path gds/drc_on_gds.tcl --path gds/antenna_on_gds.tcl --path spi/lvs/caravel.spice --path spi/lvs/caravan.spice --path mag/gpio_defaults_block.mag --path mag/caravel_core.mag --path mag/caravan_core.mag --force
5555
git remote add caravel_lite https://x-access-token:${{ secrets.EFSTAFF_TOKEN }}@github.com/efabless/caravel-lite
5656
git push --force caravel_lite main
5757
git push -f --tags caravel_lite main

.github/workflows/block_CI.yaml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: Block PR
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- main
7+
8+
jobs:
9+
changed_files:
10+
runs-on: ubuntu-latest
11+
name: Test changed-files
12+
permissions:
13+
pull-requests: read
14+
15+
steps:
16+
- name: Get changed files
17+
id: changed-files
18+
uses: tj-actions/changed-files@v39
19+
20+
- name: List all changed files
21+
run: |
22+
for file in ${{ steps.changed-files.outputs.all_changed_files }}; do
23+
echo "$file was changed"
24+
if [[ "$file" == *"verilog/rtl/"* || "$file" == *"mag/"* || "$file" == *"gds/"* ]]; then
25+
exit 1
26+
fi
27+
done

.readthedocs.yml

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,22 @@
1-
# SPDX-FileCopyrightText: 2020 Efabless Corporation
2-
#
3-
# Licensed under the Apache License, Version 2.0 (the "License");
4-
# you may not use this file except in compliance with the License.
5-
# You may obtain a copy of the License at
6-
#
7-
# http://www.apache.org/licenses/LICENSE-2.0
8-
#
9-
# Unless required by applicable law or agreed to in writing, software
10-
# distributed under the License is distributed on an "AS IS" BASIS,
11-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12-
# See the License for the specific language governing permissions and
13-
# limitations under the License.
14-
#
15-
# SPDX-License-Identifier: Apache-2.0
16-
# .readthedocs.yml
1+
# .readthedocs.yaml
172
# Read the Docs configuration file
183
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
194

205
# Required
216
version: 2
227

8+
# Set the version of Python and other tools you might need
9+
build:
10+
os: ubuntu-22.04
11+
tools:
12+
python: "3.10"
13+
2314
# Build documentation in the docs/ directory with Sphinx
2415
sphinx:
2516
configuration: docs/source/conf.py
2617

27-
conda:
28-
environment: docs/environment.yml
18+
# We recommend specifying your dependencies to enable reproducible builds:
19+
# https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
20+
python:
21+
install:
22+
- requirements: docs/requirements.txt

Makefile

Lines changed: 59 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -31,20 +31,26 @@ SPLIT_FILES := $(shell find . -type f -name "*.$(ARCHIVE_EXT).00.split")
3131
SPLIT_FILES_SOURCES := $(basename $(basename $(basename $(SPLIT_FILES))))
3232

3333
# Needed to uncompress the existing archives
34-
ARCHIVES := $(shell find . -type f -not -path "./signoff/*" -not -path "./mgmt_core_wrapper/signoff/*" -name "*.$(ARCHIVE_EXT)")
34+
ARCHIVES := $(shell find . -type f -not -path "*/signoff/*" -name "*.$(ARCHIVE_EXT)")
3535
ARCHIVE_SOURCES := $(basename $(ARCHIVES))
3636

3737
# Needed to compress and split files/archives that are too large
3838
LARGE_FILES := $(shell find ./gds -type f -name "*.gds")
39-
LARGE_FILES += $(shell find . -type f -size +$(FILE_SIZE_LIMIT_MB)M -not -path "./signoff/*" -not -path "./mgmt_core_wrapper/signoff/*" -not -path "./.git/*" -not -path "./*/.git/*" -not -path "./gds/*" -not -path "./tapeout/outputs/oas/*" -not -path "./openlane/*")
39+
LARGE_FILES += $(shell find . -type f -size +$(FILE_SIZE_LIMIT_MB)M \
40+
-not -path "*/signoff/*" \
41+
-not -path "*/.git/*" \
42+
-not -path "./gds/*" \
43+
-not -path "./tapeout/outputs/oas/*" \
44+
-not -path "*/openlane/*" \
45+
-not -name "*.$(ARCHIVE_EXT)")
4046
LARGE_FILES_GZ := $(addsuffix .$(ARCHIVE_EXT), $(LARGE_FILES))
4147
LARGE_FILES_GZ_SPLIT := $(addsuffix .$(ARCHIVE_EXT).00.split, $(LARGE_FILES))
4248
# consider splitting existing archives
4349
LARGE_FILES_GZ_SPLIT += $(addsuffix .00.split, $(ARCHIVES))
4450

4551
MCW_ROOT?=$(PWD)/mgmt_core_wrapper
4652
MCW ?=LITEX_VEXRISCV
47-
MPW_TAG ?= mpw-9c
53+
MPW_TAG ?= 2024.09.12-1
4854

4955
PYTHON_BIN ?= python3
5056

@@ -56,12 +62,12 @@ MCW_LITE?=1
5662

5763
ifeq ($(MCW),LITEX_VEXRISCV)
5864
MCW_NAME := mcw-litex-vexriscv
59-
MCW_REPO := https://github.com/efabless/caravel_mgmt_soc_litex
60-
MCW_TAG := $(MPW_TAG)
65+
MCW_REPO ?= https://github.com/efabless/caravel_mgmt_soc_litex
66+
MCW_TAG ?= $(MPW_TAG)
6167
else
6268
MCW_NAME := mcw-pico
63-
MCW_REPO := https://github.com/efabless/caravel_pico
64-
MCW_TAG := $(MPW_TAG)
69+
MCW_REPO ?= https://github.com/efabless/caravel_pico
70+
MCW_TAG ?= $(MPW_TAG)
6571
endif
6672

6773
# Install caravel as submodule, (1): submodule, (0): clone
@@ -92,7 +98,7 @@ SPECIAL_VOLTAGE_LIBRARY ?= sky130_fd_sc_hvl
9298
IO_LIBRARY ?= sky130_fd_io
9399
PRIMITIVES_LIBRARY ?= sky130_fd_pr
94100
SKYWATER_COMMIT ?= f70d8ca46961ff92719d8870a18a076370b85f6c
95-
OPEN_PDKS_COMMIT ?= 0059588eebfc704681dc2368bd1d33d96281d10f
101+
OPEN_PDKS_COMMIT ?= 12df12e2e74145e31c5a13de02f9a1e176b56e67
96102
# = 1.0.303
97103
PDK_MAGIC_COMMIT ?= 085131b090cb511d785baf52a10cf6df8a657d44
98104
# = 8.3.294
@@ -194,6 +200,47 @@ __truck:
194200
@cd $(CARAVEL_ROOT)/mag && PDKPATH=${PDK_ROOT}/$(PDK) MAGTYPE=mag magic -noc -dnull -rcfile ./.magicrc $(UPRJ_ROOT)/mag/mag2gds_caravan.tcl 2>&1 | tee $(UPRJ_ROOT)/signoff/build/make_truck.out
195201
### @rm $(UPRJ_ROOT)/mag/mag2gds_caravan.tcl
196202

203+
.PHONY: openframe
204+
openframe: check-env uncompress uncompress-caravel
205+
ifeq ($(FOREGROUND),1)
206+
@echo "Running make openframe in the foreground..."
207+
$(MAKE) -f $(CARAVEL_ROOT)/Makefile __openframe
208+
@echo "Make openframe completed." 2>&1 | tee -a ./signoff/build/make_openframe.out
209+
else
210+
@echo "Running make openframe in the background..."
211+
nohup $(MAKE) -f $(CARAVEL_ROOT)/Makefile __openframe >/dev/null 2>&1 &
212+
tail -f signoff/build/make_openframe.out
213+
@echo "Make openframe completed." 2>&1 | tee -a ./signoff/build/make_openframe.out
214+
endif
215+
216+
__openframe:
217+
@echo "###############################################"
218+
@echo "Generating Caravel GDS (sources are in the 'gds' directory)"
219+
@sleep 1
220+
#### Runs from the CARAVEL_ROOT mag directory
221+
@echo "\
222+
drc off; \
223+
crashbackups stop; \
224+
addpath hexdigits; \
225+
addpath $(UPRJ_ROOT)/mag; \
226+
load openframe_project_wrapper; \
227+
property LEFview true; \
228+
property GDS_FILE $(UPRJ_ROOT)/gds/openframe_project_wrapper.gds; \
229+
property GDS_START 0; \
230+
load $(UPRJ_ROOT)/mag/user_id_programming; \
231+
load $(UPRJ_ROOT)/mag/user_id_textblock; \
232+
load $(CARAVEL_ROOT)/maglef/simple_por; \
233+
load caravel_openframe -dereference; \
234+
select top cell; \
235+
expand; \
236+
cif *hier write disable; \
237+
cif *array write disable; \
238+
gds write $(UPRJ_ROOT)/gds/caravel_openframe.gds; \
239+
quit -noprompt;" > $(UPRJ_ROOT)/mag/mag2gds_caravel_openframe.tcl
240+
### Runs from CARAVEL_ROOT
241+
@mkdir -p ./signoff/build
242+
@cd $(CARAVEL_ROOT)/mag && PDKPATH=${PDK_ROOT}/$(PDK) MAGTYPE=mag magic -noc -dnull -rcfile ${PDK_ROOT}/$(PDK)/libs.tech/magic/$(PDK).magicrc $(UPRJ_ROOT)/mag/mag2gds_caravel_openframe.tcl 2>&1 | tee $(UPRJ_ROOT)/signoff/build/make_openframe.out
243+
197244
.PHONY: clean
198245
clean:
199246
cd $(CARAVEL_ROOT)/verilog/dv/caravel/mgmt_soc/ && \
@@ -1173,7 +1220,7 @@ update_caravel:
11731220
.PHONY: install_mcw
11741221
install_mcw:
11751222
if [ -d "$(MCW_ROOT)" ]; then \
1176-
echo "Deleting exisiting $(MCW_ROOT)" && \
1223+
echo "Deleting existing $(MCW_ROOT)" && \
11771224
rm -rf $(MCW_ROOT) && sleep 2;\
11781225
fi
11791226
ifeq ($(SUBMODULE),1)
@@ -1250,7 +1297,7 @@ clean-pdk:
12501297
.PHONY: skywater-pdk
12511298
skywater-pdk:
12521299
if [ -d "$(PDK_ROOT)/skywater-pdk" ]; then\
1253-
echo "Deleting exisiting $(PDK_ROOT)/skywater-pdk" && \
1300+
echo "Deleting existing $(PDK_ROOT)/skywater-pdk" && \
12541301
rm -rf $(PDK_ROOT)/skywater-pdk && sleep 2;\
12551302
fi
12561303
git clone https://github.com/google/skywater-pdk.git $(PDK_ROOT)/skywater-pdk
@@ -1267,7 +1314,7 @@ skywater-pdk:
12671314
.PHONY: open-pdks
12681315
open-pdks:
12691316
if [ -d "$(PDK_ROOT)/open_pdks" ]; then \
1270-
echo "Deleting exisiting $(PDK_ROOT)/open_pdks" && \
1317+
echo "Deleting existing $(PDK_ROOT)/open_pdks" && \
12711318
rm -rf $(PDK_ROOT)/open_pdks && sleep 2; \
12721319
fi
12731320
git clone git://opencircuitdesign.com/open_pdks $(PDK_ROOT)/open_pdks
@@ -1278,7 +1325,7 @@ open-pdks:
12781325
.PHONY: sky130
12791326
sky130:
12801327
if [ -d "$(PDK_ROOT)/$(PDK)" ]; then \
1281-
echo "Deleting exisiting $(PDK_ROOT)/$(PDK)" && \
1328+
echo "Deleting existing $(PDK_ROOT)/$(PDK)" && \
12821329
rm -rf $(PDK_ROOT)/$(PDK) && sleep 2;\
12831330
fi
12841331
docker run --rm\

0 commit comments

Comments
 (0)