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

请Verilog高人指点寄存器的这两行设计代码

楼主#
更多 发布于:2005-01-11 16:46
请Verilog高人指点寄存器的这两行设计代码


各位高人:
========================

我的代码实际上要实现循环移位的操作,我是这样写的:
reg[1:128] data;
...
data[1:128] <= { data[64:128],data[1:63] };

但在综合的报告中列出了一大串的这样的信息,
FlipFlop state_FFd4 has been replicated 1 time(s)
FlipFlop state_FFd4 has been replicated 1 time(s)
FlipFlop state_FFd4 has been replicated 1 time(s)
FlipFlop state_FFd4 has been replicated 1 time(s)
FlipFlop state_FFd4 has been replicated 1 time(s)
FlipFlop state_FFd4 has been replicated 1 time(s)
FlipFlop state_FFd4 has been replicated 1 time(s)
FlipFlop state_FFd4 has been replicated 1 time(s)
FlipFlop state_FFd3 has been replicated 6 time(s)
FlipFlop state_FFd4 has been replicated 13 time(s)
FlipFlop state_FFd1 has been replicated 5 time(s)

倒不是错误,但是特别多!上面的这一写法不如
new_data[1:128] <= { data[64:128],data[1:63] };
这样的写法,而且综合后的频率还比前面的那一句要高。


是不是data[1:128] <= { data[64:128],data[1:63] };这种写法不好?但是经典的a <= a+1;这样的写法呀?

==========================
请高人指教!我不胜感激!
Right here waiting!
RenZhG1011
驱动小牛
驱动小牛
  • 注册日期2003-04-10
  • 最后登录2013-01-31
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-01-18 15:08
看不明白什么意思?
renzhg www.unix-driver.org
游客

返回顶部