What is the difference between driver and BFM?

In reply to Reuben:

Hello Reuben ,

Driver doesn’t always wiggle the pins of the DUT. Sometimes you need to delegate all the timed behavior in the Driver to the interface (BFM), and keep the driver untimed and on the TLM level. That approach is very necessary for Co-emulations , if you read the Co-emulations section in the cookbook you will understand the benefits of that.

Also , if you pushed the timing behavior and wiggling the bins to the BFM , you will need only to change the BFM tasks if the timing behavior of the protocol changed , that would be much easier than doing that in the drivers and monitors.

BR,
-Kamal

2 Likes