To perform resource analysis in Vitis Model Composer:
- Double-click the Model Composer Hub block in the Simulink model.
- Select the following in the Model Composer Hub dialog box dialog box:
- In the Hardware
Selection tab:
- Click the button next to the Select Hardware box to open the Device Chooser.
- Specify the Part to implement your design.Note: If you select a Board or Platform instead of a Part, the Part field populates with the name of the part on the selected Board or Platform.
- In the Analyze tab:
- Set the Perform
Analysis field to
Post SynthesisorPost Implementationbased on the runtime versus accuracy tradeoff. - Set the Analysis type field to
Resource.
- Set the Perform
Analysis field to
Figure 1. Resource Analyzer - In the Hardware
Selection tab:
- In the Model Composer Hub dialog box, click Analyze.
When you generate, the following occurs:
- Model Composer generates the required files for the selected compilation target. For resource analysis Model Composer invokes Vivado in the background for the design project.
- Depending on your selection for Perform analysis (
Post SynthesisorPost Implementation), the design runs in Vivado through synthesis or through implementation. - After the Vivado tools run completes, the system collects resource utilization data from the Vivado resource utilization database. It saves this data in a specific file format under the target directory. At the end of the resource utilization data collection the Vivado project closes and control is passed to the MATLAB/Vitis Model Composer process.
- Model Composer processes the resource utilization data and displays a Resource Analyzer table with resource utilization information (see below).
Figure 2. Resource AnalyzerIn the resource analyzer table:
- The header section of the dialog box indicates the Vivado design stage after which resource utilization data was collected from Vivado. This is either Post Synthesis or Post Implementation.
- The local toolbar contains the following commands to change the
display of resource counts:
-
Hierarchical/Flat
Display: Toggles the display between a hierarchical tree and
a flattened list.
-
Collapse
All: Collapses the design hierarchy to display only the
top-level objects.
-
Expand
All: Expands the design hierarchy at all levels to display
resources used by each subsystem and each block in the design.
-
Hierarchical/Flat
Display: Toggles the display between a hierarchical tree and
a flattened list.
- The number shown in each column heading indicates the total number of
each type of resource available in the AMD device
for which you are targeting your design. In the example below, the design is targeting
an AMD Kintex™ 7 FPGA.Figure 3. Resource Analysis Report for Kintex 7
- The example displays a hierarchical listing of each subsystem and
block in the design, with the count of the following resource types:
- BRAMs
- block RAM and FIFO primitives. block RAMs (BRAMs) are counted in this way.
- DSPs
- DSP48 primitives (DSP48E, DSP48E1, DSP48E2) and DSP58
- Registers
- Registers and Flip-Flops. All primitive names that start with FD* (FDCE, FDPE, FDRE, FDSE, etc.) and LD* (LDCE, LDPE, etc.) are considered as Registers.
- LUTs
- All LUT types combined.
- The display order can be sorted for any column’s values by clicking the column head.
- You can cross probe from the table to the Simulink model by selecting a row in the table. This highlights the corresponding HDL blocks in the Simulink model. See Cross Probing from the Resource Analysis Results to the Model.