一种用于制造后处理器芯片验证的随机验证方法及装置制造方法及图纸

技术编号:3922200 阅读:268 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种用于制造后处理器芯片验证的随机验证方法及装置。方法包括如下步骤:在指令模版中添加保留寄存器和保留内存地址相关的约束;增加寄存器初始化程序生成器、内存初始化程序生成器和指令计数器;改造随机程序生成引擎,去除原有的寄存器初始化文件生成机制和内存初始化文件生成机制,并改变原有指令序列产生终止条件;增加随机生成程序记录器、寄存器比较程序生成器和内存比较程序生成器;将运用前述用于制造后处理器芯片验证的随机指令生成方法后生成的文件转化为软件平台可调度的文件格式;指定不同程序代码段在内存中装载的起始位置;将转化为软件平台可调度的文件格式的程序代码段按照指定的起始位置装载进相应的内存地址中。

【技术实现步骤摘要】

本专利技术涉及超大规模集成电路(VLSI)设计验证领域,并具体涉及一种用于制造 后处理器芯片验证的随机验证方法及装置。
技术介绍
对大规模集成电路的设计和工艺进行验证以保证其正确性是一项重要而又艰巨 的工作。目前一款芯片在流片前,主要通过功能验证来保证正确性,而芯片流片后则通过制 造后芯片验证来寻找存在的错误,进一步保证芯片正确性。随着研究的进步,芯片制造前的 功能验证的手段越来越丰富和完善,给集成电路的验证提供了强大的支持,但是芯片制造 前的功能验证并不是一个完全枚举的过程,不能保证对每一个错误都能检测到。随着集成 电路工艺的进步、新体系结构的提出、电路规模的增大和设计的复杂化,仅仅通过制造前的 功能验证越来越难以保证在流片前一次性发现所有的错误。最近的数据显示,仍然有许多 错误在芯片流片后、甚至投入市场后被发现,为了使这些错误在芯片推向市场前得到解决, 这些流片后存在的问题,需要通过制造后芯片验证手段来发现。制造后的芯片验证受限于对设计内部状态的观测不透明和真实环境的不确定性, 发现错误和定位错误所需要的调试开销非常大。根据最近几年的统计,平均每款芯片需要 35%的开发时间用于制造后的芯片验证。为了解决制造后的芯片验证调试效率低的问题, 一个有益的想法是把芯片制造前的功能验证的方法加以改造,使其能够满足制造后甚至封 装后芯片验证的需要。目前集成电路芯片制造前的功能验证方法主要分为模拟仿真方法和形式化方法 两大类。形式化方法的应用很大程度上受制于设计规模;而模拟仿真方法能处理大规模集 成电路设计,特别是当代复杂高性能处理器,是目前处理器功能验证的主要方法。模拟仿真 方法运行的大量测试向量主要有三个来源手写测试向量、实际应用程序改造和测试向量 的随机生成。随机验证技术是当今大规模集成电路仿真验证流程中的重要支撑技术。在集成电 路验证领域,特别是处理器功能验证领域,具有重要地位。人工书写测试向量需要花费大量 的时间和人力成本,并且局限于原始应用程序的规模。经过改造后的应用程序测试向量仍 会占用过多的仿真时间,无法很好地满足各阶段回归测试的要求。这意味着大量的、覆盖范 围广泛的测试向量主要来源于随机测试向量生成。随机生成的测试向量有可能覆盖到设计 和验证人员完全没有想到的功能角落,且生成的测试向量的规模和长度灵活可控。指令级随机验证是通用处理器制造前验证的常用方法。比如专利号为 ZL200610078226.9的中国专利申请公开了一种在微处理器用户态随机验证中实现核心态 程序验证的方法,参照图1描述该方法,图1是描述了制造前处理器指令级随机验证方法的 框图,如图1所述,其通常包括7个部分,指令库101、指令模板102、约束求解器103、随机程 序生成引擎104、指令级模拟器105、指令过滤器106、仿真环境107。指令库101中包含处 理器支持的所有有效指令;指令模版102是一系列配置文件,用于进行指令的配置和规范;约束求解器103对指令模板进行求解,指导随机程序生成引擎104生成相应的指令;随机程 序生成引擎104可以有效支持配置文件约束下的指令生成;指令级模拟器105是待验证的 处理器的最简单参考模型,支持指令级仿真,提供指令的正确执行结果,同时更新指令级处 理器模拟器状态;指令过滤器106根据指令级模拟器的执行结果判断是否是非法指令,决 定是否要丢弃该指令,及时恢复该指令产生前处理器模拟器的状态;仿真环境107是包裹 在待验证处理器外层的一系列逻辑和操作,主要包括初始化、输入/输出和比较逻辑,可以 执行初始化、输入/输出和信号比较等一系列操作。进行指令级随机验证时,约束求解器103对指令模板102提供的约束进行求解,进 而指导随机程序生成引擎104从指令库101中选取符合要求的操作码,加入符合约束的操 作数,产生出一条符合约束的指令,提供给指令级处理器模拟器105,指令的模拟结果送入 指令过滤器106,如果产生的指令是非法指令则直接抛弃并恢复该条指令产生前的指令级 处理器模拟器状态,并重新产生下一条指令,否则提供指令的模拟结果给仿真环境中的比 较逻辑,同时将产生的指令也提供给仿真环境,经处理器执行后,将结果也输出到仿真环境 中的比较逻辑 ,通过二者比较可以检测处理器设计中的错误。随机验证方法在扩大芯片验证的覆盖率,提高设计错误的可调试性上具有明显的 优势,而这些优势也正是制造后的芯片验证所急需的。然而,制造后的芯片验证受限于对设 计内部状态的观测不透明和真实环境的不确定性,无法直接运用上述随机验证环境。在制 造后的芯片验证中支持随机验证,至少面临以下两方面的问题(1)在制造后的真实芯片环境中,不存在图1中的仿真环境107,这就意味着无法 象在制造前的随机验证中那样初始化仿真环境并方便地完成指令序列和数据加载,无法象 在仿真环境中那样容易地直接探测芯片的内部状态并捕获需要的各种信号,也无法在仿真 环境中加入实时的比较逻辑及时比较和发现设计中的错误。(2)在制造前的随机验证中,仿真环境可控性很强,对随机验证的约束极小。通 常情况下,对于用户态的随机程序来说,只要是设计规范规定的用户态程序允许访问的内 存空间它都可以随意使用,只要是设计规范规定的用户态程序允许使用的寄存器,,它也都 可以使用,该寄存器通常包括通用寄存器、浮点寄存器等。而对于制造后的真实芯片来说, 只能通过输入输出管脚信号来操纵芯片,芯片内部状态的可控制性和可操作性都很差。然 而,经过前期的功能验证,芯片中大多数错误已经被修正,通常制造后的真实芯片都能够运 行操作系统和一些应用软件,因而制造后的随机验证通常需要这些软件平台的支持,特别 是操作系统平台的支持,此时必须考虑软件平台对随机验证的约束和限制,例如部分寄存 器会被操作系统作为专用寄存器保留起来,一些内存空间也会被操作系统保留作为专用地 址空间,比如供动态链接库等的使用,而生成的随机程序的格式、装载、调度运行的方式也 需要相应的改进。在复杂处理器制造后的芯片验证过程中,上述问题是非常常见的,而现有的制造 后的芯片验证技术中没有针对制造后处理器芯片验证的随机验证方法的具体解决方案,无 法满足这些需求。综上所述,制造后的芯片验证在大规模复杂处理器的验证中占有的比重越来越 大,希望能够采用随机验证技术改进其调试性,同时增加验证覆盖率,而现有的用于芯片制 造前的随机验证方法无法直接应用于制造后的芯片验证,尚有一系列问题有待解决。由于现有技术的不足,人们希望有一种用于制造后处理器芯片验证的随机验证方法,满足复杂 集成电路验证的实践需要。
技术实现思路
本专利技术目的在于提供一种用于制造后处理器芯片验证的随机验证方法及装置,通 过该方法及装置,可以解决现有的芯片制造前的随机验证方法无法直接应用于制造后的芯 片验证问题,满足采用随机验证技术改进制造后的芯片验证、提高验证效率的需要。 为实现本专利技术的目的而提供一种用于制造后处理器芯片验证的随机验证方法,通 过以下技术方案来实现。一种用于制造后处理器芯片验证的随机验证方法,包括用于制造后处理器芯片验 证的随机指令生成方法和平台装载方法两部分。用于制造后处理器芯片验证的随机指令生成方法,包括如下步骤步骤1 在指令模版中添加保留寄存器和保留内存地址相关的本文档来自技高网
...

【技术保护点】
一种用于制造后处理器芯片验证的随机验证方法,其特征在于,所述方法包括下面的步骤:S1:在指令模版中添加保留寄存器和保留内存地址相关的约束,用于屏蔽保留寄存器和保留内存地址不被生成的随机验证程序使用;S2:增加寄存器初始化程序生成器、内存初始化程序生成器和指令计数器;S3:改造随机程序生成引擎,去除原有的寄存器初始化文件生成机制和内存初始化文件生成机制,并改变原有指令序列产生终止条件;S4:增加随机生成程序记录器、寄存器比较程序生成器和内存比较程序生成器;S5:将运用所述步骤S1到步骤S4的用于制造后处理器芯片验证的随机指令生成方法后生成的文件转化为软件平台可调度的文件格式;S6:指定所述步骤S1到步骤S4的用于制造后处理器芯片验证的随机指令生成方法中寄存器初始化程序生成器、内存初始化程序生成器、寄存器比较程序生成器以及内存比较程序生成器所生成的程序代码段以及随机生成的指令序列在内存中装载的起始位置;S7:将所述步骤S5转化为软件平台可调度的文件格式的程序代码段以及随机生成的指令序列分别按照所述步骤S6中指定的起始位置装载进相应的内存地址中。

【技术特征摘要】

【专利技术属性】
技术研发人员:沈海华黄静王朋宇
申请(专利权)人:北京龙芯中科技术服务中心有限公司
类型:发明
国别省市:11[中国|北京]

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

1