From 1a22f37d920a51bef4d5707c08b384de03c6ca3c Mon Sep 17 00:00:00 2001 From: steve Date: Sun, 30 Dec 2001 17:06:52 +0000 Subject: [PATCH] Synthesize reduction logic. --- expr_synth.cc | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/expr_synth.cc b/expr_synth.cc index 77f83f207..ba7790ed0 100644 --- a/expr_synth.cc +++ b/expr_synth.cc @@ -17,7 +17,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ #if !defined(WINNT) && !defined(macintosh) -#ident "$Id: expr_synth.cc,v 1.30 2001/12/18 05:34:02 steve Exp $" +#ident "$Id: expr_synth.cc,v 1.31 2001/12/30 17:06:52 steve Exp $" #endif # include "config.h" @@ -467,6 +467,26 @@ NetNet* NetEUReduce::synthesize(Design*des) NetLogic::AND); break; + case '|': + gate = new NetLogic(scope, oname, isig->pin_count()+1, + NetLogic::OR); + break; + + case '^': + gate = new NetLogic(scope, oname, isig->pin_count()+1, + NetLogic::XOR); + break; + + case 'A': + gate = new NetLogic(scope, oname, isig->pin_count()+1, + NetLogic::NAND); + break; + + case 'X': + gate = new NetLogic(scope, oname, isig->pin_count()+1, + NetLogic::XNOR); + break; + default: cerr << get_line() << ": internal error: " << "Unable to synthesize " << *this << "." << endl; @@ -567,6 +587,9 @@ NetNet* NetESignal::synthesize(Design*des) /* * $Log: expr_synth.cc,v $ + * Revision 1.31 2001/12/30 17:06:52 steve + * Synthesize reduction logic. + * * Revision 1.30 2001/12/18 05:34:02 steve * Comments about MUX synthesis. *