纳米、量子与分子计算中的验证技术
1. 可扩展的有界模型检查
有界模型检查(BMC)可以通过多种方法解决,如二元决策图(BDDs)、自动测试图形生成(ATPG)和可满足性求解(SAT)等。近年来,SAT方法在这方面表现出色,因此我们主要关注基于SAT的BMC。
在基于SAT的BMC中,给定一个安全或活性属性,SAT求解器会尝试确定该属性在有界长度k内的可满足性或不可满足性。具体步骤如下:
1. 电路展开 :将顺序电路展开为k个时间帧。在展开过程中,第一个时间帧的D触发器被视为伪主输入(PPIs),后续时间帧的D触发器转换为缓冲器并连接到顺序电路的组合部分,最后一个时间帧的D触发器被视为伪主输出(PPOs)。
2. 构建监测电路 :为展开后的电路构建一个名为监测电路的BMC电路,该电路对应于要验证的属性。
3. 构建CNF数据库 :为转换后的电路构建一个合取范式(CNF)数据库。
4. 求解SAT问题 :要求SAT求解器使监测电路的输出为逻辑1。
例如,对于一个有6个触发器(S1S2S3S4S5S6)的顺序电路,初始状态为(101010),需要验证安全属性EF(0X0X10)。构建的监测电路在任何k个时间帧内达到目标状态(0X0X10)时输出逻辑1,并将初始状态(101010)作为约束添加到现有的CNF中。
之前有许多方法尝试改进基于SAT的BMC,如基于BDD的近似可达性分析、局部构建BDD引入信号相关性、学习等价和蕴含关系等。但这些方法大多只关注局部网络关系,没有进行全