Using an ELF File within a Packaged Block Design - 2024.1 English

Vivado Design Suite User Guide: Creating and Packaging Custom IP (UG1118)

Document ID
UG1118
Release Date
2024-06-19
Version
2024.1 English

Often, a processor-based block design contains an associated ELF file. This section describes the process to package a block design with an ELF association.

Consider the MicroBlazeâ„¢ -based block design, shown in the following figure, which has a separate ELF file associated for synthesis and simulation.

Figure 1. Packaging a Block Design with ELF Association

When packaging this type of a block design, after you go through the Create and Package New IP wizard, you see a Critical Warning dialog box as shown in the following figure.

Figure 2. Critical Warning While Packaging aBlock Design with Separate ELF Files

The Critical Warning states that packaging a block design with an ELF file for simulation is currently not supported. In fact, the simulation ELF file gets overwritten with synthesis ELF file as can be seen in the following figure.

Figure 3. Simulation ELF File is Overwritten by Synthesis ELF File

After packaging the block design, it can be instantiated in another block design by adding the repository containing the packaged block design to the project.

Figure 4. Packaged Block Design Instantiated in Another Block Design

While the synthesis flow would work perfectly because the ELF file used for synthesis is packaged with the packaged BD, the simulation flow does not work because the simulation ELF file is not packaged. To overcome this issue, you can add the simulation ELF file in the project and set the SCOPE_TO_REF and SCOPE_TO_CELL properties appropriately to point to the process instance.

  1. Click Add Sources to add a simulation ELF file to Simulation Sources using the option shown in the following figure.

    The Sources window shows the simulation ELF file.



  2. Set the SCOPED_TO_CELLS and SCOPED_TO_REF properties in the Properties window as shown in the following figure. Now you can run simulations with the ELF file added for simulation.