Debugging randomization fails using simulator tools.

This document describes different approaches to debug constraint failures or subtle randomization mistakes from the command line.
How to create a python script for regression?

During the verification process, It is very common to run many tests. In order to simulate each one of them you need to execute different test files separately. In case there is a significant amount of tests that have to be performed, this process can easily be extremely time-consuming.
How to become friends with SystemVerilog macros?

All of us are using macro to define some values, etc, but do you know how to unleash the true form of macro?
How do we calculate the distance between two trigger points of one signal?

How do we calculate the distance between two trigger points of one signal?
Our bug-fighters Aleksandra Dimanić & Nemanja Stevanović show us how to implement it with two different methods!
When using an array of UVCs, how can one tell which UVC sent an item to the scoreboard?

In cases when there are multiple UVCs of the same type, they will all use the same write function to pass their collected data items to the scoreboard or reference model.
How to start multiple instances of a single process in parallel using for/foreach loop?

Sometimes, there are cases when it’s required to start a single process multiple times in parallel, e.g. starting the same sequence on multiple sequencers of a given UVC.
How to handle signals in racing issues?

When it comes to verifying a design block or a communication protocol, race conditions can cause a lot of issues.This can happen often due to the fact that an interface doesn’t have synchronization references.
Accessing a memory via the backdoor in a UVM testbench

If you are trying to access a memory from your UVM test, for example, to write a configuration for IP, or program for core, you perhaps want to use $readmemh. But how can we access memory from UVM?
What can you do if you need to return two or more variables from a function?

SystemVerilog functions can have inputs and outputs. Using outputs is useful in case you want to return a queue from a function (or some other complex type), or in case you want to return two or more different variables from the function.
How to check if a file exists from a test?

Did you know that you can check inside your Specman code if a particular file exists in your project?