Modern SoC design relies on the ability to separately verify IP blocks relative to their own specifications. Formal verification (FV) using SystemVerilog Assertions (SVA) is an effective method to exhaustively verify blocks at unit-level. Unfortunately, FV has a steep learning curve and requires engineering effort that discourages hardware designers from using it during RTL module development. We propose AutoSVA, a framework to automatically generate FV testbenches that verify liveness and safety of control logic involved in module interactions. We demonstrate AutoSVA's effectiveness and efficiency on deadlock-critical modules of widely-used open-source hardware projects.
翻译:现代SoC设计依赖于根据自己的规格分别核查IP区块的能力。使用SystemVerlog assertions(SVA)进行正式核查(FV)是彻底核查单位级区块的有效方法。不幸的是,FV有一个陡峭的学习曲线,需要工程努力阻止硬件设计者在RTL模块开发过程中使用它。我们提议AutoSVA,这是一个自动生成FV测试箱的框架,用以核查模块互动中控制逻辑的活力和安全性。我们展示AutoSVA在广泛使用的开放源码硬件项目中僵持式模块的效能和效率。