新闻动态
形式化验证如何助力超大规模芯片设计?
来源: | 作者:望安科技 | 发布时间: 7天前 | 53 次浏览 | 分享到:

引言


随着集成电路规模的不断扩大,从设计到流片(Tape-out)的全流程中,验证环节的核心地位日益凸显。有效的验证不仅是设计完美的基石,更是确保电路在实际应用中稳定运行的保障。尤为关键的是,逻辑或功能错误是导致流片失败的首要原因,占比高达50%。功能验证正是解决这一难题的利器,它助力工程师精准识别逻辑设计漏洞、性能不达标问题以及设计代码中的功能缺陷,从而最大限度地规避流片风险。
针对超大规模集成电路(VLSI)设计,目前功能验证有两种方法:动态仿真验证和形式化验证(Formal Verification)。形式化验证采用数学方法来比较原设计和修改设计之间的逻辑功能的异同,而动态仿真验证是对两设计施加相同的激励后,观测电路对激励的反应异同。
面对大型设计,传统的动态仿真验证方法在覆盖率和效率上面临挑战。为了达到100%的覆盖率,动态仿真验证所需要的矢量就会越多,这时形式化验证在这方面就有优势了,成为现代IC设计验证流程中的关键一环。

什么是形式化验证

形式化验证是一种基于严格数学推理的设计验证技术,它摒弃了物理测试与模拟的依赖,专注于通过静态、全面的逻辑分析来确保设计的正确性。此方法显著降低了对庞大测试集的需求,并力求实现接近完美的验证覆盖率。
形式化验证作为EDA、数学及编程语言等多学科交叉的产物,自上世纪90年代起便崭露头角,最初应用于RTL代码与门级网表的LEC(逻辑等价性检查),随后逐步扩展到各类EDA工具,以应对不同验证场景的需求。
目前,形式化验证主要分为两个技术方向:等价性检查和属性检查。其中。等价性检查,作为核心验证手段,通过对比功能验证后的HDL设计与综合后的网表功能,确保两者在功能层面上的完全一致,从而保证门级电路与寄存器传输级(Register Transfer Level, RTL)模型之间的一致性。这一方法有效防范了综合工具潜在的缺陷及人为误操作,对于提升设计质量至关重要。

形式化验证的实施涉及多个关键环节:

属性定义(Properties):精确阐述设计需遵循的特性与规范,涵盖时序逻辑、状态转换规则及各项约束条件。

规约语言:采用如SystemVerilog Assertions(SVA)、Property Specification Language(PSL)等形式化规约语言,将属性与约束转化为可验证的表达式。

定理证明器(Theorem Provers):依托形式化逻辑与推理机制,自动验证属性是否成立,为设计逻辑的正确性提供坚实保障。

NEWS