Skip to Content

vmm_channel

Posted on  by  from the site Verification Martial Arts
In a verification environment, different components may be trying to access the DUT registers and memories. For example, the BFM might be programming some registers while the bus monitor might be sampling the values of these registers. In specific cases, there may be an interrupt monitor which triggers an Interrupt Service Routine (ISR) whenever it sees an Interrupt pin toggling in the interface. The ISR might end up having to read the Interrupt registers and end up clearing the Interrupt bit/s through a front door access.
Amit Sharma
Posted on  by  from the site Verification Martial Arts
Sadiya Tarannum Ahmed, Senior CAE, Synopsys In the default flow, the transaction level communication in VMM Channels operates in the ‘PUSH’ mode, i.e., the process is initiated by the producer which randomizes and pushes a transaction in the channel when it is empty. This process is repeated again when the channel is empty or the consumer retrieves the transaction from the channel. However, in specific cases, you might not want the generator to create stimulus before the bus protocol is ready or until it is requested by the bus-protocol.
Amit Sharma
Posted on  by  from the site Verification Martial Arts
Srinivasan Venkataramanan, CVC Pvt. Ltd. Rashmi Talanki, Sasken John Paul Hirudayasamy, Synopsys During a recent Verification environment creation for a customer we had to tap an additional copy/reference of the generated transaction to another component in the environment without affecting the flow. So one producer gets more than one consumer (here 2 consumers). As a first time VMM coder the customer tried using “vmm_channel::peek” on the channel that was connecting GEN to BFM.
srini
Syndicate content