Remove pretense of general use for t_cookie.
This commit is contained in:
parent
fe02214fcc
commit
fe8da0bf14
11
net_link.cc
11
net_link.cc
|
|
@ -17,7 +17,7 @@
|
|||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
||||
*/
|
||||
#ifdef HAVE_CVS_IDENT
|
||||
#ident "$Id: net_link.cc,v 1.19 2006/02/02 02:43:58 steve Exp $"
|
||||
#ident "$Id: net_link.cc,v 1.20 2007/03/26 18:17:50 steve Exp $"
|
||||
#endif
|
||||
|
||||
# include "config.h"
|
||||
|
|
@ -304,14 +304,14 @@ const Link* Nexus::first_nlink() const
|
|||
return list_;
|
||||
}
|
||||
|
||||
void* Nexus::t_cookie() const
|
||||
ivl_nexus_t Nexus::t_cookie() const
|
||||
{
|
||||
return t_cookie_;
|
||||
}
|
||||
|
||||
void* Nexus::t_cookie(void*val)const
|
||||
ivl_nexus_t Nexus::t_cookie(ivl_nexus_t val)const
|
||||
{
|
||||
void*tmp = t_cookie_;
|
||||
ivl_nexus_t tmp = t_cookie_;
|
||||
t_cookie_ = val;
|
||||
return tmp;
|
||||
}
|
||||
|
|
@ -525,6 +525,9 @@ bool NexusSet::intersect(const NexusSet&that) const
|
|||
|
||||
/*
|
||||
* $Log: net_link.cc,v $
|
||||
* Revision 1.20 2007/03/26 18:17:50 steve
|
||||
* Remove pretense of general use for t_cookie.
|
||||
*
|
||||
* Revision 1.19 2006/02/02 02:43:58 steve
|
||||
* Allow part selects of memory words in l-values.
|
||||
*
|
||||
|
|
|
|||
11
netlist.h
11
netlist.h
|
|
@ -19,7 +19,7 @@
|
|||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
||||
*/
|
||||
#ifdef HAVE_CVS_IDENT
|
||||
#ident "$Id: netlist.h,v 1.373 2007/03/22 16:08:16 steve Exp $"
|
||||
#ident "$Id: netlist.h,v 1.374 2007/03/26 18:17:50 steve Exp $"
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
|
@ -275,8 +275,8 @@ class Nexus {
|
|||
the value that has been driven. */
|
||||
verinum::V driven_value() const;
|
||||
|
||||
void* t_cookie() const;
|
||||
void* t_cookie(void*) const;
|
||||
ivl_nexus_t t_cookie() const;
|
||||
ivl_nexus_t t_cookie(ivl_nexus_t) const;
|
||||
|
||||
private:
|
||||
Link*list_;
|
||||
|
|
@ -284,7 +284,7 @@ class Nexus {
|
|||
void relink(Link*);
|
||||
|
||||
mutable char* name_; /* Cache the calculated name for the Nexus. */
|
||||
mutable void* t_cookie_;
|
||||
mutable ivl_nexus_t t_cookie_;
|
||||
|
||||
enum VALUE { NO_GUESS, V0, V1, Vx, Vz, VAR };
|
||||
mutable VALUE driven_;
|
||||
|
|
@ -3495,6 +3495,9 @@ extern ostream& operator << (ostream&, NetNet::Type);
|
|||
|
||||
/*
|
||||
* $Log: netlist.h,v $
|
||||
* Revision 1.374 2007/03/26 18:17:50 steve
|
||||
* Remove pretense of general use for t_cookie.
|
||||
*
|
||||
* Revision 1.373 2007/03/22 16:08:16 steve
|
||||
* Spelling fixes from Larry
|
||||
*
|
||||
|
|
|
|||
137
t-dll.cc
137
t-dll.cc
|
|
@ -17,7 +17,7 @@
|
|||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
||||
*/
|
||||
#ifdef HAVE_CVS_IDENT
|
||||
#ident "$Id: t-dll.cc,v 1.167 2007/03/26 16:51:49 steve Exp $"
|
||||
#ident "$Id: t-dll.cc,v 1.168 2007/03/26 18:17:51 steve Exp $"
|
||||
#endif
|
||||
|
||||
# include "config.h"
|
||||
|
|
@ -635,7 +635,7 @@ bool dll_target::bufz(const NetBUFZ*net)
|
|||
me. This saves me the trouble of allocating them.) */
|
||||
|
||||
assert(net->pin(0).nexus()->t_cookie());
|
||||
obj->pins_[0] = (ivl_nexus_t) net->pin(0).nexus()->t_cookie();
|
||||
obj->pins_[0] = net->pin(0).nexus()->t_cookie();
|
||||
ivl_nexus_ptr_t out_ptr = nexus_log_add(obj->pins_[0], obj, 0);
|
||||
|
||||
|
||||
|
|
@ -676,7 +676,7 @@ bool dll_target::bufz(const NetBUFZ*net)
|
|||
}
|
||||
|
||||
assert(net->pin(1).nexus()->t_cookie());
|
||||
obj->pins_[1] = (ivl_nexus_t) net->pin(1).nexus()->t_cookie();
|
||||
obj->pins_[1] = net->pin(1).nexus()->t_cookie();
|
||||
nexus_log_add(obj->pins_[1], obj, 1);
|
||||
|
||||
/* Attach the logic device to the scope that contains it. */
|
||||
|
|
@ -814,7 +814,7 @@ void dll_target::logic(const NetLogic*net)
|
|||
for (unsigned idx = 0 ; idx < obj->npins_ ; idx += 1) {
|
||||
const Nexus*nex = net->pin(idx).nexus();
|
||||
assert(nex->t_cookie());
|
||||
obj->pins_[idx] = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->pins_[idx] = nex->t_cookie();
|
||||
ivl_nexus_ptr_t tmp = nexus_log_add(obj->pins_[idx], obj, idx);
|
||||
if (idx == 0)
|
||||
out_ptr = tmp;
|
||||
|
|
@ -884,13 +884,13 @@ bool dll_target::sign_extend(const NetSignExtend*net)
|
|||
nex = net->pin(0).nexus();
|
||||
assert(nex->t_cookie());
|
||||
|
||||
obj->u_.reduce.q = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.reduce.q = nex->t_cookie();
|
||||
nexus_lpm_add(obj->u_.reduce.q, obj, 0, IVL_DR_STRONG, IVL_DR_STRONG);
|
||||
|
||||
nex = net->pin(1).nexus();
|
||||
assert(nex->t_cookie());
|
||||
|
||||
obj->u_.reduce.a = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.reduce.a = nex->t_cookie();
|
||||
nexus_lpm_add(obj->u_.reduce.a, obj, 1, IVL_DR_HiZ, IVL_DR_HiZ);
|
||||
|
||||
scope_add_lpm(obj->scope, obj);
|
||||
|
|
@ -936,13 +936,13 @@ bool dll_target::ureduce(const NetUReduce*net)
|
|||
nex = net->pin(0).nexus();
|
||||
assert(nex->t_cookie());
|
||||
|
||||
obj->u_.reduce.q = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.reduce.q = nex->t_cookie();
|
||||
nexus_lpm_add(obj->u_.reduce.q, obj, 0, IVL_DR_STRONG, IVL_DR_STRONG);
|
||||
|
||||
nex = net->pin(1).nexus();
|
||||
assert(nex->t_cookie());
|
||||
|
||||
obj->u_.reduce.a = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.reduce.a = nex->t_cookie();
|
||||
nexus_lpm_add(obj->u_.reduce.a, obj, 1, IVL_DR_HiZ, IVL_DR_HiZ);
|
||||
|
||||
scope_add_lpm(obj->scope, obj);
|
||||
|
|
@ -966,19 +966,19 @@ void dll_target::net_case_cmp(const NetCaseCmp*net)
|
|||
nex = net->pin(1).nexus();
|
||||
assert(nex->t_cookie());
|
||||
|
||||
obj->u_.arith.a = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.arith.a = nex->t_cookie();
|
||||
nexus_lpm_add(obj->u_.arith.a, obj, 0, IVL_DR_HiZ, IVL_DR_HiZ);
|
||||
|
||||
nex = net->pin(2).nexus();
|
||||
assert(nex->t_cookie());
|
||||
|
||||
obj->u_.arith.b = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.arith.b = nex->t_cookie();
|
||||
nexus_lpm_add(obj->u_.arith.b, obj, 0, IVL_DR_HiZ, IVL_DR_HiZ);
|
||||
|
||||
nex = net->pin(0).nexus();
|
||||
assert(nex->t_cookie());
|
||||
|
||||
obj->u_.arith.q = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.arith.q = nex->t_cookie();
|
||||
nexus_lpm_add(obj->u_.arith.q, obj, 0, IVL_DR_STRONG, IVL_DR_STRONG);
|
||||
|
||||
scope_add_lpm(obj->scope, obj);
|
||||
|
|
@ -1007,7 +1007,7 @@ bool dll_target::net_sysfunction(const NetSysFunc*net)
|
|||
nex = net->pin(0).nexus();
|
||||
assert(nex->t_cookie());
|
||||
|
||||
obj->u_.sfunc.pins[0] = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.sfunc.pins[0] = nex->t_cookie();
|
||||
nexus_lpm_add(obj->u_.sfunc.pins[0], obj, 0,
|
||||
IVL_DR_STRONG, IVL_DR_STRONG);
|
||||
|
||||
|
|
@ -1015,7 +1015,7 @@ bool dll_target::net_sysfunction(const NetSysFunc*net)
|
|||
nex = net->pin(idx).nexus();
|
||||
assert(nex->t_cookie());
|
||||
|
||||
obj->u_.sfunc.pins[idx] = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.sfunc.pins[idx] = nex->t_cookie();
|
||||
nexus_lpm_add(obj->u_.sfunc.pins[idx], obj, 0,
|
||||
IVL_DR_HiZ, IVL_DR_HiZ);
|
||||
}
|
||||
|
|
@ -1060,7 +1060,7 @@ bool dll_target::net_function(const NetUserFunc*net)
|
|||
for (unsigned idx = 0 ; idx < net->pin_count() ; idx += 1) {
|
||||
const Nexus*nex = net->pin(idx).nexus();
|
||||
assert(nex->t_cookie());
|
||||
ivl_nexus_t nn = (ivl_nexus_t)nex->t_cookie();
|
||||
ivl_nexus_t nn = nex->t_cookie();
|
||||
assert(nn);
|
||||
|
||||
obj->u_.ufunc.pins[idx] = nn;
|
||||
|
|
@ -1137,7 +1137,7 @@ void dll_target::udp(const NetUDP*net)
|
|||
}
|
||||
|
||||
assert(nex->t_cookie());
|
||||
obj->pins_[idx] = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->pins_[idx] = nex->t_cookie();
|
||||
nexus_log_add(obj->pins_[idx], obj, idx);
|
||||
}
|
||||
|
||||
|
|
@ -1184,19 +1184,19 @@ void dll_target::lpm_add_sub(const NetAddSub*net)
|
|||
nex = net->pin_Result().nexus();
|
||||
assert(nex->t_cookie());
|
||||
|
||||
obj->u_.arith.q = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.arith.q = nex->t_cookie();
|
||||
nexus_lpm_add(obj->u_.arith.q, obj, 0, IVL_DR_STRONG, IVL_DR_STRONG);
|
||||
|
||||
nex = net->pin_DataA().nexus();
|
||||
assert(nex->t_cookie());
|
||||
|
||||
obj->u_.arith.a = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.arith.a = nex->t_cookie();
|
||||
nexus_lpm_add(obj->u_.arith.a, obj, 0, IVL_DR_HiZ, IVL_DR_HiZ);
|
||||
|
||||
nex = net->pin_DataB().nexus();
|
||||
assert(nex->t_cookie());
|
||||
|
||||
obj->u_.arith.b = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.arith.b = nex->t_cookie();
|
||||
nexus_lpm_add(obj->u_.arith.b, obj, 0, IVL_DR_HiZ, IVL_DR_HiZ);
|
||||
|
||||
/* If the carry output is connected, then connect the extra Q
|
||||
|
|
@ -1226,12 +1226,12 @@ bool dll_target::lpm_array_dq(const NetArrayDq*net)
|
|||
|
||||
nex = net->pin_Address().nexus();
|
||||
assert(nex->t_cookie());
|
||||
obj->u_.array.a = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.array.a = nex->t_cookie();
|
||||
nexus_lpm_add(obj->u_.array.a, obj, 0, IVL_DR_HiZ, IVL_DR_HiZ);
|
||||
|
||||
nex = net->pin_Result().nexus();
|
||||
assert(nex->t_cookie());
|
||||
obj->u_.array.q = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.array.q = nex->t_cookie();
|
||||
nexus_lpm_add(obj->u_.array.q, obj, 0, IVL_DR_STRONG, IVL_DR_STRONG);
|
||||
|
||||
return true;
|
||||
|
|
@ -1268,19 +1268,19 @@ void dll_target::lpm_clshift(const NetCLShift*net)
|
|||
nex = net->pin_Result().nexus();
|
||||
assert(nex->t_cookie());
|
||||
|
||||
obj->u_.shift.q = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.shift.q = nex->t_cookie();
|
||||
nexus_lpm_add(obj->u_.shift.q, obj, 0, IVL_DR_STRONG, IVL_DR_STRONG);
|
||||
|
||||
nex = net->pin_Data().nexus();
|
||||
assert(nex->t_cookie());
|
||||
|
||||
obj->u_.shift.d = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.shift.d = nex->t_cookie();
|
||||
nexus_lpm_add(obj->u_.shift.d, obj, 0, IVL_DR_HiZ, IVL_DR_HiZ);
|
||||
|
||||
nex = net->pin_Distance().nexus();
|
||||
assert(nex->t_cookie());
|
||||
|
||||
obj->u_.shift.s = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.shift.s = nex->t_cookie();
|
||||
nexus_lpm_add(obj->u_.shift.s, obj, 0, IVL_DR_HiZ, IVL_DR_HiZ);
|
||||
|
||||
scope_add_lpm(obj->scope, obj);
|
||||
|
|
@ -1309,12 +1309,12 @@ void dll_target::lpm_compare(const NetCompare*net)
|
|||
nex = net->pin_DataA().nexus();
|
||||
assert(nex->t_cookie());
|
||||
|
||||
obj->u_.arith.a = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.arith.a = nex->t_cookie();
|
||||
|
||||
nex = net->pin_DataB().nexus();
|
||||
assert(nex->t_cookie());
|
||||
|
||||
obj->u_.arith.b = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.arith.b = nex->t_cookie();
|
||||
|
||||
|
||||
if (net->pin_AGEB().is_linked()) {
|
||||
|
|
@ -1322,7 +1322,7 @@ void dll_target::lpm_compare(const NetCompare*net)
|
|||
obj->type = IVL_LPM_CMP_GE;
|
||||
|
||||
assert(nex->t_cookie());
|
||||
obj->u_.arith.q = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.arith.q = nex->t_cookie();
|
||||
nexus_lpm_add(obj->u_.arith.q, obj, 0,
|
||||
IVL_DR_STRONG, IVL_DR_STRONG);
|
||||
|
||||
|
|
@ -1331,7 +1331,7 @@ void dll_target::lpm_compare(const NetCompare*net)
|
|||
obj->type = IVL_LPM_CMP_GT;
|
||||
|
||||
assert(nex->t_cookie());
|
||||
obj->u_.arith.q = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.arith.q = nex->t_cookie();
|
||||
nexus_lpm_add(obj->u_.arith.q, obj, 0,
|
||||
IVL_DR_STRONG, IVL_DR_STRONG);
|
||||
|
||||
|
|
@ -1340,7 +1340,7 @@ void dll_target::lpm_compare(const NetCompare*net)
|
|||
obj->type = IVL_LPM_CMP_GE;
|
||||
|
||||
assert(nex->t_cookie());
|
||||
obj->u_.arith.q = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.arith.q = nex->t_cookie();
|
||||
nexus_lpm_add(obj->u_.arith.q, obj, 0,
|
||||
IVL_DR_STRONG, IVL_DR_STRONG);
|
||||
|
||||
|
|
@ -1351,7 +1351,7 @@ void dll_target::lpm_compare(const NetCompare*net)
|
|||
obj->type = IVL_LPM_CMP_GT;
|
||||
|
||||
assert(nex->t_cookie());
|
||||
obj->u_.arith.q = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.arith.q = nex->t_cookie();
|
||||
nexus_lpm_add(obj->u_.arith.q, obj, 0,
|
||||
IVL_DR_STRONG, IVL_DR_STRONG);
|
||||
|
||||
|
|
@ -1362,7 +1362,7 @@ void dll_target::lpm_compare(const NetCompare*net)
|
|||
obj->type = IVL_LPM_CMP_EQ;
|
||||
|
||||
assert(nex->t_cookie());
|
||||
obj->u_.arith.q = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.arith.q = nex->t_cookie();
|
||||
nexus_lpm_add(obj->u_.arith.q, obj, 0,
|
||||
IVL_DR_STRONG, IVL_DR_STRONG);
|
||||
|
||||
|
|
@ -1371,7 +1371,7 @@ void dll_target::lpm_compare(const NetCompare*net)
|
|||
obj->type = IVL_LPM_CMP_NE;
|
||||
|
||||
assert(nex->t_cookie());
|
||||
obj->u_.arith.q = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.arith.q = nex->t_cookie();
|
||||
nexus_lpm_add(obj->u_.arith.q, obj, 0,
|
||||
IVL_DR_STRONG, IVL_DR_STRONG);
|
||||
|
||||
|
|
@ -1410,19 +1410,19 @@ void dll_target::lpm_divide(const NetDivide*net)
|
|||
nex = net->pin_Result().nexus();
|
||||
assert(nex->t_cookie());
|
||||
|
||||
obj->u_.arith.q = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.arith.q = nex->t_cookie();
|
||||
nexus_lpm_add(obj->u_.arith.q, obj, 0, IVL_DR_STRONG, IVL_DR_STRONG);
|
||||
|
||||
nex = net->pin_DataA().nexus();
|
||||
assert(nex->t_cookie());
|
||||
|
||||
obj->u_.arith.a = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.arith.a = nex->t_cookie();
|
||||
nexus_lpm_add(obj->u_.arith.a, obj, 0, IVL_DR_HiZ, IVL_DR_HiZ);
|
||||
|
||||
nex = net->pin_DataB().nexus();
|
||||
assert(nex->t_cookie());
|
||||
|
||||
obj->u_.arith.b = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.arith.b = nex->t_cookie();
|
||||
nexus_lpm_add(obj->u_.arith.b, obj, 0, IVL_DR_HiZ, IVL_DR_HiZ);
|
||||
|
||||
|
||||
|
|
@ -1448,19 +1448,19 @@ void dll_target::lpm_modulo(const NetModulo*net)
|
|||
nex = net->pin_Result().nexus();
|
||||
assert(nex->t_cookie());
|
||||
|
||||
obj->u_.arith.q = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.arith.q = nex->t_cookie();
|
||||
nexus_lpm_add(obj->u_.arith.q, obj, 0, IVL_DR_STRONG, IVL_DR_STRONG);
|
||||
|
||||
nex = net->pin_DataA().nexus();
|
||||
assert(nex->t_cookie());
|
||||
|
||||
obj->u_.arith.a = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.arith.a = nex->t_cookie();
|
||||
nexus_lpm_add(obj->u_.arith.a, obj, 0, IVL_DR_HiZ, IVL_DR_HiZ);
|
||||
|
||||
nex = net->pin_DataB().nexus();
|
||||
assert(nex->t_cookie());
|
||||
|
||||
obj->u_.arith.b = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.arith.b = nex->t_cookie();
|
||||
nexus_lpm_add(obj->u_.arith.b, obj, 0, IVL_DR_HiZ, IVL_DR_HiZ);
|
||||
|
||||
scope_add_lpm(obj->scope, obj);
|
||||
|
|
@ -1484,7 +1484,7 @@ void dll_target::lpm_ff(const NetFF*net)
|
|||
point back to this device. */
|
||||
nex = net->pin_Clock().nexus();
|
||||
assert(nex->t_cookie());
|
||||
obj->u_.ff.clk = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.ff.clk = nex->t_cookie();
|
||||
assert(obj->u_.ff.clk);
|
||||
nexus_lpm_add(obj->u_.ff.clk, obj, 0, IVL_DR_HiZ, IVL_DR_HiZ);
|
||||
|
||||
|
|
@ -1493,7 +1493,7 @@ void dll_target::lpm_ff(const NetFF*net)
|
|||
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();
|
||||
obj->u_.ff.we = nex->t_cookie();
|
||||
assert(obj->u_.ff.we);
|
||||
nexus_lpm_add(obj->u_.ff.we, obj, 0, IVL_DR_HiZ, IVL_DR_HiZ);
|
||||
} else {
|
||||
|
|
@ -1503,7 +1503,7 @@ void dll_target::lpm_ff(const NetFF*net)
|
|||
if (net->pin_Aclr().is_linked()) {
|
||||
nex = net->pin_Aclr().nexus();
|
||||
assert(nex->t_cookie());
|
||||
obj->u_.ff.aclr = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.ff.aclr = nex->t_cookie();
|
||||
assert(obj->u_.ff.aclr);
|
||||
nexus_lpm_add(obj->u_.ff.aclr, obj, 0, IVL_DR_HiZ, IVL_DR_HiZ);
|
||||
} else {
|
||||
|
|
@ -1513,7 +1513,7 @@ void dll_target::lpm_ff(const NetFF*net)
|
|||
if (net->pin_Aset().is_linked()) {
|
||||
nex = net->pin_Aset().nexus();
|
||||
assert(nex->t_cookie());
|
||||
obj->u_.ff.aset = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.ff.aset = nex->t_cookie();
|
||||
assert(obj->u_.ff.aset);
|
||||
nexus_lpm_add(obj->u_.ff.aset, obj, 0, IVL_DR_HiZ, IVL_DR_HiZ);
|
||||
|
||||
|
|
@ -1528,7 +1528,7 @@ void dll_target::lpm_ff(const NetFF*net)
|
|||
if (net->pin_Sclr().is_linked()) {
|
||||
nex = net->pin_Sclr().nexus();
|
||||
assert(nex->t_cookie());
|
||||
obj->u_.ff.sclr = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.ff.sclr = nex->t_cookie();
|
||||
assert(obj->u_.ff.sclr);
|
||||
nexus_lpm_add(obj->u_.ff.sclr, obj, 0, IVL_DR_HiZ, IVL_DR_HiZ);
|
||||
} else {
|
||||
|
|
@ -1538,7 +1538,7 @@ void dll_target::lpm_ff(const NetFF*net)
|
|||
if (net->pin_Sset().is_linked()) {
|
||||
nex = net->pin_Sset().nexus();
|
||||
assert(nex->t_cookie());
|
||||
obj->u_.ff.sset = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.ff.sset = nex->t_cookie();
|
||||
assert(obj->u_.ff.sset);
|
||||
nexus_lpm_add(obj->u_.ff.sset, obj, 0, IVL_DR_HiZ, IVL_DR_HiZ);
|
||||
|
||||
|
|
@ -1552,13 +1552,13 @@ void dll_target::lpm_ff(const NetFF*net)
|
|||
|
||||
nex = net->pin_Q().nexus();
|
||||
assert(nex->t_cookie());
|
||||
obj->u_.ff.q.pin = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.ff.q.pin = nex->t_cookie();
|
||||
nexus_lpm_add(obj->u_.ff.q.pin, obj, 0,
|
||||
IVL_DR_STRONG, IVL_DR_STRONG);
|
||||
|
||||
nex = net->pin_Data().nexus();
|
||||
assert(nex->t_cookie());
|
||||
obj->u_.ff.d.pin = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.ff.d.pin = nex->t_cookie();
|
||||
nexus_lpm_add(obj->u_.ff.d.pin, obj, 0, IVL_DR_HiZ, IVL_DR_HiZ);
|
||||
|
||||
}
|
||||
|
|
@ -1584,19 +1584,19 @@ void dll_target::lpm_mult(const NetMult*net)
|
|||
nex = net->pin_Result().nexus();
|
||||
assert(nex->t_cookie());
|
||||
|
||||
obj->u_.arith.q = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.arith.q = nex->t_cookie();
|
||||
nexus_lpm_add(obj->u_.arith.q, obj, 0, IVL_DR_STRONG, IVL_DR_STRONG);
|
||||
|
||||
nex = net->pin_DataA().nexus();
|
||||
assert(nex->t_cookie());
|
||||
|
||||
obj->u_.arith.a = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.arith.a = nex->t_cookie();
|
||||
nexus_lpm_add(obj->u_.arith.a, obj, 0, IVL_DR_HiZ, IVL_DR_HiZ);
|
||||
|
||||
nex = net->pin_DataB().nexus();
|
||||
assert(nex->t_cookie());
|
||||
|
||||
obj->u_.arith.b = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.arith.b = nex->t_cookie();
|
||||
nexus_lpm_add(obj->u_.arith.b, obj, 0, IVL_DR_HiZ, IVL_DR_HiZ);
|
||||
|
||||
|
||||
|
|
@ -1626,14 +1626,14 @@ void dll_target::lpm_mux(const NetMux*net)
|
|||
/* Connect the output bits. */
|
||||
nex = net->pin_Result().nexus();
|
||||
assert(nex->t_cookie());
|
||||
obj->u_.mux.q = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.mux.q = nex->t_cookie();
|
||||
nexus_lpm_add(obj->u_.mux.q, obj, 0,
|
||||
IVL_DR_STRONG, IVL_DR_STRONG);
|
||||
|
||||
/* Connect the select bits. */
|
||||
nex = net->pin_Sel().nexus();
|
||||
assert(nex->t_cookie());
|
||||
obj->u_.mux.s = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.mux.s = nex->t_cookie();
|
||||
nexus_lpm_add(obj->u_.mux.s, obj, 0,
|
||||
IVL_DR_HiZ, IVL_DR_HiZ);
|
||||
|
||||
|
|
@ -1643,7 +1643,7 @@ void dll_target::lpm_mux(const NetMux*net)
|
|||
|
||||
for (unsigned sdx = 0 ; sdx < selects ; sdx += 1) {
|
||||
nex = net->pin_Data(sdx).nexus();
|
||||
ivl_nexus_t tmp = (ivl_nexus_t) nex->t_cookie();
|
||||
ivl_nexus_t tmp = nex->t_cookie();
|
||||
obj->u_.mux.d[sdx] = tmp;
|
||||
nexus_lpm_add(tmp, obj, 0, IVL_DR_HiZ, IVL_DR_HiZ);
|
||||
}
|
||||
|
|
@ -1669,7 +1669,7 @@ bool dll_target::concat(const NetConcat*net)
|
|||
const Nexus*nex = net->pin(idx).nexus();
|
||||
assert(nex->t_cookie());
|
||||
|
||||
obj->u_.concat.pins[idx] = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.concat.pins[idx] = nex->t_cookie();
|
||||
nexus_lpm_add(obj->u_.concat.pins[idx], obj, 0, dr, dr);
|
||||
}
|
||||
|
||||
|
|
@ -1713,20 +1713,20 @@ bool dll_target::part_select(const NetPartSelect*net)
|
|||
nex = net->pin(0).nexus();
|
||||
assert(nex->t_cookie());
|
||||
|
||||
obj->u_.part.q = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.part.q = nex->t_cookie();
|
||||
|
||||
/* NetPartSelect:pin(1) is the input pin. */
|
||||
nex = net->pin(1).nexus();
|
||||
assert(nex->t_cookie());
|
||||
|
||||
obj->u_.part.a = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.part.a = nex->t_cookie();
|
||||
|
||||
/* If the part select has an additional pin, that pin is
|
||||
a variable select base. */
|
||||
if (net->pin_count() >= 3) {
|
||||
nex = net->pin(2).nexus();
|
||||
assert(nex->t_cookie());
|
||||
obj->u_.part.s = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.part.s = nex->t_cookie();
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
@ -1735,13 +1735,13 @@ bool dll_target::part_select(const NetPartSelect*net)
|
|||
nex = net->pin(1).nexus();
|
||||
assert(nex->t_cookie());
|
||||
|
||||
obj->u_.part.q = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.part.q = nex->t_cookie();
|
||||
|
||||
/* NetPartSelect:pin(0) is the input pin. */
|
||||
nex = net->pin(0).nexus();
|
||||
assert(nex->t_cookie());
|
||||
|
||||
obj->u_.part.a = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.part.a = nex->t_cookie();
|
||||
break;
|
||||
|
||||
case IVL_LPM_PART_BI:
|
||||
|
|
@ -1751,13 +1751,13 @@ bool dll_target::part_select(const NetPartSelect*net)
|
|||
nex = net->pin(0).nexus();
|
||||
assert(nex->t_cookie());
|
||||
|
||||
obj->u_.part.q = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.part.q = nex->t_cookie();
|
||||
|
||||
/* NetPartSelect:pin(1) is the input pin. */
|
||||
nex = net->pin(1).nexus();
|
||||
assert(nex->t_cookie());
|
||||
|
||||
obj->u_.part.a = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.part.a = nex->t_cookie();
|
||||
break;
|
||||
|
||||
default:
|
||||
|
|
@ -1799,14 +1799,14 @@ bool dll_target::replicate(const NetReplicate*net)
|
|||
const Nexus*nex = net->pin(0).nexus();
|
||||
assert(nex->t_cookie());
|
||||
|
||||
obj->u_.repeat.q = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.repeat.q = nex->t_cookie();
|
||||
nexus_lpm_add(obj->u_.repeat.q, obj, 0, dr, dr);
|
||||
|
||||
dr = IVL_DR_HiZ;
|
||||
nex = net->pin(1).nexus();
|
||||
assert(nex->t_cookie());
|
||||
|
||||
obj->u_.repeat.a = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->u_.repeat.a = nex->t_cookie();
|
||||
nexus_lpm_add(obj->u_.repeat.a, obj, 0, dr, dr);
|
||||
|
||||
scope_add_lpm(obj->scope, obj);
|
||||
|
|
@ -1867,7 +1867,7 @@ bool dll_target::net_const(const NetConst*net)
|
|||
drive_from_link(net->pin(0), drv0, drv1);
|
||||
const Nexus*nex = net->pin(0).nexus();
|
||||
assert(nex->t_cookie());
|
||||
obj->pin_ = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->pin_ = nex->t_cookie();
|
||||
nexus_con_add(obj->pin_, obj, 0, drv0, drv1);
|
||||
|
||||
|
||||
|
|
@ -1897,7 +1897,7 @@ bool dll_target::net_literal(const NetLiteral*net)
|
|||
drive_from_link(net->pin(0), drv0, drv1);
|
||||
const Nexus*nex = net->pin(0).nexus();
|
||||
assert(nex->t_cookie());
|
||||
obj->pin_ = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->pin_ = nex->t_cookie();
|
||||
nexus_con_add(obj->pin_, obj, 0, drv0, drv1);
|
||||
|
||||
des_.nconsts += 1;
|
||||
|
|
@ -2119,10 +2119,10 @@ void dll_target::signal(const NetNet*net)
|
|||
const Nexus*nex = net->pin(idx).nexus();
|
||||
if (nex->t_cookie()) {
|
||||
if (obj->array_words > 1) {
|
||||
obj->pins[idx] = (ivl_nexus_t)nex->t_cookie();
|
||||
obj->pins[idx] = nex->t_cookie();
|
||||
nexus_sig_add(obj->pins[idx], obj, idx);
|
||||
} else {
|
||||
obj->pin = (ivl_nexus_t)nex->t_cookie();
|
||||
obj->pin = nex->t_cookie();
|
||||
nexus_sig_add(obj->pin, obj, idx);
|
||||
}
|
||||
} else {
|
||||
|
|
@ -2167,7 +2167,7 @@ bool dll_target::signal_paths(const NetNet*net)
|
|||
ivl_nexus_t path_condit = 0;
|
||||
if (src->is_condit()) {
|
||||
const Nexus*nt = src->condit_pin().nexus();
|
||||
path_condit = (ivl_nexus_t) nt->t_cookie();
|
||||
path_condit = nt->t_cookie();
|
||||
}
|
||||
|
||||
for (unsigned pin = 0; pin < src->src_count(); pin += 1) {
|
||||
|
|
@ -2179,7 +2179,7 @@ bool dll_target::signal_paths(const NetNet*net)
|
|||
<< "." << endl;
|
||||
}
|
||||
assert(nex->t_cookie());
|
||||
obj->path[ptr].src = (ivl_nexus_t) nex->t_cookie();
|
||||
obj->path[ptr].src = nex->t_cookie();
|
||||
obj->path[ptr].condit = path_condit;
|
||||
obj->path[ptr].posedge = src->is_posedge();
|
||||
obj->path[ptr].negedge = src->is_negedge();
|
||||
|
|
@ -2200,6 +2200,9 @@ extern const struct target tgt_dll = { "dll", &dll_target_obj };
|
|||
|
||||
/*
|
||||
* $Log: t-dll.cc,v $
|
||||
* Revision 1.168 2007/03/26 18:17:51 steve
|
||||
* Remove pretense of general use for t_cookie.
|
||||
*
|
||||
* Revision 1.167 2007/03/26 16:51:49 steve
|
||||
* do not calculate nexus name unless needed.
|
||||
*
|
||||
|
|
|
|||
Loading…
Reference in New Issue