本人在写JESD204B的AXI4-Lite配置接口时,发现对端口时序的理解和常规的理解不一样,因此写这篇文章以作记录,具体如下。
1.1 写时序异常
按常规理解的时序图(参照SRIO)写出来的代码,ready是因,valid是果。在仿真时发现在时钟复位配置好后,ready信号并没有按想象中一样,会先拉高来等待输入数据。ready信号是一直为0的。
检查配置情况发现配置没有错误,然后对比JESD204B ip核的demo文件仿真图,发现ready信号要先等valid信号有效后才会输出一个时钟的有效信号。这成了valid是因,ready是果。因果和常规理解的是反着的。
具体的情况见第3节。
1.2 读时序异常
按常规理解的时序为,ready准备好后,输入读取的地址并且valid有效时,ready会拉低去处理内部信号,在输出对应地址数据后,再次拉高等待下一次读取。
但是JESD204B的ip中AXI4-Lite配置接口的读aready是隔一段时间输出一个固定的2个时钟高ready。即使是在availd拉高后aready也不会根据availd拉低,依然是输出固定的2个时钟高信号。这导致我们在需要连续读取内部数据时,不能单纯的把aready当成读取下一个地址准备好的依据。
具体情况见第4节。
1