Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sky130/Openroad Tutorial Fixes #1392

Merged
merged 48 commits into from
Mar 14, 2023
Merged
Show file tree
Hide file tree
Changes from 42 commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
d5f1dd9
changed key from openram to sram22
nayiri-k Mar 9, 2023
15d001f
updated skywater tutorials
nayiri-k Mar 9, 2023
b52cad6
updated conda lock to install sky130A pdk
nayiri-k Mar 10, 2023
4d7cf6e
adding hammer paper to main readme
nayiri-k Mar 10, 2023
81e11ee
updating macro paths for asap7 tutorial to match new SRAM paths after…
nayiri-k Mar 10, 2023
89a23fa
updating docs to include correct build path [skip ci]
nayiri-k Mar 10, 2023
6dba66f
updated tutorial configuration files [skip ci]
nayiri-k Mar 10, 2023
39260ac
Merge branch 'openroad' of https://github.com/ucb-bar/chipyard into o…
nayiri-k Mar 10, 2023
47f84e9
Merge branch 'main' of https://github.com/ucb-bar/chipyard into vlsi-…
nayiri-k Mar 10, 2023
c43dcc6
testing out chipyard tutorial flow
nayiri-k Mar 11, 2023
e78b424
testing commands thru syn
nayiri-k Mar 11, 2023
8d88ffb
moving vlsi flow setup earlier for testing
nayiri-k Mar 11, 2023
2a0c222
small fix
nayiri-k Mar 11, 2023
07e547f
another small fix
nayiri-k Mar 11, 2023
883b920
checking that this still works
nayiri-k Mar 11, 2023
d2130f2
updated layout of openroad design [skip ci]
nayiri-k Mar 11, 2023
210e0fe
Merge branch 'openroad' of https://github.com/ucb-bar/chipyard into o…
nayiri-k Mar 11, 2023
3a72865
moved test back to after setup repo
nayiri-k Mar 11, 2023
e8c1b09
added note about generated-src being different for commercial/openroa…
nayiri-k Mar 11, 2023
0f326ae
floorplan for openroad flow is different from commercial flow bc of s…
nayiri-k Mar 11, 2023
271a77a
Merge branch 'openroad' of https://github.com/ucb-bar/chipyard into o…
nayiri-k Mar 11, 2023
180f52e
bumping hammer-cadence-plugins
nayiri-k Mar 11, 2023
884053d
bumped to Hammer v1.0.2
nayiri-k Mar 11, 2023
1fd5381
Merge branch 'main' of https://github.com/ucb-bar/chipyard into vlsi-…
nayiri-k Mar 12, 2023
908a267
bumping hammer in conda reqs
nayiri-k Mar 12, 2023
b68ee34
bumped to hammer v1.0.4
nayiri-k Mar 12, 2023
fae8a24
Merge branch 'openroad' of https://github.com/ucb-bar/chipyard into o…
nayiri-k Mar 12, 2023
3b15304
Merge branch 'vlsi-tutorial' of https://github.com/ucb-bar/chipyard i…
nayiri-k Mar 12, 2023
02a0714
small tweak:
nayiri-k Mar 12, 2023
dd7e221
changing tutorial VLSI_TOP to RocketTile to save time
nayiri-k Mar 13, 2023
d785c62
fixing typo
nayiri-k Mar 13, 2023
5751fbe
merged with main
nayiri-k Mar 13, 2023
398a017
regenerated conda lock requirements
nayiri-k Mar 13, 2023
e72d00c
stopping par before write_design bc openroad freezes
nayiri-k Mar 13, 2023
2d8e5cb
adding start_before_step to still get gds
nayiri-k Mar 13, 2023
aabf8cd
removing lvs from flow due to small bug
nayiri-k Mar 13, 2023
dfc01a2
messed up something with steps, trying again
nayiri-k Mar 13, 2023
f2cf6b7
updating prerequisite setup for sky130 tutorials [skip ci]
nayiri-k Mar 13, 2023
78b6bdb
Merge branch 'openroad' of https://github.com/ucb-bar/chipyard into o…
nayiri-k Mar 13, 2023
1811d6f
made vlsi flow slightly cleaner
nayiri-k Mar 13, 2023
6cd2186
Merge branch 'openroad' of https://github.com/ucb-bar/chipyard into o…
nayiri-k Mar 13, 2023
d48a7cb
tiny fix
nayiri-k Mar 13, 2023
1540f55
shouldn't have removed file from EXTRA_CONFS oops
nayiri-k Mar 13, 2023
454d619
improved tutorial makefile [skip ci]
nayiri-k Mar 14, 2023
20eecc3
testing hammer fixes before publishing to pypi
nayiri-k Mar 14, 2023
f2e2e3c
Merge branch 'openroad' of https://github.com/ucb-bar/chipyard into o…
nayiri-k Mar 14, 2023
0ed7964
adding a note about openroad freezing post-detailed_route [skip ci]
nayiri-k Mar 14, 2023
2d5b861
bumped hammer version, everything 'should just work'
nayiri-k Mar 14, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 55 additions & 0 deletions .github/workflows/chipyard-full-flow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,61 @@ jobs:
source env.sh
cd sims/verilator
make verilog
- name: VLSI test
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@abejgonzalez here is the VLSI tutorial flow, it currently passes CI but maybe it's a bit too hacky?

run: |
cd ${{ env.REMOTE_WORK_DIR }}
eval "$(conda shell.bash hook)"
source env.sh

cd vlsi

# NOTE: most conda installs are in separate conda envs because they mess up
# each other's versions (for no apparent reason) and we need the latest versions
conda config --add channels defaults
conda config --add channels litex-hub

# installs for example-sky130.yml
conda create -y --prefix ./.conda-sky130 open_pdks.sky130a=1.0.399_0_g63dbde9
git clone https://github.com/rahulk29/sram22_sky130_macros.git

# installs for example-openroad.yml
conda create -y --prefix ./.conda-yosys yosys=0.27_4_gb58664d44
conda create -y --prefix ./.conda-openroad openroad=2.0_7070_g0264023b6
conda create -y --prefix ./.conda-klayout klayout=0.28.5_98_g87e2def28
conda create -y --prefix ./.conda-signoff magic=8.3.376_0_g5e5879c netgen=1.5.250_0_g178b172

echo "# Tutorial configs" > tutorial.yml
echo "# pdk" > tutorial.yml
echo "technology.sky130.sky130A: $PWD/.conda-sky130/share/pdk/sky130A" >> tutorial.yml
echo "technology.sky130.sram22_sky130_macros: $PWD/sram22_sky130_macros" >> tutorial.yml
echo "" >> tutorial.yml
echo "# tools" >> tutorial.yml
echo "synthesis.yosys.yosys_bin: $PWD/.conda-yosys/bin/yosys" >> tutorial.yml
echo "par.openroad.openroad_bin: $PWD/.conda-openroad/bin/openroad" >> tutorial.yml
echo "par.openroad.klayout_bin: $PWD/.conda-klayout/bin/klayout" >> tutorial.yml
echo "drc.magic.magic_bin: $PWD/.conda-signoff/bin/magic" >> tutorial.yml
echo "lvs.netgen.netgen_bin: $PWD/.conda-signoff/bin/netgen" >> tutorial.yml
echo "" >> tutorial.yml
echo "# speed up tutorial runs & declutter log output" >> tutorial.yml
echo "par.openroad.timing_driven: false" >> tutorial.yml
echo "par.openroad.write_reports: false" >> tutorial.yml

conda config --remove channels litex-hub
conda config --remove channels defaults

export tutorial=sky130-openroad
export EXTRA_CONFS=tutorial.yml
export VLSI_TOP=RocketTile
make buildfile
make syn
# openroad freezes during some write commands after detailed route
# so need to stop the flow & run last step separately
make par HAMMER_EXTRA_ARGS="--stop_after_step extraction"
make redo-par HAMMER_EXTRA_ARGS="--start_before_step extraction"
make drc
# doesn't work for now bc of hammer sky130 plugin bug, fix in next release
# make lvs


cleanup:
name: cleanup
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@ These additional publications cover many of the internal components used in Chip
* **FireMarshal**: N. Pemberton, et al., *ISPASS'21*. [PDF](https://ieeexplore.ieee.org/document/9408192).
* **VLSI**
* **Hammer**: E. Wang, et al., *ISQED'20*. [PDF](https://www.isqed.org/English/Archives/2020/Technical_Sessions/113.html).
* **Hammer**: H. Liew, et al., *DAC'22*. [PDF](https://dl.acm.org/doi/abs/10.1145/3489517.3530672).

## Acknowledgements

Expand Down
4 changes: 3 additions & 1 deletion conda-reqs/chipyard.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
channels:
- ucb-bar
- litex-hub
- conda-forge
- nodefaults

Expand Down Expand Up @@ -100,8 +101,9 @@ dependencies:

# hammer packages
- sty
- open_pdks.sky130a
- pip:
- hammer-vlsi[asap7]==1.0.1
- hammer-vlsi[asap7]==1.0.4

# doc requirements
- sphinx
Expand Down
Loading