Main Content

Custom IP Core Generation

Using the HDL Workflow Advisor, you can generate a custom IP core from a model or algorithm. The generated IP core is sharable and reusable. You can integrate it with a larger design by adding it in an embedded system integration environment, such as Intel® Qsys, Xilinx® EDK, or Xilinx IP Integrator.

To learn how to generate a custom IP core, see:

Custom IP Core Architectures

You can generate an IP core:

The Algorithm from MATLAB and Simulink block represents your DUT. HDL Coder™ generates the rest of the IP core based on your target platform interface settings and processor or FPGA synchronization mode.

Target Platform Interfaces

You can map each port in your DUT to one of these target platform interfaces in the IP core:

To learn more about the AXI4, AXI4-Lite, and AXI4-Stream Video protocols, refer to your target hardware documentation. To add multiple AXI4-Stream and AXI4-Master interfaces and generate an IP core with multiple interfaces, see Generate HDL IP Core with Multiple AXI4-Stream and AXI4 Master Interfaces.

Processor and FPGA Synchronization

HDL Coder generates synchronization logic in the IP core based on the processor and FPGA synchronization mode that you choose.

When generating a custom IP core, these processor and FPGA synchronization options are available:

  • Free running (default)

  • Coprocessing – blocking

To learn more, see Processor and FPGA Synchronization.

Custom IP Core Generated Files

After you generate a custom IP core, the IP core files are in the ipcore folder within your project folder. In the HDL Workflow Advisor, you can view the IP core folder name in the IP core folder field of the HDL Code Generation > Generate RTL Code and IP Core task.

The IP core folder contains:

  • IP core definition files.

  • HDL source files (.vhd or .v).

  • A C header file with the register address map.

  • (Optional) An HTML report with instructions for using the core and integrating the IP core in your embedded system project.

  • When you use the multicycle path constraints to meet the timing requirements, HDL Coder generates the constraints file of XDC format (.xdc) for Xilinx workflow and SDC format (.sdc) for Intel workflow.


The IP Core Generation workflow does not support RAM Architecture set to Generic RAM without clock enable.

When you disable clock domain crossing (CDC) you cannot use different clocks for the IP core and the AXI interface. The IPCore_Clk and AXILite_ACLK must be synchronous and connected to the same clock source. The IPCore_RESETN and AXILite_ARESETN must be connected to the same reset source. See Synchronization of Global Reset Signal to IP Core Clock Domain When you enable CDC you can connect different clocks for the IP core and the AXI interface. To learn more about CDC, see Enable Clock Domain Crossing on AXI4-Lite Interfaces.

Related Examples

More About