1052个数中如何找出所有的0(肯定小于8个)
时间:10-02
整理:3721RD
点击:
我现在在做一个项目,需要找出一个1052维的数组中的所有0的位置(0的个数小于等于8个)。请问哪位大虾知道如何用可综合的verilog实现啊(用if else if一个个找是不行的,一千多个else if 啊)。先谢过各位大虾了。
把这些数据一个个读出来,再一个个判断,是0的就记录下位置。
假定这些数据存储在一个RAM中,从RAM中读出(此时读地址即表明了数据在数组中的位置)判断是否为0,若为0则将相应的读地址存储,这样就检测到了0的位置。读地址要做相应的延迟。
如果没有速度的要求,楼上的办法即可
如果有速度的限制,大家还有什么算法?
看你要多久算出来了。
最快的到结果的算法。征集。
小编有没有看过Leading one相关的文献?
我觉着这个问题可以用类似的方法解决
学学!
你这个数据怎么来的,串行?并行?
关键是这些数是如何生成和存储的,如果是一个一个生成的只要生成的过程中判别即可;如果是预先生成的则在生成的时候生成一个指向这几个0位置的数组即可。
既然是数组,那就是说是并行的,最好的办法就是采用ram的存储方式读处并判断。如果不是数据堆的话,那一定是n比特顺序时钟驱动送入的 ,那么数据起始时初始化一个计数器,数据到来的同时判断数值,为0即将当前计数值存起来。
