diff --git a/ivl.def b/ivl.def index b126ee9b06..66f63a509b 100644 --- a/ivl.def +++ b/ivl.def @@ -43,6 +43,7 @@ ivl_expr_uvalue ivl_expr_width ivl_logic_attr +ivl_logic_delay ivl_logic_name ivl_logic_basename ivl_logic_scope diff --git a/ivl_target.h b/ivl_target.h index 140372a3ed..4b9d5a3d84 100644 --- a/ivl_target.h +++ b/ivl_target.h @@ -19,7 +19,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ #if !defined(WINNT) && !defined(macintosh) -#ident "$Id: ivl_target.h,v 1.88 2001/11/14 03:28:49 steve Exp $" +#ident "$Id: ivl_target.h,v 1.89 2001/12/06 03:11:00 steve Exp $" #endif #ifdef __cplusplus @@ -487,6 +487,7 @@ extern ivl_logic_t ivl_logic_type(ivl_net_logic_t net); extern ivl_nexus_t ivl_logic_pin(ivl_net_logic_t net, unsigned pin); extern unsigned ivl_logic_pins(ivl_net_logic_t net); extern ivl_udp_t ivl_logic_udp(ivl_net_logic_t net); +extern unsigned ivl_logic_delay(ivl_net_logic_t net, unsigned transition); extern const char* ivl_logic_attr(ivl_net_logic_t net, const char*key); @@ -976,6 +977,9 @@ _END_DECL /* * $Log: ivl_target.h,v $ + * Revision 1.89 2001/12/06 03:11:00 steve + * Add ivl_logic_delay function to ivl_target. + * * Revision 1.88 2001/11/14 03:28:49 steve * DLL target support for force and release. * diff --git a/t-dll-api.cc b/t-dll-api.cc index ac1f0c7b7f..bd3d0c124f 100644 --- a/t-dll-api.cc +++ b/t-dll-api.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-api.cc,v 1.72 2001/11/14 03:28:49 steve Exp $" +#ident "$Id: t-dll-api.cc,v 1.73 2001/12/06 03:11:00 steve Exp $" #endif # include "config.h" @@ -481,6 +481,12 @@ extern "C" ivl_udp_t ivl_logic_udp(ivl_net_logic_t net) return net->udp; } +extern "C" unsigned ivl_logic_delay(ivl_net_logic_t net, unsigned transition) +{ + assert(transition < 3); + return net->delay[transition]; +} + extern "C" unsigned ivl_udp_sequ(ivl_udp_t net) { @@ -1440,6 +1446,9 @@ extern "C" ivl_statement_t ivl_stmt_sub_stmt(ivl_statement_t net) /* * $Log: t-dll-api.cc,v $ + * Revision 1.73 2001/12/06 03:11:00 steve + * Add ivl_logic_delay function to ivl_target. + * * Revision 1.72 2001/11/14 03:28:49 steve * DLL target support for force and release. * diff --git a/t-dll.cc b/t-dll.cc index 4060761196..12820f6027 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.70 2001/11/14 03:28:49 steve Exp $" +#ident "$Id: t-dll.cc,v 1.71 2001/12/06 03:11:00 steve Exp $" #endif # include "config.h" @@ -618,6 +618,10 @@ void dll_target::logic(const NetLogic*net) logic_attributes(obj, net); + obj->delay[0] = net->rise_time(); + obj->delay[1] = net->fall_time(); + obj->delay[2] = net->decay_time(); + scope_add_logic(scope, obj); } @@ -722,6 +726,10 @@ void dll_target::udp(const NetUDP*net) obj->scope_= scope; obj->name_ = strdup(net->name()); + obj->delay[0] = net->rise_time(); + obj->delay[1] = net->fall_time(); + obj->delay[2] = net->decay_time(); + scope_add_logic(scope, obj); } @@ -1666,6 +1674,9 @@ extern const struct target tgt_dll = { "dll", &dll_target_obj }; /* * $Log: t-dll.cc,v $ + * Revision 1.71 2001/12/06 03:11:00 steve + * Add ivl_logic_delay function to ivl_target. + * * Revision 1.70 2001/11/14 03:28:49 steve * DLL target support for force and release. * diff --git a/t-dll.h b/t-dll.h index 9d071c4a8b..d1c7244a83 100644 --- a/t-dll.h +++ b/t-dll.h @@ -19,7 +19,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ #if !defined(WINNT) && !defined(macintosh) -#ident "$Id: t-dll.h,v 1.71 2001/11/14 03:28:49 steve Exp $" +#ident "$Id: t-dll.h,v 1.72 2001/12/06 03:11:01 steve Exp $" #endif # include "target.h" @@ -361,6 +361,8 @@ struct ivl_net_logic_s { char**akey_; char**aval_; unsigned nattr_; + + unsigned delay[3]; }; @@ -587,6 +589,9 @@ struct ivl_statement_s { /* * $Log: t-dll.h,v $ + * Revision 1.72 2001/12/06 03:11:01 steve + * Add ivl_logic_delay function to ivl_target. + * * Revision 1.71 2001/11/14 03:28:49 steve * DLL target support for force and release. *