【正文】
鄰的“1”碼(即正脈沖)變?yōu)闃O性交替的正、負(fù)脈沖。⒎良好的人機(jī)界面QUARTUSⅡ具有比MAXPLUSⅡ更加人性化的人機(jī)界面,方便工程人員的操作。 ⒊多平臺(tái)QUARTUS II軟件可在多種PC機(jī)和工作站的操作系統(tǒng)中運(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)證。這樣,設(shè)計(jì)人員自行開發(fā)的IP模塊在集成電路設(shè)計(jì)中占有重要的地位。⒋VHDL語言標(biāo)準(zhǔn)、規(guī)范,易于共享和復(fù)用 由于VHDL語言已成為一種IEEE的工業(yè)標(biāo)準(zhǔn),這樣,設(shè)計(jì)成果便于復(fù)用和交流,反過來也更進(jìn)一步推動(dòng)VHDL語言的推廣及完善。⒊VHDL語言描述與工藝不發(fā)生關(guān)系 在用VHDL語言設(shè)計(jì)系統(tǒng)硬件時(shí),沒有嵌入工藝信息。這給VHDL語言進(jìn)一步推廣和應(yīng)用創(chuàng)造了良好的環(huán)境。 VHDL語言和QUARTUSⅡ VHDL語言[2]常用的硬件描述性語言有VHDL、Verilog和ABEL語言。這樣實(shí)現(xiàn)了滿足用戶要求的專用集成電路,真正達(dá)到了用戶自行設(shè)計(jì)、自行研制和自行生產(chǎn)集成電路的目的。最早的可編程邏輯器件出現(xiàn)在20世紀(jì)70年代初,主要是PROM和PAL。在此期間,PLD的集成度、速度不斷提高,功能不斷增強(qiáng),結(jié)構(gòu)趨于更合理,使用起來靈活方便。第五章對(duì)全文進(jìn)行總結(jié)。本設(shè)計(jì)是從HDB3原理出發(fā),采用“從頂?shù)降?TOPDOWN)”設(shè)計(jì)方法,以EDA工具QUARTUSⅡ,輸入HDB3的代碼并對(duì)其進(jìn)行編譯、綜合和仿真,經(jīng)過功能測(cè)試、驗(yàn)證,最終實(shí)現(xiàn)基于FPGA的HDB3碼的編碼和譯碼功能。因此擬采用可編程邏輯電路來實(shí)現(xiàn)。本畢業(yè)設(shè)計(jì)是采用EDA工具實(shí)現(xiàn)HDB3碼的仿真和校驗(yàn),從而使系統(tǒng)的實(shí)現(xiàn)具有很大的靈活性。最后,通過仿真,驗(yàn)證了方案的正確性?;贔PGA的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)。關(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語言和QUARTUSⅡ 4 VHDL語言 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é)束語 24參考文獻(xiàn) 25致謝 26附錄一 27附錄二 32基于FPGA的HDB3編譯碼的建模與實(shí)現(xiàn) 緒論第一章 緒 論數(shù)字基帶信號(hào)的傳輸是數(shù)字通信系統(tǒng)的重要組成部分之一。EDA(Electronics Design Automation,電子設(shè)計(jì)自動(dòng)化)就是以大規(guī)模可編程邏輯器件為設(shè)計(jì)載體,以硬件描述語言為系統(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)[]??删幊踢壿嬰娐肥荅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ì)章節(jié)的安排如下:第二章對(duì)FPGA、VHDL(VeryHighSpeed Integrated Circuit Hardware Description Language,甚高速硬件描述性語言)和QUARTUSⅡ等進(jìn)行簡(jiǎn)介,并選定FPGA和QUARTUSⅡ作為系統(tǒng)的開發(fā)環(huán)境。36基于FPGA的HDB3編譯碼的建模與實(shí)現(xiàn) EDA輔助設(shè)計(jì)工具的介紹第二章 EDA輔助設(shè)計(jì)工具的介紹 FPGA的介紹 PLD的介紹[]PLD(Programmable Logic Devices,可編程邏輯器件)是一種由用戶編程以實(shí)現(xiàn)某種邏輯功能的新型邏輯器件。PLD的出現(xiàn),打破了由中小規(guī)模通用型集成電路和大規(guī)模專用集成電路;壟斷的局面。隨后出現(xiàn)了PAL、GAL、EPLD(Erasable Programmable Logic Devices,可擦除可編程邏輯器件)和CPLD、PFGA、ispLSI。概括來說,F(xiàn)PGA器件具有下列優(yōu)點(diǎn):高密度、高效率、系列化、標(biāo)準(zhǔn)化、小型化、多功能、低功耗、低成本、設(shè)計(jì)靈活方便,可無限次反復(fù)編程,并可現(xiàn)場(chǎng)模擬調(diào)試驗(yàn)證。VHDL語言起源于美國(guó)國(guó)防部的VHSIC,VHDL是一種高級(jí)描述語言,適用于行為級(jí)和RTL級(jí)的描述相對(duì)與Verilog語言和ABEL語言這些較低一級(jí)的適合描述門級(jí)電路的描述性語言而言,其具有以下的優(yōu)點(diǎn):⒈設(shè)計(jì)方法靈活、支持廣泛 VHDL語言可以支持自頂至下(TopDown)和基于庫(kù)(LibraryBased)的設(shè)計(jì)方法,而且還支持同步電路、異步電路、FPGA以及其他隨機(jī)電路的設(shè)計(jì)。⒉系統(tǒng)硬件描述能力強(qiáng) VHDL語言具有多層次描述系統(tǒng)硬件功能的能力,可以從系統(tǒng)的框圖直到門級(jí)電路。采用VHDL語言的設(shè)計(jì),當(dāng)門級(jí)或門級(jí)以上層次的描述通過仿真檢驗(yàn)以后,再用相應(yīng)的工具將設(shè)計(jì)映射成不同的工藝(如MOS, CMOS等)?;谏鲜龅奶攸c(diǎn),可知VHDL語言可讀性好,又能被計(jì)算機(jī)識(shí)別。因此本畢業(yè)設(shè)計(jì)采用VHDL語言設(shè)計(jì)一個(gè)完善的HDB3碼編、譯碼器。目前,QUARTUS II支持與Cadence、Exemplarlogic、Mentor Graphics、 Synopsys、Synplicity、Viewlogic等公司的EDA工具接口。⒋完全集成化QUARTUS II的設(shè)計(jì)輸入、處理、驗(yàn)證、器件編程等功能全部集成在統(tǒng)一的開發(fā)環(huán)境下,可以使用戶進(jìn)行動(dòng)態(tài)調(diào)試,加快開發(fā)進(jìn)程。基于上述的特點(diǎn),本文采用QUARTUSⅡ軟件對(duì)HDB3編、譯碼的仿真驗(yàn)證。將“0”碼保持不變,把“1”碼變?yōu)?1交替的脈沖。這一點(diǎn),當(dāng)相鄰V符號(hào)之間有奇數(shù)個(gè)非0符號(hào)時(shí),則是能得到保證,當(dāng)有偶數(shù)個(gè)非0符號(hào)時(shí),則就得不到保證,這時(shí)再將該小段的第一個(gè)0變換成+B或B,B符號(hào)的極性與前一非0符號(hào)的極性相反,并讓后面的非0符號(hào)從V符號(hào)開始再交替變換[]。為了減少資源的消耗和電路的復(fù)雜度,在對(duì)信號(hào)進(jìn)行HDB3碼編碼時(shí),先依據(jù)HDB3碼的編碼規(guī)則進(jìn)行添加破壞符號(hào)“V”然后進(jìn)行添加符號(hào)“B”操作,最后才進(jìn)行單極性信號(hào)變成雙極性信號(hào)的轉(zhuǎn)換。因此本設(shè)計(jì)在此處把信號(hào)處理的順序變換一下:首先完成添加破壞符號(hào)“V”工作,接著執(zhí)行添加符號(hào)“B”功能,最后實(shí)現(xiàn)單極性變雙極性的信號(hào)輸出。例如:信息序列: 110010雙相碼: 101001011001通過字節(jié)替代方法解決了識(shí)別“1”、“V”和“B”的問題。:其中: ①COUNT0是作為連0的計(jì)數(shù)器。⑤在本程序中用“11”標(biāo)識(shí)“V”。139。 COUNT0=0。 01表示1 COUNT0=0。139。 S0(0)=CODEOUTV(0)。139。② COUNT1作為記非0符號(hào)的奇偶數(shù),其中0表示為偶數(shù),1表示為奇數(shù)。⑥ 在本程序中用“00”來標(biāo)識(shí)符號(hào)“0”。因此,在程序的結(jié)構(gòu)中進(jìn)行元件聲明(Component Declaration),調(diào)用庫(kù)里的D觸發(fā)來實(shí)現(xiàn)延遲作用。元件例化是使VHDL設(shè)計(jì)實(shí)體構(gòu)成自上而下層次化設(shè)計(jì)的一種重要途徑。 DS12: DFF PORT MAP(S1(1),CLK,S1(2))。 調(diào)元件DFF,即D觸發(fā)器 BCLK: CLKB=NOT CLK。)THEN IF(CODEOUTV=11)THEN ………………………… ELSIF(CODEOUTV=01)THEN IF(COUNT1=0)THEN FIRST_1=39。 S0(4)=S0(3)。 ELSE COUNT1=COUNT1。 END IF。在此添加“B”的功能模塊中,例如程序代碼為:(CODEOUTV=01)THEN IF(COUNT1=0)THEN FIRST_1=39。 S0(4)=S0(3)。同時(shí),“1”、 “V”,“B”已經(jīng)分別用雙相碼“01”,“11”,“10”標(biāo)識(shí),所以對(duì)“1”,“V”, “B”的正負(fù)交替變換很容易實(shí)現(xiàn)。③以00表示0。139。 FLAGOB=2。 FLAGOB=2。 ELSIF(CODEOUTB=11)THEN IF(FLAGOV=0)THEN ……………………………… ELSIF(FLAGOV=1)THEN ELSIF(FLAGOV=2)THEN CODEOUT=01。 FLAGOV=FLAGOV。END ARCHITECTURE RTL。 ,上述的程序下載到FPGA中最終的輸出結(jié)果并不是“1”,“+1”,“0”的多電平變化波形,而是單極性雙電平的信號(hào)。 HDB3碼編碼器的波形仿真及分析 輸入全 “0”時(shí)編碼輸出 輸入全“1”時(shí)編碼輸出 輸入“000000000000001000000……”時(shí)編碼輸出 輸入“100001000011000011000010” 時(shí)編碼輸出由仿真波形可以得出:CODEIN: 00000000