3.2.3. Using Vivado to Generate Device Image and XSA - 3.2.3. Using Vivado to Generate Device Image and XSA - 2025.1 English - XD346

SCU35 Environmental Monitoring Targeted Reference Design (XD346)

Document ID
XD346
Release Date
2026-04-09
Version
2025.1 English

To run the Vivado portion manually, follow the instructions in this section.

  1. Copy the hardware sources to a filesystem with > 15GB space, called $ENC_WS in this document. Create a subdirectory for the hardware under $ENC_WS, called hw_ws. Copy the sources to this directory (fill in board and silicon type):

    mkdir -p $ENC_WS/hw_ws
    cp -r $REPO_SRC/hw/scu35_prod_base $ENC_WS/hw_ws
    cp -r $REPO_SRC/hw/ip_repo $ENC_WS/hw_ws
    
  2. Open the Vivado GUI.

    Set up the Vivado environment in a terminal window by sourcing <Vivado_install_path>/settings64.sh, then at the command prompt enter (fill in board and silicon type):

    cd $ENC_WS/hw_ws/scu35_prod_base
    vivado -source ./scripts/build_proj.tcl
    

    A Vivado GUI as shown below will open with project populated.

    Vivado GUI
  3. Look at the block design.

    In the Flow Navigator pane on the left-hand side under IP Integrator, click on Open Block Design. An IP Integrator (IPI) block design (Environmental_Monitoring.bd) becomes visible.

    IPI Block Design
  4. At this point you can opt for 2 options to Write Device Image and generate .xsa.

Option 1 (Recommended): Run the implementation script.

  1. To automatically run Vivado all the way through to Write Device Image and generate the XSA, type the following in the Tcl Console window, then skip to the next section:

    source ./scripts/run_impl.tcl
    

    When the script finishes, the file environmental_monitoring_wrapper.xsa will be available in $ENC_WS/hw_ws/scu35_prod_base/vivado/environmental_monitoring.runs/impl_1

Option 2 (Alternatively): Run the steps in the run_impl.tcl individually as below.

  1. Implement the design.

    Click on Generate Device Image in the Flow Navigator pane on the left-hand side under Program and Debug.

    When the process finishes, a dialog box will open, offering choices of what to do next. Hit Cancel. The device image (PDI) for the design will be generated and available at $ENC_WS/hw_ws/scu35_prod_base/vivado/environmental_monitoring.runs/impl_1/environmental_monitoring_wrapper.pdi. However, this PDI does not have the subsystems definitions included yet.

  2. When new PDI is done, click on Open Implemented Design.

    Open Implemented Design
  3. Create the XSA.

    • To create the XSA, click on File → Export → Export hardware. A window pops up. Click Next.

    • Select Include Device Image. Click Next.

    Export hardware Options
    • Change Export path to $ENC_WS/hw_ws/scu35_prod_base/vivado/environmental_monitoring.runs/impl_1. Click Next.

    Export Hardware Path
    • Click on Finish.

The file environmental_monitoring_wrapper.xsa will be available in $ENC_WS/hw_ws/scu35_prod_base/vivado/environmental_monitoring.runs/impl_1/.

Note

Along with XSA, all the artifacts used by software tools (as part of handoff) are available in $ENC_WS/hw_ws/scu35_prod_base/vivado/environmental_monitoring.runs/impl_1/. Feel free to copy it as backup to regenerate pdi and xsa file later. This includes, pdi files, bif file to generate the pdi file and all the components of the pdi file like psm.elf, various cdo files, rnpi, etc.