[发明专利]一种由补码求原码绝对值的方法无效
申请号: | 201010115996.2 | 申请日: | 2010-02-11 |
公开(公告)号: | CN101819513A | 公开(公告)日: | 2010-09-01 |
发明(设计)人: | 姜小波;范永杰 | 申请(专利权)人: | 华南理工大学 |
主分类号: | G06F7/00 | 分类号: | G06F7/00 |
代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 何淑珍 |
地址: | 510640 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 补码 求原码 绝对值 方法 | ||
技术领域
本发明属于电子技术领域,具体涉及一种补码求绝对值方法。
技术背景
在集成电路设计过程中,人们经常会遇到求补码的绝对值运算。而补码转换成原码通 常会采用附图1所示的取反加一的方法,先将补码的各位取反,再加一,得到最终的结果。
因为取反加一的过程需要大量的半加器和反相器,所以消耗的器件比较多。而且取反 加一的关键路径很长,特别是位数比较多的情况下,面积和成本相应比较高,计算速度也 比较慢。
发明内容
本发明针对现有技术的不足,提供了一种补码求绝对值方法。应用该方法可以节省一 定的基本单元,缩短关键路径上的延时。在芯片的设计中,特别是位数多的情况下,可节 约器件和降低计算时间。
本发明解决技术问题所采用的方案是:一种补码求绝对值方法,其特征在于,参加运 算的数必须为负数的补码,步骤如下:
(3)将补码A送入编码器C,得到编码后的数B。
(4)将编码后得到的数B与原来的补码A逐位异或,最后得到补码的绝对值D。
编码器C的特征在于:编码规律为从补码A的最低位开始逐位检查,直到找出第一个 1出现的位置A[X],然后输出B[X:0]为0,B[N-1:X+1]为1。具体步骤如下:
第一步:检查补码A的A[0]位是否为1。如果A[0]为1,则输出B[0]为0,B[N-1:1] 位输出为1。如果A[0]为0,继续第二步。
第二步:检查补码A的A[1]位是否为1。如果A[1]为1,则输出B[1:0]都为0, B[N-1:2]位输出为1。如果A[1]为0,继续第三步。
第三步:检查补码A的A[2]位是否为1。如果A[2]为1,则输出B[2:0]都为0, B[N-1:3]输出为。.如果A[2]为0,继续第四步。
这样从最低位A[0]到A[N-1]位逐位检查第一个1出现的位置,对应输出见表1,表中:Y 表示取值为0或者1。在输入数据中,Y...表示A[N-3:3]中取任意值。0...表示A[N-3:3] 数据全部为0。在输出数据中,1...表示B[N-3:3]全部为1,0...表示B[N-3:3]全部为0。
特别地,从最低位开始检查,当A[N-2:0]都为0的时候,不管A[N-1]输入是0还是 1,输出从B[N-1:0]都为0.
表1:
从表1可以总结出B的每一位的输出表达式为
B[0]=0
B[1]=A[0]
B[2]=A[0]+A[1]
B[N-2]=A[0]+A[1]+A[2]+......+A[N-3]
B[N-1]=A[0]+A[1]+A[2]+......+A[N-2]
整个电路的原理图参见图2。
本发明原理的特点是,用编码的方法取代了传统的用半加器加一的方法,来达到优化 的目的。本发明的有益效果是,在芯片设计中为实现补码转原码的运算,使用本发明提供 的方法,可节省一定的基本单元,缩短关键路径上的延时,从而使设计的产品面积变小, 功耗降低,成本降低,且计算速度得到提高。
附图说明
图1是现有常用的补码转原码方法示意图;
图2是本发明的求补码的绝对值的示意图;
图3是4位编码器C的电路图。
具体实施方式
下面结合附图和实例对本发明作进一步说明,本发明的目的和效果将更加明显,但本 发明的实施不限于此。
如图2,为本发明的求补码的绝对值的示意图。补码A送入编码器C,得到编码后的数B, 所述补码A为负数的补码;将编码后得到的数B与原来的补码A逐位异或,最后得到补码 的绝对值D。
下面以4位的负数的补码求绝对值作为例子,4位的编码器C的编码原理如表2所示,
表2
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华南理工大学,未经华南理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010115996.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:热电厂循环水除垢液及其制备方法
- 下一篇:一种X展架挡板