This document describes how the FORTE STE-based formal verification system was used to verify the RTL implementation of an error control code. The error control code considered is linear: its encoder and decoder proceed by matrix multiplication. Although that function is in essence combinational, its implementation in a high-performance microprocessor is done in a pipelined fashion. The additional state elements introduced by the pipelining quickly push an SMV-style model checker to its capacity limits. With the case-study presented in this document, we show that an STE-style model checker is better suited for this problem. We present two instances of the ECC verification problem. For the first we were able to combine an encoder and a decoder into one model for verification. For the second, such a combination was not possible and we resorted to verifying properties of a matrix that we extracted from the implementation.
[1]
Carl-Johan H. Seger,et al.
Formal verification using parametric representations of Boolean constraints
,
1999,
DAC '99.
[2]
Carl Seger.
VOSS - A Formal Hardware Verification System User''s Guide
,
1993
.
[3]
Ganesh Gopalakrishnan,et al.
Efficient symbolic simulation-based verification using the parametric form of Boolean expressions
,
1994,
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..
[4]
Carl-Johan H. Seger,et al.
Practical Formal Verification in Microprocessor Design
,
2001,
IEEE Des. Test Comput..
[5]
Sérgio Vale Aguiar Campos,et al.
Symbolic Model Checking
,
1993,
CAV.