Formal Timing Analysis of Digital Circuits

Formal verification provides complete and sound analysis results and has widely been advocated for the functional verification of digital circuits. Besides the functional verification, a very important aspect of digital circuit design process is their timing analysis. However, despite its importance and critical nature, timing analysis is usually performed using traditional techniques, like gate-level simulation or static timing analysis, which provide approximate results due to their in-exhaustive nature and thus may lead to an undesired functional behavior as well. To overcome these issues, we propose a generic framework to conduct the formal timing analysis using the Uppaal model checker in this paper. The first step in the proposed framework is to represent the timing characteristics of the given digital circuit using a state transition diagram in Uppaal. In this model, delays are integrated using the corresponding technology parameters and the information about timing paths is added using Quratus Prime Pro, which is used as a path extracting tool. The Uppaal timing model is then verified through TCTL properties to obtain timing related information, like maximum delay. For illustration purposes, we present the analysis of a number of real-world digital circuits, like Full Adder, 4-Bit Ripple Carry Adder, Shift Registers as well as C17, S27, S208, and S386 benchmark circuits.

[1]  Steve Kilts Static Timing Analysis , 2007 .

[2]  Sofiène Tahar,et al.  Formal Verification Methods , 2015 .

[3]  Oded Maler,et al.  On Timing Analysis of Combinational Circuits , 2003, FORMATS.

[4]  Marco Roveri,et al.  Verilog2SMV: A tool for word-level verification , 2016, 2016 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[5]  Franziska Hoffmann,et al.  Design Of Analog Cmos Integrated Circuits , 2016 .

[6]  Berkin Guler,et al.  Model Checker-Based Delay Fault Testing of Sequential Circuits , 2015 .

[7]  Miodrag Potkonjak,et al.  Malicious Circuitry Detection Using Thermal Conditioning , 2011, IEEE Transactions on Information Forensics and Security.

[8]  Thomas Braibant,et al.  Coquet: A Coq Library for Verifying Hardware , 2011, CPP.

[9]  Philippe Schnoebelen,et al.  Systems and Software Verification , 2001, Springer Berlin Heidelberg.

[10]  Karem A. Sakallah,et al.  Automatic abstraction and verification of verilog models , 2004, Proceedings. 41st Design Automation Conference, 2004..

[11]  Jan M. Rabaey,et al.  Digital Integrated Circuits , 2003 .

[12]  Osman Hasan,et al.  A Library for Combinational Circuit Verification Using the HOL Theorem Prover , 2018, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[13]  Nadine Eberhardt,et al.  Computer Organization And Design 2nd Edition , 2016 .

[14]  Osman Hasan,et al.  Formal Verification of Gate-Level Multiple Side Channel Parameters to Detect Hardware Trojans , 2016, FTSCS.

[15]  Debdeep Mukhopadhyay,et al.  Hardware Security - Design, Threats, and Safeguards , 2014 .

[16]  Jordi Cortadella,et al.  Verification of timed circuits with symbolic delays , 2004, ASP-DAC 2004: Asia and South Pacific Design Automation Conference 2004 (IEEE Cat. No.04EX753).

[17]  David Harris,et al.  CMOS VLSI Design: A Circuits and Systems Perspective , 2004 .

[18]  Emmanuelle Encrenaz-Tiphène,et al.  Formal Verification of Timed VHDL Programs , 2010, FDL.

[19]  M Stojcev,et al.  Logic and Computer Design Fundamentals , 1998 .

[20]  Clive Maxfield Bebop to the Boolean Boogie : An Unconventional Guide to Electronics Ed. 3 , 2008 .

[21]  Jianmin Hou,et al.  Verification of Asynchronous Circuits using Timed Automata , 2002, Theory and Practice of Timed Systems @ ETAPS.

[22]  Emmanuelle Encrenaz-Tiphène,et al.  Timed verification of the generic architecture of a memory circuit using parametric timed automata , 2009, Formal Methods Syst. Des..

[23]  Charles R. Kime,et al.  Logic and Computer Design Fundamentals , 1997 .

[24]  A. Richard Newton,et al.  Gate-Level Simulation , 1985, IEEE Design & Test of Computers.

[25]  Philippe Schnoebelen,et al.  Systems and Software Verification, Model-Checking Techniques and Tools , 2001 .