The Trigger at Start up feature is used to configure the trigger settings of an ILA core in a design programming file (.bit or .pdi) so that it is pre-armed to trigger immediately after device start up. You do this by taking the various trigger settings that ordinarily get applied to an ILA core running in a design in hardware, and applying them to the ILA core in the implemented design.
To use the Trigger at Start up feature perform the following steps:
- Run through the first pass of the ILA flow as usual to set up the
trigger condition.
- Open the target, configure the device, and bring up the ILA Dashboard.
- Enter the trigger equations for the ILA core in the ILA Dashboard.
- From the Vivado Tcl command
line, export the trigger register map file for the ILA core. This file contains
all of the register settings to "stamp" back on to the implemented netlist. The
output from this is a single file.
% run_hw_ila -file ila_trig.tas [get_hw_ilas hw_ila_1]
- Go back and open the previously implemented routed design in
Vivado IDE. There are two ways to do
this depending on your project flow.
- Project Mode: Use the Flow Navigator to open the implemented design.
- Non-Project Mode: Open your routed checkpoint:
%open_checkpoint <
file>.dcp
- At the Implemented Design Tcl Console, apply the trigger
settings to the current design in memory, which is your routed netlist.
%apply_hw_ila_trigger ila_trig.tas
Note: If you see an ERROR indicating that the ILA core has been flattened during synthesis, you need to regenerate your design and force synthesis to preserve hierarchy for the ILA core. Ensure that you have a valid ILA design working in hardware, and that the ILA core has NOT been flattened during the synthesis flow. - At the Implemented Design Tcl Console, write the bitstream with
Trigger at Start up settings. Important: To pick up the routed design changes do this at the Tcl command console only: write_bitstream trig_at_startup.bit
- Go back to the Hardware
Manager and reconfigure with the new .bit file that you generated in the previous step. You have to
set the property for the updated .bit file
location either through the GUI or through a Tcl command. Make sure you set the
new .bit file as the one to use for
configuration in the hardware tool.
- Select the device in the hardware tree.
- Assign the .bit file generated in step 5.
- Program the device using the new .bit file.
Once programmed, the new ILA core should immediately arm at start up. You should see an indication in the Trigger Capture Status for the ILA core. If trigger or capture events have occurred, the ILA core is now populated with captured data samples.