Vitis Model Composer

Vitis™ Model Composer can be purchased as an add-on license to Vivado® ML Standard or Enterprise Editions and Vitis™ Development Environment.


Vitis™ Model Composer is a Model-Based Design tool that enables rapid design exploration within the MathWorks MATLAB® and Simulink® environment and accelerates the path to production on Xilinx devices through automatic code generation. You can design your algorithms and iterate through them using high-level performance-optimized blocks and validate functional correctness through system-level simulations. Vitis Model Composer transforms your design to production-quality implementation through automatic optimizations. The tool provides a library of more than 200 HDL, HLS, and AI Engine blocks for the design and implementation of algorithms on Xilinx devices. It also enables importing custom HDL, HLS, and AI Engine code as blocks into the tool. Vitis Model Composer includes all the functionality of Xilinx System Generator for DSP which is no longer shipped as a standalone tool since 2020.2.

In Vitis Model Composer you can:

  • Create a design using optimized blocks targeting AI Engines and Programmable Logic.
  • Visualize and analyze simulation results and compare the output to golden references generated using MALTAB® and Simulink®.
  • Seamlessly co-simulate AI Engine and Programmable Logic (HLS, HDL) blocks. 
  • Automatically generate code (AI Engines dataflow graph, RTL, HLS C++) and testbench for a design. 
  • Import custom HLS, AI Engines, and RTL code as blocks. 

What's New

Vitis Model Composer now contains the functionality of Xilinx System Generator for DSP.  Users who have been using Xilinx System Generator for DSP can continue development using Vitis Model Composer.

  • AI Engines 
    • A comprehensive constraint editor enables users to specify any constraint for AI Engine kernels in Vitis Model Composer. The generated ADF graph will contain these constraints.
    • Addition of AI Engine FFT and IFFT blocks to the library browser. 
    • Users now have access to many variations of AI Engine FIR blocks in the library browser. 
    • Ability to specify filter coefficients using input ports for FIR filters. 
    • Addition of two new utility blocks "RTP Source" and "To Variable Size".
    • Enhanced AIE Kernel import block now also supports importing templatized AI Engine functions. 
    • Ability to specify Xilinx platforms for AI Engine designs in the Hub block.
    • Through the Hub block, users can relaunch Vitis Analyzer at any time after running AIE Simulation. 
    • Users can now plot cycle approximate outputs and see estimated throughput for each output using Simulink Data Inspector. 
    • Enhanced usability to import a graph as a block using only the graph header file. 
    • Revamping of the progress bar with cancel button
    • Usability improvement during importing an AI Engine kernel or simulation of a design when MATLAB working directory and model directory are not the same. 
    • Profiling during AIE Simulation is now disabled by default. It can be optionally enabled from the Model Composer Hub block.
    • New TX Chain 200MHz example. 
    • New 2d FFT examples showcasing designs with HLS, HDL, and AI Engine blocks.
  • HDL
    • Simulation speed enhancement for SSR FIR (more than 10x improvement), and SSR FFT.
    • Simulation speed enhancement for memory blocks like RAMs, and FIFOs
    • Questa Simulator updated with VHDL 2008 in the Black-box import flow
  • General
    • Vitis Model Composer now contains the functionality of Xilinx System Generator for DSP.  Users who have been using Xilinx System Generator for DSP can continue development using Vitis Model Composer.
    • MATLAB Support - R2020a, R2020b, and R2021a


200MHz TX Chain in Vitis Model Composer

In 2020.2, Add-on for MATLAB & Simulink is the Unification of Xilinx Model Composer and System Generator for DSP.

Three inter-connectable domains:

  • RTL ( System Generator for DSP)
  • HLS (Model Composer)
  • AI Engine which is a new domain targetable by the Add-On for MATLAB & Simulink

AI Engine (Model Composer)

  • Imports AI Engine Kernels: C, C++, templates, state encapsulation classes
  • Imports Adaptive Dataflow Graphs: supports templates
  • Gateways between
    • AI Engine and RTL domain
    • AI Engine and HLS kernel domain
  • Accepts location constainst and FIFO insertion.
  • Library contains AI Engine DSP Library blocks
  • Runs SW Emulation and AI Engine Emulation
  • Improved Support for Vector Signal Dimensions: Improvements to code generation infrastructure to handle vector [N] signals in the design, resulting in improved performance
  • Constant Block Enhanced for Vector Parameters: Constant block now supports interpreting vectors parameters as 1-D, similar to corresponding Constant block in Simulink library
  • New Example Designs with Optimized DSP Blocks
    • MRI Image Reconstruction with 2D-FFT
    • Low-pass Filter design using FIR Block
    • Image Smoothing filter using FIR Block
  • Enhancements to C/C++ Function Import: Improved error and warning messages displayed in Diagnostic Viewer, enable better troubleshooting of issues with custom code.
  • Customize IP Properties for IP Catalog Export Type: Specify IP Properties including name, version and hardware description language (VHDL or Verilog) for the IP packaged from the synthesized design.
  • Search Capabilities in Device Chooser: Quickly search for parts and boards, based on multiple criteria, using the Device Chooser dialog on the Model Composer Hub block.
  • FIR Block Supports Multi-Channel Processing: Enhancements to the FIR block support processing columns in the incoming signal as independent channels of data for multi-channel filtering operations.
  • Supported MATLAB Versions: R2018a, R2018b, R2019a and R2019b
  • DSP Block Library: New FFT, IFFT and FIR blocks are now available to design and implement signal processing algorithms with Model Composer

  • Enhancements to Throughput Control: Expanded list of blocks supported for Throughput Control. Build designs with supported blocks and control the throughput requirements of the implementation without making any structural changes to the design

  • Additional Blocks that Support Streaming Data : Design and Implement algorithms with high-throughput requirements using an expanded set of blocks that support operations on streaming data. Examples : Look-up Table, Delay, Matrix Multiply, Submatrix etc.

  • Enhanced Complex Support in C/C++ Function Import : Added support for importing functions that use hls::x_complex types as well, in addition to std::complex, expanding the support for complex signals in custom blocks.

  • Enhancements to C/C++ Function Import: Create custom "Source" blocks for your design using the xmcImportFunction feature

  • Improved Support for Row-Matrix and Column-Matrix Signal Dimensions: Improvements to the code generation infrastructure to handle Row-Matrix [Nx1] and Column-Matrix [1xN] signals in the design, resulting in improved performance.

  • Supported MATLAB Versions: R2018a, R2018b and R2019a
  • Throughput Control:  Specify the desired number of data samples processed per clock (a.k.a Super Sample Rate) in order to steer the automatic optimizations in Model Composer to achieve desired throughput without structural modifications to your design.

  • Debug Imported C/C++ Functions during Simulation: Use third-party debuggers to add breakpoints, step through and view intermediate variable values in the C/C++ code  associated to your custom Model Composer blocks, while the Simulink simulation is running

  • Complex Type Support in C/C++ Function Import: Import functions with arguments of type std::complex to create custom Model Composer blocks that can be connected to and simulated with complex signals in your design.

  • Getting Started Examples for C/C++ Function Import: Collection of simple examples for a quick introduction to features and capabilities of importing C/C++ functions as custom Model Composer blocks. Access these examples within the MATLAB Help Browser and use them as a starting point to import your own functions.

  • Math Blocks: New optimized Min, Max and Reshape Row-Major blocks added to the Math Functions sub-library, expanding the breadth of mathematical operations that can be modeled in your designs.

  • Signal Routing Blocks: New Mux and Demux blocks provide better control over routing signals in your designs by combining input signals into a larger output vector signal or splitting an input vector signal into constituent scalar/smaller vector outputs as required.

  • Supported MATLAB Versions: R2017a, R2017b and R2018a



Vitis Model Composer can be purchased as an add-on license to Vivado ML standard or enterprise editions and Vitis™ unified software platform. 

To evaluate, you can generate a free 90-day evaluation license at


Vitis Model Composer can be additionally selected as a Design Tool and installed through Vivado Installer or Vitis installer.