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的跳转问题。
请大家帮忙看下这段代码有什么问题么??谢谢了!!!!
此帖出自
小平头技术问答
一周热门 更多>