芯路恒电子技术论坛

 找回密码
 立即注册
热搜: 合集
查看: 596|回复: 1

DDR仿真测试——单片与双片的使用差异

[复制链接]

该用户从未签到

62

主题

86

帖子

1409

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1409
发表于 2024-5-6 14:11:57 | 显示全部楼层 |阅读模式
在小梅哥系列FPGA器件中,有许多开发板都配置有两片的DDR3,如ACX750、ACZ702、ACZ7015等。以ACX750开发板为例,使用的是两片型号为MT41K256M16 RE-125的DDR3存储器件。从型号我们可以推断出单片DDR拥有256M个存储颗粒,每个存储颗粒的位宽为16位。而两片DDR,则可以以并联的方式组成一个位宽为32位,存储深度为256M的存储器件。因此,在进行读写操作时,其内部数据存储类似于下图:
两片DDR.png

由于是并联的,所以两片DDR地址线共享,用户在进行写操作时,需要将数据的高16位和低16位分开存放。至于单片DDR的使用,我们可以理解为屏蔽掉了其中一个DDR存储器件,在地址不变的情况下,数据位宽变为16,用户写入数据时,直接写入单片DDR中即可。那么这是单片/双片DDR的工作原理,接下来我们再来看看使用时的差异:

对DDR3的读写我们一般通过mig软核或是ZYNQ PS端的DDR控制器实现,这里我们还是以ACX750为例,由于是纯FPGA,因此使用mig实现ddr读写。在进行配置时,差异主要体现在三处:

1.数据位宽,单片DDR数据位宽为16位,两片DDR数据位宽为32位
位宽.png


2.AXI总线位宽,注意这里说的是AXI总线位宽,并非我们说的DDR地址线,这里mig会自动帮我们计算,当然我们也可以手动验算
位宽.png



3.引脚分配,由于两片DDR的地址线共享,数据分开存放,所以两片DDR的dm(数据选通)、dqs(数据同步)、dq(数据总线)信号位宽为单片的两倍,而地址线(addr)位宽相同。

位宽.png

基于以上三点,在实际的代码设计中,就需要根据使用的是单片/双片DDR来调整dm、dqs、dq的信号位宽,以及与mig交互的AXI接口中,araddr、awaddr信号的位宽。

最后是仿真例化,ddr3的仿真模型可以通过mig的例程获取,仿真模型对应单片DDR,因此,在双片DDR的仿真中,我们需要例化两个ddr3_model,然后对dm(数据选通)、dqs(数据同步)、dq(数据总线)信号分别作控制,如下:
位宽.png





回复

使用道具 举报

  • TA的每日心情
    慵懒
    2021-2-24 10:16
  • 425

    主题

    795

    帖子

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    15967
    QQ
    发表于 2024-5-10 16:17:45 | 显示全部楼层
    使用2片ddr3芯片相较于1片的优势在于,位宽更大,所以带宽更高,同时总容量也更大。单片芯片16位的,一个时钟只能硬件传32位数据,而32位的芯片就能一个时钟传64位数据。再就是2片也扩大了容量
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|小黑屋|Archiver|芯路恒电子技术论坛 |鄂ICP备2021003648号

    GMT+8, 2024-7-27 12:25 , Processed in 0.126956 second(s), 36 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

    快速回复 返回顶部 返回列表