Back-port edif_nexus_to_joint from tgt-edif.

This commit is contained in:
steve 2005-08-27 22:29:30 +00:00
parent 9dab368880
commit 075f9cbc4b
2 changed files with 32 additions and 2 deletions

View File

@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#ifdef HAVE_CVS_IDENT
#ident "$Id: edif.c,v 1.8 2003/09/03 23:34:09 steve Exp $"
#ident "$Id: edif.c,v 1.8.2.1 2005/08/27 22:29:30 steve Exp $"
#endif
# include "edif.h"
@ -393,6 +393,28 @@ edif_joint_t edif_joint_of_nexus(edif_t edf, ivl_nexus_t nex)
return jnt;
}
void edif_nexus_to_joint(edif_t edf, edif_joint_t jnt, ivl_nexus_t nex)
{
void*tmp = ivl_nexus_get_private(nex);
if (tmp != 0) {
/* There is a joint already on the nexus. Move all the
joint cells to the joint I'm joining to. */
edif_joint_t njnt = (edif_joint_t)tmp;
while (njnt->links) {
struct joint_cell_*cell = njnt->links;
njnt->links = cell->next;
cell->next = jnt->links;
jnt->links = cell;
}
/* Now njnt is dead, and should be removed from edif. */
/* Or we can ignore it as harmless. */
}
ivl_nexus_set_private(nex, jnt);
}
void edif_joint_rename(edif_joint_t jnt, const char*name)
{
assert(jnt->name == 0);
@ -617,6 +639,9 @@ void edif_print(FILE*fd, edif_t edf)
/*
* $Log: edif.c,v $
* Revision 1.8.2.1 2005/08/27 22:29:30 steve
* Back-port edif_nexus_to_joint from tgt-edif.
*
* Revision 1.8 2003/09/03 23:34:09 steve
* Support synchronous set of LPM_FF devices.
*

View File

@ -19,7 +19,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#ifdef HAVE_CVS_IDENT
#ident "$Id: edif.h,v 1.7 2003/09/03 23:34:09 steve Exp $"
#ident "$Id: edif.h,v 1.7.2.1 2005/08/27 22:29:31 steve Exp $"
#endif
# include <stdio.h>
@ -223,6 +223,8 @@ extern void edif_add_to_joint(edif_joint_t jnt,
edif_cellref_t cell,
unsigned port);
extern void edif_nexus_to_joint(edif_t edf, edif_joint_t jnt, ivl_nexus_t nex);
/*
* Print the entire design. This should only be done after the design
* is completely assembled.
@ -231,6 +233,9 @@ extern void edif_print(FILE*fd, edif_t design);
/*
* $Log: edif.h,v $
* Revision 1.7.2.1 2005/08/27 22:29:31 steve
* Back-port edif_nexus_to_joint from tgt-edif.
*
* Revision 1.7 2003/09/03 23:34:09 steve
* Support synchronous set of LPM_FF devices.
*