基于FPGA的可逆數(shù)制轉(zhuǎn)碼器設(shè)計(jì)
2.3 12 b可逆轉(zhuǎn)碼器的結(jié)構(gòu)設(shè)計(jì)
根據(jù)二-十進(jìn)制可逆轉(zhuǎn)碼算法,使用上節(jié)中得到的4 b,5 b和6 b三種二-十進(jìn)制可逆轉(zhuǎn)碼單元模塊,構(gòu)造出12 b二-十進(jìn)制(BCD)可逆轉(zhuǎn)碼器結(jié)構(gòu)如圖4所示,轉(zhuǎn)碼單元模塊的多余輸入端要接地,多余輸出端懸利于轉(zhuǎn)碼器的位數(shù)擴(kuò)展,也可以通過轉(zhuǎn)碼器的使能端BD/DB的取值分別實(shí)現(xiàn)從二進(jìn)制到十進(jìn)制和從十進(jìn)制到二進(jìn)制的數(shù)制轉(zhuǎn)換。本文引用地址:http://cafeforensic.com/article/189669.htm
3 二-十進(jìn)制可逆轉(zhuǎn)碼器的設(shè)計(jì)驗(yàn)證
3.1 可逆轉(zhuǎn)碼器的時(shí)序仿真
使用QuartusⅡ9.1(Full Version)開發(fā)工具;對(duì)于圖4中二-十進(jìn)制(BCD)可逆轉(zhuǎn)碼器,在Altera公司的FPGA(EP2C35F672C6)芯片上進(jìn)行了設(shè)計(jì)驗(yàn)證,驗(yàn)證結(jié)果完全達(dá)到了既定的設(shè)計(jì)目標(biāo);時(shí)序仿真結(jié)果如圖5所示。在圖5(a)中,使能信號(hào)EN=0,轉(zhuǎn)碼器實(shí)現(xiàn)12 b二進(jìn)制數(shù)向4位十進(jìn)制(BCD)數(shù)據(jù)的轉(zhuǎn)換,SW是輸入12 b二進(jìn)制數(shù),LEDR是輸出的4位十進(jìn)制(BCD)數(shù)(15 b,最大值是4 095);在圖5(b)中,使能信號(hào)EN=1,轉(zhuǎn)碼器實(shí)現(xiàn)15 b十進(jìn)制數(shù)(最大4 095)向12 b二進(jìn)制數(shù)據(jù)的轉(zhuǎn)換,SW是輸入15 b十進(jìn)制數(shù)(BCD),LEDR是輸出的12 b的二進(jìn)制數(shù)。
3.2 可逆轉(zhuǎn)碼器的性能分析
使用QuartusⅡ9.1開發(fā)工具和DE2開發(fā)板;對(duì)于所設(shè)計(jì)可逆數(shù)制轉(zhuǎn)碼器通過模塊的參數(shù)配置,分別測試了轉(zhuǎn)碼器在完成8 b、10 b和12 b轉(zhuǎn)碼情況下的硬件實(shí)現(xiàn)代價(jià)(占用邏輯單元數(shù)LEs)和最大路徑延遲(TPD),測試結(jié)果見表1。
表1表明,可逆轉(zhuǎn)碼器的數(shù)據(jù)位寬愈大轉(zhuǎn)碼器就越復(fù)雜,使用的單元模塊就越多,實(shí)現(xiàn)代價(jià)增大,路徑延遲也會(huì)增大,12 b可逆轉(zhuǎn)碼器的最高時(shí)鐘頻率只有50 MHz,而8 b的可逆轉(zhuǎn)碼器最高時(shí)鐘頻率可以達(dá)到75 MHz。
4 結(jié)語
文中提出以3種功能模塊來構(gòu)造二-十進(jìn)制(BCD)可逆轉(zhuǎn)碼器的設(shè)計(jì)方法,通過端口參數(shù)配置和模塊重構(gòu)就能實(shí)現(xiàn)不同位數(shù)的數(shù)據(jù)在二進(jìn)制和十進(jìn)制(BCD)之間相互轉(zhuǎn)換。從而使基于FPGA的二-十進(jìn)制(BCD)轉(zhuǎn)碼器的構(gòu)建變得簡單、靈活。可逆轉(zhuǎn)碼器在EP2C35F672C6芯片上的驗(yàn)證結(jié)果也充分證明了這種設(shè)計(jì)思路的可行性;如果進(jìn)一步在轉(zhuǎn)碼器中插入寄存器而形成流水線結(jié)構(gòu),那么轉(zhuǎn)碼器的運(yùn)算速度就會(huì)有更大提升。
評(píng)論