求:大家帮忙看下这段地址代码!!!

2019-03-25 10:39发布

always @(posedge clk or negedge reset)
begin
  if(!reset)
  begin
    addr <= 18'b0;
  end
  else
  begin
    if(data_start)
    begin
      addr <= {1'b0,Data21[15:8],1'b0,Data21[7:0]};
    end
    else if(next_grab & (cnt0 == 2'b11))
    begin
      addr <= addr + 1'b1;
      if(addr == {1'b0,addr[16:9],1'b0,Data44[15:8]})
      begin
        addr <= {1'b0,(addr[16:9] + 1'b1),1'b0,Data44[7:0]};
        if(addr == {1'b0,Data45[15:8],1'b0,Data44[15:8]})
        begin
          addr <= 18'b0;
        end
      end
    end
  end
end
其中Data21[15:0],Data44[15:0],Data45[15:0]均可从先前的数据中得到,属于已知数值。主要是这个addr的跳转问题。
请大家帮忙看下这段代码有什么问题么??谢谢了!!!! 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
ming1005
1楼-- · 2019-03-25 14:33
< / 就是个数据的重组,你画下状态图就可以了
qushaobo
2楼-- · 2019-03-25 19:33
也就是依寄存器状态生成,地址变量这样的东东。
qushaobo
3楼-- · 2019-03-25 21:26
不知功能,无所谓有无问题。

一周热门 更多>