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:
with an axi4 or axi4-lite interface.
with an axi4 or axi4-lite interface and axi4-stream video interfaces.
without any axi4 or axi4-lite interfaces. to learn more, see .
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:
axi4-lite: use this interface to access control registers or for lightweight data transfer. hdl coder generates memory-mapped registers and allocates address offsets for the ports.
axi4: use this interface to connect to components that support burst data transmission. hdl coder generates memory-mapped registers and allocates address offsets for the ports. in the generated hdl ip core, you can have either axi4 or axi4-lite interface but not both interfaces.
axi4-stream video: use this interface to send or receive a 32-bit scalar video data stream.
external ports: use external ports to connect to fpga external io pins or to other ip cores with external ports.
fpga data capture: use fpga data capture over the jtag or ethernet interface to observe test point signals and signals at the dut output ports while your design runs on the fpga. for an example of marking internal signals as test points, see . for more information on capturing data, see data capture workflow (hdl verifier).
note
to use this interface, you must download a hardware support package for your fpga board. see (hdl verifier).
to learn more about the axi4, axi4-lite, and axi4-stream video protocols, refer to your target hardware documentation.
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 .
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.
restrictions
the ip core generation workflow does not support :
ram architecture set to
generic ram without clock enable
.using different clocks for the ip core and the axi interface. the
ipcore_clk
andaxilite_aclk
must be synchronous and connected to the same clock source. theipcore_resetn
andaxilite_aresetn
must be connected to the same reset source. see .