所有提交的EM系统将被重定向到网上投稿系统.作者被要求将文章直接提交给网上投稿系统各自的日志。

一种基于FPGA的高速、高效的平方电路

SHUBHAM MISHRA1和SHAILENDRA KUMAR DHAKAD2
  1. 印度果阿邦匹拉尼大学EI系荣誉学士
  2. 印度果阿邦匹拉尼大学EEE与i系讲师
有关文章载于Pubmed谷歌学者

更多相关文章请访问国际电气、电子和仪器工程高级研究杂志

摘要

本文提出了一种用于二进制数的高速平方电路。所使用的方法受到古埃及乘法法的启发。在Xilinx Virtex-4 FPGA(xc4vlx80- 12)上,采用52,4输入LUTS进行32位二进制平方运算,其组合时延为14.972 ns。

关键字

平方算法,FPGA(现场可编程门阵列),VHDL,VLSI设计,农民乘法。

介绍

由于平方运算是数字信号处理算法中广泛应用的基本运算之一,因此提出了一种高速高效的平方运算方法。我们提出了一种简单的平方方法,灵感来自农民方法(古埃及乘法技术)[6]。这项工作背后的主要动机是研究减少延迟和提高设备利用率的超大规模集成电路(VLSI)平方电路架构的设计和实现。
在数学上,古埃及乘法(也被称为埃及乘法、埃塞俄比亚乘法、俄罗斯乘法或农民乘法)[6],是抄写员使用的两种乘法方法之一,是一种系统的两个数字相乘的方法,不需要乘法表,只需要乘除2的能力,它将其中一个乘数(通常是较大的那个)分解为2的幂和,并生成第二个乘数翻倍的表。这种方法可以称为中介和重复,其中中介意味着将一个数字减半,重复意味着将另一个数字加倍。在某些地区仍在使用。

乘数结构

在本节中,我们提出了一种有效的算法[6],它可以实现二进制数的快速平方计算。
所使用的算法为农民乘法法,具体说明如下
取A和B两个数字,用农民法计算A*B
(将表格左右部分的数字四舍五入)
图像
图像

方法修改

可以对该方法进行修改,以使其更加高效和硬件可实现。
如果要删除左边有偶数项的行,可以使用以下方法:-
1)每一行右边的每一位都乘以同一行数的最后一位(l.s.b)。
2)如果左边的数字是偶数,乘以这个位将自动取消,而不是使右边行的所有元素都为“0”,否则将保持它的原样。
例子:让我们以同样的例子1101 * 11101110
表格
表格

硬件实现

利用逻辑门,该方法可以高速高效地扩展到平方n位。
A)两个比特数的平方:
让我们取一个两位数字msb(a(1) a(0))lsb。用上述方法对这个数字进行平方可以描述为:
表格
图像
D) n位数的通用算法
该算法可以扩展到n位。0是lsb, n是lsb。
要应用广义算法,我们需要理解以下术语
•n表示待平方数的位数。
•j = 2*n - 1
•S表示输入“a”的平方。
•S(k)表示S中的第k项。
•0被赋值为S的msb(最有效位)。
•舍入所有除法值:如果k= 7, k/2=3
它的平方中的项可以用四个生成器项来找到

结果

改进后的高速平方算法设计在Modelsim 6.6c[2]中进行仿真,并使用Xilinx ISE 12.2i[2]通过VHDL[1]进行合成,并将其映射到Virtex-4 (xc4vlx80 -12) FPGA上。
设备利用率结果列在表2中。表3反映了本文算法与现有方法的比较。
从组合延迟的角度,表4提供了所提出的算法与现有架构之间的比较。

结论

在Xilinx xc4vlx80-12-ff1148 FPGA上实现了改进的高速平方算法。该设计实现了较高的器件利用率,仅52 LUTS(4个输入)用于32位平方。所实现的设计在器件利用率和速度方面也很高效。实现验证了32位平方的延迟为14.972ns,远远优于现有的vedic[7]平方和booth平方[4]。这里提出的想法可能为未来在这一方向的研究开辟道路。未来的研究范围是减少对区域的要求,并可扩展到DSP的各个领域。

表格一览

表的图标 表的图标 表的图标 表的图标
表1 表2 表3 表4

参考文献









全球科技峰会