20×18位符号定点乘法器的FPGA实现
2 32位浮点乘法器的实现与仿真测试
该模块仿真实现用Mentor Graphics公司的Model-Sim SE 6.0d仿真软件,图5列出本设计的:FPGA仿真结果。图5中in1是被乘数20 b。in2是乘数18 b。reset是复位清零信号,低电平有效。booth_multiplier_out是用Booth编码乘法器算出来的结果38 b。derect_multiplier_out是直接用乘号“×”得到的结果,也是18 b。两者结果一致。round_out是舍入后的结果,20 b。eq是测试时加的一个1 b信号,如果booth_multiplier_out和derect_multiplier_out相等为1,否则为0。
由于在测试时,将输入和输出都用寄存器锁存了一个时种clk,最后输出结果延了2个时种clk,在图5中,第一个时种clk,输入乘数和被乘数分别为126 999,68 850;输出结果为第3个时种clk的8 743 881 150。因为126 999×68 850=8 743 881 150,故结果正确。在测试时,因实际数据量比较大,in1从-219~219-1,ModelSim SE 6.0d仿真软件需要运行大概1 min,若in1从-219~219-1,in2从-217~217-1大概需要时间T=218min=4 369 h=182 day,因此在PC机上不能全测,故在写testbench时,用random函数产生随机数测试,该乘法器用ModelSim仿真软件运行12 h,eq信号始终为1,即乘法器算出的结果与直接乘的结果一致,认为该方法完全可行。
3 性能比较与创新
该模块用Synplify Pro8.1综合,用XilinxISE 7.1i实现布局布线。在Xilinx ISE中ImplementDesign下Map报告系统占用资源如表2所示。
而静态时序分析报告显示速度和延时分别为62.805 MHz,15.922 ns。
该设计采用高压缩率的4―2压缩算法,压缩率为50%,而一般的3-2压缩压缩率为33%,并且采用先进的集成电路制造工艺,使用SMIC公司O.18μm的标准单元库,因此在提高了速度的同时,能减少器件,该乘法器能在1个时钟内完成,不像采用流水线结构,虽然可以提高速度到105.38 MHz,但需3个时钟,需要大量锁存器,从而在增加器件的同时增加功耗,而且完成一次乘法运算时间要24.30 ns。因国内集成电路制造起步晚,目前中国80%的集成电路设计公司还在采用0.35/μm及以下工艺,国内同类乘法器,采用上华0.5 μm的标准单元库,完成1次乘法运算时间接近30 ns,逻辑单元是1 914个。但该设计完成1次乘法运算时间仅15.922 ns,器件只有494个Slices,性能明显提高。
4 结 语
给出了20×18位符号定点乘法器的设计,整个设计采用了Verilog HDL语言进行结构描述,采用的器件是xc2vp70-6ff1517。该设计采用基4 Booth编码,4-2压缩,以及采用SMIC0.18μm标准单元库,使得该乘法器面积降低的同时,延时也得到了减小,做到芯片性能和设计复杂度之间的良好折中,该设计应用于中国地面数字电视广播(DTMB)ASIC中3 780点FFT单元的20×18位符号定点乘法器,在60 MHz时工作良好,达到了预定的性能要求,具有一定的实用价值。
![](http://m.amcfsurvey.com/webstorage/images/2014/m/wx.png)
加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码