[发明专利]乘法硬件电路、片上系统及电子设备有效
申请号: | 201710852544.4 | 申请日: | 2017-09-19 |
公开(公告)号: | CN109521994B | 公开(公告)日: | 2020-11-10 |
发明(设计)人: | 徐斌;王开兴;田清霖 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F7/523 | 分类号: | G06F7/523 |
代理公司: | 北京龙双利达知识产权代理有限公司 11329 | 代理人: | 魏雪娇;毛威 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 乘法 硬件 电路 系统 电子设备 | ||
1.一种用于乘法运算的乘法硬件电路,包括:对数域加法器和线性域转换电路,所述线性域转换电路包括指数运算子电路、移位子电路和符号位确定子电路,
所述对数域加法器用于对第一对数域数据a1和第二对数域数据a2进行加法运算,得到第三对数域数据c1,其中,对数域数据是指对线性域数据进行对数域转换后得到的数据,所述线性域数据是指在进行所述对数域转换之前的数据,所述对数域转换是指将所述线性域数据的绝对值取以2为底的对数值并结合所述线性域数据正负符号位后得到的数据;所述a1和所述a2通过分别对两个用于乘法运算的第一线性域数据A1和第二线性域数据A2进行所述对数域转换得到,所述a1、所述a2和所述c1都为由1+m+n比特构成的二进制数,m和n均为正整数,1比特为第一符号位,用于指示正负符号,m比特用于指示整数部分的值,n比特用于指示小数部分的值;
所述指数运算子电路,用于根据所述c1的小数部分的值N1得到N’,其中,所述N’的值是2的N1次方;
所述移位子电路,用于根据所述c1的整数部的值M1对所述指数运算子电路得到的所述N’进行移位,得到C1的绝对值,其中所述C1是所述A1乘以所述A2的乘积;
所述符号位确定子电路,用于根据所述a1的符号位的值以及所述a2的符号位的值确定所述C1的正负符号,并根据所述移位子电路得到的所述C1的绝对值以及所述C1的正负符号得到所述C1;
所述N’为一个由1+w比特构成二进制数,用于表示一个大于等于1小于2的小数,其中,1比特表示的数为小数的整数部分的值,w比特表示数为小数的小数部分的值;
所述移位子电路具体用于对所述N’左移M1-(w-k)位,得到最终移位结果,所述最终移位结果的最右k比特用于指示所述C1的绝对值的小数部分的值,所述最终移位结果的最右k比特左边的j比特用于指示所述C1的绝对值的整数部的值;或者,
所述移位子电路包括第一移位子电路以及第二移位子电路;所述第一移位子电路用于对所述N’左移M1位;所述第二移位子电路用于对所述第一移位子电路移位后的结果再左移-(w-k)位,得到最终移位结果,所述最终移位结果的最右k比特用于指示所述C1的绝对值的小数部分的值,所述最终移位结果的最右k比特左边的j比特用于指示所述C1的绝对值的整数部的值。
2.如权利要求1所述的乘法硬件电路,其特征在于,
所述指数运算子电路为译码子电路,所述译码子电路用于根据所述c1的所述N1译码得到所述N’;或者
所述指数运算子电路为查表子电路,所述查表子电路用于根据所述c1的所述N1查表得到所述N’。
3.如权利要求1或2所述的乘法硬件电路,其特征在于,
所述乘法硬件电路还包括累加器,用于将所述C1与来自所述乘法硬件电路的另一个线性域数据C2进行累加运算;或者
所述累加器用于将所述C1与来自另一个乘法硬件电路的线性域数据C3进行累加运算。
4.一种片上系统SoC,包括处理器核,由一个或多个如权利要求1-3任一所述的乘法硬件电路构成的乘法硬件电路阵列、数据输入缓存、数据输出缓存以及控制电路;
所述控制电路与所述处理器核、所述乘法硬件电路阵列、所述数据输入缓存以及所述数据输出缓存连接;
所述数据输入缓存用于通过所述控制电路获取来自所述处理器核的数据;
所述乘法硬件电路阵列用于获取所述数据输入缓存中的数据进行处理,得到处理后的结果,并通过所述控制电路将所述结果输出给所述数据输出缓存。
5.如权利要求4所述的SoC,其特征在于,还包括对数域转换电路,用于对所述乘法硬件电路阵列的输出进行所述对数域转换,并将转换后的结果输入给所述数据输入缓存。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710852544.4/1.html,转载请声明来源钻瓜专利网。