Skip to content

Commit

Permalink
axi_llc: Initial version
Browse files Browse the repository at this point in the history
  • Loading branch information
WRoenninger authored and thommythomaso committed Sep 1, 2022
0 parents commit 29fd76f
Show file tree
Hide file tree
Showing 68 changed files with 15,172 additions and 0 deletions.
203 changes: 203 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,203 @@
# Copyright 2022 ETH Zurich and University of Bologna.
# Solderpad Hardware License, Version 0.51, see LICENSE for details.
# SPDX-License-Identifier: SHL-0.51

# Author: Michael Rogenmoser <michaero@iis.ee.ethz.ch>

name: ci

on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
workflow_dispatch:

env:
BENDER: ./bender

jobs:
check-clean:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: '3.9'
cache: 'pip'
- name: Install Bender
run: make bender
- name: Python Requirements
run: pip install -r requirements.txt
- name: Check clean make targets
run: |
make -B all
make clean
git status && test -z "$(git status --porcelain)"
check-stale:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: '3.9'
cache: 'pip'
- name: Install Bender
run: make bender
- name: Python Requirements
run: pip install -r requirements.txt
- name: Check clean makefile
run: |
make -B all
git status && test -z "$(git status --porcelain)"
lint:
runs-on: ubuntu-latest
needs: [check-clean, check-stale]
strategy:
fail-fast: false
matrix:
lint_check: [license, python]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: '3.9'
cache: 'pip'
- name: Python Requirements
run: python3 -m pip install -r requirements.txt
- name: Install Bender
run: make bender
- name: Lint license
if: ${{ matrix.lint_check == 'license' }}
run: scripts/check-license
- name: Lint python
if: ${{ matrix.lint_check == 'python' }}
run: scripts/python-lint
lint-commit:
runs-on: ubuntu-latest
needs: [check-clean, check-stale]
steps:
- uses: actions/checkout@v3
if: ${{ github.event_name == 'push' }}
- uses: actions/checkout@v3
if: ${{ github.event_name == 'pull_request' }}
with:
ref: ${{ github.event.pull_request.head.sha }}
- uses: actions/setup-python@v4
with:
python-version: '3.9'
cache: 'pip'
- name: Python Requirements
run: python3 -m pip install -r requirements.txt
- name: Lint commits
run: python3 util/lint-commits.py HEAD

# lint-verilog:
# runs-on: ubuntu-latest
# needs: [check-clean, check-stale]
# steps:
# - uses: actions/checkout@v3
# - uses: chipsalliance/verible-linter-action@main
# with:
# paths: |
# ./src
# exclude_paths: |
# ./test
# extra_args: "--rules=-interface-name-style --lint_fatal --parse_fatal --waiver_files util/waiver.verible"
# github_token: ${{ secrets.GITHUB_TOKEN }}
# reviewdog_reporter: github-check

analyze-contributors:
runs-on: ubuntu-latest
needs: lint
steps:
- uses: actions/checkout@v3
- name: List contributors
run: scripts/list-contributors | tee contributions.txt
- name: Upload contributions.txt
uses: actions/upload-artifact@v2
with:
name: contributions
path: contributions.txt
retention-days: 7
analyze-todos:
runs-on: ubuntu-latest
needs: lint
continue-on-error: true
steps:
- uses: actions/checkout@v3
- name: List todos
run: scripts/list-todos | tee open_todos.txt
- name: Upload todos.txt
uses: actions/upload-artifact@v2
with:
name: open_todos
path: open_todos.txt
retention-days: 7

docs:
runs-on: ubuntu-22.04
needs: [lint] # , lint-verilog
env:
MORTY: ./morty
steps:
- uses: actions/checkout@v3
- name: Install Bender
run: make bender
- name: Setup Graphviz
uses: ts-graphviz/setup-graphviz@v1
- uses: actions/setup-python@v4
with:
python-version: '3.9'
cache: 'pip'
- name: Python Requirements
run: python3 -m pip install -r requirements.txt
- name: Install Morty
run: |
curl --proto '=https' --tlsv1.2 -sLO https://github.com/pulp-platform/morty/releases/download/v0.8.0/morty-ubuntu.22.04-x86_64.tar.gz
tar -xvf morty-ubuntu.22.04-x86_64.tar.gz morty
rm -f morty-ubuntu.22.04-x86_64.tar.gz
- name: Build Doc
run: make doc
- name: Pickle
run: make -B pickle
- name: Graph
run: make graph
- name: Upload doc
uses: actions/upload-artifact@v2
with:
name: doc
path: doc/morty
retention-days: 7
- name: Upload graph
uses: actions/upload-artifact@v2
with:
name: graph
path: doc/morty-graph
retention-days: 7
- name: Upload pickle
uses: actions/upload-artifact@v2
with:
name: pickle
path: pickle
retention-days: 7
- name: Create publish docs
if: ${{ github.event_name == 'push' }}
uses: actions/upload-pages-artifact@main
with:
path: doc/morty

deploy-pages:
needs: docs
permissions:
pages: write
id-token: write
environment:
name: github-pages
url: ${{ steps.deployment.output.page_url }}
runs-on: ubuntu-latest
if: ${{ github.event_name == 'push' }}
steps:
- name: Deploy to Github Pages
id: deployment
uses: actions/deploy-pages@v1
15 changes: 15 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
.bender
.nfs*
AN.DB
modelsim.ini
work
transcript
*.wlf
scripts/compile_vsim.tcl
scripts/compile_vcs.sh
scripts/__pycache__
bin
sources*.txt
pickle
doc/morty*
bender
142 changes: 142 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
# Copyright 2022 ETH Zurich and University of Bologna.
# Solderpad Hardware License, Version 0.51, see LICENSE for details.
# SPDX-License-Identifier: SHL-0.51

# Author: Thomas Benz <tbenz@iis.ee.ethz.ch>

before_script:
- source ~paulsc/.bashrc

stages:
- compile
- simulate-Questa
- simulate-Questa-multivers

vsim-compile:
stage: compile
script:
- make scripts/compile_vsim.tcl
- questa-2021.3 vsim -64 -c -do "source scripts/compile_vsim.tcl; quit"
- (! grep -n "Error:" transcript)
- (! grep -n "Fatal:" transcript)
artifacts:
expire_in: 1 week
paths:
- work

vsim-axi_llc:
stage: simulate-Questa
needs:
- vsim-compile
script:
- questa-2021.3 vsim -64 -c -t 1ps -voptargs=+acc tb_axi_llc -logfile logs/axi_llc.vsim.log -wlf logs/axi_llc.wlf -do "run -all"
- (! grep -n "Error:" logs/axi_llc.vsim.log)
- (! grep -n "Fatal:" logs/axi_llc.vsim.log)
artifacts:
paths:
- logs/axi_llc.vsim.log

vsim-10.7b-kgf-vers:
stage: simulate-Questa-multivers
allow_failure: true
script:
- make scripts/compile_vsim.tcl
- vlib-10.7b-kgf work
- vsim-10.7b-kgf -c -do "source scripts/compile_vsim.tcl; quit"
- vsim-10.7b-kgf -64 -c -t 1ps -voptargs=+acc tb_axi_llc -logfile logs/axi_llc.vsim.log -wlf logs/axi_llc.wlf -do "run -all"
- (! grep -n "Error:" logs/axi_llc.vsim.log)
- (! grep -n "Fatal:" logs/axi_llc.vsim.log)
- (! grep -n "No Design Loaded!" logs/axi_llc.vsim.log)
artifacts:
paths:
- logs/axi_llc.vsim.log

vsim-10.7e-kgf-vers:
stage: simulate-Questa-multivers
allow_failure: true
script:
- make scripts/compile_vsim.tcl
- vlib-10.7e-kgf work
- vsim-10.7e-kgf -c -do "source scripts/compile_vsim.tcl; quit"
- vsim-10.7e-kgf -64 -c -t 1ps -voptargs=+acc tb_axi_llc -logfile logs/axi_llc.vsim.log -wlf logs/axi_llc.wlf -do "run -all"
- (! grep -n "Error:" logs/axi_llc.vsim.log)
- (! grep -n "Fatal:" logs/axi_llc.vsim.log)
- (! grep -n "No Design Loaded!" logs/axi_llc.vsim.log)
artifacts:
paths:
- logs/axi_llc.vsim.log

questa-2019.3-kgf-vers:
stage: simulate-Questa-multivers
allow_failure: true
script:
- make scripts/compile_vsim.tcl
- questa-2019.3-kgf vlib work
- questa-2019.3-kgf vsim -c -do "source scripts/compile_vsim.tcl; quit"
- questa-2019.3-kgf vsim -64 -c -t 1ps -voptargs=+acc tb_axi_llc -logfile logs/axi_llc.vsim.log -wlf logs/axi_llc.wlf -do "run -all"
- (! grep -n "Error:" logs/axi_llc.vsim.log)
- (! grep -n "Fatal:" logs/axi_llc.vsim.log)
- (! grep -n "No Design Loaded!" logs/axi_llc.vsim.log)
artifacts:
paths:
- logs/axi_llc.vsim.log

questa-2020.1-kgf-vers:
stage: simulate-Questa-multivers
allow_failure: true
script:
- make scripts/compile_vsim.tcl
- questa-2020.1-kgf vlib work
- questa-2020.1-kgf vsim -c -do "source scripts/compile_vsim.tcl; quit"
- questa-2020.1-kgf vsim -64 -c -t 1ps -voptargs=+acc tb_axi_llc -logfile logs/axi_llc.vsim.log -wlf logs/axi_llc.wlf -do "run -all"
- (! grep -n "Error:" logs/axi_llc.vsim.log)
- (! grep -n "Fatal:" logs/axi_llc.vsim.log)
- (! grep -n "No Design Loaded!" logs/axi_llc.vsim.log)
artifacts:
paths:
- logs/axi_llc.vsim.log

questa-2021.1-bt-vers:
stage: simulate-Questa-multivers
allow_failure: true
script:
- make scripts/compile_vsim.tcl
- questa-2021.1-bt vlib work
- questa-2021.1-bt vsim -c -do "source scripts/compile_vsim.tcl; quit"
- questa-2021.1-bt vsim -64 -c -t 1ps -voptargs=+acc tb_axi_llc -logfile logs/axi_llc.vsim.log -wlf logs/axi_llc.wlf -do "run -all"
- (! grep -n "Error:" logs/axi_llc.vsim.log)
- (! grep -n "Fatal:" logs/axi_llc.vsim.log)
- (! grep -n "No Design Loaded!" logs/axi_llc.vsim.log)
artifacts:
paths:
- logs/axi_llc.vsim.log

questa-2021.2-bt-vers:
stage: simulate-Questa-multivers
allow_failure: true
script:
- make scripts/compile_vsim.tcl
- questa-2021.2-bt vlib work
- questa-2021.2-bt vsim -c -do "source scripts/compile_vsim.tcl; quit"
- questa-2021.2-bt vsim -64 -c -t 1ps -voptargs=+acc tb_axi_llc -logfile logs/axi_llc.vsim.log -wlf logs/axi_llc.wlf -do "run -all"
- (! grep -n "Error:" logs/axi_llc.vsim.log)
- (! grep -n "Fatal:" logs/axi_llc.vsim.log)
- (! grep -n "No Design Loaded!" logs/axi_llc.vsim.log)
artifacts:
paths:
- logs/axi_llc.vsim.log

questa-2021.3-kgf-vers:
stage: simulate-Questa-multivers
allow_failure: true
script:
- make scripts/compile_vsim.tcl
- questa-2021.3-kgf vlib work
- questa-2021.3-kgf vsim -c -do "source scripts/compile_vsim.tcl; quit"
- questa-2021.3-kgf vsim -64 -c -t 1ps -voptargs=+acc tb_axi_llc -logfile logs/axi_llc.vsim.log -wlf logs/axi_llc.wlf -do "run -all"
- (! grep -n "Error:" logs/axi_llc.vsim.log)
- (! grep -n "Fatal:" logs/axi_llc.vsim.log)
- (! grep -n "No Design Loaded!" logs/axi_llc.vsim.log)
artifacts:
paths:
- logs/axi_llc.vsim.log
31 changes: 31 additions & 0 deletions Bender.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
packages:
axi:
revision: 9a53b3c66d32725e5c5656b02e1caf07c5f79a97
version: 0.37.0
source:
Git: https://github.com/pulp-platform/axi.git
dependencies:
- common_cells
- common_verification
- tech_cells_generic
common_cells:
revision: b59eca3c1747b28022573e37aa91a151808d1db5
version: 1.26.0
source:
Git: https://github.com/pulp-platform/common_cells.git
dependencies:
- common_verification
- tech_cells_generic
common_verification:
revision: 5def6fee3f010b603357d7b941661892aeafcc5d
version: 0.2.2
source:
Git: https://github.com/pulp-platform/common_verification.git
dependencies: []
tech_cells_generic:
revision: e6226a6f374eb88fed84d4989bb3f066cb470f33
version: 0.2.9
source:
Git: https://github.com/pulp-platform/tech_cells_generic.git
dependencies:
- common_verification
Loading

0 comments on commit 29fd76f

Please sign in to comment.