在线刊号(2278-8875)印刷版(2320-3765)
Khumanthem Devjit Singh, K. Jyothi
|
有关文章载于Pubmed,谷歌学者 |
更多相关文章请访问国际电气、电子和仪器工程高级研究杂志
乘法是数学中最常用的运算。整数乘法在现实世界中经常使用,而二进制乘法是用于整数乘法的基本乘法。收缩算法是执行二进制乘法的有效算法。收缩阵列是在阵列中排列处理器的一种方式,其中数据在相邻阵列之间同步流动,通常不同的数据流向不同的方向。每个处理器在每一步都从一个或多个邻居(例如北和西)接收数据,处理它,并在下一步输出相反方向的结果(南和东)。本文以Verilog HDL(硬件描述语言)为平台,开发了收缩压倍增器的硬件模型。该设计采用modelsim仿真器进行仿真,并在spartan3 FPGA板上进行合成。
关键字 |
收缩阵列,并行处理,Xilinx, FPGA, VHDL。 |
我的介绍。 |
本文简要介绍了验证程序正确执行的方法。为了实现DSP应用中的高速低功耗需求,并行阵列乘法器被广泛应用。在DSP应用中,大部分的功率是由乘法器消耗的。因此,为了降低DSP应用中的功耗,必须设计低功率倍增器。收缩算法是流水线的形式,有时不止一维。在该算法中,数据以有节奏的方式从内存中流出,在返回内存之前经过许多处理元素。1978年,H. T. Kung和Charles Leiserson首先发表了一篇关于收缩阵列的论文,并创造了这个名字,指的是“心脏的泵动”。收缩阵列能做什么?这个问题非常重要,答案是每个顺序算法都可以转换为适合在以所谓的收缩方式执行操作的阵列处理器上运行的并行版本,而收缩阵列是满足高度并行计算能力需求的解决方案之一。由于矩阵乘法算法在数字信号处理(DSP)、图像处理、差分比较求解、非数值应用、复杂算术运算等领域的广泛应用,我们将设计并实现一个8位的收缩阵列。 Verilog finds many applications because of its very high speed integrated circuit. It is a hardware description language and program can be loaded into the chip and can be used by tool user. As the language supports flexible design methodology, it can be used to define complex electronic systems. Common language can be used to describe the library components. Because of its unique feature, Verilog is used to design N-bit binary multiplier. The program in Verilog provides the scope for multiplication of two N-bit binary numbers by including the user defined package. |
2实施目的 |
该实现的目的是通过在FPGA上设计和实现收缩阵列架构来有效地解决广泛的计算问题。设计人员寻求高性能和灵活的架构;因此,本文介绍了一种最有效的方法来满足他们。收缩阵列结合了不同的性质,很少发现在一起。这些属性是 |
1)灵活的软硬件(即FPGA技术)。 |
2)空间和时间的并行(即收缩阵列架构)。 |
3)易于扩展的架构。 |
4)流水线化程度高。 |
3设计方法 |
在收缩乘法中,要进行乘法运算并得到最终结果,应遵循以下步骤 |
1.乘数和乘数以阵列形式排列,如图1所示 |
2.乘数的每一位与乘数的每一位相乘得到部分积。 |
3.同列的部分积随着进位的产生而相加。 |
4.因此,将偏积和进位相加得到的结果是两个二进制数的最终积。 |
![]() |
![]() |
图中显示了8位收缩倍增器的功能单元。每个单元都是一个独立的处理单元。在对数据执行必要的操作后,这些单元与相邻单元共享信息。图中的每个方框代表一个完整的加法器。输入向量X和Y是and的,and的输出被作为输入馈送到全加法器,从而产生两个输出。一个是实际相乘的输出向量Z,另一个是由and输出的加法生成的进位,它被其他全加法器进一步使用。这样,行和列的计算同时进行。所有的输入都是同时应用的,因此不需要寄存器。计算开始时输入的可用性和收缩阵列结构有助于乘数比其他乘数执行得更快。 |
四、实现 |
实现电路的编程环境是基于Verilog的。在我们的实现中,使用结构和行为风格设计的收缩阵列倍增器为8位,并在Spartan-3 FPGA板上实现,测试。所得结果准确无误。在结构建模中,乘数分为上、中、下3个部分。其中,所有三个部分同时对数据进行操作。全加法器和与门是乘法器的基本组成部分。每个部分有8个完整的加德器和相关的与门。倍增器的实体部分或外围视图如图3所示 |
![]() |
行为描述是基于收缩阵列乘法器的行为编写和实现的。然后,一个定时分析工具应用于目标模块,以确定最大运行速度。如果算法很耗时,那么乘数的效率就会降低,因为在最近的日子里,效率不仅要用精度来衡量,还要用速度来衡量。由于FPGA是纯硬件电路,执行算法的时间要短得多。因此,在FPGA上实现的收缩乘法算法比任何其他乘法技术工作得更快。 |
五、设备利用率总结 |
![]() |
表中是分别从结构建模综合报告中得到的设备利用率汇总。通过分析综合结果可以看出,采用两种不同风格建模时,FPGA的资源大大减少,功耗也得到较大程度的降低。由于这种实现,系统在硬件设计时需要的空间非常小,消除了硬件设计的复杂性。 |
![]() |
输入11001100和01100110仿真结果如图4所示,得到的输出为1110101101001000。图5和图6为采用结构风格建模得到的8位Systolic Array Multiplier的RTL示意图。 |
![]() |
![]() |
六。结论 |
因此,采用结构方式和行为方式对8位阵列乘数设计进行了优化。在FPGA上实现了所设计的电路,并使用Isim模拟器14.3版仿真软件进行了仿真,结果达到了要求。再次,我们使用Xilinx XST在斯巴达3e板上进行了有效的综合设计。通过在Verilog中实现这样的设计,很容易有效地理解设计方面的行为。如果这个原型是实时实施的,那么将有许多好处造福人类。 |
参考文献 |
|