xinyancode
驱动小牛
驱动小牛
  • 注册日期2003-08-15
  • 最后登录2008-09-30
  • 粉丝1
  • 关注1
  • 积分3分
  • 威望14点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
阅读:4680回复:1

再次请教循环移位的问题(verilog)

楼主#
更多 发布于:2005-01-30 11:20
再次请教循环移位的问题(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] "};
这样还节省了不少时钟,何了而不为呢?估计在资源上要多耗费一些复制的寄存器什么吧。

不知我这样做对不对?好还是不好?

===================================================
请不吝赐教,我不胜感激!
Suny1966
驱动牛犊
驱动牛犊
  • 注册日期2002-12-08
  • 最后登录2011-03-25
  • 粉丝0
  • 关注0
  • 积分80分
  • 威望8点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-02-03 17:23
你的赋值方法可能有问题,一下赋值肯定可以:

。。。

 a[15:0]<=a[15:0]>>1;
 a[15]<=a[0];

。。。

游客

返回顶部