怎么找到一个正数第一个1前面的0的个数
时间:10-02
整理:3721RD
点击:
比如 16‘b0001 1011 0的个数是3,怎么用verilog去描述这个算法呢?
并行判断还是串行判断?有时钟控制吗?如果是并行,用for循环可以实现;如果是串行,移位寄存器可以实现。
没有时钟控制,最好用组合逻辑一个周期完成。
不难吧。就相当于一个译码器而已了。
if (data_in[15])
cnt = 0;
else if(data_in[14])
cnt = 1;
...................
else if(data_in[0])
cnt = 15;
else
cnt = 16;
ls 正解
用casex
casex直接判断 查表也行
一个有优先级的选择器实现就行。
前导0预判,网上很多这方面资料的,LZ可以学习一下,也可以前导1。主要应用到浮点加减法
