迅维网

基于AXI总线的DDR仿真模型

zxbai 2017-9-23 09:31


  在xilinx平台下,经常要进行基于AXI总线的IP开发。尤其是当要运用DDR时,仿真就存在很大的问题了。之前我们的搞定办法是修改接口,然后连接到一个模拟DDR的寄存器组中。但这样做一方面频繁修改接口,相当麻烦;另一方面仿真行为与下板行为不完全一样,不方便找出bug。所以我就决定建立一个DDR AXI 仿真模型来用于AXI总线下的仿真。其思想和原来的方式一样,都是在testbench中建立一个寄存器组来模拟DDR。只不过不修改接口,而是直接用AXI总线的接口来进行行为模拟。

  首先,我们先来了解下AXI总线的主要接口与行为:

  AXI总线信号说明:

「精品博文」基于AXI总线的DDR仿真模型


「精品博文」基于AXI总线的DDR仿真模型

写数据信号图


「精品博文」基于AXI总线的DDR仿真模型

读数据信号图


「精品博文」基于AXI总线的DDR仿真模型


  在了解了AXI总线的接口与行为后,下面我将对我的代码做出解释(代码文件见附件):

  1,本demo规划了3个写通道,3个读通道。可根据需要按相似模式修改相关参数和状态机

「精品博文」基于AXI总线的DDR仿真模型


「精品博文」基于AXI总线的DDR仿真模型

  2,由于ddr反馈的ready信号可能是高有效,也可能是低有效。根据实际情况,若是高有效,则相应flag置1,否则置0;


「精品博文」基于AXI总线的DDR仿真模型

  3,设置一个寄存器组,起到DDR作用。在testbench中,寄存器组大小不受限制


「精品博文」基于AXI总线的DDR仿真模型

  4,对ddr_mem进行初始化,瞬间完成。


「精品博文」基于AXI总线的DDR仿真模型

  5,这也是需要根据实际情况修改的地方。根据写入宽度,按相似形式增减。下图显示的是每次写入64位。


「精品博文」基于AXI总线的DDR仿真模型

  然后就可以愉快的仿真测验啦!


雷人

握手

鲜花

鸡蛋

路过
收藏
来自: 今日头条

最新评论

发表评论

登录 后可参与评论
返回顶部
附近
店铺
微信扫码查看附近店铺
维修
报价
扫码查看手机版报价
信号元
件查询
点位图 AI维修
助手



芯片搜索