找回密码
 请使用中文注册

基于AXI总线的DDR仿真模型

2023-5-6 09:08| 发布者: 开心| 查看: 9| 评论: 0

阅读字号:

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

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

  AXI总线信号说明:


写数据信号图

读数据信号图


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

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


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

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

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

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

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

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|手机版|家电维修论坛 ( 蜀ICP备19011473号-4 川公网安备51102502000164号 )

GMT+8, 2025-8-27 03:19 , Processed in 0.161062 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

返回顶部