基于Q-Coder算術(shù)編碼器的IP核設(shè)計(jì)
3.1 算術(shù)編碼流程
所有的設(shè)計(jì)都是用Verilog硬件描述語(yǔ)言編寫(xiě)的,由上述描述可知,算術(shù)編碼器的輸出不僅和當(dāng)前狀態(tài)有關(guān),而且和輸入也相關(guān),所以本文選擇Mearly有限狀態(tài)機(jī)[5]來(lái)描述復(fù)雜的控制模塊。整個(gè)設(shè)計(jì)的主有限狀態(tài)機(jī)如圖2所示。
圖2 算術(shù)編碼主有限狀態(tài)機(jī)
3.2 模塊設(shè)計(jì)
duram是雙口sram作為片內(nèi)存儲(chǔ)單元存儲(chǔ)輸入的數(shù)據(jù),當(dāng)采用FPGA進(jìn)行驗(yàn)證時(shí),直接調(diào)用Altera公司的宏功能塊即可;ari_core是實(shí)現(xiàn)算術(shù)編碼的運(yùn)算處理單元,包含一個(gè)存儲(chǔ)概率估值和當(dāng)前MPS符號(hào)的表以及LPS和MPS編碼子程序;模塊control是數(shù)據(jù)流控制單元,用于組織片內(nèi)存儲(chǔ)單元duram和運(yùn)算處理單元ari_core以及片外sram的數(shù)據(jù)交換。模塊control是整個(gè)設(shè)計(jì)的控制單元,負(fù)責(zé)調(diào)度以上各個(gè)模塊,產(chǎn)生控制和聯(lián)絡(luò)信號(hào)以及地址信號(hào)。模塊結(jié)構(gòu)原理如圖3所示。
3.3 電路驗(yàn)證
將布局布線后生成的文件下載到自行設(shè)計(jì)的一塊FPGA的PCI開(kāi)發(fā)板里進(jìn)行驗(yàn)證,如圖4所示。板上是一片Altera cyclone系列FPGA ep1c12qfp240,該FPGA含有約25萬(wàn)邏輯門(mén)、30KB內(nèi)部RAM。PCI接口控制邏輯也是在FPGA中實(shí)現(xiàn)[6~8],然后編寫(xiě)PCI驅(qū)動(dòng)程序和應(yīng)用程序,先由Jasper軟件處理,抽取軟件中量化模塊處理后的數(shù)據(jù),輸入FPGA中進(jìn)行處理,再將數(shù)據(jù)返回給軟件中的下一模塊,驗(yàn)證本文設(shè)計(jì)的算術(shù)編碼IP核的正確性,并計(jì)算處理時(shí)間。
評(píng)論