Verilog HDL Simulator

Amisha Singh
7 min readJan 7, 2021

--

What are the Hardware Definition Languages ​​(HDLs)?

HDLs are exactly the same as editing languages ​​but not exactly the same. We use programming language to create or create software, and we use hardware descriptive language to describe or express behavioral characteristics of logical circuits.

We use HDLs to design processors, motherboards, CPUs (i.e., chip chips), and various other digital circuits.

What is Verilog?

As I’m sure you know, Verilog is also the language of hardware. Uses text format to describe programs and electrical circuits. In the field of electronic design, we use Verilog verification with simulation testing for detection, error placement, logic synthesis, and time analysis.

Verilog is also more cohesive because it is the language of every model language. As a result, he usually writes a few lines of code, and suggests a comparison with the C-language. However, Verilog has a high understanding of hardware modeling and a low level of programming. Verilog has no names like VHDL, which takes into account its cohesive nature. Although VHDL and Verilog are similar, their differences often outweigh their similarities.

.In 2005, minor language corrections were made with SystemVerilog, a VHDL superset. In 2009, Verilog and SystemVerilog were merged and to this day, this remains one of the most widely used languages ​​in IC certification and design.

In this article, we will discuss about Verilog HDL simulator

Verilog Simulation

Verilog provides powerful features that allow users to model specific penalties and perform the required analysis.
There are many features of Verilog, designed to mimic, which the designer can use. This section describes some of the major ones
Aids to the production of simulation design problems, seen on hardware:
1. Ongoing process assignments
2. Conditional integration
3. System Functions
4. Deviant Elements
Scheduled procedures
6. join the fork

There are Verilog emulators online

EDA Playground: This is an all-inclusive site … and it does not require setting your location and allows you to run test benches and write your (important) Verilog. If you use Icarus Verilog version 0.10 as their integration option (or one of many others).
Icarus Verilog: You can download Icarus Verilog on your simple / complex computer depending on the OS:
jdoodle is another plug-and-play functionality. It can handle beautiful and dignified simulations …. you just need to put it all in one file … An example is two examples of Verilog files from the Verilog simulation tutorial (written for ModelSim in ISE on computer computers):

This article contains information about the Verilog library library framework and setup Verilog libraries for use in simulation of Libero SoC projects. View the text included with your file Verilog simulator with information about setting up your simulation tool.

1- Setup

Software Requirements
The information in this guide applies to Microsemi Libero SoC Software v10.0 and above and to IEEE1364-compliant Verilog simulators In addition, these guidelines contain information on how to use Windows simulators and UNIX ModelSim. For more information on which versions support this release, go to automatic technology support system on Microsemi website (http://www.actel.com/custsup/search.html) and type file for the following in the keyword:third party

When using HP-UX, you should also set the following variables:
setenv SHLIB_PATH $ ALSDIR / lib

Compiling Verilog Libraries

Before you can simulate a design with the ModelSim Verilog simulator, you must assemble the Microsemi Verilog libraries. This section describes the processes. View the text included with your file a tool for simulating additional information about compiling libraries.
ModelSim
Use the following process to integrate the Verilog libraries of the ModelSim model. Type UNIX commands at UNIX Prompt. The instructions below are for Windows. Merging Verilog libraries: Since the input method varies for each user and for each installation, this document uses $ ALSDIR for
indicate where the software is installed. If you are a Unix user, simply create a location a variable called ALSDIR and set its value in the input method. If you are a Windows user, restore $ ALSDIR in the form of input orders.
1. Create a tree directory in the directory $ ALSDIR \ lib \ vlog
2. Install the simulator (Windows only).
3. Switch to $ ALSDIR \ lib \ vlog \ tree directory. Type the following command quickly:
cd $ ALSDIR \ lib \ vlog \ tree
4. Create a library guide for the <act_fam> family library. Type the following command:
vlib <act_fam>
5. Integrate the library. Type a command quickly:
vlog -work <act_fam> $ ALSDIR \ lib \ vlog \ <act_fam> .v
6. (Optional) Integrate the migration library. Perform this step only when using migration
library. Type the following command:
vlog -work <act_fam> $ ALSDIR \ lib \ vlog \ <act_fam> _mig.v

2-Design Flow

Overview of Verilog Design
The flow of Verilog design has four main steps:
1. Create make-up
2. Apply Design
3. Programs
4. System Verification

The following sections describe these steps in more detail.
Create a Design
At the time of creation / confirmation of the design, the design is held as a scheme or as an RTL (moral) level

Verilog HDL source file.
If your design is a Verilog HDL source file, you can perform behavioral simulations to ensure HDL code is correct. This code is then integrated with the Verilog HDL gateway (architecture) network list. Back synthesis, you can create a structural simulation of a design. Finally, you are using the EDIF network list produced in Libero SoC and Verilog network list of building simulations and time. If your design is schematic, you generate an EDIF network list that will be used in Libero SoC and Verilog architecture a netlist of structure and time simulations. They don’t do moral simulations or mergers.
Design Capture
Enter your organized program using a third-party capture tool or create your own Verilog HDL source file using a text editor or HDL sensitive editor. Your Verilog HDL design source may contain RTL level builds, as well as structural elements, such as characters from Libero SoC Catalog. See the documentation included with your photography design tool for details about the design grab.
Behavioral simulation
Perform behavioral simulations of your design before assembling. Moral imitation ensures the performance of your Verilog HDL code. You can use a standard Verilog HDL bench to drive
imitation. See the “Behavior Measurement” on page 9 with the included text and simulation tool for information about performing effective simulation.
Synthesis

After creating your Verilog HDL source file, you must compile it before location-and-route. Synthesis converts Verilog HDL source file into gate-level net list and prepares the format for targeted technology. See the documentation included with your integration tool for details about to perform synthesis synthesis.
EDIF Netlist Generation
After creating, merging (if your design is an HDL source file), and you confirmed your design, you must generate an EDIF network list or import a locally-routed verilog lists to Libero SoC. If your design is a Verilog HDL source file, use the EDIF network list to generate a Verilog network list. Watch on “Creating an EDIF Netlist” on page 7 with the included text and your schematic-capture or a tool for compiling information about generating an EDIF network list.

Structure of the Verilog Netlist Generation
The Verilog network list is automatically created when you place and submit your project to Libero SoC. See “Generating a Structural Verilog Netlist” on page 7 for information on how to make make-up netlist.
Structure Simulation
Make a design simulation of your design before you install and move it. Structural simulation confirms the functionality of your Verilog network list. Use the default unit delay included in the Verilog libraries each gate. See “Structural Simulation” on page 9 with the included text and simulation tool for information about performing structural simulation.
Implement design
During the start of the design, you set up and submit the design using Libero SoC. Plus, you can perform static-timing analysis on a design with SmartTime. After location-route, you can play postlayout simulation (time) with Verilog simulator.
Measuring Time
Make time simulations of your design behind the location-route. Time management requires knowledge extracted from software, which avoids delays in the suspended unit at Verilog libraries. See “Time Simulation “on page 10 with text included with your simulation tool for details about to do the imitation of time.
Planning
Set up a program with software and computer hardware from Microsemi SoC or a third-party supported system. See the help of the online program for details about planning a Microsemi SoC device.
System Verification
You can perform system authentication on a fixed device using the Silicon Explorer diagnostic tool. See Silicon Explorer Quick Start for details using Silicon Explorer.

3-Generating Netlists

Generating an EDIF Netlist : After capturing your editing or assembling your design, generate an EDIF network list from your scanning or merging tool. You can use the EDIF network list to find location and routes in Libero SoC. See embedded texts and schematic-capture or your data integration tool for EDIF network listing. Make sure you specify Verilog in the naming style when importing the EDIF network list from Libero SoC.

Generating a Structural Verilog Netlist : Structural Verilog network list files are automatically generated as part of your Libero SoC project. You can find your Verilog list files in your Libero project directory / synthesis. For example, if your project directory is named project1, your netlist files are / project1 / synthesis. Some families allow you to send these files manually to use on external tools. If your device supports this feature you can send netlist files from Tools> Export> Netlist.

Author : Amisha singh

Email id : amisinghpatna@gmail.com

--

--

Amisha Singh

Self motivated and hard working graduate seeking an opportunity to work in a challenging environment to prove my coding skill and utilize my knowledge.