Jump to content

Clocking Blocks and Modports in UVM interfaces

Recommended Posts

A big problem with modports and virtual interfaces is that some simulators have failed to implement all the required checks (only read modport input variables, etc.), removing much of their value to the user. It may be that the LRM failed to clearly explain their intent.

Clocking blocks also suffered from poor specification in the LRM and were only recently cleared up in the 1800-2009 LRM. I do find the useful for interacting with wires inside interface.

Although designed to remove race conditions, they can introduce other race conditions especially if you mix the clocking block event with other events in the same interface. I just wrote a paper mentioning this issue at last week's DVCon.

Link to comment
Share on other sites

  • 3 months later...

Hi Dave,

as of now, the virtual interface is the most adopted way of connecting the tb and dut, hard to avoid.

Putting the abstract class on the side, what would your advice be on using clocking-blocks/modports versus NOT using them ?

Some commercial VIPs use them, and I'd like to have your advice on this.



Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...