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

Multiprotocol iDMA: Add AXI Lite and OBI #20

Merged
merged 1 commit into from
Nov 11, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
20 changes: 20 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,26 @@ tiny-dma-run:
job: prepare-non-free
strategy: depend

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

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

4d-ext-run:
stage: iDMA
needs:
Expand Down
12 changes: 6 additions & 6 deletions Bender.lock
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
packages:
axi:
revision: 9a53b3c66d32725e5c5656b02e1caf07c5f79a97
version: 0.37.0
revision: af8b0ce2653997301b1b792c4c6d207b95f63a56
version: 0.39.0-beta.2
source:
Git: https://github.com/pulp-platform/axi.git
dependencies:
Expand All @@ -17,14 +17,14 @@ packages:
- common_verification
- tech_cells_generic
common_verification:
revision: 5def6fee3f010b603357d7b941661892aeafcc5d
version: 0.2.2
revision: 9c07fa860593b2caabd9b5681740c25fac04b878
version: 0.2.3
source:
Git: https://github.com/pulp-platform/common_verification.git
dependencies: []
register_interface:
revision: 1e23b79db80cb89b4d27fdbd10776df33d6a2ff4
version: 0.3.3
revision: 9fc63015615acb11111e4bc3e858381e3e72405d
version: 0.3.6
source:
Git: https://github.com/pulp-platform/register_interface.git
dependencies:
Expand Down
13 changes: 12 additions & 1 deletion Bender.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ package:
dependencies:
common_cells: { git: "https://github.com/pulp-platform/common_cells.git", version: 1.26.0 }
common_verification: { git: "https://github.com/pulp-platform/common_verification.git", version: 0.2.2 }
axi: { git: "https://github.com/pulp-platform/axi.git", version: 0.37.0 }
axi: { git: "https://github.com/pulp-platform/axi.git", version: 0.39.0-beta.2 }
register_interface: { git: "https://github.com/pulp-platform/register_interface.git", version: 0.3.1 }

export_include_dirs:
Expand All @@ -31,6 +31,8 @@ sources:
- src/idma_channel_coupler.sv
# Level 2
- src/idma_axi_transport_layer.sv
- src/idma_axi_lite_transport_layer.sv
- src/idma_obi_transport_layer.sv
- src/idma_legalizer.sv
# Level 3
- src/idma_backend.sv
Expand Down Expand Up @@ -81,18 +83,27 @@ sources:
- target: synthesis
files:
- src/synth_wrapper/idma_backend_synth.sv
- src/synth_wrapper/idma_lite_backend_synth.sv
- src/synth_wrapper/idma_obi_backend_synth.sv
- src/synth_wrapper/idma_nd_backend_synth.sv

- target: test
defines:
TARGET_SIMULATION: ~
include_dirs:
- test
files:
# Level 0:
- test/idma_intf.sv
- test/idma_tb_per2axi.sv
- test/idma_obi_asserter.sv
# Level 1:
- test/idma_test.sv
- test/idma_obi2axi_bridge.sv
# Level 2:
- test/tb_idma_backend.sv
- test/tb_idma_lite_backend.sv
- test/tb_idma_obi_backend.sv
- test/tb_idma_nd_backend.sv

- target: test # 64bit descriptor frontend
Expand Down
18 changes: 14 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,14 +56,24 @@ a simulation can be launched using:

```bash
make prepare_sim
vsim -c -do "source scripts/compile_vsim.tcl; quit"
vsim -c -t 1ps -voptargs=+acc \
+job_file=jobs/backend/man_simple.txt \
export VSIM="questa-2022.3 vsim"
$VSIM -c -do "source scripts/compile_vsim.tcl; quit"
TheMightyDuckOfDoom marked this conversation as resolved.
Show resolved Hide resolved
$VSIM -c -t 1ps -voptargs=+acc \
+job_file=jobs/backend/man_same_dst_simple.txt \
-logfile logs/backend.simple.vsim.log \
-wlf logs/backend.simple.wlf \
tb_idma_backend \
tb_idma_obi_backend \
-do "source scripts/start_vsim.tcl; run -all"
```
with gui:
```
$VSIM -t 1ps -voptargs=+acc \
+job_file=jobs/backend/man_same_dst_simple.txt \
-logfile logs/backend.simple.vsim.log \
-wlf logs/backend.simple.wlf \
tb_idma_obi_backend \
-do "source scripts/start_vsim.tcl; source scripts/waves/vsim_obi_backend.do; run -all"
```

Where:
- `+job_file=jobs/backend/man_simple.txt` can point to any valid [job file](jobs/README.md)
Expand Down
63 changes: 53 additions & 10 deletions jobs.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,17 @@
"backend" : {
"seed" : 1336,
"man_jobs" : {
"simple" : "backend/man_simple.txt",
"huge" : "backend/man_huge.txt",
"large" : "backend/man_large.txt",
"medium" : "backend/man_medium.txt",
"mixed" : "backend/man_mixed.txt",
"small" : "backend/man_small.txt",
"tiny" : "backend/man_tiny.txt",
"error_simple" : "backend/man_error_simple.txt",
"error_mixed" : "backend/man_error_mixed.txt",
"zero_transfer" : "backend/man_zero_transfer.txt"
"simple" : "backend/man_simple.txt",
"same_dst_simple" : "backend/man_same_dst_simple.txt",
"huge" : "backend/man_huge.txt",
"large" : "backend/man_large.txt",
"medium" : "backend/man_medium.txt",
"mixed" : "backend/man_mixed.txt",
"small" : "backend/man_small.txt",
"tiny" : "backend/man_tiny.txt",
"error_simple" : "backend/man_error_simple.txt",
"error_mixed" : "backend/man_error_mixed.txt",
"zero_transfer" : "backend/man_zero_transfer.txt"
},
"gen_jobs" : {
},
Expand Down Expand Up @@ -68,6 +69,48 @@
"ErrorHandling" : 0
}
},
"lite-backend" : {
"seed" : 1336,
"man_jobs" : {
"simple" : "backend/man_simple.txt",
"same_dst_simple" : "backend/man_same_dst_simple.txt",
"huge" : "backend/man_huge.txt",
"large" : "backend/man_large.txt",
"medium" : "backend/man_medium.txt",
"mixed" : "backend/man_mixed.txt",
"small" : "backend/man_small.txt",
"tiny" : "backend/man_tiny.txt",
"error_simple" : "backend/man_error_simple.txt",
"error_mixed" : "backend/man_error_mixed.txt",
"zero_transfer" : "backend/man_zero_transfer.txt"
},
"gen_jobs" : {
},
"testbench" : "tb_idma_lite_backend",
"synth_top" : "idma_lite_backend_synth",
"overrides" : {
}
},
"obi-backend" : {
"seed" : 1336,
"man_jobs" : {
"simple" : "backend/man_simple.txt",
"same_dst_simple" : "backend/man_same_dst_simple.txt",
"huge" : "backend/man_huge.txt",
"large" : "backend/man_large.txt",
"medium" : "backend/man_medium.txt",
"mixed" : "backend/man_mixed.txt",
"small" : "backend/man_small.txt",
"tiny" : "backend/man_tiny.txt",
"zero_transfer" : "backend/man_zero_transfer.txt"
},
"gen_jobs" : {
},
"testbench" : "tb_idma_obi_backend",
"synth_top" : "idma_obi_backend_synth",
"overrides" : {
}
},
"4d-ext" : {
"seed" : 1336,
"man_jobs" : {
Expand Down
Loading