N
NigelE
Guest
Davy wrote:
I can't speak for the VMM, but the AVM does use SystemVerilog mailboxes
at the heart of its tlm communication.
The reason this is not obvious to the user is because the AVM channels
(eg tlm_fifo) provide additional functionality over a pure mailbox,
with multiple communication interfaces (put, get, peek, blocking,
non-blocking ...) and analysis ports to send any transaction
written/read to/from the channel to any registered analysis components
(scoreboards, coverage collectors ...)
If you've downloaded the AVM (www.mentor.com/go/cookbook), have a look
at
utilities/systemverilog/avm/tlm/tlm_fifos.svh
for the detailed code and you'll see the mailbox construct.
Also, the AVM's use of virtual interfaces is not related to tlm
communication.
The virtual interface is the mechanism used to link the class based
verification environment to the module based dut.
Generally this is connecting a pin-level transactor (with a virtual
interface) to an actual interface on the dut.
Hope this helps
regards
- Nigel
Hi DavyHi all,
I was told that transaction layer communication is the very important
thing in SystemVerilog testbench construction.
And in VMM and AVM, they use queue (VMM) or virtual interface (AVM) to
mimic the Mail-box idea. Mail-box is defined in standard SystemVerilog
standard.
Why they don't use Mail-box directly? Or is there any disadvantage to
use Mail-box?
Best regards,
Davy
I can't speak for the VMM, but the AVM does use SystemVerilog mailboxes
at the heart of its tlm communication.
The reason this is not obvious to the user is because the AVM channels
(eg tlm_fifo) provide additional functionality over a pure mailbox,
with multiple communication interfaces (put, get, peek, blocking,
non-blocking ...) and analysis ports to send any transaction
written/read to/from the channel to any registered analysis components
(scoreboards, coverage collectors ...)
If you've downloaded the AVM (www.mentor.com/go/cookbook), have a look
at
utilities/systemverilog/avm/tlm/tlm_fifos.svh
for the detailed code and you'll see the mailbox construct.
Also, the AVM's use of virtual interfaces is not related to tlm
communication.
The virtual interface is the mechanism used to link the class based
verification environment to the module based dut.
Generally this is connecting a pin-level transactor (with a virtual
interface) to an actual interface on the dut.
Hope this helps
regards
- Nigel