From edeb9d8ecacebf5198fb7586f81edfa7ab1db5a7 Mon Sep 17 00:00:00 2001 From: steve Date: Mon, 24 Jan 2005 05:08:02 +0000 Subject: [PATCH] Part selects are done in the compiler, not here. --- tgt-vvp/eval_expr.c | 9 ++++----- tgt-vvp/vector.c | 8 ++++---- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/tgt-vvp/eval_expr.c b/tgt-vvp/eval_expr.c index 277af0c87..4af2c568b 100644 --- a/tgt-vvp/eval_expr.c +++ b/tgt-vvp/eval_expr.c @@ -17,7 +17,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ #ifdef HAVE_CVS_IDENT -#ident "$Id: eval_expr.c,v 1.111 2004/12/11 02:31:28 steve Exp $" +#ident "$Id: eval_expr.c,v 1.112 2005/01/24 05:08:02 steve Exp $" #endif # include "vvp_priv.h" @@ -1457,16 +1457,12 @@ static struct vector_info draw_string_expr(ivl_expr_t exp, unsigned wid) static void draw_signal_dest(ivl_expr_t exp, struct vector_info res) { unsigned idx; - unsigned lsi = ivl_expr_lsi(exp); unsigned swid = ivl_expr_width(exp); ivl_signal_t sig = ivl_expr_signal(exp); if (swid > res.wid) swid = res.wid; - /* XXXX I forget how to do part selects here. */ - assert(lsi == 0); - /* If this is a REG (a variable) then I can do a vector read. */ fprintf(vvp_out, " %%load/v %u, V_%s, %u;\n", res.base, vvp_signal_label(sig), swid); @@ -2129,6 +2125,9 @@ struct vector_info draw_eval_expr(ivl_expr_t exp, int stuff_ok_flag) /* * $Log: eval_expr.c,v $ + * Revision 1.112 2005/01/24 05:08:02 steve + * Part selects are done in the compiler, not here. + * * Revision 1.111 2004/12/11 02:31:28 steve * Rework of internals to carry vectors through nexus instead * of single bits. Make the ivl, tgt-vvp and vvp initial changes diff --git a/tgt-vvp/vector.c b/tgt-vvp/vector.c index aea984087..8541f562c 100644 --- a/tgt-vvp/vector.c +++ b/tgt-vvp/vector.c @@ -16,7 +16,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ #ifdef HAVE_CVS_IDENT -#ident "$Id: vector.c,v 1.4 2003/07/03 17:44:10 steve Exp $" +#ident "$Id: vector.c,v 1.5 2005/01/24 05:08:02 steve Exp $" #endif # include "vvp_priv.h" @@ -147,9 +147,6 @@ static int compare_exp(ivl_expr_t l, ivl_expr_t r) if (ivl_expr_signal(l) != ivl_expr_signal(r)) return 0; - if (ivl_expr_lsi(l) != ivl_expr_lsi(r)) - return 0; - if (ivl_expr_width(l) != ivl_expr_width(r)) return 0; @@ -211,6 +208,9 @@ unsigned allocate_vector_exp(ivl_expr_t exp, unsigned wid) /* * $Log: vector.c,v $ + * Revision 1.5 2005/01/24 05:08:02 steve + * Part selects are done in the compiler, not here. + * * Revision 1.4 2003/07/03 17:44:10 steve * Wider thread vector limit. *