Skip to content

Commit a25b415

Browse files
Merge pull request #272 from pulp-platform/synth_chan_compare-tbenz
Add synthesizable verification modules that compare two buses and two slave devices.
2 parents 602e5cf + 8810353 commit a25b415

File tree

9 files changed

+1340
-0
lines changed

9 files changed

+1340
-0
lines changed

Bender.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ sources:
3535
# Level 2
3636
- src/axi_atop_filter.sv
3737
- src/axi_burst_splitter.sv
38+
- src/axi_bus_compare.sv
3839
- src/axi_cdc_dst.sv
3940
- src/axi_cdc_src.sv
4041
- src/axi_cut.sv
@@ -58,6 +59,7 @@ sources:
5859
- src/axi_modify_address.sv
5960
- src/axi_mux.sv
6061
- src/axi_serializer.sv
62+
- src/axi_slave_compare.sv
6163
- src/axi_throttle.sv
6264
- src/axi_to_mem.sv
6365
# Level 3
@@ -97,6 +99,7 @@ sources:
9799
# Level 1
98100
- test/tb_axi_addr_test.sv
99101
- test/tb_axi_atop_filter.sv
102+
- test/tb_axi_bus_compare.sv
100103
- test/tb_axi_cdc.sv
101104
- test/tb_axi_delayer.sv
102105
- test/tb_axi_dw_downsizer.sv
@@ -112,6 +115,7 @@ sources:
112115
- test/tb_axi_modify_address.sv
113116
- test/tb_axi_serializer.sv
114117
- test/tb_axi_sim_mem.sv
118+
- test/tb_axi_slave_compare.sv
115119
- test/tb_axi_to_axi_lite.sv
116120
- test/tb_axi_to_mem_banked.sv
117121
- test/tb_axi_xbar.sv

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
99

1010
### Added
1111
- Add `axi_channel_compare.sv`: Non-synthesizable module comparing two AXI channels of the same type
12+
- Add `axi_bus_compare` and `axi_slave_compare`; two synthesizable verification IPs meant to be used
13+
to compare two AXI buses on an FPGA.
1214

1315
### Changed
1416
- `axi_demux`: Replace FIFO between AW and W channel by a register plus a counter. This prevents

README.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,15 @@ In addition to the documents linked in the following table, we are setting up [d
6161
| [`axi_xbar`](src/axi_xbar.sv) | Fully-connected AXI4+ATOP crossbar with an arbitrary number of slave and master ports. | [Doc](doc/axi_xbar.md) |
6262
| [`axi_xp`](src/axi_xp.sv) | AXI Crosspoint (XP) with homomorphous slave and master ports. | |
6363

64+
## Synthesizable Verification Modules
65+
66+
The following modules are meant to be used for verification purposes only but are synthesizable to be used in FPGA environments.
67+
68+
| Name | Description |
69+
|------------------------------------------------------|---------------------------------------------------------------------------------------------------------|
70+
| [`axi_bus_compare`](src/axi_bus_compare.sv) | Compares two buses of the same type (and in the same clock domain), returns events on mismatch. |
71+
| [`axi_slave_compare`](src/axi_slave_compare.sv) | Compares two slave devices of the same type (and in the same clock domain), returns events on mismatch. |
72+
6473
### Simulation-Only Modules
6574

6675
In addition to the modules above, which are available in synthesis and simulation, the following modules are available only in simulation. Those modules are widely used in our testbenches, but they are also suitable to build testbenches for AXI modules and systems outside this repository.

axi.core

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ filesets:
1717
# Level 2
1818
- src/axi_atop_filter.sv
1919
- src/axi_burst_splitter.sv
20+
- src/axi_bus_compare.sv
2021
- src/axi_cdc_dst.sv
2122
- src/axi_cdc_src.sv
2223
- src/axi_cut.sv
@@ -40,6 +41,7 @@ filesets:
4041
- src/axi_modify_address.sv
4142
- src/axi_mux.sv
4243
- src/axi_serializer.sv
44+
- src/axi_slave_compare.sv
4345
- src/axi_throttle.sv
4446
- src/axi_to_mem.sv
4547
# Level 3
@@ -73,6 +75,7 @@ filesets:
7375
- test/axi_synth_bench.sv
7476
- test/tb_axi_addr_test.sv
7577
- test/tb_axi_atop_filter.sv
78+
- test/tb_axi_bus_compare.sv
7679
- test/tb_axi_cdc.sv
7780
- test/tb_axi_delayer.sv
7881
- test/tb_axi_dw_downsizer.sv
@@ -88,6 +91,7 @@ filesets:
8891
- test/tb_axi_modify_address.sv
8992
- test/tb_axi_serializer.sv
9093
- test/tb_axi_sim_mem.sv
94+
- test/tb_axi_slave_compare.sv
9195
- test/tb_axi_to_axi_lite.sv
9296
- test/tb_axi_to_mem_banked.sv
9397
- test/tb_axi_xbar.sv

0 commit comments

Comments
 (0)