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@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user