Event-based verification of synchronous, globally controlled, logic designs against signal flow graphs

We address the problem of automatically verifying large digital designs at the logic level, against high-level specifications. We present a technique which allows for the verification of a specific class of systems, namely systems with synchronous globally timed control. To a first approximation, these are systems where a single controller directs the data through the data path and decides (globally) when to move the data. We address the verification of these systems against a Signal Flow Graph (SFG) specification, or a specification in an applicative language such as SILAGE. In this paper, a method is presented for verifying the implementation against an intermediate SFG, which is an expansion of the original specification in such a way that all the operations correspond to Register Transfers (RT's) in the implementation. In this SFG, complex arithmetic operations such as multiplications may have been decomposed into simpler ones, such as shifts and additions, and new operations may have been introduced for maintaining iteration indices and computing addresses of memory locations. SFG's can be viewed as maximally parallel synchronous machines. Both the implementation and the specification are then Finite State Machines, having string functions (input/output mappings) associated with them. Correctness is taken to mean that a certain relation (the /spl beta/-relation) holds between these string functions. >

[1]  Orna Grumberg,et al.  Research on Automatic Verification of Finite-State Concurrent Systems , 1987 .

[2]  Masahiro Fujita,et al.  RTL design verification by making use of datapath information , 1992, Proceedings 1992 IEEE International Conference on Computer Design: VLSI in Computers & Processors.

[3]  Joos Vandewalle,et al.  An efficient microcode compiler for application specific DSP processors , 1990, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[4]  Jeffrey J. Joyce,et al.  Formal Verification and Implementation of a Microprocessor , 1988 .

[5]  Robert K. Brayton,et al.  Implicit state enumeration of finite state machines using BDD's , 1990, 1990 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[6]  Avra Cohn,et al.  A Proof of Correctness of the Viper Microprocessor: The First Level , 1988 .

[7]  Filip Van Aelten Automatic procedures for the behavioral verification of digital designs , 1992 .

[8]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[9]  Warren A. Hunt FM8501: A Verified Microprocessor , 1994, Lecture Notes in Computer Science.

[10]  Srinivas Devadas,et al.  Verification of relations between synchronous machines , 1993, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[11]  F. Van Aelten,et al.  Automatic generation and verification of sufficient correctness properties for synchronous processors , 1992, 1992 IEEE/ACM International Conference on Computer-Aided Design.