Concept of UVM Factory

Factory stimulates everyone’s imagination to fall down on industrial settings and mechanical setup of machineries & processing units with products getting made and packaged before running on the transport rail & to be delivered to the warehouses. Hence the word “Factory” makes us curious to know about this jargon in Verification Methodology Context i.e. UVM. […]

Continue Reading

Callbacks Vs Factory

Callbacks and factory both addresses different areas of reusability in UVM. Callback:  Add functionality to existing logic. Suitable for rare or minimal feature need to be enhanced in focus Popular for error injection/to corrupt the sequence from VIP. Easy to maintain callbacks Factory:  It used to substitute the existing component before build, keeps environment same. […]

Continue Reading

How UVM Callback works?

Callback mechanism is used for altering the behavior of the transactor/BFM without modifying the existing BFM/transactor. Callback gives flexibility to plug-and-play and reuse the components i.e. driver, monitor etc..  Sometimes requirements are often unpredictable when the BFM/transactor is first written. So a transactor should provide some kind of hooks for executing the code which is […]

Continue Reading

uvm_config_db and uvm_resource_db

uvm_resource_db: uvm_resource_db is base class and uvm_config_db is extended from uvm_resource_db. Using the resource_db requires that the scope (arbitrary string) for the set and get a match. For trivial environments, this isn’t difficult. However, for complex environments, including IP from different sources, it’s more difficult to manage. That, along with some other non-intuitive behaviors of […]

Continue Reading

Flavours of Fork..Join

Fork..Join: Fork…Join construct of System Verilog actually enables concurrent execution of each of its statements/threads/processes. This feature is most widely used for forking parallel processes/threads in System Verilog Test Benches.  System Verilog came up with new and advanced flavors of fork join construct which adds a lot of value for implementers. Fork..Join_any Fork..Join_none Let’s start […]

Continue Reading

UVM TLM Concepts:

Introduction: It is necessary to manage most of the verification tasks, such as generating stimulus and collecting coverage data, at the transaction level, which is the natural way of verification engineers tend to think of the activity of a system. UVM provides a set of transaction-level communication interfaces and channels that you can use to […]

Continue Reading
Copyright all rights reserved | Theme: Minimal Blog by WPinterface.