马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
Hi Sirs,
我们使用Vivado自带的MIG IP CORE (AXI4接口)去做一个DDR3 控制器, 软件生成了一个AXI4接口的slave端.
我们编写了一个简单的地址和数据递增的写入和读出的代码,地址0写入..xx00(128位), 地址8 写入数据..xx01.
128位指的是DDR位宽16*burst length8;地址8 是第二次写的初始地址(burst length 8).
simulation 使用了Vivado example design 里面的DDR3 model.
测试了一下, DDR3 model 会实时记录动作的log,但看起来写入的数据/地址和我们预计的不同. 如图, 地址0 写了两次相同的数据, 地址8 也写了两次,又是不同的数据. 我们预计的应该是每个地址单独一次写入一次数据.
看了一下仿真的波形,似乎时序没有问题, 每次写入和数据和地址都是明确且正常的. 如图,我们把关于时序的理解标注在了图上.
MIG IP 例化的相关部门也截取如下.
哪位有相关经验可以帮忙看看吗? 麻烦指导或提示一下,谢谢了.
|