using Xilinx design tools. Place and route the design with ILA cores. Download bit-stream on to FPGA and analyze the signals using chipscope. Xilinx ChipScope ICON/VIO/ILA Tutorial. The Xilinx ChipScope tools package has several modules that you can add to your Verilog design to. If you are new to FPGAs, one aspect of the development flow you may not have considered is how you will go about debugging your design.
|Published (Last):||3 April 2007|
|PDF File Size:||8.79 Mb|
|ePub File Size:||13.99 Mb|
|Price:||Free* [*Free Regsitration Required]|
This document introduces the Xilinx ChipScope Analyzer. ChipScope is a set of tools made by Xilinx that allows you to easily probe the internal signals of your design inside an FPGA, much as you would do with a logic analyzer. For example, while your design is running on the FPGA, you can trigger when certain events take place and view any of your design’s internal signals.
The sample memory of the analyzer is limited by the memory resources of the FPGA. Also, ChipScope cannot chipsdope as quickly as an external logic analyzer.
Using ChipScope ILA | ADIUVO Engineering
Generally, ChipScope sampling rate will be the same as the design’s clock frequency. It is therefore not possible to detect glitches with ChipScope. In order to use the ChipScope internal logic analyzer in an existing design project, you first generate the ChipScope core modules, which perform the trigger and waveform capturing functionality on the FPGA.
Afterwards, you instantiate these cores in your Verilog code, and you connect those modules to the signals you want to monitor. The complete design is then recompiled. Instead of loading the resulting. ChipScope Analyzer also provides the interface for setting the trigger criteria for the ChipScope cores, and for displaying the waveforms recorded by those cores.
This tutorial builds on the simple counter project, described in the Getting Started tutorial. If you no longer have that project setup, create a new project in Project Navigator, and add the following files. Now we will include some ChipScope modules in the counter example in order to allow us to do run-time debugging of the internal signals on the FPGA.
This is a known bug chipzcope ChipScope 6. See Xilinx Answer Recordwhich recommends the following workarounds: Change the trigger width to a number that, when divided by eight, does not leave a remainder of 1, 2, 3, or 4.
For example if your Trigger Width is 20, change it to Setting up the Initial Design This tutorial builds chipscoppe the simple counter project, described in the Getting Started tutorial.
A dialog box will appear that lets you create the necessary hardware modules for your FPGA. For this tutorial, you will need two different types of modules: An ILA is a logic chipscopf block which can trigger on internal signals and capture them inside a chipscopd so that they can be viewed through the analyzer GUI. You can have multiple ILA blocks for separate parts of your design.
You only need one ICON in your design. Select core type to generate: Set the output netlist field so that the ICON core is generated in the counter project directory, Make sure the output netlist name ends with. Make sure Virtex II is selected as the device family. Leave the remaining three checkboxes unchecked and click “Next”.
As with the ICON core, the output netlist should be generated in your project directory, and the device family should be set to Virtex II.
Under clock settings, choose to sample on the rising edge of the clock.
Using ChipScope ILA
For Number of trigger ports, choose 1 for now, although for your design you are free to use up to This allows you to have different groups to choose from when you do your triggering at run-time. Under Trig0, choose a trigger width of Match units allow you to create different trigger vectors so that you can trigger on a sequence of different vectors: For this tutorial, you only need 1 match unit.
Leave all other settings at their default values and click “Next”. Choose for data depth. This is the window length for your ILA. Select cuipscope “Data same as Trigger” box, which allows you to view all the signals of interest, as well as to potentially trigger on all of them.
In your project directory, you should now have a number of new files icon. This file also provides a dummy “black-box” definition of the core. Example Verilog code showing how to instantiate the ILA core, and a dummy “black-box” definition of the core. You have now generated all the necessary ChipScope hardware blocks, and are ready to include them in the existing counter design.
Start Project Navigator, and open the counter project. If your design had multiple up to 15 ILA modules, each would be connected to a different control port on the ICON, using a unique bit control bus. The trig0 port on the ILA should be connected to the signals that you wish to probe with the ChipScope analyzer. At the end of the labkit. The black-box definitions will look like this module icon control0 ; output [ During the “Translate” portion of the design compilation process, the.
The functionality of these modules will be filled in when the. Make sure the top-level module labkit is selected in the source tree, and double-click on “Generate Programming File in the processes window, to compile the design. Connect the programming cable to the JTAG port on the labkit, and power on the labkit.
Click “Select New File” in the dialog that appears, and then select the labkit. Click “OK” to dismiss the “Configur ChipScope will begin downloading the. Watch the progress indicator in the lower-right corner of the ChipScope window. When the download xhipscope, the LEDs on the labkit should start counting. Click on the “T! The waveform window will display the captured waveforms. To group analyzer channels into a bus, expand the “Data Port” item in the window pane labeled “Signals: Name the new bus count.
The waveform window should now only contain the bit bus count. Now, let’s change the trigger setup to trigger when the lower chipscpe bits of the count bus are all zero.
In the Trigger Setup window, highlight the last eight “X”s of the value field. Type eight zeros, and then return. Click the play button in the ChipScope toolbar to arm the analyzer, and wait for a trigger event.
When cuipscope waveform window updates, note that the eight LSBs of the value of the count bus at sample zero are zero.