[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: gEDA-user: Hierarchy question
Hi.
Bill Cox wrote:
Mike Jarabek wrote:
Hi,
I ran into a similar issue with the Verilog netlister. I skirted
the issue by adding a symbol with a special attribute attached,
'device', where the value was `IPAD', `OPAD' or `IOPAD'. When the
netlister enumerates the instances on the schematic, it builds lists
of the ports, based on the type attribute, and then ignores those
special symbols when the actual netlist instances are written out.
The VHDL netlister uses a similar scheme. (Literally.. ;-) You can
look in gnetlist/scheme/gnet-verilog.scm for info.
AFAIK, no `standard' symbol was created to convey this
information. Perhaps the time has come for this?
Mike
I think we need to settle on some attributes for hierarchy connection...
I like your scheme, but it has some duplication in attribute info.
The direction (in, out, inout) info is encoded on the pintype
attribute of the pin. I'd rather have a single device attributes for
all flags, like "FLAG" or "IO". That makes it simpler to search for
flags.
At the time when I wrote the Verilog netlister, we did not have access
to attached attributes on the pin itself. So I attached the information
at the symbol level, where it was visible to the netlister back end.
Using the attribute on the Pin directly is a better idea, with an
appropriate device class attribute. I suppose you could then have the
`symbol' for the schematic appear on the schematic with the hierarchy
connections on it, then use the same symbol on the next level up to
actually instantiate the sub-block... Well maybe, if the ins and outs
matched up right...
Either way, the current IO library has no consistent use of the device
attribute.
This can probably be partially solved with an addition to the symbol
creation guide, and some small modifications to existing back-ends.
Mike