pour ne pas generer des signaux ou des instances du meme nom que le modele
This commit is contained in:
parent
07b7fa587a
commit
373a87ee1c
|
@ -2,7 +2,7 @@ dnl Process this file with autoconf to produce a configure script.
|
|||
AC_INIT(src/bog_main.c)
|
||||
|
||||
BOOG_MAJOR_VERSION=1
|
||||
BOOG_MINOR_VERSION=4
|
||||
BOOG_MINOR_VERSION=5
|
||||
BOOG_VERSION=$BOOG_MAJOR_VERSION.$BOOG_MINOR_VERSION
|
||||
|
||||
AC_SUBST(BOOG_MAJOR_VERSION)
|
||||
|
|
|
@ -250,7 +250,7 @@ extern int main (int argc, char* argv[])
|
|||
autenv(); /*hash table*/
|
||||
bddenv(); /*for vhdlloadbefig() */
|
||||
|
||||
alliancebanner_with_authors("BooG", VERSION " [2002/02/11]", "Binding and Optimizing On Gates",
|
||||
alliancebanner_with_authors("BooG", VERSION " [2002/04/15]", "Binding and Optimizing On Gates",
|
||||
"2000", ALLIANCE_VERSION, "François Donnet");
|
||||
|
||||
/*alliance env: extension netlist file (vst or al)*/
|
||||
|
|
|
@ -95,7 +95,9 @@ static losig_list* loc_map_abl(lofig_list *lofig, chain_list *abl)
|
|||
losig_list* losig;
|
||||
port_list* port, *top;
|
||||
chain_list* sigchain = NULL, *new, *pred=NULL;
|
||||
char* name;
|
||||
char* insname;
|
||||
char* signame;
|
||||
chain_list* namechain;
|
||||
cell_list* cell;
|
||||
losig_list* output_losig;
|
||||
|
@ -117,12 +119,14 @@ static losig_list* loc_map_abl(lofig_list *lofig, chain_list *abl)
|
|||
/*cell->PORT contains the result of pattern matching*/
|
||||
cell=cell_pattern(abl);
|
||||
|
||||
insname=getnameindex(cell->NAME);
|
||||
putdelay(loins_name(insname),cell->DELAY); /*delay for loins*/
|
||||
putdelay(insname,cell->DELAY); /*delay for new signal*/
|
||||
name=getnameindex(cell->NAME);
|
||||
signame=losig_name(name);
|
||||
insname=loins_name(name);
|
||||
putdelay(insname,cell->DELAY); /*delay for loins*/
|
||||
putdelay(signame,cell->DELAY); /*delay for new signal*/
|
||||
|
||||
/*output_losig */
|
||||
namechain=addchain(NULL,insname);
|
||||
namechain=addchain(NULL,signame);
|
||||
output_losig=addlosig(lofig, getindex(), namechain, INTERNAL);
|
||||
|
||||
top=copyport(cell->PORT); /*not to be disturb by recursion*/
|
||||
|
@ -176,6 +180,7 @@ extern void map_abl(lofig_list *lofig, chain_list *abl, losig_list *output_losig
|
|||
port_list* port, *top;
|
||||
chain_list* sigchain = NULL, *new, *pred=NULL;
|
||||
char* insname;
|
||||
char* signame;
|
||||
cell_list* cell;
|
||||
int master;
|
||||
|
||||
|
@ -195,8 +200,9 @@ extern void map_abl(lofig_list *lofig, chain_list *abl, losig_list *output_losig
|
|||
/*search buffer, one or zero constant*/
|
||||
cell=cell_pattern(abl);
|
||||
|
||||
insname=(char*)output_losig->NAMECHAIN->DATA;
|
||||
putdelay(loins_name(insname),cell->DELAY); /*delay for loins*/
|
||||
signame=(char*)output_losig->NAMECHAIN->DATA;
|
||||
insname=loins_name(signame);
|
||||
putdelay(insname,cell->DELAY); /*delay for loins*/
|
||||
|
||||
top=copyport(cell->PORT); /*not to be disturb by recursion*/
|
||||
for (port=top; port; port=port->NEXT) {
|
||||
|
@ -280,8 +286,10 @@ extern void map_bus(lofig_list* lofig, biabl_list* biabl, losig_list* output_los
|
|||
SEPAR='_';
|
||||
insname=concatname((char*)output_losig->NAMECHAIN->DATA,insname);
|
||||
SEPAR=memo;
|
||||
}
|
||||
putdelay(loins_name(insname),cell->DELAY); /*delay for loins*/
|
||||
}
|
||||
|
||||
insname=loins_name(insname);
|
||||
putdelay(insname,cell->DELAY); /*delay for loins*/
|
||||
|
||||
top=copyport(cell->PORT);
|
||||
for (port=top; port; port=port->NEXT) {
|
||||
|
@ -372,8 +380,9 @@ extern void map_register(lofig_list* lofig, biabl_list* biabl, losig_list* outpu
|
|||
insname=concatname((char*)output_losig->NAMECHAIN->DATA,insname);
|
||||
SEPAR=memo;
|
||||
}
|
||||
|
||||
putdelay(loins_name(insname),cell->DELAY); /*delay for loins*/
|
||||
|
||||
insname=loins_name(insname);
|
||||
putdelay(insname,cell->DELAY); /*delay for loins*/
|
||||
|
||||
top=copyport(cell->PORT);
|
||||
for (port=top; port; port=port->NEXT) {
|
||||
|
|
|
@ -165,7 +165,7 @@ static ptype_list* search_long_path(loins_list* loins, befig_list* befig)
|
|||
|| locon->TYPE==EXTERNAL) continue;
|
||||
loins_aux=locon->ROOT;
|
||||
if (loins_aux==loins) continue;
|
||||
delay=getdelay(loins_name(loins_aux->INSNAME));
|
||||
delay=getdelay(loins_aux->INSNAME);
|
||||
if (delay>max_delay) {
|
||||
best_loins=loins_aux;
|
||||
max_delay=delay;
|
||||
|
@ -191,7 +191,8 @@ extern ptype_list* max_delay_path(befig_list* befig, lofig_list* lofig)
|
|||
{
|
||||
ptype_list* head, *path;
|
||||
loins_list* loins;
|
||||
|
||||
char *insname;
|
||||
|
||||
if (!befig) {
|
||||
fprintf(stderr,"max_delay_path: NULL pointer\n");
|
||||
exit(1);
|
||||
|
@ -204,10 +205,11 @@ extern ptype_list* max_delay_path(befig_list* befig, lofig_list* lofig)
|
|||
if (head) {
|
||||
/*search instance which begins*/
|
||||
for (loins=lofig->LOINS; loins; loins=loins->NEXT) {
|
||||
if ((char*) head->DATA==loins->INSNAME) break;
|
||||
insname=loins_name(head->DATA);
|
||||
if (insname==loins->INSNAME) break;
|
||||
}
|
||||
if (!loins) {
|
||||
fprintf(stderr,"max_delay_path: no loins '%s' found\n",(char*) head->DATA);
|
||||
fprintf(stderr,"max_delay_path: no loins '%s' found\n", insname);
|
||||
exit(1);
|
||||
}
|
||||
path=search_long_path(loins, befig);
|
||||
|
|
|
@ -39,10 +39,10 @@
|
|||
#include "bog_signal_nameindex.h"
|
||||
|
||||
|
||||
#define MBK_NOT namealloc("MBK_NOT")
|
||||
#define MBK_SIG namealloc("MBK_SIG")
|
||||
#define MBK_OUT namealloc("MBK_OUT")
|
||||
#define MBK_INS namealloc("MBK_INS")
|
||||
#define MBK_NOT namealloc("not")
|
||||
#define MBK_SIG namealloc("sig")
|
||||
#define MBK_OUT namealloc("out")
|
||||
#define MBK_INS namealloc("ins")
|
||||
#define BLOCK 1024
|
||||
|
||||
/*table of used name*/
|
||||
|
@ -163,6 +163,17 @@ extern char* getoppositename(char* name)
|
|||
/* build a generic name with an incremented index */
|
||||
/******************************************************************************/
|
||||
extern char* getautoname(char* name)
|
||||
{
|
||||
name=losig_name(name);
|
||||
|
||||
return getnameindex(name);
|
||||
}
|
||||
|
||||
|
||||
/******************************************************************************/
|
||||
/* return an artificial name to distinguish loins from signal */
|
||||
/******************************************************************************/
|
||||
extern char* losig_name(char* name)
|
||||
{
|
||||
char memo_char;
|
||||
|
||||
|
@ -170,10 +181,10 @@ extern char* getautoname(char* name)
|
|||
|
||||
memo_char=SEPAR; /*external value from MBK environment*/
|
||||
SEPAR='_';
|
||||
name=concatname(MBK_SIG,name);
|
||||
name=concatname(name,MBK_SIG);
|
||||
SEPAR=memo_char;
|
||||
|
||||
return getnameindex(name);
|
||||
return name;
|
||||
}
|
||||
|
||||
|
||||
|
@ -189,7 +200,7 @@ extern char* loins_name(char* name)
|
|||
|
||||
memo_char=SEPAR; /*external value from MBK environment*/
|
||||
SEPAR='_';
|
||||
name=concatname(MBK_INS,name);
|
||||
name=concatname(name,MBK_INS);
|
||||
SEPAR=memo_char;
|
||||
|
||||
return name;
|
||||
|
@ -209,8 +220,8 @@ extern char* output_name(char* name)
|
|||
|
||||
memo_char=SEPAR; /*external value from MBK environment*/
|
||||
SEPAR='_';
|
||||
name=concatname(MBK_SIG,name);
|
||||
name=concatname(MBK_OUT,name);
|
||||
name=concatname(name,MBK_SIG);
|
||||
name=concatname(name,MBK_OUT);
|
||||
SEPAR=memo_char;
|
||||
|
||||
return name;
|
||||
|
|
|
@ -69,6 +69,11 @@ extern char* getoppositename __P ((char* name));
|
|||
/******************************************************************************/
|
||||
extern char* getautoname __P ((char* name));
|
||||
|
||||
/******************************************************************************/
|
||||
/* return an artificial name to distinguish loins from signal */
|
||||
/******************************************************************************/
|
||||
extern char* losig_name(char* name);
|
||||
|
||||
/******************************************************************************/
|
||||
/* return an artificial name to distinguish loins from signal */
|
||||
/* only used to hash values for internal treatment */
|
||||
|
|
|
@ -260,7 +260,7 @@ extern void save_xsch(FILE* xsch_stream, lofig_list* lofig, ptype_list* long_pat
|
|||
losig=locon->SIG;
|
||||
signame=losig->NAMECHAIN->DATA;
|
||||
|
||||
delay=getdelay(loins_name(loins->INSNAME));
|
||||
delay=getdelay(loins->INSNAME);
|
||||
|
||||
switch (color_mode) {
|
||||
case XSCH_GRADIENT: color=gradient_color(delay,gradient); break;
|
||||
|
|
Loading…
Reference in New Issue