A physical logic analyzer is simply a digital system that samples various probes and displays the signal. Since generally not all the gates are used in a FPGA, why not use parts of the FPGA to synthesize a logic analyzer? That's exactly an Integrated Logic Analzyer ILA.
The feature of the full feature system edition of Vivado allows you to view your actual signals in your design with a synthesized logic analyzer. To view the signals, additional signals are place and routed but used internally to display the waveforms. Obviously, to run, your design must synthesize and loaded to the FPGA.
An ILA Tutorial
Download your project file and create
a create a project. In this example we will use the
pong game in lab 3.
Add ILA to your design. Under Project Manager, select IP Catalog. Expand /Debug & Verification/Debug and add ILA from the catalog or search for ILA.
module ila_0 ( clk, probe0, probe1, probe2 ); input clk; input [0 : 0] probe0; input [10 : 0] probe1; input [11 : 0] probe2;
ila_0 myila(.clk(clk_65mhz),.probe0(hsync),.probe1(hcount),.probe2(pixel));
In this example, the signals hsync, hcoount and rgb are displayed. hcoount is displayed as an analog waveform (ramp increasing from zero). rgb is displayed in hex format. The trigger is set to hcoount = 000. The rgb rotate through black 000, blue 00F, green 0F0, cyan 0FF, red F00, magenta F0F, yellow FF0, and white FFF.
Important: after an ILA is added, the program device dialog will autodetect both the bit stream and a debug probes file, and only after the fpga is programmed with a debug probes file will the hardware manager show the ILA. Real signals are displayed on the ILA.