0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

跳过DDR VIP模型的初始化

星星科技指导员 来源:synopsys 作者:Nasib Naser 2023-05-26 18:02 次阅读

在博客 DDR VIP 模型的无缝快速初始化中,我们讨论了内存 VIP 模拟可以选择快速完成重置和初始化过程并进入空闲状态并开始读取和写入内存位置的重要性。我们提出了一种方法来实现这一点,即在完成重置和初始化所需的所有JEDEC标准步骤时缩小所需的时序。

在这篇博客中,我们将讨论 Synopsys Memory VIP 如何允许完全跳过初始化,同时保持模型的正确行为。

使用 Synopsys 内存 VIP 的 Skip 初始化功能可确保模型处于空闲状态,从而绕过重置过程的要求。在该状态下,VIP 已准备好接受 REF、MRSACT 等命令。允许的命令如图 1 – DDR3 SDRAM JEDEC 标准 JESD79-3F 状态图和图 2 – DDR4 SDRAM JEDEC 标准 JESD79-4 状态图所示。

pYYBAGRweMCAKkQCAAEkWga73sc970.png

图 1 – DDR3 SDRAM JEDEC 标准 JESD79-3F 状态图

pYYBAGRweMSAXJgWAAFNqzZamCA386.png

图 2 – DDR4 SDRAM JEDEC 标准 JESD79-4 状态图

跳过初始化功能适用于 DDR3、DDR4。应该注意的是,使用skip init在后门设置后重置将清除所有设置并设置回默认值。

对于离散设备,我们可以使用以下方法将VIP设置为跳过初始化模式:

// dram_cfg is handle of class svt_ddr_confitugation
dram_cfg.skip_init = 1

对于 DIMM 设备,我们可以使用以下步骤将 VIP 设置为跳过 DIMM 型号上的初始化序列:

// dimm_cfg is handle of svt_ddr_dimm_configuration and
// configuring the skip_init setting for individual DRAM
// configurations with DIMM structure
foreach(dimm_cfg.data_lane_cfg[i]) begin
foreach(dimm_cfg.data_lane_cfg[i].rank_cfg[j]) begin
dimm_cfg.data_lane_cfg[i].rank_cfg[j].skip_init = 1;
end
end
// Skip initialization setting for RCD component within an
// RDIMM and LRDIMM
dimm_cfg.ca_buffer_cfg.skip_init = 1;

在通过config_db机制传递配置对象之前,应在构建阶段完成离散和 DIMM 型号的跳过初始化设置。

此外,这些设置可以在构建阶段之后完成,但用户必须调用 reconfigure() 方法来更新模型中的设置。这必须在接口上执行任何命令之前完成。

以下是 reconfigure() 方法调用的语法:

// For Discrete Device Model
env.mem_agent.reconfigure(dram_cfg);
// For DIMM Model
env.dimm_env.reconfigure(dimm_cfg);

在随后的博客中,我们将讨论如何使用前门和后门访问设置模式寄存器

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    30

    文章

    5018

    浏览量

    117598
  • DDR4
    +关注

    关注

    12

    文章

    289

    浏览量

    40266
  • Ref
    Ref
    +关注

    关注

    0

    文章

    19

    浏览量

    27781
收藏 人收藏

    评论

    相关推荐

    请问CCS调试中GEL和uboot 谁的DDR初始化有效?GEL的初始化是不是长期有效,uboot到底执行初始化了吗?

    本帖最后由 一只耳朵怪 于 2018-5-25 14:51 编辑 我用CCS5调试uboot因为启动板子时加载了GEL之后才load了uboot原本以为DDR初始化用最近的uboot设置
    发表于 05-25 02:19

    DDR3初始化问题

    成800MHz的时候DDR出现错误,我在程序和表格中都对频率做了修改。 对于DDR3的初始化和配置还是了解的不够,还望有人能够指教一下。
    发表于 06-21 12:48

    C6678 boot过程中DDR3初始化问题

    通常调试时用gel文件进行初始化就够了,但如果想把代码放在DDR3中运行,这样的话,boot时就需要先对DDR3初始化代码才能正常运行,找了下boot talbe 中有关于SDRAM的
    发表于 06-21 06:38

    CCSv5,C66xx新建工程gel初始化DDR

    使用CCSv5.4,C6670,MCSDK,需要在debug load时初始化DDR,使用官方EVM板及自己的测试板,问题:1.使用EVM板,新建工程,工程中不建立sy***ios的 .cfg
    发表于 01-03 11:31

    6657的DDR3初始化不成功

    最近我在调试自制6657板子的DDR3初始化,发现一个很奇怪的现象,百思不得其解,我分别用GEL和KEYSTONE DDR3 INIT 在6657EVM开发板上做DDR3
    发表于 01-08 10:19

    如何从.mem文件初始化加密的ddr4内存模型

    大家好,有谁知道如何从.mem文件初始化加密的ddr4内存模型?在参考fromxapp1180项目时,发现使用以下命令初始化ddr3内存:
    发表于 05-11 09:17

    如何在simulink初始化电机参数

    如何在simulink初始化电机参数?最近有很多同学问,在模型里面为什么有Ld、Lq、Ts等参数,这些参数如何设置。这些参数在simulink里面是可以宏定义的,也就是可以初始化。1、初始化
    发表于 07-07 07:05

    stm32系统时钟初始化

    复位为默认状态,然后再开始配置时钟。最后配置完成的时钟如图所示:参考STM32 中文参考手册p118步骤如下:PS:以下注释中的寄存器名字意义请参考STM32中文手册p60,其中有很多的条件编译,没有执行的部分均直接跳过初始化流程按照战舰V3的逻辑分析。1、RCC->C
    发表于 08-10 07:37

    端口初始化初始化中断

    目录PA9(TX),PA10(RX)1、端口初始化2、初始化外设3、初始化中断4、使能中断5、使能外设5、发送数据PA9(TX),PA10(RX)1、端口初始化1.开启PA时钟2.PA
    发表于 08-16 06:54

    初始化封装

    初始化封装您可以在 Mask Editor 的 Initialization 窗格中添加 MATLAB® 代码以初始化封装模块。Simulink® 将执行这些初始化命令以便在关键时刻(如模型
    发表于 08-27 07:17

    C6678使用GEL或库初始化DDR性能差别较大

    请问一下,我在使用C6678时,使用GEL或库初始化DDR性能差别较大,同样的代码,GEL初始化时快30ms左右,是正常的吗?
    发表于 06-13 10:53

    DDR初始化后的LX2160ARDB DDR内存访问总是失败怎么处理?

    通过 JTAG 手动初始化 DDR 控制器后,我试图访问 DDR 内存区域,但它总是失败据我了解,必须使用信任区地址空间控制器映射区域,因此我尝试执行 lsdk2012 中的 u-boot 所做
    发表于 03-29 07:58

    如何让KeyStone DDR3接口初始化的详细资料概述

    只要遵循适当的步骤,对KeyStone DSPs的DDR3 DRAM控制器的初始化是直接的。然而,如果省略了某些步骤,或者如果以错误的顺序执行一些序列敏感的步骤,DDR3操作将是不可预测的。
    发表于 04-28 11:09 9次下载
    如何让KeyStone <b class='flag-5'>DDR</b>3接口<b class='flag-5'>初始化</b>的详细资料概述

    DDR VIP模型的无缝快速初始化

    DDR 验证是任何 SoC 中最关键和最复杂的任务之一,因为它涉及位于 DUT 内部的控制器和位于板载 DUT 外部的外部 DDR 存储器。在这里,我们将讨论 DDR VIP
    的头像 发表于 05-29 09:10 852次阅读
    <b class='flag-5'>DDR</b> <b class='flag-5'>VIP</b><b class='flag-5'>模型</b>的无缝快速<b class='flag-5'>初始化</b>

    DDR4-初始化、训练和校准

    上电与初始化是由一系列精心设计的步骤组成的序列(sequence)。一般来说,在系统上电之后,ASIC/FPGA/处理器中的 DDR 控制器会被从复位状态中释放,自动执行上电与初始化序列。下文中列举了一个超简化的控制器所做的工作
    的头像 发表于 07-03 11:48 3661次阅读
    <b class='flag-5'>DDR</b>4-<b class='flag-5'>初始化</b>、训练和校准