首页 / 产品 / 测试向量生成与故障诊断系统

集成电路测试向量自动生成与故障诊断系统 / V1.0

向量从哪来,覆盖率够不够

给一份门级网表,系统做故障建模、故障模拟与向量生成,再回答两个具体问题:这批向量的覆盖率是多少,没覆盖的那些故障里哪些其实不用补。整条链路六步走完:网表解析、故障注入、故障模拟、向量生成、覆盖率分析、报告导出。

三套引擎互相对拍

串行基准之外另写并行位打包与演绎两套故障模拟实现,三套结论必须逐故障一致,用差分随机测试守着。

覆盖率口径不糊

覆盖率与界面上的故障列表同源,不在名单里的故障不会被算成已覆盖;结构不可测与预算未决分开表述。

三种跑法

桌面窗口、浏览器、命令行三种模式共用同一套业务逻辑,功能完全一致,命令行适合没有图形界面的机器批量跑。

工作链条

六步走完

每一步都对应界面上的一个页签,前一步的输出是后一步的输入。

六个页签与各自做的事
#环节具体做什么
01网表编辑与解析 解析门级网表,识别输入输出声明、基本门与 D 触发器家族,自动拓扑排序并给出节点顺序。同时给出可测性分析与全扫描组合化预览。
02故障注入 按选定的故障模型为当前电路生成故障列表,也可以手工添加自定义故障并实时校验节点是否存在、是否重复。生成后做结构等价合并与支配吸收,把等价故障收敛掉。
03故障模拟 给定向量集,判断每个故障是否被检测。支持过渡类故障的双向量检测、故障效应传播路径展示,以及逐节点的正常值与故障值对照。
04测试向量生成 五种策略:穷举、随机、确定性回溯、敏化入口与自动。自动策略按输入规模分流:输入少时给大预算争取把空间穷尽,输入多时降预算并用可测性引导分支顺序。支持目标故障通配符筛选、n 重检测、结果去重与顺序压缩。
05覆盖率分析 给出覆盖率、故障效率与累积曲线,按门类型分组统计,把未覆盖故障分成结构不可测、预算未决与可测但缺向量三类并给补测建议,支持一键补测。
06报告导出 十类报告可选,支持多类打包成一个压缩包,报告的标题、编制人与备注可以定制,并保留最近五份历史报告。

故障模型

支持 6 类故障模型

故障编号是稳定的文本格式,界面、报告与命令行之间可以互相引用,也方便从文本反解回故障对象。

故障模型、编号格式与检测方式
故障模型编号示例说明
固定型(SA0 / SA1)SA0@y信号线固定为 0 或 1。最经典的一类,也是覆盖率统计的默认口径。
桥接bridge_wired_and:a&b两条线短路,提供线与强 0、线与强 1 两种行为模型。候选线对按邻近关系生成,避免全两两组合爆炸;每个线对只生成一个规范序故障。
过渡故障(STR / STF)STR@y信号翻转速度缺陷,需要双向量检测:前一个向量建立初值,后一个向量激活并传播。
小延迟缺陷(SDD)SDD1-STR@a过渡故障加一个幅度标注,共用双向量检测。幅度是标注性质,做不了延迟波形仿真。
路径延迟(PDF)PDF_R@a>n1>y枚举组合电路里主输入到主输出的拓扑路径,每条路径取慢升与慢降两个故障;检测要求翻转沿整条路径传播且终点达到期望电平。
IDDQiddq:a&b用两条线被驱动成相反值形成静态电流通路来建模,不依赖主输出有没有逻辑差异,所以判定方式与其它几类不同,按单向量统计。

界面上的故障模型下拉提供固定型、过渡、SDD、路径延迟与 IDDQ 五类,桥接故障经由独立的注入入口添加。软件说明书里写的「五类」指下拉里的五个选项,引擎层面实现的是六类。

在线演示

覆盖率与故障效率:自己填数试试

这是覆盖率模块的算法演示。填入故障总数、已检测数与两类未覆盖数,看两个指标差在哪、未覆盖的部分是什么性质。

覆盖率与故障效率 未覆盖故障要分类
覆盖率
--
故障效率
--
未检测故障
--
构成
--

默认值是内置基准电路 c17 的规模:5 个输入、2 个输出、6 个与非门,共 11 条信号线,每条线两个固定型故障合计 22 个。穷举 32 个输入向量即可全部覆盖,所以覆盖率是 100%。

报告

十类报告与一键交付

报告是给别人看的东西,所以格式尽量贴近现有工具链的习惯,并且支持把整套结果一次打包。

数据类

覆盖率报告 CSV、测试向量集 CSV、故障字典 CSV、摘要文本,以及用重复计数压缩过的紧凑测试集。

报告类

完整 HTML 报告,自包含单文件,可以直接用浏览器打印成 PDF。报告的标题、编制人与备注可以在导出前填写。

波形与格式类

测试波形 VCD、正常与故障双波形 VCD,以及类 STIL 与类 WGL 文本,便于与已有测试流程对接。

一键全套

一次操作走完向量生成、故障模拟、覆盖率分析与全部报告导出,结果打包成一个压缩包。

输入格式

支持三种网表写法

内置门级文本网表

以 INPUT、OUTPUT、GATE、DFF、NODE 关键字描述电路,门行写成「GATE 类型名称输入列表到输出」的形式,支持行注释。这是功能最完整的一种写法。

bench 格式

读写 ISCAS-85 与 ISCAS-89 风格的 bench 文件,支持常用门与缓冲,以及带时钟的 D 触发器子集。随包附带 c17、c432、c499、c880 四个基准电路。

结构级 Verilog 子集

导入单模块或多模块的结构描述:门原语、assign 语句与模块例化。多模块会先做层次展开再转成内部网表。

Verilog 导入明确只支持 1 位标量信号,多位总线与位选会直接报错而不是猜语义;bench 格式不支持线网扇出计数与扫描链变体。这些边界写在导入报错信息里。

时序电路

含触发器的电路怎么处理

组合逻辑与含触发器的时序逻辑走两条不同的路径,系统会明确指出该走哪条。

全扫描组合化

把每个触发器的状态输出当作伪输入、数据输入当作伪输出,变换成纯组合的扫描模型,再按组合逻辑生成向量。变换完成后会用原来的时序电路做一次捕获周期求值,核对变换前后结论一致。

时间帧展开

对规模较小的时序电路,把测试表达成连续时钟帧的输入序列,在帧数与触发器数量的预算内搜索,每个周期用带状态的故障模拟裁决结果。

预算超了就明说

帧数或触发器数超出预算时状态标为降级并提示改走全扫描路径;预算内没命中只报未证伪,不下冗余结论。

运行方式

三种跑法,同一套逻辑

桌面窗口

双击程序打开窗口,左侧配置电路与故障,右侧看结构图、故障分布与覆盖率曲线。窗口默认 1280 × 860。

浏览器

在本机起一个只监听回环地址的服务,用浏览器操作,适合把结果投到大屏上讲解。

命令行

13 个子命令覆盖网表校验、格式转换、故障模拟、向量生成、基准验证、全扫描、时间帧、故障字典与批量跑例,退出码 0 表示全部通过,适合进自动化流程。

6类故障模型固定型、桥接、过渡、小延迟、路径延迟与 IDDQ
3套模拟引擎串行、并行位打包与演绎,两两对拍
10类报告含波形 VCD 与类 STIL、类 WGL 文本
328测试用例另有 15 项差分随机测试校验三引擎一致

功能边界

这套系统不做什么

下面几条写在软件说明书的功能边界章节里,界面与命令行也会同步提示。

不做版图与时序签核

只做故障诊断与向量生成这一段,不做版图相关处理,也不做时序签核,这类需求属于商业 EDA 工具的范围。

时序是周期级模型

每个输入向量视为一个时钟周期,不做亚周期波形仿真,因此不针对具体的建立保持时间余量给结论。

路径延迟只在组合电路上枚举

含触发器的电路需要先做全扫描组合化;路径数量有上限,超出会截断并提示。

IDDQ 是教学模型

用驱动冲突形成静态电流通路的模型来判定,不等同于真实 IDDQ 测试仪的电流阈值判定。

没有实现 FAN 与 SAT 求解器

大电路上回溯搜索容易在预算内找不到向量,这类结果标为预算未决,不代表故障不可测。这一点在界面和说明书里都写明。

不生成 PDF 文件

报告 PDF 的做法是导出 HTML 报告后用浏览器打印另存,不引入 PDF 生成库,以保持运行期零第三方依赖。

运行环境

装在什么机器上

操作系统Windows 10 / 11,64 位。免安装,不需要预装开发环境
硬件建议x86-64 双核及以上,内存 4 GB 及以上,500 MB 可用磁盘
桌面窗口依赖系统自带的 WebView2 运行时;不可用时给出提示,也可改用浏览器或命令行模式
外网不需要。运行期只绑定本机回环地址,不访问外部网络
计算引擎只用编程语言自带标准库实现,故障模拟、向量生成、可测性分析与报告导出都不依赖第三方计算包

下一步

拿一块电路试一遍

给一份网表或电路规模描述,我们跑一遍向量生成与覆盖率分析,把未覆盖故障的分类和补测建议一起给你。