Scope names stored only as basename.
This commit is contained in:
parent
679c9c5bfe
commit
486274cfa1
|
|
@ -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
|
||||||
*/
|
*/
|
||||||
#ifdef HAVE_CVS_IDENT
|
#ifdef HAVE_CVS_IDENT
|
||||||
#ident "$Id: netlist.h,v 1.277 2003/03/01 06:25:30 steve Exp $"
|
#ident "$Id: netlist.h,v 1.278 2003/03/03 02:22:41 steve Exp $"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -2878,6 +2878,9 @@ class NetScope {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
enum TYPE { MODULE, TASK, FUNC, BEGIN_END, FORK_JOIN };
|
enum TYPE { MODULE, TASK, FUNC, BEGIN_END, FORK_JOIN };
|
||||||
|
|
||||||
|
/* Create a new scope, and attach it to the given parent. The
|
||||||
|
name is expected to have been permallocated. */
|
||||||
NetScope(NetScope*up, const char*name, TYPE t);
|
NetScope(NetScope*up, const char*name, TYPE t);
|
||||||
~NetScope();
|
~NetScope();
|
||||||
|
|
||||||
|
|
@ -3201,6 +3204,9 @@ extern ostream& operator << (ostream&, NetNet::Type);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* $Log: netlist.h,v $
|
* $Log: netlist.h,v $
|
||||||
|
* Revision 1.278 2003/03/03 02:22:41 steve
|
||||||
|
* Scope names stored only as basename.
|
||||||
|
*
|
||||||
* Revision 1.277 2003/03/01 06:25:30 steve
|
* Revision 1.277 2003/03/01 06:25:30 steve
|
||||||
* Add the lex_strings string handler, and put
|
* Add the lex_strings string handler, and put
|
||||||
* scope names and system task/function names
|
* scope names and system task/function names
|
||||||
|
|
|
||||||
44
t-dll-api.cc
44
t-dll-api.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
|
||||||
*/
|
*/
|
||||||
#ifdef HAVE_CVS_IDENT
|
#ifdef HAVE_CVS_IDENT
|
||||||
#ident "$Id: t-dll-api.cc,v 1.91 2003/02/26 01:29:24 steve Exp $"
|
#ident "$Id: t-dll-api.cc,v 1.92 2003/03/03 02:22:41 steve Exp $"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
# include "config.h"
|
# include "config.h"
|
||||||
|
|
@ -1101,10 +1101,7 @@ extern "C" const char* ivl_scope_basename(ivl_scope_t net)
|
||||||
{
|
{
|
||||||
assert(net);
|
assert(net);
|
||||||
|
|
||||||
if (net->parent == 0)
|
return net->name_;
|
||||||
return net->name_;
|
|
||||||
|
|
||||||
return basename(net->parent, net->name_);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
extern "C" int ivl_scope_children(ivl_scope_t net,
|
extern "C" int ivl_scope_children(ivl_scope_t net,
|
||||||
|
|
@ -1191,9 +1188,41 @@ extern "C" ivl_memory_t ivl_scope_mem(ivl_scope_t net, unsigned idx)
|
||||||
return net->mem_[idx];
|
return net->mem_[idx];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void push_scope_basename(ivl_scope_t net, char*buf)
|
||||||
|
{
|
||||||
|
if (net->parent == 0) {
|
||||||
|
strcpy(buf, net->name_);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
push_scope_basename(net->parent, buf);
|
||||||
|
strcat(buf, ".");
|
||||||
|
strcat(buf, net->name_);
|
||||||
|
}
|
||||||
|
|
||||||
extern "C" const char* ivl_scope_name(ivl_scope_t net)
|
extern "C" const char* ivl_scope_name(ivl_scope_t net)
|
||||||
{
|
{
|
||||||
return net->name_;
|
static char*name_buffer = 0;
|
||||||
|
static unsigned name_size = 0;
|
||||||
|
|
||||||
|
if (net->parent == 0)
|
||||||
|
return net->name_;
|
||||||
|
|
||||||
|
ivl_scope_t cur;
|
||||||
|
|
||||||
|
unsigned needlen = 0;
|
||||||
|
for (cur = net ; cur ; cur = cur->parent)
|
||||||
|
needlen += strlen(cur->name_) + 1;
|
||||||
|
|
||||||
|
if (name_size < needlen) {
|
||||||
|
name_buffer = (char*)realloc(name_buffer, needlen);
|
||||||
|
name_size = needlen;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
push_scope_basename(net, name_buffer);
|
||||||
|
|
||||||
|
return name_buffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
extern "C" ivl_scope_t ivl_scope_parent(ivl_scope_t net)
|
extern "C" ivl_scope_t ivl_scope_parent(ivl_scope_t net)
|
||||||
|
|
@ -1679,6 +1708,9 @@ extern "C" ivl_variable_type_t ivl_variable_type(ivl_variable_t net)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* $Log: t-dll-api.cc,v $
|
* $Log: t-dll-api.cc,v $
|
||||||
|
* Revision 1.92 2003/03/03 02:22:41 steve
|
||||||
|
* Scope names stored only as basename.
|
||||||
|
*
|
||||||
* Revision 1.91 2003/02/26 01:29:24 steve
|
* Revision 1.91 2003/02/26 01:29:24 steve
|
||||||
* LPM objects store only their base names.
|
* LPM objects store only their base names.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
25
t-dll.cc
25
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
|
||||||
*/
|
*/
|
||||||
#ifdef HAVE_CVS_IDENT
|
#ifdef HAVE_CVS_IDENT
|
||||||
#ident "$Id: t-dll.cc,v 1.104 2003/01/30 16:23:08 steve Exp $"
|
#ident "$Id: t-dll.cc,v 1.105 2003/03/03 02:22:41 steve Exp $"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
# include "config.h"
|
# include "config.h"
|
||||||
|
|
@ -187,11 +187,11 @@ static ivl_scope_t find_scope_from_root(ivl_scope_t root, const NetScope*cur)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
for (tmp = parent->child_ ; tmp ; tmp = tmp->sibling_)
|
for (tmp = parent->child_ ; tmp ; tmp = tmp->sibling_)
|
||||||
if (strcmp(tmp->name_, cur->name().c_str()) == 0)
|
if (strcmp(tmp->name_, cur->basename()) == 0)
|
||||||
return tmp;
|
return tmp;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
if (strcmp(root->name_, cur->name().c_str()) == 0)
|
if (strcmp(root->name_, cur->basename()) == 0)
|
||||||
return root;
|
return root;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -442,8 +442,8 @@ static void scope_add_var(ivl_scope_t scope, ivl_variable_t net)
|
||||||
void dll_target::add_root(ivl_design_s &des_, const NetScope *s)
|
void dll_target::add_root(ivl_design_s &des_, const NetScope *s)
|
||||||
{
|
{
|
||||||
ivl_scope_t root_ = new struct ivl_scope_s;
|
ivl_scope_t root_ = new struct ivl_scope_s;
|
||||||
const char *name = s->name().c_str();
|
const char *name = s->basename();
|
||||||
root_->name_ = strings_.add(name);
|
root_->name_ = name;
|
||||||
root_->child_ = 0;
|
root_->child_ = 0;
|
||||||
root_->sibling_ = 0;
|
root_->sibling_ = 0;
|
||||||
root_->parent = 0;
|
root_->parent = 0;
|
||||||
|
|
@ -1802,7 +1802,7 @@ void dll_target::scope(const NetScope*net)
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
scope = new struct ivl_scope_s;
|
scope = new struct ivl_scope_s;
|
||||||
scope->name_ = strings_.add(net->name().c_str());
|
scope->name_ = net->basename();
|
||||||
scope->child_ = 0;
|
scope->child_ = 0;
|
||||||
scope->sibling_ = 0;
|
scope->sibling_ = 0;
|
||||||
scope->parent = find_scope(des_, net->parent());
|
scope->parent = find_scope(des_, net->parent());
|
||||||
|
|
@ -1887,16 +1887,6 @@ void dll_target::signal(const NetNet*net)
|
||||||
|
|
||||||
obj->scope_->sigs_[obj->scope_->nsigs_-1] = obj;
|
obj->scope_->sigs_[obj->scope_->nsigs_-1] = obj;
|
||||||
|
|
||||||
#ifndef NDEBUG
|
|
||||||
{ size_t name_len = strlen(obj->scope_->name_);
|
|
||||||
if (0 != strncmp(obj->scope_->name_, obj->name_, name_len)) {
|
|
||||||
cerr << net->get_line() << ": internal error: "
|
|
||||||
<< "Malformed name " << obj->name_ << " in "
|
|
||||||
<< obj->scope_->name_ << endl;
|
|
||||||
}
|
|
||||||
assert(0 == strncmp(obj->scope_->name_, obj->name_, name_len));
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Save the primitive properties of the signal in the
|
/* Save the primitive properties of the signal in the
|
||||||
ivl_signal_t object. */
|
ivl_signal_t object. */
|
||||||
|
|
@ -2033,6 +2023,9 @@ extern const struct target tgt_dll = { "dll", &dll_target_obj };
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* $Log: t-dll.cc,v $
|
* $Log: t-dll.cc,v $
|
||||||
|
* Revision 1.105 2003/03/03 02:22:41 steve
|
||||||
|
* Scope names stored only as basename.
|
||||||
|
*
|
||||||
* Revision 1.104 2003/01/30 16:23:08 steve
|
* Revision 1.104 2003/01/30 16:23:08 steve
|
||||||
* Spelling fixes.
|
* Spelling fixes.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue