alexforencich/cocotbext-axi

There aren't examples about AxiSlave, AxiLiteSlave, or from_entity

rodrigomelo9 opened this issue · 1 comments

Probably are there also other useful examples missing, but these are what I am interested in. I searched under verilog-axi/tb and cocotbext-tests:

grep -r AxiSlave verilog-axi/tb
grep -r AxiLiteSlave verilog-axi/tb
grep -r from_entity verilog-axi/tb
grep -r AxiSlave cocotbext-axi/tests/
grep -r AxiLiteSlave cocotbext-axi/tests/
grep -r from_entity cocotbext-axi/tests/

I know now that you can use .from_entity(dut) when you haven't a prefix.

There are basically two ways to use AxiSlave and AxiLiteSlave. One way is to extend from it and override _read and _write, see AxiRam and AxiLiteRam. The other way is to specify a target, for that see the readme and https://github.com/corundum/corundum/blob/master/fpga/common/tb/mqnic_core_axi/test_mqnic_core_axi.py . I don't have any examples of from_entity as this is more for things like SV interfaces, and I don't really use SV at the moment. However, I think it would make a lot of sense to add some additional test cases for things like SV interfaces as I have had people ask about several variations of those. That's on my to-do list, but probably won't happen for a while.