首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

[求助]请教高手个问题

[求助]请教高手个问题

一个数据比如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是对这一个的值不关心的意思吗?

有很多方法,时间不同:

1)你可以将需要求的数逐个与下面的数A与在与数B比较

A B

00000001 00000001

00000010 00000010

。。。 。。。

2)将数先与00000001逻辑与后比较不等将原始数向右移一位,再与00000001逻辑与后比较,而后在向右移一位,相等。移的位数就是他的最右边的1的位置。

这个版主不太冷 =========================== 我的中电网博客:http://blog.chinaecnet.com/u/20/index.htm
返回列表