Table of Contents

Origin

This software belongs to the ALLIANCE CAD system from the CAO-VLSI team at ASIM/LIP6/UPMC laboratory.
LIP6/ASIM
University P. et M. Curie 4, place Jussieu 75252 PARIS Cedex 05 FRANCE
Fax : {33/0} 1.44.27.62.86
E-mail support : alliance-support@asim.lip6.fr

Name

simplif10Expr - makes simplifications on an expression including constant atomic expressions

Synopsys

#include logmmm.h"
chain_list *simplif10Expr(expr)
chain_list *expr;

Parameter

expr
expression to simplify

Description

simplif10Expr() makes simplifications by applying the following rules :

(or 0 x1 x2 ... xn) --> (or x1 x2 ... xn) if n>1

(or 1 x1 x2 ... xn) --> 1

(or 0 x1) --> x1

(and 0 x1 x2 ... xn) --> 0

(and 1 x1 x2 ... xn) --> (and x1 x2 ... xn) if n>1

(and 1 x1) --> x1

(nor 0 x1 x2 ... xn) --> (nor x1 x2 ... xn) if n>1

(nor 1 x1 x2 ... xn) --> 0

(nor 0 x1) --> (not x1)

(nand 0 x1 x2 ... xn) --> 1

(nand 1 x1 x2 ... xn) --> (nand x1 x2 ... xn) if n>1

(nand 1 x1) --> (not x1)

(xor 0 x1 x2 ... xn) --> (xor x1 x2 ... xn) if n>1 (xor 1 x1 x2 ... xn) --> (not (xor x1 x2 ... xn)) if n>1

(xor 1 x1) --> (not x1)

(xor 0 x1) --> x1

(not 1) --> 0

(not 0) --> 1

Example

#include mutnnn.h
/* mbk utilities */ #include logmmm.h" chain_list *expr1,*expr2;

/* let's suppose that expr1 = (OR (OR 1 (NOT a)) (NAND 0 (NOT b))) */

expr2 = simplif10Expr(expr1);
displayExpr(expr2);
/* it will display
1
*/
freeExpr(expr1);
freeExpr(expr2);

See Also

log(1) , abl(1) , simplifNotExpr(3) , devXorExpr(3) , devXor2Expr(3) , notExpr(3) , flatPolarityExpr(3) , flatArityExpr(3) , sortExpr(3) , normExpr(3) .

Bug Report

This tool is under development at the ASIM/LIP6/UPMC laboratory, cao-vlsi research team.
We need your feedbak to improve documentation and tools. If you find bugs, please fill-in the form at http://asim.lip6.fr/alliance/support/bug-report/ Thanks for doing this.


Table of Contents

 



Alliance Web Site © 1997, 2002 ASIM/LIP6/UPMC, page maintained by Czo [Olivier Sirol] , last updated on 26 May 2000.