一种提升ASIC算法精度的方法技术

技术编号:13502661 阅读:29 留言:0更新日期:2016-08-10 00:22
本发明专利技术公开一种提升ASIC算法精度的方法,属于计算机技术领域;针对数字ASIC中加减乘除等运算的高精度实现,在针对ASIC设计进行中间运算过程中,设置算法减损模块和取整运算模块;算法减损模块用于算法中间过程中保留更多的有效位数,取整运算模块根据实际情况采取整规则对结果进行取整;本发明专利技术可用于半导体领域,可以减小算法中间过程带来的精度损耗,而且可以实现向下取整、向上取整、四舍五入或者根据实际情况自设定的取整规则。该方法具有通用性强、实施简便等特点,具有广阔的应用前景。

【技术实现步骤摘要】

本专利技术公开一种提升ASIC算法精度的方法,属于计算机

技术介绍
ASIC,是一种为专门目的而设计的集成电路。是指应特定用户要求和特定电子系统的需要而设计、制造的集成电路。ASIC的特点是面向特定用户的需求,ASIC在批量生产时与通用集成电路相比具有体积更小、功耗更低、可靠性提高、性能提高、保密性增强、成本降低等优点。随着科技发展,出现数字ASIC,数字ASIC实现加减乘除等运算的算法时,需要小心处理,因为数字ASIC中用”0””1”来代表高低电平,不可能出现小数,尤其是对除法的处理,不当的算法,将导致最终运算结果的巨大偏差,从而影响整个ASIC设计。本专利技术针对数字ASIC中加减乘除等运算的高精度实现,提出了一种提升ASIC算法精度的方法,可用于半导体领域,可以减小算法中间过程带来的精度损耗,而且可以实现向下取整、向上取整、四舍五入或者根据实际情况自设定的取整规则。该方法具有通用性强、实施简便等特点,具有广阔的应用前景。
技术实现思路
本专利技术针对现有技术中数字ASIC的不当算法,将导致最终运算结果的巨大偏差,从而影响整个ASIC设计的问题,提供一种提升ASIC算法精度的方法,具有通用性强、实施简便等特点,具有广阔的应用前景。本专利技术提出的具体方案是:一种提升ASIC算法精度的方法:在针对ASIC设计进行中间运算过程中,设置算法减损模块和取整运算模块;算法减损模块用于算法中间过程中保留更多的有效位数,取整运算模块根据实际情况采取整规则对结果进行取整;具体过程为在针对ASIC设计进行中间运算之前对分子部分的数据利用算法减损模块进行减损因子δ调整,使得在做除法之前提高分子的有效位数,进而除法之后的结果保留更多的有效位数,并利用取整运算模块根据实际情况采取的取整规则来对结果进行取整处理,以减少运算中间过程带来的精度损耗。所述减损因子δ根据在ASIC设计中计算的需要,在21,22,23,24,25,…,2n中选取,通过移位来实现乘法。所述取整运算模块采取的取整规则为向下取整、向上取整、四舍五入或者根据实际情况自设定的取整规则。一种提升ASIC算法精度的系统,用于所述的方法,包括算法减损模块和取整运算模块,算法减损模块用于算法中间过程中保留更多的有效位数,取整运算模块根据实际情况采取整规则对结果进行取整;具体过程为在针对ASIC设计进行中间运算之前对分子部分的数据利用算法减损模块进行减损因子δ调整,使得在做除法之前提高分子的有效位数,进而除法之后的结果保留更多的有效位数,并利用取整运算模块根据实际情况采取的取整规则来对结果进行取整处理,以减少运算中间过程带来的精度损耗。所述取整运算模块采取的取整规则为向下取整、向上取整、四舍五入或者根据实际情况自设定的取整规则。本专利技术的有益之处是:本专利技术针对数字ASIC中加减乘除等运算的高精度实现,提出了一种提升ASIC算法精度的方法,可用于半导体领域,可以减小算法中间过程带来的精度损耗,而且可以实现向下取整、向上取整、四舍五入或者根据实际情况自设定的取整规则。该方法具有通用性强、实施简便等特点,具有广阔的应用前景。附图说明图1是本专利技术方法算法减损过程示意图。具体实施方式一种提升ASIC算法精度的方法:在针对ASIC设计进行中间运算过程中,设置算法减损模块和取整运算模块;算法减损模块用于算法中间过程中保留更多的有效位数,取整运算模块根据实际情况采取整规则对结果进行取整;具体过程为在针对ASIC设计进行中间运算之前对分子部分的数据利用算法减损模块进行减损因子δ调整,使得在做除法之前提高分子的有效位数,进而除法之后的结果保留更多的有效位数,并利用取整运算模块根据实际情况采取的取整规则来对结果进行取整处理,以减少运算中间过程带来的精度损耗。利用上述方法,根据
技术实现思路
及附图,对本专利技术做进一步说明。以实现一个的算法做例子。假设a=51,b=18,c=11,那么在ASIC设计中,如果仅仅用来实现,ASIC的运算结果默认是向下取整的,y=83。用本专利技术一种提升ASIC算法精度的方法来实现的话,假设减损因子δ=16,经过算法减损模块得到的运算结果在取整运算模块中可以实现向上取整,四舍五入或者根据实际情况自设定的取整规则,最终结果y=z[m,n]+f(z[n-1:0]),其中,m为z的最高比特位,n取值与减损因子有关,2n=δ。若是采用向上取整,根据z[3:0]是否为0来判定最终运算结果是否加1:非0,则加1;否则舍弃。在此z=1335,z[3:0]=4’b0111=4’d7,最终运算结果y=z[10:4]+f(z[3:0])=83+1=84。若是采用四舍五入,根据z[3:0]是否为不小于8来判定最终运算结果是否加1:不小于8,则加1;否则舍弃。在此z=1335,z[3:0]=4‘b0111=4’d7,最终运算结果y=z[10:4]+f(z[3:0])=83+0=83。若是根据实际情况自设定的取整规则,比如二舍三入,根据z[3:0]是否为不小于4来判定最终运算结果是否加1:不小于4,则加1;否则舍弃。在此z=1335,z[3:0]=4‘b0111=4’d7,最终运算结果y=z[10:4]+f(z[3:0])=83+1=84。假设减损因子δ=32,经过算法减损模块得到的运算结果在取整运算模块中可以实现向上取整,四舍五入或者根据实际情况自设定的取整规则,最终结果y=z[m,n]+f(z[n-1:0]),其中,m为z的最高比特位,n取值与减损因子有关,2n=δ。若是采用向上取整,根据z[4:0]是否为0来判定最终运算结果是否加1:非0,则加1;否则舍弃。在此z=2670,z[4:0]=5’b01110=5’d15,最终运算结果y=z[10:5]+f(z[4:0])=83+1=84。若是采用四舍五入,根据z[4:0]是否为不小于16来判定最终运算结果是否加1:不小于16,则加1;否则舍弃。在此z=2670,z[4:0]=5‘b01110=5’d15,最终运算结果y=z[10:5]+f(z[4:0])=83+0=83。假设减损因子δ=8,经过算法减损模块得到的运算结果向下取整,舍弃0.5;在取整运算模块中可以实现向上取整,四舍五入或者根据实际情况自设定的取整规则,最终结果y=z[m,n]+f(z[n-1:0]),其中,m为z的最高比特位,n取值与减损因子有关,2n=δ。若是采用向上取整,根据z[2:0]是否为0来判定最终运算结果是本文档来自技高网
...

【技术保护点】
一种提升ASIC算法精度的方法,其特征是在针对ASIC设计进行中间运算过程中,设置算法减损模块和取整运算模块;算法减损模块用于算法中间过程中保留更多的有效位数,取整运算模块根据实际情况采取整规则对结果进行取整;具体过程为在针对ASIC设计进行中间运算之前对分子部分的数据利用算法减损模块进行减损因子δ调整,使得在做除法之前提高分子的有效位数,进而除法之后的结果保留更多的有效位数,并利用取整运算模块根据实际情况采取的取整规则来对结果进行取整处理,以减少运算中间过程带来的精度损耗。

【技术特征摘要】
1.一种提升ASIC算法精度的方法,其特征是
在针对ASIC设计进行中间运算过程中,设置算法减损模块和取整运算模块;
算法减损模块用于算法中间过程中保留更多的有效位数,取整运算模块根据实际情况
采取整规则对结果进行取整;
具体过程为在针对ASIC设计进行中间运算之前对分子部分的数据利用算法减损模块
进行减损因子δ调整,使得在做除法之前提高分子的有效位数,进而除法之后的结果保留更
多的有效位数,并利用取整运算模块根据实际情况采取的取整规则来对结果进行取整处
理,以减少运算中间过程带来的精度损耗。
2.根据权利要求1所述的方法,其特征是所述减损因子δ根据在ASIC设计中计算的需
要,在21,22,23,24,25,…,2n中选取,通过移位来实现乘法。
3.根据权利要求1或2所述的方法,其特征是所述取整运算模块采...

【专利技术属性】
技术研发人员:李朋赵鑫鑫于治楼
申请(专利权)人:浪潮集团有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1