In reply to tfitz:
With pre-packaged VIP, such as Mentor VIP, you can be confident that the protocol is modeled correctly in the VIP, so you just have to worry about getting it right in your DUT.
Good luck,
I’m stuck at this point.
If my DUT (Device Under Test) only has a bus interface and I am using VIP (Verification IP) for verification, I might wonder if I still need to create a local driver, sequencer, etc.
For example, let’s say my “Timer_DUT” has some registers (reg_A, reg_B, reg_C) and an AHB interface. I can use the AHB VIP, which already has many components implemented, except for the scoreboard. However, AHB VIP is for controlling the AHB bus, not specifically for the Timer_DUT. So, I might think that I need to create UVM components like sequences, sequence items, driver, and monitor for the Timer_DUT.
But since the AHB VIP interfaces with the actual Timer_DUT, some of the components in my Timer_DUT UVM environment might not make much sense, except for the AHB agent.
For instance, the sequencer and driver for the Timer_DUT might not be necessary in my UVM configuration if I simply want to write a value into reg_A on the Timer_DUT and observe what happens.
So, the main question is, if my DUT only consists of bus protocols and is controlled by a VIP, do I still need a my driver or my sequencer, and if yes, how should I configure it? Considering that the AHB driver is already implemented in the VIP, what should I implement in my own driver?