滄小海基於xilinx srio核的學習筆記之第五章 xilinx srio核介紹(三)核配置
目錄
5.5 Xilinx的IP核配置
5.5.1 基礎選項卡
1、Component Name:IP的名字,只能為字母,數字,下劃線,其中首字元必須為字母。
2、Mode:IP的模式,有基本(Basic)和高階(Advanced)兩種。其中基本模式不會對各介面層內容進行配置
3、Link Width:鏈路寬度,可選值為1、2或者4,鏈路寬度越大,資料的傳輸頻寬越大。
4、Transfer Frequency:傳輸頻率,這個值表示的是每個序列鏈路的傳輸速率,可選值有1.25、2.5、3.125、5.0和6.25。單位是Gbps。
5、Reference Clock Frequency:參考時鐘頻率,可選值為125MHz或156.25MHz,但並非任意選擇,xilinx對其是有限制的,它來自高速傳輸模組的專用時鐘。
6、TX/RX Buffer Depth:傳送/接收Buffer的深度,可選值為8、16或32。這個值表示的是Buffer介面中可儲存的包的最大數目。
7、Component Device ID
8、Unified Clock:如果使用者設計中log_clk和phy_clk相同,那麼可以選中這個選項,選中這個選項可以減少延時和資源利用率。
9、Transmitter Controlled:選中這個選項以後,RapidIO核會首先嚐試用transmitter-controlled實現流控,但如果接收方不支援的話那麼會自動切換為receiver-controlled。transmitter-controlled
10、Receiver Controlled:選中這個選項以後,RapidIO核僅能用receiver-controlled實現流控,在這種模式中,receiver-controlled流控會隨意的發包並使用重試協議。
11、新增些除錯相關資訊
5.5.2 Logical Layer選項卡——邏輯層
1、收發支援的事物型別
2、Enable Arbitration:用來使能邏輯層與輸入埠之間的仲裁器。防止多個事務的擁堵,優先順序如下所示
下圖是仲裁時序圖,有空可以好好研究一下
3、Maintenance Transaction Support:維護事務,This is always enabled。
4、Local Configuration Space Base Address(LCSBA):
啟用後,核心將檢查傳入的I / O事務的高位地址,如果地址匹配,則將事務路由到維護埠。 該規範沒有提供禁用LCSBA的機制,因此在這種情況下的系統行為是不確定的。在封閉的系統中應遮蔽LCSBA功能。
注意:LCSBA匹配僅由核心對HELLO格式的資料包執行。I / O格式必須設定為HELLO,並且必須支援事務型別,以便資料包被核心重新路由到維護埠。
5.5.3 I/O選項卡
1、Port I/O Style:I/O介面可以配置為Condensed I/O和Initiator/Target兩種型別。其中Condensed I/O接收和傳送均使用一個AXI4-Stream通道。Initiator/Target接收和傳送採用不同的AXI4-Stream通道。
2、I/O Format:I/O埠能被配置使用HELLO格式包或SRIO Stream格式包,一般情況下,強烈推薦使用HELLO格式
3、Messaging:用來選擇訊息事務的埠,可選的引數有Combined with IO和Separate Messaging Port兩種。Combined with IO選項表明訊息事務和I/O寫事務採用相同的IO埠,Separate Messaging Port選項表明訊息事務採用一個獨立的埠傳輸,選中這個選項以後IP核會出現訊息事務的AXI4-Stream通道。
4、Maintainance:用來選擇維護埠型別,維護埠型別只能為AXI4-Lite型別。
5.5.4 Buffer層標籤
1、Request Reordering:選中這個選項以後,傳送Buffer會根據請求包的優先順序重新排序。在這種情況下,較高優先順序的請求將先於較低優先順序的請求發出。這裡所說的優先順序應該是Xilinx對事務型別自定義的優先順序,如下圖所示。
2、Flow Control Options:用於流控的,其中“Watermarks”這個詞不知道什麼意思,主要是當鏈路緩衝區空間減少時,用來限制可以傳送資料包的優先順序。如果快取區剩餘空間小於設定值,則僅傳送優先順序更高的資料包。但需要確保Watermarks值得設定低於可緩衝區的最大值,以允許所有優先順序都可以傳輸,顯然如果太大的話則會鎖死緩衝器。我們可以採用預設設定將其設為WM0=3, WM1=2, WM2=1.
5.4.5 物理層選項卡
1、CRF Support:關鍵請求流(Critical Request Flow),指示是否將CRF位用於擴充套件優先順序對映。這是在SRIO協議的要求
2、Link Requests before Fatal:用來指定鏈路進入致命錯誤狀態之前鏈路請求的個數,Xilinx建議將此值設定為大於零,以增強錯誤恢復能力。
3、Software Assisted Error Recovery:RapidIO規範定義了三個命令和狀態暫存器,專門用於軟體輔助的錯誤恢復。
4、IDLE Mode Support:空閒模式(IDLE Mode)的選擇與傳輸速率有關,空閒序列1(IDLE1)僅僅支援每通道線速率小於5.5Gbps的情況,選擇空閒序列1時,RapidIO使用的控制符號為短控制符號。空閒序列2(IDLE2)支援每通道線速率大於5.5Gbps的情況,6.25Gbps的線速率必須選擇空閒序列2,空閒序列2提供了一些附加的功能,比如鏈路寬度,鏈路優先順序資訊以及一些用於改善均衡器效能,提高資料恢復率的隨機數。當IDLE1和IDLE2均被選中時,每通道線速率僅支援小於等於5.5Gbps的情況。上一篇文章《RapidIO序列物理層的包傳輸過程》也介紹了空閒序列1和空閒序列2相關的內容。
5.5.6 邏輯層暫存器標籤
1、Device Identity CAR:指定了Device ID與Vendor ID裝置標識CAR儲存有關RapidIO裝置的資訊。 該暫存器包含Xilinx分配的欄位,並且不可修改。
2、Assembly Identity CAR:Assembly Identity CAR儲存有關RapidIO裝置子系統建立者的資訊。可以在核心生成過程中設定暫存器的“程式集識別符號”和“程式集供應商識別符號”欄位,以唯一地標識端點。這些值不影響核心功能
3、Assembly Information CAR:組裝資訊CAR儲存有關RapidIO裝置子系統版本的資訊。 這是在核心生成期間設定的,不會影響核心功能。
4、Processing Element Features CAR:選擇處理元素提供的主要功能。 允許的選項有:
5.5.7 物理層暫存器選項卡
1、Extended Features Space:
物理層暫存器儲存在擴充套件功能(EF)地址空間內的暫存器塊中。序列RapidIO Gen2物理層實現了兩個擴充套件功能塊:LP-Serial EF塊和LP-Serial Lane EF塊。SRIO Gen2端點為LP-Serial EF塊保留了0x100位元組的地址空間,為LP-Serial Lane EF塊保留了0x400位元組的地址空間。LP序列功能塊的塊偏移量必須小於LP序列通道EF塊的偏移量。 每個塊偏移量必須是為該塊保留的位元組數的整數倍。
也可以在擴充套件功能地址空間中實現一個或多個EF塊。 使用者應用程式必須在某處建立這些暫存器,並修改Configuration Fabric參考設計以適應其他暫存器塊。 如果要實現使用者EF,則應在Vivado IDE中將其啟用,並應輸入第一個EF塊的塊偏移量。 該偏移必須大於LP-Serial Lane EF塊偏移加上為該塊保留的0x400位元組大小。 使用者EF塊偏移量必須是0x100的倍數,並且必須在擴充套件功能地址空間內
2、Port Link Time-out Control CSR:
埠鏈路超時控制CSR(偏移量0x120):PHY在確定鏈路控制符號(如資料包接受或鏈路響應)時使用的超時值已丟失。 當該計數器過期時,將遵循RapidIO序列PHY規範中定義的連結協議。 最大超時時間與此CSR中的值成線性比例。 FF_FFFFh的最大超時值對應於大約4.5秒的超時時間,但最大值僅精確到±33%以內
3、Port Response Time-out Control CSR:
端點將使用超時值來確定丟失的資料包。 FF_FFFFh的最大超時值應對應3到6秒之間的超時長度。 響應超時的實現留給您。
4、Port General Control CSR:
主機位指示該裝置是主機裝置。如果未設定此位,則裝置是代理或從裝置。該位不影響核心功能。主使能位控制是否允許裝置向系統發出請求。如果未設定“主機使能”位,則裝置可能僅響應請求。
5.5.8 共享邏輯標籤
選擇後,示例設計中將包括諸如MMCM,復位邏輯和GT COMMON模組之類的共享邏輯。在核心中包含共享邏輯:選中時,核心中將包含諸如MMCM,復位邏輯和GT COMMON模組之類的共享邏輯,主要是GTP部分內容。