一种航天器用数字软IP核评测方法转让专利

申请号 : CN201510809474.5

文献号 : CN105279345B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 祝名张伟朱恒静

申请人 : 中国空间技术研究院

摘要 :

一种航天器用数字软IP核评测方法,充分考虑了航天器在空间环境下对IP核高可靠性的要求,以功能仿真的覆盖率分析、代码仿真覆盖率分析、时序分析、后仿真、功耗分析、抗辐射容错能力分析作为数字软IP核性能的评测手段,以保证航天器用数字软IP核的功能、性能、可靠性与复用性。本发明评测方法解决了空间辐射环境和航天器高可靠应用条件下的软IP核功能及性能评测难题,具有操作简便、自动化程度高、评测效率高等特点,减少了评测的操作环节,提高了评测的可操作性。

权利要求 :

1.一种航天器用数字软IP核评测方法,其特征在于包括如下步骤:

(1)将软IP核的代码导入验证平台,同时在验证平台上构建覆盖所述软IP核所有功能的测试向量;

(2)将所述测试向量作为输入,由验证平台执行寄存器传输级仿真,得到实际仿真结果,同时从验证平台获取各测试向量对应的理论仿真结果,将实际仿真结果与理论仿真结果进行比对,当两者一致时判定软IP核的功能正确,当两者不一致时判定软IP核的功能不正确,然后进入下一步;

(3)统计步骤(2)中已仿真的功能总数并计算其与软IP核的所有功能个数的比值,如果比值为1则判定软IP核功能验证充分,否则判定软IP核功能验证不充分,然后进入下一步;

(4)统计步骤(2)中软IP核所包含代码的执行数量,并计算其与软IP核的所有代码总数的比值,如果比值为1则判定软IP核代码验证充分,否则判定软IP核代码验证不充分,然后进入下一步;

(5)设定软IP核的时钟周期、软IP核输入和输出延迟参数、软IP核驱动和负载参数,利用PrimeTime时序分析工具对软IP核的代码进行时序分析,在Best、Typical、Worst三种工艺条件下,针对正常工作模式、扫描模式和复位模式,进行九次不同组合的时序分析,对软IP核中最长时序路径时间余量、接口时序时间余量、时钟域的保持时间余量进行检查,如果检查结果中存在时间余量为负值的情况,则判定软IP核时序设计错误,否则判定软IP核时序设计正确,然后进入下一步;

(6)在考虑Best、Typical、Worst三种不同工艺条件的工艺角和片上误差条件下,判定软IP核的最大扇出、最大转换时间、最大噪声是否符合流片厂的工艺SignOff标准,如不符合流片厂的工艺SignOff时序标准,则判定软IP核时序设计错误,否则判定软IP核时序设计正确,然后进入下一步;

(7)统计步骤(5)中每次时序分析过程中已经测试过的时序路径,并求取其与软IP核代码中所涉及的时序路径总数的比值,如果比值为1则判定软IP核时序分析验证充分,否则判定软IP核时序分析验证不充分,然后进入下一步;

(8)通过Calibre版图寄生参数提取工具提取全版图寄生电路参数,将所述测试向量作为输入,由验证平台执行门级仿真验证,同时从验证平台获取各测试向量对应的理论仿真结果,将实际仿真结果与理论仿真结果进行比对,当两者一致时判定软IP核的功能正确,当两者不一致时判定软IP核的功能不正确,然后进入下一步;

(9)通过RedHawk或PrimePower功耗分析工具对软IP核进行动态和静态两种状态下的功耗分析,其中动态功耗使用符合实际应用情况的测试向量进行测量,计算峰值功耗值作为动态功耗评测结果,静态功耗采用软IP核附带的RTL级功耗模型或电路级功耗模型进行测量;若功耗分析结果不满足IP核手册标称值,则判定IP核功耗超标,否则判定软IP核功耗满足要求,然后进入下一步;

(10)检查软IP核代码是否采用了冗余容错措施,如未采用任何冗余容错措施,则判定软IP核不具备抗辐射容错能力。

说明书 :

一种航天器用数字软IP核评测方法

技术领域

[0001] 本发明涉及一种航天器用数字软IP核功能的测试方法。

背景技术

[0002] IP核是构成超大规模集成电路的基本单元,SoC甚至可以定义为基于IP核的复用技术。软IP核以可综合的硬件描述语言形式提交给系统集成者,优点是灵活性强,缺点为性能方面的不可预测性。将不同供应商的IP集成到一个芯片上会带来很多问题,通常会出现:IP核的接口与系统的总线接口不匹配;使用不同层次的IP导致逻辑和时序的不可预知性、在SoC集成过程中不同IP的成熟度、可靠性水平不一等问题。为了保证宇航IP核的功能、性能、可靠性与复用性,需要对IP核的特征和属性进行测量和评估。
[0003] 国内已经发布的军用软IP核评测规范对IP核交付内容进行了规范,提出了IP核的质量要求,考虑了军用IP核高可靠性的特点。但是航天器用IP核对于可靠性的要求更高,成熟的IP核除需经过测试验证和应用验证外,还需经总剂量和单粒子等辐射环境适应性试验验证,目前已发布的软IP核评测规范无法满足宇航应用需求。
[0004] 申请号为CN201010100256.1,名称为《规范化IP核评测方法和系统》的专利公开了一种规范化IP核评测方法及系统,该方法对于硬核IP,以国家IP核标准为依据,用分值表示硬核交付项的各质量的度量项,将所有质量的度量项的评测分值求和。这种方法主要评测的是商用IP核,并不适用于在空间辐射环境和航天器高可靠应用条件下的软核IP功能及性能评测。

发明内容

[0005] 本发明解决的技术问题是:克服现有技术的不足,提供了一种针对航天器用数字软IP核的功能及性能评测方法,可解决空间辐射环境和航天器高可靠应用条件下的软核IP功能及性能评测难题,同时还具有操作简便、自动化程度高、评测效率高等特点,减少了评测的操作环节,提高了评测的可操作性及效率。
[0006] 本发明的技术解决方案是:一种航天器用数字软IP核评测方法,包括如下步骤:
[0007] (1)将软IP核的代码导入Testbench验证平台,同时在Testbench验证平台上构建覆盖所述软IP核所有功能的测试向量;
[0008] (2)将所述测试向量作为输入,由Testbench验证平台执行寄存器传输级仿真,得到实际仿真结果,同时从Testbench验证平台获取各测试向量对应的理论仿真结果,将实际仿真结果与理论仿真结果进行比对,当两者一致时判定软IP核的功能正确,当两者不一致时判定软IP核的功能不正确,然后进入下一步;
[0009] (3)统计步骤(2)中获取的功能正确的功能总数并计算其与软IP核的所有功能个数的比值,如果比值为1则判定软IP核功能验证充分,否则判定软IP核功能验证不充分,然后进入下一步;
[0010] (4)统计步骤(2)中软IP核所包含代码的执行数量,并将其与软IP核的所有代码总数的比值,如果比值为1则判定软IP核代码验证充分,否则判定软IP核代码验证不充分,然后进入下一步;
[0011] (5)设定软IP核的时钟周期、软IP核输入和输出延迟参数、软IP核驱动和负载参数,利用PrimeTime时序分析工具对软IP核的代码进行时序分析,在Best、Typical、Worst三种工艺条件下,针对正常工作模式、扫描模式和复位模式,进行九次不同组合的时序分析,对软IP核中最长时序路径时间余量、接口时序时间余量、时钟域的保持时间余量进行检查,如果检查结果中存在时间余量为负值的情况,则判定软IP核时序设计错误,否则判定软IP核时序设计正确,然后进入下一步;
[0012] (6)在考虑Best、Typical、Worst三种不同工艺条件的工艺角和片上误差条件下,判定软IP核的最大扇出、最大转换时间、最大噪声是否符合流片厂的工艺SignOff标准,如不符合流片厂的工艺SignOff时序标准,则判定软IP核时序设计错误,否则判定软IP核时序设计正确,然后进入下一步;
[0013] (7)统计步骤(5)中每次时序分析过程中已经测试过的时序路径,并求取其与软IP核代码中所涉及的时序路径总数的比值,如果比值为1则判定软IP核时序分析验证充分,否则判定软IP核时序分析验证不充分,然后进入下一步;
[0014] (8)通过Calibre版图寄生参数提取工具提取全版图寄生电路参数,将所述测试向量作为输入,由Testbench验证平台执行门级仿真验证,同时从Testbench验证平台获取各测试向量对应的理论仿真结果,将实际仿真结果与理论仿真结果进行比对,当两者一致时判定软IP核的功能正确,当两者不一致时判定软IP核的功能不正确,然后进入下一步;
[0015] (9)通过RedHawk或PrimePower功耗分析工具对软IP核进行动态和静态两种状态下的功耗分析,其中动态功耗使用符合实际应用情况的测试向量进行测量,计算峰值功耗值作为动态功耗评测结果,静态功耗采用软IP核附带的RTL级功耗模型或电路级功耗模型进行测量;若功耗分析结果不满足IP核手册标称值,则判定IP核功耗超标,否则判定软IP核功耗满足要求,然后进入下一步;
[0016] (10)检查软IP核代码是否采用了冗余容错措施,如未采用任何冗余容错措施,则判定软IP核不具备抗辐射容错能力。
[0017] 本发明与现有技术相比的优点在于:本发明方法可以对软IP核进行抗辐射容错能力分析,保证了其空间辐射环境适应性;方法对软IP核进行100%覆盖率的功能仿真、95%以上覆盖率的后仿真、以及九次不同工艺和工作模式组合下的时序分析,保证了软IP核在航天器高可靠应用条件下的稳定工作;同时通过创建模拟脚本和时序分析脚本,提高了自动化程度高和评测效率。

附图说明

[0018] 图1为本发明方法的流程图。

具体实施方式

[0019] 如图1所示,为本发明方法的流程图,主要步骤如下:
[0020] 步骤1:对IP核进行功能覆盖率分析。
[0021] 步骤1.1:建立IP验证平台(testbench)。Testbench包含验证平台顶层文件system.v和测试向量列表Vector.v两个文件。system.v中包含待测模块例化、测试向量引用、激励施加和输出监测功能。Vector.v用于产生测试用的激励,激励需要覆盖IP核的所有功能,共包含测试语句N条(N≥1)。
[0022] Testbench里面不但有测试输入的向量而且还有其对应输出的正确结果,通过向待测模块施加N条测试语句,输出和testbench里面的正确结果进行比较,如果结果不正确,则输出ERROR,判定IP核功能不正确。
[0023] 步骤1.2:创建模拟脚本。创建仿真命令脚本用以完成验证环境的配置。
[0024] 在UNIX系统下使用bash语言设置Debussy、vcs、modelsim、Verilog XL等电子自动化(EDA)仿真工具的环境变量,包括建立仿真工作目录、编译软IP核代码和设置运行仿真工具命令,以实现EDA仿真工具调入Testbench进行仿真验证。
[0025] 步骤1.3:软IP核代码导入验证平台。
[0026] 步骤1.4:执行仿真。执行模拟脚本中的仿真工具运行命令runsim,将Testbench调入到EDA仿真工具中,并在EDA仿真工具中执行寄存器传输级(RTL)仿真验证。在EDA仿真工具中遍历所有N条输入测试向量后,验证软IP核各独立模块的功能正确性、模块在系统中接口功能正确性、以及IP核整体功能正确性。
[0027] 步骤1.5:模拟结果输出。仿真记录与结果文件为verilog.log,该文件详细记录了IP验证过程中每一个测试语句的结果信息。验证过程中屏幕会打印中间运行结果,也可以在当前目录打开veilog.log文件,查看验证结果。
[0028] 步骤1.6:功能覆盖率分析:查看verilog.log仿真记录文件中已测试功能条目,根据公式(1)计算功能覆盖率分析结果,如功能覆盖率未达到100%,则判定IP核功能验证不充分。
[0029] 功能覆盖率=已测试功能/软IP核定义功能  (1)
[0030] 步骤2:对IP核进行代码覆盖率分析。
[0031] 查看verilog.log仿真记录文件中已测试语句、分支和状态机代码条目,根据公式(2)计算代码覆盖率分析结果,如代码覆盖率未达到95%以上,则判定IP核代码验证不充分。
[0032] 代码覆盖率=已测试代码/软IP核代码  (2)
[0033] 步骤3:对IP核进行时序验证。
[0034] 步骤3.1:创建时序分析脚本。在UNIX系统下利用TCL语言创建时序分析脚本,设定IP核的时钟周期、IP核输入和输出延迟参数、设定IP核驱动和负载参数、设定时序分析软件读入IP核代码、调用时序分析软件、设定时序分析软件输出IP核时序分析结果和约束文件。
[0035] 步骤3.2:进行时序检查。在Synopsys公司的PrimeTime时序分析软件环境下,运行时序分析脚本文件,执行时序分析命令。对正常工作模式、扫描模式和复位模式下的IP核进行时序分析。
[0036] 步骤3.3:时序结果分析。
[0037] 时序余量及覆盖率分析:在三种(Best、Typical、Worst)工艺条件下,针对正常工作模式、扫描模式和复位模式,进行九次不同组合的时序分析,对IP核中最长时序路径时间余量、接口时序时间余量、时钟域的保持时间余量进行检查。如时间余量为负值,则判定IP核时序设计错误;
[0038] 根据公式(3)计算时序分析覆盖率分析结果,如时序分析时的覆盖率未达到100%,则判定IP核时序分析验证不充分。
[0039] 时序分析覆盖率=已测时序路径/软IP核时序路径  (3)
[0040] SignOff时序标准分析:在考虑三种不同工艺条件的工艺角(Corner)和片上误差(OCV)条件下,评估最大扇出、最大转换时间、最大噪声是否符合流片厂的工艺SignOff标准,如不符合流片厂的工艺SignOff时序标准,则判定IP核时序设计错误。
[0041] 步骤4:后仿真验证。通过Calibre版图寄生参数提取工具提取薄氧、多晶、金属填充图形等全版图寄生电路参数。执行模拟脚本中的仿真工具运行命令runsim-anno,将Testbench和全版图寄生电路参数调入到EDA仿真工具中,并在EDA仿真工具中执行门级仿真验证。在不同电压和温度组合下运行N条测试语句,遍历所有N条输入测试向量后,验证软IP核各独立模块的功能正确性、模块在系统中接口功能正确性、以及IP核整体功能正确性。如功能覆盖率未达到100%,则判定IP核后仿真验证不充分。
[0042] 步骤5:功耗分析。通过RedHawk或PrimePower功耗分析工具进行动态和静态情况两种状态下功耗分析。动态功耗使用IP核的提供商提供的符合实际应用情况的测试向量进行测量,计算峰值功耗值作为动态功耗评测结果。静态功耗采用IP核附带的RTL级功耗模型或电路级功耗模型进行测量。如功耗分析结果不满足IP核手册标称值,则判定IP核功耗超标。
[0043] 步骤6:抗辐射容错能力分析。检查软IP核代码是否采用了时间冗余、空间冗余等容错措施。如未采用任何容错措施,则判定软IP核不具备抗辐射容错能力。
[0044] 实施例
[0045] 下面以Triple DES IP核为例对本发明方法进行进一步说明。
[0046] (1)Triple DES IP核的Testbench包含验证平台顶层文件system.v和测试向量列表Vector.v两个文件。system.v中包含Triple DES IP模块例化、测试向量(key1、key2、key3、3des in)引用、激励施加和输出监测功能。Vector.v用于产生测试用的激励,包含key1、key2、key3、3des in共四条测试语句。通过向Triple DES IP例化模块施加key1、key2、key3、3des in共四条测试语句,输出结果和测试向量的3des out进行比较,如果key1、key2、key3、3des in任意一条测试语句与3des out结果不一致,则输出ERROR,判定IP核功能不正确。
[0047] 设置synopsys公司的vcs仿真工具变量。进入triple_des/prune/ts目录,执行runsim命令运行triple_des RTL级验证。验证过程中屏幕会打印中间运行结果和最终结果,也可以在当前目录,开veilog.log文件,查看验证结果。
[0048] (2)在测试功能覆盖率和代码覆盖率时所使用的工具为synopsys公司的vcs。在vcs仿真工具下遍历key1、key2、key3、3des in共四条测试语句,获得Triple DES IP核的功能覆盖率和代码覆盖率结果。在vcs仿真工具下不但可以得到关于代码覆盖率的详细的文本报告,也可以通过运行vcs下的图形交互界面得到比较直观的关于代码覆盖率的表格,同样也可以知道是具体的哪条源代码没有被执行到。如果功能覆盖率低于100%,判定IP核功能验证不充分;如果代码覆盖率低于95%,判定IP核代码验证不充分。
[0049] (3)时序分析采用了Synopsys公司的PrimeTime-SI-2012.06作为评估工具。根据Triple DES IP核的功能特点,时序分析评估采用了基于模式的分析方法,确定的模式包括工作模式、扫描模式以及MBIST模式。根据Triple DES IP核的工艺特点对每一种模式,采用了六种不同PVT工作条件进行时序分析,分别为1)Best Corner 1.32V、-55℃;2)Best Corner 1.32V、125℃;3)Typical Corner 1.2V、25℃;4)Typical Corner 1.2V、125℃;5)Worst Corner 1.08V、125℃;6)Worst Corner 1.08V、-55℃。对IP核中最长时序路径时间余量、接口时序时间余量、时钟域的保持时间余量进行检查。如时间余量为负值,则判定IP核时序设计错误;如时序分析覆盖率未达到,则判定IP核时序分析验证不充分;如最大扇出、最大转换时间、最大噪声是否符合流片厂的工艺SignOff标准,如不符合流片厂的工艺SignOff时序标准,则判定IP核时序设计错误。
[0050] (4)通过后端提供的网表文件与SDF文件,对Triple DES IP核进行后仿真验证。执行runsim–anno命令运行triple_des门级验证,在Triple DES测试平台下遍历key1、key2、key3、3des in共四条测试语句确认端口时序是否满足设计需求;检查设计内部是否有不满足的时序,包括各时钟域之间的信号交互等;如果key1、key2、key3、3des in任意一条测试语句与3des out结果不一致,则输出ERROR,判定IP核功能不正确。
[0051] (5)采用了基于概率的功耗分析方法,利用RedHawk-V10.2.4p2作为功耗评估工具,通过估计信号的转换概率进行功耗的仿真。根据电路特性以及功耗分析工具默认设置,选取20%的逻辑门翻转状态下的功耗特性分析。根据工艺def文件和物理库(.lef),时序库(.lib)还有模块的gds文件导入设计,再根据时序约束文件sdc导入时钟信息,计算功耗、电压降和电迁移。如功耗分析结果不满足IP核手册标称值,则判定IP核功耗超标。
[0052] (6)抗辐射容错能力分析,检查Triple DES IP核代码是否采用了三模冗余、二模冗余、时序滤波加固措施。如未采用,则判定软IP核不具备抗辐射容错能力。
[0053] 本发明说明书中未作详细描述的内容属本领域技术人员的公知技术。