We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 60813

2014.1 - ILA trigger on Startup


This feature is used to configure the trigger settings of an ILA core in a designs .bit file so that it is pre-armed to trigger immediately after device startup. 

This is accomplished by applying the various trigger settings that ordinarily get applied to an ILA core running in a design in hardware to the ILA core in the implemented design.


  • User has a valid ILA 4.0 design working in Hardware.
  • ILA  4.0 core has NOT been flattened during the synthesis flow.
    1. PROJECT MODE: Check the synthesis strategy to make sure that the flatten_hierarchy option is set to none (full or rebuilt will flatten your design).
    2. NON PROJECT MODE: Use the synth_design flatten_hierarchy none argument.


  1. Go through the first pass ILA flow as usual to set up the trigger condition. 
    1. Open the target, configure the device, bring up the ILA GUI
    2. Enter trigger equations for the ILA core in the GUI

  2.  From the Vivado Tcl command line, export the trigger register map file for the ILA core.
    This file will contain all of the register settings to "stamp" back on to the implemented netlist.
    The output from this is a single file:
  3. % run_hw_ila -file ila_trig.tas [get_hw_ilas hw_ila_1]
  4.  Go back and open the previously implemented routed design in Vivado.
    There are a number of ways to do this depending on your flow.
    • Project-less flow: Open your routed checkpoint %open_checkpoint <file>.dcp
    • Project flow: Use the flow navigator to open the implemented design.
  5. 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 will need to regenerate your design and force synthesis to preserve hierarchy for the ILA core.
    See the beginning of this section in "Assumptions" for how to force hierarchy to be preserved.

  6. Still in the implemented design Tcl console, write the bitstream with trigger at startup settings.
    Note: To pick up the routed design changes do this at the tcl command console only:
    %write_bitstream trig_at_startup.bit

  7. Go back to the hardware manger and reconfigure with the new bitfile generated in the previous step.

    You will have to set the property for the updated bitfile location either in the GUI or through a Tcl command.

    • Make sure you set the new bitfile as the one to use for configuration in the hardware tool
      1. Select the device in the hardware tree
      2. Assign the .bit file generated in step#5

    • Program the device with the new bitfile.
      Once programmed, the new ILA core should immediately arm at startup.
      You should see an indication in the "Trigger Capture Status" part of the ILA window.


AR# 60813
Date Created 05/23/2014
Last Updated 12/01/2014
Status Active
Type General Article
  • Artix-7
  • Kintex-7
  • Virtex-7
  • Kintex UltraScale
  • Vivado Design Suite - 2014.1