新聞中心

        EEPW首頁 > 電源與新能源 > 設計應用 > RocketIOTM GTP在串行高速接口中的位寬設計

        RocketIOTM GTP在串行高速接口中的位寬設計

        作者: 時間:2010-06-30 來源:網絡 收藏

        對于這個問題,Xilinx提供了非對稱的異步FIFO,但這樣又會造成較大的延時,同時無法避免圖4所示的DW組合轉換不當的問題。這樣就使得FIF0的控制邏輯比較復雜,而數據的延時又較大,又會致使性能下降,有些得不償失,也不符合SATA2.0的低延遲要求。
        為了降低延時,同時簡化邏輯,筆者了一個滑動窗口位寬轉換器,其中滑動窗口的作用就在于尋找到正確的DW邊界,避免不當的DW組合轉換。150 MHz時鐘和75 MHz時鐘的相位一致是這種轉換穩定進行的保障,而xilinx Virtex-5xc5vlx50t FPGA恰恰通過DCM提供了這樣兩個穩定時鐘,因此,這兩個時鐘必須接到DCM響應頻率的輸出。
        利用3個18bit寄存器可以組成一個右移的寄存器組,輸入按[rxcharisk,rxdata]的形式組合成18 bit輸入數據。在位寬轉換開始后,通過判別中間寄存器的最高2 bit rxcharisk是否為2’bOl可判別DW的邊界,并選擇輸出數據來自哪個窗口。如果75 MHz時鐘有效沿檢測到中間寄存器最高2 bit rxcharisk是2’b01,則輸出reg2和regl重組后的36 bit數據。否則,就會輸出regl和reg0重組后的36 bit數據。但由于150 MHz時鐘和75 MHz時鐘存在著有效沿不一致的情況(即150 MHz時鐘的上升沿可能對應著75 MHz時鐘的下降沿),75MHz時鐘有效沿可能會檢測到rxcharisk=2’b01,也可能永遠檢測不到,這取決于復位之后初始輸入數據的特性。數據重組的作用是將2個相鄰的寄存器中的16bit數據(rxdata)及其2 bit類型指示(rxcharisk)信號重組為32 bit數據及其4 bit類型指示信號。DW邊界判別的依據是:在PHY連接建立之后,主機和設備之間會相互發送SYNC原語,表明兩端處于空閑狀態,而SYNC就是一個控制(K)字節,其低字接收后的xcharisk是2’bol,通過這個即可識別DW的邊界。
        2.2 32 bit至16 bit位寬轉換模塊
        根據上面16 bit至32 bit位寬轉換分析,需要將數據處理邏輯輸出的32 bit數據拆分成兩個16bit數據交給進行發送。同時在轉換的開始時刻,要求先發送一個DW的低字,然后發送其高字,而不能先發送一個DW的高字,否則接收端將無法正確恢復出DW。另外,150 MHz時鐘和75MHz時鐘的相位一致,同樣是這種轉換穩定進行的保障,因此,這兩個時鐘也必須接到DCM響應頻率的輸出。其32 bit轉16 bit的實現邏輯示意圖如圖5所示。

        本文引用地址:http://www.104case.com/article/180728.htm


        用2個18 bit的寄存器組寄存經數據重組后的36 bit輸入數據時,可根據輸入數據的控制字節(rxcharisk)指示位來判別數據的寫入和讀出。由于150 MHz時鐘和75 MHz時鐘存在著有效沿不一致的情況,即150 MHz時鐘的上升沿可能對應著75 MHz時鐘的下降沿,因此,要準確地進行讀寫控制,就必須對wr_en和rd_en信號進行同步。同步方法是利用75 MHz時鐘的有效沿(上升沿)與150 MHz時鐘有效沿一致的特性來同步產生wr-en和rd_en信號。而產生wr_en和rd_en信號的依據是在系統復位后,由數據處理邏輯向外發送SYNC信號來表明系統處于空閑(Idle)狀態。事實上,SYNC就是一個控制(K)字節,其響應的rxcharisk是4’b0001,通過這個可以正確地將DW寫入和讀出。DW的發送要求先發送低字,然后發送高字。數據讀出控制塊會利用rd-en信號使能2 bit的計數器,然后利用計數值將DW的低高字依次選擇讀出。

        3 仿真及驗證
        通過對位寬轉換模塊的Verilog HDL描述,可在ModelSim se以及Xilinx ISE集成開發環境下進行功能仿真和綜合布局布線后的時序仿真,也可在Xilinx Virtex-5 xc5vlx50t FPGA上進行驗證。圖6所示為16 bit轉32 bit邏輯仿真圖。而其32 bit轉16 bit邏輯仿真圖如圖7所示。

        4 結束語
        可實現Virrex-5 RocketI0TM 進行SATA2.0相關開發過程中的位寬匹配轉換功能,而且具有處理延遲小、差錯率低等優點,并通過了Xilinx ISE綜合布線以及Virtex-5 FPGA上的驗證,結果證明:本能夠完全滿足SATA2.0相關開發時序及功能上的要求。實際上,邏輯設計人員利用Virrex-5 進行其他傳輸的開發時,也可以借鑒此設計思想。


        上一頁 1 2 3 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 偃师市| 承德县| 从化市| 白水县| 汝南县| 汉源县| 阿尔山市| 巨野县| 丰顺县| 台前县| 蒙阴县| 河南省| 东乡| 长武县| 吉首市| 股票| 玉屏| 苍山县| 辽中县| 潮州市| 卢龙县| 九江市| 会泽县| 灵丘县| 鄢陵县| 水城县| 错那县| 敦化市| 花垣县| 弥渡县| 波密县| 青龙| 台南市| 泰兴市| 页游| 沧源| 兴义市| 颍上县| 顺平县| 汉沽区| 聂拉木县|