• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      PCI Express中8/10b編碼器的設計

      2017-12-07 02:03:48
      軟件 2017年11期
      關鍵詞:碼字表達式編碼器

      鄭 凱

      (淮陰師范學院 物理與電子電氣工程學院,江蘇 淮安 223300)

      PCI Express中8/10b編碼器的設計

      鄭 凱

      (淮陰師范學院 物理與電子電氣工程學院,江蘇 淮安 223300)

      隨著通信技術的發(fā)展,PCI Express的應用越來越廣泛,但高速傳輸引起的信號質量劣化的問題隨之產生,因此PCI Express引入了具有較高性能的8b/10b編碼。8b/10b編碼是一種面向字節(jié)的二進制編碼,此種編碼特別適合于高速通信領域中數據傳輸,基本特性是直流平衡,便于高頻時鐘信號的嵌入。本文在研究了PCI Express協議規(guī)范以及8b/10b編碼原理的基礎上,設計了面向PCI Express的8b/10b編碼。

      高速通信;PCI Express;8b/10b編碼

      0 引言

      隨著數字通信中數據容量以及傳輸實時性要求的日益增長,計算機內部和外部的總線對于數據傳輸的速率提出了更高的要求,因此高性能、高擴展性、更良好的升級性以及造價更為低廉的 PCI Express始一出現便得到廣泛的應用。PCI Express以串行差分的方式在設備之間進行數據的交互,實現超高速通信,但是通信速率的提升引起傳輸過程中的信號質量的惡化。為了解決在高速數據傳輸過程中的數據失真等問題,通常將數據編碼為具有強糾錯能力,適合于進行高速傳輸的數據結構之后再進行傳輸[1-4]。8b/10b編碼以其高效性是目前告訴數據傳輸接口或者總線的常用編碼方式,PCI Express亦采用此種編碼機制。

      8b/10b編碼具有很好的直流平衡的特點,即在傳輸過程中的“1”和“0”的個數趨于相等,如圖1所示。通過將8bits的數據映射為10bits的符號,保證了足夠的“1”和“0”之間的跳變,轉換的密度較高會避免在高速傳輸中連續(xù)的邏輯1或邏輯0有多個位沒有跳變時,信號的轉換由于電壓位階的關系而造成信號錯誤。且足夠的“1”和“0”之間的跳變,方便將時鐘信號嵌入到數據流中,避免傳輸高速時鐘信號引起的電氣噪聲,時鐘信號的嵌入也使得對端設備在進行時鐘恢復的時候簡單易實現。另外,8b/10b編碼機制抗干擾性較強,且具有一定的檢錯能力[5-7]。

      8b/10b編碼針對數據字符和控制字符有著不同的編碼規(guī)則??刂谱址幋a相對簡單,直接使用查找表即可完成。PCIE協議中共定義了12種控制字符,其編碼為固定編碼。通過對協議中控制字符的編碼進行分析,設計中為了減小一級選擇器的輸入數目以降低大扇入引入的延遲,將首先根據輸入字符的高3位和低5位進行區(qū)分,分別以輸入數目較小的選擇器完成。

      圖1 8b/10b 編碼與普通編碼的直流特性Fig.1 The characteristics of 8b / 10b encoding compared with the common encoding

      1 編碼概述與原理

      1.1 概述

      在PCI Express中,8b/10b編碼模塊處于物理層發(fā)送端的PCS層中,當處于多通道的模式時,每個通道的8b/10b編碼器獨立工作,位置圖如圖2所示。

      圖2 8b/10b 編碼器在物理層中的位置Fig.2 The position of the 8b/10b encoder in the physical layer

      1.2 編碼原理

      該編碼技術的基本精神很簡單,即將8bits字符經過映射機制轉化為10bits的符號。8b/10b編碼可分為3b/4b編碼和5b/6b編碼兩部分,將8b碼組分為 3bits(HGF)和 5bits(EDCBA)兩部分,分別通過 3b/4b和 5b/6b編碼得到相應的 4bits和 6bits碼組,編碼過程中設置運行不一致(RD)對編碼進行控制選擇,如圖3所示。

      圖3 8b/10b 編碼映射圖Fig.3 8b/10b encoding mapping Diagram

      PCIE協議中的數據字符分為數據字符和控制字符,數據可以統一的表示為Dx.y和Kx.y,其中D表示為數據字符,K表示為特殊的控制字符,x表示輸入的原始數據的低5位EDCBA,y表示輸入的原始數據的高3位HGF。在PCI Express協議規(guī)范中,共定義了12個特殊的控制字符(K碼),這些特殊字符用于鏈路訓練過程中的幀同步和連接管理機制,同時也用于輔助進行DLLP及TLP包的識別和保證在多通道傳輸時DLLP和TLP包的標識字符的位置符合特定的規(guī)則。

      1.3 編碼內在相關性分析

      通過分析8b/10b編碼的內在相關性,對于3b/4b編碼模塊有以下的結論,表1為3b/4b的編碼表:

      表1 3b/4b 編碼表Table 1 3b/4b encoding

      ① 3bits碼組000,011,100編碼之后得到的4bits碼組具有相互取反的兩組編碼,且編碼之后的4bits碼組具有的不一致屬性與當前運行不一致具有取反或者相同的特點。

      ② 3bits碼組001,010,101,110編碼之后得到的4bits碼組具有唯一的一組編碼。

      ③ 3bits碼組 111較為特殊,編碼之后會得到兩組相互取反的 4bits碼組,分析整個 8b/10b編碼表可以發(fā)現,4bits碼組的選擇與特定的幾組 5bits碼組相關。

      3b碼字111最為特殊,根據輸入數據中的低5位的不同,具有兩組相反的4b編碼,而正 常情況下出現的4b編碼為0001和1110??偨Y可知,部分3b碼字對應的4b碼字根據RD屬性值的 不同,具有相互取反的兩種4b編碼,對應的3b碼字為000、011、100、11l;部分 3b碼字對應的 4b碼字根據RD屬性的不同具有相同的4b編碼,對應的3b碼字為 001、010、101、110。在 3b/4b 編碼修正中,將根據上述規(guī)則對預編碼的結果進行修正。

      對于 5b/6b編碼模塊,分析可知編碼之后得到的 6b碼組,根據當前不一致屬性的不同,共有 18中單值的碼組,14組雙值的碼組。5b/6b編碼結果中,根據RD屬性值的不同,共有18中單值編碼結果,14種雙值編碼結果。在預編碼的結果中,設置最高位指示預編碼的結果是否為雙值編碼結果。若最高位為1,則表示編碼結果具有雙值屬性,若CRD值同時為負,則修正結果為預編碼結果取反;否則修正結果與預編碼結果保持一致。

      1.4 編碼方案分析

      依據 8b/10b的內在相關性,目前實現 8b/10b編碼有兩種方案[8-10]:

      ① 邏輯表達式法:此種方案是依據編碼表具有的相關性,分析得出 10bits碼組每一位與輸入的8bits碼組每一位的邏輯關系,以邏輯表達式的形式直接通過8bits輸入計算得出10bits碼組的輸出。此種方案電路復雜,難度較大,且由于延時、競爭、冒險的存在,數據輸出的抖動較為嚴重,嚴重的限制了芯片的最高工作頻率。

      ② 查找表法:即直接通過輸入的8b碼組查尋得到10b碼組,共需要256組數據的碼組和12組控制字符的編碼。此種方案實現簡單,但是消耗的資源較大,且會受到系統內部存儲器的讀出時間的限制,增加芯片的面積和功耗。

      2 設計實現

      通過分析現有的實現方案,并進一步研究8b/10b具有的內在聯系,本文提出以下的方案[11-13]。本方案共有4部分組成,3b/4b模塊、5b/6b模塊、不一致屬性控制和輸出模塊,整體框架如圖 4所示。

      圖4 設計框圖Fig.4 The structure diagram

      其中 3b/4b模塊由于輸入較為簡單,本文采用邏輯表達式的方法來實現,根據RD+列的碼組計算得到表達式。通過對3b/4b編碼表進行卡諾圖化簡,得出如下的邏輯表達式:

      5b/6b模塊依據查找表的 RD+列實現,由于在得到6bits碼組的輸出時,依據RD屬性的不同會出現相同或者取反的兩組編碼,因此在實現查找表時,將6bits輸出碼組添加一位狀態(tài)比特,以輔助輸出模塊得到正確的輸出。

      在分別得到RD+列的6b碼組和4b碼組之后,不一致屬性控制模塊會根據當前 RD值的值來選取6b碼組與之匹配的碼組,不一致屬性控制模塊根據得到的6b碼組計算6b碼組的不一致屬性。在選取正確的6b碼組的時候,根據RD屬性的不同,需要對查表得到的6b碼字進行取反或者保持原值。重新計算 6b碼字之后的不一致屬性將作為當前不一致進行對4b碼組選擇控制信號,在查詢4b碼字的時候,要針對幾組特殊的碼字進行單獨控制,具體控制的原則在上述分析 3b/4b編碼分析中有提到,需要進行特殊處理的是,當3bits碼組為111時,4bits碼組 1000和 0111分別只會出現在 5bits碼組為01011,01101,01110的RD+列和10001,10010,10100的RD-列,對于其他的5bits碼組則根據上述表達式進行通用性的編碼。之后不一致屬性模塊依據得到的4bits碼組計算4bits碼組的不一致屬性,并作為當前運行不一致進行對下一次編碼的控制。

      由于本設計分成幾個不同的模塊,且包含組合邏輯與時序邏輯,因此需要對時序進行一些調整控制,以保證設計中子模塊的同步。首先,由于3b/4b模塊使用邏輯表達式,屬于純組合邏輯,而 5b/6b模塊采用查找表的方式,采用了時序邏輯,因此為保證4bits和6bits碼組產生的同步性,需要將計算得到的 4bits碼組通過一級緩存,緩存之后的 4bits碼組與6bits碼組作為輸出模塊的輸入。輸出模塊采用純組合邏輯,且由于輸出模塊的輸出涉及到 RD的反饋,因此在輸出之前要做一級緩存,緩存之后得到最終編碼完成的10bits碼組以及將作為下一次編碼過程RD的RD屬性值。

      3 仿真與驗證

      本文在分析了現有8b/10b編碼方案的基礎上,結合8b/10b編碼規(guī)則和3b/4b、5b/6b的內在相關性,提出設計8b/10b編碼器的一種方案。在功能驗證和測試時,我們使用Synopsys公司的VCS軟件進行仿真,該軟件許可在PC、Linux平臺上使用,支持Verilog硬件描述語言(HDL)仿真。

      在測試時,更換不同的testcase(測試用例)對該模塊的輸入接口添加不同的激勵,觀察其狀態(tài)跳轉和輸出信號。仿真結果圖如圖5所示:

      通過仿真調試,本文的設計方案可以正確的完成8b/10b的編碼功能,得出正確的輸出碼組,并符合時序上的要求。

      圖5 仿真結果圖Fig.5 Simulation chart

      [1] 范宇. 基于RS 碼的網絡編碼層設計[J]. 軟件, 2013, 34(5):92-95.

      [2] 羅星星, 蒲保興, 趙穎, 等. 隨機網絡編碼數據傳輸的仿真實現[J]. 軟件, 2014, 35(8): 32-37.

      [3] 李浩, 戴志濤. 基于異構多核的H.264 編碼器研究與實現[J]. 軟件, 2015, 36(1): 110-115.

      [4] 陳鑫, 陳曉, 蔡婷婷. 基于SPIHT算法的ROI編碼研究[J].軟件, 2015, 36(2): 112-117.

      [5] 趙冬艷. PCIe高速串行總線技術應用研究[J]. 戰(zhàn)術導彈控制技術, 2011, 28(1): 5-9.

      [6] Edward Solari, George Willse.PCI&PCI-X Hardware and Software Architecture and Design[J]. PHEI, 2003, 15(4): 33-36.

      [7] Eugin Hyun, Kwang-Su Seong. Design and Verification for PCI Express Controller[C]. The 3th International Conferrence on Information Technology and Applications, 2005: 581-586

      [8] 石峰, 吳建飛. 基于Xilinx FPGA的PCIE接口實現[J]. 微處理機, 2008, 29(6): 19-22.

      [9] Verdiell. J.PCIe optical interconnects[C]. Avionics, Fiber-Optics and Photonics Technology Conference(AVFOP), 2011.

      [10] Ostler.FPGA Bootstrapping on PCIe Using PartialReconfiguration[C]. Reconfigurable Computing and FPGAs, 2011.

      [11] PCI-SIG.PCI Express Base Specifications Revision3.0[S].America:PCI—SIG, November 10, 2010.

      [12] PCI-SIG. PCI Express Base Specifications Revision2.0[S].America: PCI-SIG, December 20, 2006.

      [13] PCI-SIG. PCI Express Base Specifications Revision1.0[S].America: PCI-SIG, April 15, 2003.

      The Design of the 8/10 b Encoder Based on PCI Express

      ZHENG Kai
      (School of Physics and Electronic Electrical Engineering, Huaiyin Normal University, Huaian Jiangsu, 223300, China)

      As the development of the Comunication technology, the PCI Express is more and more popular in application, but high speed of data transfer causes the deterioration of the signal quality,so 8b/10b encoder with high encoding performance is adapted in PCI Express. 8b/10b encoder is a kind of binary encoder facing to byte, which is specially fit to data transfer of high speed field, with baseful characreristic of DC balance, and it’s ease to embed high frequency clock signal in bit stream. This paper designs a kind of 8b/10b encoder facing PCI Express after researching the PCI Express Spec and the principle of 8b/10b algorithm.

      High speed communication; PCI Express; 8b/10b coding

      TP334.7

      A

      10.3969/j.issn.1003-6970.2017.11.039

      本文著錄格式:鄭凱. PCI Express中8/10b編碼器的設計[J]. 軟件,2017,38(11):208-211

      鄭凱(1989-),男,工作于淮陰師范學院,主要研究方向:集成電路、電路設計。

      猜你喜歡
      碼字表達式編碼器
      一個混合核Hilbert型積分不等式及其算子范數表達式
      表達式轉換及求值探析
      淺析C語言運算符及表達式的教學誤區(qū)
      現代計算機(2019年6期)2019-04-08 00:46:50
      放 下
      揚子江詩刊(2018年1期)2018-11-13 12:23:04
      基于FPGA的同步機軸角編碼器
      數據鏈系統中軟擴頻碼的優(yōu)選及應用
      放下
      揚子江(2018年1期)2018-01-26 02:04:06
      基于PRBS檢測的8B/IOB編碼器設計
      JESD204B接口協議中的8B10B編碼器設計
      電子器件(2015年5期)2015-12-29 08:42:24
      多總線式光電編碼器的設計與應用
      郎溪县| 海兴县| 徐汇区| 宜昌市| 颍上县| 遵义县| 磴口县| 额济纳旗| 吉水县| 黎城县| 德钦县| 无为县| 新郑市| 交口县| 上蔡县| 文山县| 永和县| 迁安市| 望都县| 青阳县| 平罗县| 张家界市| 宁远县| 诸城市| 开封县| 朔州市| 广东省| 赤水市| 景谷| 和顺县| 塔城市| 湘潭县| 类乌齐县| 阆中市| 富川| 南和县| 巫溪县| 阿图什市| 银川市| 嘉善县| 彭泽县|