Browse Prior Art Database

Refined Symbolic Simulation of Computer Designs

IP.com Disclosure Number: IPCOM000109718D
Original Publication Date: 1992-Sep-01
Included in the Prior Art Database: 2005-Mar-24
Document File: 3 page(s) / 91K

Publishing Venue

IBM

Related People

Carter, JL: AUTHOR [+3]

Abstract

This article discloses a technique for simulating logic gates and memory using symbolic values. The rules for propagating the symbolic values are suitable for simulating exclusive-OR circuitry, as well as for verifying that the latches and arrays embedded in a computer design can be initialized to arbitrary independent values.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 57% of the total text.

Refined Symbolic Simulation of Computer Designs

       This article discloses a technique for simulating logic
gates and memory using symbolic values.  The rules for propagating
the symbolic values are suitable for simulating exclusive-OR
circuitry, as well as for verifying that the latches and arrays
embedded in a computer design can be initialized to arbitrary
independent values.

      There are n symbolic values, denoted a(1), a(2),...,a(n), and
their negatives, 5a(1), 5a(2), ..., 5a(n).  In addition, there are
the two logic values 0 and 1, and the value X which represents
"unknown".  To simulate a circuit, an assignment of values to the
primary inputs, latches and memory cells of a design is given, and
the values are propagated through the logic blocks.

      The rules for the propagation of values through two-input AND
and one-input NOT blocks are tabulated in Figure 1.  In the figure,
a(i) and a(j) represent any distinct symbolic values, and 5a(i) and
5a(j) represent their negatives.  The table shows that special
consideration is given to the case that both inputs to an AND are the
same symbolic value a(j), or a symbolic value and its negative.

      The rules for AND blocks with more than two inputs  are
similar, and use the fact that if any pair of inputs are a symbolic
value and its negative, the output is 0,  while  if all inputs are
either 1 or the same symbolic value a(j), the output is a(j).  The
rules for other Boolean operations (...