标题: [求助]请教高手个问题 [打印本页]
作者: rice973 时间: 2008-1-22 15:45 标题: [求助]请教高手个问题
一个数据比如rdy[7:0],我想知道从右到左第一个1的位置,该怎么写程序
我用如下程序实现可是仿真不对:
case( rdy[7:0] )
8'bxxxx_xxx1: pos <= 0;
8'bxxxx_xx10: pos <= 1;
....
...
8'b1000_0000: pos <= 7;
endcase
X是对这一个的值不关心的意思吗?
作者: caopengly 时间: 2008-1-22 21:35
有很多方法,时间不同:
1)你可以将需要求的数逐个与下面的数A与在与数B比较
A B
00000001 00000001
00000010 00000010
。。。 。。。
2)将数先与00000001逻辑与后比较不等将原始数向右移一位,再与00000001逻辑与后比较,而后在向右移一位,相等。移的位数就是他的最右边的1的位置。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) |
Powered by Discuz! 7.0.0 |