hello.

My name is Intel F. Hanako and I provide technical support for Intel® FPGA products at Macnica.

 

When performing function simulations with ModelSim* - Intel ® FPGA Edition (hereafter ModelSim - IFE), you can of course refer to (monitor) signals at the pin level of the Intel FPGA, but you can also refer to the internal signals of the FPGA at the same time. you want to
The following methods are available to display FPGA internal signals in the Wave window during simulation.

 

[A] Describe and display in the testbench

[B] ModelSim - Display with GUI operation of IFE

 

This time [B] ModelSim - How to display internal signals of FPGA in Wave window by GUI operation of IFE Introducing

 

In the second half, there will also be a "Hanako's little points ♪" corner for NativeLink simulation users.

By using this method, the work efficiency of the simulation will be improved. Give it a try!

sample design

Below is an example design as viewed in the Quartus Prime RTL Viewer.

A submodule of this design is taps (instance name: taps_inst).

This time, we will guide you with an example of referring to the output of the internal register xn_1 (7bit) of taps.

Note that the instance name of the FPGA top-level module in the testbench is fpga.

ModelSim – IFE GUI Operation

① In ModelSim, complete source compilation and load (Start Simulation).

 

② Select the desired instance (taps_inst) from the hierarchical view of the design displayed in the Srtructure window (sim tab).

 

(3) The ports and internal registers of the specified instance are displayed in the Objects window.

From here, drag and drop the desired signal (xn_1) into the Wave window.

④ Run the simulation.

If you add an internal signal after running the simulation,

Reset the simulation (Simulation menu > Run > Restart or icon) and run again from 0ns.

A little point of Hanako♪

If you are running a simulation with NativeLink, it will automatically run through the simulation.

If you add an internal signal to the Wave window, after completing the simulation once with NativeLink, reset (Restart) and start simulating again from 0ns, so it's a double hassle, right?

So let's add a script to add internal signals to the Wave window beforehand!

 

Create an original script that adds the signal and submit it to Quartus Prime.

 

(1) Open a new text editor.

 

(2) Specify the signal to be registered in the Wave window using the add wave command.

* (asterisk) to specify all ports on the testbench.

add wave *

Internal signals specify a hierarchy path using the instance name of each hierarchy.
For example, to refer to the output of register xn_1 in taps:taps_inst, write as follows.

add wave /fpga/taps_inst/xn_1

So that's it.

(3) Describe the run command that instructs the execution of the simulation.

run -all

If you want to specify the execution time, say something like rum 500 ms.


④ Save the script file with the extension .do. (The previous commands are summarized below)

add wave * add wave /fpga/taps_inst/xn_1 run -all

⑤ In Quartus Prime Assignments menu > Settings > EDA Tool Settings > Simulation > NativeLink settings,

Enable the Use script to set up simulation option and additionally register the original script created from the browse button.

⑥ Select Tools menu > Run Simulation Tool > RTL Simulation to run the simulation.

The specified internal signal is added to the Wave window and the simulation is running.

hey! It's easy.

Please practice immediately.

 

This time, I introduced how to monitor the internal signals of the design with ModelSim.

 

There is also a way to write this series of operations in the testbench.

With this, internal signals can be monitored without GUI operation, further improving debugging efficiency!

For more information, see How to Write a Testbench to Monitor Intel FPGA Internal Signals in Simulation.

 

 

Click here for recommended articles/materials

Let NativeLink solve your FPGA function simulation

Let's start! Test bench

ModelSim®- Intel® FPGA Edition - How to RTL Simulation

Intel® FPGA Development Flow/FPGA Top Page

ModelSim/Questa list