Skip to content

Commit

Permalink
try make e2e work
Browse files Browse the repository at this point in the history
  • Loading branch information
elamdf committed Dec 23, 2024
1 parent 889dae6 commit 89cec06
Show file tree
Hide file tree
Showing 5 changed files with 67 additions and 11 deletions.
44 changes: 44 additions & 0 deletions .github/workflows/e2e-cad.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: End-to-end CAD flow CI smoketest

on:
push:
branches:
- main
- test-ci
pull_request:

jobs:
test:
runs-on: [self-hosted] # TODO: replace with something centrally admined

steps:
# Step 1: Create a temporary directory
- name: Create temporary directory
run: |
TMP_DIR=$(mktemp -d)
echo "Temporary directory created at: $TMP_DIR"
echo "TMP_DIR=$TMP_DIR" >> $GITHUB_ENV
# Clone this repo
- name: Checkout
uses: actions/[email protected]


- name: Run `make build` in the `e2e` directory
run: |
cd e2e
# TODO make sure poetry is installed
#curl -sSL https://install.python-poetry.org | python3 -
poetry install
poetry shell
# redirect all hammer output a temp file, since it contains proprietary tool logs
tempfile=$(mktemp)
echo "log file is $tempfile on $(uname -a)" | tee -a $tempfile
echo "End-to-end CAD flow CI smoketest running on" ${{ github.head_ref }}.${{ github.sha }} > $tempfile 2>&1
make build >> $tempfile 2>&1
echo "running par.." | tee -a $tempfile
make par >> $tempfile 2>&1
echo "running drc.." | tee -a $tempfile
make drc >> $tempfile 2>&1
echo "running lvs.." | tee -a $tempfile
make lvs >> $tempfile 2>&1
2 changes: 1 addition & 1 deletion e2e/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ vlsi_dir=$(abspath .)
# minimal flow configuration variables
design ?= pass
pdk ?= sky130
tools ?= nop
tools ?= cm
env ?= bwrc

extra ?= # extra configs
Expand Down
26 changes: 19 additions & 7 deletions e2e/configs-env/bwrc-env.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,26 @@ drc.magic.magic_bin: "/tools/commercial/skywater/local/chipyard-tutorial/.conda-
lvs.netgen.netgen_bin: "/tools/commercial/skywater/local/chipyard-tutorial/.conda-signoff/bin/netgen"


# Sky130 paths
# Technology paths
technology.sky130:
sky130A: "/tools/commercial/skywater/local/sky130A"
sram22_sky130_macros: "/tools/commercial/skywater/local/sram22_sky130_macros"
openram_lib: "/tools/commercial/skywater/local/sky130_sram_macros"
sky130_nda: "/tools/commercial/skywater/swtech130/skywater-src-nda-20221031"
sky130_cds: "/tools/commercial/skywater/sky130_cds/PDK/sky130_release_0.0.3/"
sky130_scl: "/tools/commercial/skywater/sky130_cds/LIB/sky130_scl_9T_0.0.3/"
sky130A: "/tools/commercial/skywater/local/open_pdks-2022.10/share/pdk/sky130A"
# sram22_sky130_macros: "/tools/commercial/skywater/local/chipyard-tutorial/sram22_sky130_macros"
sram22_sky130_macros: "/tools/C/rohankumar/stac-top/vlsi/sram22_sky130_macros/"
# https://github.com/rahulk29/sram22_sky130_macros/tree/dev

# this key is OPTIONAL, no NDA files will be used if it does not point to a valid path
sky130_nda: "/tools/commercial/skywater/swtech130/skywater-src-nda"

# for caravel collateral pulled in by this design
caravel: /tools/commercial/skywater/local/caravel/v6.0

lvs_blackbox_srams: true
sky130_scl: "/tools/C/elamdf/sky130/sky130_scl_9T_0.0.6"
sky130_cds: "/tools/C/elamdf/sky130/sky130_release_0.0.4/"
stdcell_library: "sky130_scl"

technology.core.stackup: "sky130_scl"
vlsi.technology.placement_site: "CoreSite"

# ASAP7 paths
technology.asap7:
Expand Down
4 changes: 2 additions & 2 deletions e2e/configs-tool/cm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,5 @@ vlsi.core.sim_tool: "hammer.sim.vcs"
vlsi.core.timing_tool: "hammer.timing.tempus"
vlsi.core.formal_tool: "hammer.formal.conformal"
vlsi.core.power_tool: "hammer.power.voltus"
vlsi.core.drc_tool: "hammer.drc.calibre"
vlsi.core.lvs_tool: "hammer.lvs.calibre"
vlsi.core.drc_tool: "hammer.drc.pegasus"
vlsi.core.lvs_tool: "hammer.lvs.pegasus"
2 changes: 1 addition & 1 deletion e2e/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ repository = "https://github.com/ucb-bar/hammer"
[tool.poetry.dependencies]
python = "^3.9"
hammer-vlsi = {path = "../.", extras = ["asap7"], develop = true}
hammer-mentor-plugins = {path = "hammer-mentor-plugins", develop = true}
#hammer-mentor-plugins = {path = "hammer-mentor-plugins", develop = true}

[build-system]
requires = ["poetry-core>=1.0.8", "setuptools>=65.3"]
Expand Down

0 comments on commit 89cec06

Please sign in to comment.