CN112506472B - 一种基于冗余odds数的十进制4:2压缩器结构 - Google Patents

一种基于冗余odds数的十进制4:2压缩器结构 Download PDF

Info

Publication number
CN112506472B
CN112506472B CN202011319584.0A CN202011319584A CN112506472B CN 112506472 B CN112506472 B CN 112506472B CN 202011319584 A CN202011319584 A CN 202011319584A CN 112506472 B CN112506472 B CN 112506472B
Authority
CN
China
Prior art keywords
bit
binary
carry
weight
decimal
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.)
Active
Application number
CN202011319584.0A
Other languages
English (en)
Other versions
CN112506472A (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 of Aeronautics and Astronautics
Original Assignee
Nanjing University of Aeronautics and Astronautics
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 of Aeronautics and Astronautics filed Critical Nanjing University of Aeronautics and Astronautics
Priority to CN202011319584.0A priority Critical patent/CN112506472B/zh
Publication of CN112506472A publication Critical patent/CN112506472A/zh
Application granted granted Critical
Publication of CN112506472B publication Critical patent/CN112506472B/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/74Selecting or encoding within a word the position of one or more bits having a specified value, e.g. most or least significant one or zero detection, priority encoders

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公开了一种基于冗余ODDS数的十进制4:2压缩器结构,属于计算、推算或计数的技术领域,尤其涉及一种应用于高性能十进制乘法器的部分积压缩模块。该压缩器包括由4个二进制4:2压缩器构成的第一级压缩模块,由3个二进制3:2压缩器构成的第二级压缩模块和由编码转换方块构成的第三级压缩模块组成,采用分级压缩和无进位叠加拆分技术的压缩方法实现了ODDS操作数的4:2压缩,压缩比是2:1,其规整的压缩结构减少了十进制乘法运算***的复杂度,并提高了***的性能。

Description

一种基于冗余ODDS数的十进制4:2压缩器结构
技术领域
本发明公开了一种基于冗余ODDS(Overloaded Decimal Digit Set,超载十进制数集)数的十进制4:2压缩器结构,涉及数字***设计技术,涉及计算机算术运算单元的设计,属于计算、推算或计数的技术领域,尤其涉及一种应用于高性能十进制乘法器的部分积压缩模块。
背景技术
二进制算术运算被广泛应用于微处理器、数字信号处理器,但十进制小数计算普遍存在于计算机用户的各种运算当中,由于二进制与十进制的转换过程中不可避免地存在误差和舍入,无法满足商业计算、金融分析、税率计算、会计、保险等领域对十进制算术运算的精度要求,因此设计出高性能的十进制算术运算单元正在成为研究的热点。2008年发行的IEEE 754标准修订版本(IEEE754-2008)包括了十进制浮点运算单元(Decimal FloatPoint Unit,DFPU)的十进制64精度(16×16-digit,被乘数和乘数的字长d=16-digit)和128精度(34×34-digit,d=34-digit)格式和规范,目前,IBM面向工作站和服务器的Power6、Z系列的微处理器和富士通SparcX微处理器等已经嵌入了符合IEEE754-2008标准的十进制浮点算术运算硬件单元。针对IEEE754-2008标准,2019年IEEE给出了最新版的浮点算数草拟标准(IEEE754-2008标准的修订),该标准详细说明了二进制和十进制浮点算术的转换、算术格式和方法。十进制定点乘法器是最基础的十进制算术运算单元,采用硬件实现高性能十进制乘法器受到越来越多的关注。
ODDS数具有以下两个特点:(1)冗余ODDS数的数值范围为[0,15],代表的十进制数制范围更广;(2)ODDS编码遵循二进制数的表示形式,一些二进制算术运算的规则在ODDS编码***中同样适用,因此在十进制算术运算单元中采用ODDS编码可提高运算效率。
十进制乘法运算包括部分积产生、部分积压缩树和最终积产生三个部分,其中,十进制部分积压缩树在整个十进制乘法器结构中规模最大、耗时最多,因此构建出高性能的十进制压缩器对十进制乘法器的设计至关重要。目前性能最佳的部分积产生电路包括:(a)基于BCD-4221/5211编码的部分积产生电路;(b)基于ODDS编码的部分积产生电路。基于BCD-4221编码的部分积阵列产生电路在产生难倍数3X(X为十进制乘法运算的被乘数)时,需通过十进制加法器将X和2X相加,十进制加法器存在长进位链问题。基于ODDS编码的部分积阵列产生电路不存在长进位链的问题,因此速度较快,因此,本申请旨在设计一种基于冗余ODDS数的十进制4:2压缩器,即一个十进制4:2压缩器能够将4个ODDS操作数压缩至2个,以解决目前通过2个2:1ODDS压缩器实现的4:2压缩器结构高复杂度的技术问题。
发明内容
本发明的发明目的是针对上述背景技术的不足,提供了一种基于冗余ODDS数的十进制4:2压缩器结构,实现了结构简单和规则的基于冗余ODDS数的十进制4:2压缩器的算法和电路,采用分级压缩和拆分技术解决了4:2十进制压缩器的无进位叠加进位传递的技术问题。
本发明为实现上述发明目的采用如下技术方案:
本发明提出的十进制4:2压缩器通常用于ODDS部分积压缩树的设计中,该电路结构由3级压缩构成:由4个二进制4:2压缩器和一个+6转换电路构成的第一级压缩模块,由三个二进制3:2压缩器构成的第二级压缩模块以及由编码转换方块构成的第三级压缩模块,可以将4个ODDS操作数压缩至2个ODDS数。
设4个ODDS操作数分别为 和/>
在第一级压缩模块,第一二进制4:2压缩器将第i-1字十进制ODDS压缩器进位输入压缩至一个位和/>一个进位/>一个内部进位,其位权分别为1、2和2;第二二进制4:2压缩器将前一位的内部进位、/>压缩至一个位和/>以及一个进位/>一个内部进位,其位权分别为2、4和4;第三二进制4:2压缩器将前一位的内部进位、/> 压缩至一个位和/>以及一个进位/>一个内部进位,其位权分别为4、8和8;第四二进制4:2压缩器将前一位的内部进位、/>压缩至一个位和/>以及一个进位/>一个内部进位/>其位权分别为8、16和16。进位/>的位权为16,将其拆分为位权为10的/>以及位权为6的/>使得/>其中,被传递至第i+1字。内部进位/>的位权为16,将其拆分为位权为10的/>以及位权为6的/>使得/> 其中,/>被传递至第i+1字。+6转换电路通过一个2输入与门、一个2输入异或门、一个2输入或门构成的转换电路得到/>和/>
在第二级压缩模块,第一二进制3:2压缩器将和/>压缩至一个位和/>一个进位/>其位权分别为1和2;第二二进制3:2压缩器将/>和/>压缩至一个位和/>一个进位/>其位权分别为2和4;第三二进制3:2压缩器将/>和/>压缩至一个位和/>一个进位/>其位权分别为4和8。
在第三级压缩模块,将第二级压缩模块的压缩结果拆分为两组,第一组包括第二组包括/>其拆分原则是:将相对快速产生的/>放入需要进行编码转换的模块中,该模块是数值范围∈[0,22],第一组直接产生一个ODDS数,第二组偶数值变量集合转换为位权是8,4,2和进位(位权为10)的变量集合,进位可以传递到高一十进制位的最低位而无需和高位本位和进行叠加,因此可以构建一个无进位叠加的十进制4:2压缩器。
第三级压缩模块拆分第二级压缩结果得到位权是8、4、2、1的 直接作为第一ODDS数输出。
编码转换方块中将转换至/>和一个位权为10的进位和低一位的进位/>构成第二ODDS数输出。
编码转换方块包含三个反相器、两个2输入与门、一个2输入与非门、三个2输入异或门、一个2输入或门和一个3输入或门,编码转换方块将转换为第二ODDS数的高三位/>以及一个位权为10的进位/>高三位和(i-1)字的进位/>构成第二ODDS数/>编码转换电路的逻辑表达式如下:
本发明采用上述技术方案,具有以下有益效果:
(1)本发明提供了一种基于冗余ODDS数的十进制4:2压缩器结构,该电路结构由3级压缩构成:由4个二进制4:2压缩器和一个+6转换电路构成的第一级压缩模块,由3个二进制3:2压缩器构成的第二级压缩模块以及由编码转换方块构成的第三级压缩模块,第二级压缩模块的压缩结果输出拆分为2项,其中,1项为第一ODDS数,另一项由第二压缩模块产生相对较快的数据组成,通过对另一项数据进行编码转换得到第二ODDS数,产生第二ODDS数的过程中传递十进制进位数据至高一位作为最低位数据,免去了和高位本位和进行叠加的运算,进而实现了4:2十进制压缩器的无进位叠加进位传递。
(2)本申请通过一个遵循十进制数的十进制4:2压缩器将4个ODDS操作数压缩至2个ODDS数,因此可以运用于十进制乘法运算的部分积压缩树中,无需设计额外的纠错模块。
(3)本发明采用的分级压缩和无进位叠加的拆分技术可以构建结构简单规整的压缩器以及由大量压缩器单元模块构成的压缩树,易于大规模集成电路的实现,有效地简化十进制乘法运算***的结构并且降低***的延时。
附图说明
图1为基于冗余ODDS数的十进制4:2压缩器的结构图。
图2为第i字编码转换方块的电路图。
图中标号说明:XOR-1至XOR-3为第一至第三异或门,AND-1和AND-2为第一、第二与门,NOT-1至NOT-3为第一至第三反相器,NAND-1为与非门,OR2-1为二输入或门,OR3-1为三输入或门。
具体实施方式
下面结合附图对发明的技术方案进行详细说明。
十进制乘法器包括部分积产生、部分积压缩和最终积产生三个部分。本发明提出的基于冗余ODDS数的十进制4:2压缩器可用于对ODDS数的十进制部分积阵列进行压缩,通常用于ODDS部分积压缩树的设计中。
本申请公开的十进制4:2压缩器如图1所示,该电路结构由3级压缩模块构成,包括:由4个二进制4:2压缩器和一个+6转换电路构成的第一级压缩模块,由3个二进制3:2压缩器构成的第二级压缩模块以及由编码转换方块构成的第三级压缩模块,可以将4个ODDS操作数压缩至2个ODDS数。
图1中:S0i、S1i、S2i、S3i为第i字十进制4:2压缩器的4个ODDS编码的输入操作数,和/>4个二进制4:2压缩器分别对这4个操作数进行按位压缩,产生4个二进制位和/>以及4个二进制进位/>和/>4个二进制位和的位权分别为8、4、2和1,4个进位的位权分别为16、8、4和2。将位权为16的二进制进位/>拆分为/>和/>其中,/>的位权为6,的位权为10,/>被传递至第i+1字;将位权为16的二进制进位/>拆分为/>和/>其中,/>的位权为6,/>的位权为10,/>被传递至第i+1字。将/>和/>通过+6转换电路转换为/>和/>被传递至第i+1字,其逻辑表达式如下所示:
4个二进制4:2压缩器的压缩结果为和/>以及/>和/>用三个二进制3:2压缩器分别将/>以及/>压缩为和/>以及进位/>其中,/> 构成第一ODDS数,编码转换方块将/>转换为第二ODDS数Di/>
二进制4:2压缩器通过4个异或门,两个数据选择器将二进制数a,b,c,d,Cin压缩为一个和Sum和两个进位Cout1、Cout2,位权分别是1,2,2,其中Sum和Cout2是压缩结果,Cout1是内部进位(被传递至高一位的Cin),其逻辑表达式如下所示:
图2中:为第i字编码转换方块的4个输入操作数,位权分别为8、8、4、2。第i字编码转换方块的电路由三个反相器、三个2输入与门、三个2输入异或门、一个2输入或门和一个3输入或门构成。第i字编码转换方块的输出是一个ODDS操作数第二反相器NOT-1的输入端输入/>第三反相器NOT-3的输入端输入第一与门AND-1的两个输入端输入/>第一异或门XOR-1的两个输入端输入第二与门AND-2的两个输入端输入/>三输入或门OR3-1的三个输入端分别接第一与门AND-1的输出端、第一异或门XOR-1的输出端、第二与门AND-2的输出端,三输入或门OR3-1输出/>与非门NAND-1的两个输入端输入/>第一反相器NOT-1的输入端接与非门NAND-1的输出端,第一反相器NOT-1输出/>二输入或门OR2-1的一个输入端输入/>另一个输入端接与非门NAND-1的输出端;第二异或门XOR-2的一个输入端接第二反相器NOT-2的输出端,另一个输入端接二输入或门OR2-1的输出端,第二异或门XOR-2输出/>第三异或门XOR-3的一个输入端接与非门NAND-1的输出端,另一个输入端接第三反相器NOT-3的输出端,第三异或门XOR-3输出/>
设4个ODDS操作数分别为 和/>
在第一级压缩模块,第一二进制4:2压缩器将第i-1字十进制ODDS压缩器进位输入和/>压缩至一个位和/>一个进位/>和一个内部进位,其位权分别为1、2和2;第二二进制4:2压缩器将前一位的内部进位、/>和/>压缩至一个位和/>一个进位/>和一个内部进位,其位权分别为2、4和4;第三二进制4:2压缩器将前一位的内部进位、/>和/>压缩至一个位和/>一个进位/>和一个内部进位,其位权分别为4、8和8;第四二进制4:2压缩器将前一位的内部进位、/>和/>压缩至一个位和/>一个进位/>和一个内部进位/>其位权分别为8、16和16。进位/>的位权为16,将其拆分为位权为10的/>以及位权为6的/>使得/> 其中,/>被传递至第i+1字。内部进位/>的位权为16,将其拆分为位权为10的/>以及位权为6的/>使得/>其中,/>被传递至第i+1字。4个二进制4:2压缩器的压缩结果是/> 和/>以及/>和/>在第二级压缩模块,用三个二进制3:2压缩器分别将/>以及/>压缩为和以及进位/>在第三级压缩模块,其中,/>构成第一ODDS数,/>经编码转换方块得到第二ODDS数/>
第i字编码转换方块由三个反相器、两个2输入与门,一个2输入与非门、一个3输入或门、三个2输入异或门、一个2输入或门的编码转换方块实现,第i字编码转换方块将转换为第二ODDS数的高三位/>以及一个位权为10的进位/>高三位和第i-1字的进位/>构成第二ODDS数/>第i字编码转换方块A的逻辑表达式如下:
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (4)

1.一种基于冗余ODDS数的十进制4:2压缩器结构,其特征在于,包括:
第一级压缩模块,对四个ODDS数进行4:2的按位压缩得到位权为8、4、2、1的二进制位和、位权为16、8、4、2的二进制进位以及一个位权为16的内部进位,将两个位权为16的二进制进位拆分为两个位权为6的十进制本位以及两个位权为10的十进制进位,对两个位权为6的十进制本位进行+6转换操作得到位权为10的修正进位以及位权为4和2的修正位和;
第二级压缩模块,对第一级压缩模块得到的位权为4、2、1的二进制位和组成的操作数,位权为4的二进制进位、位权为2的二进制进位、从低一十进制位传递来的二进制进位组成的操作数,位权为4的修正位和、位权为2的修正位和、从低一十进制位传递来的修正进位组成的操作数,进行3:2的按位压缩得到位权为4、2、1的二进制位和以及位权为8、4、2的二进制进位;及,
第三级压缩模块,以第二压缩模块得到的位权为8的二进制进位、位权为4的二进制位和、位权为2的二进制位和、位权为1的二进制位和组成的编码为第一ODDS数,对第一压缩模块得到的位权为8的二进制位和、第一压缩模块得到的位权为8的二进制进位、第二压缩模块得到的位权为4的二进制进位、第二压缩模块得到的位权为2的二进制进位组成的编码进行BCD8421编码转换得到第二ODDS数。
2.根据权利要求1所述一种基于冗余ODDS数的十进制4:2压缩器结构,其特征在于,所述第一级压缩模块包括四个二进制4:2压缩器,第一二进制4:2压缩器将从低一十进制位传递来的十进制进位、各ODDS数位权为1的数据压缩为位权为1的位和、位权为2的进位、位权为2的内部进位,第二进制4:2压缩器将低一位的内部进位、各ODDS数位权为2的数据压缩为位权为2的位和、位权为4的进位、位权为4的内部进位,第三二进制4:2压缩器将低一位的内部进位、各ODDS数位权为4的数据压缩为位权为4的位和、位权为8的进位、位权为8的内部进位,第四二进制4:2压缩器将低一位的内部进位、各ODDS数位权为8的数据压缩为位权为8的位和、位权为16的进位、位权为16的内部进位。
3.根据权利要求1所述一种基于冗余ODDS数的十进制4:2压缩器结构,其特征在于,对两个位权为6的十进制本位进行+6转换操作,具体为:
为对第i十进制位经第一级压缩得到位权为16的内部进位进行拆分后得到的位权为6的十进制本位,/>为对第i十进制位经第一级压缩得到位权为16的二进制进位进行拆分后得到的位权为6的十进制本位,/>为对第i十进制位经第一级压缩得到的两个位权为6的十进制本位进行+6转换操作得到的位权为10的修正进位以及位权为4和2的修正位和。
4.根据权利要求1所述一种基于冗余ODDS数的十进制4:2压缩器结构,其特征在于,所述BCD8421编码转换通过编码转换电路实现,所述编码转换电路包括:
第二反相器,其输入端输入第二级压缩模块得到的位权为4的二进制进位;
第三反相器,其输入端输入第二级压缩模块得到的位权为2的二进制进位;
第一与门,其两个输入端分别输入第一级压缩模块得到的位权为8的二进制进位、第二级压缩模块得到的位权为4的二进制进位;
第一异或门,其两个输入端分别输入第一级压缩模块得到的位权为8的二进制位和、第一级压缩模块得到的位权为8的二进制进位;
第二与门,其两个输入端分别输入第一级压缩模块得到的位权为8的二进制进位、第二级压缩模块得到的位权为2的二进制进位;
三输入或门,其三个输入端分别接第一与门的输出端、第一异或门的输出端、第二与门的输出端,输出第二ODDS数位权为8的数据;
与非门,其两个输入端分别输入第一级压缩模块得到的位权为8的二进制位和、第一级压缩模块得到的位权为8的二进制进位;
第一反相器,其输入端接与非门的输出端,输出产生第二ODDS数时传递至高一十进制位的进位;
二输入或门,其一个输入端输入第二级压缩模块得到的位权为2的进位,其另一个输入端接与非门的输出端;
第二异或门,其一个输入端接第二反相器的输出端,其另一个输入端接二输入或门的输出端,输出第二ODDS数位权为4的数据;及,
第三异或门,其一个输入端接与非门的输出端,其另一个输入端接第三反相器的输出端,输出第二ODDS数位权为2的数据。
CN202011319584.0A 2020-11-23 2020-11-23 一种基于冗余odds数的十进制4:2压缩器结构 Active CN112506472B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011319584.0A CN112506472B (zh) 2020-11-23 2020-11-23 一种基于冗余odds数的十进制4:2压缩器结构

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011319584.0A CN112506472B (zh) 2020-11-23 2020-11-23 一种基于冗余odds数的十进制4:2压缩器结构

Publications (2)

Publication Number Publication Date
CN112506472A CN112506472A (zh) 2021-03-16
CN112506472B true CN112506472B (zh) 2024-04-02

Family

ID=74959405

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011319584.0A Active CN112506472B (zh) 2020-11-23 2020-11-23 一种基于冗余odds数的十进制4:2压缩器结构

Country Status (1)

Country Link
CN (1) CN112506472B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113296739B (zh) * 2021-05-19 2024-04-02 南京航空航天大学 一种基于冗余odds数的十进制6:3压缩器结构

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107423023A (zh) * 2017-08-10 2017-12-01 南京航空航天大学 一种16×16‑digit冗余十进制乘法器
CN109144473A (zh) * 2018-07-19 2019-01-04 南京航空航天大学 一种基于冗余odds数的十进制3:2压缩器结构
CN111221499A (zh) * 2019-11-18 2020-06-02 合肥工业大学 基于近似6-2和4-2压缩器的近似乘法器及计算方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107423023A (zh) * 2017-08-10 2017-12-01 南京航空航天大学 一种16×16‑digit冗余十进制乘法器
CN109144473A (zh) * 2018-07-19 2019-01-04 南京航空航天大学 一种基于冗余odds数的十进制3:2压缩器结构
CN111221499A (zh) * 2019-11-18 2020-06-02 合肥工业大学 基于近似6-2和4-2压缩器的近似乘法器及计算方法

Also Published As

Publication number Publication date
CN112506472A (zh) 2021-03-16

Similar Documents

Publication Publication Date Title
Trivedi et al. On-line algorithms for division and multiplication
CN109144473B (zh) 一种基于冗余odds数的十进制3:2压缩器结构
CN114647399B (zh) 一种低能耗高精度近似并行定宽乘法累加装置
CN107423023B (zh) 一种16×16-digit冗余十进制乘法器
CN112506472B (zh) 一种基于冗余odds数的十进制4:2压缩器结构
CN116400883A (zh) 一种可切换精度的浮点乘加器
Zhu et al. Design of approximate radix-256 booth encoding for error-tolerant computing
CN110825346B (zh) 一种低逻辑复杂度的无符号近似乘法器
Sano et al. Segment-parallel predictor for FPGA-based hardware compressor and decompressor of floating-point data streams to enhance memory I/O bandwidth
CN113296739B (zh) 一种基于冗余odds数的十进制6:3压缩器结构
US7739323B2 (en) Systems, methods and computer program products for providing a combined moduli-9 and 3 residue generator
Ping-hua et al. High-speed parallel 32× 32-b multiplier using a radix-16 Booth encoder
Stepchenkov et al. Self-timed multiply-add-subtract unit alternates
CN113014265B (zh) 一种基于树状压缩的二进制至十进制数转换器
Thabah et al. Reducing Quantum Cost for Reversible Realization of Densely-packed-decimal Converters
US20060277242A1 (en) Combining circuitry
CN112926287B (zh) 一种基于树状压缩的十进制至二进制数转换器
CN108829649B (zh) 基于hbase键值索引的复杂类型编码序列化算法的实现方法
Zhu et al. On high-performance parallel decimal fixed-point multiplier designs
Dorrigiv The IEEE 754-2019 Compatibility of the Binary Coded Chiliad (BCC) Encoding
CN116126283B (zh) 一种fpga卷积加速器的资源占用率优化方法
Beura et al. On The Implementation of Densely Packed Decimal Number System based Adder: Prospects and Challenges.
Ndjountche Digital electronics 1: Combinational logic circuits
Großschadl A unified radix-4 partial product generator for integers and binary polynomials
Samuel et al. A novel floating point comparator using parallel tree structure

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