基于FPGA的汉明距离电路设计

随着数字化的发展,数字集成电路也得到了广泛应用。20世纪80年代中期,altera和xilinx分别推出了类似于pal结构的扩展型cpld和与标准门阵列类似的fpga,它们都具有体系结构和逻辑单元比较灵活、集成度高以及适用范围广等特点。同时,这两种器件也兼容了pld和通用门阵列的优点,可实现较大规模的电路编程同时也很灵活。
汉明距离在信息论中的定义是两个等长字符串之间的汉明距离,也就是两个字符串对应位置的不同字符的个数。例如:*1011101与1001 001之间的汉明距离就是2;*2143896与2233796之间的汉明距离为3;*“toned”与“roses”之间的汉明距离为3。
在通信中,累计定长二进制字中发生翻转的错误数据位通常也被称为信号距离。事实上,汉明重量分析在包括信息论、编码理论、密码学等领域都有应用。
1 硬件设计
在扩频通信和数字突发通信系统中,接收机进行的数字相关检测或独特码检测,实际上就是本地一组确定序列的一位二进制数,接收机将接收到的数据连续不断的送入n位移位寄存器中,这样,任一瞬间移位寄存器中的内容即为一串二进制码,移位寄存器的输出作为rom的地址输入,这样,经查找表运算后,rom就可输出所需的数据,并将所得数据送入汉明计算电路以得到汉明距离,再经过门限判决输入的汉明距离。其汉明距离的计算电路框图如图1所示。
1.1 8位并入串出移位寄存器
图2是本系统中的并入串出移位寄存器电路图。图2中,当移位/置入控制端(
)为低时,并行数据(a—h)被置入寄存器;而当
为高电平时,并行置数功能被禁止。当clk和clk ink有一个为低电平且
为高电平时,另一个时钟则可以输入;当clk和clk ink有一个为高电平时,另一个时钟被禁止:而只有在clk为高电平时,clk ink才可变为高电平。
1.2 rom查找表的设计
用fpga设计汉明距离电路的另一个关键是存储器rom,图3所示是一个lpm_rom的器件图。设计时,移位寄存器的输出作为rom的地址输入,这样,经查找表运算后,rom就可以输出所需的汉明数据。
1.3 逻辑计算电路
图4所示是本系统中的逻辑计算电路的c5in3out的器件图。通过c5in3out可计算出序列d6~d32的汉明距离。序列d0~d5(即图4中的a,b,c,d,e)的汉明距离可以采用逻辑函数获得。逻辑计算电路有三个二进制输出变量,由最高有效位到最低有效位依次为a、b、c(即图4中的x,y,z),其逻辑表达式为:
1.4 汉明加法器
图5所示是一个汉明加法器的add器件图。add通常是采用求和网络法求和。求和网络法将rom输出的数据两两通过一个加法器相加后,可将得出的结果再两两通过一个加法器相加,依次将各项计算结果相加在一起,其最终的累加结果便是汉明距离。
2 汉明电路的仿真调试
2.1 8位并入串出移位寄存器的max+plusli仿真
8位并入串出移位寄存器max+plusii波形仿真如图6所示。其中的clk为移位时钟信号;load为并行数据预置使能信号;din是8位二进制并行预置数据端口;qb表示当前值reg(0)向qb输出;reg(8)为当前值和移位值(如:9a 1001 1010b;移位后:4d 0100 1101 b:第二次移位:a6 10100110 b)。
2.2 32位序列汉明距离电路的实现仿真
选取查找表-求和网络法来实现32位汉明距离的计算时,可分别将(d6~d14)、 (d15~d23)、(d24~d32)作为查找表的地址线,再由此计算出序列d6~d32的汉明距离。而其序列d0~d5的汉明距离可以采用逻辑函数获得,具体的波形仿真如图7所示。
图7中,datain[31..0]为汉明距离电路的输入端口;out[4..0]为汉明距离计算输出端口(内置的32位数可用十六进制表示为000000 00)。例如f800a08c即1111 1000 0000 0000 1010 0000 10001100b,输出的汉明距离d为10。
3 结束语
设计完成后,可使用fpga(即现场可编程门阵列)进行下载验证,fpga是专用集成电路(asic)领域中的一种半定制电路,fpga既可解决定制电路的不足,又可克服原有可编程器件门电路数有限的缺点。而使用max+plusⅱ软件和vhdl语言进行电路设计,不仅可以进行逻辑仿真,还可以进行时序仿真。由于本设计在编写过程中使用了较多的与门和异或门,所以,在波形仿真图中,波形显示具有比较长的延时。但是,自行编写的计数器功能完善,程序简单明了,完全可以实现32位汉明距离的计算。

三星电子DDR5 DRAM内存颗粒实现HKMG工艺大规模应用
深耕中国五十载 东芝连续第五年亮相进博会
放大器的反馈电阻不能太大,那具体的选择需要参考哪些因素呢?
汉思化学打造电池底部填充胶定制服务助力移动电源厂商发展
一款基于Go语言开发的快速端口扫描工具
基于FPGA的汉明距离电路设计
详谈智能手机 LPDDR5 内存与电脑 DDR4 内存的区别
迎战双11,悠易互通教你如何一站式解决快消零售行业痛点
AI悄然重塑苹果新款iPhone与手表产品
放大电路中引入负反馈的原因是什么
Javelin的CMOS 3G功率放大器获三星选用
Onfido宣布已完成由全球投资公司TPG Growth牵头的一亿美元融资
爆料称华为Mate X2或将供不应求
国人不买账!苹果红色版iPhone7/7Plus并没有火起来
诺基亚8什么时候上市最新消息:诺基亚8“机皇”即将回归,这次情怀配置都有了!
一套高性能高灵活性的硬编解码推理技术方案
美菱M鲜生冰箱定制款京东首发 满足不同家庭储存需要
预想十年后的计算机
图为科技与深圳人工智能产业协会联合发布边缘计算机概念
华为正与意法联合打造移动和汽车相关芯片产品