CN116540975A - 一种基于硬件的自适应符号乘法器及其实现方法 - Google Patents
一种基于硬件的自适应符号乘法器及其实现方法 Download PDFInfo
- Publication number
- CN116540975A CN116540975A CN202310820556.4A CN202310820556A CN116540975A CN 116540975 A CN116540975 A CN 116540975A CN 202310820556 A CN202310820556 A CN 202310820556A CN 116540975 A CN116540975 A CN 116540975A
- Authority
- CN
- China
- Prior art keywords
- binary
- multiplier
- data
- buffer
- bit width
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 16
- 229910002056 binary alloy Inorganic materials 0.000 claims description 21
- 238000006243 chemical reaction Methods 0.000 claims description 10
- 230000003044 adaptive effect Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 abstract description 5
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
Classifications
-
- 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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
本发明属于乘法器硬件设计技术领域,特别涉及一种基于硬件的自适应符号乘法器及其实现方法,所述乘法器包括有输入数据1缓存器、输入数据2缓存器、两个多进制转二进制器、两个位数扩展器、位宽设置器、通用乘法器、位宽截断器、二进制转多进制器和输出结果缓存器等。本发明能够实现任意类型的输入数据(有符号数或无符号数),使用通用的无符号乘法器,其运算结果与期望完成一致,优化了实际应用过程中,硬件乘法器设计的难度,方便了用户对乘法器的灵活使用。
Description
技术领域
本发明属于乘法器硬件设计技术领域,特别涉及一种基于硬件的自适应符号乘法器及其实现方法。
背景技术
随着电子信息产业不断发展,FGPA硬件乘法器的应极为广泛,然后对于硬件乘法器而言,一般需要用户对乘法器输入是有符号数或无符号数选择使用不同的乘法器资源,或者在运算过程中通过复杂方式实现数据符号的转换,导致任意数据类型不能够输入输出且乘法器使用不灵活,因此亟需研发一种方便用户对乘法器的灵活使用且任意数据类型输入输出的基于硬件的自适应符号乘法器及其实现方法。
发明内容
(一)要解决的技术问题
为了克服现有技术中硬件乘法器存在着需要用户对乘法器输入是有符号数或无符号数选择使用不同的乘法器资源,或者在运算过程中通过复杂方式实现数据符号的转换,导致任意数据类型不能够输入输出且乘法器使用不灵活的缺陷,本发明提供一种方便用户对乘法器的灵活使用且任意数据类型输入输出的基于硬件的自适应符号乘法器及其实现方法。
(二)技术方案
本发明通过如下技术方案实现:本发明提出了一种基于硬件的自适应符号乘法器,所述乘法器包括有输入数据1缓存器、输入数据2缓存器、两个多进制转二进制器、两个位数扩展器、位宽设置器、通用乘法器、位宽截断器、二进制转多进制器和输出结果缓存器;
输入数据1缓存器、输入数据2缓存器分别与两个多进制转二进制器输出连接;
两个多进制转二进制器分别与两个位数扩展器输出连接;
两个位数扩展器与通用乘法器输出连接;
通用乘法器与位宽截断器输出连接;
位宽截断器与二进制转多进制器输出连接;
二进制转多进制器与输出结果缓存器输出连接;
位宽设置器分别与两个位数扩展器、位宽截断器输出连接。
作为优先地,所述通用乘法器为通用无符号乘法器。
本发明还提供一种基于硬件的自适应符号乘法器的实现方法,基于上述基于硬件的自适应符号乘法器,所述实现方法具体步骤如下:
数据输入缓存于输入数据1缓存器、输入数据2缓存器,多进制转二进制器将两个数据转为两个二进制数据,二进制数据进入位数扩展器进行二进制位数扩展得到二进制扩展数据,通用乘法器对二进制扩展数据进行相乘运算,然后利用位宽截断器进行位宽截断,保留低位有效位数据,有效位数据在二进制转多进制器进行转换,在利用输出结果缓存器,得到最后的乘法结果,如果输入为有符号数,则该结果以有符号数方式显示,如果输入为无符号数,该结果用无符号数实现;
其中,位宽设置器对两个二进制扩展数据进行位宽设置,其两个二进制扩展数据的二进制位数与输出结果缓存器输出的二进制位数相等;所述位宽设置为两个二进制扩展数据的绝对值二进制表示数的位数之和加1。
(三)有益效果
本发明相对于现有技术,具有以下有益效果:
本发明能够实现任意类型的输入数据(有符号数或无符号数),使用通用的无符号乘法器,其运算结果与期望完成一致,优化了实际应用过程中,硬件乘法器设计的难度,方便了用户对乘法器的灵活使用。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明的实现方法流程图。
具体实施方式
本技术方案中:
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提出了一种基于硬件的自适应符号乘法器,所述乘法器包括有输入数据1缓存器、输入数据2缓存器、两个多进制转二进制器、两个位数扩展器、位宽设置器、通用乘法器、位宽截断器、二进制转多进制器和输出结果缓存器;
输入数据1缓存器、输入数据2缓存器分别与两个多进制转二进制器输出连接;
两个多进制转二进制器分别与两个位数扩展器输出连接;
两个位数扩展器与通用乘法器输出连接;
通用乘法器与位宽截断器输出连接;
位宽截断器与二进制转多进制器输出连接;
二进制转多进制器与输出结果缓存器输出连接;
位宽设置器分别与两个位数扩展器、位宽截断器输出连接。
作为优先地,所述通用乘法器为通用无符号乘法器,既调用FPGA通用的DSP资源实现即可。
本发明还提供一种基于硬件的自适应符号乘法器的实现方法,基于上述基于硬件的自适应符号乘法器,所述实现方法具体步骤如下:
数据输入缓存于输入数据1缓存器、输入数据2缓存器,多进制转二进制器将两个数据转为两个二进制数据,二进制数据进入位数扩展器进行二进制位数扩展得到二进制扩展数据,通用乘法器对二进制扩展数据进行相乘运算,然后利用位宽截断器进行位宽截断,保留低位有效位数据,有效位数据在二进制转多进制器进行转换,在利用输出结果缓存器,得到最后的乘法结果,如果输入为有符号数,则该结果以有符号数方式显示,如果输入为无符号数,该结果用无符号数实现;
其中,位宽设置器对两个二进制扩展数据进行位宽设置,其两个二进制扩展数据的二进制位数与输出结果缓存器输出的二进制位数相等;所述位宽设置为两个二进制扩展数据的绝对值二进制表示数的位数之和加1。
实施例1(负数乘以负数):
1、输入数据1缓存器输入数据1定义为A=-5,输入数据2缓存器输入数据2定义为B=-4,要实现C=A*B功能;
2、评估A的绝对值为5,通过多进制转二进制器转为二进制表示为101,共3bit,B的绝对值为4,多进制转二进制器转为二进制表示为100,共3bit,则位宽设置3+3+1=7位;
3、将A转为7bit二进制数为(1111011),将B转为7bit二进制数为(1111100);
4、将A和B都视为无符号数,则A`== 123,B `= 124;
5、用通用乘法器实现C` = A` * B ` = 15252;其二进制表示为(11101110010100);
6、利用位宽截断器将C`的二进制数高位截去,保留低7位,得到C为(0010100);
7、由于A和B为有符号数,因此将C视为有符号,将其转为十进制数后得到C=20。
实施例2(负数乘以正数):
1、输入数据1缓存器输入数据1定义为A=-3,输入数据2缓存器输入数据2定义为B=6,要实现C=A*B功能;
2、评估A的绝对值为3,通过多进制转二进制器转为二进制表示为11,共2bit,B的绝对值为6,多进制转二进制器转为二进制表示为110,共3bit,则位宽设置2+3+1=6位;
3、将A转为6bit二进制数为(111101),将B转为6bit二进制数为(000110);
4、将A和B都视为无符号数,则A`== 61,B `= 6;
5、用通用乘法器实现C` = A` * B ` = 366;其二进制表示为(101101110);
6、利用位宽截断器将C`的二进制数高位截去,保留低6位,得到C为(101110);
7、由于A和B为有符号数,因此将C视为有符号,将其转为十进制数后得到C=-18。
实施例3(正数乘以正数):
1、输入数据1缓存器输入数据1定义为A=7,输入数据2缓存器输入数据2定义为B=5,要实现C=A*B功能;
2、评估A的绝对值为7,通过多进制转二进制器转为二进制表示为111,共3bit,B的绝对值为5,多进制转二进制器转为二进制表示为101,共3bit,则位宽设置3+3+1=7位;
3、将A转为7bit二进制数为(0000111),将B转为7bit二进制数为(0000101);
4、将A和B都视为无符号数,则A`== 7,B `= 7;
5、用通用乘法器实现C` = A` * B ` = 35;其二进制表示为(0100011)(这里C`为正且不足7位,其二进制表示数高位补0);
6、利用位宽截断器将C`的二进制数高位截去,保留低7位,得到C为(0100011);
7、由于A和B为有符号数,因此将C视为有符号,将其转为十进制数后得到C=35。
本发明能够实现任意类型的输入数据(有符号数或无符号数),使用通用的无符号乘法器,其运算结果与期望完成一致,优化了实际应用过程中,硬件乘法器设计的难度,方便了用户对乘法器的灵活使用。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的设备或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征之“上”或之“下”可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征“之上”、“上方”和“上面”包 括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”包括第一特征在第二特征正下方和斜下方,或仅仅表示第一特征水平高度小于第二特征。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (3)
1.一种基于硬件的自适应符号乘法器,其特征在于:所述乘法器包括有输入数据1缓存器、输入数据2缓存器、两个多进制转二进制器、两个位数扩展器、位宽设置器、通用乘法器、位宽截断器、二进制转多进制器和输出结果缓存器;
输入数据1缓存器、输入数据2缓存器分别与两个多进制转二进制器输出连接;
两个多进制转二进制器分别与两个位数扩展器输出连接;
两个位数扩展器与通用乘法器输出连接;
通用乘法器与位宽截断器输出连接;
位宽截断器与二进制转多进制器输出连接;
二进制转多进制器与输出结果缓存器输出连接;
位宽设置器分别与两个位数扩展器、位宽截断器输出连接。
2.根据权利要求1所述的一种基于硬件的自适应符号乘法器,其特征在于:所述通用乘法器为通用无符号乘法器。
3.一种基于硬件的自适应符号乘法器的实现方法,基于权利要求1-2任一项所述的基于硬件的自适应符号乘法器,其特征在于:所述实现方法具体步骤如下:
数据输入缓存于输入数据1缓存器、输入数据2缓存器,多进制转二进制器将两个数据转为两个二进制数据,二进制数据进入位数扩展器进行二进制位数扩展得到二进制扩展数据,通用乘法器对二进制扩展数据进行相乘运算,然后利用位宽截断器进行位宽截断,保留低位有效位数据,有效位数据在二进制转多进制器进行转换,在利用输出结果缓存器,得到最后的乘法结果,如果输入为有符号数,则该结果以有符号数方式显示,如果输入为无符号数,该结果用无符号数实现;
其中,位宽设置器对两个二进制扩展数据进行位宽设置,其两个二进制扩展数据的二进制位数与输出结果缓存器输出的二进制位数相等;所述位宽设置为两个二进制扩展数据的绝对值二进制表示数的位数之和加1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310820556.4A CN116540975A (zh) | 2023-07-06 | 2023-07-06 | 一种基于硬件的自适应符号乘法器及其实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310820556.4A CN116540975A (zh) | 2023-07-06 | 2023-07-06 | 一种基于硬件的自适应符号乘法器及其实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116540975A true CN116540975A (zh) | 2023-08-04 |
Family
ID=87456329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310820556.4A Pending CN116540975A (zh) | 2023-07-06 | 2023-07-06 | 一种基于硬件的自适应符号乘法器及其实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116540975A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4792793A (en) * | 1987-05-28 | 1988-12-20 | Amdahl Corporation | Converting numbers between binary and another base |
CN108733347A (zh) * | 2017-04-20 | 2018-11-02 | 杭州海康威视数字技术股份有限公司 | 一种数据处理方法及装置 |
CN115657092A (zh) * | 2022-09-14 | 2023-01-31 | 福建福大北斗通信科技有限公司 | 一种应用于北斗三号基带的零dsp资源载波环路运算算法 |
CN115827555A (zh) * | 2022-11-30 | 2023-03-21 | 格兰菲智能科技有限公司 | 数据处理方法、计算机设备、存储介质和乘法器结构 |
-
2023
- 2023-07-06 CN CN202310820556.4A patent/CN116540975A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4792793A (en) * | 1987-05-28 | 1988-12-20 | Amdahl Corporation | Converting numbers between binary and another base |
CN108733347A (zh) * | 2017-04-20 | 2018-11-02 | 杭州海康威视数字技术股份有限公司 | 一种数据处理方法及装置 |
CN115657092A (zh) * | 2022-09-14 | 2023-01-31 | 福建福大北斗通信科技有限公司 | 一种应用于北斗三号基带的零dsp资源载波环路运算算法 |
CN115827555A (zh) * | 2022-11-30 | 2023-03-21 | 格兰菲智能科技有限公司 | 数据处理方法、计算机设备、存储介质和乘法器结构 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022028134A1 (zh) | 一种芯片、终端及浮点运算的控制方法和相关装置 | |
CN106951211B (zh) | 一种可重构定浮点通用乘法器 | |
CN1658153B (zh) | 复合式动态定点数表示法与运算法及其处理器结构 | |
KR100756137B1 (ko) | 제산 및 제곱근 연산 유닛 | |
CN112506935B (zh) | 数据处理方法、装置、电子设备、存储介质及程序产品 | |
Al-Khaleel et al. | Fast and compact binary-to-BCD conversion circuits for decimal multiplication | |
CN109165006B (zh) | Softmax函数的设计优化及硬件实现方法及*** | |
KR20120053344A (ko) | 부동 소수점 데이터와 정수형 데이터 간의 변환장치 및 그 방법 | |
CN112256235A (zh) | 除运算方法及除法器、除法装置、电子设备、存储介质 | |
JP2001005643A (ja) | 累乗演算装置 | |
CN116540975A (zh) | 一种基于硬件的自适应符号乘法器及其实现方法 | |
US5289399A (en) | Multiplier for processing multi-valued data | |
CN1801079A (zh) | 优化的标准带符号数字的系数乘法器 | |
US7672989B2 (en) | Large number multiplication method and device | |
CN115686436A (zh) | 定点数除法的计算方法及装置 | |
CN115827555A (zh) | 数据处理方法、计算机设备、存储介质和乘法器结构 | |
JPH0342715A (ja) | 除算用近似逆数生成装置 | |
CN112685001A (zh) | 一种Booth乘法器及其运算方法 | |
CN100410871C (zh) | 应用跳跃式浮点数运算法的数字讯号处理器 | |
CN109558109A (zh) | 数据运算装置及相关产品 | |
JP2777265B2 (ja) | 高基数開平演算装置 | |
CN113032326A (zh) | 一种用于fpga的数据类型转换装置、方法、设备及存储介质 | |
CN117453177A (zh) | 乘法器及其计算处理方法 | |
CN112416295A (zh) | 用于浮点数据、张量数据运算的运算器 | |
JP2803442B2 (ja) | 開平装置 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20230804 |