Recent Uploads

Semaphores in System Verilog

31 Jul 2022

We have seen that in System Verilog various processes can run in parallel. This can create a problem if 2 processes access some variables. Semaphore provides a solution to this problem. Let’s understand the use of semaphores in detail in this article. Why are semaphores needed?? Let us consider a…

Mailboxes in System Verilog

22 Jul 2022

Using fork-join we can create multiple processes which run in parallel. These processes need some mechanism to communicate with each other or share the resources properly. Thus, in System Verilog inter-process communication mechanisms such as mailbox and semaphore were introduced. In this article…

Multiple process in system verilog

17 Jul 2022

In Verilog, fork-join construct is used to create a new thread which can run in parallel to code defined in another block. In System Verilog, a few additions were made to give more flexibility in the way we can create a new process. Also, a new process class is introduced in System Verilog which can…

Procedural blocks in system verilog

16 Jul 2022

In Verilog, there are initial and always procedural blocks as we have seen. In system Verilog, these procedural blocks were improved, and a few more procedural blocks were added. Some of these added procedural blocks are synthesizable and some are non-synthesizable. In this article we will see these…

Structures and Unions in system verilog

22 May 2022

Structures and unions are special data types which are used to group variables having different data types. We have seen that arrays also provide the grouping of various variables or elements. But in arrays, the data type of each element is the same, whereas structure and unions can have elements…

Enumeration in system verilog

20 May 2022

Enumeration, commonly called Enum, is a special data type introduced in System Verilog. This data type is a user-defined data type which means that a new data type can be created using Enum. In this article, we will learn about Enums and see how these are beneficial in writing complex code. What is…