Support DFF CE inputs.
This commit is contained in:
parent
c507379f09
commit
e79a371f76
|
|
@ -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: ivl_target.h,v 1.78 2001/08/28 04:07:17 steve Exp $"
|
#ident "$Id: ivl_target.h,v 1.79 2001/08/31 22:58:39 steve Exp $"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|
@ -541,7 +541,7 @@ extern unsigned ivl_lpm_width(ivl_lpm_t net);
|
||||||
|
|
||||||
/* IVL_LPM_FF IVL_LPM_RAM */
|
/* IVL_LPM_FF IVL_LPM_RAM */
|
||||||
extern ivl_nexus_t ivl_lpm_clk(ivl_lpm_t net);
|
extern ivl_nexus_t ivl_lpm_clk(ivl_lpm_t net);
|
||||||
/* IVL_LPM_RAM */
|
/* IVL_LPM_FF IVL_LPM_RAM */
|
||||||
extern ivl_nexus_t ivl_lpm_enable(ivl_lpm_t net);
|
extern ivl_nexus_t ivl_lpm_enable(ivl_lpm_t net);
|
||||||
/* IVL_LPM_ADD IVL_LPM_FF IVL_LPM_MULT IVL_LPM_RAM IVL_LPM_SUB */
|
/* IVL_LPM_ADD IVL_LPM_FF IVL_LPM_MULT IVL_LPM_RAM IVL_LPM_SUB */
|
||||||
extern ivl_nexus_t ivl_lpm_data(ivl_lpm_t net, unsigned idx);
|
extern ivl_nexus_t ivl_lpm_data(ivl_lpm_t net, unsigned idx);
|
||||||
|
|
@ -944,6 +944,9 @@ _END_DECL
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* $Log: ivl_target.h,v $
|
* $Log: ivl_target.h,v $
|
||||||
|
* Revision 1.79 2001/08/31 22:58:39 steve
|
||||||
|
* Support DFF CE inputs.
|
||||||
|
*
|
||||||
* Revision 1.78 2001/08/28 04:07:17 steve
|
* Revision 1.78 2001/08/28 04:07:17 steve
|
||||||
* Add some ivl_target convenience functions.
|
* Add some ivl_target convenience 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
|
||||||
*/
|
*/
|
||||||
#if !defined(WINNT) && !defined(macintosh)
|
#if !defined(WINNT) && !defined(macintosh)
|
||||||
#ident "$Id: t-dll-api.cc,v 1.64 2001/08/28 04:07:18 steve Exp $"
|
#ident "$Id: t-dll-api.cc,v 1.65 2001/08/31 22:58:40 steve Exp $"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
# include "config.h"
|
# include "config.h"
|
||||||
|
|
@ -506,6 +506,7 @@ extern "C" ivl_nexus_t ivl_lpm_enable(ivl_lpm_t net)
|
||||||
assert(net);
|
assert(net);
|
||||||
switch (net->type) {
|
switch (net->type) {
|
||||||
case IVL_LPM_RAM:
|
case IVL_LPM_RAM:
|
||||||
|
case IVL_LPM_FF:
|
||||||
return net->u_.ff.we;
|
return net->u_.ff.we;
|
||||||
default:
|
default:
|
||||||
assert(0);
|
assert(0);
|
||||||
|
|
@ -1351,6 +1352,9 @@ extern "C" ivl_statement_t ivl_stmt_sub_stmt(ivl_statement_t net)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* $Log: t-dll-api.cc,v $
|
* $Log: t-dll-api.cc,v $
|
||||||
|
* Revision 1.65 2001/08/31 22:58:40 steve
|
||||||
|
* Support DFF CE inputs.
|
||||||
|
*
|
||||||
* Revision 1.64 2001/08/28 04:07:18 steve
|
* Revision 1.64 2001/08/28 04:07:18 steve
|
||||||
* Add some ivl_target convenience functions.
|
* Add some ivl_target convenience functions.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
17
t-dll.cc
17
t-dll.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-dll.cc,v 1.58 2001/08/28 04:07:41 steve Exp $"
|
#ident "$Id: t-dll.cc,v 1.59 2001/08/31 22:58:39 steve Exp $"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
# include "config.h"
|
# include "config.h"
|
||||||
|
|
@ -922,6 +922,18 @@ void dll_target::lpm_ff(const NetFF*net)
|
||||||
assert(obj->u_.ff.clk);
|
assert(obj->u_.ff.clk);
|
||||||
nexus_lpm_add(obj->u_.ff.clk, obj, 0, IVL_DR_HiZ, IVL_DR_HiZ);
|
nexus_lpm_add(obj->u_.ff.clk, obj, 0, IVL_DR_HiZ, IVL_DR_HiZ);
|
||||||
|
|
||||||
|
/* If there is a clock enable, then connect it up to the FF
|
||||||
|
device. */
|
||||||
|
if (net->pin_Enable().is_linked()) {
|
||||||
|
nex = net->pin_Enable().nexus();
|
||||||
|
assert(nex->t_cookie());
|
||||||
|
obj->u_.ff.we = (ivl_nexus_t) nex->t_cookie();
|
||||||
|
assert(obj->u_.ff.we);
|
||||||
|
nexus_lpm_add(obj->u_.ff.we, obj, 0, IVL_DR_HiZ, IVL_DR_HiZ);
|
||||||
|
} else {
|
||||||
|
obj->u_.ff.we = 0;
|
||||||
|
}
|
||||||
|
|
||||||
if (obj->u_.ff.width == 1) {
|
if (obj->u_.ff.width == 1) {
|
||||||
nex = net->pin_Q(0).nexus();
|
nex = net->pin_Q(0).nexus();
|
||||||
assert(nex->t_cookie());
|
assert(nex->t_cookie());
|
||||||
|
|
@ -1486,6 +1498,9 @@ extern const struct target tgt_dll = { "dll", &dll_target_obj };
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* $Log: t-dll.cc,v $
|
* $Log: t-dll.cc,v $
|
||||||
|
* Revision 1.59 2001/08/31 22:58:39 steve
|
||||||
|
* Support DFF CE inputs.
|
||||||
|
*
|
||||||
* Revision 1.58 2001/08/28 04:07:41 steve
|
* Revision 1.58 2001/08/28 04:07:41 steve
|
||||||
* Add some ivl_target convenience functions.
|
* Add some ivl_target convenience functions.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
7
t-dll.h
7
t-dll.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: t-dll.h,v 1.61 2001/08/28 04:07:41 steve Exp $"
|
#ident "$Id: t-dll.h,v 1.62 2001/08/31 22:58:40 steve Exp $"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
# include "target.h"
|
# include "target.h"
|
||||||
|
|
@ -242,7 +242,7 @@ struct ivl_lpm_s {
|
||||||
unsigned short width;
|
unsigned short width;
|
||||||
unsigned short swid; // ram only
|
unsigned short swid; // ram only
|
||||||
ivl_nexus_t clk;
|
ivl_nexus_t clk;
|
||||||
ivl_nexus_t we; // ram only ??
|
ivl_nexus_t we;
|
||||||
union {
|
union {
|
||||||
ivl_nexus_t*pins;
|
ivl_nexus_t*pins;
|
||||||
ivl_nexus_t pin;
|
ivl_nexus_t pin;
|
||||||
|
|
@ -562,6 +562,9 @@ struct ivl_statement_s {
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* $Log: t-dll.h,v $
|
* $Log: t-dll.h,v $
|
||||||
|
* Revision 1.62 2001/08/31 22:58:40 steve
|
||||||
|
* Support DFF CE inputs.
|
||||||
|
*
|
||||||
* Revision 1.61 2001/08/28 04:07:41 steve
|
* Revision 1.61 2001/08/28 04:07:41 steve
|
||||||
* Add some ivl_target convenience functions.
|
* Add some ivl_target convenience functions.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue