[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: gEDA-user: Heavy Symbols and such
On Dec 4, 2007, at 8:23 PM, Steve Meier wrote:
> What is the deffinition of a heavy symbol? And secondly why put a data
> base behind one? I have been pondering this from several levels.
To me, a "heavy symbol" (or, in the parlance of other EDA packages, a
"component") is one that includes footprint information and either a
vendor part number or a company-internal one (which gets mapped to a
vendor part number for ordering). A heavy symbol may also contain a
pointer to a Spice library but I don't use that.
Why is this good?
Simply put: the schematic becomes the master drawing. From the
schematic, one can generate a netlist including package information
for layout and a BOM for parts ordering.
The former is very important. We've seen examples of different flavors
of transistors with different TO-92 pinouts. Things like opamps can
have different pinouts when in different packages.
So one can avoid all sorts of confusion by placing an AD8138ARZ on my
schematic, knowing that it will automatically pull in the expected
footprint (SOIC) and populate the BOM with a valid orderable part
number. We have added the AD8138ARM to the library because we need the
smaller footprint, and this part also has a different internal part
number.
> One level is about how heavy large components have become and the
> tasks
> that are used in building a working programed printed circuit board.
>
> Take a large fpga that has a large number of io pins that can have
> many
> different functions. these are typically broken up into groups other
> wise called banks.
>
> On a bank by bank basis it is possible to sellect the following logic
> families
>
> 3.3-V LVTTL/LVCMOS
> 2.5-V LVTTL/LVCMOS
> 1.8-V LVTTL/LVCMOS
> 1.5-V LVCMOS
> 3.3-V PCI
> 3.3-V PCI-X mode 1
> LVDS
> LVPECL
> Differential 1.5-V HSTL Class I and II
> Differential 1.8-V HSTL Class I and II
> Differential SSTL-18 Class I and II
> Differential SSTL-2 Class I and II
>
> Within a bank a pair of io pins can be used differentialy or as single
> ended inputs. At lay out time pin swapping to detangle the netlist
> becomes very attractive. Which pins can be swapped?
It's even worse than that, as (certainly with Xilinx) there are plenty
of limitations to pin placement. Some pins are inputs only. You need
to make sure you get your differential polarity correct. You need to
specify particular clock input pins. Differential inputs on Spartan 3E
don't have built-in terminations (but differential I/O does). You need
to avoid using the configuration control pins for most general I/O.
But this, in my estimation, doesn't have anything to do with the heavy
vs light symbol debate. We like to break up FPGA symbols into banks.
For example, XC3S250E-FT256 has four banks so our "symbol" is really
five parts, one for configuration connections and core power and
ground, and four symbols, one for each bank which include VCCIO
connectors for that bank. Pin names are as noted in the Xilinx data
sheet. This allows for some reasonable options for pin swapping.
The other FPGA school-of-thought involves making a logic symbol (or
set of symbols) for each design (which of course includes footprint
and part number info) with particular FPGA design pins on the correct
location in each symbol. By "logical symbol" I mean that you have,
say, one symbol for CPU interface, another for DDR SDRAM interface, a
third for Ethernet PHY, a fourth with config/power, etc. The downside
of this is pretty obvious: make a change that requires adding pins and
it gets ugly.
> On a second level, even a resistor has limitations. For a given
> manufacturor of a given product line there exists only a finite number
> of resistance values? To support manufacturing I would like to know
> what
> are the options for a particular package? Can I expect the package to
> survive the expected power levels?
The obvious solution to this is to have heavy symbols for each and
every resistor value, package size and tolerance. Of course your
resistor library can grow quite large in a hurry, although creating a
new symbol is a simple as copying an older one and changing the
relevant fields.
> On a third level, I would like to tie models and/or code (verilog,
> vhdl,
> spice) to a symbol and have the ability to generate simulatable
> netlists.
The problem with having schematics that support simulation (either HDL
or Spice) and layout is that there are things on a layout that don't
have models (connectors etc) and Spice-specific things don't translate
to layout.
-a
_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user