优化加快存储器仿真验证方法、装置、存储介质和终端
文献发布时间:2023-06-19 10:08:35
技术领域
本发明涉及储存器仿真验证技术领域,尤其涉及的是一种优化加快存储器仿真验证方法、装置、存储介质和终端。
背景技术
在存储器的设计开发过程中,其内部的存储器单元往往是采用某一工艺厂成熟的标准工艺生产的IP核,所以在存储器开发EDA验证阶段,只需要对其存储单元进行建模即可。随着存储器产品容量的越来越大,在EDA仿真验证阶段,需要构建出和存储单元具备行为一样的模拟模型,当容量越来越大时,构建的模拟模型也越来越大。在EDA仿真时需要将模拟模型例化,当做待测设计的一部分,因为模拟的存储单元模型本质上是一些数组变量,并且需要在仿真前事先开辟好内存空间,也就是说会消耗巨大的内存资源,占据大量服务器资源,从而会导致效率的降低,增加时间成本,无法快速的收敛问题。
传统做法如图1所示,例化跟设计一样容量的存储单元,EDA工具带着所有例化后的存储单元去仿真,缺陷的话是存在仿真验证速度慢,消耗内存资源大的问题,验证降低效率,且不能较快收敛,快速暴露设计缺陷,并且有遗漏bug的潜在风险,同时对研发中验证所需时间投入加大。
因此,现有的技术还有待于改进和发展。
发明内容
本发明的目的在于提供一种优化加快存储器仿真验证方法、装置、存储介质和终端,以解决上述问题。
本发明的技术方案如下:一种优化加快存储器仿真验证方法,其中,具体包括以下步骤:
随机生成验证激励;
根据验证激励例化模拟模型中对应的存储单元;
根据验证激励对例化后的存储单元进行仿真验证。
所述的优化加快存储器仿真验证方法,其中,所述模拟模型为与待测设计的存储器的存储单元一致的模型。
所述的优化加快存储器仿真验证方法,其中,所述激励包括操作指令和对应存储单元的地址。
所述的优化加快存储器仿真验证方法,其中,所述根据验证激励例化模拟模型中对应的存储单元中,若验证激励包括不同存储单元的地址,根据验证激励例化模拟模型内对应的多个存储单元。
所述的优化加快存储器仿真验证方法,其中,根据不同的验证激励遍历例化模拟模型中所有的存储单元后进行仿真验证,实现模拟模型所有存储单元的覆盖。
一种优化加快存储器仿真验证装置,其中,包括:
激励生成模块,随机生成验证激励;
例化模块,根据验证激励例化模拟模型中对应的存储单元;
验证模块,根据验证激励对例化后的存储单元进行仿真验证。
所述的优化加快存储器仿真验证装置,其中,所述优化加快存储器仿真验证装置采用验证平台实现。
所述的优化加快存储器仿真验证装置,其中,所述优化加快存储器仿真验证装置采用UVM验证平台实现。
一种存储介质,其中,所述存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行上述任一项所述的方法。
一种终端设备,其中,包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,用于执行上述任一项所述的方法。
本发明的有益效果:本发明通过提供一种优化加快存储器仿真验证方法、装置、存储介质和终端,通过动态的例化对应的存储单元,从而减少仿真服务器的资源,加快仿真验证速度,不同于传统的验证,不需要例化所有存储单元;针对不同的地址,例化对应的存储单元,通过多次快速仿真验证从而达到所有存储空间的验证,不但可以满足验证要求,而且还可以加快仿真验证的时间,提高仿真验证效率。
附图说明
图1是现有技术中例化全部存储单元的示意图。
图2是本发明中优化加快存储器仿真验证方法的步骤流程图。
图3是本发明中动态例化对应存储单元的示意图。
图4是本发明中优化加快存储器仿真验证装置的示意图。
图5是本发明中终端的示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
如图2所示,一种优化加快存储器仿真验证方法,具体包括以下步骤:
S1:构建与待测设计的flash的存储单元一致的模拟模型。
其中,构建的模拟模型和flash的存储单元具备行为一样。假设待测设计的flash的存储单元由控制块和多个存储块组成,一般的仿真验证主要针对控制块进行验证,存储块在出厂前会完成对应的测试。
S2:验证平台的搭建。
其中,搭建UVM(Universal Verification Methodology,通用验证方法学)验证平台,以实现按照flash传输协议对设计进行驱动,对设计输出进行采样,以及scoreboard数据比对等通用验证环境。
S3:验证平台随机生成激励。
其中,所述激励包括指令和相应的地址。
S4:根据激励例化模拟模型内对应的存储单元。
其中,通过验证平台生成的激励的地址的不同,动态例化出对应的存储块,而其他存储块不例化:如图3所示,实线为例化的存储块,虚线为不例化的存储块。
其中,模块的例化(Module Instance) 是指:verilog(一般指Verilog HDL,Verilog HDL是一种硬件描述语言,以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能)语言中的基本术语,是指具有某一个特定功能的Verilog module代码,在整个设计中如果包含这个module功能,则将它在设计中例化,使其成为设计中的一部分。
其中,若验证平台生成的激励存在跨存储块(cross block)的情况(即验证平台生成的激励包括不同地址的存储块),根据激励例化模拟模型内对应的多个存储单元。在实际应用中,一般仿真验证出现的跨存储块情况只会涉及两个存储块的情况,所以,当验证平台生成的激励存在跨存储块的情况时,例化激励中包含的两个不同的存储块即可。
S5:根据验证激励对例化后的存储单元进行仿真验证。
S6:重复步骤S3至S5,实现模拟模型所有存储块的覆盖,满足验证完备性的要求。
如图4所示,一种优化加快存储器仿真验证装置,包括:
激励生成模块101,随机生成验证激励;
例化模块102,根据验证激励例化模拟模型中对应的存储单元;
验证模块103,根据验证激励对例化后的存储单元进行仿真验证。
请参照图5,本发明实施例还提供一种终端。如示,终端300包括处理器301和存储器302。其中,处理器301与存储器302电性连接。处理器301是终端300的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或调用存储在存储器302内的计算机程序,以及调用存储在存储器302内的数据,执行终端的各种功能和处理数据,从而对终端300进行整体监控。
在本实施例中,终端300中的处理器301会按照如下的步骤,将一个或一个以上的计算机程序的进程对应的指令加载到存储器302中,并由处理器301来运行存储在存储器302中的计算机程序,从而实现各种功能:随机生成验证激励;根据验证激励例化模拟模型中对应的存储单元;对例化后的存储单元进行仿真验证。
存储器302可用于存储计算机程序和数据。存储器302存储的计算机程序中包含有可在处理器中执行的指令。计算机程序可以组成各种功能模块。处理器301通过调用存储在存储器302的计算机程序,从而执行各种功能应用以及数据处理。
本申请实施例提供一种存储介质,所述计算机程序被处理器执行时,执行上述实施例的任一可选的实现方式中的方法,以实现以下功能:随机生成验证激励;根据验证激励例化模拟模型中对应的存储单元;对例化后的存储单元进行仿真验证。其中,存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory, 简称SRAM),电可擦除可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory, 简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory, 简称EPROM),可编程只读存储器(Programmable Red-Only Memory, 简称PROM),只读存储器(Read-Only Memory, 简称ROM),磁存储器,快闪存储器,磁盘或光盘。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
- 优化加快存储器仿真验证方法、装置、存储介质和终端
- 优化加快存储器仿真验证方法、装置、存储介质和终端