CN113014265B - 一种基于树状压缩的二进制至十进制数转换器 - Google Patents
一种基于树状压缩的二进制至十进制数转换器 Download PDFInfo
- Publication number
- CN113014265B CN113014265B CN202110198212.5A CN202110198212A CN113014265B CN 113014265 B CN113014265 B CN 113014265B CN 202110198212 A CN202110198212 A CN 202110198212A CN 113014265 B CN113014265 B CN 113014265B
- Authority
- CN
- China
- Prior art keywords
- array
- digit
- column
- row
- bit
- 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
Links
- 238000007906 compression Methods 0.000 title claims abstract description 71
- 230000006835 compression Effects 0.000 title claims abstract description 69
- 238000006243 chemical reaction Methods 0.000 claims abstract description 21
- 238000000034 method Methods 0.000 claims abstract description 15
- 238000000354 decomposition reaction Methods 0.000 claims 1
- 238000004364 calculation method Methods 0.000 abstract description 6
- 238000003491 array Methods 0.000 description 6
- 230000006978 adaptation Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/02—Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word
- H03M7/06—Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word the radix thereof being a positive integer different from two
- H03M7/08—Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word the radix thereof being a positive integer different from two the radix being ten, i.e. pure decimal code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/491—Computations with decimal numbers radix 12 or 20.
- G06F7/4912—Adding; Subtracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/50—Adding; Subtracting
- G06F7/501—Half or full adders, i.e. basic adder cells for one denomination
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/50—Adding; Subtracting
- G06F7/501—Half or full adders, i.e. basic adder cells for one denomination
- G06F7/502—Half adders; Full adders consisting of two cascaded half adders
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/02—Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种基于树状压缩的二进制至十进制数转换器,属于计算、推算或计数的技术领域。该转换器包括十进制数阵列产生模块,十进制数阵列压缩模块和最终BCD转换三个模块。本发明首次提出基于树状压缩和转换的并行方式将任意位二进制数转换为BCD‑8421十进制数。本发明以16‑bit二进制数输入为例,基于多载十进制数字集产生十进制数阵列,中间变量采用ODDS编码,可以有效地提高转换速度并降低电路的复杂度。本发明方法也同样适用于其它十进制数编码方案。
Description
技术领域
本发明公开了一种基于树状压缩的二进制至十进制数转换器,涉及数字系统设计技术,尤其涉及一种任意位二进制至十进制数快速转换的方法,属于计算、推算或计数的技术领域。
背景技术
传统的二进制运算在计算机和通信系统中起着十分关键的作用,但二进制与十进制的转换过程中不可避免地存在误差和舍入,无法满足商业计算、金融分析、税率计算、会计、保险等领域对十进制算术运算的精度要求。2008年发行的IEEE754的修订版本IEEE754-2008已经包括了十进制浮点算术运算的格式和规范。2019年IEEE修订的IEEE754-2008标准给出了最新版的二进制和十进制浮点算术的草拟标准。因此,二进制至十进制数转换器不仅是数字系统设计的重要器件而且对实现计算机算术运算系统中二进制与十进制数之间的快速有效转换具有重要意义。
目前,对二进制至十进制数转换器的研究集中在7位二进制数的转换,将每一位二进制数按位权分解,采用BCD位权表示方式并通过BCD加法器得到十进制数,按此方法设计的转换器复杂度高且延时时间长。在此基础上提出的4-3结构算法,将七位二进制数划分为高三位和低四位,对低四位大于9进行修正,该算法仅仅适用于7位二进制数的转换,无法满足任意位宽二进制至十进制数转换器的性能要求。此外,学者提出了一种串行二进制至十进制数转换的算法模型——ND模型,通过多个模型迭代级联可以实现任意位的二进制至十进制数转换。ND模型将二进制数从高至低串行输入后进行转换,该转换方法适用于二进制位数较少时的转换,随着位数的增加,电路延时线性增大。
本申请旨在通过高速并行的二进制至BCD十进制数转换系统降低电路复杂度并提高转换速度。
发明内容
本发明的发明目的是针对上述背景技术的不足,首次提出一种基于树状压缩的二进制至BCD十进制数转换器,通过结构简单且规则的全加器、半加器和2:1ODDS加法器将ODDS十进制数阵列压缩至一行ODDS数,对该转换器进行扩展可以满足任意位二进制数转换为十进制数的需求,解决基于BCD编码转换导致的结构复杂、数值范围小、不适用于任意位宽二进制数转换的技术问题,并克服串行转换带来的延时时间长的缺陷。
本发明为实现上述发明目的采用如下技术方案:
本发明提出的基于树状压缩的二进制到十进制转换器由基于ODDS(OverloadedDecimal Digit Set,多载十进制数字集)编码的十进制数阵列产生模块、十进制数阵列压缩模块和ODDS至BCD转换模块构成。基于ODDS编码的十进制数阵列产生模块将二进制数按位权分解生成基于ODDS编码的十进制数阵列,得到第一十进制数阵列。十进制数阵列压缩模块由4级压缩模块构成:由10个全加器和2个半加器构成的第一压缩级;由6个全加器和3个半加器构成的第二压缩级;由3个全加器、1个半加器和4个2:1ODDS加法器构成的第三压缩级,该级压缩器为4:2压缩器;由4个2:1ODDS加法器和2个全加器构成的第四压缩级,该级压缩器为2:1压缩器。定义16-bit的二进制数B=b15b14…bi…b1b0,最高位至最低位的二进制位权分别是215214…2i…2120。
基于ODDS编码的十进制数阵列产生模块输出第一十进制数阵列。第一压缩级对第一十进制数阵列进行压缩,压缩结果为第二十进制数阵列;第二压缩级对第二十进制数阵列进行压缩,压缩结果为第三十进制数阵列;第三压缩级对第三十进制数阵列进行压缩,压缩结果为第四十进制数阵列;第四压缩级对第四十进制数阵列进行压缩,压缩结果为1行ODDS十进制数。
第一压缩级包括第一至第十共十个全加器和第一至第二两个半加器,对7行ODDS十进制数阵列进行压缩。
第一全加器将二进制数b4,b5和b8压缩为本位和以及进位/>其位权分别为2和4;第二全加器将b4,b6和b8压缩为本位和/>以及进位/>其位权分别为4和8;第三全加器将b9,b12和b13压缩为本位和/>以及进位/>其位权分别为2和4;第四全加器将b10,b12和b14压缩为本位和/>以及进位/>其位权分别为4和8;第五全加器将b5,b8和b9压缩为本位和/>以及进位/>其位权分别为10和20;第六全加器将b6,b7和b10压缩为本位和/>以及进位/>其位权分别为20和40;第七全加器将b8,b11和b15压缩为本位和/>以及进位其位权分别为40和80;第八全加器将b7,b9和b13压缩为本位和/>以及进位/>其位权分别为100和200;第九全加器将b8,b14和b15压缩为本位和/>以及进位/>其位权分别为200和400;第十全加器将b11,b14和b15压缩为本位和/>以及进位/>其位权分别为2000和4000;第一半加器将b9和b15压缩为本位和/>以及进位/>位权分别为400和800;第二半加器将b12和b14压缩为本位和/>以及进位/>位权分别为4000和8000。
第二压缩级包括第一至第六共六个全加器和第一至第三共三个半加器,对6行ODDS十进制数阵列进行压缩。第一全加器将二进制数b2,和/>压缩为本位和/>以及进位/>其位权分别为4和8;第二全加器将b3,b7和/>压缩为本位和/>以及进位/>其位权分别为8和16,进位/>的位权为16,/>被分解成/>和/>位权分别为10,4,1,1;第三全加器将b11,b15和/>压缩为本位和/>以及进位/>其位权分别为8和16,进位的位权为16,/>被分解成/>和/>位权分别为10,4,2;第四全加器将b4,/>和b12压缩为本位和/>以及进位/>其位权分别为10和20;第五全加器将b5,/>和/>压缩为本位和/>以及进位/>其位权分别为20和40;第六全加器将b14,b15和/>压缩为本位和以及进位/>其位权分别为100和200;第一半加器将/>和/>压缩为本位和/>以及进位/>其位权分别为4和8;第二半加器将/>和/>压缩为本位和/>以及进位/>其位权分别为200和400;第三半加器将b14和b15压缩为本位和/>以及进位/>其位权分别为10000和20000。
第三压缩级包括4个2:1ODDS加法器(或者2个4:2ODDS加法器)、3个全加器和1个半加器,对4行ODDS数进行压缩后得到2行ODDS十进制数。
第四压缩级利用2:1ODDS加法器将2行ODDS数压缩至1行ODDS数。
本发明采用上述技术方案,具有以下有益效果:
(1)本发明针对二进制到十进制数转换,首次提出了基于树状压缩的二进制到十进制数转换结构,包括基于ODDS编码的十进制数阵列产生模块、十进制数阵列压缩模块和最终ODDS至BCD转换模块。十进制数阵列产生模块将二进制数按位权分解构成ODDS十进制数阵列,十进制数阵列压缩模块将7行ODDS阵列压缩至1行ODDS十进制数阵列,共由4个压缩级构成,第一和第二2级压缩由全加器和半加器构成,第三和第四2级压缩主要由2:1ODDS加法器构成。本发明采用并行方式可将任意位二进制数转换为BCD-8421十进制数,由于中间变量采用ODDS编码,可以有效地提高转换速度并降低电路的复杂度。
(2)本发明实现了16位并行二进制到十进制数转换,借助这种思想可以实现任意位二进制至十进制数转换。
附图说明
图1为16位二进制至十进制转换的ODDS阵列产生和压缩的示意图。
具体实施方式
下面结合附图对发明的技术方案进行详细说明。
本发明公开的基于ODDS编码树状压缩的二进制至十进制数转换器,包括:基于ODDS编码的十进制数阵列产生模块、十进制数阵列压缩模块和最终的ODDS至BCD转换模块。本发明采用全加器、半加器和2:1ODDS加法器对ODDS十进制数阵列进行压缩,可以有效地简化二进制至十进制转换系统并且降低系统的延时。
第一压缩级包括第一至第十共十个全加器和第一至第二共两个半加器,对7行ODDS十进制数阵列进行压缩,压缩结果是第二十进制数阵列。第一全加器逻辑表达式如下表示:
其中,的位权为2,位于第二阵列第2行(2-2)和第0-digit的第1列(0-1),/>的位权为4,位于第二阵列第3行(2-3)和第0-digit的第2列(0-2);第二全加器的输入是b4,b6,b8,输出是位和/>(位权4)以及进位/>(位权8),其中/>位于第二阵列第2行(2-2)和第0-digit的第2列(0-2),/>位于第二阵列第3行(2-3)和第0-digit的第3列(0-3);第三全加器的输入是b9,b12,b13,输出是位和/>(位权2)以及进位/>(位权4),其中,/>位于第二阵列第3行(2-3)和第0-digit的第1列(0-1),/>位于第二阵列第4行(2-4)和第0-digit的第2列(0-2);第四全加器的输入是b10,b12,b14,输出是位和/>(位权4)以及进位/>(位权8),其中/>位于第二阵列第5行(2-5)和第0-digit的第2列(0-2),/>位于第二阵列第6行(2-6)和第0-digit的第3列(0-3);第五全加器的输入是b5,b8,b9,输出是位和/>(位权10)以及进位/>(位权20),其中,/>位于第二阵列第2行(2-2)和第1-digit的第0列(1-0),/>位于第二阵列第3行(2-3)和第1-digit的第1列(1-1);第六全加器的输入是b6,b7,b10,输出是位和/>(位权20)以及进位/>(位权40),其中,/>位于第二阵列第2行(2-2)和第1-digit的第1列(1-1),/>位于第二阵列第3行(2-3)和第1-digit的第2列(1-2);第七全加器的输入是b8,b11,b15,输出是位和/>(位权40)以及进位/>(位权80),其中,/>位于第二阵列第2行(2-2)和第1-digit的第2列(1-2),/>位于第二阵列第3行(2-3)和第1-digit的第3列(1-3);第八全加器的输入是b7,b9,b13,输出是位和/>(位权100)以及进位(位权200),其中,/>位于第二阵列第1行(2-1)和第2-digit的第0列(2-0),/>位于第二阵列第2行(2-2)和第2-digit的第1列(2-1);第九全加器的输入是b8,b14,b15,输出是位和(位权200)以及进位/>(位权400),其中,/>位于第二阵列第1行(2-1)和第2-digit的第1列(2-1),/>位于第二阵列第2行(2-2)和第2-digit的第2列(2-2);第十全加器的输入是b11,b14,b15,输出是位和/>(位权2000)以及进位/>(位权4000),其中,/>位于第二阵列第1行(2-1)和第3-digit的第1列(3-1),/>位于第二阵列第2行(2-2)和第3-digit的第2列(3-2)。
第一半加器的输入是b9和b15,输出是位和(位权400)以及进位/>(位权800),其中,/>位于第二阵列第1行(2-1)和第2-digit的第2列(2-2),/>位于第二阵列第1行(2-1)和第2-digit的第3列(2-3);第二半加器的输入是b12和b14,输出是位和/>(位权4000)以及进位/>(位权8000),其中,/>位于第二阵列第1行(2-1)和第3-digit的第2列(3-2),/>位于第二阵列第2行(2-2)和第3-digit的第3列(3-3)。
第一半加器逻辑表达式如下所示:
第一十进制数阵列中没有被压缩的变量移至相同位权的第二十进制数阵列。
第二压缩级包括第一至第六共六个全加器和第一至第三共三个半加器,对第二十进制数阵列6行ODDS十进制数阵列进行压缩,压缩结果是第三十进制数阵列。
第一全加器的输入是b2,和/>输出是位和/>(位权4)以及进位/>(位权8),其中,/>位于第三阵列第1行(3-1)和第0-digit的第2列(0-2),/>位于第三阵列第2行(3-2)和第0-digit的第3列(0-3);第二全加器的输入是b3,b7和/>输出是位和/>(位权8)以及进位/>(位权16),其中,/>位于第三阵列第1行(3-1)和第0-digit的第3列(0-3),/>被分解成位权为10,4,1,1的/>和/>其中,/>位于第三阵列第3行(3-3)和第1-digit的第0列(1-0),/>位于第三阵列第3行(3-3)和第0-digit的第2列(0-2),位于第三阵列第2行(3-2)和第0-digit的第0列(0-0),/>位于第三阵列第3行(3-3)和第0-digit的第0列(0-0);第三全加器的输入是b11,b15和/>输出是位和/>(位权8)以及进位/>(位权16),其中,/>位于第三阵列第4行(3-4)和第0-digit的第3列(0-3),/>被分解成位权为10,4,2的/>和/>其中,/>位于第三阵列第4行(3-4)和第1-digit的第0列(1-0),/>位于第三阵列第4行(3-4)和第0-digit的第2列(0-2),/>位于第三阵列第4行(3-4)和第0-digit的第1列(0-1);第四全加器的输入是b4,b12和/>输出是位和/>(位权10)以及进位/>(位权20),其中,/>位于第三阵列第1行(3-1)和第1-digit的第0列(1-0),/>位于第三阵列第2行(3-2)和第1-digit的第1列(1-1);第五全加器的输入是b5,和/>输出是位和/>(位权20)以及进位/>(位权40),其中,/>位于第三阵列第3行(3-3)和第1-digit的第1列(1-1),/>位于第三阵列第4行(3-4)和第1-digit的第2列(1-2);第六全加器的输入是b14,b15和/>输出是位和/>(位权100)以及进位/>(位权200),其中,/>位于第三阵列第1行(3-1)和第2-digit的第0列(2-0),/>位于第三阵列第1行(3-1)和第2-digit的第1列(2-1);
第一半加器的输入是和/>输出是位和/>(位权4)以及进位/>(位权8),其中,/>位于第三阵列第2行(3-2)和第0-digit的第2列(0-2),/>位于第三阵列第3行(3-3)和第0-digit的第3列(0-3);第二半加器的输入是/>和/>输出是位和/>(位权200)以及进位/>(位权400),其中,/>位于第三阵列第2行(3-2)和第2-digit的第1列(2-1),位于第三阵列第3行(3-2)和第2-digit的第2列(2-2);第三半加器的输入是b14和b15,输出是位和/>(位权10000)以及进位/>(位权20000),其中,/>位于第三阵列第1行(3-1)和第4-digit的第0列(4-0),/>位于第三阵列第1行(3-1)和第4-digit的第1列(4-1);
第二十进制数阵列中没有被压缩的变量移至相同位权的第三十进制数阵列。
第三压缩级包括四个2:1ODDS加法器,第一至第三共三个全加器和第一半加器,对第三阵列四行ODDS十进制数阵列进行压缩,压缩结果是第四阵列2行ODDS十进制数阵列。
第一ODDS加法器的输入是b0,b1,输出是1个ODDS数和2个位权是10的进位(C0,0和C0,1);第二ODDS加法器的输入是和/>输出是1个ODDS数/> 和2个位权是10的进位(C0,2和C0,3);第三ODDS加法器的输入是b6,b12,b13,b13,b15,/>C0,0和C0,1,输出是1个ODDS数/>和2个位权是100的进位(C1,0和C1,1);第四ODDS加法器的输入是b14,/>C0,2和C0,3,输出是1个ODDS数/>和2个位权是100的进位(C1,2和C1,3);
其中,第三2:1ODDS加法器将两位ODDS数拆分为左拆分项和右拆分项,左拆分项包含b6,b12,b13,b15,共5个二进制数,右拆分项包含/>b13,/>共3个二进制数,通过该拆分使全冗余ODDS加法器快速产生进位输出(C1,0和C1,1),左拆分项用于快速产生进位C1,0,C1,1和中间位(Z3,Z2,Z1,位权分别为80,40,20),将右拆分项的中间位和第0-digit传递的进位输入(C0,0和C0,1)进行加法运算得到一个ODDS数/>其它2:1ODDS加法器运算方式同上所述,其中,第0-digit的2个2:1ODDS加法器接收到的进位输入为0。
第一全加器的输入是C1,0和C1,1,输出是位和/>(位权100)以及进位/>(位权200);/>和第三阵列/>构成第二全加器的输入,输出是位和/>以及进位/>第三全加器的输入是/>和/>输出是位和/>(位权400)以及进位/>(位权800)。第一半加器的输入是C1,2和C1,3,输出是位和/>(位权100)以及进位/>(位权200),第一至第三全加器和第一半加器的输出是第四阵列第2-digit的2个ODDS数。
第三十进制数阵列中没有被压缩的变量移至相同位权的第四阵列。
第四压缩级包括第一至第四共四个2:1ODDS加法器和第一至第二共两个全加器,第一至第四2:1ODDS分别产生第0-digit的压缩结果第1-digit的压缩结果第2-digit的压缩结果/>第3-digit的压缩结果/>第一全加器的输入是/>C3,0和C3,1,输出是位和/>以及进位C4,1;第二全加器的输入是/>b15和C4,1,输出是位和/>以及进位/> 构成第4-digit的压缩结果。
压缩模块产生的5个ODDS十进制数通过最终ODDS至BCD转换器转换至5-digit的BCD数输出。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (5)
1.一种基于树状压缩的二进制至十进制数转换器,其特征在于,包括:
十进制数阵列产生模块,将16-bit二进制数按位权分解生成基于ODDS编码的第一十进制数阵列后输出,所述第一十进制数阵列为7行5-digit的十进制数;
十进制数阵列压缩模块,对第一十进制数阵列进行第一级压缩得到6行5-digit的第二十进制数阵列,对所述第二十进制数阵列进行第二级压缩得到4行5-digit的第三十进制数阵列,对所述第三十进制数阵列进行第三级压缩后得到2行ODDS十进制数组成的第四十进制数阵列,对所述第四十进制数阵列进行第四级压缩后输出1行5-digit的ODDS十进制数;及,
ODDS至BCD转换模块,将十进制数阵列压缩模块输出的1行5-digit的ODDS十进制数转换为BCD-8421十进制数。
2.根据权利要求1所述一种基于树状压缩的二进制至十进制数转换器,其特征在于,第一压缩级对第一十进制阵列进行第一级压缩得到6行5-digit的第二十进制数阵列,所述第一压缩级包括:
第一全加器,对排列在第一十进制数阵列0-digit第1列上的16-bit二进制数的第四、第五、第八位b4,b5和b8进行全加操作,输出排列在第二十进制数阵列第2行0-digit第1列的位和以及排列在第二十进制数阵列第3行0-digit第2列的进位/>
第二全加器,对排列在第一十进制数阵列0-digit第2列上的16-bit二进制数的第四、第六、第八位b4,b6和b8进行全加操作,输出排列在第二十进制数阵列第2行0-digit第2列的位和以及排列在第二十进制数阵列第3行0-digit第3列的进位/>
第三全加器,对排列在第一十进制数阵列0-digit第1列上的16-bit二进制数的第九、第十二、第十三位b9,b12和b13进行全加操作,输出排列在第二十进制数阵列第3行0-digit第2列的位和以及排列在第二十进制数阵列第4行0-digit第2列的进位/>
第四全加器,对排列在第一十进制数阵列0-digit第2列上的16-bit二进制数的第十、第十二、第十四位b10,b12和b14进行全加操作,输出排列在第二十进制数阵列第5行0-digit第2列的位和以及排列在第二十进制数阵列第6行0-digit第3列的进位/>
第五全加器,对排列在第一十进制数阵列1-digit第0列上的16-bit二进制数的第五、第八、第九位b5,b8和b9进行全加操作,输出排列在第二十进制数阵列第2行1-digit第0列的位和以及排列在第二十进制数阵列第3行1-digit第1列的进位/>
第六全加器,对排列在第一十进制数阵列1-digit第1列上的16-bit二进制数的第六、第七、第十位的b6,b7和b10进行全加操作,输出排列在第二十进制数阵列第2行1-digit第1列的位和以及排列在第二十进制数阵列第3行1-digit第2列的进位/>
第七全加器,对排列在第一十进制数阵列1-digit第2列上的16-bit二进制数的第八、第十一、第十五位b8,b11和b15进行全加操作,输出排列在第二十进制数阵列第2行1-digit第2列的位和以及排列在第二十进制数阵列第3行1-digit第3列的进位/>
第八全加器,对排列在第一十进制数阵列2-digit第0列上的16-bit二进制数的第七、第九、第十三位b7,b9和b13进行全加操作,输出排列在第二十进制数阵列第1行2-digit第0列的位和以及排列在第二十进制数阵列第2行2-digit第1列的进位/>
第九全加器,对排列在第一十进制数阵列2-digit第1列上的16-bit二进制数的第八、第十四、第十五位b8,b14和b15进行全加操作,输出排列在第二十进制数阵列第1行2-digit第1列的位和以及排列在第二十进制数阵列第2行2-digit第2列的进位/>
第十全加器,对排列在第一十进制数阵列3-digit第1列上的16-bit二进制数的第十一、第十四、第十五位b11,b14和b15进行全加操作,输出排列在第二十进制数阵列第1行3-digit第1列的位和以及排列在第二十进制数阵列第2行3-digit第2列的进位/>
第一半加器,对排列在第一十进制数阵列2-digit第2列上的16-bit二进制数的第九、第十五位b9和b15进行半加操作,输出排列在第二十进制数阵列第1行2-digit第2列的位和以及排列在第二十进制数阵列第1行2-digit第3列的进位/>及,
第二半加器,对排列在第一十进制数阵列3-digit第2列上的16-bit二进制数的第十二、第十四位b12和b14进行半加操作,输出排列在第二十进制数阵列第1行3-digit第2列的位和以及排列在第二十进制数阵列第2行3-digit第3列的进位/>
3.根据权利要求2所述一种基于树状压缩的二进制至十进制数转换器,其特征在于,第二压缩级对所述第二十进制数阵列进行第二级压缩得到4行5-digit的第三十进制数阵列,所述第二压缩级包括:
第十一全加器,对排列在第二十进制数阵列0-digit第2列上的和/>以及16-bit二进制数的第二位b2进行全加操作,输出排列在第三十进制数阵列第1行0-digit第2列的位和/>以及排列在第三十进制数阵列第2行0-digit第3列的进位/>
第十二全加器,对排列在第二十进制数阵列0-digit第3列上的以及16-bit二进制数的第三、第七位b3,b7进行全加操作,输出排列在第三十进制数阵列第1行0-digit第3列的位和/>以及位权为16的进位/>所述位权为16的进位/>分解为排列在第三十进制数阵列第3行1-digit第0列的/>排列在第三十进制数阵列第3行0-digit第2列的/>排列在第三十进制数阵列第2行0-digit第0列的/>排列在第三十进制数阵列第3行0-digit的第0列的/>
第十三全加器,对排列在第二十进制数阵列0-digit第3列上的以及16-bit二进制数的第十一、第十五位b11,b15进行全加操作,输出排列在第三十进制数阵列第4行0-digit第3列的位和/>以及位权为16的进位/>所述位权为16的进位/>分解为位权为10,4,2的/>和/>排列在第三十进制数阵列第4行1-digit第0列的/>排列在第三十进制数阵列第4行0-digit第2列的/>排列在第三十进制数阵列第4行0-digit第1列的/>
第十四全加器,对排列在第二十进制数阵列1-digit第0列上的以及16-bit二进制数的第四、第十二位b4,b12进行全加操作,输出排列在第三十进制数阵列第1行1-digit第0列的位和/>以及排列在第三十进制数阵列第2行1-digit第1列的进位/>
第十五全加器,对排列在第二十进制数阵列1-digit第1列上的和/>以及16-bit二进制数的第五位b5进行全加操作,输出排列在第三十进制数阵列第3行1-digit第1列的位和/>以及排列在第三十进制数阵列第4行1-digit第2列的进位/>
第十六全加器,对排列在第二十进制数阵列2-digit第0列上的以及16-bit二进制数的第十四、第十五位b14,b15进行全加操作,输出排列在第三十进制数阵列第1行2-digit第0列的位和/>以及排列在第三十进制数阵列第1行2-digit第1列的进位/>
第三半加器,对排列在第二十进制数阵列0-digit第2列上的和/>进行半加操作,输出排列在第三十进制数阵列第2行0-digit第2列的位和/>以及排列在第三十进制数阵列第3行0-digit第3列的进位/>
第四半加器,对排列在第二十进制数阵列2-digit第1列上的和/>进行半加操作,输出排列在第三十进制数阵列第2行2-digit第1列的位和/>以及排列在第三十进制数阵列第2行2-digit第2列的进位/>及,
第五半加器,对排列在第二十进制数阵列4-digit第0列上的16-bit二进制数的第十四、第十五位b14和b15进行半加操作,输出排列在第三十进制数阵列第1行4-digit第0列的位和以及排列在第三十进制数阵列第1行4-digit第1列的进位/>
4.根据权利要求3所述一种基于树状压缩的二进制至十进制数转换器,其特征在于,第三压缩级对所述第三十进制数阵列进行第三级压缩后得到2行ODDS十进制数组成的第四十进制数阵列,所述第三压缩级包括:
第一2:1ODDS加法器,对第三十进制数阵列第1行0-digit的ODDS数b1,b0,以及第三十进制数阵列第2行0-digit的ODDS数/>进行压缩,输出第四十进制数阵列第1行0-digit的ODDS数/>和位权为10的进位C0,0以及位权为10的进位C0,1;
第二2:1ODDS加法器,对第三十进制数阵列第3行0-digit的ODDS数以及第三十进制数阵列第4行0-digit的ODDS数/>进行压缩,输出第四十进制数阵列第2行0-digit的ODDS数/>和位权为10的进位C0,2以及位权为10的进位C0,3;
第三2:1ODDS加法器,对第三十进制数阵列第1行1-digit的ODDS数b12,b6,b15,和第三十进制数阵列第2行1-digit的ODDS数b13,/>以及位权为10的进位C0,0和C0,1进行压缩,输出第四十进制数阵列第1行1-digit的ODDS数/>和位权为100的进位C1,0以及位权为100的进位C1,1;
第四2:1ODDS加法器,对第三十进制数阵列第3行1-digit的ODDS数第三十进制数阵列第4行1-digit的ODDS数b14,/>以及位权为10的C0,2和C0,3进行压缩,输出第四十进制数阵列第2行1-digit的ODDS数/>和位权为100的进位C1,2以及位权为100的进位C1,3;
第十七全加器,对排列在第三十进制数阵列2-digit第0列上的C1,0和C1,1进行全加操作,输出排列在第四十进制数阵列第2行2-digit第0列的位和/>以及排列在第三十进制数阵列第3行2-digit第1列的进位/>
第十八全加器,对排列在第三十进制数阵列2-digit第1列上的和/>进行全加操作,输出排列在第四十进制数阵列第1行2-digit第1列的位和/>以及排列在第四十进制数阵列第2行2-digit第2列的进位/>
第十九全加器,对排列在第三十进制数阵列2-digit第2列上的和/>进行全加操作,输出排列在第四十进制数阵列第1行2-digit第2列的位和/>以及排列在第四十进制数阵列第1行2-digit第3列的进位/>及,
第六半加器,对排列在第三十进制数阵列2-digit第0列上的C1,2和C1,3进行半加操作,输出排列在第四十进制数阵列第1行2-digit第0列的位和以及排列在第四十进制数阵列第2行2-digit第1列的进位/>
5.根据权利要求1所述一种基于树状压缩的二进制至十进制数转换器,其特征在于,第四压缩级对所述第四十进制数阵列进行第四级压缩后输出1行5-digit的ODDS十进制数,所述第四压缩级包括:
第五2:1ODDS加法器,对第四十进制数阵列第1行0-digit的ODDS数以及第四十进制数阵列第2行0-digit的ODDS数进行压缩,输出第0-digit的压缩结果
第六2:1ODDS加法器,对第四十进制数阵列第1行1-digit的ODDS数以及第四十进制数阵列第2行1-digit的ODDS数进行压缩,输出第1-digit的压缩结果
第七2:1ODDS加法器,对第四十进制数阵列第1行2-digit的ODDS数以及第四十进制数阵列第2行2-digit的ODDS数进行压缩,输出第2-digit的压缩结果
第八2:1ODDS加法器,对第四十进制数阵列第1行3-digit的ODDS数以及第四十进制数阵列第2行3-digit的ODDS数进行压缩,输出第3-digit的压缩结果
第二十全加器,对排列在第四十进制数阵列4-digit第0列上的C3,0和C3,1进行全加操作,输出排列在第4-digit压缩结果第0列的位和/>以及排列在第四十进制数阵列第3行4-digit第1列的进位C4,1;及,
第二十一全加器,对排列在第四十进制数阵列4-digit第1列上的b15和C4,1进行全加操作,输出排列在第4-digit压缩结果第1列的位和/>以及排列在第4-digit压缩结果第2列的进位/> 构成第4-digit的压缩结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110198212.5A CN113014265B (zh) | 2021-02-22 | 2021-02-22 | 一种基于树状压缩的二进制至十进制数转换器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110198212.5A CN113014265B (zh) | 2021-02-22 | 2021-02-22 | 一种基于树状压缩的二进制至十进制数转换器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113014265A CN113014265A (zh) | 2021-06-22 |
CN113014265B true CN113014265B (zh) | 2024-01-02 |
Family
ID=76406233
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110198212.5A Active CN113014265B (zh) | 2021-02-22 | 2021-02-22 | 一种基于树状压缩的二进制至十进制数转换器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113014265B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1422322A (en) * | 1971-10-25 | 1976-01-28 | Wladschmidt F | Binary processor |
CN107423023A (zh) * | 2017-08-10 | 2017-12-01 | 南京航空航天大学 | 一种16×16‑digit冗余十进制乘法器 |
CN109144473A (zh) * | 2018-07-19 | 2019-01-04 | 南京航空航天大学 | 一种基于冗余odds数的十进制3:2压缩器结构 |
CN111736802A (zh) * | 2020-06-17 | 2020-10-02 | 河海大学常州校区 | 一种基于操作数裁剪的乘法器 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7743084B2 (en) * | 2004-09-23 | 2010-06-22 | Wisconsin Alumni Research Foundation | Processing unit having multioperand decimal addition |
US20060179090A1 (en) * | 2005-02-09 | 2006-08-10 | International Business Machines Corporation | System and method for converting binary to decimal |
-
2021
- 2021-02-22 CN CN202110198212.5A patent/CN113014265B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1422322A (en) * | 1971-10-25 | 1976-01-28 | Wladschmidt F | Binary processor |
CN107423023A (zh) * | 2017-08-10 | 2017-12-01 | 南京航空航天大学 | 一种16×16‑digit冗余十进制乘法器 |
CN109144473A (zh) * | 2018-07-19 | 2019-01-04 | 南京航空航天大学 | 一种基于冗余odds数的十进制3:2压缩器结构 |
CN111736802A (zh) * | 2020-06-17 | 2020-10-02 | 河海大学常州校区 | 一种基于操作数裁剪的乘法器 |
Also Published As
Publication number | Publication date |
---|---|
CN113014265A (zh) | 2021-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI783295B (zh) | 乘法器及乘法運算方法 | |
Dadda | Multioperand parallel decimal adder: A mixed binary and BCD approach | |
CN105183424B (zh) | 一种具有高精度低能耗特性的固定位宽乘法器 | |
CN111488133B (zh) | 高基数近似布斯编码方法和混合基数布斯编码近似乘法器 | |
CN1503938A (zh) | 乘法逻辑电路 | |
CN105739945B (zh) | 一种基于改进部分积阵列的修正Booth编码乘法器 | |
CN109144473B (zh) | 一种基于冗余odds数的十进制3:2压缩器结构 | |
CN107423023B (zh) | 一种16×16-digit冗余十进制乘法器 | |
CN116051156B (zh) | 一种基于数字孪生的新能源动态电价数据管理系统 | |
CN112256236A (zh) | 一种基于近似定常数复数乘法器的fft电路及实现方法 | |
CN1781076A (zh) | 组合多项式和自然乘法的乘法器架构 | |
CN101599302A (zh) | 一种基于fpga的ldpc译码器的译码码字的高效存储方法 | |
CN113014265B (zh) | 一种基于树状压缩的二进制至十进制数转换器 | |
CN112506472B (zh) | 一种基于冗余odds数的十进制4:2压缩器结构 | |
US20050228845A1 (en) | Shift and recode multiplier | |
CN116961672A (zh) | 基于Transformer编码器的无损数据压缩方法 | |
CN112926287B (zh) | 一种基于树状压缩的十进制至二进制数转换器 | |
CN115526131A (zh) | 多级编码近似计算Tanh函数的方法及装置 | |
CN113157247B (zh) | 一种可重构整型-浮点型乘法器 | |
CN114237550A (zh) | 一种基于Wallace树的多输入移位求和累加器 | |
CN1874510A (zh) | 一种用于视频编码的整数离散余弦变换方法 | |
CN113778377B (zh) | 一种基于基8布斯折叠编码的平方器结构 | |
CN113296739B (zh) | 一种基于冗余odds数的十进制6:3压缩器结构 | |
CN112732224A (zh) | 一种面向卷积神经网络的可重构近似张量乘加单元及方法 | |
CN116126283B (zh) | 一种fpga卷积加速器的资源占用率优化方法 |
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 |