Port Descriptions - Port Descriptions - 6.0 English - PG232

MIPI CSI-2 Receiver Subsystem Product Guide (PG232)

Document ID
PG232
Release Date
2026-07-08
Version
6.0 English

The following table describes the MIPI CSI-2 RX Subsystem I/O signals.

Table 1. Port Descriptions
Signal Name Direction Description
lite_aclk I AXI clock.
lite_aresetn I AXI reset. Active-Low. This signal needs to be synchronous to lite_aclk.
S00_AXI* - AXI4-Lite interface, defined in the Vivado Design Suite: AXI Reference Guide (UG1037)
dphy_clk_200M I Clock for PHY core. Must be 200 MHz.
video_aclk I Subsystem clock.
video_aresetn I Subsystem reset. Active-Low. This signal needs to be synchronous to video_aclk.
AXI4-Stream Video Interface when Video Format Bridge is Present
video_out_tvalid O Data valid.
video_out_tready I Slave ready to accept the data.
video_out_tuser[n-1:0] O n is based on TUSER width selected in the Vivado IDE.
  • 112-127: CPHY Header CRC
  • 96-111: Reserved
  • 95-80: CRC
  • 79-72: ECC
  • 71-70: Reserved
  • 69-64: Data Type
  • 63-48 Word Count
  • 47-32: Line Number
  • 31-16: Frame Number
  • 15-2: Reserved
  • 1: Packet Error
  • 0: Start of Frame
video_out_tlast O End of line.
video_out_tdata[n-1:0] O Data

n is based on the Data type and number of pixels selected in the Vivado IDE (refer to video_out Port Width).

video_out_tdest[0-10] 1 O
  • 5-10: Data Type
  • 4: Reserved
  • 3-0: Virtual Channel Identifier (VC)
AXI4-Stream Interface when Embedded Non-image Interface is Selected
emb_nonimg_tdata[n-1:0] O Data.

n is based on Data type selected in the Vivado IDE (refer to Embedded Non-Image AXI4-Stream Interface TDATA Widths).

emb_nonimg_tdest[3:0] O Specifies the Virtual Channel Identifier (VC) value of the embedded non-image packet.
emb_nonimg_tkeep[n/8-1:0] O Specifies valid bytes.
emb_nonimg_tlast O End of line.
emb_nonimg_tready I Slave ready to accept data.
emb_nonimg_tuser[112:0] O
  • 112-96: Reserved
  • 95-80: CRC
  • 79-72: ECC
  • 71-70: Reserved
  • 69-64: Data Type
  • 63-48: Word Count
  • 47-32: Line Number
  • 31-16: Frame Number
  • 15-2: Reserved
  • 1: Packet Error
  • 0: Start of frame
emb_nonimg_tvalid O Data valid.
MIPI ISP Bridge option is selected When DPHY selected
header_data[31:0] O Header Data
  • 31-30: VCX
  • 29-24: ECC
  • 23-8: Word count
  • 7-6: VC
  • 5-0: Data Type
header_valid O Header valid
MIPI ISP Bridge option is selected When CPHY selected
header_data[47:0] O
  • Header Data
  • 47-42: Reserved
  • 41-40: VCX
  • 39-24: Header CRC
  • 23-8: Word count
  • 7-6: VC
  • 5-0: Data Type
header_valid O Header valid
AXI4-Stream Interface when Video Format Bridge is Not Present
video_out_tdata[n-1:0] O Data.

n is based on TDATA width selected in the Vivado IDE.

video_out_tdest[n-1:0] O n is based on TDEST width selected in the Vivado IDE:
  • 5-10: Data type
  • 4: Reserved
  • 3-0: Virtual Channel Identifier (VC)
video_out_tkeep[n/8-1:0] O Specifies valid bytes.
video_out_tlast O End of line.
video_out_tready I Slave ready to accept data.
video_out_tuser[n-1:0] O n is based on TUSER width selected in the Vivado IDE
  • 112-96: Reserved
  • 95-80: CRC
  • 79-72: ECC
  • 71-70: Reserved
  • 69-64: Data Type
  • 63-48: Word Count
  • 47-32: Line Number
  • 31-16: Frame Number
  • 15-2: Reserved
  • 1: Packet Error
  • 0: Start of frame
video_out_tvalid O Data valid.
Other Signals
csirxss_csi_irq O Interrupt (active-High) from CSI-2 RX Controller.
frame_rcvd_pulse_out 2 O High when the Frame End (FE) short packet is received for the frame_rcvd_pulse_out O current frame.
AMD 7 series FPGA
mipi_dphy_if O D-PHY interface.
rxbyteclkhs O PPI high-speed receive byte clock.
system_rst_out O Reset indication due to PLL reset (active-High).
dlyctrl_rdy_out O Ready signal output from IDEALYCTRL, stating delay values are adjusted as per VTC changes.
dlyctrl_rdy_in I Ready signal input to IDELAYCTRL. Refer to “Include IDELAYCTRL in Core” in the Configuration Tab for more details.
clk_300m I 300 MHz clock for IDELAYCTRL.
UltraScale+ and Versal Adaptive SoC Shared Logic Outside the Subsystem
mipi_phy_if O D-PHY interface.
bg<x>_pin<y>_nc I Inferred bitslice ports. The core infers bitslice0 of a nibble for strobe propagation within the byte group; <x> indicates byte group (0,1,2,3); <y> indicates bitslice0 position (0 for the lower nibble, 6 for the upper nibble)
  • RTL Design: There is no need to drive any data on these ports.
  • IP integrator: These ports must be brought to the top level of the design to apply the constraints correctly.
  • Pins are available only for AMD UltraScale+ families.
  • BITSLICE defines a single I/O for UltraScale+, NIBBLESLICE defines a single I/O for Versal devices.
clkoutphy_in I PHY serial clock.
pll_lock_in I PLL Lock indication.
rxbyteclkhs O PPI high-speed receive byte clock.
rxbyteclkhs_cnts_in I Continuous PPI high-speed receive byte clock for line rates > 1500 Mb/s.
ext_mmcm_clk_in I External MMCM clock when selected External MMCM for line rates >1500.
ext_mmcm_lock_in I External MMCM lock in when selected External MMCM for line rates > 1500.
ext_mmcm_clk_out O MMCM clock out when selected to use MMCM inside subsystem for line rates >1500.
ext_mmcm_lock_out O MMCM lock out when selected to use MMCM inside subsystem for line rates > 1500.
Versal Premium Series Gen 2 Outside Subsystem
mipi_phy_if/mipi_c_phy_if O PHY (D-PHY/C-PHY) interface.
shared_rxwordlckhs_in I PPI high-speed receive word clock.
cnts_rxworkclkhs_in I PPI high-speed receive continuous word clock.
shared_plllocked_in I PLL lock indication (active-High).
shared_pll_clkoutphy_in I PHY serial clock.
shared_pll_clkoutphy_90_in I 90 shift of the pll_clkoutphy.
iophy_intf_rdy O Indication of IO PHY reset sequence completion.
Versal Premium Series Gen 2 Inside Subsystem
mipi_phy_if/mipi_c_phy_if O PHY (D-PHY/C-PHY) interface.
clkoutphy_out O PHY serial clock.
rxwordlckhs_outt O PPI high-speed receive word clock.
cnts_rxworkclkhs_outt O PPI high-speed receive continuous word clock.
system_rst_out O Reset indication due to PLL reset (active-High).
pll_lock_out O PLL lock indication (active-High).
pll_clkoutphy_90_out O 90 shift of the pll_clkoutphy.
iophy_intf_rdy O Indication of IO PHY reset sequence completion.
CSI-2 Controller Register Interface Disabled
ctrl_core_en I Enable the core to receive and process packets.
active_lanes[1:0] I Active lanes.
ctrl_dis_in_prgs O Indicates the CSI-2 RX Controller core disable is in progress.
errsotsynchs_intr O Interrupt output indicating SoT synchronization completely failed.
errsoths_intr O Interrupt output indicating SoT error detected.
cl_stopstate_intr O High when clock lane is currently in stop state.
dl<n>_stopstate_intr O High when the lane module is currently in stop state.
crc_status_intr O High when the computed CRC code is different from the received CRC code.
ecc_status_intr[1:0] O Bit 1- High when ECC syndrome is computed and two bits error is detected in the received packet header.

Bit 0: High when ECC syndrome was computed and a single bit error in the packet header was detected and corrected

linebuffer_full O High when line buffer is full.
  1. The TDEST value stays constant throughout the line.
  2. When the CSI2 Controller Register Interface is not selected, the port is present. When the CSI2 Controller Register Interface is selected, the port is not present.
  3. The active-High reset for the MIPI D-PHY core is generated internally by setting the external active-Low reset (video_aresetn) to 0.
  4. Each frame start packet with Virtual Channel (VC) identifier is mapped to the first image packet and the first embedded non-image with the corresponding VC.
  5. As CRC appears at the end of the MIPI packet, ECC, and CRC are reported ONLY during the last beat of the stream transfer when TLAST and TVALID are asserted. You need to ignore the ECC/CRC reported during other transfer beats. Refer to Interface Debug for more details.