Current industry trends in system design -multiple clocks, clocks with arbitrary frequency ratios, multi-phased clocks, gated clocks, and level-sensitive latches, combined with clocked -pose additional challenges to verification efforts. We propose an integrated solution that improves SAT-based Bounded Model Checking (BMC) by orders of magnitude, for verification of synchronous multi-clock systems with clocked LTL properties. Our main contributions are: a) Efficient clock modeling schemes to handle clock related challenges uniformly, b) Generation of automatic schedules and clock constraints to avoid unnecessary unrolling and loop-checks in BMC, c) Dynamic simplification of BMC problem instances with clock constraints, and d) Customized BMC translations-with incremental formulations and learning-to directly handle PSL-style clocked specifications. We demonstrate the effectiveness of our approach on some OpenCores multi-clock system benchmarks.
I IntroductionA continuing push for high performance and low power designs has greatly increased the system design complexity. One norm of today's System-on-Chip (SoC) design is the use of multiple clocks and phases, and gated clocks. This paradigm shift from a single global clock synchronous design paradigm was inevitable, as distributing a single clock across the increasing size of die, number of latches, frequencies of clocks and delays of wires poses a major bottleneck in achieving the goals of higher performance and lower power [1]. For power-conscious designs, designers often use gated clocks to reduce or disable the switching activity of certain portions of the design. Furthermore, SoC designs comprise several intellectual property (IP) blocks that operate at different clock frequencies and need to communicate across asynchronous clock domains. Each of these design styles increases the verification complexity in terms of increased number of state bits and deeper bug traces.Formal verification techniques like SAT-based Bounded Model Checking (BMC) [2-5] due to several advancements -improved DPLL-style SAT solvers [6], on-the-fly circuit simplification [7,8], partitioning and incremental BMC formulation [9], and SAT-based incremental learning [8, 10, 11] -have been gaining wide acceptance as a scalable solution compared to BDD-based symbolic model checking [12]. The performance of SAT-based BMC is less sensitive to the number of flip-flops (FFs) and does not suffer from space explosion.
A. MotivationAn integrated solution to verify multi-clock systems comprising multiple clocks, clocks with arbitrary frequency ratios, multi-phased clocks, gated clocks, level-sensitive latches, combined with clocked specification, that exploits recent advancements in SAT-based BMC has been lacking. Previously proposed solutions have been largely piece-wise, such as translating clocked LTL properties [13] that can be handled by a standard BMC solver, reducing the verification model size by using phase abstraction techniques [14][15][16][17], and generating a clocking scheme from given fr...