Asynchronous reset and clocking block

The interface signals is driven to default values during asynchronous reset but moves immediately to the values driven on the clocking block signal. How to solve such issues?

1 Like

Do you mean that when we drive signal in the interface by clocking block, the drive is synchronous to the synchronous events of clocking block, which normally posedge of clock, and as the guideline advices we should drive signal through clocking block, but not directly the signal. just as @dave_59 says in Clocking block in interface

Once you start using clocking blocks in an interface, do not reference those signals from anything other than the clocking block in your testbench.

therefore, we could not dirve singal asynchronously in interface, for example asynchronous reset, where we need drive singal immediately after reset.

to fix this problem, I propose a method that add reset event in to clocking block synchronous event, so we can drive signal though clocking block not only when clock event happens but also reset event happens.


The full demo code is as following:
interface of uvm clocking block async drive