"Reprint" Debussy quickly get started (similar to Verdi)

"Reprint" Debussy quickly get started (similar to Verdi)

Debussy is an HDL Debug & Analysis tool developed by NOVAS Software, Inc (Siyuan Technology). This software is not mainly used to run simulations or view waveforms. Its most powerful function is: it can be used in HDL source code, schematic diagram, waveform, Between the state bubble diagram, trace immediately to assist engineers in debugging.

Maybe you think: as long as there is a simulator such as ModelSim, you can do debugging, why should I learn this software? In fact, the new version after Debussy v5.0 also provides nLint -- check coding style & synthesizable, which is quite Useful, can help engineers understand how to write coding style well, and form a habit.

The following figure shows the principle architecture of the entire Debussy, which can be summarized into several conclusions:

Debussy has four main units (components), nTrace, nWave, nSchema, nState

l nTrace -- Hypertext source code analysis and browse tool ( the main screen opened by % Debussy & )

l nWave -- Waveform analysis tool (can be opened in nTrace, or directly % nWave & open)

l nSchema -- Hierarchy schematic generator

l nState -- Finite State Machine Extraction and analysis tool

Debussy itself does not contain a simulator, and an external simulator (such as Verilog-XL or ModelSim) must be called to generate the FSDB file. The unit "nWave" that displays the waveform can display the waveform or signal value changes by reading the FSDB file. 
clip_image001

Quick Start Five Steps: (Debussy v.5.2)

1. Import Files and generate FSDB file 
2. Trace between hierarchy browser and source code 
3. Trace between hierarchy browser, source code and schematic 
4. Trace between hierarchy browser, source code, schematic and waveform 
5. nLint 
(nState is not introduced in this article, Interested readers, please follow the link after the text to download the NOVAS original writing textbook provided by CIC for reference)

1.Import Files and generate FSDB file

1-1 Start Debussy: % Debussy & (The case of D here is OK, but the case of other commands may be different)

Open the nTrace window as follows, at this time a new "DebussyLog" directory will be created in the working directory 
clip_image002

1-2 Import Files:File \ Import Design... 
clip_image003

The result is shown in the following figure: In the nTrace window, there are three areas, Hierarchical Brower, Source code window, and Message window. 
(If you don't want to see the waveform and just want to see the relationship between the source code and the schematic, you can skip to step 2-1 directly) 
clip_image004

At this time, there will be three files: Debussy.cmd, turbo.log, and compiler.log in the DebussyLog directory. Debussy.cmd records all imported 
files and all subsequent execution programs. We can directly reference this file to execute the sequence of procedures we did last time (refer to 1-5).

1-3  Set the external emulator to generate the FSDB file: Tools \ Options \ Preferences... 
clip_image005

1-4  Switch to Interactive Mode: Tools \ Interactive Mode  (the Simulation menu will appear on the ToolBar at this time) 
to start the simulation: Simulation \ Run/Continue (dump_i.fsdb will be generated in the working directory after the simulation ends) 
clip_image006

In the Source code directory, there must be the work library of this project previously created by ModelSim, otherwise there will be an error message: Failed to access library 'work' at "work". In addition, you can't just open a work folder, but actually use ModelSim to generate a work library, and after compiling the design to the work library, steps 1-4 will work correctly.

1-5  End the program: File \ Exit

1-6  Quick Start Execution Sequence

Copy the command log file Debussy.cmd in the DebussyLog directory to the current working directory, re-edit this file (delete the "debExit" in the last line 
and save it), refer to it to open Debussy and repeat the same action procedure as before

% Debussy -play Debussy.cmd & (result is equivalent to doing 1-4 from step 1-1)

1-7  Other ways to start Debussy

% Debussy -f xxx.f (similar to opening a pre-written batch file, you can load multiple .v at the same time) 
% Debussy -vhdl -f xxx.f (similar to opening a pre-written batch file, you can simultaneously Load multiple .vhds at once)

The above are all methods of Import design from file, and another method is Import design from library. The difference between the two is: 
Import design from file is to compile design to RAM, while Import design from library is to compile design to library 
(default lib. is "work").

For larger projects, in order to avoid spending time compiling every time you use Debussy, it is recommended to use the method of Import design from library, and the 
method of Import design from library must be used for mixed-language design.

Ex. for Verilog files:%vericom -inc -f run.f 
%Debussy -lib work -top xxx &

Ex. for VHDL files:%vhdlcom -93 -f run.f 
%Debussy -lib work -top xxx &

2.Trace between hierarchy browser and source code

2-1 Click the "+" on the left side of A1 (FourBitAdder) in the Hierarchy browser to expand four full adders (fa0, fa1, fa2, fa3)

clip_image007 -> clip_image008

2-2 Try double-clicking testbed or A1 or fa0 in the Hierarchy browser... 
The source code window on the right will immediately switch to the relative module 
clip_image009

You can also use the "middle button" of the mouse to drag and drop the module name on the left directly into the source code window on the right, with the same effect. 
(Using the middle mouse button to drag between different windows is the most common method in Debussy)

2-3 Double-click "fulladder" (in line 8) in the source code window above, and the software will automatically help you track down the place where fa0 is referenced. The 
result is shown in the figure below--fa0 (in line 32) of A1 (FourBitAdder); If you double-click fa0 (in line 32) again, you will return to the above figure. 
--> You can use this method to easily trace the relationship between all the designs in the project 
clip_image010

clip_image012 : Resume the last action

2-4 In addition to tracking the correlation between designs, the same method can be used to track the signal's drivers and loads. 
If you double-click the signal c_in (in line 24) in the above figure, all the drive loads 
results of the signal will be displayed as shown in the figure below -- the message window displays, there are 4 drive c_in, respectively in add4test line 69, 71, 73, 75 
clip_image013

Use Show Next  clip_image015to view all drive loads (at line 69, 71, 73, 75)

With line 69 selected, Trace \ Load  clip_image017can be used to trace all "loads" of that signal 
clip_image018

3.Trace between hierarchy browser、source code and schematic

3-1 There are three ways to open nSchema

* (nTrace)  Tools \ New Schematic \ ... 
* Double-click the New Schematic  clip_image020icon  on the toolbar
* Directly use the middle mouse button to drag the part you want to see schematic from the hierarchy browser and drop it into the  clip_image020[1]icon (commonly used)

The following image is the result of dropping A1 (FourBitAdder) into the New Schematic icon: 
clip_image021

If you want to directly view the source code of the symbol "fulladder", first select (highlight) the component with the left button, then right click and select " Display Source Code " from the quick menu

Select (highlight) the second output signal of the first full adder, then press Tools \ New Schematic \Fan-In Cone to try

clip_image023They are used to reduce/enlarge the screen respectively, clip_image025 which is to automatically adjust the size of the graphic to fill the entire window (as shown above)

clip_image027Back to the previous screen; clip_image029 back to the top screen

3-2 Double-click the component symbol in the above figure (such as the first fulladder) to further see its content/detailed circuit composition (fa0) 
clip_image030

3-3 Please try it yourself, between the hierarchy browser, source code and schematic window, use the middle mouse button to drag the effects of designs/signals to each other

4.Trace between hierarchy browser、source code、schematic and waveform

4-1 In the next operation, you need to use the data (.fsdb) generated by the simulator to display the signal waveform in "nWave". There are two possible methods.

* From 1-6 (compiled for Import files, also has its .fsdb file), then open "nWave"

* From 1-1~1-2, and then open "nWave", load the dump_i.fsdb generated by 1-4. 
There are three ways to enable "nWave" 
* Press ( clip_image032 New Waveform icon)  in the (nTrace) toolbar * ( nTrace 
Tools \ New Waveform
% nWave &

4-1-1 If you open the nWave window from 1-2, the nWave content is empty at first, and you need to execute (nWave)  File \ Open... 
to load dump_i.fsdb. 
clip_image033

4-1-2 Then click the clip_image035 Get Signals icon, then you will see that there are signals for you to choose 
-- if you can't see the signal, drag the design (A1) you want to observe directly from the (nTrace) Hierarchy browser. nWave can 
clip_image036

4-1-3 (nWave)  View \ Zoom \ Zoom All 
-- if you can't see the waveform, do another (nTrace) Simulation \ Run/Continue and you will see it 
clip_image037

If you want to delete the signal that has been selected in the signal window: Select the signal highlight to be deleted, right-click and select "Cut". 
If you open the nWave window from 1-6, go to step 4-1-2 directly. Can

4-2 Enable the Active Annotation function: (nTrace)  Source \ Active Annotation 
can select the trigger edge of the signal in nWave, and at the same time, you can directly see the transformation of the value under all the signal symbols of the source code of nTrace

4-3 Double-click the signal (such as c_out) that you want to observe its trigger status in nWave 
clip_image038

4-4 Double-click A1 (FourBitAdder) from the (nTrace) Hierarchy browser and press the  clip_image040Search Forward icon to see the changes in nTrace and nWave 
clip_image041

5. nLint

5-1 Open nLint of the graphical interface

nLint -gui &  (case cannot be changed, n must be lowercase, L must be uppercase)

Open the nLint window as follows. At this time, a new "nLintLog" directory will be created in the working directory. 
clip_image042

5-2 Import Files: File \ Import Design ... (After the same operation as step 1-2, the result is as follows) 
clip_image043

5-3 Execute Run \ Compile

5-4 Execute Tools \ Rule Organizer , or clip_image045 select which rules 
to check -- uncheck the items you don't want to check, and cancel the check box in the E/D column 
clip_image046

5-5 Execute Run \ Lint  -- it will automatically jump out of the ReportViewer to display the inspection results 
clip_image047

5-6 Expand the report, select the first yellow warning sign, the reason for the error and the source code part will be displayed in the lower frame immediately. 
If you want to modify the source code, right-click on the error option and select Show violation \ to default editor 
clip_image048

For files that you don't want to check, you can select the file and then click to clip_image049 do compile. In this example, testbench is not synthesizable, 
so if you suppress add4test.v first and then execute steps 5-5, the result will become "0 violation".

Verdi debugging

Verdi debugging is mainly divided into the following steps

1、Load design and testbench into Debussy;

2. Open nWave and load the corresponding FSDB;

3. Drag and drop the signal to be observed in nTrace to nWave through the middle mouse button Drag&Drop;

4. Usually, the problem is found on the waveform, find the wrong place and double-click the mouse, it will automatically jump to the Real driver statement, that is, it will jump to the source code.

5. In nTrace, Active Annotation (shortcut key X) marks the simulation result under the source code;

6. Find a driver in the previous driver statement to use active trace to track the active driver.

7. You can view all the waveforms by simply executing the simulation once, while in modelsim, you need to run the add wave command repeatedly, and re-simulate each time.

8. You can view the schematic diagram of the design, which is very convenient to view the hardware structure corresponding to each module and wire. Modelsim does not have this function yet.

9. The source code corresponding to each signal can be easily traced during simulation.

 

from: https://www.cnblogs.com/OneFri/p/5285707.html

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326031787&siteId=291194637