Browse Prior Art Database

Determining the Height of Differential Cascode Voltage Switch Arrays

IP.com Disclosure Number: IPCOM000108466D
Original Publication Date: 1992-Jun-01
Included in the Prior Art Database: 2005-Mar-22
Document File: 5 page(s) / 144K

Publishing Venue

IBM

Related People

Babakanian, R: AUTHOR [+6]

Abstract

Described is a method to accurately determine the height of a differential cascode voltage switch (DCVS) array for any desired logical function. It is a direct function of the boolean equations which describe the logical function.

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

Determining the Height of Differential Cascode Voltage Switch Arrays

       Described is a method to accurately determine the height
of a differential cascode voltage switch (DCVS) array for any desired
logical function.  It is a direct function of the boolean equations
which describe the logical function.

      Generally, the DCVS logic family provides the capability to
process complex boolean logic functions. Utilized are logic trees
with the N-high differential pairs of NMOS devices capable of
processing functions up to (2**N-1) input variables.  However, the
electrical properties of DCVS trees do not permit the height of such
trees to grow indefinitely.  As a result, complex logic functions
need to be mapped into several trees.  Current synthesis tools take
two distinct steps for DCVS synthesis: a) minimization and factoring
of the boolean function, and b) application of a complex algorithm to
generate trees. Although the results of the current DCVS synthesis
tools are satisfactorily being used, the concept described herein
improves on the current method.

      The method of improvement involves the determination of the
height of any DCVS tree, based on its boolean equation, by
synthesizing the DCVS trees.  To determine the height of any DCVS
tree from the boolean equation, the following steps are required:
     - Simplify the boolean equation by eliminating redundant
variables from the boolean equation.
     - Apply Shannon's theorem to all the variables in the boolean
equation.  Shannon's theorem states that a function f(X1,X2,X3,...Xn)
can be expressed in terms of X1 and ~X1: f(X1,X2,X3,...Xn) =
X1*f(1,X2,X3,...Xn) + ~X1*f(o,X2,X3,...Xn)
      The two new sub-functions f(1,X2,X3,...Xn) and f(0,X2,X3,...Xn)
can be expressed in terms of the remaining variables (X2,X3,... Xn)
recursively.  This process will continue until all the newly created
sub-functions are evaluated to 0 or 1.  If a function is to be
expressed in terms of (Xi and ~Xi), and if Xi and ~Xi are eliminated
as a result of the previous expansions, the theorem is is not applied
to that function.  From Shannon's theorem, binary decision diagrams
(BDDs) can be generated.
     - Generate the binary tree (operation tree), associated with the
above expansion.  The binary tree consists of nodes which are either
operators and/or are actual variables of boolean equations.  Each
node has two children, left and right, which is consistent with the
definition of a binary tree. There will be two fields in each node, m
and a, which are initialized to zero for the variable nodes.
     - Apply the "depth first" traversal technique to the tree.
During traversal, two fields, m and a, for non-variable nodes are up
da...