【FPGA】SRIO IP核系統總覽以及端口介紹(三)(Messaging Port、User-Defined Port介紹)

Messaging Port

消息傳遞端口是可選接口(消息也可以組合到I / O端口上,並使用Vivado集成設計環境(IDE)設置視爲寫入事務)。 單獨的Messaging端口遵循Initiator / Target樣式。

Initiator / Target端口樣式允許將針對遠程設備的事務與針對本地端點的事務分開。 圖2-5詳細說明了Messaging端口。

本地端點生成的請求放在消息發起方請求(msgireq)端口上,以便在鏈路上傳輸。 從遠程設備收到的響應顯示在消息發起者響應(msgiresp)端口上。
來自遠程設備的由Serial RapidIO核心接收的請求顯示在消息目標請求(msgtreq)端口上。 由用戶設計生成的對這些請求的響應被放置在消息目標響應(msgtresp)端口上。

Table 2-6 shows the signals associated with the Messaging port. At the <component_name> level, the following signals are associated with these interfaces:
• s_axis_msgireq* are associated with MSGIREQ.
• m_axis_msgiresp* are associated with MSGIRESP.
• m_axis_msgtreq* are associated with MSGTREQ.
• s_axis_msgtresp* are associated with MSGTRESP.

其含義都在上表中給出了,但是我還是要挑出一組來用中文解釋下:

下面這一組爲本地message請求信號:

s_axis_msgireq_tvalid 本地邏輯層Message接口上發起的請求信息是有效的。(輸入)
s_axis_msgireq_tready :

握手信號。表明來自於源端的數據被接收了。(輸出)
s_axis_msgireq_tdata[63:0] :

包頭和數據(輸入)


s_axis_msgireq_tkeep[7:0] :

字節限定符,指示相關聯的數據字節的內容是否有效。對於HELLO端口,這必須與8'hFF相關聯。(輸入)


s_axis_msgireq_tlast :

表示數據包的最後一拍。(輸入)


s_axis_msgireq_tuser[31:0] :

在數據包的第一個節拍上,該信號由數據包的源ID(31:16)和目標ID(15:0)組成。 如果使用
8位器件ID,每個ID的最高有效字節應填充0。
在數據包中的後續節拍中,保留此字段。(輸入)


下面這一組是遠程設備(另一端)的響應:(含義一致)
m_axis_msgiresp_tvalid Output Indicates that the information on the interface is valid.
m_axis_msgiresp_tready Input Handshaking signal. Indicates that the data from the source is accepted (if valid).
m_axis_msgiresp_tdata[63:0] Output Packet header and data.
m_axis_msgiresp_tkeep[7:0] Output Byte qualifier that indicates whether the content of the associated byte of data is valid. For HELLO ports, this must be tied to 8’hFF.
m_axis_msgiresp_tlast Output Indicates the last beat of a packet.
m_axis_msgiresp_tuser[31:0] Output
On the first beat of a packet, this signal consists of the Source ID (31:16) and Destination ID (15:0) for the packet. If using
8-bit Device IDs, the most significant byte of each ID should be padded with 0s.
On subsequent beats within a packet, this field is reserved.


下面這一組爲遠端的請求信號:

m_axis_msgtreq_tvalid Output Indicates that the information on the interface is valid.
m_axis_msgtreq_tready Input Handshaking signal. Indicates that the data from the source is accepted (if valid).
m_axis_msgtreq_tdata[63:0] Output Packet header and data.
m_axis_msgtreq_tkeep[7:0] Output Byte qualifier that indicates whether the content of the associated byte of data is valid. For HELLO ports, this must be tied to 8’hFF.

m_axis_msgtreq_tlast Output Indicates the last beat of a packet.
m_axis_msgtreq_tuser[31:0] Output On the first beat of a packet, this signal consists of the Source ID (31:16) and Destination ID (15:0) for the packet. If using 8-bit Device IDs, the most significant byte of each ID should be padded with 0s.
On subsequent beats within a packet, this field is reserved.

下面這一組爲本地的響應信號:
s_axis_msgtresp_tvalid Input Indicates that the information on the interface is valid.
s_axis_msgtresp_tready Output Handshaking signal. Indicates that the data from the source is accepted (if valid).
s_axis_msgtresp_tdata[63:0] Input Packet header and data.
s_axis_msgtresp_tkeep[7:0] Input Byte qualifier that indicates whether the content of the associated byte of data is valid. For HELLO ports, this must be tied to 8’hFF.
s_axis_msgtresp_tlast Input Indicates the last beat of a packet.
s_axis_msgtresp_tuser[31:0] Input On the first beat of a packet, this signal consists of the Source ID (31:16) and Destination ID (15:0) for the packet. If using 8-bit Device IDs, the most significant byte of each ID should be padded with 0s.
On subsequent beats within a packet, this field is reserved.



User-Defined Port

用戶定義端口是一個可選端口,有兩個AXI4-Stream通道,其中一個通道用於發送方向,一個通道用於接收方向。
用戶定義的端口僅使用SRIO Stream格式。 用戶定義端口如圖2-6所示。

表2-7列出了與用戶定義端口關聯的信號。 s_axis_usrtx *信號與USER_IO_TX接口相關聯,m_axis_usrrx *與<component_name>級別的USER_IO_RX接口相關聯。



Maintenance Port

如果啓用了 "維護" 端口, 則它將使用 AXI4-LITE 接口。AXI4-LITE 接口允許用戶應用程序定位本地或遠程配置空間。

這些端口用到了再說吧。暫時不看了。