A
alb
Guest
Hi everyone,
I've started to appreciate the benefits of TLM and the usage of bus
functional models but I'm facing a small 'design' issue related to the
implementation of an autonomous monitor.
I have a full-duplex interface where both ends can initiate a packet
transfer almost independently from each other. The 'master' may send a
command which may or may not result in a reply from the 'slave', but
there are a number of packets which are spontaneously sent from the
'slave' without the need to be prompted [1].
IMO this sort of interaction calls for the implementation of a 'monitor'
which sense the output of the DUT and performs all sorts of protocol
checks. This can be instantiated as part of the BFM but now what to do
with the data?
Dump the data in a file for later usage is kind of cumbersome especially
if some packets are replies to the commands sent by the testbench.
Better approach would be to put packets in a fifo to allow the testbench
to retrieve them when needed, but how to 'match' commands and replies in
order to verify correctness?
Any idea/suggestion/hint is appreciated.
Al
[1] strictly speaking the protocol cannot be qualified as a master/slave
one but in /most/ of the cases it is.
p.s.: I know most of this stuff is part of a course offered by
SynthWorks but unfortunately I do not have currently the resources to
afford it... :-(
--
A: Because it fouls the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?
I've started to appreciate the benefits of TLM and the usage of bus
functional models but I'm facing a small 'design' issue related to the
implementation of an autonomous monitor.
I have a full-duplex interface where both ends can initiate a packet
transfer almost independently from each other. The 'master' may send a
command which may or may not result in a reply from the 'slave', but
there are a number of packets which are spontaneously sent from the
'slave' without the need to be prompted [1].
IMO this sort of interaction calls for the implementation of a 'monitor'
which sense the output of the DUT and performs all sorts of protocol
checks. This can be instantiated as part of the BFM but now what to do
with the data?
Dump the data in a file for later usage is kind of cumbersome especially
if some packets are replies to the commands sent by the testbench.
Better approach would be to put packets in a fifo to allow the testbench
to retrieve them when needed, but how to 'match' commands and replies in
order to verify correctness?
Any idea/suggestion/hint is appreciated.
Al
[1] strictly speaking the protocol cannot be qualified as a master/slave
one but in /most/ of the cases it is.
p.s.: I know most of this stuff is part of a course offered by
SynthWorks but unfortunately I do not have currently the resources to
afford it... :-(
--
A: Because it fouls the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?