Use number for event labels.
This commit is contained in:
parent
badad63ab4
commit
0bf901e9bb
|
|
@ -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_process.c,v 1.81 2003/02/28 20:21:13 steve Exp $"
|
#ident "$Id: vvp_process.c,v 1.82 2003/03/06 01:17:46 steve Exp $"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
# include "vvp_priv.h"
|
# include "vvp_priv.h"
|
||||||
|
|
@ -1124,8 +1124,7 @@ static int show_stmt_trigger(ivl_statement_t net)
|
||||||
{
|
{
|
||||||
ivl_event_t ev = ivl_stmt_event(net);
|
ivl_event_t ev = ivl_stmt_event(net);
|
||||||
assert(ev);
|
assert(ev);
|
||||||
fprintf(vvp_out, " %%set E_%s, 0;\n",
|
fprintf(vvp_out, " %%set E_%p, 0;\n", ev);
|
||||||
vvp_mangle_id(ivl_event_name(ev)));
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1145,8 +1144,7 @@ static int show_stmt_utask(ivl_statement_t net)
|
||||||
static int show_stmt_wait(ivl_statement_t net, ivl_scope_t sscope)
|
static int show_stmt_wait(ivl_statement_t net, ivl_scope_t sscope)
|
||||||
{
|
{
|
||||||
ivl_event_t ev = ivl_stmt_event(net);
|
ivl_event_t ev = ivl_stmt_event(net);
|
||||||
fprintf(vvp_out, " %%wait E_%s;\n",
|
fprintf(vvp_out, " %%wait E_%p;\n", ev);
|
||||||
vvp_mangle_id(ivl_event_name(ev)));
|
|
||||||
|
|
||||||
/* Always clear the expression lookaside after a
|
/* Always clear the expression lookaside after a
|
||||||
%wait. Anything can happen while the thread is waiting. */
|
%wait. Anything can happen while the thread is waiting. */
|
||||||
|
|
@ -1437,6 +1435,9 @@ int draw_func_definition(ivl_scope_t scope)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* $Log: vvp_process.c,v $
|
* $Log: vvp_process.c,v $
|
||||||
|
* Revision 1.82 2003/03/06 01:17:46 steve
|
||||||
|
* Use number for event labels.
|
||||||
|
*
|
||||||
* Revision 1.81 2003/02/28 20:21:13 steve
|
* Revision 1.81 2003/02/28 20:21:13 steve
|
||||||
* Merge vpi_call and vpi_func draw functions.
|
* Merge vpi_call and vpi_func draw functions.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -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.87 2003/03/06 00:27:09 steve Exp $"
|
#ident "$Id: vvp_scope.c,v 1.88 2003/03/06 01:17:46 steve Exp $"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
# include "vvp_priv.h"
|
# include "vvp_priv.h"
|
||||||
|
|
@ -920,8 +920,7 @@ static void draw_event_in_scope(ivl_event_t obj)
|
||||||
if (cnt == 0) {
|
if (cnt == 0) {
|
||||||
/* If none are needed, then this is a named event. The
|
/* If none are needed, then this is a named event. The
|
||||||
code needed is easy. */
|
code needed is easy. */
|
||||||
fprintf(vvp_out, "E_%s .event \"%s\";\n",
|
fprintf(vvp_out, "E_%p .event \"%s\";\n", obj,
|
||||||
vvp_mangle_id(ivl_event_name(obj)),
|
|
||||||
vvp_mangle_name(ivl_event_basename(obj)));
|
vvp_mangle_name(ivl_event_basename(obj)));
|
||||||
|
|
||||||
} else if (cnt > 1) {
|
} else if (cnt > 1) {
|
||||||
|
|
@ -931,8 +930,7 @@ static void draw_event_in_scope(ivl_event_t obj)
|
||||||
for (idx = 0 ; idx < nany ; idx += 4, ecnt += 1) {
|
for (idx = 0 ; idx < nany ; idx += 4, ecnt += 1) {
|
||||||
unsigned sub, top;
|
unsigned sub, top;
|
||||||
|
|
||||||
fprintf(vvp_out, "E_%s/%u .event edge",
|
fprintf(vvp_out, "E_%p/%u .event edge", obj, ecnt);
|
||||||
vvp_mangle_id(ivl_event_name(obj)), ecnt);
|
|
||||||
|
|
||||||
top = idx + 4;
|
top = idx + 4;
|
||||||
if (nany < top)
|
if (nany < top)
|
||||||
|
|
@ -948,8 +946,7 @@ static void draw_event_in_scope(ivl_event_t obj)
|
||||||
for (idx = 0 ; idx < nneg ; idx += 4, ecnt += 1) {
|
for (idx = 0 ; idx < nneg ; idx += 4, ecnt += 1) {
|
||||||
unsigned sub, top;
|
unsigned sub, top;
|
||||||
|
|
||||||
fprintf(vvp_out, "E_%s/%u .event negedge",
|
fprintf(vvp_out, "E_%p/%u .event negedge", obj, ecnt);
|
||||||
vvp_mangle_id(ivl_event_name(obj)), ecnt);
|
|
||||||
|
|
||||||
top = idx + 4;
|
top = idx + 4;
|
||||||
if (nneg < top)
|
if (nneg < top)
|
||||||
|
|
@ -965,8 +962,7 @@ static void draw_event_in_scope(ivl_event_t obj)
|
||||||
for (idx = 0 ; idx < npos ; idx += 4, ecnt += 1) {
|
for (idx = 0 ; idx < npos ; idx += 4, ecnt += 1) {
|
||||||
unsigned sub, top;
|
unsigned sub, top;
|
||||||
|
|
||||||
fprintf(vvp_out, "E_%s/%u .event posedge",
|
fprintf(vvp_out, "E_%p/%u .event posedge", obj, ecnt);
|
||||||
vvp_mangle_id(ivl_event_name(obj)), ecnt);
|
|
||||||
|
|
||||||
top = idx + 4;
|
top = idx + 4;
|
||||||
if (npos < top)
|
if (npos < top)
|
||||||
|
|
@ -981,22 +977,18 @@ static void draw_event_in_scope(ivl_event_t obj)
|
||||||
|
|
||||||
assert(ecnt == cnt);
|
assert(ecnt == cnt);
|
||||||
|
|
||||||
fprintf(vvp_out, "E_%s .event/or",
|
fprintf(vvp_out, "E_%p .event/or", obj);
|
||||||
vvp_mangle_id(ivl_event_name(obj)));
|
fprintf(vvp_out, " E_%p/0", obj);
|
||||||
fprintf(vvp_out, " E_%s/0",
|
|
||||||
vvp_mangle_id(ivl_event_name(obj)));
|
|
||||||
|
|
||||||
for (idx = 1 ; idx < cnt ; idx += 1)
|
for (idx = 1 ; idx < cnt ; idx += 1)
|
||||||
fprintf(vvp_out, ", E_%s/%u",
|
fprintf(vvp_out, ", E_%p/%u", obj, idx);
|
||||||
vvp_mangle_id(ivl_event_name(obj)), idx);
|
|
||||||
|
|
||||||
fprintf(vvp_out, ";\n");
|
fprintf(vvp_out, ";\n");
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
unsigned idx;
|
unsigned idx;
|
||||||
|
|
||||||
fprintf(vvp_out, "E_%s .event ",
|
fprintf(vvp_out, "E_%p .event ", obj);
|
||||||
vvp_mangle_id(ivl_event_name(obj)));
|
|
||||||
|
|
||||||
if (nany > 0) {
|
if (nany > 0) {
|
||||||
assert((nneg + npos) == 0);
|
assert((nneg + npos) == 0);
|
||||||
|
|
@ -1642,6 +1634,9 @@ int draw_scope(ivl_scope_t net, ivl_scope_t parent)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* $Log: vvp_scope.c,v $
|
* $Log: vvp_scope.c,v $
|
||||||
|
* Revision 1.88 2003/03/06 01:17:46 steve
|
||||||
|
* Use number for event labels.
|
||||||
|
*
|
||||||
* Revision 1.87 2003/03/06 00:27:09 steve
|
* Revision 1.87 2003/03/06 00:27:09 steve
|
||||||
* Use numbers for functor labels.
|
* Use numbers for functor labels.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue