阅读:4783回复:1
再次请教循环移位的问题(verilog)
再次请教循环移位的问题(verilog)
各位高人: =================================================== 我的算法中用循环移位,原来的算法是这样写的,如a[15:0]做7次循环移位,重复做7次这样的操作: a[15:0] <= { a[0], a[15:1] }; 其实每一的中间结果都没有用,只是要用7次循环移位以后的结果。这个算法的这种写法估计是给通用CPU处理用的吧! 我现在就想: 既然中间结果都没有用,只用最后的结果,我干脆就一次性的象下面这样操作算了: a[15:0] <= { a[7:0], a[15:8] "}; 这样还节省了不少时钟,何了而不为呢?估计在资源上要多耗费一些复制的寄存器什么吧。 不知我这样做对不对?好还是不好? =================================================== 请不吝赐教,我不胜感激! |
|
沙发#
发布于:2005-02-03 17:23
你的赋值方法可能有问题,一下赋值肯定可以:
。。。 a[15:0]<=a[15:0]>>1; a[15]<=a[0]; 。。。 |
|