Ports
| Signal Name | Direction | Description |
|---|---|---|
| Global Clock and Reset | ||
| axi_clk | Input | Increase clock frequency to 250 MHz. |
| apb_clk | Input | Clock for APB master and slave interfaces, generated by logic. Clock frequency <200 MHz. |
| dma_rstn | Input | SGDMA IP asynchronous reset signal, set to 0 for reset. |
| apb_rstn | Input | Asynchronous active-low reset for the APB master and slave interfaces. |
| m_axi4_pcie Bus | ||
| m_axi_pcie_awready | Input | Write address interface ready signal. |
| m_axi_pcie_awvalid | Output | Write address interface signal: 1: Valid. 0:
Invalid. |
| m_axi_pcie_awaddr[63:0] | Output | Address signal line, transmits address information, gives the first address of a burst transaction. |
| m_axi_pcie_awid[7:0] | Output | Transaction identifier, used in out-of-order transactions, identifies the write address group; default is 0. |
| m_axi_pcie_awlen[7:0] | Output | AXI4 extended burst length supports INCR burst types for 1 to 256 transfers. |
| m_axi_pcie_awsize[2:0] | Output | Number of bytes per transfer, related to WDATA width. For example, if WDATA is 32-bit, AWSIZE = log2(32/8) = 2. |
| m_axi_pcie_wready | Input | Write data interface ready signal. |
| m_axi_pcie_wvalid | Output | Write data interface signal: 1: Valid. 0:
Invalid. |
| m_axi_pcie_wdata[255:0] | Output | Data signal line, transmits data information. |
| m_axi_pcie_wdata_par[63:0] | Output | Reserved. |
| m_axi_pcie_wstrb[63:0] | Output | Data bus valid byte control. For a 32-bit bus, WSTRB = 4'b0010
means data in WDATA[15:8] is valid. If all 32 bits of WDATA are
valid, WSTRB should be 4'b1111. |
| m_axi_pcie_wlast | Output | Asserted high to indicate the last data in a burst transaction. |
| m_axi_pcie_bready | Output | Write response interface ready signal. |
| m_axi_pcie_bvalid | Input | Write response interface valid signal: 1: Valid. 0:
Invalid. |
| m_axi_pcie_bresp[1:0] | Input | Write response status: 0: OKEY (normal access
successful). 1: EXOKEY. 2: SLVERR (slave
error). 3: DECERR (decode error, e.g., no slave
address). |
| m_axi_pcie_bresp_par | Input | Write response status parity. |
| m_axi_pcie_bid[7:0] | Input | Transaction identifier. |
| m_axi_pcie_bid_par | Input | Transaction identifier parity. |
| m_axi_pcie_arready | Input | Read address interface ready signal. |
| m_axi_pcie_arvalid | Output | Read address interface valid signal: 1: Valid. 0:
Invalid. |
| m_axi_pcie_araddr[63:0] | Output | Address signal line, transmits address information. |
| m_axi_pcie_arid[7:0] | Output | Read address ID. |
| m_axi_pcie_arlen[7:0] | Output | Burst read length, AXI4 extended burst length supports INCR burst types for 1 to 256 transfers. |
| m_axi_pcie_arsize[2:0] | Output | Number of bytes per transfer, related to RDATA width. For
example, if RDATA is 32-bit, ARSIZE = log2(32/8) = 2. |
| m_axi_pcie_rready | Output | Read data ready signal. |
| m_axi_pcie_rvalid | Input | Read data valid signal: 1: Valid. 0:
Invalid. |
| m_axi_pcie_rid[7:0] | Input | Transaction identifier. |
| m_axi_pcie_rid_par | Input | Transaction identifier parity. |
| m_axi_pcie_rdata[255:0] | Input | Data signal line, transmits data information. |
| m_axi_pcie_rdata_par[63:0] | Input | Reserved. |
| m_axi_pcie_rresp[1:0] | Input | Read response, indicates the status of the read transfer. |
| m_axi_pcie_rresp_par | Input | Read response parity. |
| m_axi_pcie_rlast | Input | Asserted high when the last valid data in a read burst transfer is transmitted. |
| s_axi4_pcie Bus | ||
| s_axi_pcie_awready | Output | Write data interface ready signal. |
| s_axi_pcie_awvalid | Input | Write data valid signal: 1: Valid. 0:
Invalid. |
| s_axi_pcie_awaddr[63:0] | Input | Address signal line, transmits address information, gives the first address of a burst transaction. |
| s_axi_pcie_awid[7:0] | Input | Transaction identifier, used in out-of-order transactions, identifies the write address group. |
| s_axi_pcie_awlen[7:0] | Input | AXI4 extended burst length supports INCR burst types for 1 to 256 transfers. |
| s_axi_pcie_awsize[2:0] | Input | Number of bytes per transfer, related to WDATA width. For
example, if WDATA is 32-bit, AWSIZE = log2(32/8) = 2. |
| s_axi_pcie_wready | Output | Write address interface ready signal. |
| s_axi_pcie_wvalid | Input | Write address interface valid signal: 1: Valid. 0:
Invalid. |
| s_axi_pcie_wdata[255:0] | Input | Data signal line, transmits data information. |
| s_axi_pcie_wstrb[31:0] | Input | Data bus valid byte control. For example, for a 32-bit bus,
WSTRB = 4'b0010 means data in WDATA[15:8] is valid. If all 32
bits of WDATA are valid, WSTRB should be
4'b1111. |
| s_axi_pcie_wlast | Input | Asserted high to indicate the last data in a burst transaction. |
| s_axi_pcie_bready | Input | Write response interface ready signal. |
| s_axi_pcie_bvalid | Output | Write response interface valid signal: 1: Valid. 0:
Invalid. |
| s_axi_pcie_bresp[1:0] | Output | Write response status: 0: OKEY (normal access
successful). 1: EXOKEY. 2: SLVERR (slave
error). 3: DECERR (decode error, e.g., no slave
address). |
| s_axi_pcie_bresp_par | Output | Response parity bit. |
| s_axi_pcie_bid[7:0] | Output | Transaction identifier. |
| s_axi_pcie_bid_par | Output | Transaction identifier parity. |
| s_axi_pcie_arready | Output | Read address interface ready signal. |
| s_axi_pcie_arvalid | Input | Read address interface valid signal: 1: Valid. 0:
Invalid. |
| s_axi_pcie_araddr[63:0] | Input | Address signal line, transmits address information. |
| s_axi_pcie_arid[7:0] | Input | Transaction identifier. |
| s_axi_pcie_arlen[7:0] | Input | Burst read length, AXI4 extended burst length supports INCR burst
types for 1 to 256 transfers. Burst transfers have the following
rules:
|
| s_axi_pcie_arsize[2:0] | Input | Number of bytes per transfer, related to RDATA width. For
example, if RDATA is 32-bit, ARSIZE = log2(32/8) = 2. |
| s_axi_pcie_rready | Input | Read data ready signal. |
| s_axi_pcie_rvalid | Output | Read data interface valid signal: 1: Valid. 0:
Invalid. |
| s_axi_pcie_rid[7:0] | Output | Transaction identifier. |
| s_axi_pcie_rid_par | Output | Transaction identifier parity. |
| s_axi_pcie_rdata[255:0] | Output | Data signal line, transmits data information. |
| s_axi_pcie_rresp[1:0] | Output | Read response, indicates the status of the read transfer. |
| s_axi_pcie_rresp_par | Output | Read response parity. |
| s_axi_pcie_rlast | Output | Asserted high when the last valid data in a read burst transfer is transmitted. |
| m_axi4_user Bus | ||
| m_axi_usr_awready | Input | Write address interface ready signal. |
| m_axi_usr_awvalid | Output | Write address interface valid signal: 1: Valid. 0:
Invalid. |
| m_axi_usr_awaddr[63:0] | Output | Address signal line, transmits address information, gives the first address of a burst transaction. |
| m_axi_usr_awid[7:0] | Output | Transaction identifier, used in out-of-order transactions, identifies the write address group. |
| m_axi_usr_awlen[7:0] | Output | AXI4 extended burst length supports INCR burst types for 1 to 256 transfers. |
| m_axi_usr_awsize[2:0] | Output | Number of bytes per transfer, related to WDATA width. |
| m_axi_usr_wready | Input | Write data interface ready signal. |
| m_axi_usr_wvalid | Output | Write data valid signal: 1: Valid. 0:
Invalid. |
| m_axi_usr_wdata [AXI_DATA_WIDTH -1:0] |
Output | Data signal line, transmits data information. |
| m_axi_usr_wstrb [AXI_DATA_WIDTH/8-1:0] |
Output | Data bus valid byte control. For example, for a 32-bit bus,
WSTRB = 4'b0010 means data in WDATA[15:8] is valid. If
all 32 bits of WDATA are valid, WSTRB should be
4'b1111. |
| m_axi_usr_wlast | Output | Asserted high when the last valid data in a write burst transfer is transmitted. |
| m_axi_usr_bready | Output | Write response interface ready signal. |
| m_axi_usr_bvalid | Input | Write response interface valid signal: 1: Valid. 0:
Invalid. |
| m_axi_usr_bresp[1:0] | Input | Write response status: 0: OKEY (normal access
successful). 1: EXOKEY. 2: SLVERR (slave
error). 3: DECERR (decode error, e.g., no slave
address). |
| m_axi_usr_bid[7:0] | Input | Transaction identifier. |
| m_axi_usr_arready | Input | Read address interface ready signal. |
| m_axi_usr_arvalid | Output | Read address interface valid signal: 1: Valid. 0:
Invalid. |
| m_axi_usr_araddr[63:0] | Output | Address signal line, transmits address information. |
| m_axi_usr_arid[7:0] | Output | Transaction identifier. |
| m_axi_usr_arlen[7:0] | Output | Burst read length, AXI4 extended burst length supports INCR burst types for 1 to 256 transfers. |
| m_axi_usr_arsize[2:0] | Output | Number of bytes per transfer in a read burst. |
| m_axi_usr_rready | Output | Read data interface ready signal. |
| m_axi_usr_rvalid | Input | Read data valid signal: 1: Valid. 0:
Invalid. |
| m_axi_usr_rid[7:0] | Input | Transaction identifier. |
| m_axi_usr_rdata [AXI_DATA_WIDTH -1:0] |
Input | Data signal line, transmits data information. |
| m_axi_usr_rresp[1:0] | Input | Read response, indicates the status of the read transfer. |
| m_axi_usr_rlast | Input | Asserted high when the last valid data in a read burst transfer is transmitted. |
| m_apb_usr Bus | ||
| m_apb_usr_pready | Input | Ready signal used by the slave to extend the APB data transfer cycle. Active high. |
| m_apb_usr_psel | Output | Transfer selection signal from master to slave. Active high. |
| m_apb_usr_pwrite | Output | Read/write indication signal. High for write, low for read. |
| m_apb_usr_penable | Output | Enable signal indicating the second and subsequent cycles of an APB transfer. Active high. |
| m_apb_usr_paddr[31:0] | Output | Address bus, up to 32 bits. |
| m_apb_usr_pwdata[31:0] | Output | Write data bus, up to 32 bits. |
| m_apb_usr_prdata[31:0] | Input | Read data bus, up to 32 bits. |
| m_apb_usr_pslverror | Input | Transfer failure indication signal returned by the slave. Optional. Active high. |
| AXI4-Stream Bus | ||
| CTH | ||
| s_axis_usr_tready | Output | Asserted high to indicate the SGDMA side is ready to receive data.
When both tready and tvalid are high, data is transferred.
When tvalid is high but tready is low, the user side must
hold the valid data until tready goes high. |
| s_axis_usr_tvalid | Input | Asserted high by the user side to indicate that tdata is valid. |
| s_axis_usr_tlast | Input | Asserted high by the logic side to indicate the last data in a burst transfer. |
| s_axis_usr_tdata [AXI_DATA_WIDTH -1:0] |
Input | Transfer data bus. Bit width is defined by the AXI_DATA_WIDTH parameter. |
| s_axis_usr_tkeep [AXI_DATA_WIDTH/8-1:0] |
Input | Byte-valid indicator for the last data word in a packet. Each
bit corresponds to one byte: 1: Valid. 0:
Invalid. |
| HTC | ||
| m_axis_usr_tready | Input | Asserted high to indicate the user side is ready to receive data.
When both tready and tvalid are high, data is transferred.
When tvalid is high but tready is low, the SGDMA side
must hold the valid data until tready goes high. |
| m_axis_usr_tvalid | Output | Asserted high by the SGDMA to indicate that tdata is valid. |
| m_axis_usr_tlast | Output | Asserted high to indicate the last data in a burst transfer. |
| m_axis_usr_tdata [AXI_DATA_WIDTH -1:0] |
Output | Transfer data bus. Bit width is defined by the AXI_DATA_WIDTH parameter. |
| m_axis_usr_tkeep [AXI_DATA_WIDTH/8 -1:0] |
Output | Byte-valid indicator for the last data word in a packet. Each
bit corresponds to one byte: 1: Valid. 0:
Invalid. |
| m_apb_pcie Bus | ||
| m_apb_pcie_pready | Input | Ready signal used by the slave to extend the APB data transfer cycle. Active high. |
| m_apb_pcie_psel | Output | Transfer selection signal from master to slave. Active high. |
| m_apb_pcie_pwrite | Output | Read/write indication signal. High for write, low for read. |
| m_apb_pcie_penable | Output | Enable signal indicating the second and subsequent cycles of an APB transfer. Active high. |
| m_apb_pcie_paddr[23:0] | Output | Address bus, up to 24 bits. |
| m_apb_pcie_pwdata[31:0] | Output | Write data bus, up to 32 bits. |
| m_apb_pcie_pwdata_par[3:0] | Output | End-to-end parity bits for m_apb_pcie_pwdata. |
| m_apb_pcie_pstrb[3:0] | Output | Write strobe signals for sparse data transfer on the write data bus. |
| m_apb_pcie_pstrb_par | Output | End-to-end parity bits for m_apb_pcie_pstrb. |
| m_apb_pcie_prdata[31:0] | Input | Read data bus, up to 32 bits. |
| m_apb_pcie_prdata _par[3:0] | Input | End-to-end parity bits for m_apb_pcie_prdata. |
| m_apb_pcie_pslverror | Input | Transfer failure indication signal returned by the slave. Optional. Active high. |
| s_apb_usr Bus | ||
| s_apb_usr_pready | Output | Ready signal used by the slave to extend the APB data transfer cycle. Active high. |
| s_apb_usr_psel | Input | Transfer selection signal from master to slave. Active high. |
| s_apb_ usr_pwrite | Input | Read/write indication signal. High for write, low for read. |
| s_apb_usr_penable | Input | Enable signal indicating the second and subsequent cycles of an APB transfer. Active high. |
| s_apb_usr_paddr[31:0] | Input | Address bus, up to 32 bits. |
| s_apb_usr_pwdata[31:0] | Input | Write data bus, up to 32 bits. |
| s_apb_usr_prdata[31:0] | Output | Read data bus, up to 32 bits. |
| s_apb_usr_pslverror | Output | Transfer failure indication signal returned by the slave. Optional. Active high. |
| m_byp_axi4 Bus | ||
| m_axi_byp_awready | Input | Write address interface ready signal. |
| m_axi_byp_awvalid | Output | Write address interface valid signal: 1: Valid. 0:
Invalid. |
| m_axi_byp_awaddr [AXI_ADDR_WIDTH -1:0] |
Output | Address signal line, transmits address information, gives the first address of a burst transaction. |
| m_axi_byp_awid [AXI_ID_WIDTH -1:0] |
Output | Transaction identifier, used in out-of-order transactions, identifies the write address group. |
| m_axi_byp_awlen[7:0] | Output | AXI4 extended burst length supports INCR burst types for 1 to 256 transfers. |
| m_axi_byp_awsize[2:0] | Output | Number of bytes per transfer, related to WDATA width. For
example, if WDATA is 32-bit, AWSIZE = log2(32/8) = 2. |
| m_axi_byp_wready | Input | Write data interface ready signal. |
| m_axi_byp_wvalid | Output | Write data valid signal: 1: Valid. 0:
Invalid. |
| m_axi_byp_wdata [AXI_DATA_WIDTH -1:0] |
Output | Data signal line, transmits data information. |
| m_axi_byp_wstrb [AXI_DATA_WIDTH/8 -1:0] |
Output | Data bus valid byte control. For a 32-bit bus, WSTRB = 4'b0010
means data in WDATA[15:8] is valid. If all 32 bits of
WDATA are valid, WSTRB should be 4'b1111. |
| m_axi_byp_wlast | Output | Asserted high to indicate the last data in a burst transaction. |
| m_axi_byp_bready | Output | Write response interface ready signal. |
| m_axi_byp_bvalid | Input | Write response interface valid signal: 1: Valid. 0:
Invalid. |
| m_axi_byp_bresp[1:0] | Input | Write response status: 0: OKEY (normal access
successful). 1: EXOKEY. 2: SLVERR (slave
error). 3: DECERR (decode error, e.g., no slave
address). |
| m_axi_byp_bid [AXI_ID_WIDTH -1:0] |
Input | Transaction identifier. |
| m_axi_byp_arready | Input | Read address interface ready signal. |
| m_axi_byp_arvalid | Output | Read address interface valid signal: 1: Valid. 0:
Invalid. |
| m_axi_byp_araddr [AXI_ADDR_WIDTH -1:0] |
Output | Address signal line, transmits address information. |
| m_axi_byp_arid [AXI_ID_WIDTH -1:0] |
Output | Transaction identifier. |
| m_axi_byp_arlen[7:0] | Output | Burst read length, AXI4 extended burst length supports INCR burst types for 1 to 256 transfers. |
| m_axi_byp_arsize[2:0] | Output | Number of bytes per transfer, related to RDATA width. For
example, if RDATA is 32-bit, ARSIZE = log2(32/8) = 2. |
| m_axi_byp_rready | Output | Read data ready signal. |
| m_axi_byp_rvalid | Input | Read data interface valid signal: 1: Valid. 0:
Invalid. |
| m_axi_byp_rid [AXI_ID_WIDTH -1:0] |
Input | Transaction identifier. |
| m_axi_byp_rdata [AXI_DATA_WIDTH -1:0] |
Input | Data signal line, transmits data information. |
| m_axi_byp_rresp[1:0] | Input | Read response, indicates the status of the read transfer. |
| m_axi_byp_rlast | Input | Asserted high when the last valid data in a read burst transfer is transmitted. |
| SGDMA Engine Status Indicators and Interrupt Signals | ||
| Status Indicators | ||
| cfg_max_payload_size[2:0] | Input | MPS (Max Payload Size) indicator from PCIe IP. 3'b000: 128
bytes. 3'b001: 256 bytes. 3'b010: 512
bytes. Others: Reserved. |
| cfg_max_read_req_size[2:0] | Input | MRRS (Max Read Request Size) indicator from PCIe IP. 3'b000: 128
bytes. 3'b001: 256 bytes. 3'b010: 512
bytes. 3'b011: 1024 bytes. 3'b100: 2048
bytes. 3'b101: 4096 bytes. Others:
Reserved. |
| HTC_STS[8*CHN_NUM-1:0] | Output | Working status of the HTC engine. Bit[7:4]: ReservedBit[3]: RunBit[2]: InterruptBit[1]: DSC doneBit[0]: Busy |
| CTH_STS[8*CHN_NUM-1:0] | Output | Working status of the CTH engine. Bit[7:4]: ReservedBit[3]:
RunBit[2]: InterruptBit[1]: DSC doneBit[0]:
Busy |
| Interrupt Signals | ||
| cfg_msi_enable | Input | MSI interrupt enable signal. 0: Disabled. Other values:
Enabled. |
| cfg_msix_enable | Input | MSI-X interrupt enable signal. 0: Disabled. Other
values: Enabled. |
| legacy_irq[3:0] | Output | Legacy interrupt request signal. Held high until acknowledged and
cleared. Bit[0]:
INTA interrupt request Bit[1]: INTB interrupt
request Bit[2]: INTC interrupt request Bit[3]:
INTD interrupt request |
| legacy_irq_ack | Input | Legacy interrupt acknowledge signal. |
| usr_irq [NUM_USR_IRQ-1:0] |
Input | User interrupt request signals. Held high until acknowledged and cleared. |
| usr_irq_ack [NUM_USR_IRQ-1:0] |
Output | User interrupt acknowledge signal. This only means that an interrupt request has been received. If the configuration is wrong, the interrupt request may fail to be sent. |