Main Content


Communicate with multiple data capture IPs

Since R2024a


The dataCaptureHub object communicates with all the data capture IPs running on an FPGA board to capture signals from the FPGA into MATLAB®. You can use this object to set trigger condition, capture condition, and data types, and capture data.

Before you create the dataCaptureHub object, you must have previously generated the customized data capture components. You must also have integrated the generated data capture IPs into your project and deployed it to the FPGA. The object communicates with the FPGA over a JTAG cable. Make sure that the JTAG cable is connected between the board and the host computer.

For a workflow overview, see Capture Asynchronous Data.



hub = dataCaptureHub returns an object, that controls all the data capture IPs running on an FPGA board. This connection enables you to access each data capture IP integrated in an FPGA design to capture the designated signals from MATLAB.


expand all

If a trigger condition is enabled, but the data capture IP does not detect the condition, the data capture request times out after the specified number of seconds. If the data capture is aborted, no data is returned to MATLAB.

When you use the FPGA Data Capture tool for data capture, this property is ignored. Use the Stop button on the pop-up window to abort a capture using the tool.

Specify the capture mode as one of these options:

  • 'blocking' — The dataCaptureHub object blocks MATLAB while retrieving captured data. In this capture mode, the JTAG resource is allocated to either FPGA data capture or AXI manager at a time.

  • 'nonblocking' — The dataCaptureHub object does not block MATLAB while retrieving captured data. In this capture mode, you can use FPGA data capture and AXI manager simultaneously.

Object Functions

addDataCaptureIPAdd data capture IP to hub object
checkStatusCheck current status of FPGA data capture in nonblocking mode
collectDataCollect captured data from FPGA to host in nonblocking mode
displayCaptureConditionDisplay overall capture condition
displayDataTypesDisplay data types for all captured signals
displayTriggerConditionDisplay overall trigger condition
releaseRelease control of JTAG interface
removeDataCaptureIPRemove data capture IP from hub object
setCaptureConditionConfigure comparison for each signal value
setCaptureConditionCombinationOperatorConfigure operator that combines individual signal value comparisons into overall capture condition
setCaptureConditionComparisonOperatorConfigure operator that compares individual signal values within capture condition
setDataTypeConfigure data type for the data captured from a signal
setEnableCaptureCtrlEnable or disable capture condition logic
setNumberofTriggerStagesConfigure number of trigger stages for capturing data
setRunImmediateFlagConfigure data capture to run immediately without any trigger condition
setTriggerCombinationOperatorConfigure operator that combines individual signal value comparisons into overall trigger condition
setTriggerComparisonOperatorConfigure operator that compares individual signal values within trigger condition
setTriggerConditionConfigure each signal value comparison
setTriggerPositionSet position of trigger detection cycle within capture buffer
setTriggerTimeOutConfigure maximum number of data capture IP clock cycles within which trigger condition must occur in a trigger stage
stepCapture one buffer of data from HDL IP core running on FPGA
stopStop FPGA data capture execution based on current status in nonblocking mode

Version History

Introduced in R2024a