Remove dead dram_input_from_net and lpm_inputs_a_b

This commit is contained in:
steve 2005-10-10 04:16:13 +00:00
parent 2842a65fd1
commit fb22bcc96b
2 changed files with 39 additions and 100 deletions

View File

@ -19,7 +19,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/ */
#ifdef HAVE_CVS_IDENT #ifdef HAVE_CVS_IDENT
#ident "$Id: vvp_priv.h,v 1.36 2005/09/17 01:01:00 steve Exp $" #ident "$Id: vvp_priv.h,v 1.37 2005/10/10 04:16:13 steve Exp $"
#endif #endif
# include "vvp_config.h" # include "vvp_config.h"
@ -91,12 +91,6 @@ extern int draw_vpi_rfunc_call(ivl_expr_t exp);
*/ */
extern const char* draw_net_input(ivl_nexus_t nex); extern const char* draw_net_input(ivl_nexus_t nex);
/*
* This is very similar to draw_net_input, but instead of returning a
* pointer to the string, it writes it to the output file.
*/
extern void draw_input_from_net(ivl_nexus_t nex);
/* /*
* The draw_eval_expr function writes out the code to evaluate a * The draw_eval_expr function writes out the code to evaluate a
* behavioral expression. * behavioral expression.
@ -239,6 +233,9 @@ extern unsigned thread_count;
/* /*
* $Log: vvp_priv.h,v $ * $Log: vvp_priv.h,v $
* Revision 1.37 2005/10/10 04:16:13 steve
* Remove dead dram_input_from_net and lpm_inputs_a_b
*
* Revision 1.36 2005/09/17 01:01:00 steve * Revision 1.36 2005/09/17 01:01:00 steve
* More robust use of precalculated expressions, and * More robust use of precalculated expressions, and
* Separate lookaside for written variables that can * Separate lookaside for written variables that can

View File

@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/ */
#ifdef HAVE_CVS_IDENT #ifdef HAVE_CVS_IDENT
#ident "$Id: vvp_scope.c,v 1.133 2005/09/20 18:34:01 steve Exp $" #ident "$Id: vvp_scope.c,v 1.134 2005/10/10 04:16:13 steve Exp $"
#endif #endif
# include "vvp_priv.h" # include "vvp_priv.h"
@ -634,7 +634,7 @@ static const char* draw_net_input_drive(ivl_nexus_t nex, ivl_nexus_ptr_t nptr)
* does *not* check for a previously calculated string. Use the * does *not* check for a previously calculated string. Use the
* draw_net_input for the general case. * draw_net_input for the general case.
*/ */
char* draw_net_input_x(ivl_nexus_t nex, ivl_nexus_ptr_t omit) static char* draw_net_input_x(ivl_nexus_t nex, ivl_nexus_ptr_t omit)
{ {
ivl_signal_type_t res; ivl_signal_type_t res;
char result[512]; char result[512];
@ -789,18 +789,6 @@ const char*draw_net_input(ivl_nexus_t nex)
return nex_private; return nex_private;
} }
/*
* This function looks at the nexus in search of the net to attach
* functor inputs to. Sort the signals in the nexus by name, and
* choose the lexically earliest one. This is different from the
* draw_net_input in that it also prints the result.
*/
void draw_input_from_net(ivl_nexus_t nex)
{
const char*nex_private = draw_net_input(nex);
assert(nex_private);
fprintf(vvp_out, "%s", nex_private);
}
/* /*
* This function draws a reg/int/variable in the scope. This is a very * This function draws a reg/int/variable in the scope. This is a very
@ -956,8 +944,7 @@ static void draw_udp_in_scope(ivl_net_logic_t lptr)
fprintf(vvp_out, ", C4<z>"); fprintf(vvp_out, ", C4<z>");
} else { } else {
fprintf(vvp_out, ", "); fprintf(vvp_out, ", %s", draw_net_input(nex));
draw_input_from_net(nex);
} }
} }
@ -1209,8 +1196,7 @@ static void draw_event_in_scope(ivl_event_t obj)
top = nany; top = nany;
for (sub = idx ; sub < top ; sub += 1) { for (sub = idx ; sub < top ; sub += 1) {
ivl_nexus_t nex = ivl_event_any(obj, sub); ivl_nexus_t nex = ivl_event_any(obj, sub);
fprintf(vvp_out, ", "); fprintf(vvp_out, ", %s", draw_net_input(nex));
draw_input_from_net(nex);
} }
fprintf(vvp_out, ";\n"); fprintf(vvp_out, ";\n");
} }
@ -1225,8 +1211,7 @@ static void draw_event_in_scope(ivl_event_t obj)
top = nneg; top = nneg;
for (sub = idx ; sub < top ; sub += 1) { for (sub = idx ; sub < top ; sub += 1) {
ivl_nexus_t nex = ivl_event_neg(obj, sub); ivl_nexus_t nex = ivl_event_neg(obj, sub);
fprintf(vvp_out, ", "); fprintf(vvp_out, ", %s", draw_net_input(nex));
draw_input_from_net(nex);
} }
fprintf(vvp_out, ";\n"); fprintf(vvp_out, ";\n");
} }
@ -1241,8 +1226,7 @@ static void draw_event_in_scope(ivl_event_t obj)
top = npos; top = npos;
for (sub = idx ; sub < top ; sub += 1) { for (sub = idx ; sub < top ; sub += 1) {
ivl_nexus_t nex = ivl_event_pos(obj, sub); ivl_nexus_t nex = ivl_event_pos(obj, sub);
fprintf(vvp_out, ", "); fprintf(vvp_out, ", %s", draw_net_input(nex));
draw_input_from_net(nex);
} }
fprintf(vvp_out, ";\n"); fprintf(vvp_out, ";\n");
} }
@ -1308,66 +1292,30 @@ static void draw_lpm_ram(ivl_lpm_t net)
ivl_nexus_t pin; ivl_nexus_t pin;
if (clk) { if (clk) {
fprintf(vvp_out, "CLK_%p .event posedge, ", net); fprintf(vvp_out, "CLK_%p .event posedge, %s;\n",
draw_input_from_net(clk); net, draw_net_input(clk));
fprintf(vvp_out, ";\n");
} }
fprintf(vvp_out, "L_%p .mem/port M_%s, ", net, vvp_memory_label(mem)); fprintf(vvp_out, "L_%p .mem/port M_%s, ", net, vvp_memory_label(mem));
pin = ivl_lpm_select(net); pin = ivl_lpm_select(net);
draw_input_from_net(pin); fprintf(vvp_out, "%s", draw_net_input(pin));
if (clk) { if (clk) {
fprintf(vvp_out, ", CLK_%p, ", net); fprintf(vvp_out, ", CLK_%p, ", net);
pin = ivl_lpm_enable(net); pin = ivl_lpm_enable(net);
if (pin) if (pin)
draw_input_from_net(pin); fprintf(vvp_out, "%s", draw_net_input(pin));
else else
fprintf(vvp_out, "C4<1>"); fprintf(vvp_out, "C4<1>");
pin = ivl_lpm_data(net, 0); pin = ivl_lpm_data(net, 0);
fprintf(vvp_out, ", "); fprintf(vvp_out, ", %s", draw_net_input(pin));
draw_input_from_net(pin);
} }
fprintf(vvp_out, ";\n"); fprintf(vvp_out, ";\n");
} }
static void draw_lpm_arith_a_b_inputs(ivl_lpm_t net)
{
unsigned width = ivl_lpm_width(net);
unsigned idx;
assert(width > 0);
ivl_nexus_t nex = ivl_lpm_data(net, 0);
ivl_signal_t sig = 0;
ivl_nexus_ptr_t np;
for (idx = 0 ; idx < ivl_nexus_ptrs(nex) ; idx += 1) {
np = ivl_nexus_ptr(nex,idx);
sig = ivl_nexus_ptr_sig(np);
if (sig != 0)
break;
}
assert(sig != 0);
fprintf(vvp_out, ", V_%s", vvp_signal_label(sig));
sig = 0;
nex = ivl_lpm_data(net, 1);
for (idx = 0 ; idx < ivl_nexus_ptrs(nex) ; idx += 1) {
np = ivl_nexus_ptr(nex,idx);
sig = ivl_nexus_ptr_sig(np);
if (sig != 0)
break;
}
assert(sig != 0);
fprintf(vvp_out, ", V_%s", vvp_signal_label(sig));
}
/* /*
* This function draws any functors needed to calculate the input to * This function draws any functors needed to calculate the input to
@ -1668,17 +1616,15 @@ static void draw_lpm_ff(ivl_lpm_t net)
nex = ivl_lpm_data(net,0); nex = ivl_lpm_data(net,0);
assert(nex); assert(nex);
draw_input_from_net(nex); fprintf(vvp_out, "%s", draw_net_input(nex));
nex = ivl_lpm_clk(net); nex = ivl_lpm_clk(net);
assert(nex); assert(nex);
fprintf(vvp_out, ", "); fprintf(vvp_out, ", %s", draw_net_input(nex));
draw_input_from_net(nex);
nex = ivl_lpm_enable(net); nex = ivl_lpm_enable(net);
if (nex) { if (nex) {
fprintf(vvp_out, ", "); fprintf(vvp_out, ", %s", draw_net_input(nex));
draw_input_from_net(nex);
} else { } else {
fprintf(vvp_out, ", C4<1>"); fprintf(vvp_out, ", C4<1>");
} }
@ -1699,11 +1645,9 @@ static void draw_lpm_shiftl(ivl_lpm_t net)
else else
fprintf(vvp_out, "L_%p .shift/l %u", net, width); fprintf(vvp_out, "L_%p .shift/l %u", net, width);
fprintf(vvp_out, ", "); fprintf(vvp_out, ", %s", draw_net_input(ivl_lpm_data(net, 0)));
draw_input_from_net(ivl_lpm_data(net, 0));
fprintf(vvp_out, ", "); fprintf(vvp_out, ", %s", draw_net_input(ivl_lpm_data(net, 1)));
draw_input_from_net(ivl_lpm_data(net, 1));
fprintf(vvp_out, ";\n"); fprintf(vvp_out, ";\n");
} }
@ -1720,8 +1664,7 @@ static void draw_lpm_ufunc(ivl_lpm_t net)
/* Print all the net signals that connect to the input of the /* Print all the net signals that connect to the input of the
function. */ function. */
for (idx = 0 ; idx < ivl_lpm_size(net) ; idx += 1) { for (idx = 0 ; idx < ivl_lpm_size(net) ; idx += 1) {
fprintf(vvp_out, ", "); fprintf(vvp_out, ", %s", draw_net_input(ivl_lpm_data(net, idx)));
draw_input_from_net(ivl_lpm_data(net, idx));
} }
@ -1767,14 +1710,13 @@ static void draw_lpm_part(ivl_lpm_t net)
sel = ivl_lpm_data(net,1); sel = ivl_lpm_data(net,1);
if (sel == 0) { if (sel == 0) {
fprintf(vvp_out, "L_%p .part ", net); fprintf(vvp_out, "L_%p .part %s",
draw_input_from_net(ivl_lpm_data(net, 0)); net, draw_net_input(ivl_lpm_data(net, 0)));
fprintf(vvp_out, ", %u, %u;\n", base, width); fprintf(vvp_out, ", %u, %u;\n", base, width);
} else { } else {
fprintf(vvp_out, "L_%p .part/v ", net); fprintf(vvp_out, "L_%p .part/v %s",
draw_input_from_net(ivl_lpm_data(net,0)); net, draw_net_input(ivl_lpm_data(net,0)));
fprintf(vvp_out, ", "); fprintf(vvp_out, ", %s", draw_net_input(sel));
draw_input_from_net(sel);
fprintf(vvp_out, ", %u;\n", width); fprintf(vvp_out, ", %u;\n", width);
} }
} }
@ -1789,8 +1731,8 @@ static void draw_lpm_part_pv(ivl_lpm_t net)
unsigned base = ivl_lpm_base(net); unsigned base = ivl_lpm_base(net);
unsigned signal_width = width_of_nexus(ivl_lpm_q(net,0)); unsigned signal_width = width_of_nexus(ivl_lpm_q(net,0));
fprintf(vvp_out, "L_%p .part/pv ", net); fprintf(vvp_out, "L_%p .part/pv %s",
draw_input_from_net(ivl_lpm_data(net, 0)); net, draw_net_input(ivl_lpm_data(net, 0)));
fprintf(vvp_out, ", %u, %u, %u;\n", base, width, signal_width); fprintf(vvp_out, ", %u, %u, %u;\n", base, width, signal_width);
} }
@ -1863,25 +1805,22 @@ static void draw_lpm_part_bi(ivl_lpm_t net)
*/ */
static void draw_lpm_re(ivl_lpm_t net, const char*type) static void draw_lpm_re(ivl_lpm_t net, const char*type)
{ {
fprintf(vvp_out, "L_%p .reduce/%s ", net, type); fprintf(vvp_out, "L_%p .reduce/%s %s;\n",
draw_input_from_net(ivl_lpm_data(net,0)); net, type, draw_net_input(ivl_lpm_data(net,0)));
fprintf(vvp_out, ";\n");
} }
static void draw_lpm_repeat(ivl_lpm_t net) static void draw_lpm_repeat(ivl_lpm_t net)
{ {
fprintf(vvp_out, "L_%p .repeat %u, %u, ", net, fprintf(vvp_out, "L_%p .repeat %u, %u, %s;\n", net,
ivl_lpm_width(net), ivl_lpm_size(net)); ivl_lpm_width(net), ivl_lpm_size(net),
draw_input_from_net(ivl_lpm_data(net,0)); draw_net_input(ivl_lpm_data(net,0)));
fprintf(vvp_out, ";\n");
} }
static void draw_lpm_sign_ext(ivl_lpm_t net) static void draw_lpm_sign_ext(ivl_lpm_t net)
{ {
fprintf(vvp_out, "L_%p .extend/s %u, ", net, fprintf(vvp_out, "L_%p .extend/s %u, %s;\n",
ivl_lpm_width(net)); net, ivl_lpm_width(net),
draw_input_from_net(ivl_lpm_data(net,0)); draw_net_input(ivl_lpm_data(net,0)));
fprintf(vvp_out, ";\n");
} }
static void draw_lpm_in_scope(ivl_lpm_t net) static void draw_lpm_in_scope(ivl_lpm_t net)
@ -2082,6 +2021,9 @@ int draw_scope(ivl_scope_t net, ivl_scope_t parent)
/* /*
* $Log: vvp_scope.c,v $ * $Log: vvp_scope.c,v $
* Revision 1.134 2005/10/10 04:16:13 steve
* Remove dead dram_input_from_net and lpm_inputs_a_b
*
* Revision 1.133 2005/09/20 18:34:01 steve * Revision 1.133 2005/09/20 18:34:01 steve
* Clean up compiler warnings. * Clean up compiler warnings.
* *