# Introduction to CAFE Yu Hen Hu September 25, 2000.

## Presentation on theme: "Introduction to CAFE Yu Hen Hu September 25, 2000."— Presentation transcript:

Introduction to CAFE Yu Hen Hu September 25, 2000

Introduction CAFÉ (Connection Arrays From Equations) is a Boolean functions simplification program that can simultaneously simplify a set of Boolean functions sharing the same set of Boolean variables. To use CAFÉ, you create an input file which consists of –Function specifications: A list functions to be minimized. Can be in Boolean equations, truth table, minterm, maxterm, or tabular form –Process specification: specify what kind of output you want

CAFÉ Syntax A sample CAFÉ program: Full Adder p=a@b, g=a*b, s=p@cin, cout=g+p*cin. c s cout. Variables: case sensitive, but command is case in- sensitive. Boolean operators: -, ~, /: not *, &: AND \$, ~&: NAND @: XOR #: A*~B !, ~|: NOR +, |: OR () punctuation,: end equation.: end last equation

Function Specifications : –var_out = Boolean_expr. –Optional: dummy = all input variables AND together. : –Input var list. E.g. 3 a b cin. –var_out = minterm # : –Same as minterm : Input list: 3 a b c. x = 1x1 x10 = 000, dont cares : 4 a b c d. input variable 3 w x y 0 0 x 0 1 1 – 0 x 1 x - 1 1

Process specifications and Commands Process specifications tells what format of the output should be. C: connection array E: equations T: truth table Advanced options: – K, L, R: not covered here. Terminal command in running CAFÉ: cafe infile outfile

An example Connection Arrays from Equations Sep 25 2000 11:08:59 Page 1 File: adder1 Run Options: 1: adder1 2: 3 a b cin. 3: s = 1 2 4 7, 4: co = 3 5 6 7. 5: 6: e s co. s = -a*-b*cin + -a*b*-cin + a*-b*-cin + a*b*cin co = b*cin + a*cin + a*b

Truth Table Output Connection Arrays from Equations Sep 25 2000 11:39:37 Page 1 File: adder1 Run Options: 1: adder1 2: 3 a b cin. 3: s = 1 2 4 7, 4: co = 3 5 6 7. 5: 6: t s co. 3 Input Variables 2 Output Variables 8 Cube Truth Table ------ abc sc i o n ------ 000 00 001 10 010 10 011 01 100 10 101 01 110 01 111 11