hdlcoder.ReferenceDesign.addFPGADataCaptureInterface - Add and define FPGA Data Capture interface - MATLAB (original) (raw)

Class: hdlcoder.ReferenceDesign
Namespace: hdlcoder

Add and define FPGA Data Capture interface

Since R2025a

Syntax

addFPGADataCaptureInterface('AllowedConnectivityTypes',{'JTAG'}) addFPGADataCaptureInterface('AllowedConnectivityTypes',Connection_Types,'ManagerConnection',Manager_Connection,'ManagerAddressSegments',Manager_Address_Segments,'ManagerClockConnection',Manager_Clock_Connection,'ManagerResetConnection',Manager_Reset_Connection) addFPGADataCaptureInterface('AllowedConnectivityTypes',{'JTAG'},'MemoryConnection',Memory_Connection,'MemoryAddressSegments',Memory_Address_Segments,'MemoryClockConnection',Memory_Clock_Connection,'MemoryResetConnection',Memory_Reset_Connection) addFPGADataCaptureInterface('AllowedConnectivityTypes',Connection_Types,'ManagerConnection',Manager_Connection,'ManagerAddressSegments',Manager_Address_Segments,'ManagerClockConnection',Manager_Clock_Connection,'ManagerResetConnection',Manager_Reset_Connection,'MemoryConnection',Memory_Connection,'MemoryAddressSegments',Memory_Address_Segments,'MemoryClockConnection',Memory_Clock_Connection,'MemoryResetConnection',Memory_Reset_Connection)

Description

addFPGADataCaptureInterface('AllowedConnectivityTypes',`{'JTAG'}`) adds and defines an FPGA Data Capture interface to an hdlcoder.ReferenceDesign object. This argument enables data capture over a JTAG connection and uses internal BRAM resources to store captured data.

addFPGADataCaptureInterface('AllowedConnectivityTypes',[Connection_Types](#mw%5Fd06e5eef-bcfa-492b-bd6d-014bf3f09904),'ManagerConnection',[Manager_Connection](#mw%5Ff21adb47-8350-4e1f-9f3e-6f7b48a99fc5),'ManagerAddressSegments',[Manager_Address_Segments](#mw%5F8c5a7476-0400-42b2-8c74-748672226cb9),'ManagerClockConnection',[Manager_Clock_Connection](#mw%5Fa10b78d5-fc61-4279-8c10-05e4f12e78f1),'ManagerResetConnection',[Manager_Reset_Connection](#mw%5F30f04cf9-9904-460b-a116-3c1dc4beafdf)) adds and defines an FPGA Data Capture interface to the hdlcoder.ReferenceDesign object with the options to connect to the AXI4 manager port of the processor. These arguments enable data capture over a processing system (PS) Ethernet or universal serial bus (USB) Ethernet connection and use internal BRAM resources to store captured data. In the HDL Workflow Advisor, HDL Coder™ adds connections specified by the Connection_Types argument to the FPGA Data Capture (HDL Verifier required) parameter in theSet Target Reference Design task.

addFPGADataCaptureInterface('AllowedConnectivityTypes',`{'JTAG'}`,'MemoryConnection',[Memory_Connection](#mw%5F3045a0d8-8cc0-41ac-be91-21d9de029648),'MemoryAddressSegments',[Memory_Address_Segments](#mw%5Fb49286a8-5d9d-4f71-ad42-0df1d6bcc170),'MemoryClockConnection',[Memory_Clock_Connection](#mw%5Faa4ead6a-5229-46b2-a72a-a56d15f2fc8a),'MemoryResetConnection',[Memory_Reset_Connection](#mw%5F10780966-eecc-45cd-a391-45b75eae07f3)) adds and defines an FPGA Data Capture interface to the hdlcoder.ReferenceDesign object with the options to connect to external DDR memory. These arguments enable capturing large data of up to two gigasamples by using the external DDR memory available on the FPGA board over a JTAG connection. When you specify these arguments, in the HDL Workflow Advisor, HDL Coder adds the External memory option to the FPGA Data Capture storage type parameter in the Generate RTL Code and IP Core task.

addFPGADataCaptureInterface('AllowedConnectivityTypes',[Connection_Types](#mw%5Fd06e5eef-bcfa-492b-bd6d-014bf3f09904),'ManagerConnection',[Manager_Connection](#mw%5Ff21adb47-8350-4e1f-9f3e-6f7b48a99fc5),'ManagerAddressSegments',[Manager_Address_Segments](#mw%5F8c5a7476-0400-42b2-8c74-748672226cb9),'ManagerClockConnection',[Manager_Clock_Connection](#mw%5Fa10b78d5-fc61-4279-8c10-05e4f12e78f1),'ManagerResetConnection',[Manager_Reset_Connection](#mw%5F30f04cf9-9904-460b-a116-3c1dc4beafdf),'MemoryConnection',[Memory_Connection](#mw%5F3045a0d8-8cc0-41ac-be91-21d9de029648),'MemoryAddressSegments',[Memory_Address_Segments](#mw%5Fb49286a8-5d9d-4f71-ad42-0df1d6bcc170),'MemoryClockConnection',[Memory_Clock_Connection](#mw%5Faa4ead6a-5229-46b2-a72a-a56d15f2fc8a),'MemoryResetConnection',[Memory_Reset_Connection](#mw%5F10780966-eecc-45cd-a391-45b75eae07f3)) adds and defines an FPGA Data Capture interface to the hdlcoder.ReferenceDesign object with the options to connect to the AXI4 manager port of the processor and external DDR memory. These arguments enable capturing large data of up to two gigasamples by using the external DDR memory over a PS Ethernet or USB Ethernet connection.

Key Considerations

Input Arguments

expand all

Connection types for data capture, specified as a cell array of character vectors. The supported connection types are:

You can specify any or all of these connections if supported by the target board. In the HDL Workflow Advisor, HDL Coder adds connections specified by this argument to the FPGA Data Capture (HDL Verifier required) parameter in the Set Target Reference Design task.

For PS Ethernet and USB Ethernet connections, when you add the device tree to anhdlcoder.Board or hdlcoder.ReferenceDesign object by using the .dtb extension, follow the structure of the examples inGenerate DTB File (HDL Verifier). When you use the .dts extension, you do not need to author the device tree, as it can be dynamically generated by HDL Coder. For more information about generating a device tree for the HDL Coder generated IP core, see Generate Device Tree for IP Core.

Note

Example: {'JTAG'}

Example: {'JTAG','PS Ethernet'}

Example: {'JTAG','PS Ethernet','USB Ethernet'}

Name of the AXI4 manager port of the processor that is connected to the AXI4 subordinate port of the FPGA Data Capture interface, specified as a character vector.

Example: 'axi_cpu_interconnect/M01_AXI'

Target address segments of the AXI4 manager port of the processor, specified as a cell array of character vectors. The format of the target address segments is{'SegmentName',offset address,range}. You must use a power of 2 value for range.

Note

The interface supports the address width of 32 bits and the register address space of 28 bits.

Example: {'sys_cpu/Data',hex2dec('0x50000000'),hex2dec('0x00100000')}

Name of the AXI4 manager clock port of the processor that is connected to the AXI4 subordinate clock port of the FPGA Data Capture interface, specified as a character vector.

Example: 'core_clkwiz/clk_out1'

Name of the AXI4 manager reset port of the processor that is connected to the AXI4 subordinate reset port of the FPGA Data Capture interface, specified as a character vector.

Example: 'proc_sys_reset_user/peripheral_aresetn'

Name of the AXI4 subordinate port of the memory that is connected to the AXI4 manager port of the FPGA Data Capture interface, specified as a character vector.

Example: 'axi_plddr_interconnect/S02_AXI'

Target address segments of the AXI4 subordinate port of the memory, specified as a cell array of character vectors. The format of the target address segments is{'SegmentName',offset address,range}. You must use a power of 2 value for range.

Example: {'mig_7series_0/memmap/memaddr',0x40000000,PLDDRSize}

Name of the clock port of the memory that is connected to the AXI4 manager clock port of the FPGA Data Capture interface, specified as a character vector.

Example: 'mig_7series_0/ui_clk'

Name of the reset port of the memory that is connected to the AXI4 manager reset port of the FPGA Data Capture interface, specified as a character vector.

Example: 'proc_sys_reset_1/peripheral_aresetn'

Examples

expand all

Add an FPGA Data Capture interface to an hdlcoder.ReferenceDesign object, with the manager port connecting to external DDR memory and the subordinate port connecting to the processor.

Create a reference design object.

hRD = hdlcoder.ReferenceDesign('SynthesisTool','Xilinx Vivado'); hRD.ReferenceDesignName = 'Data Capture IP with External DDR3 Memory Access'; hRD.BoardName = 'Xilinx Zynq ZC706 evaluation kit';

Add the supported tool versions.

hRD.SupportedToolVersion = {'2023.1','2024.1'};

Add an FPGA Data Capture interface with AXI4 manager and AXI4 subordinate ports.

PLDDRSize = 1024*2^20; hRD.addFPGADataCaptureInterface(... 'AllowedConnectivityTypes',{'JTAG','PS Ethernet','USB Ethernet'}, ... 'ManagerConnection','axi_cpu_interconnect/M01_AXI', ... 'ManagerAddressSegments',{'sys_cpu/Data',hex2dec('0x50000000'),hex2dec('0x00100000')}, ... 'ManagerClockConnection','core_clkwiz/clk_out1', ... 'ManagerResetConnection','proc_sys_reset_user/peripheral_aresetn', ... 'MemoryConnection','axi_plddr_interconnect/S02_AXI', ... 'MemoryAddressSegments',{'mig_7series_0/memmap/memaddr',0x40000000,PLDDRSize}, ... 'MemoryClockConnection','mig_7series_0/ui_clk', ... 'MemoryResetConnection', proc_sys_reset_1/peripheral_aresetn');

Version History

Introduced in R2025a