[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: gEDA-user: Re: hierarchy of schematics
On Thu, 2006-12-21 at 22:23 +0900, AR wrote:
> John Griessen wrote:
> >
> >> What is missing is a
> >> design "database" (a well-defined directory structure would do fine),
> >> with clear separation what is a symbol, schematics or other data.
> >
> > We now have that in gnetman and datadraw. No one's spent the time to
> > start using it yet though... If you have experience making good
> > choices of data structures with databases, I urge you to read up the
> > docs on gnetman and datadraw and suggest the structure that would make
> > for hierarchic schematics.
>
> Well, I'm not competent enough for doing a "real job". The following is
> a sketch of schema that I would like to have in gschem:
I'm sorry I missed this thread... I wrote gnetman because I feel as you
do that a real netlist database would be helpful. That's exactly what
gnetman is. I also think you're description for good schematic data
structures shows you have done a lot of good data structure modeling
work in the past. Here's a list of gnetman's main database classes:
class Design
Global ZeroGlobal
Global OneGlobal
class Netlist
sym Device
NetlistType Type
class Net
class Inst
bool Array
class Mport
MportType Type
class Port
class Mbus
dbMportType Type
uint32 Right
uint32 Left
class Bus
uint32 Left
uint32 Right
class Hier
class Global
class Attr
bool Declared
sym Value
sym Name
The following relationships exist between these classes. The meaning of
this format is unclear, it is described in the DataDraw manual, at
datadraw.sf.net.
// Design relationships
relationship Design Netlist hashed mandatory
relationship Design Netlist:Root child_only
relationship Design Global hashed mandatory
relationship Design:Library Design:Linked linked_list
relationship Design Attr cascade child_only
// Netlist relationships
relationship Netlist Net hashed mandatory
relationship Netlist Mport hashed mandatory
relationship Netlist Inst hashed mandatory
relationship Netlist Mbus hashed mandatory
relationship Netlist Bus hashed mandatory
relationship Netlist Hier cascade child_only
relationship Netlist:Internal Inst:External doubly_linked mandatory
relationship Netlist Attr cascade child_only
// Net relationships
relationship Net Port doubly_linked
relationship Net Attr cascade child_only
// Inst relationships
relationship Inst Port doubly_linked mandatory
relationship Inst Attr cascade child_only
// Mport relationships
relationship Mport Port mandatory parent_only
relationship Mport Port:Flag child_only
relationship Mport Attr cascade child_only
// Mbus relationships
relationship Mbus Mport array
relationship Mbus:External Inst:Flag
// Bus relationships
relationship Bus Net array
// Hier relationships
relationship Hier Hier hashed cascade
relationship Hier Inst doubly_linked
// Global relationships
relationship Global Net doubly_linked
// Attr relationships
relationship Attr Attr:Next cascade child_only
// Root relationships
relationship Root Design hashed mandatory
relationship Root Devspec hashed mandatory
_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user