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

Create a True Multiprotcol DMA Engine #22

Closed
wants to merge 34 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
fbde85a
True multiprotocol DMA
TheMightyDuckOfDoom Nov 13, 2022
727f154
Add more variants of the backend
thommythomaso Jan 13, 2023
bcfaaa4
gitignore
TheMightyDuckOfDoom Aug 24, 2023
7dccb90
CI: Use tag for idma-non-free
TheMightyDuckOfDoom Aug 24, 2023
62db638
Bender.yml*: Updated dependencies
TheMightyDuckOfDoom Aug 24, 2023
78b1e15
Regenerated ci yml
TheMightyDuckOfDoom Aug 24, 2023
4522275
Bender: test/Bender.yml update and Bender.lock
TheMightyDuckOfDoom Aug 24, 2023
2163baa
Backend: Move protocol managers in own folder
TheMightyDuckOfDoom Aug 24, 2023
49004e0
Makefile, idma-gen: Combined shifter logic cleanup
TheMightyDuckOfDoom Aug 24, 2023
7edc4e0
Bender.local: Use axi 0.39.0 to make CI runnable
TheMightyDuckOfDoom Aug 24, 2023
cca0275
Readme: Updated simulation instructions
TheMightyDuckOfDoom Aug 24, 2023
4395d0f
Legalizer: Read meta channel obi axi in DB
TheMightyDuckOfDoom Aug 25, 2023
47b9b1a
All protocols have read meta channel in DB
TheMightyDuckOfDoom Aug 25, 2023
3aeb2bd
Legalizer: single protocol write mc and dp in DB
TheMightyDuckOfDoom Aug 25, 2023
30b06b8
Bender.yml.tpl: Improvements and src_future
TheMightyDuckOfDoom Aug 25, 2023
20ddca4
src_future/Bender.yml: Fix include
TheMightyDuckOfDoom Aug 25, 2023
0d31039
Legalizer: Multiple write ports data path
TheMightyDuckOfDoom Aug 25, 2023
b1723b0
Legalizer: Single write data path fix
TheMightyDuckOfDoom Aug 25, 2023
df76c9f
Legalizer: Multiple write ports meta channel
TheMightyDuckOfDoom Aug 25, 2023
1b9b86b
TL: Remove combined_shifter generation
TheMightyDuckOfDoom Aug 25, 2023
7c7afb2
Backend: Combined Shifter is now a parameter
TheMightyDuckOfDoom Aug 25, 2023
a767646
Legalizer: Fix semicolon
TheMightyDuckOfDoom Aug 25, 2023
a4699fe
Backend: Formatting
TheMightyDuckOfDoom Aug 28, 2023
8ec6708
Removed split / combined from generated name
TheMightyDuckOfDoom Aug 28, 2023
cc75c2c
TileLink: Test read meta channel
TheMightyDuckOfDoom Aug 31, 2023
71d7145
Legalizer: TileLink meta channel
TheMightyDuckOfDoom Aug 31, 2023
603af6f
Legalizer: Simplified decouple logic
TheMightyDuckOfDoom Aug 31, 2023
70a00c7
Legalizer: Num bytes possible simplified
TheMightyDuckOfDoom Sep 1, 2023
c1f23fa
Legalizer: Changed num_bytes logic
TheMightyDuckOfDoom Sep 1, 2023
adb009b
Legalizer: Read splitter logic
TheMightyDuckOfDoom Sep 4, 2023
f00b35c
Legalizer: Write splitter logic
TheMightyDuckOfDoom Sep 5, 2023
f85c1b4
Legalizer: Fix write splitter tilelink comp. mode
TheMightyDuckOfDoom Sep 5, 2023
d1285c5
Legalizer Splitter: Pow2 and non bursting fix
TheMightyDuckOfDoom Sep 5, 2023
e6a01d9
OBI Bridge: Support 64bit data width
TheMightyDuckOfDoom Sep 6, 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
2 changes: 1 addition & 1 deletion .ci/gitlab-ci.yml.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ prepare-non-free:
script:
- git clone [email protected]:bslk/idma/idma-non-free.git
- cd idma-non-free
- git checkout deploy
- git checkout deploy-mdma
- make -B gen_sub_ci
artifacts:
paths:
Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -29,3 +29,7 @@ gmon.out
*non-free*
bender
morty
src/**/Bender.yml
src/backend/backend_*
test/tb_idma_backend_*.sv
scripts/waves/vsim_backend_*.do
146 changes: 133 additions & 13 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ prepare-non-free:
script:
- git clone [email protected]:bslk/idma/idma-non-free.git
- cd idma-non-free
- git checkout deploy
- git checkout deploy-mdma
- make -B gen_sub_ci
artifacts:
paths:
Expand All @@ -31,63 +31,183 @@ prepare-non-free:

# Below: Automatically generated by util/gen_ci.py

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2 changes: 2 additions & 0 deletions Bender.local
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
overrides:
axi: { git: "https://github.com/pulp-platform/axi.git", version: 0.39.0 }
60 changes: 52 additions & 8 deletions Bender.lock
Original file line number Diff line number Diff line change
@@ -1,16 +1,23 @@
packages:
apb:
revision: 77ddf073f194d44b9119949d2421be59789e69ae
version: 0.2.4
source:
Git: https://github.com/pulp-platform/apb.git
dependencies:
- common_cells
axi:
revision: af8b0ce2653997301b1b792c4c6d207b95f63a56
version: 0.39.0-beta.2
revision: bfee21757bf090ec8e358456314b0b0fd3c90809
version: 0.39.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
revision: 53b0b58af2db5bd3c850a7038fae170ed78326bb
version: 1.31.1
source:
Git: https://github.com/pulp-platform/common_cells.git
dependencies:
Expand All @@ -22,17 +29,54 @@ packages:
source:
Git: https://github.com/pulp-platform/common_verification.git
dependencies: []
idma_backend:
revision: null
version: null
source:
Path: /home/bsc22h2/bachelor-thesis/iDMA/src/backend
dependencies:
- axi
- common_cells
- idma_future
- idma_pkg
- tb_idma_backend
idma_future:
revision: null
version: null
source:
Path: /home/bsc22h2/bachelor-thesis/iDMA/src/backend/../../src_future
dependencies:
- common_cells
idma_pkg:
revision: null
version: null
source:
Path: /home/bsc22h2/bachelor-thesis/iDMA/src/package
dependencies:
- axi
register_interface:
revision: 9fc63015615acb11111e4bc3e858381e3e72405d
version: 0.3.6
revision: 3b2bf592100b769977c76e51812c55cd742882f6
version: 0.4.1
source:
Git: https://github.com/pulp-platform/register_interface.git
dependencies:
- apb
- axi
- common_cells
- common_verification
tb_idma_backend:
revision: null
version: null
source:
Path: /home/bsc22h2/bachelor-thesis/iDMA/src/backend/../../test
dependencies:
- axi
- common_cells
- idma_pkg
- register_interface
tech_cells_generic:
revision: e6226a6f374eb88fed84d4989bb3f066cb470f33
version: 0.2.9
revision: 298b7297d220ba2601d0f24f684f97ff32f61123
version: 0.2.12
source:
Git: https://github.com/pulp-platform/tech_cells_generic.git
dependencies:
Expand Down
Loading
Loading