Debussy Study Notes

Source: Internet
Author: User

Since learning FPGA, has been using Modelsim as a simulation debugging tool, a few days ago in the colleague saw a new tool: Debussy, see her with quite handy, and the tool itself is quite easy to use, there are many modelsim do not have the function, Then immediately downloaded the Internet Debussy software and related tutorials to learn a bit, from this article to start the Software learning notes.

Debussy is the HDL Debug & Analysis tool developed by Novas Software, Inc., which is not primarily used to run analog or watch waveforms, and it does not have simulation capabilities, It is necessary to call the simulation results file generated by Modelsim and other simulation software to observe the waveform, but it can pre-store the simulation waveform of all the signals in the design, and the simulation needs to be instantly transferred into the signal when it is observed, and no need to re-run the simulation; Debussy another most powerful feature: the ability to source code, schematic diagram, waveform, state bubble diagram, instantly do trace, assist engineer Debug Maybe you will feel: as long as there are simulator such as Modelsim can do debug, why should I learn this software? In fact Debussy v5.0 after the new version, also provides nlint-check coding style & Synthesizable, which is quite useful, can help engineers understand how to write a good coding style, and develop habits.

First of all to learn about Debussy's software use, 1 shows the basic structure of Debussy, which consists of 4 parts: Nschema, Ntrace, Nwave and nstate.

Figure 1

Ntrace: Hypertext source Code Analysis and browsing tools, is the main screen opened by Debussy Software, Nwave: Waveform analysis Observation tool, can be opened in ntrace; Nschema: Hierarchical schematic generator; Nstate: finite state machine extraction and analysis tools.

As mentioned above, a major function of Debussy software is the pre-existing observation function of waveform. Because the Debussy itself does not have the emulation function, needs to be generated by the Modelsim and other simulation software FSDB (Fast signal database) file, is the Spring Soft (Novas) company Debussy/verdi support waveform files, generally small, More widely used, the rest of the simulation tools, such as Ncsim,modlesim, can be directly dump FSDB files by loading Verdi pli (typically located under the Share/pli directory in the installation directory). The Fsdb file is Verdi uses a proprietary data format, similar to a VCD, but it is only a useful information to signal the simulation process, removing the information redundancy in the VCD, like the VCD data for a Huffman encoding. Therefore, the FSDB data volume is small and the simulation speed is increased. The following describes the use of Modelsim to generate FSDB files, Verilog HDL and VHDL methods are somewhat different, so respectively:

A. Verilog HDL method

1. Modify the Modelsim installation root directory under the Modelsim.ini file, remove read-only protection, add a statement: Veriuser=<debussuy Software Installation directory >/debussy/share/pli/modelsim_pli /winnt/novas.dll

2. Add the following code to the Testbench:

Initial begin

$fsdbDumpfile ("Wave_test.fsdb");

$fsdbDumpvars;

End

3. Build the project in Modelsim, compile all the *.v files, invoke the simulation command: Vsim–pli Novas.dll WORK.**_TB, simulate a period of time to exit the simulation. You can then find an extra Wave_test.fsdb file in the new project root directory.

B. VHDL Method

1. Locate the Novas.vhd file and Novas_fli.dll file from the <debussy installation directory >\debussy\share\pli\modelsim_fli54\winnt, Novas_ Fli.dll file is copied to the Modelsim installation root directory Win32 folder, and modify the Modelsim.ini file, remove read-only protection, add a statement: Veriuser=novas_fli.dll;

2. Create a project in Modelsim, copy the Novas.vhd file from step 1th to the new Modelsim project root, and run the following script command in transcript:

Vlib Novas

Vmap Novas Novas

Vcom–work Novas./novas.vhd

3. Add a statement in the VHDL testbench:

Library Novas;use Novas.pkg.all;

Process

Begin

Fsdbdumpfile ("Wave_vhd.fsdb");

Fsdbdumpvars (0, "DIV_TB"); --0 represents the module layer of dump, and "DIV_TB" represents the No. 0-tier module name

Wait

End process;

4. Compile all *.v files, call the emulation command: Vsim WORK.**_TB, simulate a period of time to exit the simulation. You can then find an extra Wave_vhd.fsdb file in the new project root directory.

Note : In the VHDL method encountered some problems, in the execution of the Vsim command when the following error warning:

# Loading D:\modeltech_6.6f\win32/./novas_fli.dll

# * * Warning: (vsim-fli-3159) Failed to find foreign function ' fliparsevariableinfile ' in FLI object File "D:\modeltech_6. 6f\win32/./novas_fli.dll ".

# Region:/

# * * Fatal: (vsim-3274) Null foreign subprogram pointer (19).

There is no good solution for searching the web, and there is no problem with the generation method. You can only try to solve the problem by yourself. See the error is because fliparsevariableinfile not found in the Novas_fli.dll, this function is not used in Testbench, but in Novas.vhd do have this name " Fliparsevariableinfile "procedure description, in Novas_fli.dll did not find will be because novas.vhd file and Novas_fli.dll file mismatch caused. Locate the problem, modify the Novas.vhd file, the instructions about the Fliparsevariableinfile are commented out, and then recompile the Novas library, run Vsim so that the Fsdb file was successfully generated after run.

Once the FSDB is generated, it can be imported through the Nwave in the Debussy software:

1. First open the Debussy software, the start interface is Ntrace, through Tools->new waveform a new Nwave window, 2 is shown;

Figure 2

2. Open the **.fsdb file in Nwave, 3 as shown;

Figure 3

3. Select the signal to be observed by the Get Signals button, 4 shown in the waveform shown in Nwave.

Figure 4

Learning Notes (ii) be familiar with the interface of Debussy software and learn about the general operation of Nwave. First introduce the Nwave interface, shown in 1, which consists of three windows: Signal window, Value window and waveform window. All signals added are displayed in the Signal window and can be grouped, in which the signals in Figure 1 are in group G1, the value window shows the signal value at the current cursor position, and the waveform window shows all the signals that are added to the signal, where the upper area has a window ruler representing the time ruler of the current display window range. In the middle is the waveform display area, in addition to the signal waveform, there are cursors (cursor) and markers (marker), and the bottom area is the global ruler, which represents the time ruler for the range of information contained throughout the Fsdb file.

Figure 1

According to the method of note (a) successfully generated the Fsdb file, through the File->open or shortcut key open, 2, in the left window to select the path, in the right window select the Fsdb file.

Figure 2

Fsdb file after reading, in Nwave is no signal display, you need to signal->get signals or shortcut key to select the signal, pop-up window 3, the left window shows the entire simulation design level, the middle window shows all the signals in the selected hierarchy, You can click to select the signal you want to observe.

Figure 3

After reading the signal, the signal waveform can be observed, as shown in 1. Some common actions are required in each window:

Signal Window : If you need to drag the signal to change the display order, you need to click the middle mouse button that is the scroll wheel to select the signal to drag, 4, and the yellow cursor position after the signal is dragged, change the location of the yellow cursor also need to click the middle mouse button to complete, with cut, copy and paste signals and other operations.

Figure 4

Value window : The value window displays the values of each signal at the current cursor position, and can be displayed by view->values at Cursor/marker with the value of the signal at both the cursor position and the marker position, 5 shows a signal value of 2 columns, Corresponds to the signal value at the cursor and marker positions, respectively. The right-click value window can change the signal's number representation format, 6, the current selection of the signal format is 16, you can switch it to binary, 10 and so on.

Figure 5

Figure 6

Waveform window : The most important thing in the waveform window is the cursor and the tag operation, which can be done by the combination of three keys, 1. The position of the cursor is controlled by the left mouse button; 2. The position of the marker is controlled by the middle mouse button; 3. Use the right mouse button to enlarge the waveform of the cursor and the area between the markers to the entire waveform window. When moving the cursor and markers, be aware of an option WAVEFORM->SNAP cursor to transitions, when enabled, the cursor and markers are always at the edge of the signal waveform change, such as the rising or falling edge of the 1-bit signal; When the option is not enabled, The cursor and marker can be anywhere in the signal waveform, 7, the left image is not enabled, and the right image is the effect of the Enable. The right mouse button enlarges the area waveform between the cursor and the marker, as shown in 8.

Figure 7

Figure 8

There are several shortcut keys for manipulating the waveform window:

z: Zoom Out

shift+z: Zoom In

F: All waveforms are zoomed out to display in the entire window

l: Return to the previous view

In the Nwave also provides the analog waveform display function, 9, the white waveform curve is through the Waveform->analog waveform the digital data into the simulation curve, can see has the obvious quantization effect, but the red and the yellow curve is through analog-> Convert to analog converts digital data to analog, and you can see that the waveform is smoother after conversion and can be set in the Analog menu.

Debussy Study Notes

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.