系統(tǒng)總覽
RapidIO標(biāo)準(zhǔn)分為三層:邏輯,傳輸和物理。
邏輯層定義整體協(xié)議和數(shù)據(jù)包格式。這是端點(diǎn)啟動和完成事務(wù)(transaction)所必需的信息。
傳輸層提供數(shù)據(jù)包從端點(diǎn)移動到端點(diǎn)所需的路由信息。
物理層描述了設(shè)備級接口細(xì)節(jié),例如數(shù)據(jù)包傳輸機(jī)制,流控制,電氣特性和低級錯誤管理。
這種劃分提供了將新事務(wù)類型添加到邏輯規(guī)范的靈活性,而無需修改傳輸或物理層規(guī)范。
下圖是FPGA端 SRIO IP核系統(tǒng)總覽圖:
從圖中可以看出:
The SRIO Gen2 Endpoint is comprised of the following:
? A Serial RapidIO Gen2 top-level wrapper (srio_gen2__unifiedtop) containing:
Serial RapidIO Gen2 Physical Layer (PHY)
Serial RapidIO Gen2 Logical (I/O) and Transport Layer (LOG)
Serial RapidIO Gen2 Buffer Design (BUF)
? Reference design for clocking, resets, and configuration accesses
圖中的層次結(jié)構(gòu)如下:
The srio_gen2__unifiedtop wrapper contains the LOG, BUF, and PHY.
The _block integrates the srio_gen2__unifiedtop wrapper, the srio_gt_wrapper, and configuration fabric reference design.
The _support wrapper contains the clock and reset modules.
is the top-level wrapper. This wrapper is used to integrate an entire SRIO Gen2 Endpoint into your design.
上面的這張圖的關(guān)系,也可以通過IP提供的例子程序的層次結(jié)構(gòu)窺見一二:
Top-Level Wrapper
如下圖為頂層封裝原理圖:
_block模塊捆綁了SRIO Gen2端點(diǎn)的每個組件,包括參考設(shè)計,以提供圍繞其設(shè)計的打包解決方案。圖2-1提供了 _block模塊每個部分的基本框圖,以及 _block設(shè)計的每個部分之間的數(shù)據(jù)交互的一般視圖。
Port Descriptions
Logical Layer Interfaces
The LOG has three interfaces:
? User Interface
? Transport Interface
? Configuration Fabric Interface
如下圖為邏輯層接口的詳細(xì)視圖:
Figure 2-2 shows the ports associated with each of the LOG interfaces.
上圖中,實(shí)箭頭表示AXI4-Stream ports,空箭頭為AXI4-Lite ports;
這兩種端口的區(qū)別?自行了解。
用戶端口包含可以發(fā)出或使用數(shù)據(jù)包的端口。生成IP核時,可以配置與每個端口關(guān)聯(lián)的端口數(shù)和事務(wù)(Transaction)類型。還可以從這些端口啟動配置讀和寫訪問到駐留在此 SRIO Gen2 終結(jié)點(diǎn)設(shè)備中的配置寄存器或遠(yuǎn)程設(shè)備。這些接口通過Serial RapidIO包裝器輸出,用于數(shù)據(jù)包生成和使用。
傳輸接口包含兩個端口,接收和發(fā)送,旨在與RapidIO兼容的物理層或緩沖應(yīng)用程序連接。此接口在包裝器模塊外部是不可見的。
配置結(jié)構(gòu)接口包含兩個端口:
? Configuration Master port,通過Configuration Fabric發(fā)出對本地配置空間的讀寫。
? LOG Configuration Register port,它是一個從接口,用于讀取和寫入任何配置寄存器,這些寄存器定義為邏輯或傳輸層的一部分。
配置結(jié)構(gòu)解碼來自配置總線主機(jī)的讀或?qū)懙刂?,并將它們傳遞到LOG,PHY和BUF的配置寄存器端口。此交互完全保留在 _block模塊中。
User Interfaces
上面說的邏輯層的端口分為用戶端口、傳輸端口以及配置端口,這里來細(xì)看下用戶端口:
The user interface contains a set of I/O ports and the following optional ports:
? Messaging Port
? Maintenance Port
? User-Defined Port
每種事務(wù)(transaction)類型都分配給特定端口。通常,在I / O端口上發(fā)送或接收任何支持的I / O事務(wù),例如NWRITE,NWRITE_R,SWRITE,NREAD和RESPONSE(不包括MAINTENANCE響應(yīng))。MESSAGE事務(wù)(如果支持)可以分配給Messaging端口或I / O端口。無論消息端口是否存在,DOORBELL事務(wù)都使用I / O端口。如果啟用了維護(hù)(maintenance)端口,則維護(hù)端口上應(yīng)支持所有維護(hù)數(shù)據(jù)包。如果事務(wù)是用戶定義的,不受支持的類型,或者沒有分配的端口,則它使用用戶定義的端口(當(dāng)禁用用戶定義的端口時,將丟棄與另一個端口不對應(yīng)的接收數(shù)據(jù)包)。
I/O Port
I / O端口可以配置為兩種樣式之一:Condensed I/O or Initiator/Target. ??捎?a target="_blank">信號取決于IP核生成期間選擇的樣式。
The I/O port is built from AXI4-Stream channels,有兩種數(shù)據(jù)包格式:
? HELLO
? SRIO Stream
I / O端口中的所有通道必須使用相同的數(shù)據(jù)包格式,該格式在生成核心時選擇。
Condensed I/O
The Condensed I/O 樣式減少了用于傳輸和接收I / O數(shù)據(jù)包的通道數(shù)。有一個AXI4-Stream通道用于傳輸與I / O端口(iotx)相關(guān)的所有數(shù)據(jù)包類型。類似地,有一個信道用于所有接收的I / O端口數(shù)據(jù)包(iorx)。圖2-3顯示了Condensed I / O端口。
Initiator/Target
Initiator / Target端口樣式允許將針對遠(yuǎn)程設(shè)備(放置在Initiator端口上)的事務(wù)與針對本地端點(diǎn)(放置在Target端口上)的事務(wù)分離。
由本地端點(diǎn)(local endpoint )生成的請求被置于要在鏈路上傳輸?shù)膯悠髡埱螅╥req)信道上。從遠(yuǎn)程設(shè)備接收的響應(yīng)在發(fā)起者響應(yīng)(iresp)信道上呈現(xiàn)給用戶設(shè)計。
這句話還是原文比較好理解:
Requests generated by the local endpoint are placed on the Initiator Request (ireq) channel to be transmitted on the link. Responses received from a remote device are presented to the user design on the Initiator Response (iresp) channel.
Requests originating from a remote device which are received by the core are presented to the user design on the Target Request (treq) channel. Responses to these requests, which are generated by the user design, are placed on the Target Response (tresp) channel.
意思是本地設(shè)備的請求信號在ireq channel上,對應(yīng)的遠(yuǎn)程設(shè)備的響應(yīng)在iresp channel上。
而遠(yuǎn)程設(shè)備的請求在treq上,對應(yīng)的本地響應(yīng)在tresp上。
Table 2-5 shows the signals associated with the Initiator/Target port. At the level, the following signals are associated with these interfaces:
? s_axis_ireq* are associated with INITIATOR_IREQ.
? m_axis_iresp* are associated with INITIATOR_IRESP.
? m_axis_treq* are associated with TARGET_TREQ.
? s_axis_tresp* are associated with TARGET_TRESP.
好,這篇博文到這里,至于通俗的解釋(說人話),我會隨著我的理解不斷加深而更新。
下篇博文繼續(xù)講Messaging端口等。
原文標(biāo)題:【FPGA】SRIO IP核系統(tǒng)總覽以及端口介紹(一)(User Interfaces 之 I/O Port)
文章出處:【微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
FPGA
+關(guān)注
關(guān)注
1629文章
21729瀏覽量
603013 -
端口
+關(guān)注
關(guān)注
4文章
963瀏覽量
32052 -
IP核
+關(guān)注
關(guān)注
4文章
327瀏覽量
49485
原文標(biāo)題:【FPGA】SRIO IP核系統(tǒng)總覽以及端口介紹(一)(User Interfaces 之 I/O Port)
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論