CN106940638A - 一种快速、低功耗和省面积的二进制原码加/减法运算单元的硬件架构 - Google Patents

一种快速、低功耗和省面积的二进制原码加/减法运算单元的硬件架构 Download PDF

Info

Publication number
CN106940638A
CN106940638A CN201710151784.1A CN201710151784A CN106940638A CN 106940638 A CN106940638 A CN 106940638A CN 201710151784 A CN201710151784 A CN 201710151784A CN 106940638 A CN106940638 A CN 106940638A
Authority
CN
China
Prior art keywords
plus
data selector
output
control signal
logic unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710151784.1A
Other languages
English (en)
Other versions
CN106940638B (zh
Inventor
王中风
周杨灿
林军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University
Original Assignee
Nanjing University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University filed Critical Nanjing University
Priority to CN201710151784.1A priority Critical patent/CN106940638B/zh
Publication of CN106940638A publication Critical patent/CN106940638A/zh
Application granted granted Critical
Publication of CN106940638B publication Critical patent/CN106940638B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Complex Calculations (AREA)

Abstract

本发明公开了一种新型的高速、低功耗、省面积的二进制有符号数的原码加/减运算单元的硬件架构。该架构有一个加/减控制信号,能够指示电路执行加法运算或减法运算。输入两个二进制有符号数的原码,在的加/减控制信号指示下,该硬件架构能够快速地计算出对应的两数的和或差,并仍然以原码的形式呈现。本发明主要包含了加法器,减法器,比较器,求补单元和数据选择器,接近并行化地计算出两数之和、差以及差的相反数,并根据两数的符号位、相对大小以及加/减控制信号的不同组合情况,迅速地从两数之和、差以及差的相反数三者中筛选出一个作为最终的结果。本发明通过优化计算方法,大大缩短了二进制原码加/减运算单元硬件架构的关键路径,并降低了功耗,减小了面积开销,使本发明具有广泛的运用前景。

Description

一种快速、低功耗和省面积的二进制原码加/减法运算单元的 硬件架构
技术领域
本发明涉及计算机及电子信息科学技术领域,特别涉及处理原码形式的二进制有符号数的加/减法运算单元的硬件架构。
背景技术
在现代数字集成电路中,最广泛使用的数制是二进制。二进制数可分为无符号二进制数和有符号二进制数。有符号二进制数可以用三种不同的形式予以表示,分别为原码表示法,反码表示法和补码表示法。
为了方便进行运算,数字系统中多采用补码来表示有符号二进制数。然而,在一些特定的场合,比如低密度奇偶校验码解码器和极化码解码器中,为了适应解码算法,降低设计与存储的复杂度,解码过程中所用到的有符号二进制数采经常用的是原码表示法。在进行加法或减法运算时,先要将有符号数的原码转化为补码,用补码进行加法或减法运算,得到和或差的补码形式,再将和或差的补码转化为原码形式。有符号数的原码与补码之间的转换方法如下:将原码按位取反,再加上1即可得补码;将补码按位取反,再加上1即可得原码。两次不同表示方法之间的转换大大增加了运算电路的功耗、延时以及面积开销。因此,设计快速、低功耗和省面积的高效二进制原码加/减法运算单元架构,对于提升前述采用原码表示法的数字系统之性能具有非常重大的意义。
发明内容
发明目的:本发明旨在解决传统的二进制原码加/减法运算电路因为两次原码与补码之间进行转换而引起的功耗大、速度慢、面积开销大的问题。
为了解决上述技术问题,本发明公开了一种新型的快速、低功耗和省面积的二进制原码加/减法运算单元架构。
为了便于阐述,定义两个原码形式的二进制有符号数A和B,用As、Bs分别表示A、B的符号,当A、B大于等于0时,As、Bs为0;当A、B小于0时,As,Bs为1。用Am、Bm分别表示A、B的绝对值大小。C为加/减运算控制信号。定义S为A与B的和/差,用Ss和Sm分别表示Sf的符号与绝对值大小。下文所涉及的所有符号均与此处的定义保持一致。
该架构从整体上来看,包含了:
1.一个加法器,其作用是计算Am+Bm
2.一个减法器,其作用是计算Am-Bm
3.一个比较器,其作用是比较Am和Bm的大小。
4.一个求补单元,其作用是将减法器的输出Am-Bm转换为对应的补码形式,即-(Am-Bm)。
5.三个数据选择器,分别编号为1、2、3,其中数据选择器1用于在恰当的输入地址下从减法器的输出和求补单元的输出中选择一个;数据选择器2用于在恰当的输入地址下从加法器的输出和数据选择器1的输出中选择一个作为Sm;数据选择器3用于在恰当的输入地址下从As和逻辑单元2的输出中选择一个作为Ss
6.两个逻辑单元,分别编号为1、2,其中逻辑单元1根据As、Bs、C的不同组合输出恰当的地址信号以控制数据选择器2从两个输入中选择出正确的一个作为Sm;逻辑单元2根据Bs、C的不同组合输出恰当的信号作为数据选择器3的输入之一。
本发明所公开的二进制有符号数原码加/减运算单元的硬件架构,同时利用加法器、减法器、比较器和求补单元,接近并行化地计算出Am+Bm、Am-Bm、-(Am-Bm)。因为A与B之和/差的绝对值必为这三者之一,通过A、B两数的相对大小,符号As、Bs以及加/减控制信号C的不同组合,产生恰当的地址信号输入到数据选择器,则能正确地选择出Sm和Ss
有益效果:本发明通过并行化地计算两数之和、差以及差的相反数,最后通过数据选择器筛选正确的结果,避免了传统的二进制原码加/减法运算单元所需要的两次原码与补码之间的形式转换,大大加快了运算速度,降低了能量消耗,节约了面积开销。本发明在现代收错码解码器中有着广泛的应用前景。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1是本发明的整体架构图。
具体实施方式
下面详细地描述本发明的实施例,所述实施例的示例在附图1中示出。原码表示的数A由两部分组成,分别为1比特的符号位As和一定比特位宽的绝对值部分Am。原码表示的数B由两部分组成,分别为1比特的符号位Bs和一定比特位宽的绝对值部分Bm。图1中C为1比特的加/减控制信号,当C指示执行加法运算时,电路执行A+B;当C批示执行减法运算时,电路执行A-B。Ss为1比特的A与B的和/差的符号位,Sm为A与B的和/差的绝对值部分,其比特位宽可由具体应用需求确定。
二进制有符号数在原码形式下相加的运算法则见表一;二进制有符号数在原码形式下相减的运算法则见表二。
表一:二进制原码相加的运算法则
表二:二进制原码相减的运算法则
加减控制信号C有两种状态,分别为0和1,可以用0表示执行加法运算,1表示执行减法运算;也可以用1表示执行加法运算,0表示执行减法运算。无论何种选择并不影响本发明的有效性。
图1中加法器计算出Am+Bm,减法器计算出Am-Bm,如果Am大于等于Bm,则Am-Bm为正,减法器输出的结果恰好为差的绝对值,为原码形式;如果Am小于Bm,则Am-Bm为负,减法器输出的结果为差的补码去除符号位剩余的部分,它再经过一个求补单元则可恢复成原码的形式,即求补单元计算出-(Am-Bm)。
本发明中需要一个比较器来比较Am与Bm的相对大小。如果Am大于等于Bm,则数据选择器1选择减法器的输出Am-Bm,否则选择求补单元的输出-(Am-Bm),总之,数据选择器1输出的一定是|Am-Bm|。
对于数据选择器2,结合表一和表二可以总结出如下规律:当信号C指示执行加法运算时,若As与Bs相同,则数据选择器2总是选择加法器的输出Am+Bm作为Sm;若As与Bs不相同,则数据选择器2总是选择数据选择器1的输出作为Sm。当信号C指示执行减法运算时,若As与Bs不同,则数据选择器2总是选择加法器的输出Am+Bm作为Sm,若As与Bs相同,则数据选择器2总是选择数据选择器1的输出作为Sm。根据As、Bs和C的不同组合,由逻辑单元1产生恰当的地址信号输入到数据选择器2中以进行筛选。
对于数据选择器3,结合表一与表二可总结出如下规律:当Am大于等于Bm时,它总是选择As作为Ss输出,否则它总是选择逻辑单元2的输出作为Ss。至于逻辑单元2,当信号C指示进行加法运算时,它输出Bs;当信号C指示减法运算时,它输出Bs的互补信号。

Claims (8)

1.一种新型的二进制原码加/减法运算单元的硬件架构,包括:加法器、减法器、比较器、求补单元、逻辑单元1、逻辑单元2、数据选择器1、数据选择器2、数据选择器3。
2.如权利要求1中所述的加法器、减法器和比较器,它们的输入均为两个原码形式的二进制有符号数的绝对值部分,并行地分别计算出两个二进制数的绝对值之和、差以及相对大小关系。加法器、减法器和比较器可以采用任意类型的结构。
3.如权利要求1中所述的求补单元,用于将减法器输出的两数绝对值之差进行求补码的运算。
4.如权利要求1中所述的数据选择器1,以比较器的输出结果作为地址信号,从求补单元的输出和减法器的输出中选择出一个作为数据选择器2的输入之一。
5.如权利要求1中所述的逻辑单元1,其输出有两种状态,作为数据选择器2的地址信号。其输入为两个原码形式的二进制有符号数的符号位和一个加/减控制信号。如下的四种输入组合中,(1)与(2)都使逻辑单元1输出一种地址信号,(3)与(4)都使逻辑单元1输出另一种地址信号:
(1)两符号位相同且加/减控制信号指示执行加法运算;
(2)两符号位相反且加/减控制信号指示执行减法运算;
(3)两符号位相同且加/减控制信号指示执行减法运算;
(4)两符号位相反且加/减控制信号指示执行加法运算。
6.如权利要求书中所述的数据选择器2,以逻辑单元1的输出作为地址信号,从加法器的输出与数据选择器的1的输出中选择一个作为两数之和/差的绝对值部分。
7.如权利要求1中所述的逻辑单元2,其输入为加数或减数的符号位和加/减控制信号,输出作为数据选择器3的输入之一。当加/减控制信号指示执行加法运算时,逻辑单元2将输入的符号位原样输出;当加/减控制信号指示执行减法运算时,逻辑单元2将输入的符号位取反后输出。
8.如权利要求1中所述的数据选择器3,以比较器的输出作为地址信号。从逻辑单元2的输出和被加数或被减数的符号位中选择一个作为两数之和/差的符号位。
CN201710151784.1A 2017-03-10 2017-03-10 一种二进制原码加减法运算单元的硬件架构 Active CN106940638B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710151784.1A CN106940638B (zh) 2017-03-10 2017-03-10 一种二进制原码加减法运算单元的硬件架构

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710151784.1A CN106940638B (zh) 2017-03-10 2017-03-10 一种二进制原码加减法运算单元的硬件架构

Publications (2)

Publication Number Publication Date
CN106940638A true CN106940638A (zh) 2017-07-11
CN106940638B CN106940638B (zh) 2020-04-24

Family

ID=59468804

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710151784.1A Active CN106940638B (zh) 2017-03-10 2017-03-10 一种二进制原码加减法运算单元的硬件架构

Country Status (1)

Country Link
CN (1) CN106940638B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110597483A (zh) * 2019-09-06 2019-12-20 中国科学院近代物理研究所 一种用于fpga比较器的全二进制数据高速比较方法及系统
CN111464189A (zh) * 2020-03-31 2020-07-28 卓尔智联(武汉)研究院有限公司 一种斐波那契进制译码装置、方法
CN112214200A (zh) * 2020-09-30 2021-01-12 合肥本源量子计算科技有限责任公司 一种量子减法运算方法、装置、电子装置及存储介质
CN112350716A (zh) * 2020-11-27 2021-02-09 中科院微电子研究所南京智能技术研究院 一种补码运算方法及装置、补码运算装置的运算方法
CN113961506A (zh) * 2021-10-19 2022-01-21 海飞科(南京)信息技术有限公司 加速器和电子装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101072036A (zh) * 2007-04-29 2007-11-14 浙江大学 支持多速率多码长的串行低密度奇偶校验码译码器
CN106301390A (zh) * 2016-08-11 2017-01-04 中国计量大学 LDPC/Turbo码双模译码器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101072036A (zh) * 2007-04-29 2007-11-14 浙江大学 支持多速率多码长的串行低密度奇偶校验码译码器
CN106301390A (zh) * 2016-08-11 2017-01-04 中国计量大学 LDPC/Turbo码双模译码器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ALEXANDRE J. RAYMOND: "Design and Hardware Implementation of Decoder Architectures for Polar Codes", 《DIGITOOL.LIBRARY.MCGILL.CA》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110597483A (zh) * 2019-09-06 2019-12-20 中国科学院近代物理研究所 一种用于fpga比较器的全二进制数据高速比较方法及系统
CN111464189A (zh) * 2020-03-31 2020-07-28 卓尔智联(武汉)研究院有限公司 一种斐波那契进制译码装置、方法
CN112214200A (zh) * 2020-09-30 2021-01-12 合肥本源量子计算科技有限责任公司 一种量子减法运算方法、装置、电子装置及存储介质
CN112214200B (zh) * 2020-09-30 2023-12-15 本源量子计算科技(合肥)股份有限公司 一种量子减法运算方法、装置、电子装置及存储介质
CN112350716A (zh) * 2020-11-27 2021-02-09 中科院微电子研究所南京智能技术研究院 一种补码运算方法及装置、补码运算装置的运算方法
CN112350716B (zh) * 2020-11-27 2023-08-04 中科南京智能技术研究院 一种补码运算方法及装置、补码运算装置的运算方法
CN113961506A (zh) * 2021-10-19 2022-01-21 海飞科(南京)信息技术有限公司 加速器和电子装置
WO2023065748A1 (zh) * 2021-10-19 2023-04-27 海飞科(南京)信息技术有限公司 加速器和电子装置
CN113961506B (zh) * 2021-10-19 2023-08-29 海飞科(南京)信息技术有限公司 加速器和电子装置

Also Published As

Publication number Publication date
CN106940638B (zh) 2020-04-24

Similar Documents

Publication Publication Date Title
TWI784980B (zh) 用於執行算術運算以累加浮點數的裝置及方法
CN106940638A (zh) 一种快速、低功耗和省面积的二进制原码加/减法运算单元的硬件架构
CN107305484B (zh) 一种非线性函数运算装置及方法
TWI525538B (zh) 超級乘加(super madd)指令技術
CN104011664A (zh) 使用三个标量项的超级乘加(超级madd)指令
CN105045560A (zh) 一种定点乘加运算方法和装置
CN106951211A (zh) 一种可重构定浮点通用乘法器
CN104025019A (zh) 用于执行双块绝对差求和的系统、装置和方法
CN101295237B (zh) 求商和余数的高速除法器
EP2435904B1 (en) Integer multiply and multiply-add operations with saturation
CN103279323B (zh) 一种加法器
CN101371221B (zh) 预饱和固定点乘法器
CN101986259B (zh) 无符号定点除法器
CN102253822B (zh) 一种模(2^n-3)乘法器
CN103092571B (zh) 支持多种数据类型的单指令多数据算术单元
CN106951212B (zh) 一种极化码解码器中f、g运算单元的硬件架构
JP2016045721A (ja) データ格納方法、三値内積演算回路、それを備えた半導体装置、及び、三値内積演算処理プログラム
US20200192633A1 (en) Arithmetic processing device and method of controlling arithmetic processing device
CN102073473A (zh) 基于fpga的十进制浮点乘法器设计
CN103699729A (zh) 模乘法器
CN102929575B (zh) 一种模(2n+3)乘法器
CN109960486B (zh) 二进制数据处理方法及其装置、介质和系统
Goswami et al. Design of a Stack Based Compressor for High Speed Computation
JP2009245407A (ja) 複素数の積和演算装置および積和演算方法
CN105844040B (zh) 一种支持多模式乘加器的数据运算方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant