《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于FPGA的漢明距離電路的實現(xiàn)
基于FPGA的漢明距離電路的實現(xiàn)
摘要:  當今時代已經(jīng)成為信息化時代,,而信息的數(shù)字化也越來越為研究人員所重視,。數(shù)字化技術(shù)已經(jīng)引發(fā)了一場范圍廣泛的產(chǎn)業(yè)革命,,各種家用電器設(shè)備,,信息處理設(shè)備都將向著數(shù)字化的方向變化,。如數(shù)字電視,、數(shù)字廣播,、數(shù)字電影,、DVD等等,,同時現(xiàn)在的通信網(wǎng)絡(luò)也向著數(shù)字化的方向發(fā)展,。隨著數(shù)字化的發(fā)展,數(shù)字集成電路也得到了廣泛應(yīng)用,。20世紀80年代中期,,Altera和Xilinx分別推出了類似于PAL結(jié)構(gòu)的擴展型CPLD和與標準門陣列類似的FPGA,它們都具有體系結(jié)構(gòu)和邏輯單元比較靈活,、集成度高以及適用范圍廣等特點,。同時,,這兩種器件也兼容了PLD和通用門陣列的優(yōu)點,可實現(xiàn)較大規(guī)模的電路編程同時也很靈活,。
關(guān)鍵詞: FPGA 漢明距離
Abstract:
Key words :
 

  當今時代已經(jīng)成為信息化時代,,而信息的數(shù)字化也越來越為研究人員所重視。數(shù)字化技術(shù)已經(jīng)引發(fā)了一場范圍廣泛的產(chǎn)業(yè)革命,,各種家用電器設(shè)備,,信息處理設(shè)備都將向著數(shù)字化的方向變化。如數(shù)字電視,、數(shù)字廣播,、數(shù)字電影、DVD等等,,同時現(xiàn)在的通信網(wǎng)絡(luò)也向著數(shù)字化的方向發(fā)展,。隨著數(shù)字化的發(fā)展,數(shù)字集成電路也得到了廣泛應(yīng)用,。20世紀80年代中期,,Altera和Xilinx分別推出了類似于PAL結(jié)構(gòu)的擴展型CPLD和與標準門陣列類似的FPGA,它們都具有體系結(jié)構(gòu)和邏輯單元比較靈活,、集成度高以及適用范圍廣等特點,。同時,這兩種器件也兼容了PLD和通用門陣列的優(yōu)點,,可實現(xiàn)較大規(guī)模的電路編程同時也很靈活,。

  漢明距離在信息論中的定義是兩個等長字符串之間的漢明距離,也就是兩個字符串對應(yīng)位置的不同字符的個數(shù),。例如:*1011101與1001 001之間的漢明距離就是2,;*2143896與2233796之間的漢明距離為3;*“toned”與“roses”之間的漢明距離為3,。

  在通信中,,累計定長二進制字中發(fā)生翻轉(zhuǎn)的錯誤數(shù)據(jù)位通常也被稱為信號距離。事實上,,漢明重量分析在包括信息論,、編碼理論、密碼學等領(lǐng)域都有應(yīng)用,。

  1 硬件設(shè)計

  在擴頻通信和數(shù)字突發(fā)通信系統(tǒng)中,,接收機進行的數(shù)字相關(guān)檢測或獨特碼檢測,實際上就是本地一組確定序列的一位二進制數(shù),,接收機將接收到的數(shù)據(jù)連續(xù)不斷的送入N位移位寄存器中,,這樣,任一瞬間移位寄存器中的內(nèi)容即為一串二進制碼,,移位寄存器的輸出作為ROM的地址輸入,,這樣,,經(jīng)查找表運算后,ROM就可輸出所需的數(shù)據(jù),,并將所得數(shù)據(jù)送入漢明計算電路以得到漢明距離,,再經(jīng)過門限判決輸入的漢明距離。其漢明距離的計算電路框圖如圖1所示,。

a.jpg

  1.1 8位并入串出移位寄存器

  圖2是本系統(tǒng)中的并入串出移位寄存器電路圖,。圖2中,當移位/置入控制端(c.jpg)為低時,,并行數(shù)據(jù)(A—H)被置入寄存器,;而當c.jpg為高電平時,并行置數(shù)功能被禁止,。當CLK和CLK INK有一個為低電平且c.jpg為高電平時,,另一個時鐘則可以輸入;當CLK和CLK INK有一個為高電平時,,另一個時鐘被禁止:而只有在CLK為高電平時,,CLK INK才可變?yōu)楦唠娖健?/p>

b.jpg

  1.2 ROM查找表的設(shè)計

  用FPGA設(shè)計漢明距離電路的另一個關(guān)鍵是存儲器ROM,圖3所示是一個lpm_rom的器件圖,。設(shè)計時,,移位寄存器的輸出作為ROM的地址輸入,這樣,,經(jīng)查找表運算后,,ROM就可以輸出所需的漢明數(shù)據(jù)。

d.jpg

  1.3 邏輯計算電路

  圖4所示是本系統(tǒng)中的邏輯計算電路的c5in3out的器件圖,。通過c5in3out可計算出序列D6~D32的漢明距離,。序列D0~D5(即圖4中的A,B,,C,D,,E)的漢明距離可以采用邏輯函數(shù)獲得,。邏輯計算電路有三個二進制輸出變量,由最高有效位到最低有效位依次為A,、B,、C(即圖4中的X,Y,,Z),,其邏輯表達式為:

f.jpg

e.jpg

  1.4 漢明加法器

  圖5所示是一個漢明加法器的add器件圖。add通常是采用求和網(wǎng)絡(luò)法求和,。求和網(wǎng)絡(luò)法將ROM輸出的數(shù)據(jù)兩兩通過一個加法器相加后,,可將得出的結(jié)果再兩兩通過一個加法器相加,,依次將各項計算結(jié)果相加在一起,其最終的累加結(jié)果便是漢明距離,。

g.jpg

  2 漢明電路的仿真調(diào)試

  2.1 8位并入串出移位寄存器的maxpluslI仿真

  8位并入串出移位寄存器maxplusII波形仿真如圖6所示,。其中的Clk為移位時鐘信號;Load為并行數(shù)據(jù)預(yù)置使能信號,;Din是8位二進制并行預(yù)置數(shù)據(jù)端口,;Qb表示當前值reg(0)向qb輸出;Reg(8)為當前值和移位值(如:9A 1001 1010B,;移位后:4D 0100 1101 B:第二次移位:A6 10100110 B),。

h.jpg

  2.2 32位序列漢明距離電路的實現(xiàn)仿真

  選取查找表-求和網(wǎng)絡(luò)法來實現(xiàn)32位漢明距離的計算時,可分別將(D6~D14),、 (D15~D23),、(D24~D32)作為查找表的地址線,再由此計算出序列D6~D32的漢明距離,。而其序列D0~D5的漢明距離可以采用邏輯函數(shù)獲得,,具體的波形仿真如圖7所示。

  圖7中,,Datain『31..0』為漢明距離電路的輸入端口,;Out『4..0』為漢明距離計算輸出端口(內(nèi)置的32位數(shù)可用十六進制表示為000000 00)。例如F800A08C即1111 1000 0000 0000 1010 0000 10001100B,,輸出的漢明距離d為10,。

  3 結(jié)束語

  設(shè)計完成后,可使用FPGA(即現(xiàn)場可編程門陣列)進行下載驗證,,F(xiàn)PGA是專用集成電路(ASIC)領(lǐng)域中的一種半定制電路,,F(xiàn)PGA既可解決定制電路的不足,又可克服原有可編程器件門電路數(shù)有限的缺點,。而使用MaxPlusⅡ軟件和VHDL語言進行電路設(shè)計,,不僅可以進行邏輯仿真,還可以進行時序仿真,。由于本設(shè)計在編寫過程中使用了較多的與門和異或門,,所以,在波形仿真圖中,,波形顯示具有比較長的延時,。但是,自行編寫的計數(shù)器功能完善,,程序簡單明了,,完全可以實現(xiàn)32位漢明距離的計算。



 

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。