CN113255287A - 一种基于ral的otp寄存器验证方法 - Google Patents
一种基于ral的otp寄存器验证方法 Download PDFInfo
- Publication number
- CN113255287A CN113255287A CN202110555736.5A CN202110555736A CN113255287A CN 113255287 A CN113255287 A CN 113255287A CN 202110555736 A CN202110555736 A CN 202110555736A CN 113255287 A CN113255287 A CN 113255287A
- Authority
- CN
- China
- Prior art keywords
- register
- otp
- verification
- ral
- level description
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/38—Circuit design at the mixed level of analogue and digital signals
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明公开了一种基于RAL的OTP寄存器验证方法,该方法包括:步骤1:搭建基于RAL的寄存器通用验证平台;步骤2:将随机数据写入OTP器件仿真模型的数据文件中;步骤3:获取当前OTP寄存器抽象级描述文件;步骤4:基于当前寄存器抽象级描述文件,更新基于RAL的寄存器通用验证平台;步骤5:在基于RAL的寄存器通用验证平台上运行预定义的寄存器的复位值验证测试用例,验证OTP控制逻辑正确性。本发明基于寄存器抽象层的验证方法学RAL对OTP寄存器进行双重验证,不仅验证寄存器复位值与读写属性是否符合设计说明书,实现对OTP寄存器的高效验证,还验证了OTP控制逻辑的正确性。
Description
技术领域
本发明涉及寄存器验证领域,具体涉及一种基于RAL(寄存器抽象层的验证方法学)的OTP寄存器验证方法。
背景技术
在数模混合的芯片设计中,为了给模拟模块提供修正值,通常需要在数字模块中应用到一次性可编程器件(One Time Programmable,OTP)。一次性可编程器件OTP的特点是只能烧写一次,且芯片掉电后数据不丢失。使用一次性可编程器件OTP存储的模拟修正值,需要在芯片制造完成后,通过测试确定最优修正值,再烧写至一次性可编程器件OTP中,最优修正值在OTP寄存器复位完成后,从OTP器件中载入对应的寄存器中,以保证芯片的正常工作。目前对普通寄存器的验证主要通过验证普通寄存器的复位值和读写属性是否与设计说明书相一致,从而间接地验证普通寄存器复位值和读写逻辑的正确性,而对于OTP寄存器不仅要验证其复位值和读写属性是否与设计说明书相一致,还需要验证OTP寄存器获取的OTP值与OTP设计说明书是否一致,才能够验证OTP控制逻辑的正确性,但是目前现有技术中针对普通寄存器的验证方法并不能满足对OTP控制逻辑正确性的验证。
发明内容
为解决上述问题,本发明提供了一种基于RAL的OTP寄存器验证方法,基于寄存器抽象层的验证方法学(Register Abstract Layer,RAL)对OTP寄存器进行双重验证,不仅验证寄存器复位值与读写属性是否符合设计说明书,还验证了OTP控制逻辑的正确性,实现对OTP寄存器的高效验证。本发明的具体技术方案如下:
一种基于RAL的OTP寄存器验证方法,方法包括如下步骤:步骤1:搭建基于RAL的寄存器通用验证平台,然后进入步骤2;步骤2:将随机数据写入OTP器件仿真模型的数据文件中,然后进入步骤3;步骤3:获取当前寄存器抽象级描述文件,然后进入步骤4;步骤4:基于当前寄存器抽象级描述文件,更新基于RAL的寄存器通用验证平台,然后进入步骤5;步骤5:在基于RAL的寄存器通用验证平台上运行预定义的寄存器的复位值验证测试用例,验证OTP控制逻辑正确性。
与现有技术相比,本发明通过搭建基于RAL的寄存器验证平台,结合写入随机数据的OTP器件仿真模型的数据文件,运行预定义的寄存器复位值测试用例,实现对OTP寄存器的高效低成本验证,确保OTP控制逻辑的正确性。
进一步地,所述基于RAL的OTP寄存器验证方法在步骤1前还包括:获取OTP相关信息;其中,所述OTP相关信息包括OTP寄存器信息、OTP器件地址与OTP寄存器地址的映射关系信息;所述OTP寄存器信息包括OTP寄存器地址信息、OTP寄存器字段信息、OTP寄存器复位值信息。本技术方案通过设计说明书获取OTP寄存器信息,以及OTP寄存器地址与OTP器件地址的映射关系,以用于后续验证OTP控制逻辑正确性;不仅验证了OTP寄存器复位值和读写属性是否与设计说明书一致,还验证了OTP寄存器获取的OTP值是否与设计说明书一致,从而实现对OTP控制逻辑正确性的验证,确保了OTP控制逻辑的正确性,实现OTP寄存器的双重验证。
进一步地,步骤1所述搭建基于RAL的寄存器通用验证平台具体包括如下步骤:步骤11:基于所述OTP寄存器,建立寄存器抽象级描述文件,然后进入步骤12;步骤12:基于VCS仿真器提供的Ralgen命令读取步骤11中所述初始寄存器抽象级描述文件,生成初始寄存器抽象级描述类,然后进入步骤13;步骤13:建立总线驱动模型,创建事务适配器,芯片执行复位操作,然后进入步骤14;步骤14:芯片复位结束后,OTP控制逻辑将OTP器件中存储的数据全部载入到OTP寄存器中,然后进入步骤15;步骤15:在验证环境中关联初始寄存器抽象级描述类和事务适配器。本技术方案通过搭建基于RAL的寄存器验证平台,实现对OTP寄存器的复位值和读写属性与设计说明书是否一致的验证。
进一步地,步骤2中所述将随机数据写入OTP器件仿真模型的数据文件中具体是指,在OTP器件仿真模型中的每一个地址对应存储随机数据。本技术方案通过对OTP器件仿真模型的数据文件中写入随机数据,以保证对OTP寄存器的验证的随机性,通过采用OTP器件仿真模型使得对OTP寄存器的验证不受OTP器件仅能烧写一次数据的局限性影响,使用OTP器件仿真模型能够实现多次烧写模拟,从而确保OTP控制逻辑正确性验证结果的准确度。
进一步地,步骤3所述获取当前寄存器抽象级描述文件的方法具体包括:基于步骤2中OTP器件仿真模型的数据文件和所述OTP寄存器信息,建立当前寄存器抽象级描述文件。
进一步地,步骤4中所述更新基于RAL的寄存器通用验证平台具体包括如下步骤:步骤41:将基于RAL的寄存器通用验证平台的初始寄存器抽象级描述文件更新替换为当前寄存器抽象级描述文件,然后进入步骤42;步骤42:基于VCS仿真器提供的Ralgen命令读取所述当前寄存器抽象级描述文件,生成当前寄存器抽象级描述类,然后进入步骤43;步骤43:将基于RAL的寄存器通用验证平台的初始寄存器抽象级描述类更新替换为当前寄存器抽象级描述类。本技术方案中通过将当前寄存器抽象级描述文件代替初始寄存器抽象级描述文件,以实现基于RAL的寄存器通用验证平台的部分更新,再根据更新后的当前寄存器抽象级描述文件生成当前寄存器抽象级描述类代替初始寄存器抽象级描述类,以实现基于RAL的寄存器通用验证平台另一部分的更新,从而使得该基于RAL的寄存器通用验证平台能够灵活地对同一OTP寄存器进行多次验证,多重验证结果结合保证验证结果的准确度。
进一步地,所述步骤5具体包括如下步骤:步骤51:运行预定义的寄存器的复位值验证测试用例过程中获取仿真日志,然后进入步骤52;步骤52:分析仿真日志,判断本次运行预定义的寄存器的复位值验证测试用例是否生成错误信息,若是,则统计已生成的错误信息数量,然后进入步骤53;步骤53:判断已生成的错误信息数量是否达到第一预设值,若否,则返回步骤51,继续本次预定义的寄存器的复位值验证测试用例的运行,直至错误信息数量达到第一预设值,或者直至完成本次预定义的寄存器复位值验证测试用例的运行,结束OTP寄存器的验证,若是,则结束本次预定义的寄存器复位值验证测试用例的运行,结束OTP寄存器的验证。本步骤通过判断本次预定义的寄存器的复位值验证测试用例的运行过程中已生成的错误信息数量是否达到第一预设值,以确定是否需要结束本次预定义的寄存器的复位值验证测试用例的运行,避免出现已生成的错误信息影响后续测试用例运行结果的问题。
进一步地,步骤51还包括:运行预定义的寄存器的复位值验证测试用例过程中,每检测到一次OTP寄存器载入的OTP值与OTP器件仿真模型的数据文件中对应地址的数据不一致,则仿真日志中记录一条错误信息。本技术方案通过运行预定义的寄存器的复位值验证测试用例,基于仿真日志记录错误信息,以验证OTP控制逻辑正确性。
进一步地,所述基于RAL的OTP寄存器验证方法还包括:如果步骤52中所述预定义的寄存器的复位值验证测试用例的本次运行过程中未生成错误信息且预定义的寄存器的复位值验证测试用例的重复运行次数未达到第二预设值,则返回步骤2;若所述预定义的寄存器的复位值验证测试用例的重复运行次数达到第二预设值且运行过程中未生成错误信息,则结束OTP寄存器的验证;若所述预定义的寄存器的复位值验证测试用例在重复运行过程中生成错误信息,则按照步骤53执行错误信息数量判断,然后结束OTP寄存器的验证。其中,所述重复运行次数是指所述预定义的寄存器的复位值验证测试用例的运行过程中未生成错误信息的连续运行次数。本技术方案通过通过多次运行预定义的寄存器的复位值验证测试用例,从而保证全面验证OTP控制逻辑的正确性,保证OTP控制逻辑的验证结果是经过多次、反复测试得出的具有较高准确性的结果。
进一步地,步骤3中生成的当前寄存器抽象级描述文件与步骤2中所述OTP器件仿真模型数据文件满足所述OTP器件地址与OTP寄存器地址的映射关系;所述当前寄存器抽象级描述文件中的OTP寄存器的复位值与所述OTP器件仿真模型数据文件中所对应地址存储的值相一致;其中,OTP器件仿真模型数据文件中的地址与OTP寄存器的地址符合所述OTP器件地址与OTP寄存器地址的映射关系;所述对应地址是指OTP寄存器的地址按照所述映射关系所对应的OTP器件仿真模型数据文件中的OTP器件地址。
附图说明
图1为本发明一种实施例所述基于RAL的OTP寄存器验证方法的流程示意图。
图2为本发明一种实施例所述基于RAL的OTP寄存器验证方法的详细流程示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚,以下将结合附图及具体实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用于解释本申请,并不用于限定本申请。基于本申请提供的具体实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,对于本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计、制造或者生产变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
除非另作定义,本申请所涉及的技术术语或科学术语应当为本申请所属技术领域内普通技术人员所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可以表示单数或复数。本申请所涉及的术语“包含”、“包括”、“具有”以及它们任何变形,意图在于覆盖不排他的包含,例如:包含了一系列步骤或模块的过程、方法、系统、产品或设备并不限定于已列出的步骤或模块或单元,而是还可以包括没有列出的步骤或模块或单元,或者还可以包括对于这些过程、方法、产品或设备固有的其他步骤或单元。本申请所涉及的术语“第一”、“第二”、“第三”仅仅是区别类似的对象,不代表针对对象的特定排序。
本发明的一种实施例中提供一种基于RAL的OTP寄存器验证方法,图1是本发明实施例的基于RAL的OTP寄存器验证方法的概述流程图,如图1所述,所述基于RAL的OTP寄存器验证方法包括如下步骤:
步骤1:获取OTP相关信息,然后进入步骤2;其中,所述OTP相关信息包括OTP寄存器信息、OTP器件地址与OTP寄存器地址一对一的映射关系信息;所述OTP相关信息是基于描述设计说明书的微软表格获取的;所述设计说明书包括OTP寄存器说明书、OTP器件地址与OTP寄存器地址的映射关系说明书;所述OTP器件地址与OTP寄存器地址的映射关系说明书,用于描述OTP器件地址与OTP寄存器地址一对一的映射关系信息;所述OTP寄存器说明书,用于描述OTP寄存器信息,如:OTP寄存器地址信息、OTP寄存器字段信息、OTP寄存器复位值信息等。
步骤2:搭建基于RAL的寄存器通用验证平台,然后进入步骤3;其中,所述RAL是指寄存器抽象层的验证方法学(Register Abstract Layer,RAL),是由Synopsys公司推出的寄存器验证方案,主要是通过将对寄存器的验证操作封装在一个模型之内,通过映射完成对寄存器的验证工作,通过这个方案对于寄存器的维护工作只需要通过修改该模型就能完成;搭建所述基于RAL的寄存器验证平台,以实现对OTP寄存器的双重验证,不仅验证OTP寄存器复位值与读写属性是否符合设计说明书,还验证了OTP控制逻辑的正确性,实现对OTP寄存器的高效验证。
步骤3:将随机数据写入OTP器件仿真模型的数据文件中,然后进入步骤4;具体地,所述将随机数据写入OTP器件仿真模型的数据文件中是指,在OTP器件仿真模型的数据文件中的每一个地址对应存储一个随机数据,以使得OTP器件仿真模型中每一个OTP器件地址对应存储的值都是随机的;所述OTP器件仿真模型的数据文件中存储的随机数据会在OTP寄存器复位完成后由OTP控制器载入到相应OTP寄存器的字段中。
步骤4:获取当前寄存器抽象级描述文件,然后进入步骤5;具体地,所述当前寄存器抽象级描述文件的获取方法可以是但不限于由脚本或人工输入的方式读取步骤1设计说明书中记载的OTP寄存器信息和步骤3中OTP器件仿真模型的数据文件从而获取。
步骤5:基于当前寄存器抽象级描述文件,更新基于RAL的寄存器通用验证平台,然后进入步骤6;具体地,基于OTP器件仿真模型的数据文件结合设计说明书中的OTP寄存器信息,对基于RAL的寄存器通用验证平台进行更新替换,这一步骤是为了使得基于RAL的寄存器通用验证平台能够针对目标待验证的OTP寄存器适应性调整验证信息。
步骤6:基于RAL的寄存器通用验证平台运行预定义的寄存器的复位值验证测试用例,验证OTP控制逻辑正确性;其中,所述预定义的寄存器的复位值验证测试用例是用于检测OTP寄存器中的复位值是否与设计说明书中OTP寄存器的复位值信息一致,还用于检测OTP寄存器获取的OTP值是否符合设计说明书中OTP器件地址与OTP寄存器地址的映射关系。
本发明的另一种实施例中提供了一种基于RAL的OTP寄存器验证方法,图2是本发明实施例中所述基于RAL的OTP寄存器验证方法的具体流程图,如图2所示,基于RAL的OTP寄存器验证方法的具体步骤包括:
步骤101:获取OTP相关信息,然后进入步骤201;具体地,本步骤中的OTP相关信息是通过读取描述OTP寄存器的微软办公表格获取的;所述描述OTP寄存器的微软办公表格基于设计说明书生成;所述OTP相关信息包括OTP寄存器信息、OTP器件地址与OTP寄存器地址一对一的映射关系信息;所述设计说明书包括OTP寄存器说明书、OTP器件地址与OTP寄存器地址的映射关系说明书;所述OTP器件地址与OTP寄存器地址的映射关系说明书,用于描述OTP器件地址与OTP寄存器地址一对一的映射关系信息;所述OTP寄存器说明书,用于描述OTP寄存器信息,如:OTP寄存器地址信息、OTP寄存器字段信息、OTP寄存器复位值信息等。基于本步骤,用户只需根据微软办公表格的格式将设计说明书中的内容对应填写到微软表格中,在增加或减少或变更寄存器时,只需要改变描述OTP寄存器的微软办公表格中的相应信息,重新搭建基于RAL的寄存器通用验证平台就能够实现验证,避免了因为寄存器变化而可能带来的差错。
步骤201:根据所述OTP相关信息中的OTP寄存器信息,建立初始寄存器抽象级描述文件,然后进入步骤202;具体地,所述初始寄存器抽象级描述文件的建立方法可以是但不限于通过脚本或人工输入的方式读取所述描述OTP寄存器的微软办公表格建立。
步骤202:基于VCS仿真器提供的Ralgen命令读取初始寄存器抽象级描述文件,生成初始寄存器抽象级描述类,然后进入步骤203;所述VCS仿真器是一种编译型Verilog模拟器,用于实现电路仿真,验证Synopsys公司推出的寄存器验证方案,具有高性能、大规模和高精度的特点。
步骤203:建立总线驱动模型,创建事务适配器,芯片执行复位操作,然后进入步骤204;具体地,所述总线驱动模型用于将寄存器的读写事务转换成符合相应总线时序的信号;所述事务适配器用于将事务转换为总线信号,或者将总线信号封装为事务。
步骤204:芯片复位结束后,将OTP器件的值全部载入至OTP寄存器中,然后进入步骤205。
步骤205:在验证环境中,关联初始寄存器抽象级描述类和事务适配器,完成基于RAL的寄存器通用验证平台的搭建,然后进入步骤301;具体地,等待验证的寄存器信息是由寄存器抽象级描述类给出的,因此将寄存器抽象级描述类和事务适配器关联,以便于后续事务适配器对寄存器抽象类给出的寄存器信息进行信号事务转换。
优选地,步骤201至步骤205是对所述基于RAL的寄存器通用验证平台的搭建流程。
步骤301:向OTP器件仿真模型的数据文件中的每一个地址对应存储一个随机数据,然后进入步骤401;具体地,通过在OTP器件仿真模型的数据文件中的每一个地址对应存储一个随机数据,以使得OTP器件仿真模型中每一个OTP器件地址对应存储的值都是随机的;由于OTP器件只能实现一次性的烧写,本方法中使用OTP器件仿真模型对OTP器件进行仿真检测,能够节省OTP器件生产前控制逻辑正确性的检测成本,提高设计效率。
步骤401:基于OTP器件仿真模型的数据文件结合所述OTP寄存器信息,建立当前寄存器抽象级描述文件,然后进入步骤501;具体地,基于OTP器件仿真模型的数据文件结合OTP寄存器信息生成的当前寄存器抽象级描述文件,相较于初始寄存器抽象级描述文件,对于待验证的OTP寄存器更适配,能够使得基于RAL的寄存器通用验证平台更好更高效的实现对OTP控制逻辑正确性的验证。本步骤通过Perl脚本基于OTP器件仿真模型的数据文件结合OTP寄存器信息生成当前寄存器抽象级描述文件,优选地,当前寄存器抽象级描述文件还可以通过其他脚本或者程序生成。
步骤501:将基于RAL的寄存器验证平台中的初始寄存器抽象级描述文件更新替换为当前寄存器抽象级描述文件,然后进入步骤502;具体地,将初始寄存器抽象级描述文件更新替换为当前寄存器抽象级描述文件,以使得基于RAL的寄存器验证平台能够根据当前验证的OTP寄存器信息适应性调节验证信息。
步骤502:基于VCS仿真器提供的Ralgen命令读取当前寄存器抽象级描述文件,生成当前寄存器抽象级描述类,然后进入步骤503;具体地,所述VCS仿真器是指编译型Verilog模拟器,是由Synopsys提供的一种工具,用于对数字IC设计进行仿真。
步骤503:将基于RAL的寄存器通用验证平台的初始寄存器抽象级描述类更新替换为当前寄存器抽象级描述类,然后进入步骤601;
优选地,当OTP器件仿真模型的数据文件中的数据发生变化,则需要通过生成最新的当前寄存器抽象级描述文件和最新的当前寄存器抽象级描述类,以实现对基于RAL的寄存器通用验证平台进行更新,。
优选地,步骤401至步骤503是对所述基于RAL的寄存器通用验证平台的更新流程。
步骤601:运行预定义的寄存器的复位值验证测试用例过程中获取仿真日志,然后进入步骤602;具体地,所述预定义的寄存器的复位值验证测试用例是用于检测OTP寄存器中的复位值是否与设计说明书中OTP寄存器的复位值信息一致,还用于检测OTP寄存器获取的OTP值是否符合设计说明书中OTP器件地址与OTP寄存器地址的映射关系;所述仿真日志是在所述预定义的寄存器的复位值验证测试用例运行后生成的,所述仿真日志用于记录所述预定义的寄存器的复位值验证测试用例运行过程产生的信息;所述运行过程产生的信息包含运行过程中检测到OTP寄存器中复位值不符合设计说明书而产生的错误信息;运行预定义的寄存器的复位值验证测试用例过程中,每检测到一次OTP寄存器载入的OTP值与OTP器件仿真模型的数据文件中对应地址的数据不一致,则仿真日志中记录一条错误信息。
步骤602:分析仿真日志,判断本次运行预定义的寄存器的复位值验证测试用例是否生成错误信息,若是,则统计已生成的错误信息数量,然后进入步骤603;其中,所述错误信息数量是指所述预定义的寄存器的复位值验证测试用例运行过程中产生的错误信息条数。
步骤603:判断已生成的错误信息数量是否达到第一预设值,若否,则进入步骤604,若是,则结束本次预定义的寄存器复位值验证测试用例的运行,结束OTP寄存器的验证;其中,所述第一预设值是预先配置于所述基于RAL的寄存器通用验证平台中,用于限定单次预定义的寄存器的复位值验证测试用例的运行过程中生成的错误信息数量的值,当单次预定义的寄存器的复位值验证测试用例的运行过程中已生成的错误信息数量等于第一预设值时,则结束本次预定义的寄存器复位值测试用例的运行。
步骤604:判断本次预定义的寄存器复位值测试用例是否运行完成,若是,则结束OTP寄存器的验证,若否,则返回步骤601,继续本次预定义的寄存器复位值验证测试用例的运行。
具体地,在单次预定义的寄存器验证测试用例的运行过程中,若已生成的错误信息数量达到第一预设值,则直接结束本次预定义的寄存器验证测试用例的运行,结束OTP寄存器的验证;反之,在单次预定义的寄存器验证测试用例的运行过程中,若存在已生成的错误信息且已生成的错误信息数量未达到第一预设值,则继续本次预定义的寄存器验证测试用例的运行,直至错误信息数量达到第一预设值,或者直至本次预定义的寄存器验证测试用例的运行完成,结束OTP寄存器的验证,以便于技术人员基于生成的错误信息对OTP控制逻辑进行修正,待OTP的控制逻辑修正后,再重新验证OTP控制逻辑的正确性。
优选地,步骤602中,若本次运行预定义的寄存器验证测试用例的过程中未生成错误信息且预定义的寄存器的复位值验证测试用例的重复运行次数未达到第二预设值,则返回步骤301,重复运行预定义的寄存器复位值验证测试用例;若所述预定义的寄存器的复位值验证测试用例的重复运行次数达到第二预设值且运行过程中未生成错误信息,则结束OTP寄存器的验证;若所述预定义的寄存器的复位值验证测试用例在重复运行过程中生成错误信息,则按照步骤603至步骤604执行错误信息数量判断,然后结束OTP寄存器的验证;其中,所述第二预设值是预先配置于所述基于RAL的寄存器通用验证平台中,用于限定所述预定义的寄存器的复位值验证测试用例的重复运行次数的值;所述重复运行次数是指所述预定义的寄存器的复位值验证测试用例的运行过程中未生成错误信息的连续运行次数。
具体地,当预定义的寄存器的复位值验证测试用例的运行过程中生成一条或一条以上的错误信息,在结束OTP寄存器的验证后,技术人员基于生成的错误信息对OTP控制逻辑进行修正。
本发明实施例中公开的基于RAL的OTP寄存器验证方法,通过初始化描述OTP寄存器的微软办公表格,搭建基于RAL的寄存器通用验证平台对OTP寄存器进行双重验证,不仅验证了OTP寄存器复位值和读写属性是否与寄存器设计说明书一致,还验证了OTP寄存器获取的OTP值是否与设计说明书一致,从而实现对OTP控制逻辑正确性的验证,确保了OTP控制逻辑的正确性,达到对OTP寄存器高效验证的目的。
显然,上述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,各个实施例之间的技术方案可以相互结合。在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。在本发明所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
需要说明的是流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括 一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所述出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改, 或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种基于RAL的OTP寄存器验证方法,其特征在于,该方法包括如下步骤:
步骤1:搭建基于RAL的寄存器通用验证平台,然后进入步骤2;
步骤2:将随机数据写入OTP器件仿真模型的数据文件中,然后进入步骤3;
步骤3:获取当前寄存器抽象级描述文件,然后进入步骤4;
步骤4:基于当前寄存器抽象级描述文件,更新基于RAL的寄存器通用验证平台,然后进入步骤5;
步骤5:在基于RAL的寄存器通用验证平台上运行预定义的寄存器的复位值验证测试用例,验证OTP控制逻辑正确性。
2.根据权利要求1所述的基于RAL的OTP寄存器验证方法,其特征在于,所述基于RAL的OTP寄存器验证方法在步骤1前还包括:获取OTP相关信息;其中,所述OTP相关信息包括OTP寄存器信息、OTP器件地址与OTP寄存器地址的映射关系信息;所述OTP寄存器信息包括OTP寄存器地址信息、OTP寄存器字段信息、OTP寄存器复位值信息。
3.根据权利要求2所述的基于RAL的OTP寄存器验证方法,其特征在于,步骤1所述搭建基于RAL的寄存器通用验证平台具体包括如下步骤:
步骤11:基于所述OTP寄存器信息,建立初始寄存器抽象级描述文件,然后进入步骤12;
步骤12:基于VCS仿真器提供的Ralgen命令读取步骤11中所述初始寄存器抽象级描述文件,生成初始寄存器抽象级描述类,然后进入步骤13;
步骤13:建立总线驱动模型,创建事务适配器,芯片执行复位操作,然后进入步骤14;
步骤14:芯片复位结束后,OTP控制逻辑将OTP器件中存储的数据全部载入到OTP寄存器中,然后进入步骤15;
步骤15:在验证环境中关联初始寄存器抽象级描述类和事务适配器。
4.根据权利要求1所述的基于RAL的OTP寄存器验证方法,其特征在于,步骤2中所述将随机数据写入OTP器件仿真模型的数据文件中具体是指,在OTP器件仿真模型的数据文件中的每一个地址对应存储一个随机数据。
5.根据权利要求2所述的基于RAL的OTP寄存器验证方法,其特征在于,步骤3所述获取当前寄存器抽象级描述文件的方法具体包括:基于步骤2中OTP器件仿真模型的数据文件、OTP器件地址与OTP寄存器地址的映射关系信息和所述OTP寄存器信息,建立当前寄存器抽象级描述文件。
6.根据权利要求3所述的基于RAL的OTP寄存器验证方法,其特征在于,步骤4中所述更新基于RAL的寄存器通用验证平台具体包括如下步骤:
步骤41:将基于RAL的寄存器通用验证平台的初始寄存器抽象级描述文件更新替换为当前寄存器抽象级描述文件,然后进入步骤42;
步骤42:基于VCS仿真器提供的Ralgen命令读取所述当前寄存器抽象级描述文件,生成当前寄存器抽象级描述类,然后进入步骤43;
步骤43:将基于RAL的寄存器通用验证平台的初始寄存器抽象级描述类更新替换为当前寄存器抽象级描述类。
7.根据权利要求1所述的基于RAL的OTP寄存器验证方法,其特征在于,所述步骤5具体包括如下步骤:
步骤51:运行预定义的寄存器的复位值验证测试用例过程中获取仿真日志,然后进入步骤52;
步骤52:分析仿真日志,判断本次运行预定义的寄存器的复位值验证测试用例是否生成错误信息,若是,则统计已生成的错误信息数量,然后进入步骤53;
步骤53:判断已生成的错误信息数量是否达到第一预设值,若否,则返回步骤51,继续本次预定义的寄存器的复位值验证测试用例的运行,直至错误信息数量达到第一预设值,或者直至完成本次预定义的寄存器复位值验证测试用例的运行,结束OTP寄存器的验证,若是,则结束本次预定义的寄存器复位值验证测试用例的运行,结束OTP寄存器的验证。
8.根据权利要求7所述的基于RAL的OTP寄存器验证方法,其特征在于,步骤51还包括:运行预定义的寄存器的复位值验证测试用例过程中,每检测到一次OTP寄存器载入的OTP值与OTP器件仿真模型的数据文件中对应地址的数据不一致,则仿真日志中记录一条错误信息。
9.根据权利要求7所述的基于RAL的OTP寄存器验证方法,其特征在于,所述基于RAL的OTP寄存器验证方法还包括:
如果步骤52中所述预定义的寄存器的复位值验证测试用例的本次运行过程中未生成错误信息且预定义的寄存器的复位值验证测试用例的重复运行次数未达到第二预设值,则返回步骤2;
若所述预定义的寄存器的复位值验证测试用例的重复运行次数达到第二预设值且运行过程中未生成错误信息,则结束OTP寄存器的验证;
若所述预定义的寄存器的复位值验证测试用例在重复运行过程中生成错误信息,则按照步骤53执行错误信息数量判断,然后结束OTP寄存器的验证。
10.根据权利要求2所述基于RAL的OTP寄存器验证方法,其特征在于,步骤3中生成的当前寄存器抽象级描述文件与步骤2中所述OTP器件仿真模型数据文件满足所述OTP器件地址与OTP寄存器地址的映射关系;所述当前寄存器抽象级描述文件中的OTP寄存器的复位值与所述OTP器件仿真模型数据文件中所对应地址存储的值相一致;其中,OTP器件仿真模型数据文件中的地址与OTP寄存器的地址符合所述OTP器件地址与OTP寄存器地址的映射关系;所述对应地址是指OTP寄存器的地址按照所述映射关系所对应的OTP器件仿真模型数据文件中的OTP器件地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110555736.5A CN113255287B (zh) | 2021-05-21 | 2021-05-21 | 一种基于ral的otp寄存器验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110555736.5A CN113255287B (zh) | 2021-05-21 | 2021-05-21 | 一种基于ral的otp寄存器验证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113255287A true CN113255287A (zh) | 2021-08-13 |
CN113255287B CN113255287B (zh) | 2023-03-14 |
Family
ID=77183513
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110555736.5A Active CN113255287B (zh) | 2021-05-21 | 2021-05-21 | 一种基于ral的otp寄存器验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113255287B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117672340A (zh) * | 2023-12-15 | 2024-03-08 | 上海先楫半导体科技有限公司 | 面向一次性可编程自动化芯片系统验证方法、装置及终端 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080232151A1 (en) * | 2007-03-23 | 2008-09-25 | Sigmatel, Inc. | System and method to control one time programmable memory |
CN103838653A (zh) * | 2012-11-27 | 2014-06-04 | 上海华虹集成电路有限责任公司 | 基于vmm ral的寄存器自动化验证方法 |
CN104410396A (zh) * | 2014-12-09 | 2015-03-11 | 杭州士兰微电子股份有限公司 | 半导体器件校正系统及校正方法 |
CN106354598A (zh) * | 2016-10-14 | 2017-01-25 | 无锡中微爱芯电子有限公司 | 一种基于快闪存储器的一次性可编程微控制器调试方法 |
CN109273041A (zh) * | 2018-08-29 | 2019-01-25 | 珠海市微半导体有限公司 | 一种otp的写入方法 |
CN110096402A (zh) * | 2019-05-06 | 2019-08-06 | 盛科网络(苏州)有限公司 | 对芯片数据异常处理逻辑的验证装置和方法 |
CN110136769A (zh) * | 2019-04-16 | 2019-08-16 | 珠海市杰理科技股份有限公司 | Otp寄存器数据修正方法、装置、计算机设备和存储介质 |
CN112131829A (zh) * | 2020-09-18 | 2020-12-25 | 山东云海国创云计算装备产业创新中心有限公司 | 一种芯片寄存器的验证方法、系统及相关装置 |
-
2021
- 2021-05-21 CN CN202110555736.5A patent/CN113255287B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080232151A1 (en) * | 2007-03-23 | 2008-09-25 | Sigmatel, Inc. | System and method to control one time programmable memory |
CN103838653A (zh) * | 2012-11-27 | 2014-06-04 | 上海华虹集成电路有限责任公司 | 基于vmm ral的寄存器自动化验证方法 |
CN104410396A (zh) * | 2014-12-09 | 2015-03-11 | 杭州士兰微电子股份有限公司 | 半导体器件校正系统及校正方法 |
CN106354598A (zh) * | 2016-10-14 | 2017-01-25 | 无锡中微爱芯电子有限公司 | 一种基于快闪存储器的一次性可编程微控制器调试方法 |
CN109273041A (zh) * | 2018-08-29 | 2019-01-25 | 珠海市微半导体有限公司 | 一种otp的写入方法 |
CN110136769A (zh) * | 2019-04-16 | 2019-08-16 | 珠海市杰理科技股份有限公司 | Otp寄存器数据修正方法、装置、计算机设备和存储介质 |
CN110096402A (zh) * | 2019-05-06 | 2019-08-06 | 盛科网络(苏州)有限公司 | 对芯片数据异常处理逻辑的验证装置和方法 |
CN112131829A (zh) * | 2020-09-18 | 2020-12-25 | 山东云海国创云计算装备产业创新中心有限公司 | 一种芯片寄存器的验证方法、系统及相关装置 |
Non-Patent Citations (2)
Title |
---|
徐文健: "基于UVM的车载MCU验证平台设计", 《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》 * |
林玉新: "基于VMM RAL的寄存器验证方法的研究", 《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117672340A (zh) * | 2023-12-15 | 2024-03-08 | 上海先楫半导体科技有限公司 | 面向一次性可编程自动化芯片系统验证方法、装置及终端 |
CN117672340B (zh) * | 2023-12-15 | 2024-05-24 | 上海先楫半导体科技有限公司 | 面向一次性可编程自动化芯片系统验证方法、装置及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN113255287B (zh) | 2023-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106940428B (zh) | 芯片验证方法、装置及系统 | |
JP2014203314A (ja) | Ecuシミュレーション装置 | |
CN110941934B (zh) | 一种fpga原型验证开发板分割仿真系统、方法、介质及终端 | |
CN113255287B (zh) | 一种基于ral的otp寄存器验证方法 | |
CN114530188A (zh) | 一种半导体测试方法、系统及存储介质 | |
US8140315B2 (en) | Test bench, method, and computer program product for performing a test case on an integrated circuit | |
CN111767589A (zh) | 基于汽车安装点静刚度的批处理方法、系统、终端及存储介质 | |
CN106933696A (zh) | Ecc功能验证方法 | |
CN109669669B (zh) | 误码生成方法及误码生成器 | |
CN108228965B (zh) | 一种存储单元的仿真验证方法、装置和设备 | |
US7647570B2 (en) | System and method for checking equivalence between descriptions | |
CN107704351B (zh) | 一种芯片的验证方法和装置 | |
CN114117977A (zh) | 一种用于自动验证处理器系统场景的方法 | |
JP2007034833A (ja) | 機能検証記述生成装置,機能検証記述生成方法,及び機能検証記述生成プログラム | |
JP4526596B2 (ja) | 信号遅延評価プログラム、信号遅延評価方法、および信号遅延評価装置 | |
CN103294837B (zh) | 一种集成电路的验证调试方法及系统 | |
KR102558036B1 (ko) | Python을 활용한 RTL 설계 검증 자동화 방법 및 시스템 | |
CN116955040A (zh) | 一种芯片读写性能测试方法、系统、设备及存储介质 | |
CN107436757A (zh) | 电控单元软件版本校验方法、装置及车辆 | |
CN110991129B (zh) | 一种基于fpga的密码协处理器全自动仿真验证方法 | |
CN103678114B (zh) | 产生断言的设备和方法以及验证处理器的设备和方法 | |
CN112307589A (zh) | 单位工况创建方法、装置、电子设备及存储介质 | |
CN109342917A (zh) | 时钟信号的验证方法和装置 | |
CN115510782B (zh) | 定位验证错误的方法、电子设备和存储介质 | |
JP2011034517A (ja) | 等価性検証装置、そのデータ処理方法、およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 519000 2706, No. 3000, Huandao East Road, Hengqin new area, Zhuhai, Guangdong Applicant after: Zhuhai Yiwei Semiconductor Co.,Ltd. Address before: Room 105-514, No.6 Baohua Road, Hengqin New District, Zhuhai City, Guangdong Province Applicant before: AMICRO SEMICONDUCTOR Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |