In reply to chr_sue:
Personally, I’ve tried using TLM for these kinds of operations, and it’s always clunky and bloated.
Lets say I’ve got a sequence, and the very first thing it has to do is wait for the DUT to initialize. This happens at 7ms.
I could…
- Just have the seq wait 7.5 ms, then start.
- Use a virtual interface to detect a DUT signal going high (assuming it exists)
- Go make a new transaction, agent, the previous interface, detect that init is done, broadcast the transaction, somehow connect this to the sequence? All in the name of TLM?
I think a better approach would be to use TLM for things it is good at, and VI for what it’s good at.