用verilog实现一个8位的数怎么检测第一个1出现的位置

 我来答
帐号已注销
2015-11-07 · TA获得超过181个赞
知道小有建树答主
回答量:152
采纳率:0%
帮助的人:115万
展开全部
module(input [7:0] data_in,
output [2:0] pos)
wire [3:0] sel1;
wire [1:0] sel2;
assign {sel1,pos[2]} = (data_in[7:4] == 0) ? {data_in[3:0],1'b0}:{data_in[7:4],1'b1};

assign {sel2,pos[1]} = (sel1[3:2] == 0) ? {sel1[1:0],1'b0} :{sel1[3:2],1'b1};
assign pos[0] = (sel2[1] == 0) ? 1'b0 :1'b1;
endmodule
基本思路和软件里面的二分查找法类似
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bingpi1984
2015-11-07 · TA获得超过132个赞
知道小有建树答主
回答量:235
采纳率:0%
帮助的人:140万
展开全部
是十进制的8位数,还是 8bits 的 2进制数?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式