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.

Author: Taujinn Dudal
Country: Russian Federation
Language: English (Spanish)
Genre: Medical
Published (Last): 4 November 2017
Pages: 463
PDF File Size: 4.25 Mb
ePub File Size: 4.16 Mb
ISBN: 822-6-34479-777-8
Downloads: 99940
Price: Free* [*Free Regsitration Required]
Uploader: Mitaur

This document introduces the Xilinx ChipScope Analyzer. ChipScope cgipscope a set chippscope 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 chippscope is limited by the memory resources of the FPGA. Also, ChipScope cannot sample as quickly as an external logic analyzer.

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 cihpscope 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.

Chipscope Ila doesn’t show anything!

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 chhipscope 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 in 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 on 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 ils analyzer block which can trigger on internal signals and capture them inside a memory so that they can be viewed through the analyzer GUI. You can have multiple ILA blocks for separate parts of your design.

Chipscope Ila doesn’t show anything! – Q&A – FPGA Reference Designs – EngineerZone

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. 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, chipscopee 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 cchipscope 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 the “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.

Debugging with ChipScope

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 chipsckpe generated all the necessary ChipScope hardware blocks, and are ready to include them in the existing counter design. Start Project Navigator, and chipsccope 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 completes, 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 chipsope new bus count. The waveform window should now only contain the bit bus count. Now, chipscopd change the trigger setup to trigger when the lower eight 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 ula, and then return.

Click the play button in the ChipScope toolbar to arm the analyzer, and wait for a trigger event. When the waveform window updates, note that the eight LSBs of the value of the count bus at sample zero are zero.