Report code generation errors through proc_delay.
This commit is contained in:
parent
39c71ef68a
commit
3aa250b16b
13
emit.cc
13
emit.cc
|
|
@ -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
|
||||||
*/
|
*/
|
||||||
#if !defined(WINNT) && !defined(macintosh)
|
#if !defined(WINNT) && !defined(macintosh)
|
||||||
#ident "$Id: emit.cc,v 1.46 2000/07/27 05:13:44 steve Exp $"
|
#ident "$Id: emit.cc,v 1.47 2000/07/29 16:21:08 steve Exp $"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -205,13 +205,13 @@ bool NetForever::emit_proc(ostream&o, struct target_t*tgt) const
|
||||||
|
|
||||||
bool NetPDelay::emit_proc(ostream&o, struct target_t*tgt) const
|
bool NetPDelay::emit_proc(ostream&o, struct target_t*tgt) const
|
||||||
{
|
{
|
||||||
tgt->proc_delay(o, this);
|
return tgt->proc_delay(o, this);
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void NetPDelay::emit_proc_recurse(ostream&o, struct target_t*tgt) const
|
bool NetPDelay::emit_proc_recurse(ostream&o, struct target_t*tgt) const
|
||||||
{
|
{
|
||||||
if (statement_) statement_->emit_proc(o, tgt);
|
if (statement_) return statement_->emit_proc(o, tgt);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool NetRelease::emit_proc(ostream&o, struct target_t*tgt) const
|
bool NetRelease::emit_proc(ostream&o, struct target_t*tgt) const
|
||||||
|
|
@ -454,6 +454,9 @@ bool emit(ostream&o, const Design*des, const char*type)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* $Log: emit.cc,v $
|
* $Log: emit.cc,v $
|
||||||
|
* Revision 1.47 2000/07/29 16:21:08 steve
|
||||||
|
* Report code generation errors through proc_delay.
|
||||||
|
*
|
||||||
* Revision 1.46 2000/07/27 05:13:44 steve
|
* Revision 1.46 2000/07/27 05:13:44 steve
|
||||||
* Support elaboration of disable statements.
|
* Support elaboration of disable statements.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
*/
|
*/
|
||||||
#if !defined(WINNT) && !defined(macintosh)
|
#if !defined(WINNT) && !defined(macintosh)
|
||||||
#ident "$Id: netlist.h,v 1.149 2000/07/27 05:13:44 steve Exp $"
|
#ident "$Id: netlist.h,v 1.150 2000/07/29 16:21:08 steve Exp $"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -1696,7 +1696,7 @@ class NetPDelay : public NetProc {
|
||||||
virtual bool emit_proc(ostream&, struct target_t*) const;
|
virtual bool emit_proc(ostream&, struct target_t*) const;
|
||||||
virtual void dump(ostream&, unsigned ind) const;
|
virtual void dump(ostream&, unsigned ind) const;
|
||||||
|
|
||||||
void emit_proc_recurse(ostream&, struct target_t*) const;
|
bool emit_proc_recurse(ostream&, struct target_t*) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
unsigned long delay_;
|
unsigned long delay_;
|
||||||
|
|
@ -2719,6 +2719,9 @@ extern ostream& operator << (ostream&, NetNet::Type);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* $Log: netlist.h,v $
|
* $Log: netlist.h,v $
|
||||||
|
* Revision 1.150 2000/07/29 16:21:08 steve
|
||||||
|
* Report code generation errors through proc_delay.
|
||||||
|
*
|
||||||
* Revision 1.149 2000/07/27 05:13:44 steve
|
* Revision 1.149 2000/07/27 05:13:44 steve
|
||||||
* Support elaboration of disable statements.
|
* Support elaboration of disable statements.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
*/
|
*/
|
||||||
#if !defined(WINNT) && !defined(macintosh)
|
#if !defined(WINNT) && !defined(macintosh)
|
||||||
#ident "$Id: t-null.cc,v 1.12 2000/06/14 20:29:39 steve Exp $"
|
#ident "$Id: t-null.cc,v 1.13 2000/07/29 16:21:08 steve Exp $"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
# include "netlist.h"
|
# include "netlist.h"
|
||||||
|
|
@ -42,7 +42,7 @@ static class target_null_t : public target_t {
|
||||||
void net_probe(ostream&, const NetEvProbe*) { }
|
void net_probe(ostream&, const NetEvProbe*) { }
|
||||||
bool proc_block(ostream&, const NetBlock*) { return true; }
|
bool proc_block(ostream&, const NetBlock*) { return true; }
|
||||||
void proc_condit(ostream&, const NetCondit*) { }
|
void proc_condit(ostream&, const NetCondit*) { }
|
||||||
void proc_delay(ostream&, const NetPDelay*) { }
|
bool proc_delay(ostream&, const NetPDelay*) { return true; }
|
||||||
void proc_forever(ostream&, const NetForever*) { }
|
void proc_forever(ostream&, const NetForever*) { }
|
||||||
void proc_repeat(ostream&, const NetRepeat*) { }
|
void proc_repeat(ostream&, const NetRepeat*) { }
|
||||||
void proc_stask(ostream&, const NetSTask*) { }
|
void proc_stask(ostream&, const NetSTask*) { }
|
||||||
|
|
@ -54,6 +54,9 @@ static class target_null_t : public target_t {
|
||||||
extern const struct target tgt_null = { "null", &target_null_obj };
|
extern const struct target tgt_null = { "null", &target_null_obj };
|
||||||
/*
|
/*
|
||||||
* $Log: t-null.cc,v $
|
* $Log: t-null.cc,v $
|
||||||
|
* Revision 1.13 2000/07/29 16:21:08 steve
|
||||||
|
* Report code generation errors through proc_delay.
|
||||||
|
*
|
||||||
* Revision 1.12 2000/06/14 20:29:39 steve
|
* Revision 1.12 2000/06/14 20:29:39 steve
|
||||||
* Ignore more things in null target.
|
* Ignore more things in null target.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
12
t-verilog.cc
12
t-verilog.cc
|
|
@ -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
|
||||||
*/
|
*/
|
||||||
#if !defined(WINNT) && !defined(macintosh)
|
#if !defined(WINNT) && !defined(macintosh)
|
||||||
#ident "$Id: t-verilog.cc,v 1.10 2000/04/12 04:23:58 steve Exp $"
|
#ident "$Id: t-verilog.cc,v 1.11 2000/07/29 16:21:08 steve Exp $"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -44,7 +44,7 @@ class target_verilog : public target_t {
|
||||||
virtual void bufz(ostream&os, const NetBUFZ*);
|
virtual void bufz(ostream&os, const NetBUFZ*);
|
||||||
virtual void start_process(ostream&os, const NetProcTop*);
|
virtual void start_process(ostream&os, const NetProcTop*);
|
||||||
virtual bool proc_block(ostream&os, const NetBlock*);
|
virtual bool proc_block(ostream&os, const NetBlock*);
|
||||||
virtual void proc_delay(ostream&os, const NetPDelay*);
|
virtual bool proc_delay(ostream&os, const NetPDelay*);
|
||||||
virtual void proc_stask(ostream&os, const NetSTask*);
|
virtual void proc_stask(ostream&os, const NetSTask*);
|
||||||
virtual void end_design(ostream&os, const Design*);
|
virtual void end_design(ostream&os, const Design*);
|
||||||
private:
|
private:
|
||||||
|
|
@ -182,13 +182,14 @@ bool target_verilog::proc_block(ostream&os, const NetBlock*net)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void target_verilog::proc_delay(ostream&os, const NetPDelay*net)
|
bool target_verilog::proc_delay(ostream&os, const NetPDelay*net)
|
||||||
{
|
{
|
||||||
os << setw(indent_) << "" << "#" << net->delay() << endl;
|
os << setw(indent_) << "" << "#" << net->delay() << endl;
|
||||||
|
|
||||||
indent_ += 4;
|
indent_ += 4;
|
||||||
net->emit_proc_recurse(os, this);
|
bool flag = net->emit_proc_recurse(os, this);
|
||||||
indent_ -= 4;
|
indent_ -= 4;
|
||||||
|
return flag;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -242,6 +243,9 @@ const struct target tgt_verilog = {
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* $Log: t-verilog.cc,v $
|
* $Log: t-verilog.cc,v $
|
||||||
|
* Revision 1.11 2000/07/29 16:21:08 steve
|
||||||
|
* Report code generation errors through proc_delay.
|
||||||
|
*
|
||||||
* Revision 1.10 2000/04/12 04:23:58 steve
|
* Revision 1.10 2000/04/12 04:23:58 steve
|
||||||
* Named events really should be expressed with PEIdent
|
* Named events really should be expressed with PEIdent
|
||||||
* objects in the pform,
|
* objects in the pform,
|
||||||
|
|
|
||||||
11
t-vvm.cc
11
t-vvm.cc
|
|
@ -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
|
||||||
*/
|
*/
|
||||||
#if !defined(WINNT) && !defined(macintosh)
|
#if !defined(WINNT) && !defined(macintosh)
|
||||||
#ident "$Id: t-vvm.cc,v 1.163 2000/07/26 03:53:11 steve Exp $"
|
#ident "$Id: t-vvm.cc,v 1.164 2000/07/29 16:21:08 steve Exp $"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
# include <iostream>
|
# include <iostream>
|
||||||
|
|
@ -193,7 +193,7 @@ class target_vvm : public target_t {
|
||||||
virtual void proc_utask(ostream&os, const NetUTask*);
|
virtual void proc_utask(ostream&os, const NetUTask*);
|
||||||
virtual bool proc_wait(ostream&os, const NetEvWait*);
|
virtual bool proc_wait(ostream&os, const NetEvWait*);
|
||||||
virtual void proc_while(ostream&os, const NetWhile*);
|
virtual void proc_while(ostream&os, const NetWhile*);
|
||||||
virtual void proc_delay(ostream&os, const NetPDelay*);
|
virtual bool proc_delay(ostream&os, const NetPDelay*);
|
||||||
virtual void end_design(ostream&os, const Design*);
|
virtual void end_design(ostream&os, const Design*);
|
||||||
|
|
||||||
void start_process(ostream&os, const NetProcTop*);
|
void start_process(ostream&os, const NetProcTop*);
|
||||||
|
|
@ -3034,7 +3034,7 @@ void target_vvm::proc_while(ostream&os, const NetWhile*net)
|
||||||
* is an expression expresion, evaluate it at run time and use the
|
* is an expression expresion, evaluate it at run time and use the
|
||||||
* unsigned interpretation of it as the actual delay.
|
* unsigned interpretation of it as the actual delay.
|
||||||
*/
|
*/
|
||||||
void target_vvm::proc_delay(ostream&os, const NetPDelay*proc)
|
bool target_vvm::proc_delay(ostream&os, const NetPDelay*proc)
|
||||||
{
|
{
|
||||||
thread_step_ += 1;
|
thread_step_ += 1;
|
||||||
|
|
||||||
|
|
@ -3062,7 +3062,7 @@ void target_vvm::proc_delay(ostream&os, const NetPDelay*proc)
|
||||||
defn << "static bool " << thread_class_ << "_step_" << thread_step_
|
defn << "static bool " << thread_class_ << "_step_" << thread_step_
|
||||||
<< "_(vvm_thread*thr) {" << endl;
|
<< "_(vvm_thread*thr) {" << endl;
|
||||||
|
|
||||||
proc->emit_proc_recurse(os, this);
|
return proc->emit_proc_recurse(os, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
void target_vvm::end_process(ostream&os, const NetProcTop*proc)
|
void target_vvm::end_process(ostream&os, const NetProcTop*proc)
|
||||||
|
|
@ -3088,6 +3088,9 @@ extern const struct target tgt_vvm = {
|
||||||
};
|
};
|
||||||
/*
|
/*
|
||||||
* $Log: t-vvm.cc,v $
|
* $Log: t-vvm.cc,v $
|
||||||
|
* Revision 1.164 2000/07/29 16:21:08 steve
|
||||||
|
* Report code generation errors through proc_delay.
|
||||||
|
*
|
||||||
* Revision 1.163 2000/07/26 03:53:11 steve
|
* Revision 1.163 2000/07/26 03:53:11 steve
|
||||||
* Make simulation precision available to VPI.
|
* Make simulation precision available to VPI.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
*/
|
*/
|
||||||
#if !defined(WINNT) && !defined(macintosh)
|
#if !defined(WINNT) && !defined(macintosh)
|
||||||
#ident "$Id: target.cc,v 1.40 2000/07/27 05:13:44 steve Exp $"
|
#ident "$Id: target.cc,v 1.41 2000/07/29 16:21:08 steve Exp $"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
# include "target.h"
|
# include "target.h"
|
||||||
|
|
@ -241,10 +241,11 @@ bool target_t::proc_deassign(ostream&os, const NetDeassign*dev)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void target_t::proc_delay(ostream&os, const NetPDelay*)
|
bool target_t::proc_delay(ostream&os, const NetPDelay*)
|
||||||
{
|
{
|
||||||
cerr << "target (" << typeid(*this).name() << "): "
|
cerr << "target (" << typeid(*this).name() << "): "
|
||||||
"Unhandled proc_delay." << endl;
|
"Unhandled proc_delay." << endl;
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool target_t::proc_disable(ostream&os, const NetDisable*obj)
|
bool target_t::proc_disable(ostream&os, const NetDisable*obj)
|
||||||
|
|
@ -397,6 +398,9 @@ void expr_scan_t::expr_binary(const NetEBinary*ex)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* $Log: target.cc,v $
|
* $Log: target.cc,v $
|
||||||
|
* Revision 1.41 2000/07/29 16:21:08 steve
|
||||||
|
* Report code generation errors through proc_delay.
|
||||||
|
*
|
||||||
* Revision 1.40 2000/07/27 05:13:44 steve
|
* Revision 1.40 2000/07/27 05:13:44 steve
|
||||||
* Support elaboration of disable statements.
|
* Support elaboration of disable statements.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
7
target.h
7
target.h
|
|
@ -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
|
||||||
*/
|
*/
|
||||||
#if !defined(WINNT) && !defined(macintosh)
|
#if !defined(WINNT) && !defined(macintosh)
|
||||||
#ident "$Id: target.h,v 1.39 2000/07/27 05:13:44 steve Exp $"
|
#ident "$Id: target.h,v 1.40 2000/07/29 16:21:08 steve Exp $"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
# include "netlist.h"
|
# include "netlist.h"
|
||||||
|
|
@ -119,7 +119,7 @@ struct target_t {
|
||||||
virtual void proc_utask(ostream&os, const NetUTask*);
|
virtual void proc_utask(ostream&os, const NetUTask*);
|
||||||
virtual bool proc_wait(ostream&os, const NetEvWait*);
|
virtual bool proc_wait(ostream&os, const NetEvWait*);
|
||||||
virtual void proc_while(ostream&os, const NetWhile*);
|
virtual void proc_while(ostream&os, const NetWhile*);
|
||||||
virtual void proc_delay(ostream&os, const NetPDelay*);
|
virtual bool proc_delay(ostream&os, const NetPDelay*);
|
||||||
|
|
||||||
/* Done with the design. */
|
/* Done with the design. */
|
||||||
virtual void end_design(ostream&os, const Design*);
|
virtual void end_design(ostream&os, const Design*);
|
||||||
|
|
@ -160,6 +160,9 @@ extern const struct target *target_table[];
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* $Log: target.h,v $
|
* $Log: target.h,v $
|
||||||
|
* Revision 1.40 2000/07/29 16:21:08 steve
|
||||||
|
* Report code generation errors through proc_delay.
|
||||||
|
*
|
||||||
* Revision 1.39 2000/07/27 05:13:44 steve
|
* Revision 1.39 2000/07/27 05:13:44 steve
|
||||||
* Support elaboration of disable statements.
|
* Support elaboration of disable statements.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue