微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 参数化可配置IP核浮点运算器的设计与实现

参数化可配置IP核浮点运算器的设计与实现

时间:07-04 来源:互联网 点击:

从式(2)可以看出,与完全的行波进位加法器的延迟2nΔG相比,采用BCLA方法设计的加法器的延迟理论上只有其1/4,性能得到了很大的提升。
2.1.2 分块超前进位加法器设计
根据IEEE-754标准的浮点加/减法的基本原理[5],对于两个浮点数的加/减法,可将其分解为8个步骤:符号运算、指数运算、尾数移位、尾数运算、规格化、指数调整、舍入、封装。然后根据这8个步骤,对浮点加/减法进行运算的细化。在细化流程的基础上,把尾数对位划分为对阶和移位,在符号运算电路中加入加减法操作的信号,根据IEEE-754标准的浮点格式的限制及异常处理,划分浮点数的加/减法运算电路的功能模块。图4为分块超前进位加法器的功能模块。

为了使基于VHDL设计的参数化IP核开发流程明确、设计目标清晰,需要在进行VHDL描述之前对浮点加法器的参数的提取进行研究,分析出可提取参数和可实现的参数。在浮点运算器中对参数的配置主要要求是:
(1) 各参数之间的耦合度应该比较小;
(2) 可进行参数配置的模块,能够显著改变浮点运算器的性能、面积、功耗等;
(3) 参数化应该比较容易实现。
2.2参数化浮点乘法器设计
浮点乘法在浮点运算器中的使用比例仅次于浮点加/减法,因此也是非常关键的浮点运算部件之一。按照IEEE-754标准,浮点运算被分为符号位运算、指数运算、尾数相乘三个步骤,从20世纪60年代至今,已经提出了许多种定点乘法运算单元的实现方法。各种乘法器运算方式都是先将乘法转换为加法,再通过快速求和的方法来得到最终的计算结果。本文采用的是适用于参数化浮点运算器设计的Booth算法。
(1)为解决有符号数乘法运算中复杂的符号修正问题,Booth提出了一种针对乘数进行编码的Booth编码。Booth编码在乘数最低位增加一个零值,在循环求部分积时,每次取乘数的相邻两位(基-4)进行判断,依据这两位的值,判断其部分积是被乘数的一倍或是两倍[6]。
  Booth编码乘法运算可分三步进行:①产生部分积;②加法阵列累加部分积;③应用加法器求得最终结果。
采用Booth编码设计的乘法器原理如图5所示。

(2)根据IEEE-754标准的浮点乘法的基本原理,对于两个浮点数的乘法,可将其分解为7个步骤[7]:符号运算、指数运算、尾数移位、尾数运算、规格化、指数调整、舍入。根据这7个步骤,对浮点加/减法进行运算的细化, 在细化流程的基础上,根据IEEE-754标准的浮点格式的限制及异常处理,划分浮点数乘法运算电路的功能模块。图6是浮点乘法器的功能模块设计。

3 综合与仿真
3.1综合

综合是使用指定的元件,通过综合工具将一个设计从硬件描述(VHDL)转变为一个电路的过程,是VHDL在数字设计中不可缺少的一步[8]。而综合工具可大大缩短数字系统的设计周期,设计人员只需在高层对系统进行综合,可大大提高设计效率,缩减系统开发时间。
依据在参数化浮点加法器和浮点乘法器的参数配置,设定参数wE=8,wM=23,分别采用RCA和BCLA配置,使用Xilinx ISE 10.1 在VirtexE XCV400E上分别综合一个单精度浮点加法器,综合结果如表2所示。

设定参数wE=8,wM=23,分别采用默认的方式和Booth配置综合一个单精度浮点乘法器综合结果如表3所示。

3.2 仿真
  仿真验证是保证一个项目设计成功的重要方法。IP核的设计过程中,利用可编程逻辑器件进行电路验证,对保证设计的正确性和投片成功十分重要。
依据仿真的基本方法,依照自底向上的仿真流程,在ModelSimPE环境下,对各模块进行仿真验证。图7~图9给出了仿真验证的实例。其中,RCA模块采用wM参数赋值8 bit,综合成一个8 bit行波进位加法器,进行独立的仿真验证;Booth模块采用wM参数赋值8,综合成一个8×8位乘法器,进行独立的仿真验证。

本文对参数化IP核、浮点运算器设计的相关技术以及参数化在浮点运算器设计中的应用,作了比较深入的研究。给出了参数化IP核的设计方案和设计流程。依照IEEE-754标准,分析了浮点加/减法、乘法的基本原理,并细化设计了适合参数化的浮点运算器流程;最后在Xilinx ISE 10.1和Modelsim 6.6a平台上进行了综合与仿真。
参考文献
[1] Liu Zhusong. A novel fourth-order chaotic circuit and its implementation[C]. 9th International Conference for Young Computer Scientists, 2008:3045-3050.
[2] 周武杰,禹思敏. 基于现场可编程门阵列技术的混沌数字通信系统——设计与实现[J]. 物理学报, 2009,58(1).
[3] Zhao Junchao, Chen Weiliang, WEI Shao Jun. Parameterized IP core design[C]. Proceedings:4th International Conference on, 2001:744-747.
[4] 徐晨,袁红林.基于VerilogHDL的IP核参数化设计[J]. 微电子学与计算机,2005,12(1): 85-88.
[5] 陈弦, 张伟功, 于伦正.并行浮点加法器架构与核心算法的研究[J].计算机工程与应用, 2006,17(1):53-55,75.
[6] Chen Pinghua, Zhao Juan. High-speed parallel 32×32-b multiplier using a radix-16 booth encoder[C]. Third International Symposium on Intelligent Information Technology Application Workshops, 2009: 406-409.
[7] 周德金, 孙锋, 于宗光. 一种32位高速浮点乘法器设计[J]. 电子与封装, 2008, 65(1): 35-38.
[8] 江思敏. VHDL数字电路及系统设计[M]. 北京:机械工业出版社, 2006.

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top