基于FPGA的HDB3碼編碼器優(yōu)化設(shè)計(jì)與分析
2.2 HDB3極性變換
在極性變換中,將使用四選一模擬開關(guān)實(shí)現(xiàn)+1,0,-1的波形輸出。實(shí)現(xiàn)真正意義的HDB3碼的輸出,這里選用的是數(shù)字芯片CD4052來實(shí)現(xiàn)。
在單雙極性變換設(shè)計(jì)與實(shí)現(xiàn)部分,要實(shí)現(xiàn)將3位的編碼轉(zhuǎn)換為2位的編碼,也就是將前面的+1,-1,+V,-V,+B,-B,0轉(zhuǎn)換成用兩位來標(biāo)識,這樣才能通過CD4052的兩個(gè)輸入端進(jìn)行不同的組合,從而選通不同的通道,實(shí)現(xiàn)HDB3碼的+1,-1,0三種電平的輸出。而轉(zhuǎn)換的方法和編碼時(shí)確定的極性是一致的,分別用10,01,00來標(biāo)識+1,-1,0。在數(shù)字示波器下觀測到的波形如圖3所示。本文引用地址:http://butianyuan.cn/article/190568.htm
2.3 結(jié)構(gòu)化HDB3碼編碼器設(shè)計(jì)
在該設(shè)計(jì)中,將使用元件例化語句來實(shí)現(xiàn)HDB3碼編碼器。底層文件主要分為序列發(fā)生器、插“V”模塊、插“B”模塊、單雙極性變換模塊,加上頂層文件共5個(gè)模塊。在該設(shè)計(jì)中,用11標(biāo)識+1,01標(biāo)識-1,用00標(biāo)識0。其中codeinout是用來觀察序列發(fā)生器產(chǎn)生的二進(jìn)制代碼序列,做為HDB3碼編碼器的輸入序列,codeout為HDB3碼的編碼輸出。該設(shè)計(jì)運(yùn)用VHDL硬件描述語言的元件例化語句來實(shí)現(xiàn)HDB3碼編碼器的設(shè)計(jì),共一個(gè)頂層文件和4個(gè)底層文件。在編碼中,選用2位二進(jìn)制對HDB3碼編碼的插“V”和插“B”以及輸出進(jìn)行編碼,且用的均為非歸零碼來表示。對元件例化語句二位編碼的設(shè)計(jì)進(jìn)行波形仿真結(jié)果如圖4所示。
從圖4中可見,輸出的編碼序列和編碼規(guī)則一致,說明設(shè)計(jì)正確。
3 HDB3碼編碼在FPGA中實(shí)現(xiàn)的特性分析
選用cycloneⅡ系列EP2C5T144C6器件,利用QuartusⅡ7.2對兩種不同設(shè)計(jì)的HDB3編碼器進(jìn)行了分析。分析的主要內(nèi)容包括:邏輯單元的占用、寄存器的占用、工作速度及功耗等的比較。仿真之后,主要選擇了兩組結(jié)果進(jìn)行比較。分析結(jié)果如表1所示。從仿真結(jié)果可以看出,在結(jié)構(gòu)化設(shè)計(jì)中,編碼器總邏輯元件、專用寄存器使用與四進(jìn)程設(shè)計(jì)相比各減少了18.5%,14.8%,表明結(jié)構(gòu)化設(shè)計(jì)有利于減少器件資源的使用。
4 結(jié)語
根據(jù)實(shí)驗(yàn)和系統(tǒng)分析的結(jié)果,在FPGA中,利用VHDL語言設(shè)計(jì)HDB3編碼器是可行的。尤其是結(jié)合VHDL語言程序設(shè)計(jì)的特點(diǎn),利用不同的設(shè)計(jì)方式,可實(shí)現(xiàn)對HDB3編碼器的優(yōu)化設(shè)計(jì)。通過比較,在結(jié)構(gòu)化設(shè)計(jì)中,編碼器總邏輯元件、專用寄存器使用與四進(jìn)程設(shè)計(jì)相比各減少了18.5%,14.8%。因此,結(jié)構(gòu)化設(shè)計(jì)有利于減少器件資源的使用。
評論