周慶芳
【摘 要】本文在Altera公司開發的Quartus II開發平臺上,利用EDA技術,采用VHDL程序設計輸入和原理圖設計輸入混合設計的方式,基于FPGA數字集成電路提出一種簡單實用的8B10B編碼器的實現方法,完成8B10B編碼器模型的設計。其輸入輸出特性滿足8B10B基本原理和核心算法,實現了設計的要求。
【關鍵詞】CPLD 8B10B編碼器 EDA indata 時序仿真
一、前言
8B10B編碼技術廣泛應用在串行連接SCSI、串行ATA、光纖鏈路、以太網、XAUI、PCI Express總線、Infini Band、Serial Rapid IO、Hyper Transport總線以及IEEE1394b接口(火線)等技術中[1]。8B10B2將8bit代碼組合編碼成10bit代碼,代碼組合包括256個數據字符編碼和12個控制字符編碼,通過仔細選擇編碼方法可以獲得不同的優化特性[2]。在高速串行流中,如果1碼元或者0碼元有連續多位沒有發生變化,就會因為電壓的關系而產生誤碼[3]。8B10B編碼方式保證了直流平衡,保證在串行碼元流中不會產生超過4個連續的1碼元或者0碼元,從而防止碼間干擾。
二、8B10B編碼器的實現
(一)8B10B編碼器頂層設計思路
8B10B是一個線路編號,其標注了一個8位符號到10位符號來完成直流平衡和有界視差。這是信號的一個重要屬性,其需要在很高速率下發送以減少符號間干擾。8位數據被當作一個10位的實體來傳輸。這個數據的低5位被編碼成6位的組,最高的3位被編碼成一個4位組。這些編碼被連接在一起在電線上傳輸從而組成10位的符號[5]。
本文的8B10B編碼器采用層次描述方式,也采用原理圖輸入和文本輸入混合方式建立描述語言。8B10B編碼器由indata模塊、B3B4模塊、B5B6模塊、outdata模塊組成。indata模塊實現輸入8位信號,并行輸出3位信號和5位信號,為下一步3B4B編碼和5B6B編碼做基礎準備。B3B4模塊實現了輸入3位碼元,通過查表法,輸出相對應的4位編碼。indata模塊與B3B4 模塊、B5B6模塊之間的數據總線分別為3位和5位。Outdata模塊與B3B4模塊、B5B6模塊之間的數據總線分別為4位和6位。
(二)indata模塊設計
本文使用VHDL語言設計indata數據分流模塊。VHDL語言對時序器件功能和邏輯行為有強大的描述能力,體現與設計平臺和硬件實現對象無關性的優秀特點。
運行QuartusII軟件,按要求新建工程文件,在設計窗口輸入indata分流模塊的VHDL設計程序后,在Quartus上進行綜合。綜合過程就是把VHDL語言設計的HDL描述與硬件結構掛鉤,實現了將軟件轉換為硬件電路的目的。綜合就是根據給定的硬件結構組件和約束控制條件進行編譯、優化、轉換,最后將電路的高級語言轉換成可與FPGA/CPLD基本機構相映射的網表文件。B3B4模塊由encode3B4B1模塊、encode3B4B2模塊、mux2_3B4B模塊構成。encode3B4B1模塊和encode3B4B2模塊實現輸入3位碼元,根據3B4B編碼算法,應用查表法,編碼輸出4位碼元。其中,encode3B4B1模塊實現RD-的編碼功能,encode3B4B2實現RD+編碼。mux2_3B4B模塊的功能是實現通過en的高低電頻來選擇相對應的4位碼元輸出。encode3B4B1模塊、encode3B4B2模塊、mux2_3B4B模塊都采用VHDL設計方式。B5B5模塊由encode5B6B1模塊、encode5B6B2模塊、mux2模塊組成。encode5B6B1模塊和encode5B6B2模塊根據B5B6編碼算法,采用查表法來實現輸入5位碼元,輸出6位碼元的功能。encode5B6B1模塊、encode5B6B2模塊、mux2模塊都采用VHDL設計方式,設計思路與B3B4模塊的設計相似。
(三)時序仿真驗證
電路設計完成后,需要進行功能仿真和時序仿真,驗證設計結果是否滿足設計要求。通過實踐證明,雖然輸出有延遲和毛刺,但是結果與預測的8B10B編碼輸出相同。因此,本文的8B10B編碼器基本滿足8B10B的算法,能夠正確輸出相應的編碼。
三、總結
本文基于Altera公司開發的Quartus II開發平臺,利用EDA技術,采用VHDL程序設計輸入和原理圖設計輸入混合設計的方式,提出一種簡單實用的8B10B編碼器的實現方法,完成了8B10B編碼器模型的設計。該模型輸入輸出特性滿足8B10B基本原理和核心算法,基本實現了設計要求。
【參考文獻】
[1]楊軍,周克峰.創新實驗指導書[Z].云南大學信息學院電路實驗室,2005.
[2]楊軍,龍飛,徐煒.Quartus II實驗指導書[Z].云南大學滇池學院現代教育技術中心,2006.
[3]李宗伯.VHDL設計表示和綜合[M].北京:機械工業出版社,2002.
[4]朱正偉.EDA技術及應用[M].北京:清華大學出版社,2005.
[5]潘松,黃繼業.EDA技術與VHDL[M].北京:清華大學出版社,2005.