关于AVALON MM的怪事

这两天在弄一个nios的玩意,用到AVALON MM的总线,在测试读写的时候,出现怪事了,.V文件里的读模块为

else if (s_read)
begin
base_index <= s_address;
read_data <= regs[base_index];
regs[1] <= 6400;
regs[2] <= 6594;
regs[3] <= 3356;
regs[4] <= 1254;
regs[5] <= 7541;
end

主机在读对应的寄存器的时候,发现当readwait为两个时钟时,按照顺序读出来的结果是7541,6400,6594,3356,1254.然后readwait为一个时钟时,读出来的结果是

1254,7541,6400,6594,3356.最终为了能按照顺序读出对应寄存器不得不把readwait的延时设为3个时钟,才读出正常顺序。

posted @ 2016-04-03 19:55  游云惊帆  阅读(178)  评论(0编辑  收藏  举报