Académique Documents
Professionnel Documents
Culture Documents
Page | 1
1 | 8
P a g e
FORMAL DESIGN CYCLE
INTRODUCTION
Our objective with the following proposal is to simplify the development of assertion
based verification (ABV) for formal verification, splitting the process into stages (Fig
1).
Fig 1: Design Cycle
A formal definition for a FSM denoted in this work by is a sextuple:
(1) ( )
0
, , , , , M I O S S o =
(2) : S x I S o is the State Transition function
(3) : S x I O is the Output function
Erez Manor 08/02/2010 Ben Gurion University
Page | 2
2 | 8
P a g e
Where I, O, and S are a finite and nonempty sets of input symbols, output symbols,
and states, respectively. When the machine is in the current state s S e and receives
an input a from I, it goes to the next state specified by ( , ) s a o and produces an
output given by ( , ) s a , where
0
S is the set of initial states. An FSM can be divided
into sub-system and denoted as { }
1 2
, ,... M M . An SSRPG design also define a set of
retention states
1 2
{ , , ... , }
r
l l l l = such that l S e .
Erez Manor 08/02/2010 Ben Gurion University
Page | 3
3 | 8
P a g e
STAGE REVIEW
1. Stage of Specification
Requirements Specification (or informal problem description). It defines a set of
general characteristics { }
1 2
, , ...
n
= for the design. Each requirement must
capture only a particular behavior of the FSMs. Each behavior will be expressed by a
property.
Semi-Formal Specification. Making a refinement of the original requirements
jointly with the architecture document, a semi-formal specification is obtained
{ }
1 2
, , ... ,
m
= . A semi-formal specification is a form to express a requirement
using keywords that represent the functionality of logical, temporal operators and
specific statements associated to the design. From the semi-formal specification it is
possible:
- To obtain a set of assertions { }
1 2
, , ... ,
m
= .
- To implement the code in the verification tool.
This way can ensure that each requirement { }
1 2
, , ...
n
= is described by its
semi-formal specification.
2. Stage of Implementation
From the semi-formal specification, the hardware description language (HDL)
implementation
HDL
of the FSM and a set of hardware description verification
language (HDVL) assertions { }
1 2
, , ... ,
m
=
are obtained.
Erez Manor 08/02/2010 Ben Gurion University
Page | 4
4 | 8
P a g e
3. Stage of Verification
Then, the implementation is verified using the model checking tool Incisive Formal
Verifier (IFV). It allows to assure that its implementation in verilog, satisfies the
initial requirements of the specification,
(4)
g verilo
If some error is found, a counterexample is generated and it is used to correct the
design. This is the error correction process. Also to validate the design, a functional
verification is executed to assure the global correctness of the implementation. The
functional verification is necessary to detect errors in generated during the
refinement of .
4. Stage of Results
In this stage are generated reports containing statistics about formal and functional
verification. Therefore, conclusions about verification process will be given.
At the end of this stage and getting a pass result we need to evaluate whether
g verilo
, we need to validate the result according to (2.2.5) for error in an
assertions
itself, or a case of vacuity error caused from incorrect defining . After
checking that the design is indeed error proof we can finish the verification process.
Erez Manor 08/02/2010 Ben Gurion University
Page | 5
5 | 8
P a g e
SSRPG IMPLEMENTATION
1. Stage of Specification
Requirements Specification. We need to define a set of general characteristics
{ }
1 2
, , ...
n
= for the SSRPG design.
- Write before Read for an SSRPG design found in low power mode at time
unit
0
t and in retention state l , if a flop was decided as unneeded for
retention, verify it is invoked a write command at time unit
1 1 0
| t t t > , before a
write command at time unit
2 2 1
| t t t > will be issue for all his successors.
- State Reachability
a. Given a finite set of retention states l , verify that the system can reach at
least one state
i
l within the set from any random other state.
b. Use of state decomposition for support of Spec Write before Read to
prevent state explosion problem and allow shorter verification time.
Both Write before Read is classified as Safety class. State Reachability is
classified as Existential class. Write before Read is likely to FAIL for some cases
due to logic between the flops that weakens the criterion, and give more possible
cases, consequently this property will need refinement. The Semi-Formal
Specification,
{ }
1 2
, , ... ,
m
= , which is making a refinement of the original
requirements