[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