Lattice DDR3 ip 注意事项

Lattice DDR3 ip 注意事项

  1. do ddr3_ip_eval.do 之后报错!
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    需要将work 的路径手动修改至当前路径下。
    在这里插入图片描述
    =>
    终于!
    在这里插入图片描述
    在这里插入图片描述
    ========================

  2. 为什么app_cmd和datain_rdy不对齐?
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述
    难怪cmd和data是不对齐的,cmd和地址对齐。因为cmd发完之后就一直在等ipcore输出相应的使能了,和A家和X家都不一样!
    如果datain_rdy拉高,则将数据延迟一拍后打进ipcore的write_data口。
    如果read_data_valid拉高,则同拍的数据会被打出在read_data口。

    ========================

  3. cmd_burst_cnt为8,什么意思?为什么一次写命令发完之后,会出来16拍64bit数?
    在这里插入图片描述
    在这里插入图片描述
    Cmd_burst_cnt为突发次数,这里ddr3 ipcore里设定的是8突发, 8(突发次数)*8(突发长度)16(ddr位宽) = 1664
    所以这里是16个64bit数。
    ========================

  4. 为什么我ddr物理位宽是16位的,但实际ddr ipcore给出来的却是64bit的?
    在这里插入图片描述
    从表中可以,总带宽一定,800M*16bit/200M = 64bit。

    这其实就是为了降低时钟频率而采取的增加数据位宽的措施。DP ipcore也有类似的概念,dual,quad。

    ========================

  5. 可以看到ddr ip的接口是有eclk和sclk, 但是test_mem_ctrl.v 中和仿真模型连接的ddr ip的顶层却只有一个输入时钟,是100M。而公司里用的也是有两个时钟的,懵逼了!
    在这里插入图片描述
    以前公司也用的是有两个时钟的
    在这里插入图片描述
    但是在自带的仿真里边却只看到一个时钟,到底顶层是哪个呢?
    在这里插入图片描述
    其实仿真的顶层是这个文件ddr3_sdram_mem_top_wrapper_ddr3_ip.v
    它的模块名字和文件名字还不一样,草!!!
    在这里插入图片描述
    在这里插入图片描述

    ===
    ddr3_sdram_mem_top_wrapper_ddr3_ip.v(输入为一个时钟), 中包含ddr3_ip.v(输入为两个时钟)。
    在这里插入图片描述

    公司为什么要把它拿出来呢?
    => 拿出来之后就可以跟外部共用PLL了,不然在ddr3_sdram_mem_top_wrapper_ddr3_ip.v浪费一个PLL

    ========================

  6. 自己加逻辑,说必须超过200us,才能给复位。但是它自带的测试又不是这样的。
    在这里插入图片描述
    在这里插入图片描述
    它自带的仿真开始好像发了power相关的cmd, 我仿真是没有发的。
    在这里插入图片描述
    但实际上板不需要发,同样能读能写。

    ========================

  7. app_bridge代码中fixed固定为4,否则代码就得改。
    在这里插入图片描述

    ========================

  8. bridge就是在外边包一层,3家(Xilinx,altera,lattice) 的DDR ipcore 用同一个bridge 接口,那么外部的代码即可通用。
    我外部只要发wrreq以及wrlen,wraddr,内部就会自动发app_en,app_cmd,app_addr等,当然还会回一个wrgnt表示当前是否处于忙的状态。
    只要内部映射到关系即可。
    以写为例。
    在这里插入图片描述

    ========================
    cmd命令
    在这里插入图片描述

    ========================

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ethan_WC

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值