5.1.2. AXI-ST Client Interface
When the DR Extension Subsystem is enabled, both AXI-ST Client and AXI-ST PHY Direct interface are available for same port. This allows the switching between protocols, for example, 25G Ethernet protocol using 25GbE profile can use AXI-ST Client and when DR for same port happen to CPRI protocol, the datapath switches to the AXI-ST PHY Direct interface.
Signal Name | Direction | Description |
---|---|---|
p<n>_app_ss_st_tx_clk | In | Clock signal of each enabled port. |
p<n>_app_ss_st_tx_areset_n | In | Asynchronous reset of each enabled port |
p<n>_app_ss_st_tx_tvalid | In | When asserted, the TX data signal is valid. This signal must be continuously asserted between the assertions of the start of packet and end of packet signals for the same packet; except when tready is deasserted. |
p<n>_ss_app_st_tx_tready | Out | Txready signal. |
p<n>_app_ss_st_tx_tdata [PORTX_DATA_WIDTH-1:0] | In | Data signals. 400GE Profile: PORTX_DATA_WIDTH=1024 200GE Profile: PORTX_DATA_WIDTH=512 100GE Profile: PORTX_DATA_WIDTH= 256 40GE/50GE Profile: PORTX_DATA_WIDTH=128 10GE/25GE Profile: PORTX_DATA_WIDTH= 64 |
p<n>_app_ss_st_tx_tkeep [PORTX_DATA_WIDTH/8-1:0] | In | 1'b1 for data byte.1'b0 for null byte.
Note: Null byte is not allowed in the beginning or then middle of a transfer. A null byte is only applicable during end of transfer.
400GE Profile: PORTX_DATA_WIDTH=1024 200GE Profile: PORTX_DATA_WIDTH=512 100GE Profile: PORTX_DATA_WIDTH= 256 40GE/50GE Profile: PORTX_DATA_WIDTH= 128 10GE/25GE Profile: PORTX_DATA_WIDTH = 64 |
p<n>_app_ss_st_tx_tlast | In | Indicates the end of the transfer. |
p<n>_app_ss_st_tx_tuser_client[1:0] - 25GeE, 10GbE [3:0] - 40GCAUI-4, 50GAUI-2, 50GAUI-1 [7:0] - 100GCAUI-4, 100GAUI-2, 100GAUI-1 [15:0] 200GAUI-4, 200GAUI-2 [31:0] 400GAUI-8, 400GAUI-4 |
In | TxClient User signal. Segment 0 (Repeated for each available segment based on profile): [1] - Driving “0” on this port means TX MAC adds CRC and “1” means MAC do not add CRC i.e. no PAD and no source address insertion.Please note i_tx_skip_crc needs to be held to the selected value (1 or 0) for the whole packet. For PTP 1-step packet, i_tx_skip_crc must be 0. [0] - When asserted in an EOP cycle (while the EOP signal is asserted), directs the IP core to insert an error in the packet before sending it on the Ethernet link. |
p<n>_app_ss_st_tx_tuser_ptp[93:0] | In | TxPTP User signal. Applicable when Ethernet rate is 400G (F-tile only), tie to 0 for other rate: [93:92] – Clock Mode of incoming PTP Tx packet (i_clock_type). 2'b00: Ordinary Clock 2'b01: Boundary Clock 2'b10: End-to-end Transparent Clock 2'b11: Peer-to-peer Transparent Clock [91:61] - Fingerprint for current TX Packet (i_ptp_fp[31:0], MSB tie to 0 if fingerprint width is less than 32) [59:59] - Add peer-to-peer mean path delay to correction field for current TX packet (i_ptp_p2p[1]) [58:58] - Add asymmetry to correction field for current TX packet (i_ptp_asym[1]) [57:57] - Sign of asymmetry delay add to correction field for current TX packet (i_ptp_asym_sign[1]) [56:50] - Index of asymmetry delay and peer-to-peer mean path delay in the configurable lookup table (i_ptp_asym_p2p_idx[13:7]) [49:49] - Insert an Egress Timestamp into the current TX Packet (i_ptp_ins_ets[1]), internally generated when packet classifier instantiated within HSSI SS. [48:48] - Request a 2-step timestamp for the current TX packet (i_ptp_ts_req[1]) Applicable when Ethernet rate is 10G/25G/50G/100G/200G: [47:46] – Clock Mode of incoming PTP Tx packet (i_clock_type). [45:14] - Fingerprint for current TXPacket (i_ptp_fp[31:0], MSB tie to 0 if fingerprint width is less than 32). [13:13]- Add peer-to-peer mean path delay to correction field for current TX packet (i_ptp_p2p[0], Exist on F-tile only) [12:12] - Add asymmetry to correction field for current TX packet(i_ptp_asym[0], Exist on F tile only) [11:11]- Sign of asymmetry delay add to correction field for current TX packet (i_ptp_asym_sign[0], Exist on F-tile only) [10:4]- Index of asymmetry delay and peer-to-peer mean path delay in the configurable lookup table (i_ptp_asym_p2p_idx[6:0], Exist on F-tile only) [3:3]- Insert an Egress Timestamp into the current TX Packet (i_ptp_ins_ets[0]), internally generated when packet classifier instantiated within HSSI SS. [2:2] - Request a 2-step timestamp for the current TX packet (i_ptp_ts_req[0]) [1:1]- Indicate PTP fields in tx_tuser_ptp[93:48] is valid when Ethernet rate is 400G (F-tile only), used to determine whether to fold the tx_tuser_ptp[93:48] into NOC (No usage within HSSI SS, mainly use for NOC) [0:0] - Indicate PTP fields in tx_tuser_ptp[47:2] is valid when Ethernet rate is 10G/25G/40G/50G/100G/200G/400G, used to determine whether to fold the tx_tuser_ptp[47:2] into NOC (No usage within HSSI SS, mainly use for NOC) |
p<n>_app_ss_st_tx_tuser_ptp_extended [327:0] | In | TxPTP User Extended signal. Applicable when Ethernet rate is 400G (F-tile only), tie to 0 for other rates: [327:312] - Timestamp offset, internally generated when packet classifier instantiated within HSSI SS. [311:296] - Correction Field offset, internally generated when packet classifier instantiated within HSSI SS. [295:280] - Checksum offset, internally generated when packet classifier instantiated within HSSI SS. [279:264] - Extended Byte offset, internally generated when packet classifier instantiated within HSSI SS. [263:263] - Zero Checksum, internally generated when packet classifier instantiated within HSSI SS. [262:262] - Update Extended Byte, internally generated when packet classifier instantiated within HSSI SS. [261:261] - Timestamp Format, internally generated when packet classifier instantiated within HSSI SS. [260:165] - Ingress Timestamp for TX Packet Residence Time Calculation (i_ptp_tx_its[191:96]) [164:164] - Update correction field with residence time in the current TX packet (i_ptp_ins_cf[1]), internally generated when packet classifier instantiated within HSSI SS. Applicable when Ethernet rate is 10G/25G/50G/100G/200G/400G: [163:148] - Timestamp offset, internally generated when packet classifier instantiated within the ethernet subsystem. [147:132] - Correction Field offset, internally generated when packet classifier instantiated within the ethernet subsystem. [131:116] - Checksum offset, internally generated when packet classifier instantiated within the ethernet subsystem. [115:100]- Extended Byte offset, internally generated when packet classifier instantiated within the ethernet subsystem. [99:99] - Zero Checksum, internally generated when packet classifier instantiated within the ethernet subsystem. [98:98]- Update Extended Byte, internally generated when packet classifier instantiated within the ethernet subsystem. [97:97] - Timestamp Format, internally generated when packet classifier instantiated within the ethernet subsystem. [96:1]- Ingress Timestamp for TX Packet Residence Time Calculation. [0:0]- Update correction field with residence time in the current TX packet, internally generated when packet classifier instantiated within the ethernet subsystem. Not applicable for 40G variant. |
Signal Name | Direction | Description |
---|---|---|
p<n>_app_ss_st_rx_clk | In | Clock signal of each enabled port. |
p<n>_app_ss_st_rx_areset_n | In | Asynchronous reset of each enabled port. |
p<n>_ss_app_st_rx_tvalid | Out | Data valid signal of each enabled port. |
p<n>_ss_app_st_rx_tdata [PORTX_DATA_WIDTH-1:0] | Out | Data bus of each enabled port. |
p<n>_ss_app_st_rx_tkeep [PORTX_DATA_WIDTH-1:0] | Out |
Note: Null byte is not allowed in the beginning or the middle of transfer, it is only applicable during end of transfer.
|
p<n>_ss_app_st_rx_tlast | Out | Indicates the end of a transfer. |
p<n>_ss_app_st_rx_tuser_client[6:0] - 25GbE, 10GbE [13:0] 40GCAUI-4, 50GCAUI-2, 50GAUI-1 [20:0] 100GCAUI-4, 100GAUI-2, 100GAUI-1 [27:0] 200GAUI-4, 200GAUI-2 [34:0] 400GAUI-8, 400GAUI-4 |
Out | Rx Packet Error Status. Segment 0 (Repeated for each available segment based on profile):[6]-PHY error. [5]-CRC error. [4]- Length error: Frame advertised a payload that was a valid length, but longer than the payload that actually arrived. [3]-Oversize error. [2]-Undersized (frame shorter than 64b) or oversized (frame larger than the programmed max_frame_size). [1]-FCS error. [0]-Malformed (terminated with a control block other than Term). |
p<n>_ss_app_st_rx_tuser_sts[4:0]-25GbE, 10GbE [9:0] 40GCAUI-4, 50GCAUI-2, 50GAUI-1 [14:0] 100GCAUI-4, 100GAUI-2, 100GAUI-1 [19:0] 200GAUI-4, 200GAUI-2 [24:0] 400GAUI-8, 400GAUI-4 |
Out | Rx Packet Status. [4:0]: Segment 0 (Repeated for each available segment based on profile): 4'b0000- Had a valid length (was a data frame). 4'b0001- Ethernet type that was not FC (not applicable for E-tile). 4'b0010- Broadcast or Multicast frame (not applicable for E-tile). 4'b0011- PTP frame. (Length/Type= 0x88F7) (not applicable for E-tile). 4'b0100 - SFC/PFC frame. 4'b0101- SVLAN/VLAN frame. 4'b0110- Illegal length type. 4'b0111- FC frame (control frame, but not SFC/PFC/Pause frame). 4'b1000 - reserved 4'b1001- Pause frame (not applicable for E-tile). |
p<n>_ss_app_st_rx_tuser_sts_extended[31:0] | Out | Rx Packet Extended Status.
|
p<n>_ss_app_st_rx_tuser_pkt_seg_parity [PORT_DATA_WIDTH/64-1:0] | Out | Packet Segment Parity: Provides odd parity protection for the segments of the packets. This bit is valid on every packet segment transfer. There can be one or more packet segment parity bits per transfer clock, each protecting its own segments for multi-segment packet for that transfer clock. |
p<n>_ss_app_st_rx_tuser_last_segment<segment number> | Out | Packet segmentation boundary indication for higher bandwidth transfer. Last_segment is bit-blasted signal. For example, with NUM_OF_SEG being 2: p0_ss_app_st_rx_tuser_last_segment0, p0_ss_app_st_rx_tuser_last_segment1 Exists in F-tile and when MAC segmented interface protocol is enabled. |
p<n>_ss_app_st_rx_tuser_last_buf_pkt_truncation<segment number> | Out | Packet truncation indication: Indicates whether the packet is erroneous and truncated at the end of packet. Available only when Enable SFC/PFC Queue Buffering parameter is enabled. |