[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: Comments after successfully running gnetman . . ..



Bill Cox wrote:

Stuart Brorson wrote:

...

As gschem currently works, the "source" attribute is a "schematic
only" attribute. However, you are attaching it to the symbol. As I
see it, "source" should be a "symbol and schematic" attribute. I have
snooped around gschem to see how to enable this, but haven't figured
out how to do this yet.
Please clarify why the source= attribute is in the symbol file.
Thanks.

Please see my other e-mail.  Also, Bill should say something here.

Stuart

I have to agree with Stuart that having to specify the source= attribute on components in schematics takes some effort. I use the source= attribute on the symbol instead, so it wont have to be entered more than once.

I'll go ahead and make it both a schematic and symbol attribute, as Stuart suggests, so that the user can override the default value on the symbol.

I also liked some of his other suggestions, in particular a way to quickly switch to the symbol for a schematic would be handy. If gschem were emacs, I'm pretty sure I'd be off to the races writing a bit of lisp code to enable this feature in my .gschemrc file. Is this currenlty possible using nothing but guile code? If so, what would be the best aproach for me to take to learn how to do it?

Just some ideas on helping guys like me with the lisp code... Emacs keeps a history of lisp commands I can view, which helps me easily create lisp code to do anything I can do by hand (like opening a symbol file). There's also the help-function facility.

Thanks,
Bill
I've been digging into this code a bit. It's now clear to me we much need to upgrade how symbols and schematics are found.

In particular, complex hierarchical designs often have multiple schematics and symbols with the same name. For example current chip, having both a ROM and an SRAM, has two schematics and symbols named "decode" as well as "bit" and "wldriver". Also, I have no idea what names will be used by the other designers.

Therefore, both symbols and schematics need to be identified internally by fully expanded path names (I'm using realpath to get this), rather than the shorter base-name. The source= attribute on symbols needs to be a path name relative to the symbol. If the schematic is not found with the relative path, then the name will be searched in the source-library path. The source= attribute on components will override the source= attribute on symbols. It needs to be a path name relative to the schematic containing the component. Again, if the schematic is not found with the relative path, then the source-library will be searched.

Bill