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

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

3天内不再提示

适用于所有人的存储器精确记忆模型

PCB线路板打样 来源:LONG 2019-08-08 11:47 次阅读

大多数电子系统使用存储器组件来存储可执行软件或存储数据,因此精确存储器模型的可用性是大多数功能验证策略的基础。在经过验证的基于标准的库中提供这些模型至关重要。本文介绍了您应该在这些模型中寻找的品质,并介绍了一个新的库,我觉得它提供了这种最全面的解决方案,并支持任何类型的仿真环境和所有三个业界领先的仿真器

内存模型要求

出于验证建模的目的,可以将存储器设备抽象为存储阵列的信号级协议接口。信号级接口必须符合存储器协议的时序和行为,这可以在行业标准中指定,例如用于DDR3的JEDEC JES79-3F标准,或者在特定情况下,它可以在设备制造商的数据表。存储阵列的实现方式对用户来说不是直接可见的,但对于仿真模型,通常使用SystemVerilog数据结构或优化的C数据结构来实现。

适用于所有人的存储器精确记忆模型

图1:内存设备模型的通用抽象

在测试平台中使用内存模型时,它被实例化为连接到内存控制器的组件,它既可以是被测设计,也可以是被测设计的一部分。使用存储器模型协议前端的信号访问存储器,并将数据传入和传出模型的存储阵列。前端协议的复杂性因存储器类型而异,但它可能涉及使用控制和状态寄存器与存储器状态空间交互的并发传输。从某些类型的内存(例如DDR)获得不错的性能依赖于控制器识别某些类型的数据流量并重新组织内存访问以优化内存中的访问速率。这种复杂程度要求高保真存储器模型不仅要重现真实存储器设备的复杂行为和时序,还要确定控制器优化是否有效。

前门访问存储器通过协议接口对于功能验证是必需的,但是将数据传入和传出存储器确实需要时间;因此,后门接口用于直接加载或卸载存储器存储阵列。后门接口通常用于在存储器模型中加载可执行软件映像,或者它可以用于加载将由硬件加速器操纵的数据内容。后门接口还可用于在测试期间检查内存内容,或者在测试结束时将内存数据与黄金参考进行比较。后门接口也可以耦合到内存调试器,以允许交互式查看和更改内存内容。

除了提供这种有用的前后门功能外,还需要其他功能来增强内存的可用性。用于验证的内存模型。内存模型应该提供一种检查正在遵循内存协议并在出现错误时标记错误的方法。这通常通过使用在发生错误时触发的断言来支持,从而更容易找到问题的根本原因。内存模型应提供功能覆盖监视器,以跟踪协议的使用方式。这可用于检查内存控制器是否已经过彻底验证,或者了解哪些模式的协议操作尚未经过测试。支持调试内存协议对于有效跟踪错误来源也很重要。

Mentor内存库

Mentor Graphics最近推出了一种全新的综合内存验证IP库,旨在满足对精确内存仿真模型日益增长的需求。新发布的Mentor内存模型库包含25种最常用的内存类型。通过配置,该库支持基于内存设备的数千个模型,用户可以创建自己的配置,允许支持几乎无限数量的模型。

表1:当前支持的内存模型类型通过Mentor内存库

DDR内存类型支持 Flash记忆类型支持
DDR2,DDR3,DDR4 SDCard
LPDRR2,LPDDR3,LPDDR4 eMMC
UDIMM(DDR2,DDR3,DDR4) ONFI
RDIMM(DDR2,DDR3,DDR4) Serial Flash
LRDIMM(DDR3,DDR4) NAND Flash
DFI NOR Flash
宽IO,宽IO2 UFS
HMC
HBM

全部库中可用的模型既可以用作独立的内存模型,也可以用作UVM代理,支持任何类型的模拟环境。这些模型适用于所有三个主要的EDA仿真平台 - 来自Mentor Graphics的Questa,来自Cadence的Incisive和来自Synopsys的VCS。

内存模型打包为SystemVerilog模块,其引脚对应于建模的内存类型。这允许它们被实例化为设计网表中的组件或测试工具的顶层。模型响应前门访问的信号级协议,并提供库中通用的后门API

模型为每种类型的内存模型提供全部功能和时序精度。这包括可选的功能模式设置和对高级操作的支持,例如训练和调平,用于微调高速协议接口(如DDR4)的响应。

模型的时序和行为是高度可配置的,允许它们被调整以具有真实存储设备的个性。每个内存模块都有一个MANUFACTURER和一个PART_NUMBER参数,允许您指定模型应该表现的设备。这些参数在模拟开始时用于在模型中设置适当的配置选项。可以将这些部件号参数的值更改为模拟器命令行选项。这使得可以更改建模的零件而无需重新编译设计和测试平台,这对于检查第二个源组件是否可以在系统设计中工作非常有用。

Mentor支持内存模型VIP配置GUI,允许您在GUI创建的测试平台中实例化特定的内存组件模型,或者创建可由内存组件加载的配置文件。通过GUI,您可以访问特定内存类型的所有可用配置选项,包括时序参数。这允许您创建自己的内存模型变体来探索特定的角点情况。 GUI生成的配置文件的路径是内存模块的另一个参数,如果指定,则覆盖MANUFACTURER和PART_NUMBER配置。

适用于所有人的存储器精确记忆模型

图2:内存模型框图

模型有一个API,因此您可以在模拟过程中重新配置它们。 API允许指定新的设备部件号或使用不同的配置文件。使用这种方法几乎可以对模型进行任何更改。但是,您必须确保行为中的任何更改都发生在测试中的合理位置,并且您必须意识到模型可能需要重新初始化或训练,具体取决于重新配置的范围。

内存模型具有其他模块级参数,可提供可选的验证功能。使用ENABLE_FUNC_COV参数激活内存协议的功能覆盖监视器。使用ENABLE _TXN_LOG参数打开内存事务记录器。内存事务记录器可写入模拟器脚本或指定的日志文件,输出可用于跟踪内存级模拟活动。

由于内存模型构建在Mentor Verification IP之上在体系结构方面,它们具有内置的事务调试工具,允许在波形窗口中查看协议活动以及其他设计级信号。此功能将内存访问抽象为高级事务,从而可以轻松了解内存协议在任何时间点发生的情况。

即时模型重新配置

Mentor内存模型的一般用例是独立模型,代表系统级别的内存设备。在这种情况下,它们在测试用例的持续时间内对设备的行为进行建模,并且不进行重新配置。但是,存在一些内存控制器验证方案,其中在模拟过程中更改模型的时序或行为是有用的。内存模型以三种方式之一支持。可以使用运行时API调用(指定新的部件号或新自定义配置文件的路径)对模型配置进行重大更改以更改部件号或将其重新配置为自定义配置。通过在模型本身中直接设置配置变量,可以进行较小的运行时更改。

每个模型的所有可用配置变量都记录在库提供的综合在线文档中。例如,通过在运行中改变适当的定时变量,可以进行微妙的定时改变以检查存储器控制器是否能够应对延迟的定时响应。

表2:内存模型模块参数

参数 目的
制造商 识别零件制造商
PART_NUMBER 标识设备部件号
CONFIG_FILE 配置GUI创建的自定义配置文件的路径
ENABLE_FUNC_COV 启用功能覆盖率监视器
ENABLE_TXN_LOG 启用事务记录器进行调试
TXN_LOG_FILE 事务记录器输出的文件路径
IF_NAME 与uvm_config_db一起用于识别模型虚拟接口句柄

可以使用Verilog或VHDL测试平台中的分层引用或SystemVerilog UVM测试平台中的虚拟接口句柄对配置变量进行更改。该模型将其虚拟接口句柄的引用放入UVM uvm_config_db数据结构中,UVM测试平台中的组件可以通过这种方式引用模型的配置参数。提供模块级参数以自定义用于存储和检索uvm_config_db模型虚拟接口句柄的路径和键字符串的命名。

结论

Mentor内存模型库提供了全面的内存建模解决方案,并提供了广泛的配置选项,可以非常轻松地对特定设备部件或自定义部件进行建模。这些模型具有内置的高级验证功能,可用于任何形式的基于仿真的验证环境,并且有资格在Questa,Incisive和VCS模拟器上运行。

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

    关注

    38

    文章

    7144

    浏览量

    161975
  • PCB打样
    +关注

    关注

    17

    文章

    2965

    浏览量

    21383
  • 华强PCB
    +关注

    关注

    8

    文章

    1831

    浏览量

    27459
  • 华强pcb线路板打样

    关注

    5

    文章

    14629

    浏览量

    42574
收藏 人收藏

    评论

    相关推荐

    什么是适用于移动设备的嵌入式大容量存储

    与多年前相比,现在的移动消费电子装置结构复杂,功能丰富,能够存储大量音乐、照片和视频内容。让人欣慰的是,存储系统的体系结构能够适应这些新的数据密集型应用。例如,适用于大容量存储的高性价
    发表于 09-03 07:22

    是否有人像使用PIC32MX那样把所有数据放入外部存储器

    大家好。我正在使用PIC32MZ和Harmony生成的TCP/IP堆栈,他将所有堆栈相关数据放入PIC本身的NVM中。我想知道是否有人像使用PIC32MX那样把所有数据放入外部存储器
    发表于 03-06 11:08

    存储器是什么?有什么作用

    1. 存储器理解存储器是计算机结构的重要组成部分,存储器是用来存储程序代码和数据的部件,有了存储器计算机才具有
    发表于 07-16 07:55

    存储器的分类

    存储器的分类存储器是计算机系统中的记忆设备,用来存放程序和数据,从不同的角度对存储器可以做不同的分类。1、按存储介质分半导体
    发表于 07-26 08:30

    外部存储器的相关资料下载

    的大小 = 一页的大小 * 多少页 * 多少块。下面着重于Nand flash和Nor flash的各个特点和共性与差异。1. 特点1.1 Nand FlashNand flash存储器具有容量较大,改写速度快等优点,适用于大量数据的
    发表于 12-10 08:26

    PANASONIC推出适用于高清视频录制的新SDHC记忆卡产

    PANASONIC推出适用于高清视频录制的新SDHC记忆卡产品阵容 PANASONIC推出适用于高清视频录制的新SDHC记忆卡产品阵容   拥
    发表于 08-28 12:24 777次阅读

    USB标准适用于哪些应用

    USB标准适用于哪些应用 通用串行总线 (USB) 外设接口已广泛应用于所有个人计算平台及众多工业和基础设施平台。不过,与此同时,人们对适用于
    发表于 04-19 14:31 1668次阅读

    基于Mayr模型改进的适用于串联故障电弧的新模型

    基于Mayr模型改进的适用于串联故障电弧的新模型_郭凤仪
    发表于 01-04 17:05 6次下载

    电量监测计:适用于所有便携式电子设备

    适用于所有便携式电子设备的精确电量监测计
    的头像 发表于 08-13 02:22 2775次阅读

    谷歌发布了最新的AI工具 成功将收获所有人的目光

    Techcrunch消息,谷歌在其年度云计算Next大会发布了最新的AI工具,成功将收获了所有人的目光。
    发表于 04-12 16:43 690次阅读

    LTC3718:适用于DDR/QDR存储器终端的低输入电压DC/DC控制器产品手册

    LTC3718:适用于DDR/QDR存储器终端的低输入电压DC/DC控制器产品手册
    发表于 05-22 16:14 6次下载
    LTC3718:<b class='flag-5'>适用于</b>DDR/QDR<b class='flag-5'>存储器</b>终端的低输入电压DC/DC控制器产品手册

    适用于istContainer和所有视图的滑动菜单库

    介绍 一个滑动菜单库,不仅适用于 ListContainer,而且适用于所有视图。 支持的功能 1、双向滑动 2、支持任意视图 3、通过id绑定布局,更自由 安装说明 方法一: 通过库生成.har
    发表于 03-22 09:21 0次下载

    适用于所有atmega328p项目的通用板

    电子发烧友网站提供《适用于所有atmega328p项目的通用板.zip》资料免费下载
    发表于 08-03 09:45 8次下载
    <b class='flag-5'>适用于</b><b class='flag-5'>所有</b>atmega328p项目的通用板

    适用于所有平台的便携式Web调试器

    电子发烧友网站提供《适用于所有平台的便携式Web调试器.zip》资料免费下载
    发表于 10-26 10:55 0次下载
    <b class='flag-5'>适用于</b><b class='flag-5'>所有</b>平台的便携式Web调试器

    LTE-M 连接适用于所有人

    LTE-M 连接适用于所有人
    的头像 发表于 12-28 09:51 1948次阅读
    LTE-M 连接<b class='flag-5'>适用于</b><b class='flag-5'>所有人</b>