Skip to content

Commit

Permalink
Multiprotocol iDMA: Add AXI Lite and OBI
Browse files Browse the repository at this point in the history
  • Loading branch information
TheMightyDuckOfDoom authored and thommythomaso committed Nov 10, 2022
1 parent 4456785 commit bf34134
Show file tree
Hide file tree
Showing 26 changed files with 5,573 additions and 216 deletions.
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: 2f395b176bee1c769c80f060a4345fda965bb04b
version: 0.38.0
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: d59b4f1c77469dcb23f370f32769af309c4add6a
version: 0.3.4
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.38.0 }
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"
$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

0 comments on commit bf34134

Please sign in to comment.