首页 > 技术 > 内容

基于EPF10K100EQ 240-132和Booth编码实现位浮点阵列乘法器的设计

时间:2025-12-24  作者:Diven  阅读:0

作者:胡侨娟;仲顺安;陈越洋;党华

随着计算机和信息技术的快速发展, 人们对微处理器的性能要求越来越高。乘法器完成一次乘法操作的周期基本上决定了微处理器的主频, 因此高性能的乘法器是现代微处理器中的重要部件。本文介绍了32 位浮点阵列乘法器的设计, 采用了改进的Booth 编码, 和Wallace树结构, 在减少部分积的 使系统具有高速度, 低功耗的特点, 并且结构规则, 易于VLSI的实现。

1乘法计算公式

32 位乘法器的逻辑设计可分为: Booth编码与部分积的产生, 保留进位加法器的逻辑, 乘法阵列的结构。

1.1Booth编码与部分积的逻辑设计

尾数的乘法部分,本文采用的是基4 Booth编码方式, 如表1。首先规定Am和Bm表示数据A和B的实际尾数,P 表示尾数的乘积, PPn表示尾数的部分积。浮点32 位数, 尾数是带隐含位1 的规格化数, 即: Am =1×a22a21….a0和Bm = 1 ×b22b21.…b0, 由于尾数全由原码表示,相当于无符号数相乘, 24 × 24 位尾数乘积P 的公式为:

1.2乘法器的阵列结构

本文采用的是3 -2 加法器, 输入3 个1 位数据: a, b,ci; 输出2 个1 位数据: s, Co。运算式如下:

其逻辑表达式如下:

当每个部分积PPn 产生之后, 将相加便得到每个乘法操作的结果。相加的步骤有很多, 可采用的结构和加法器的种类也很多。比如串行累加:

而Wallace 树的乘法阵列如下:

加法器之间的连接关系如图1, 图2 所示, 或者从公式(7) 与(8) 中可以看出, 图1中串行累加的方法延迟为11个3-2 加法器的延迟, 而图2中, Wallace树延迟为5个3 -2加法器的延迟。图1的延迟比图2的延迟大。

图1串行累加 图2Wallace 树

232 位浮点乘法器的设计

本文是针对IEEE754 单精度浮点数据格式进行的浮点乘法器设计。IEEE754 单精度浮点格为32位, 如图3 所示。设A ,B均为单精度IEEE754格式, 符号位, 有效数的偏移码和尾数部分分别用S , E 和M来表示。双精度和单精度采用的运算规则是一致的, 只是双精度的位长增加了一倍, 双精度是64位, 其中尾数52位, 指数11位, 1位符号位。所以提高了精度范围。

图332 位浮点数据格式

32 位浮点数据格式: A = (- 1) S ×M ×2E-127。其中乘法器运算操作分4步进行。

(1) 确定结果的符号, 对A 和B 的符号位做异或操作。

(2) 计算阶码, 两数相乘, 结果的阶码是两数的阶码相加, 由于A 和B 都是偏移码, 因此需要从中减去偏移码值127,得到A 和B 的实际阶码, 然后相加, 得到的是结果的阶码, 再把加上127, 变成偏移码。

(3) 尾数相乘,A 和B 的实际尾数分别为24位数, 即1×Ma 和1×Mb, 最高位1是隐藏位, 浮点数据格式只显示后23位, 所以尾数相乘结果应为一个48位的数据。

(4) 尾数规格化, 需要把尾数相乘的48位结果数据变成24 位的数据, 分3步进行:

① 如果乘积的整数位为01, 则尾数已经是规格化了;如果乘积的整数位为10, 11, 则需要把尾数右移1位, 同时把结果阶码加1。

② 对尾数进行舍入操作, 使尾数为24位, 包括整数的隐藏位。

③ 把结果数据处理为32位符合IEEE浮点数标准的结果。包括1位符号位, 8位结果阶码位, 结果23尾数位。

332 位浮点乘法器的实现与仿真

图4 列出本设计的FPGA 仿真结果。图中data1是被乘数, data2是乘数, reset是清零信号, 高有效。start 是开始信号, 也是高有效。dataout10是两个浮点32 位数相乘, 进行规格化以后的结果, 是一个32 位数。Product 是24位尾数相乘的结果, 是一个48位数。

图432 位浮点乘法器的仿真结果

整个设计采用了VHDL和Verilog HDL语言进行结构描述, 如果采用的是上华0.5 的标准单元库, 并用Synopsys DC 进行逻辑综合, 其结果是完成一次32位浮点乘法的时间为30ns, 如果采用全定制进行后端版图布局布线, 乘法器性能将更加优越。

4结语

本文给出了32 位浮点乘法器的设计, 浮点算法具有高精度性以及较宽的运算范围, 使得乘法的设计更能够满足工程和科学计算的要求, 电路的设计、模拟和实现均采用Altera Quartus II 4.1开发工具。采用的器件EPF10K100EQ 240-1, 逻辑单元是1914个, PIN的数量是147,本设计采用了一系列的算法和结构, 如采用Booth编码的方法和Wallace树的结构, 使得系统具有高速度特点, 并且易于ASIC的后端版图实现。

猜您喜欢


电子电路设计中,电流取样电阻(Shunt Resistor)常用于测量电流的大小。许多工程师在选择电流取样电阻时,往往会产生一个疑问:电流取样电阻是不是越小越好...
2025-04-15 03:31:08
电脑突然断电,重启后电源状态监控器提示供电中断?面对这种情况,很多人都感到手足无措。别担心,这篇文章将为你详细讲解电源状态监控器显示供电中断的原因和解决方法,帮...
2024-01-10 00:00:00
雪崩二极管是特殊的半导体器件,应用于电子学和光电探测领域。工作原理主要基于雪崩效应,其中碰撞电离和雪崩倍增是两个关键机制。本文将深入探讨这两个概念,并分析在雪崩...
2025-04-08 13:31:39
日常生活和工业应用中,ACDC电源模块是很重要的配件。ACDC电源模块是一种将交流电(AC)转换为直流电(DC)的设备,应用于许多不同的电子和电气设备中。对于普...
2024-09-08 00:00:00
超级电容器是新型的能量存储设备,因其独特的性能而受到关注。超级电容器具有极高的充放电速率,能够在几秒钟内完成充电和放电,远超传统电池。这使得在需要快速能量释放的...
2012-01-30 00:00:00
升功率电阻作为电子元件中的重要组成部分,在电路设计和应用中有着着关键作用。作为全球知名的电子品牌,Panasonic(松下)在升功率电阻领域具有丰富的产品线和技...
2015-09-07 22:47:25
电子设备和电气系统中,保险丝作为重要的保护元件,能够有效防止电路过载和短路,保障设备安全运行。选择合适的保险丝型号和规格对于电路设计和维护非常重要。本文将围绕“...
2025-11-08 18:00:10
智能功率模块(IPM)是集成化的功率电子器件,应用于电动机驱动、变频器和电源管理等领域。其主要优势体现在以下几个方面:IPM具有高度集成性,内部集成了功率器件、...
2014-07-02 00:00:00
发光二极管(LED)是应用于照明和显示技术的半导体器件,但在日常交流中,很多人对“发光二极管”和“LED”这两个术语并不清楚其区别。实际上,发光二极管是LED的...
2009-04-28 00:00:00