CN111079356B - 一种单粒子加固有效性系统级验证方法 - Google Patents
一种单粒子加固有效性系统级验证方法 Download PDFInfo
- Publication number
- CN111079356B CN111079356B CN201911285318.8A CN201911285318A CN111079356B CN 111079356 B CN111079356 B CN 111079356B CN 201911285318 A CN201911285318 A CN 201911285318A CN 111079356 B CN111079356 B CN 111079356B
- Authority
- CN
- China
- Prior art keywords
- file
- circuit
- level
- simulation
- netlist
- 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.)
- Active
Links
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明提供了一种单粒子加固有效性系统级验证方法,解决现有现有技术验证成本高、难以获知芯片工作的更多细节、无法充分说明系统加固的有效性的问题。该方法通过转化得到电路设计D的管级网表T,将管级网表T、激励S和测量M1构成完整的仿真网表,执行Spice仿真,得出基准波形;再将管级网表T、激励S、测量M2以及故障F拼接成完整的含故障源仿真网表,执行Spice仿真,记录加固电路受到粒子入射影响时待检测的各节点波形;对比波形得出粒子入射导致加固电路的出错情况,分析计算各项数据参数;每次随机选取不同的故障注入点,多次仿真并统计出错情况,进而说明电路整体的加固有效性。
Description
技术领域
本发明属于抗辐照加固的验证技术领域,涉及一种单粒子加固有效性系统级验证方法。
背景技术
空间环境中的航天器暴露在高能粒子辐射环境中,给宇航芯片的可靠性带来严峻的挑战,其中,有统计资料表明,单粒子效应引起的航天器故障占各类辐射效应异常的86%,因此针对宇航芯片多种抗单粒子加固技术被提出并应用。加固技术可以分为三个层次:系统加固、设计加固和工艺加固。与工艺加固相比,系统和设计加固可以更好地平衡加固效果和加固代价。
目前广泛采用的系统和设计加固方法包括纠错检错(EDAC)、双互锁存储单元(DICE)和三模冗余(RMR)等。然而随着工艺特征尺寸缩减,纳米工艺节点下的单粒子瞬态和多位翻转现象,对传统的加固方法提出了新的挑战,因此需要一种方法验证电路系统的加固有效性。
现有的加固有效性验证技术通常是在芯片设计全流程结束并流片后,借助粒子加速器入射试验,检测待测芯片的工作情况加以说明。不但验证成本高,而且每个测试点需要设计专用的片内检测电路,支持的监测点非常有限,无法获知芯片工作的更多细节,也不能充分说明电路系统的加固有效性。
发明内容
本发明要解决的问题是:针对工艺特征尺寸缩减,纳米工艺节点下的单粒子瞬态和多位翻转现象,现有技术验证成本高,难以获知芯片工作的更多细节,无法充分说明系统加固的有效性。
该单粒子加固有效性的系统级验证方法针对加固后的电路设计的管级网表,进行故障注入和Spice仿真,获得电路中关键信号或全部信号的状态信息,用以验证加固设计的有效性。该方法通过仿真的方法统计并验证芯片的加固有效性,同时也为追踪错误、分析加固失效原理提供一种可行的方案。
本发明是通过如下技术方案实现的:
1)给定加固后的电路设计D和输入激励S;
2)通过转化,得到电路设计D的管级网表T;
3)根据电路实际所用工艺的标准单元库文件,分析各标准单元的电路结构和端口信息;这里,标准单元库中包含一系列(若干个)的标准单元,电路设计D就是基于这些标准单元构建的(实际上是在高层次建模,由工具转化并映射为标准单元);
4)根据步骤2)中得到的管级网表T,参考步骤3)得到的端口信息,抽取得到各标准单元实例的输出端口在管级网表中的层级节点位置,然后写入测量语句文件M1;
5)将网表T,激励S和测量M1构成完整的仿真网表,然后执行Spice仿真;
6)仿真结束后,输出步骤4)所述各节点的电压波形文件R。该文件记录了加固电路在正常工作,即无粒子入射情况下各节点的波形信息,作为基准波形;
7)选定故障源模型和注入方式,将故障源注入到网表T中某些节点中,构成故障注入文件F;
8)抽取网表T中所有待检测信号所对应的节点,写入Spice的测量语句中,构成一个测量文件M2。
9)将网表T,激励S,测量M2以及故障F拼接成完整的含故障源仿真网表,执行Spice仿真;
10)仿真结束后,输出M2文件包含的各节点的波形文件W,该文件记录了加固电路受到粒子入射影响时,待检测的各节点波形信息;
11)对比波形W与所述步骤6)中的基准波形R,得出粒子入射导致加固电路的出错情况,通过编写脚本对波形文件进行后处理(具体可根据具体要统计和分析的参数,编写相应的脚本对波形文件做“后处理”),并分析计算各项数据参数;
12)重复执行上述步骤7)到步骤11),步骤7)中每次随机选取不同的故障注入点,多次仿真并统计出错情况,进而说明电路整体的加固有效性。
进一步可选地:
以上步骤中,注入和仿真是在Spice级执行,波形测量、记录、比较是在门级执行的。
以上步骤1)中的输入激励S是指电路设计D的输入向量,转化成Spice描述后是由一系列连接在输入端和GND之间的电压源构成。
以上步骤4)中的输出端口主要包括:组合逻辑单元的输出端口Z,时序逻辑单元数据输出端口Q。
以上步骤4)以及步骤9)中的M1、M2是由Spice的measure命令构成的文件,用于测量和记录电路节点的电压、电流等信息。
以上步骤7)中的故障注入文件F是由一系列连接在故障注入点和GND之间的故障电流源构成的。
本发明相比现有技术具有如下优点:
1.本发明利用Spice仿真加固后的电路的管级网表,可以精确地模拟粒子入射器件时产生的错误,以及错误在电路中的传播;
2.本发明仿真得到粒子注入前后的各检测点的波形,用户可以根据目标电路设计和所采用的加固方法,灵活地设定需要检测的节点,自定义比对规则,特别适用于宇航芯片加固可靠性的系统级验证;
3.本发明广泛适合不同复杂程度的故障注入模型,如:方波脉冲、双指数电流源、PWL电流源等,本发明可以用于但不限于三模冗余和EDAC等设计加固方案的有效性验证。采用基于版图物理位置的多节点注入模型,可以验证加固方案对电荷共享和多位翻转现象的加固有效性。
附图说明
图1为本实施例的一种单粒子加固有效性系统级验证方法流程图。
图2为本实施例针对的一种模块级三模冗余数据存储电路模块框图。
具体实施方式
下面结合附图和实施例对本发明做进一步说明。
如图1所示,一种单粒子加固有效性系统级验证方法,包括步骤如下:
1)给定加固后的电路设计D和输入激励S,其中S是由多条Spice语句构成的文件,通常是由电路D的输入向量,转化成PWL形式的电压源,连接到电路输入端口和GND上;
2)电路设计D经过转化得到管级网表描述T。有两种工作流:基于RTL和基于GDS,基于RTL的工作流,首先将RTL设计通过SynopsysDesignCompiler或CadenceGenus综合为门级网表,然后使用MentorCalibrev2lvs将门级网表转化为管级网表;基于GDS的工具流,对布局布线后的GDS文件(版图)进行反提,直接得到管级网表;
3)根据电路实际所用工艺的标准单元库文件,分析各单元的端口信息和电路结构;
4)根据所述步骤2)得到的管级网表T,参考步骤3)信息,抽取得到各标准单元实例的输出端口在管级网表中的层级节点位置,然后写入测量语句文件M1,该文件由Spice的测量语句构成,仿真结束后文件中包含的所有节点波形被保存。
5)将网表T,激励S和测量M1构成完整的仿真网表,然后执行Spice仿真,支持的仿真器包括CadenceSpectre、SynopsysHSpice、SynopsysFinesim等;
6)仿真结束后,输出步骤4)所述各节点的电压波形文件R。只需关注标准单元输出节点,而无需关注标准单元内部互联信号上的波形。该文件记录了加固电路在正常工作,即无粒子入射情况下各节点的波形信息,作为基准波形;
7)选定故障源模型和注入方式,将故障源注入到网表T中某些节点中,构成故障注入文件F,该文件是由Spice语法支持的电流源或电压源构成的,连接在注入节点和GND之间,这些电流/电压源构成的故障模型,模拟了单粒子入射对器件造成的影响,当仿真运行某一时刻,故障源向电路节点注入额外的电荷,对正常工作的电路产生一定的扰动。
8)抽取网表T中所有待检测信号所对应的节点,写入Spice的测量语句中,构成一个测量文件M2。所述步骤7)实施后,故障注入节点已经确定,此处待检测节点包括三种:①与故障注入节点物理相邻的节点;②与故障注入节点逻辑相关的节点;③其他需要检测的信号对应的节点,主要指RTL设计中的各信号。
9)将网表T,激励S,测量M2以及故障F拼接成完整的含故障源仿真网表,执行Spice仿真。
10)仿真结束后,输出M2文件包含的各节点的波形文件W,该文件记录了加固电路受到粒子入射影响时,待检测的各节点波形信息。
11)对比波形W与所述步骤6)中的基准波形R,得出粒子入射导致加固电路的出错情况。根据具体的加固方法和电路设计,编写脚本比对W与R,后处理并分析计算各项数据参数,如错误个数、潜在错误数等;
12)重复执行上述步骤7)到步骤11),步骤7)中每次随机选取不同的故障注入点,多次仿真并统计出错情况,进而说明电路整体的加固有效性。
对上述一种单粒子加固有效性系统级验证方法,以下结合具体实例,重点对所述步骤11)波形比对和数据后处理过程做进一步说明。
如图2所示是一个简单的模块级三模冗余数据存储电路,由3片相同的SRAM并联组成,SRAM1、SRAM2、SRAM3存储相同数据内容,3路数据输出经过表决器决定最终输出。所用SRAM工艺为130nm工艺,单片容量4k字节,设计供电电压1.2V,工作频率100MHz。定义存储单元错误为SRAM的6管单元输出节点逻辑状态翻转,定义数据读出错误为图2所示电路data端口读出数据错误。
为了验证该三模冗余加固结构的有效性,设置单次仿真激励时长为500个时钟周期,每次仿真随机选取100个节点注入故障,重复仿真10次,分别统计该电路的存储单元错误和读出数据错误率。
仿真激励文件在上述500个时钟周期内对SRAM的随机地址进行读写操作。
故障注入位置可以是该电路管级网表中的任意节点,包括SRAM数据存储区、SRAM外围电路(如地址译码电路)和表决电路。通过分析SRAM电路结构,确认每个数据存储位(bit)在SRAM中的层级节点位置。
测量文件M1和M2只需包括三片SRAM的所有存储位,以及表决器电路的与门和或门的输出端,其中三输入或门的输出端也是该电路数据读出端。
所述步骤11)中对基准波形R和仿真波形W进行比对,Spice仿真存储的节点波形时间连续的,而幅值是模拟电压。结合具体图2是一个时序电路,内部各节点在时钟上升沿后进行更新,因此在每个周期的0.9T处(上升沿前一刻)对各节点电压进行采样,0.72V以上(0.6·VDD)量化为逻辑1,0.48V以下(0.4·VDD)量化为逻辑0,作为该节点当前周期的逻辑状态。
每次仿真分别对比当前波形W中各节点的逻辑值与基本波形的差异,统计错误数据,同时分析故障注入文件F,得出100故障注入点位于存储单元、外围电路、表决电路中的分布。所有10次仿真结束后,对各次仿真的统计数据做和,得到下表数据:
表1
针对实施例所述电路,仿真共注入1000个故障,引发存储单元错误73,但读出数据错误仅为2个,表决电路中仅有一路信号发生错误时可以被有效纠正,两路同时发生错误的概率极低,表决电路自身受到单粒子入射时具有一定概率导致读出数据出错。证明所述三模冗余结构可以对单粒子效应进行有效加固。
以上所述,仅为本发明针对一种特定加固电路,粗略统计错误个数验证加固方法的有效性。针对具体的加固电路设计,只要给定所需统计参数和原则,均可以制定更加精细的波形比对策略和统计规则。
任何基于本发明所揭露的仿真验证加固有效性的方法所作的改进和变体,都属于本发明的保护范围。
Claims (6)
1.一种单粒子加固有效性系统级验证方法,其特征在于,包括:
1)给定加固后的电路设计D和输入激励S;
2)通过转化,得到所述电路设计D的管级网表T;
3)根据电路实际所用工艺的标准单元库文件,分析各标准单元的电路结构和端口信息;
4)根据步骤2)中得到的管级网表T,参考步骤3)得到的端口信息和电路结构,抽取得到各标准单元实例的输出端口在管级网表中的层级节点位置,然后写入测量语句文件M1;
5)将管级网表T、输入激励S和测量语句文件M1构成完整的仿真网表,然后执行Spice仿真;
6)仿真结束后,输出步骤4)中所述各节点的电压波形文件R;该电压波形文件R记录了加固电路在正常工作,即无粒子入射情况下各节点的波形信息,作为基准波形;
7)选定故障源模型和注入方式,将故障源注入到管级网表T中某些节点中,构成故障注入文件F;
8)抽取管级网表T中所有待检测信号所对应的节点,写入Spice的测量语句中,构成一个测量文件M2;
9)将管级网表T、输入激励S,测量文件M2以及故障注入文件F拼接成完整的含故障源仿真网表,执行Spice仿真;
10)仿真结束后,输出测量文件M2包含的各节点的波形文件W,该波形文件W记录了加固电路受到粒子入射影响时,待检测的各节点波形信息;
11)对比步骤10)得到的波形文件W与步骤6)得到的电压波形文件R,得出粒子入射导致加固电路的出错情况,通过编写脚本对波形文件进行后处理,分析和计算各项数据参数;
12)重复执行上述步骤7)到步骤11),步骤7)中每次随机选取不同的故障注入点,多次仿真并统计出错情况,进而说明电路整体的加固有效性。
2.根据权利要求1所述的单粒子加固有效性系统级验证方法,其特征在于:步骤7)的故障注入和步骤5)、步骤9)的仿真是在Spice级执行,步骤6)、步骤10)的波形测量、记录以及步骤11)的比较是在门级执行。
3.根据权利要求1所述的单粒子加固有效性系统级验证方法,其特征在于:所述步骤1)中的输入激励S是电路设计D的输入向量,输入激励S转化成Spice描述后是由一系列连接在输入端和GND之间的电压源构成。
4.根据权利要求1所述的单粒子加固有效性系统级验证方法,其特征在于:所述步骤4)中所述输出端口包括组合逻辑单元的输出端口Z和时序逻辑单元数据输出端口Q。
5.根据权利要求1所述的单粒子加固有效性系统级验证方法,其特征在于:所述步骤4)以及步骤9)中的测量语句文件M1、测量文件M2是由Spice的measure命令构成的文件,用于测量和记录电路节点包括电压、电流在内的信息。
6.根据权利要求1所述的单粒子加固有效性系统级验证方法,其特征在于:所述步骤7)中的故障注入文件F是由一系列连接在故障注入点和GND之间的故障电流源构成的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911285318.8A CN111079356B (zh) | 2019-12-13 | 2019-12-13 | 一种单粒子加固有效性系统级验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911285318.8A CN111079356B (zh) | 2019-12-13 | 2019-12-13 | 一种单粒子加固有效性系统级验证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111079356A CN111079356A (zh) | 2020-04-28 |
CN111079356B true CN111079356B (zh) | 2022-09-20 |
Family
ID=70314523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911285318.8A Active CN111079356B (zh) | 2019-12-13 | 2019-12-13 | 一种单粒子加固有效性系统级验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111079356B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023283891A1 (zh) * | 2021-07-15 | 2023-01-19 | 华为技术有限公司 | 用于仿真的方法、装置及设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107167725B (zh) * | 2017-03-30 | 2019-10-25 | 北京时代民芯科技有限公司 | 一种快速低开销全自动数字集成电路单粒子故障注入系统 |
CN108363894B (zh) * | 2018-05-04 | 2021-05-11 | 西安电子科技大学 | 一种电路级单粒子效应仿真平台 |
CN109558649B (zh) * | 2018-11-08 | 2023-06-09 | 北京控制工程研究所 | 一种面向宇航芯片的寄存器单粒子效应模拟仿真方法 |
CN109918723B (zh) * | 2019-01-30 | 2022-12-06 | 西安电子科技大学 | 一种基于粒子入射随机性的单粒子故障注入方法 |
-
2019
- 2019-12-13 CN CN201911285318.8A patent/CN111079356B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111079356A (zh) | 2020-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Civera et al. | Exploiting circuit emulation for fast hardness evaluation | |
US6378112B1 (en) | Verification of design blocks and method of equivalence checking of multiple design views | |
CN105069256B (zh) | 一种基于tmr的实现和故障注入仿真平台及仿真方法 | |
CN105279345B (zh) | 一种航天器用数字软ip核评测方法 | |
CN109558649B (zh) | 一种面向宇航芯片的寄存器单粒子效应模拟仿真方法 | |
US7437701B1 (en) | Simulation of a programming language specification of a circuit design | |
CN111008514A (zh) | 一种抗辐射加固模块级电路仿真测试方法 | |
US6813201B2 (en) | Automatic generation and validation of memory test models | |
Xiao et al. | A fast and effective sensitivity calculation method for circuit input vectors | |
CN111027279A (zh) | 一种针对系统级单粒子效应的混合仿真分析方法 | |
Nidhin et al. | Verification of fault tolerant techniques in finite state machines using simulation based fault injection targeted at FPGAs for SEU mitigation | |
CN111079356B (zh) | 一种单粒子加固有效性系统级验证方法 | |
JP6045351B2 (ja) | 検証装置及び検証方法 | |
KR101544649B1 (ko) | SoC에서의 오류율 분석 방법 | |
CN106886487A (zh) | 用于评价fpga软件可靠性的方法 | |
US8091052B2 (en) | Optimization of post-layout arrays of cells for accelerated transistor level simulation | |
US7398495B1 (en) | Method and apparatus for characterizing arrays using cell-based timing elements | |
Krishnamurthy et al. | Validating PowerPC microprocessor custom memories | |
JP2001052043A (ja) | 組合せ検証におけるエラー診断方法及びエラーサイト証明方法 | |
US20220269846A1 (en) | Structural analysis for determining fault types in safety related logic | |
Mao et al. | An Automated Fault Injection Platform for Fault Tolerant FFT Implemented in SRAM-Based FPGA | |
Napoles et al. | Radiation environment emulation for VLSI designs: A low cost platform based on Xilinx FPGA's | |
Guibbaud et al. | New combined approach for the evaluation of the soft-errors of complex ICs | |
Lojda et al. | Reliability Indicators for Automatic Design and Analysis of Fault-Tolerant FPGA Systems | |
CN109145480A (zh) | 一种多瞬态故障影响下的纳米集成电路可靠性评估方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |