[发明专利]图形芯片设计中求幂算法的实现无效
申请号: | 201110202083.9 | 申请日: | 2011-07-19 |
公开(公告)号: | CN102236539A | 公开(公告)日: | 2011-11-09 |
发明(设计)人: | 林苍松;陈宝民;陈怒兴 | 申请(专利权)人: | 长沙景嘉微电子有限公司 |
主分类号: | G06F7/552 | 分类号: | G06F7/552 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 410205 湖南省长沙市河西*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 图形 芯片 设计 中求幂 算法 实现 | ||
技术领域
本发明主要涉及到图形芯片设计中的光照部分实现领域,特指光照中求幂算法的实现。
背景技术
图形芯片的光照作用是增加物体的真实度,在图形芯片中实现光照功能时,在计算镜面反射光和聚光灯光时会不可避免的遇到求幂计算。
由于在光照中求幂计算的输入为确定范围的单精度浮点格式的数据,使用查找表求幂需要占用大量的ROM资源,因此确保求幂运算结果精度、减小芯片面积是本求幂运算的目标。
对于求幂计算,有一个很经典算法,即 ,即将一个求幂运算转化为一个确定底数的对数运算,一个乘法运算和一个确定底数指数运算,此算法可以将求幂运算的实现变换成查找表实现,但此算法的ROM表在实现过程中占用硬件资源比较大,不利于低功耗芯片的设计。
发明内容
本发明要解决的问题就在于:在经典算法的基础上,利用光照中求幂计算输入值为确定范围,使用泰勒级数展开原理,本发明提供了一种硬件资源消耗不大、运算精度比较高的实现方法。
与现有技术相比,本发明的优点就在于:1、实现简单:本发明提出的多级ROM表分解的实现结构并主要采用的还是ROM表查表实现方式,利于硬件实现;2、资源占用量大幅减少:本发明提出的多级ROM表分解的实现大幅度的减少了资源使用率。
附图说明
图1是查表法实现求幂算法流程图;
图2是本发明提出的多级ROM分解的实现结构。
具体实施方式
以下将结合附图和具体实施例对本发明做进一步详细说明。
如图1所示,本发明中的求幂算法,以最后输出精度为例,得出,先将输入数据底数A和指数B进行浮点数转定点数变换,然后对底数A用查表法求对数,对数结果与指数B相乘,然后对乘数结果用查表法求指数,最后进行定点数转浮点数变换。
如图2所示,本发明的多级ROM分解的实现的具体实施方法为,先将ROM分成9组,对第一组A的取值范围为,则固定为0,因此表ROM0的输入端可以取,同理,另外8组表ROM1到表ROM8的输入端可取为到,然后对后8组进行二次分解,以为例,将分成三份,由泰勒公式可知可将此表ROM1从一个输入端为的512*14bit的表ROM1分解为一个输入端为、的64*14bit的表ROM1_0和 一个输入端为、的32*14bit的表ROM1_1;同理,表ROM2可分解为一个输入端为、的64*14bit的表ROM2_0和 一个输入端为、的32*14bit的表ROM2_1;表ROM3可分解为一个输入端为、的64*14bit的表ROM3_0和 一个输入端为、的32*14bit的表ROM3_1;表ROM4可分解为一个输入端为、的64*14bit的表ROM4_0和 一个输入端为、的32*14bit的表ROM4_1;表ROM5可分解为一个输入端为、的64*14bit的表ROM5_0和 一个输入端为、的32*14bit的表ROM5_1;表ROM6可分解为一个输入端为、的64*14bit的表ROM6_0和 一个输入端为、的32*14bit的表ROM6_1;表ROM7可分解为一个输入端为、的64*14bit的表ROM7_0和 一个输入端为、的32*14bit的表ROM7_1;表ROM8可分解为一个输入端为、的64*14bit的表ROM8_0和 一个输入端为、的32*14bit的表ROM8_1。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于长沙景嘉微电子有限公司,未经长沙景嘉微电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110202083.9/2.html,转载请声明来源钻瓜专利网。