Skip to content

Commit

Permalink
iDMA: Redesign iDMA architecture
Browse files Browse the repository at this point in the history
  • Loading branch information
thommythomaso committed Aug 5, 2022
1 parent 857ae03 commit 7f01a27
Show file tree
Hide file tree
Showing 144 changed files with 1,264,886 additions and 5,675 deletions.
105 changes: 105 additions & 0 deletions .ci/gitlab-ci.yml.tpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
# 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>

variables:
SPHINXBUILD: "/home/tbenz/.local/bin/sphinx-build"
MORTY: "/home/tbenz/.cargo/bin/morty"

before_script:
- source ~paulsc/.bashrc

stages:
- check
- lint
- analyze
- pickle
- doc
- prepare-non-free
- iDMA


lint-commits:
stage: lint
script:
- python3 util/lint-commits.py HEAD

lint-license:
stage: lint
script:
- scripts/check-license

lint-verilog:
stage: lint
script:
- scripts/verible-lint

lint-python:
stage: lint
script:
- scripts/python-lint

check-clean:
stage: check
script:
- make -B prepare_sim gen_ci gen_regs
- make clean
- git status && test -z "$(git status --porcelain)"

check-stale:
stage: check
script:
- make -B prepare_sim gen_ci gen_regs
- git status && test -z "$(git status --porcelain)"

analyze-contributors:
stage: analyze
script: scripts/list-contributors | tee contributions.txt
artifacts:
paths:
- contributions.txt

analyze-todos:
stage: analyze
allow_failure: true
script: scripts/list-todos | tee open_todos.txt
artifacts:
paths:
- open_todos.txt

doc:
stage: doc
script:
- make doc
artifacts:
expire_in: 1 week
paths:
- doc/build

morty-pickle:
stage: pickle
script:
- make -B pickle
artifacts:
expire_in: 1 week
paths:
- pickle


############# Below: only works on IIS machines ####################

prepare-non-free:
stage: prepare-non-free
script:
- git clone [email protected]:bslk/idma-non-free.git
- cd idma-non-free
- git checkout deploy
- make -B gen_sub_ci
artifacts:
paths:
- idma-non-free/ci/*.yml


# Below: Automatically generated by util/gen_ci.py
30 changes: 23 additions & 7 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,13 +1,29 @@
.bender
work
scripts/compile.tcl
doc/build
logs/*
!logs/.gitkeep
scripts/__pycache__
scripts/compile_vsim.tcl
scripts/compile_vcs.sh
verilator/files*.txt
work
*.wlf
dma_trace*.log
dma_trace*.txt
dma_transfers*
modelsim.ini
transcript
doc/build
Bender.lock
*.vstf
vc_hdrs.h
ucli.key
work-vcs
bin
*.elf
AN.DB
*.log
obj_*
sources.txt
pickle
*.frag
contributions.txt
open_todos.txt
gmon.out
.nfs*
*non-free*
146 changes: 146 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
# 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 <[email protected]>

variables:
SPHINXBUILD: "/home/tbenz/.local/bin/sphinx-build"
MORTY: "/home/tbenz/.cargo/bin/morty"

before_script:
- source ~paulsc/.bashrc

stages:
- check
- lint
- analyze
- pickle
- doc
- prepare-non-free
- iDMA


lint-commits:
stage: lint
script:
- python3 util/lint-commits.py HEAD

lint-license:
stage: lint
script:
- scripts/check-license

lint-verilog:
stage: lint
script:
- scripts/verible-lint

lint-python:
stage: lint
script:
- scripts/python-lint

check-clean:
stage: check
script:
- make -B prepare_sim gen_ci gen_regs
- make clean
- git status && test -z "$(git status --porcelain)"

check-stale:
stage: check
script:
- make -B prepare_sim gen_ci gen_regs
- git status && test -z "$(git status --porcelain)"

analyze-contributors:
stage: analyze
script: scripts/list-contributors | tee contributions.txt
artifacts:
paths:
- contributions.txt

analyze-todos:
stage: analyze
allow_failure: true
script: scripts/list-todos | tee open_todos.txt
artifacts:
paths:
- open_todos.txt

doc:
stage: doc
script:
- make doc
artifacts:
expire_in: 1 week
paths:
- doc/build

morty-pickle:
stage: pickle
script:
- make -B pickle
artifacts:
expire_in: 1 week
paths:
- pickle


############# Below: only works on IIS machines ####################

prepare-non-free:
stage: prepare-non-free
script:
- git clone [email protected]:bslk/idma-non-free.git
- cd idma-non-free
- git checkout deploy
- make -B gen_sub_ci
artifacts:
paths:
- idma-non-free/ci/*.yml


# Below: Automatically generated by util/gen_ci.py

backend-run:
stage: iDMA
needs:
- prepare-non-free
trigger:
include:
- artifact: idma-non-free/ci/gitlab-backend-ci.yml
job: prepare-non-free
strategy: depend

backend-occamy-run:
stage: iDMA
needs:
- prepare-non-free
trigger:
include:
- artifact: idma-non-free/ci/gitlab-backend-occamy-ci.yml
job: prepare-non-free
strategy: depend

tiny-dma-run:
stage: iDMA
needs:
- prepare-non-free
trigger:
include:
- artifact: idma-non-free/ci/gitlab-tiny-dma-ci.yml
job: prepare-non-free
strategy: depend

4d-ext-run:
stage: iDMA
needs:
- prepare-non-free
trigger:
include:
- artifact: idma-non-free/ci/gitlab-4d-ext-ci.yml
job: prepare-non-free
strategy: depend

39 changes: 39 additions & 0 deletions Bender.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
packages:
axi:
revision: 416d7aa3083bdf461c349d2e0e5116feaa194d38
version: 0.35.3
source:
Git: "https://github.com/pulp-platform/axi.git"
dependencies:
- common_cells
- common_verification
common_cells:
revision: 88a08fd4e365ec258375a326c30c20726eaa4fa2
version: 1.24.1
source:
Git: "https://github.com/pulp-platform/common_cells.git"
dependencies:
- common_verification
- tech_cells_generic
common_verification:
revision: b616c1a25aea3b76e32dcbed2ec87d057efdcffd
version: 0.2.1
source:
Git: "https://github.com/pulp-platform/common_verification.git"
dependencies: []
register_interface:
revision: e32e6fde632f3cd21861b2ce47045a8bacb5216f
version: 0.3.2
source:
Git: "https://github.com/pulp-platform/register_interface.git"
dependencies:
- axi
- common_cells
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 7f01a27

Please sign in to comment.