Skip to content

Commit 35d426a

Browse files
author
Moritz Waser
committed
add github actions
1 parent 6274b0a commit 35d426a

File tree

5 files changed

+148
-0
lines changed

5 files changed

+148
-0
lines changed

.github/workflows/docs.yaml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
name: docs
2+
3+
on:
4+
push:
5+
workflow_dispatch:
6+
7+
jobs:
8+
docs:
9+
runs-on: ubuntu-24.04
10+
steps:
11+
- name: Checkout repo
12+
uses: actions/checkout@v4
13+
with:
14+
submodules: recursive
15+
16+
- name: Build docs
17+
uses: TinyTapeout/tt-gds-action/docs@ttsky25b

.github/workflows/fpga.yaml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: fpga
2+
3+
on:
4+
push:
5+
# Comment out (or remove) the following line to run the FPGA workflow on every push:
6+
branches: none
7+
workflow_dispatch:
8+
9+
jobs:
10+
fpga:
11+
runs-on: ubuntu-24.04
12+
steps:
13+
- name: checkout repo
14+
uses: actions/checkout@v4
15+
with:
16+
submodules: recursive
17+
18+
- name: FPGA bitstream for TT ASIC Sim (ICE40UP5K)
19+
uses: TinyTapeout/tt-gds-action/fpga/ice40up5k@ttsky25b

.github/workflows/gds.yaml

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: gds
2+
3+
on:
4+
push:
5+
workflow_dispatch:
6+
7+
jobs:
8+
gds:
9+
runs-on: ubuntu-24.04
10+
steps:
11+
- name: checkout repo
12+
uses: actions/checkout@v4
13+
with:
14+
submodules: recursive
15+
16+
- name: Build GDS
17+
uses: TinyTapeout/tt-gds-action@ttsky25b
18+
with:
19+
pdk: sky130
20+
21+
precheck:
22+
needs: gds
23+
runs-on: ubuntu-24.04
24+
steps:
25+
- name: Run Tiny Tapeout Precheck
26+
uses: TinyTapeout/tt-gds-action/precheck@ttsky25b
27+
with:
28+
pdk: sky130
29+
30+
gl_test:
31+
needs: gds
32+
runs-on: ubuntu-24.04
33+
steps:
34+
- name: checkout repo
35+
uses: actions/checkout@v4
36+
with:
37+
submodules: recursive
38+
39+
- name: GL test
40+
uses: TinyTapeout/tt-gds-action/gl_test@ttsky25b
41+
with:
42+
pdk: sky130
43+
44+
viewer:
45+
needs: gds
46+
runs-on: ubuntu-24.04
47+
permissions:
48+
pages: write # to deploy to Pages
49+
id-token: write # to verify the deployment originates from an appropriate source
50+
steps:
51+
- uses: TinyTapeout/tt-gds-action/viewer@ttsky25b
52+
with:
53+
pdk: sky130

.github/workflows/test.yaml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
name: test
2+
on: [push, workflow_dispatch]
3+
jobs:
4+
test:
5+
runs-on: ubuntu-24.04
6+
steps:
7+
- name: Checkout repo
8+
uses: actions/checkout@v4
9+
with:
10+
submodules: recursive
11+
12+
- name: Install iverilog
13+
shell: bash
14+
run: sudo apt-get update && sudo apt-get install -y iverilog
15+
16+
# Set Python up and install cocotb
17+
- name: Setup python
18+
uses: actions/setup-python@v5
19+
with:
20+
python-version: '3.11'
21+
22+
- name: Install Python packages
23+
shell: bash
24+
run: pip install -r test/requirements.txt
25+
26+
- name: Run tests
27+
run: |
28+
cd test
29+
make clean
30+
make
31+
# make will return success even if the test fails, so check for failure in the results.xml
32+
! grep failure results.xml
33+
34+
- name: Test Summary
35+
uses: test-summary/[email protected]
36+
with:
37+
paths: "test/results.xml"
38+
if: always()
39+
40+
- name: upload vcd
41+
if: success() || failure()
42+
uses: actions/upload-artifact@v4
43+
with:
44+
name: test-vcd
45+
path: |
46+
test/tb.vcd
47+
test/results.xml
48+
test/output/*

.gitignore

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
.DS_Store
2+
.idea
3+
*.vcd
4+
runs
5+
tt_submission
6+
src/user_config.json
7+
src/config_merged.json
8+
test/sim_build
9+
test/__pycache__/
10+
test/results.xml
11+
test/gate_level_netlist.v

0 commit comments

Comments
 (0)