一种超大规模集成电路vlsi形式化验证平台及方法

文档序号:10535132阅读:901来源:国知局
一种超大规模集成电路vlsi形式化验证平台及方法
【专利摘要】本发明公开了一种超大规模集成电路VLSI形式化验证平台及方法,所述验证平台包括组件:变量设置脚本、Lib读入脚本、DUT读入脚本、Env设置脚本、Report设置脚本,所述验证平台还包括处理验证平台输出结果的match/unmatch点提取脚本。本发明使用perl实现了对结果的处理,实现了对unmatch点的迭代验证的自动化进行,各待验证模块源代码、Lib各自管理,大大降低了读入时间的消耗。
【专利说明】
一种超大规模集成电路VLSI形式化验证平台及方法
技术领域
[0001]本发明涉及芯片形式化验证技术领域,具体涉及一种超大规模集成电路VLSI形式化验证平台及方法。
【背景技术】
[0002]当今超大规模集成电路复杂度高、规模大、层次多,全芯片整体验证(top-down策略)存在资源要求高、时间开销大、迭代代价高等问题,每个层次、模块发生不匹配(unmatch)情形不尽相同,增加调试的难度。
[0003]数字集成电路的集成度越来越高,逻辑复杂度及算法也愈来愈复杂,在保证时序,兼顾面积、功耗的基础上,综合工作面临很大的挑战,在网表流入后端阶段前,需确保综合后的网表同源代码设计功能的等价性。形式化验证作为一种检查流程,验证的速度、完备性,严重影响着后续工作的展开。因此,合理高效的验证平台的作用很重要。对于规模大、复杂度高的集成电路,形式化验证面临着芯片层次多、子模块多,同时还涉及到各种各样的IP库,因此,全芯片的形式化验证会耗费大量的机器、时间资源,更会提升迭代成本,会严重阻碍芯片的研发进程,所以这种方法在目前基本是不现实的。
[0004]为解决以上问题,常用自底向上的策略,但需要合理实现验证层次以及子模块的划分。高效的验证工作进展需要高效而又合理的验证脚本搭建好的验证平台及对结果的处理工作,尤其是出现未负责(unmatch)情况时如何进行迭代验证。
[0005]VLSI是超大规模集成电路(Very Large Scale Integrat1n)的简称,指几毫米见方的硅片上集成上万至百万晶体管、线宽在I微米以下的集成电路。由于晶体管与连线一次完成,故制作几个至上百万晶体管的工时和费用是等同的。大量生产时,硬件费用几乎可不计,而取决于设计费用。

【发明内容】

[0006]本发明要解决的技术问题是:针对考虑现今集成电路规模、复杂度的飞速发展,导致综合工作面临各种各样的挑战,本发明提出了一种超大规模集成电路VLSI形式化验证平台及方法,考虑到超大规模集成电路规模过大,采用自顶向下综合存在资源要求高、时间开销大的问题,同时芯片层级多、模块差别大,采用自底向上策略,模块化的实现验证平台各组件。
[0007]本发明所采用的技术方案为:
一种超大规模集成电路VLSI形式化验证平台,所述验证平台包括组件:变量设置脚本、Li b读入脚本、DUT读入脚本、Env设置脚本、Repor t设置脚本,所述验证平台还包括处理验证平台输出结果的match/unmatch点提取脚本,一旦检测验证不通过,存在unmatch点,能够使迭代工作的自动化地进行,其中:
变量设置脚本,统一设置Lib/DUT读入路径、结果输出路径及待测设置顶层名等宏变量,负责完成对各DUT顶层名、源路径、报告路径、库路径等变量的设置; Lib读入脚本,管理标准单元库及各种IP的读入,单独管理各模块Lib,减少读入时间;整个芯片会用到大量的各种IP,例如:接口和memory等,而不同模块所用到的IP是不一致或有些模块不会使用到IP,每个综合模块的库单元单独管理,实现库读入时间的大大减少;DUT读入脚本,调用变量设置脚本中的对应设置,读入源设计RTL代码,单独管理各验证模块,实现在验证不同层次、不同模块时,精确读入对应RTL代码;
Env环境设置脚本,设置验证工具对于warning (告警)、undriven (无驱动)、blackbox(黑箱)等特殊情况的处理方式,完成对undriven信号、mismatch_message (不匹配信息)及warning类型处理方式等的设置;
match/unmatch点提取脚本,负责对unmatch输出结果的处理,使其符合平台读入格式,同时对match、aborted、ver if ied 情况进行检查是否合理;针对11111]1&1:(311、1111¥61^;1^6(1、aborted报告进行处理,使其符合平台读入格式,尤其是存在unmatch点时进行迭代验证,将输出固有格式处理为set_user_match格式,同时检查unverified和aborted的情况是否符合脚本设置的约束;
Report设置脚本,调用变量设置脚本,输出分析结果、unmatch、failing(失败)、aborted(中止)、unverified(未认证)等信息至指定工作目录下;
top.tcl文件按一定顺序调用其他设置脚本,进行统一管理并负责平台的启动,实现整个项目的一致化管理。
[0008]所述Env环境设置脚本可全平台共用。
[0009]所述match/unmatch点提取脚本利用peri创建。验证可能出现成百上千乃至更多的unmatch点,而平台输出结果格式是不可直接被读入的平台环境的,因此,利用peri强大的文本处理能力,创建了match/unmatch点提取脚本,一旦检测验证不通过存在unmatch点,可以使迭代工作的自动化的进行。
[0010]Perl,一种功能丰富的计算机程序语言,运行在超过100种计算机平台上,适用广泛,从大型机到便携设备,从快速原型创建到大规模可扩展开发。
[0011]所述top.tcl文件管理脚本的读入顺序依次为:变量设置脚本、Lib读入脚本、Env设置脚本、DUT读入脚本、平台控制命令、R印or t脚本。
[0012]一种超大规模集成电路VLSI形式化验证方法,所述方法合理划分了形式化验证平台各组件Lib读入脚本、DUT读入设置脚本、Env环境设置脚本、Report设置脚本,并增加了变量设置脚本,处理验证平台输出结果的11^1:(311八1111]^1:(311点提取脚本,各个脚本通过1:(^.1:(31按一定顺序管理,实现整个项目的一致化的管理,使整个形式化验证工作更加有层次化,被划分层次或子模块能够独立进行验证,实现读入时间缩短和不同子模块并行化进行。
[0013]所述方法当最底层模块验证完成后,根据划分的层次,一级一级向上递增。
[0014]本发明的有益效果为:
本发明使用peri实现了对结果的处理,实现了对unmatch点的迭代验证的自动化进行,各待验证模块源代码、Lib各自管理,大大降低了读入时间的消耗。
【附图说明】
[0015]图1为验证平台结构示意图。
【具体实施方式】
[0016]下面结合说明书附图,根据【具体实施方式】对本发明进一步说明:
实施例1:
如图1所示,一种超大规模集成电路VLSI形式化验证平台,所述验证平台包括组件:变量设置脚本、Lib读入脚本、DUT读入脚本、Env设置脚本、Report设置脚本,所述验证平台还包括处理验证平台输出结果的match/unmatch点提取脚本,一旦检测验证不通过,存在unmatch点,能够使迭代工作的自动化地进行,其中:
变量设置脚本,统一设置Lib/DUT读入路径、结果输出路径及待测设置顶层名等宏变量,负责完成对各DUT顶层名、源路径、报告路径、库路径等变量的设置,具有全平台通用性;Lib读入脚本,管理标准单元库及各种IP(存储IP、PAD IP及其他IP库)的读入,单独管理各模块Lib,减少读入时间;整个芯片会用到大量的各种IP,例如:接口和memory等,而不同模块所用到的IP是不一致或有些模块不会使用到IP,每个综合模块的库单元单独管理,实现库读入时间的大大减少;
DUT读入脚本,调用变量设置脚本中的对应设置,读入源设计RTL代码,单独管理各验证模块,实现在验证不同层次、不同模块时,精确读入对应RTL代码;
Env环境设置脚本,负责管理工具自带变量的设置,设置验证工具对于warning、undriven、blackbox等特殊情况的处理方式,完成对undriven信号、mi smatch_message及warning类型处理方式等的设置;
matchAmmatch点提取脚本,负责统计形式化验证结果未负责unmatch的点,并处理为验证平台可接受的形式并反馈给验证平台;负责对unmatch输出结果的处理,使其符合平台读入格式,同时对match、aborted、verified情况进行检查是否合理;针对unmatch、unverified、aborted报告进行处理,使其符合平台读入格式,尤其是存在unmatch点时进行迭代验证,将输出固有格式处理为set_user_match格式,同时检查unverif ied和aborted的情况是否符合脚本设置的约束;
Report设置脚本,调用变量设置脚本,输出分析结果、unmat ch、fai ling、aborted、unverif ied等信息至指定工作目录下,负责形式化验证结果的打印与输出;
top.tcl按一定顺序调用其他设置脚本,进行统一管理并负责平台的启动,实现整个项目的一致化管理。
[0017]LIB有两种,一种是静态库,比如C-Runtime库,这种LIB中有函数的实现代码,一般用在静态连编上,它是将LIB中的代码加入目标模块(EXE或者DLL)文件中,所以链接好了之后,LIB文件就没有用了。一种LIB是和DLL配合使用的,里面没有代码,代码在DLL中,这种LIB是用在静态调用DLL上的,所以起的作用也是链接作用,链接完成了,LIB也没用了。至于动态调用DLL的话,根本用不上LIB文件。目标模块(EXE或者DLL)文件生成之后,就用不着LIB文件了;
DUT被测设备。
[0018]实施例2
在实施例1的基础上,本实施例所述Env环境设置脚本可全平台共用。
[0019]实施例3 在实施例1或2的基础上,本实施例所述matchAmmatch点提取脚本利用peri创建。验证可能出现成百上千乃至更多的unmatch点,而平台输出结果格式是不可直接被读入的平台环境的,因此,利用peri强大的文本处理能力,创建了match/unmatch点提取脚本,一旦检测验证不通过存在unmatch点,可以使迭代工作的自动化的进行。
[0020] Perl,一种功能丰富的计算机程序语言,运行在超过100种计算机平台上,适用广泛,从大型机到便携设备,从快速原型创建到大规模可扩展开发;一般被称为〃实用报表提取语言〃(Practical Extract1n and Report Language),你也可能看到〃peri〃,所有的字母都是小写的。一般,"Perl",有大写的P,是指语言本身,而"peri",小写的p,是指程序运行的解释器。
[0021 ] 实施例4
在实施例3的基础上,本实施例所述top.tcl文件管理脚本的读入顺序依次为:变量设置脚本、Lib读入脚本、Env设置脚本、DUT读入脚本、平台控制命令、R印or t脚本。
[0022]实施例5
一种超大规模集成电路VLSI形式化验证方法,所述方法合理划分了形式化验证平台各组件Lib读入脚本、DUT读入设置脚本、Env环境设置脚本、Report设置脚本,并增加了变量设置脚本,处理验证平台输出结果的match/unmatch点提取脚本,各个脚本通过top.tcl按一定顺序管理,实现整个项目的一致化的管理,使整个形式化验证工作更加有层次化,被划分层次或子模块能够独立进行验证,实现读入时间缩短和不同子模块并行化进行。
[0023]实施例6
在实施例5的基础上,本实施例所述方法当最底层模块验证完成后,根据划分的层次,一级一级向上递增。
[0024]以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
【主权项】
1.一种超大规模集成电路VLSI形式化验证平台,所述验证平台包括组件:变量设置脚本、Lib读入脚本、DUT读入脚本、Env设置脚本、Repor t设置脚本,其特征在于:所述验证平台还包括处理验证平台输出结果的match/unmatch点提取脚本,其中: 变量设置脚本,统一设置Lib/DUT读入路径、结果输出路径及待测设置顶层名宏变量,负责完成对各DUT顶层名、源路径、报告路径、库路径变量的设置; Lib读入脚本,管理标准单元库及各种IP的读入,单独管理各模块Lib,减少读入时间;DUT读入脚本,调用变量设置脚本中的对应设置,读入源设计RTL代码,单独管理各验证模块; Env环境设置脚本,设置验证工具对于warning、undriven、blackbox特殊情况的处理方式,完成对undriven信号、mismatch_message及warning类型处理方式的设置; match/unmatch点提取脚本,负责对unmatch输出结果的处理,使其符合平台读入格式,同时对match、aborted、ver if ied情况进行检查是否合理;针对11111]1&1:(311、1111¥61^;1^6(1、aborted报告进行处理,使其符合平台读入格式; Report设置脚本,调用变量设置脚本,输出分析结果、unmatch、fail ing、abor ted、unverified信息至指定工作目录下; top.tcl文件按一定顺序调用其他设置脚本,进行统一管理并负责平台的启动,实现整个项目的一致化管理。2.根据权利要求1所述的一种超大规模集成电路VLSI形式化验证平台,其特征在于:所述Env环境设置脚本全平台共用。3.根据权利要求1或2所述的一种超大规模集成电路VLSI形式化验证平台,其特征在于:所述match/unmatch点提取脚本利用per I创建。4.根据权利要求3所述的一种超大规模集成电路VLSI形式化验证平台,其特征在于:所述top.tcl文件管理脚本的读入顺序依次为:变量设置脚本、Lib读入脚本、Env设置脚本、DUT读入脚本、平台控制命令、R印or t脚本。5.一种超大规模集成电路VLSI形式化验证方法,其特征在于:所述方法合理划分了形式化验证平台各组件Lib读入脚本、DUT读入设置脚本、Env环境设置脚本、Repor t设置脚本,并增加了变量设置脚本,处理验证平台输出结果的match/unmatch点提取脚本,各个脚本通过top.tcl按一定顺序管理,实现整个项目的一致化的管理,使整个形式化验证工作更加有层次化,被划分层次或子模块能够独立进行验证,实现读入时间缩短和不同子模块并行化进行。6.根据权利要求5所述的一种超大规模集成电路VLSI形式化验证方法,其特征在于:所述方法当最底层模块验证完成后,根据划分的层次,一级一级向上递增。
【文档编号】G06F17/50GK105893685SQ201610219744
【公开日】2016年8月24日
【申请日】2016年4月11日
【发明人】张永照, 童元满, 李仁刚
【申请人】浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1