基于FPGA的漢明距離電路的實(shí)現(xiàn)
1.4 漢明加法器
圖5所示是一個(gè)漢明加法器的add器件圖。add通常是采用求和網(wǎng)絡(luò)法求和。求和網(wǎng)絡(luò)法將ROM輸出的數(shù)據(jù)兩兩通過(guò)一個(gè)加法器相加后,可將得出的結(jié)果再兩兩通過(guò)一個(gè)加法器相加,依次將各項(xiàng)計(jì)算結(jié)果相加在一起,其最終的累加結(jié)果便是漢明距離。本文引用地址:http://butianyuan.cn/article/191076.htm
2 漢明電路的仿真調(diào)試
2.1 8位并入串出移位寄存器的max+pluslI仿真
8位并入串出移位寄存器max+plusII波形仿真如圖6所示。其中的Clk為移位時(shí)鐘信號(hào);Load為并行數(shù)據(jù)預(yù)置使能信號(hào);Din是8位二進(jìn)制并行預(yù)置數(shù)據(jù)端口;Qb表示當(dāng)前值reg(0)向qb輸出;Reg(8)為當(dāng)前值和移位值(如:9A 1001 1010B;移位后:4D 0100 1101 B:第二次移位:A6 10100110 B)。
2.2 32位序列漢明距離電路的實(shí)現(xiàn)仿真
選取查找表-求和網(wǎng)絡(luò)法來(lái)實(shí)現(xiàn)32位漢明距離的計(jì)算時(shí),可分別將(D6~D14)、 (D15~D23)、(D24~D32)作為查找表的地址線,再由此計(jì)算出序列D6~D32的漢明距離。而其序列D0~D5的漢明距離可以采用邏輯函數(shù)獲得,具體的波形仿真如圖7所示。
圖7中,Datain[31..0]為漢明距離電路的輸入端口;Out[4..0]為漢明距離計(jì)算輸出端口(內(nèi)置的32位數(shù)可用十六進(jìn)制表示為000000 00)。例如F800A08C即1111 1000 0000 0000 1010 0000 10001100B,輸出的漢明距離d為10。
3 結(jié)束語(yǔ)
設(shè)計(jì)完成后,可使用FPGA(即現(xiàn)場(chǎng)可編程門陣列)進(jìn)行下載驗(yàn)證,FPGA是專用集成電路(ASIC)領(lǐng)域中的一種半定制電路,FPGA既可解決定制電路的不足,又可克服原有可編程器件門電路數(shù)有限的缺點(diǎn)。而使用Max+PlusⅡ軟件和VHDL語(yǔ)言進(jìn)行電路設(shè)計(jì),不僅可以進(jìn)行邏輯仿真,還可以進(jìn)行時(shí)序仿真。由于本設(shè)計(jì)在編寫(xiě)過(guò)程中使用了較多的與門和異或門,所以,在波形仿真圖中,波形顯示具有比較長(zhǎng)的延時(shí)。但是,自行編寫(xiě)的計(jì)數(shù)器功能完善,程序簡(jiǎn)單明了,完全可以實(shí)現(xiàn)32位漢明距離的計(jì)算。
DIY機(jī)械鍵盤相關(guān)社區(qū):機(jī)械鍵盤DIY
評(píng)論