Scoreboard with multiple expected queues

Hi there,

I am verifying a DMA engine which has multiple AXI stream slave interfaces and a single AXI stream master interface. I have managed to generate a basic testbench using UVVM light and axistream BFMs and am now trying to create a more comprehensive testbench using VVCs.

I understand from the documentation that a slave VVC should only have a single scoreboard associated with it. I envisage some logic to look at the TID (which defines which slave interface the data is associated with) and a mechanism to check this data against the the corresponding expected queue. Hence the scoreboard would need to support multiple expected queues.

Questions:

  • Any obvious issues with this approach or suggestions on a better way to proceed?
  • I notice that the axistream VVC does not currently feature a scoreboard - are there any examples of how this might be done as this seems to be the logical place to incorporate this functionality?

Many thanks

Hi,
There should normally be one Scoreboard per destination interface, i.e. per AXI stream slave in your case.
Yes, putting the Scoreboard inside the AXI stream would have been nice (as is done for several other interface models), but due to the fact that the AXI stream interface could be used in very many different ways we did not find a good way to include this inside the AXI stream. (Suggestions are welcome).
The recommended approach for VVC external Scoreboards is to first define a record type including everything you want to check in your AXI stream package/protocol and then instantiate a Scoreboard using this type (see scoreboard documentation). Then in your test harness make a stand-alone process to trigger on an AXI stream receive via transaction info and pass the actual data from there to the scoreboard.

– Espen