User Tools

Site Tools


geda:gnetlist_ug:basic_netlisting

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
geda:gnetlist_ug:basic_netlisting [2012/11/17 08:20]
peter-b
geda:gnetlist_ug:basic_netlisting [2012/11/17 10:29]
peter-b
Line 11: Line 11:
 Schematics **must** contain only nets, buses, components and graphical elements. ​ A //​component//​ in a schematic is an instance of a //symbol// from a //symbol library//. Schematics **must** contain only nets, buses, components and graphical elements. ​ A //​component//​ in a schematic is an instance of a //symbol// from a //symbol library//.
  
-Every component that you want to appear in a netlist **must** have a "​refdes"​ attribute attached to it.  This should be an alphanumeric string beginning with a letter. ​ The "​refdes"​ is used to identify the component in parts lists, on PCB layouts, and in simulator output.+Every component that you want to appear in a netlist **must** have a "''​refdes=''​" attribute attached to it.  This should be an alphanumeric string beginning with a letter. ​ The "​refdes"​ is used to identify the component in parts lists, on PCB layouts, and in simulator output.
  
 If two components in the same circuit have the same "​refdes",​ then gnetlist will merge them (i.e. it will treat them as being the same component). ​ This behaviour enables [[slotting]]. It also allows you to split complicated components with very many pins across several pages, by using different symbols for different sections of the component. If two components in the same circuit have the same "​refdes",​ then gnetlist will merge them (i.e. it will treat them as being the same component). ​ This behaviour enables [[slotting]]. It also allows you to split complicated components with very many pins across several pages, by using different symbols for different sections of the component.
  
-Nets can be named by attaching a "​netname"​ attribute to a net segment. ​ All net segments attached to the segment with the attribute will then share the same name.  If two nets in the same circuit have the same "​netname",​ then gnetlist will treat them as being connected. ​ If two connected nets have different "​netname"​ attributes, then gnetlist will merge all the nets with either of those names together.+Nets can be named by attaching a "''​netname=''​" attribute to a net segment. ​ All net segments attached to the segment with the attribute will then share the same name.  If two nets in the same circuit have the same "​netname",​ then gnetlist will treat them as being connected. ​ If two connected nets have different "​netname"​ attributes, then gnetlist will merge all the nets with either of those names together.  If a net doesn'​t have a "​netname",​ gnetlist will automatically generate one.
  
 <note important>​gnetlist currently ignores buses and bus pins.  You can still use them in your schematic diagrams, but they will not be used for netlist generation.</​note>​ <note important>​gnetlist currently ignores buses and bus pins.  You can still use them in your schematic diagrams, but they will not be used for netlist generation.</​note>​
Line 23: Line 23:
 <note tip>​Following the [[geda:​gschem_symbol_creation|Symbol Creation Guide]] will help you make symbols that work well with gnetlist.</​note>​ <note tip>​Following the [[geda:​gschem_symbol_creation|Symbol Creation Guide]] will help you make symbols that work well with gnetlist.</​note>​
  
-Symbols **must** contain only pins, attributes and [[geda:​gschem_ug:​graphics|graphical elements]]. ​ Symbols should include an unattached "​device"​ attribute.+Symbols **must** contain only pins, attributes and [[geda:​gschem_ug:​graphics|graphical elements]]. ​ Symbols should include an unattached "''​device=''​" attribute.
  
-All pins **must** have "​pinnumber"​ and "​pinlabel"​ attributes attached. ​ You should normally attach "​pintype"​ and "​pinseq"​ attributes as well.+All pins **must** have "''​pinnumber=''​" and "''​pinlabel=''​" attributes attached. ​ You should normally attach "''​pintype=''​" and "''​pinseq=''​" attributes as well.
  
-Sometimes, you may want gnetlist to ignore a symbol entirely. For example, some people use symbols for non-electrical purposes such as title blocks, or for comment or note markers. ​ To do this, you may use the "​graphical"​ attribute.+Sometimes, you may want gnetlist to ignore a symbol entirely. For example, some people use symbols for non-electrical purposes such as title blocks, or for comment or note markers. ​ To do this, you may use the "''​graphical=1''​" attribute.
  
 There are additional requirements if you want to make use of gnetlist'​s [[hierarchy]] or [[slotting]] support. There are additional requirements if you want to make use of gnetlist'​s [[hierarchy]] or [[slotting]] support.
 +
 +==== Attribute promotion ====
 +
 +gnetlist supports //attribute promotion//​. ​ When looking for a particular attribute from a component, it will check attributes attached to the symbol first, and then check unattached attributes in the component'​s underlying symbol. ​ This lets you provide default values for commonly-used attributes when designing a symbol, while still being able to override them while preparing the design.
geda/gnetlist_ug/basic_netlisting.txt ยท Last modified: 2012/11/17 10:29 by peter-b