Verifying the Implementation of an Error Control Code

  • Authors:
  • T. Pascalin Amagbegnon;Uri E. Barkai

  • Affiliations:
  • Intel Corporation, Enterprise Processor Division, M/S SC12-408, 3600 Juliette Lane, Santa Clara, CA 95052-8119, USA. pascalin.amagbegnon@intel.com;Intel Corporation, Enterprise Processor Division, M/S SC12-506, 3600 Juliette Lane, Santa Clara, CA 95052-8119, USA. uri.eli.barkai@intel.com

  • Venue:
  • Formal Methods in System Design
  • Year:
  • 2003

Quantified Score

Hi-index 0.01

Visualization

Abstract

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.