diff --git a/expr_synth.cc b/expr_synth.cc index 9e619aa9f..77f83f207 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.29 2001/11/29 01:58:18 steve Exp $" +#ident "$Id: expr_synth.cc,v 1.30 2001/12/18 05:34:02 steve Exp $" #endif # include "config.h" @@ -481,7 +481,12 @@ NetNet* NetEUReduce::synthesize(Design*des) return osig; } - +/* + * Synthesize a ?: operator an a NetMux device. Connect the condition + * expression to the select input, then connect the true and false + * expressions to the B and A inputs. This way, when the select input + * is one, the B input, which is the true expression, is selected. + */ NetNet* NetETernary::synthesize(Design *des) { NetNet*csig = cond_->synthesize(des); @@ -562,6 +567,9 @@ NetNet* NetESignal::synthesize(Design*des) /* * $Log: expr_synth.cc,v $ + * Revision 1.30 2001/12/18 05:34:02 steve + * Comments about MUX synthesis. + * * Revision 1.29 2001/11/29 01:58:18 steve * Handle part selects in l-values of DFF devices. * diff --git a/t-dll.cc b/t-dll.cc index d3a963b40..abca24b07 100644 --- a/t-dll.cc +++ b/t-dll.cc @@ -17,7 +17,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ #if !defined(WINNT) && !defined(macintosh) -#ident "$Id: t-dll.cc,v 1.73 2001/12/15 02:13:17 steve Exp $" +#ident "$Id: t-dll.cc,v 1.74 2001/12/18 05:34:02 steve Exp $" #endif # include "config.h" @@ -1347,6 +1347,10 @@ void dll_target::lpm_mult(const NetMult*net) scope_add_lpm(obj->scope, obj); } +/* + * Hook up the mux devices so that the select expression selects the + * correct sub-expression with the ivl_lpm_data2 function. + */ void dll_target::lpm_mux(const NetMux*net) { ivl_lpm_t obj = new struct ivl_lpm_s; @@ -1719,6 +1723,9 @@ extern const struct target tgt_dll = { "dll", &dll_target_obj }; /* * $Log: t-dll.cc,v $ + * Revision 1.74 2001/12/18 05:34:02 steve + * Comments about MUX synthesis. + * * Revision 1.73 2001/12/15 02:13:17 steve * The IVL_SIT_WIRE type does not exist, it is a * synonym for IVL_SIT_TRI.