by Doug Amos
So, you’re STILL not using UVM? This article won’t help you learn any of the features of UVM, but it will point you to how you might speed up your UVM learning, your UVM adoption and even your UVM execution throughput.
Faster interfaces using transactors
Taking a look at the top-level ports of a typical DUT, in many cases these will be standard peripheral or bus interfaces (such as USB, SATA, APB etc.); the behaviour of each is well understood. We can use this known behaviour to agree short cuts in the communication between simulator and hardware. For example, instead of relying on the simulator to drive every signal change for the writing of a data value over a standard port, we place some extra hardware alongside the DUT in the FPGA(s) which makes those changes for us locally. This is shown in Figure 3 as a BFM, or Bus Functional Model.