当前位置: 首页 > 专利查询>清华大学专利>正文

一种在忆阻器阵列模块的电路级验证中添加随机数的方法技术

技术编号:29679581 阅读:47 留言:0更新日期:2021-08-13 22:02
本发明专利技术属于集成电路技术领域,尤其涉及一种在忆阻器阵列模块的电路级验证中添加随机数的方法。首先验证人员设定一个忆阻器阵列模块的寄存器传输级模型或行为级模型,对上述模型中的数据信号输出端口添加一个随机数,作为该模型的最后输出,根据SystemVerilog语言或Verilog语言中的条件编译语句,对随机数进行封装,得到一个封装模块,将封装模块的宏名称添加到用于忆阻器阵列模块的电路级验证的配置文件中。从电路级验证工作的角度来看,本发明专利技术方法使验证工作在电路级验证阶段就能提前预估了实际电路的一定随机偏差,可以更好地实现功能验证,让设计人员在芯片设计阶段进行调整。相比于已有技术,本发明专利技术减少了2个数量级的验证时间,节约了大量的人力物力成本。

【技术实现步骤摘要】
一种在忆阻器阵列模块的电路级验证中添加随机数的方法
本专利技术属于集成电路
,尤其涉及一种在忆阻器阵列模块的电路级验证中添加随机数的方法。
技术介绍
忆阻器(以下简称RRAM)阵列模块的寄存器传输级模型(以下简称RTL)或行为级模型是指能够模拟实际的RRAM阵列模块功能的仿真模型,它们是通过硬件描述语言(SystemVerilog语言或Verilog语言)进行表示的。该模型的随机方案是指在原有模型的基础上,通过在其输出端注入随机数,使得模型的输出具备一定的随机性,能够模拟实际RRAM阵列模块的输出,以实现电路级的更有效验证。该方案在基于忆阻器的存算一体芯片从设计到实现的电路级验证工作中扮演着重要角色。RRAM是一种新型存储器件,它是通过薄膜材料在不同的电阻状态之间的转换来实现数据存储的。基于忆阻器的存算一体技术的核心功能单元是RRAM阵列模块,它能够将存储与计算功能融为一体,但是该模块的实际电路是模拟的,并且其输出会因为IRdrop、ADC(模数转换)、信噪比而产生随机误差累积的问题。因此对基于RRAM的存算一体芯片的验证往往用的是更高层次的抽象模型或数模混仿,前者难以实现电路级的功能验证,后者仿真时间长。电路级验证工作中往往使用简单的RRAM模型,只能进行简单的功能验证。但是电路级验证对芯片的成功流片是十分重要的,否则一旦功能验证有漏洞需要重复进行,就有可能造成大量的人力物力的浪费。
技术实现思路
本专利技术的目的是提出一种忆阻器阵列模块的电路级验证中添加随机数的方法,以实现忆阻器阵列模块的有效的功能验证,为RRAM阵列的RTL或行为级模型增加了输出随机注入的方案,提升了电路级验证工作的有效性。本专利技术提出的忆阻器阵列模块的电路级验证中添加随机数的方法,包括以下步骤:(1)验证人员设定一个忆阻器阵列模块的寄存器传输级模型或行为级模型,模型中包含控制信号的输入端口定义、输出端口定义和数据信号的输入端口定义、输出端口定义;(2)对上述模型中的数据信号输出端口添加一个随机数,作为该模型的最后输出,该随机数的表达形式为SystemVerilog语言或Verilog语言写成的代码;(3)根据SystemVerilog语言或Verilog语言中的编译语句,对步骤(2)随机数的SystemVerilog语言或Verilog语言的代码进行封装,得到一个封装模块,并为封装模块设定一个宏名称,所述的封装模块中的第一部分为由编译语句中的肯定语句封装的步骤(2)中的代码,封装模块中的第二部分为由编译语句中的否定语句封装的模型中数据输出端口的数据;(4)将步骤(3)的封装模块的宏名称添加到用于忆阻器阵列模块的电路级验证的配置文件中,实现对忆阻器阵列模块的电路级验证中随机数的添加。本专利技术提出的忆阻器阵列模块的电路级验证中添加随机数的方法,其优点是:本专利技术的忆阻器阵列模块的电路级验证中添加随机数的方法,在原来的寄存器传输级或行为级模型的基础上,在输出端添加了随机数,使得该模型在电路级验证中给出带有一定随机性的输出。从电路级验证工作的角度来看,本专利技术方法,可以使验证工作在电路级验证阶段就能提前预估了实际电路的一定随机偏差,可以更好地实现功能验证,让设计人员可以在芯片设计阶段进行调整。相比于其他验证方法如数模混仿验证方法,减少了2个数量级的验证时间,节约了大量的人力物力成本。附图说明图1是本专利技术提出的一种忆阻器阵列模块的电路级验证中添加随机数的方法的流程图。图2是本专利技术和传统的无随机方案的RRAM阵列模块的对比图,其中,(a)为无随机方案,(b)为有随机方案。图3是RRAM阵列模型输出添加随机数的流程框图。图4是RRAM阵列每一路输出的随机注入示意图。图5是RRAM阵列模型中输出的名称变化示意图。具体实施方式本专利技术提出的忆阻器阵列模块的电路级验证中添加随机数的方法,其流程图如图1所示,包括以下步骤:(1)验证人员设定一个忆阻器阵列模块的寄存器传输级模型或行为级模型,模型中包含控制信号的输入端口定义、输出端口定义和数据信号的输入端口定义、输出端口定义;尤其是对每一路的输出有清晰的定义,即每一路输出根据实际电路的要求,可以是Xbit的。(2)对上述模型中的数据信号输出端口添加一个随机数,作为该模型的最后输出,该随机数的表达形式为SystemVerilog语言或Verilog语言写成的代码;(3)根据SystemVerilog语言或Verilog语言中的编译语句,对步骤(2)随机数的SystemVerilog语言或Verilog语言的代码进行封装,得到一个封装模块,并为封装模块设定一个宏名称,所述的封装模块中的第一部分为由编译语句中的肯定语句封装的步骤(2)中的代码,封装模块中的第二部分为由编译语句中的否定语句封装的模型中数据输出端口的数据,只改变了数据输出端口名称的代码;(4)将步骤(3)的封装模块的宏名称添加到用于忆阻器阵列模块的电路级验证的配置文件中,实现对忆阻器阵列模块的电路级验证中随机数的添加。上述电路级验证方法中的步骤(3)和步骤(4)之间,还可以包括,若需要在步骤(1)的RRAM阵列模型中添加一个随机函数F,则对步骤(3)的已添加随机数的RRAM阵列模型的输出再次进行随机数配置(配置方式同步骤(2)(3)(4)相同,只是步骤(2)中的输出端口名称变成了上一次添加随机数后的输出端口名称,步骤(4)中的宏名称不能与已有的宏名称重复),若不需要在步骤(3)的RRAM阵列模型中添加随机函数,则将步骤(2)中的输出作为步骤(2)中RRAM阵列模型的最后输出。其中的随机函数F的宏名称,为步骤(3)的宏名称,或多个重复步骤(2)、步骤(3)和步骤(4)进行随机数配置得到的宏名称,根据验证需要自由进行添加。上述电路级验证方法,其特征在于其中步骤(2)中添加随机数的方法为:当设定的模型为寄存器传输级模型时,则在例化模型的验证模块中对相应模型的每一路输出数据端口添加一个随机数,添加随机数的方法为:每一路输出数据端口的前(X-N)bit不变,后Nbit为通过随机函数F随机生成的一个随机数,随机数取值范围为+(2N-1)到-2N,本专利技术的一个实施例中,该随机数为7到-8,最后通过位接的方式,将前(X-N)bit和后Nbit连接起来,形成Xbit的数,作为该模型的输出;当设定的模型为行为级模型时,则在该行为级模型的每一路输出数据的尾部添加一个随机数;添加随机数的方法为:每一路输出数据端口的前(X-N)bit不变,后Nbit为通过随机函数F随机生成的一个随机数,随机数取值范围为+(2N-1)~-2N,本专利技术的一个实施例中,该随机数为7到-8,最后通过位接的方式,将前(X-N)bit和后Nbit连接起来,形成Xbit的数,作为该模型的输出。其中的随机数函数F为非均匀分布函数、均匀分布函数、高斯分布函数、Perlin噪声函数或伪函数中的任意一种。本专利技术的忆阻器阵列模块本文档来自技高网...

【技术保护点】
1.一种忆阻器阵列模块的电路级验证中添加随机数的方法,其特征在于该方法包括以下步骤:/n(1)验证人员设定一个忆阻器阵列模块的寄存器传输级模型或行为级模型,模型中包含控制信号的输入端口定义、输出端口定义和数据信号的输入端口定义、输出端口定义;/n(2)对上述模型中的数据信号输出端口添加一个随机数,作为该模型的最后输出,该随机数的表达形式为SystemVerilog语言或Verilog语言写成的代码;/n(3)根据SystemVerilog语言或Verilog语言中的编译语句,对步骤(2)随机数的SystemVerilog语言或Verilog语言的代码进行封装,得到一个封装模块,并为封装模块设定一个宏名称,所述的封装模块中的第一部分为由编译语句中的肯定语句封装的步骤(2)中的代码,封装模块中的第二部分为由编译语句中的否定语句封装的模型中数据输出端口的数据;/n(4)将步骤(3)的封装模块的宏名称添加到用于忆阻器阵列模块的电路级验证的配置文件中,实现对忆阻器阵列模块的电路级验证中随机数的添加。/n

【技术特征摘要】
1.一种忆阻器阵列模块的电路级验证中添加随机数的方法,其特征在于该方法包括以下步骤:
(1)验证人员设定一个忆阻器阵列模块的寄存器传输级模型或行为级模型,模型中包含控制信号的输入端口定义、输出端口定义和数据信号的输入端口定义、输出端口定义;
(2)对上述模型中的数据信号输出端口添加一个随机数,作为该模型的最后输出,该随机数的表达形式为SystemVerilog语言或Verilog语言写成的代码;
(3)根据SystemVerilog语言或Verilog语言中的编译语句,对步骤(2)随机数的SystemVerilog语言或Verilog语言的代码进行封装,得到一个封装模块,并为封装模块设定一个宏名称,所述的封装模块中的第一部分为由编译语句中的肯定语句封装的步骤(2)中的代码,封装模块中的第二部分为由编译语句中的否定语句封装的模型中数据输出端口的数据;
(4)将步骤(3)的封装模块的宏名称添加到用于忆阻器阵列模块的电路级验证的配置文件中,实现对忆阻器阵列模块的电路级验证中随机数的添加。


2.如权利要求1所述的电路级验证方法,其特征在于其中所述的步骤(3)和步骤(4)之间,还包括,若需要在步骤(1)的RRAM阵列模型中添加一个随机函数F,则对步骤(3)的已添加随机数的RRAM阵列模型的输出再次进行随机数配置,若不需要在步骤(3)的RRAM阵列模型中添加随机函数,则将步骤(2)中的输出作为...

【专利技术属性】
技术研发人员:吴华强毕雨穆吴大斌唐建石高滨钱鹤
申请(专利权)人:清华大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1