Jump to content

UVM Testbench Architecture for Beginner


Recommended Posts


I'm pretty new in the world of UVM and need a hint for my first testbench architecture. Thats what I have at the moment:

1. C++ Model that generates Stimuli data + DPI-Interface (SV)


3. C++ Model that generates Compare data for DUT output + DPI-Interface (SV)

At first I want to realize only the way of stimuli generation and processing to the DUT. The stimuli generator creates multiple data sets (about 50k bytes each) that need to be feed into the DUT in 32bit partitions. My first Idea was to set up a Consumer/Producer as shown here:

C++ / DPI =byte=> Producer =byte=> TLM Fifo =byte=> Consumer =32bit=> Interface =32bit=> DUT

Somehow its pretty hard for my as a beginner to map this setup to the general UVM structure (sequence item, sequence, sequencer, driver, ...).

Is my producer a sequencer or just producing sequence items?

Does my TLM fifo contain sequence items?

Is my consumer a driver? (in this case my fifo should hold sequences)

Or are all these questions nonsense? :)

Thanks for any help!

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...