【正文】
基于FPGA的HDB3編譯碼的建模與實(shí)現(xiàn) 吳英發(fā)(吉首大學(xué)物理科學(xué)與信息工程學(xué)院,湖南 吉首 416000)摘 要 本文以FPGA為硬件平臺(tái),基于EDA工具QUARTUSⅡ?yàn)檐浖脚_(tái)上對(duì)HDB3編/譯碼進(jìn)行實(shí)現(xiàn)。由于在EDA的軟件平臺(tái)QUARTUSⅡ上不能處理雙極性的信號(hào),因此對(duì)HDB3碼的編/譯碼的實(shí)現(xiàn)分為:軟件部分和硬件部分。軟件部分是基于QUARTUSⅡ的平臺(tái)上對(duì)輸入的碼元進(jìn)行編碼和譯碼,通過系統(tǒng)仿真,驗(yàn)證了HDB3碼的編譯碼的正確性;硬件部分采用CD74HC4052雙四選一的數(shù)模選擇器實(shí)現(xiàn)單極性到雙極性的轉(zhuǎn)換;采用AD790和SE5539實(shí)現(xiàn)雙極性到單極性的轉(zhuǎn)換。最后,通過仿真,驗(yàn)證了方案的正確性。關(guān)鍵詞:HDB3;建模;VHDL;編/譯碼;QUARTUSⅡThe Modeling and Realization of the HDB3 Encoding and Decoding Based on FPGAWu Yingfa(College of Physics Science and Information Engineering,Jishou University,Jishou,Hunan 416000)AbstractThe HDB3 encoding and decoding are realized based on taking FPGA as hardware platform and taking QUARTUSⅡ,a kind of EDA tool,as the software platform. Because QUARTUSⅡ can not deal with the bipolar of signal,the realization of HDB3’s encoding/decoding function is divided into two parts: software and hardware part. In the software part: the encoding/decoding of HDB3 are realized based on QUARTUSⅡ, and the simulation result that the realization is correct. In the hardware part: the CD74HC4052 are used to realize unipolar /bipolar transformation, at the same time, the AD790 and SE5539 are used to realize bipolar/unipolar transformation. At last, the efficiency of the above method is proved by the simulation results.Key words: HDB3;Modeling;VHDL;Encoding/Decoding;QUARTUSⅡI目 錄第一章 緒 論 1第二章 EDA輔助設(shè)計(jì)工具的介紹 3 FPGA的介紹 3 PLD的介紹 3 FPGA的系統(tǒng)介紹 3 VHDL語(yǔ)言和QUARTUSⅡ 4 VHDL語(yǔ)言 4 EDA工具QUARTUSⅡ 5第三章 HDB3碼編碼器的建模與實(shí)現(xiàn) 6 HDB3碼的編碼規(guī)則 6 基于VHDL的編碼器的建模及實(shí)現(xiàn) 6 編碼器的VHDL建模及難點(diǎn)分析 7 基于VHDL編碼器的實(shí)現(xiàn) 7 12 12 13 15 HDB3碼編碼器的波形仿真及分析 16 小結(jié) 17第四章 HDB3碼譯碼器的建模與實(shí)現(xiàn) 18 HDB3碼的譯碼規(guī)則及建模 18 譯碼中雙/單極性的實(shí)現(xiàn) 18 基于VHDL譯碼器的實(shí)現(xiàn) 19 19 HDB3碼譯碼器的程序設(shè)計(jì) 19 HDB3碼譯碼器的波形仿真及分析 22 小結(jié) 23第五章 結(jié)束語(yǔ) 24參考文獻(xiàn) 25致謝 26附錄一 27附錄二 32基于FPGA的HDB3編譯碼的建模與實(shí)現(xiàn) 緒論第一章 緒 論數(shù)字基帶信號(hào)的傳輸是數(shù)字通信系統(tǒng)的重要組成部分之一。特別是HDB3(High Density Bipolar3 Coding,三階高密度雙極性碼)碼的使用,其不但保持AMI(Alternation mark Inversion,交替反轉(zhuǎn)碼)碼的優(yōu)點(diǎn)外,更使連0串的個(gè)數(shù)減到至多0個(gè)的優(yōu)點(diǎn),而且還克服了AMI碼的關(guān)于可能出現(xiàn)長(zhǎng)連0串而造成提取定時(shí)信號(hào)困難的缺點(diǎn)?;谏鲜龅奶攸c(diǎn)HDB3碼在通信傳輸領(lǐng)域應(yīng)用很廣泛,因此其作為CCITT推薦使用的碼型之一[1]。本畢業(yè)設(shè)計(jì)是采用EDA工具實(shí)現(xiàn)HDB3碼的仿真和校驗(yàn),從而使系統(tǒng)的實(shí)現(xiàn)具有很大的靈活性。EDA(Electronics Design Automation,電子設(shè)計(jì)自動(dòng)化)就是以大規(guī)??删幊踢壿嬈骷樵O(shè)計(jì)載體,以硬件描述語(yǔ)言為系統(tǒng)邏輯描述的主要表達(dá)方式,以計(jì)算機(jī)、大規(guī)??删幊踢壿嬈骷拈_發(fā)軟件及實(shí)驗(yàn)開發(fā)系統(tǒng)為設(shè)計(jì)工具,通過有關(guān)的開發(fā)軟件,自動(dòng)完成用軟件方式設(shè)計(jì)的電子系統(tǒng)到硬件系統(tǒng)的編輯邏輯、邏輯化簡(jiǎn)、邏輯分割、邏輯綜合及優(yōu)化、邏輯布局布線、邏輯仿真,直至對(duì)于特定芯片的適配編譯、邏輯映射、編程下載等工作,最終形成集成電子系統(tǒng)[]。 本畢業(yè)設(shè)計(jì)的主要工作是HDB3碼的編譯碼的建模與實(shí)現(xiàn),對(duì)于HDB3編譯碼模塊,一般以硬件的方式來實(shí)現(xiàn)的。但它具有產(chǎn)品更新慢、設(shè)計(jì)靈活性差、不可重配置及現(xiàn)場(chǎng)升級(jí)性能缺乏等缺點(diǎn)。因此擬采用可編程邏輯電路來實(shí)現(xiàn)??删幊踢壿嬰娐肥荅DA的一個(gè)重要技術(shù)基礎(chǔ),主要包括FPGA(Field Programmable Gate Array,現(xiàn)場(chǎng)可編程邏輯門陣列)和CPLD(Complex Programmable Logic Devices,復(fù)雜可編程邏輯器件),它們具有豐富的可重配置邏輯資源,既包含有大量實(shí)現(xiàn)組合邏輯的資源;還包含有相當(dāng)數(shù)量的觸發(fā)器,因此采用EDA技術(shù)進(jìn)行電子系統(tǒng)的設(shè)計(jì)有以下優(yōu)點(diǎn):l 系統(tǒng)可現(xiàn)場(chǎng)編程,在線升級(jí);l 用軟件的方式設(shè)計(jì)硬件;l 整個(gè)系統(tǒng)可集成在一個(gè)芯片上,體積小、功耗低、可靠性高;l 用軟件方式設(shè)計(jì)的硬件系統(tǒng)的轉(zhuǎn)換是由有關(guān)的開發(fā)軟件自動(dòng)完成,降低了系統(tǒng)設(shè)計(jì)的難度。對(duì)于HDB3編譯碼器的實(shí)現(xiàn),本畢業(yè)設(shè)計(jì)采用硬件描述語(yǔ)言VHDL來實(shí)現(xiàn)。用VHDL語(yǔ)言設(shè)計(jì)分別設(shè)計(jì)一個(gè)完善的HDB3碼編碼器和譯碼器。本設(shè)計(jì)是從HDB3原理出發(fā),采用“從頂?shù)降?TOPDOWN)”設(shè)計(jì)方法,以EDA工具QUARTUSⅡ,輸入HDB3的代碼并對(duì)其進(jìn)行編譯、綜合和仿真,經(jīng)過功能測(cè)試、驗(yàn)證,最終實(shí)現(xiàn)基于FPGA的HDB3碼的編碼和譯碼功能。本文對(duì)章節(jié)的安排如下:第二章對(duì)FPGA、VHDL(VeryHighSpeed Integrated Circuit Hardware Description Language,甚高速硬件描述性語(yǔ)言)和QUARTUSⅡ等進(jìn)行簡(jiǎn)介,并選定FPGA和QUARTUSⅡ作為系統(tǒng)的開發(fā)環(huán)境。第三章介紹HDB3碼的編碼原理,并基于FPGA對(duì)HDB3碼編碼部分進(jìn)行建模及實(shí)現(xiàn),通過波形仿真,校驗(yàn)編碼模塊的正確性。第四章介紹HDB3碼的譯碼原理,并基于FPGA對(duì)HDB3碼譯碼部分進(jìn)行建模及實(shí)現(xiàn),通過波形仿真,校驗(yàn)譯碼模塊的正確性。第五章對(duì)全文進(jìn)行總結(jié)。36基于FPGA的HDB3編譯碼的建模與實(shí)現(xiàn) EDA輔助設(shè)計(jì)工具的介紹第二章 EDA輔助設(shè)計(jì)工具的介紹 FPGA的介紹 PLD的介紹[]PLD(Programmable Logic Devices,可編程邏輯器件)是一種由用戶編程以實(shí)現(xiàn)某種邏輯功能的新型邏輯器件。它誕生于20世紀(jì)70年代,在20世紀(jì)80年代以后,隨著集成電路技術(shù)和計(jì)算機(jī)技術(shù)的發(fā)展而迅速發(fā)展。自問世以來,PLD經(jīng)歷了從PROM(Programmable ReadOnly Memory,可編程序的只讀存儲(chǔ)器)、PLA(Programmable Logic Array,可編程序邏輯陣列)、PAL(Programmable Array Logic,可編程陣列邏輯)、GAL(Generic Array Logic,通用陣列邏輯)到FPGA、ispLSI(in system programmable Large Scale Integration,在系統(tǒng)可編程大規(guī)模集成電路)等高密度PLD的發(fā)展過程。在此期間,PLD的集成度、速度不斷提高,功能不斷增強(qiáng),結(jié)構(gòu)趨于更合理,使用起來靈活方便。PLD的出現(xiàn),打破了由中小規(guī)模通用型集成電路和大規(guī)模專用集成電路;壟斷的局面。與中小型規(guī)模通用型集成電路相比,用PLD實(shí)現(xiàn)數(shù)字系統(tǒng),有集成度高、速度快、功耗小、可靠性高等優(yōu)點(diǎn)。與大規(guī)模專用集成電路相比,用PLD實(shí)現(xiàn)數(shù)字系統(tǒng),有研制周期短、先期投資少、無風(fēng)險(xiǎn)、修改邏輯設(shè)計(jì)方便、小批量生產(chǎn)成本低等優(yōu)勢(shì)。最早的可編程邏輯器件出現(xiàn)在20世紀(jì)70年代初,主要是PROM和PAL。隨后出現(xiàn)了PAL、GAL、EPLD(Erasable Programmable Logic Devices,可擦除可編程邏輯器件)和CPLD、PFGA、ispLSI。 FPGA的系統(tǒng)介紹FPGA是20世紀(jì)80年代中期,美國(guó)Altera公司推出一種現(xiàn)場(chǎng)可編程門陣列,其結(jié)構(gòu)主要分為三部分:可編程邏輯單元,可編程輸入輸出單元和可編程連線部分。FPGA器件采用邏輯單元陣列結(jié)構(gòu)和靜態(tài)隨機(jī)存取存儲(chǔ)器工藝,設(shè)計(jì)靈活,集成度高,可利用計(jì)算機(jī)輔助設(shè)計(jì),繪出實(shí)現(xiàn)用戶邏輯原理圖、編輯布爾方程或用硬件描述語(yǔ)言等方式設(shè)計(jì)輸入;然后經(jīng)一系列轉(zhuǎn)換程序、自動(dòng)布局布線、模擬仿真的過程;最后生成配置FPGA器件的數(shù)據(jù)文件,對(duì)FPGA器件初始化。這樣實(shí)現(xiàn)了滿足用戶要求的專用集成電路,真正達(dá)到了用戶自行設(shè)計(jì)、自行研制和自行生產(chǎn)集成電路的目的。概括來說,F(xiàn)PGA器件具有下列優(yōu)點(diǎn):高密度、高效率、系列化、標(biāo)準(zhǔn)化、小型化、多功能、低功耗、低成本、設(shè)計(jì)靈活方便,可無限次反復(fù)編程,并可現(xiàn)場(chǎng)模擬調(diào)試驗(yàn)證。使得使用FPGA器件,一般可在幾天到幾周內(nèi)完成一個(gè)電子系統(tǒng)的設(shè)計(jì)和制作,可以縮短研制周期,達(dá)到快速上市和進(jìn)一步降低成本要求?;谏鲜龅膬?yōu)點(diǎn),本畢業(yè)設(shè)計(jì)采用FPGA芯片作為平臺(tái),這樣可以把整個(gè)系統(tǒng)下載到一塊芯片之中,實(shí)現(xiàn)了所謂的片上系統(tǒng),從而大大縮小了體積,便于工程人員的管理和屏蔽外界干擾。 VHDL語(yǔ)言和QUARTUSⅡ VHDL語(yǔ)言[2]常用的硬件描述性語(yǔ)言有VHDL、Verilog和ABEL語(yǔ)言。VHDL語(yǔ)言起源于美國(guó)國(guó)防部的VHSIC,VHDL是一種高級(jí)描述語(yǔ)言,適用于行為級(jí)和RTL級(jí)的描述相對(duì)與Verilog語(yǔ)言和ABEL語(yǔ)言這些較低一級(jí)的適合描述門級(jí)電路的描述性語(yǔ)言而言,其具有以下的優(yōu)點(diǎn):⒈設(shè)計(jì)方法靈活、支持廣泛 VHDL語(yǔ)言可以支持自頂至下(TopDown)和基于庫(kù)(LibraryBased)的設(shè)計(jì)方法,而且還支持同步電路、異步電路、FPGA以及其他隨機(jī)電路的設(shè)計(jì)。其范圍之廣是其它方法所不能比擬的。目前大多數(shù)EDA工具幾乎都支持VHDL語(yǔ)言。這給VHDL語(yǔ)言進(jìn)一步推廣和應(yīng)用創(chuàng)造了良好的環(huán)境。⒉系統(tǒng)硬件描述能力強(qiáng) VHDL語(yǔ)言具有多層次描述系統(tǒng)硬件功能的能力,可以從系統(tǒng)的框圖直到門級(jí)電路。另外,高層次的行為描述可以與低層次的RTL描述和結(jié)構(gòu)描述混合使用。其他HDL語(yǔ)言如UDL/I、Verilog等對(duì)系統(tǒng)級(jí)的功能描述能力較弱。⒊VHDL語(yǔ)言描述與工藝不發(fā)生關(guān)系 在用VHDL語(yǔ)言設(shè)計(jì)系統(tǒng)硬件時(shí),沒有嵌入工藝信息。采用VHDL語(yǔ)言的設(shè)計(jì),當(dāng)門級(jí)或門級(jí)以上層次的描述通過仿真檢驗(yàn)以后,再用相應(yīng)的工具將設(shè)計(jì)映射成不同的工藝(如MOS, CMOS等)。這樣,在工藝變更時(shí),只要改變相應(yīng)的映射工具就行了。由此可見,修改電路和改變工藝之間的相關(guān)性較小。⒋VHDL語(yǔ)言標(biāo)準(zhǔn)、規(guī)范,易于共享和復(fù)用 由于VHDL語(yǔ)言已成為一種IEEE的工業(yè)標(biāo)準(zhǔn),這樣,設(shè)計(jì)成果便于復(fù)用和交流,反過來也更進(jìn)一步推動(dòng)VHDL語(yǔ)言的推廣及完善?;谏鲜龅奶攸c(diǎn),可知VHDL語(yǔ)言可讀性好,又能被計(jì)算機(jī)識(shí)別。VHDL語(yǔ)言中設(shè)計(jì)實(shí)體、程序包、設(shè)計(jì)庫(kù),為設(shè)計(jì)人員重復(fù)利用已有的設(shè)計(jì)提供了諸多技術(shù)手段。可重復(fù)利用他人的IP(Intelligence Property)模塊和軟核(Soft Core)也是VHDL的另一特色許多設(shè)計(jì)不必每次都從頭再來,只要在更高層次上把IP模塊組合起來,就能達(dá)到事半功倍的效果。這樣,設(shè)計(jì)人員自行開發(fā)的IP模塊在集成電路設(shè)計(jì)中占有重要的地位。因此本畢業(yè)設(shè)計(jì)采用VHDL語(yǔ)言設(shè)計(jì)一個(gè)完善的HDB3碼編、譯碼器。 EDA工具QUARTUSⅡ[] QUARTUSⅡ軟件是美國(guó)Altera公司為SOPC(System on a Programmable Chip,系統(tǒng)級(jí)可編程芯片) 提供最全面的設(shè)計(jì)平臺(tái)。它具有比起其他的編譯軟件,具有以下的優(yōu)點(diǎn):⒈開放的界面QUARTUS II軟件可與其它EDA廠家的設(shè)計(jì)輸入、綜合、驗(yàn)證工具相連接。設(shè)計(jì)人員可使用ALTERA或標(biāo)準(zhǔn)EDA設(shè)計(jì)輸入工具建立電路設(shè)計(jì),使用QUARTUSII編譯器(Compiler)對(duì)ALTERA的器件進(jìn)行編譯,然后使用ALTERA或其他標(biāo)準(zhǔn)EDA驗(yàn)證工具進(jìn)行驗(yàn)證。目前,QUARTUS II支持與Cadence、Exemplarlogic、Mentor Graphics、 Synopsys、Synplicity、Viewlogic等公司的EDA工具接口。⒉與結(jié)構(gòu)無關(guān)QUARTUS II系統(tǒng)的核心——編譯器(Compiler)支持ALTERA公司的FLEX10K,FLEX8000, FLEX6000, MAX9000, MAX7000, MAX5000和Classic等可編程邏輯器件