BP神經(jīng)網(wǎng)絡(luò)圖像壓縮算法乘累加單元的FPGA設(shè)計(jì)
在本設(shè)計(jì)方案中,測(cè)試仿真平臺(tái)選用的FPGA芯片為ALTERA公司CycloneⅡ系列的EP2C8芯片,它采用90 nm的制造工藝,擁有8 256個(gè)邏輯單元,36個(gè)M4K隨機(jī)只讀存儲(chǔ)器,2個(gè)數(shù)字鎖相環(huán),以及18個(gè)硬乘法器等豐富資源。仿真工具使用業(yè)界流行的MentorGraphics公司的仿真軟件Modelsim 6.1f。對(duì)設(shè)計(jì)進(jìn)行驗(yàn)證時(shí),常見(jiàn)的方法是在模擬時(shí)施加輸入激勵(lì)信號(hào),然后“讀”該設(shè)計(jì)的輸出信號(hào),它的主要缺點(diǎn)是隨著模擬器的不同而不同。為了克服此缺點(diǎn),采用的測(cè)試方法是用VHDL編寫(xiě)一個(gè)測(cè)試模型發(fā)生器,稱為T(mén)estbench,它的優(yōu)點(diǎn)是通用性好,靈活性強(qiáng),可以隨時(shí)更改輸入激勵(lì),已得到不同的仿真結(jié)果。在對(duì)該MAC模塊進(jìn)行測(cè)試的過(guò)程中,涉及輸入數(shù)據(jù)的轉(zhuǎn)化問(wèn)題,如前所述,在本神經(jīng)網(wǎng)絡(luò)中,輸入數(shù)據(jù)歸一化后,集中在-1~+1之間,所以處理時(shí)必須進(jìn)行轉(zhuǎn)化,最后采用16位補(bǔ)碼形式的定點(diǎn)二進(jìn)制表示法,由于在求和中可能會(huì)產(chǎn)生溢出,還必須包含一個(gè)溢l出狀態(tài)信號(hào)。輸入數(shù)據(jù)轉(zhuǎn)換16位補(bǔ)碼的仿真波形如圖4所示。本文引用地址:http://m.butianyuan.cn/article/191891.htm
16位補(bǔ)碼轉(zhuǎn)換原輸入實(shí)數(shù)的仿真波形如圖5所示。
在完成了對(duì)輸入、輸出數(shù)據(jù)的轉(zhuǎn)換之后,編寫(xiě)Testbench(測(cè)試臺(tái))程序,對(duì)基于流水線設(shè)計(jì)的四輸入MAC進(jìn)行行為級(jí)仿真,仿真波形如圖6所示。
綜上所述,在基于流水線的乘法設(shè)計(jì)中,雖然每一步操作后都加入了寄存器,消耗了更多的資源,但卻可以將系統(tǒng)延時(shí)降低到最慢步驟所需要的時(shí)間,極大地提高了同步電路的運(yùn)算速度。
3 結(jié) 語(yǔ)
介紹了基于三層前饋BP神經(jīng)網(wǎng)絡(luò)的圖像壓縮算法,提出了基于FPGA的實(shí)現(xiàn)驗(yàn)證方案,詳細(xì)討論了實(shí)現(xiàn)該壓縮網(wǎng)絡(luò)組成的重要模塊MAC電路的流水線設(shè)計(jì)。在對(duì)BP神經(jīng)網(wǎng)絡(luò)的電路設(shè)計(jì)中,對(duì)傳輸函數(shù)及其導(dǎo)函數(shù)的線性逼近也是近來(lái)研究的熱點(diǎn)之一,本文使用的壓縮查找表雖然能夠滿足設(shè)計(jì)要求,但仍然消耗了大量資源。該研究結(jié)果對(duì)整個(gè)壓縮解壓縮算法的實(shí)現(xiàn)以及多層神經(jīng)網(wǎng)絡(luò)的相關(guān)研究工作提供了參考。
評(píng)論