User Tools

Site Tools


geda:master_attributes_list

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:master_attributes_list [2012/05/02 01:23]
vzh Add underscores missed during the translation from tex to wiki
geda:master_attributes_list [2017/11/15 22:36] (current)
newell [net]
Line 1: Line 1:
 +//​Translations of this page are also available in the following languages://​ [[master_attributes_list.ru|Русский]].
 +
 ====== gEDA/gaf Master Attribute Document ====== ====== gEDA/gaf Master Attribute Document ======
 by: Ales Hvezda, ahvezda@geda.seul.org by: Ales Hvezda, ahvezda@geda.seul.org
Line 13: Line 15:
 ===== What are Attributes? ===== ===== What are Attributes? =====
 Attributes in the gEDA/gaf system are nothing more than text items which take on the form: **name**=value. Name can be anything just as long as it doesn'​t contain a equals sign. Value can also be anything just as long as it is something (vs nothing). **name**= (without a value part) is not a valid attribute. Also, there cannot be any spaces immediately before or after the equals sign.\\ Attributes in the gEDA/gaf system are nothing more than text items which take on the form: **name**=value. Name can be anything just as long as it doesn'​t contain a equals sign. Value can also be anything just as long as it is something (vs nothing). **name**= (without a value part) is not a valid attribute. Also, there cannot be any spaces immediately before or after the equals sign.\\
-Attributes can be attached to some part of the symbol. If the attribute conveys information specific to an object, then the attribute should be attached directly to the object, otherwise the attribute should be free standing or +Attributes can be attached to some part of the symbol. If the attribute conveys information specific to an object, then the attribute should be attached directly to the object, otherwise the attribute should be free standing or
 floating. Free standing attributes just exist in the symbol file as text items which take on the form **name**=value. floating. Free standing attributes just exist in the symbol file as text items which take on the form **name**=value.
  
Line 20: Line 22:
 ==== device ==== ==== device ====
 **device**= is the device name of the symbol\\ **device**= is the device name of the symbol\\
-**device**= should be placed somewhere in the symbol and made invisible. This is a free standing or +**device**= should be placed somewhere in the symbol and made invisible. This is a free standing or
 floating attribute. If the object is a graphic then **device**= should be set to none (**device**=none) and attach a [[#​graphical]]= attribute. Do not confuse this attribute with just having a text label which the device name. Do not put spaces into the device name; there are some programs which dislike spaces in the device specifier. Generally the device name is in all caps.\\ floating attribute. If the object is a graphic then **device**= should be set to none (**device**=none) and attach a [[#​graphical]]= attribute. Do not confuse this attribute with just having a text label which the device name. Do not put spaces into the device name; there are some programs which dislike spaces in the device specifier. Generally the device name is in all caps.\\
-Examples: ''​device=7400 device=CONNECTOR_10 device=NPN_TRANSISTOR''​+//Examples://\\ ''​device=7400''​\\ ''​device=CONNECTOR_10''​\\ ''​device=NPN_TRANSISTOR''​
  
 ==== graphical ==== ==== graphical ====
 Symbols which have no electrical or circuit significance need a **graphical**=1 attribute. Symbols like titleboxes are purely graphical symbols. Any symbol which has **graphical**=1 is ignored by gnetlist.\\ Symbols which have no electrical or circuit significance need a **graphical**=1 attribute. Symbols like titleboxes are purely graphical symbols. Any symbol which has **graphical**=1 is ignored by gnetlist.\\
-**graphical**=1 should exist somewhere in the symbol and made invisible. This is a free standing or +**graphical**=1 should exist somewhere in the symbol and made invisible. This is a free standing or
 floating attribute. Don't forget to set [[#​device]]=none.\\ floating attribute. Don't forget to set [[#​device]]=none.\\
-Example: ''​graphical=1''​+//Example://\\ ''​graphical=1''​
  
 ==== description ==== ==== description ====
 The **description** attribute provides a simple one line description of what the symbol is supposed to represent.\\ The **description** attribute provides a simple one line description of what the symbol is supposed to represent.\\
-Example: ''​description=4 NAND gates with 2 inputs''​+//Example://\\ ''​description=4 NAND gates with 2 inputs''​
  
 ==== author ==== ==== author ====
 The **author** attribute identifies the name of the author of this symbol and their e-mail address. This attribute is optional, but it is nice to know who created which symbols. It also serves the purpose of known who to contact if there are questions about the intent(s) of the symbol. This attribute is free form and it can also include people'​s names who modified the symbol as well as multiple e-mail addresses. It is probably also a good idea to obfuscate the e-mail address so it is not harvested for spam purposes.\\ The **author** attribute identifies the name of the author of this symbol and their e-mail address. This attribute is optional, but it is nice to know who created which symbols. It also serves the purpose of known who to contact if there are questions about the intent(s) of the symbol. This attribute is free form and it can also include people'​s names who modified the symbol as well as multiple e-mail addresses. It is probably also a good idea to obfuscate the e-mail address so it is not harvested for spam purposes.\\
-Example: ''​author=Ales Hvezda ahvezdaATgeda.seul.org''​+//Example://\\ ''​author=Ales Hvezda ahvezdaATgeda.seul.org''​
  
 ==== comment ==== ==== comment ====
 The **comment** attribute can contain anything. This attribute can convey any additional information which might not fit into any other attribute. There can be multiple instances of this attribute.\\ The **comment** attribute can contain anything. This attribute can convey any additional information which might not fit into any other attribute. There can be multiple instances of this attribute.\\
-Example: ''​comment=This is a comment inside a symbol''​+//Example://\\ ''​comment=This is a comment inside a symbol''​
  
 ==== pinseq ==== ==== pinseq ====
-This attribute is used to give each pin an unique number or sequence. All pins must have a **pinseq**=#​ attribute attached to the pin object. This attribute should be hidden. This attribute is used extensively by gschem and gnetlist.\\+This attribute is used to give each pin unique number or sequence. All pins must have a **pinseq**=#​ attribute attached to the pin object. This attribute should be hidden. This attribute is used extensively by gschem and gnetlist.\\
 In some backends (especially the SPICE backend), gnetlist will output pins in the order of increasing pin sequence. The sequence numbers start at 1 and should increase without skipping any numbers. This attribute is not the pin number (i.e. device pin numbers, like GND is 7 on TTL). For pin numbers see the [[#​pinnumber]] attribute.\\ In some backends (especially the SPICE backend), gnetlist will output pins in the order of increasing pin sequence. The sequence numbers start at 1 and should increase without skipping any numbers. This attribute is not the pin number (i.e. device pin numbers, like GND is 7 on TTL). For pin numbers see the [[#​pinnumber]] attribute.\\
-Examples: ''​pinseq=1 pinseq=2 pinseq=3''​\\+//Examples://\\ ''​pinseq=1''​\\ ''​pinseq=2''​\\ ''​pinseq=3''​
  
 This attribute replaces the obsolete **pin#**=# attribute. This attribute replaces the obsolete **pin#**=# attribute.
Line 52: Line 54:
 This attribute is the pin number (i.e. like GND is 7 on 74 TTL). All pins must have a **pinnumber**=#​ attribute attached to the pin object.\\ This attribute is the pin number (i.e. like GND is 7 on 74 TTL). All pins must have a **pinnumber**=#​ attribute attached to the pin object.\\
 You can have numbers or letters for the value. This attribute should be visible with the value only visible. You also need a [[#pinseq]] attribute.\\ You can have numbers or letters for the value. This attribute should be visible with the value only visible. You also need a [[#pinseq]] attribute.\\
-Examples: ''​pinnumber=1 pinnumber=13 pinnumber=A0''​\\+//Examples://\\ ''​pinnumber=1''​\\ ''​pinnumber=13''​\\ ''​pinnumber=A0''​
  
 This attribute replaces the obsolete **pin#**=# attribute. This attribute replaces the obsolete **pin#**=# attribute.
  
 ==== pintype ==== ==== pintype ====
-Each pin must have a **pintype**=value attribute attached to it and should be make hidden. Table 1 shows valid values for this attribute.\\+Each pin must have a **pintype**=value attribute attached to it and should be made hidden. Table 1 shows valid values for this attribute.\\
 This attribute is not used extensively in the symbol library, but it will be used for DRC and netlisting. Use "​Passive"​ if no other type matches.\\ This attribute is not used extensively in the symbol library, but it will be used for DRC and netlisting. Use "​Passive"​ if no other type matches.\\
-Examples: ''​pintype=clk pintype=in pintype=pas''​\\+//Examples://\\ ''​pintype=clk''​\\ ''​pintype=in''​\\ ''​pintype=pas''​
  
 |in|Input| |in|Input|
Line 71: Line 73:
 |clk|Clock| |clk|Clock|
 |pwr|Power/​Ground| |pwr|Power/​Ground|
-|Table 1: pintype values||+ **Table 1:** pintype values ​ ||
  
 ==== pinlabel ==== ==== pinlabel ====
 This attribute labels a pin object. This attribute is primarily used by gnetlist to support hierarchical designs.\\ This attribute labels a pin object. This attribute is primarily used by gnetlist to support hierarchical designs.\\
 This attribute must be attached to the pin and be left visible. Please make this attribute green (instead of the default attribute yellow).\\ This attribute must be attached to the pin and be left visible. Please make this attribute green (instead of the default attribute yellow).\\
-Examples: ''​pinlabel=A0 pinlabel=DATA1 pinlabel=CLK''​\\+//Examples://\\ ''​pinlabel=A0''​\\ ''​pinlabel=DATA1''​\\ ''​pinlabel=CLK''​
  
 ==== numslots ==== ==== numslots ====
 If a component has multiple slots in a physical package (such as a 7400 (NAND) which has 4 NANDs per package) then you need a **numslots**=#​ attribute. The # is the number of slots that are in a physical device. **numslots**=#​ should exist somewhere in the symbol and be made invisible. This is a free standing or floating attribute. If the symbol does not need slotting, then put **numslots**=0 into the symbol file.\\ If a component has multiple slots in a physical package (such as a 7400 (NAND) which has 4 NANDs per package) then you need a **numslots**=#​ attribute. The # is the number of slots that are in a physical device. **numslots**=#​ should exist somewhere in the symbol and be made invisible. This is a free standing or floating attribute. If the symbol does not need slotting, then put **numslots**=0 into the symbol file.\\
-Example: ''​numslots=4''​+//Example://\\ ''​numslots=4''​
  
 ==== slotdef ==== ==== slotdef ====
 If a component has multiple slots in a physical package then you must attach a **slotdef**=slotnumber:#,#,#​... for every device inside the physical package.\\ If a component has multiple slots in a physical package then you must attach a **slotdef**=slotnumber:#,#,#​... for every device inside the physical package.\\
-The slotnumber corresponds to the slot number. The colon after the slot number is required. For example, if a device has 4 slots then there would be **slotdef**=1:​...,​ **slotdef**=2:​...,​ **slotdef**=3:​...,​ and **slotdef**=4:​... attributes somewhere in the symbol and be made invisible. This is a free standing or +The slotnumber corresponds to the slot number. The colon after the slot number is required. For example, if a device has 4 slots then there would be **slotdef**=1:​...,​ **slotdef**=2:​...,​ **slotdef**=3:​...,​ and **slotdef**=4:​... attributes somewhere in the symbol and be made invisible. This is a free standing or
 floating attribute.\\ floating attribute.\\
 The #'s have a one-to-one correspondence to the **pinseq** attributes and specify which **pinnumber**=#​ is used during display (gschem) or netlisting (gnetlist).\\ The #'s have a one-to-one correspondence to the **pinseq** attributes and specify which **pinnumber**=#​ is used during display (gschem) or netlisting (gnetlist).\\
 It is recommended that all symbols which have slots have a [[#slot]]=1 attribute attached in the same fashion as the [[#​device]]= attribute.\\ It is recommended that all symbols which have slots have a [[#slot]]=1 attribute attached in the same fashion as the [[#​device]]= attribute.\\
 See 7400-1.sym as a concrete example.\\ See 7400-1.sym as a concrete example.\\
-Examples: ''​slotdef=1:​1,​2,​3 slotdef=2:​4,​5,​6 slotdef=3:​7,​8,​9''​\\+//Examples://\\ ''​slotdef=1:​1,​2,​3''​\\ ''​slotdef=2:​4,​5,​6''​\\ ''​slotdef=3:​7,​8,​9''​ 
 This attribute replaces the obsolete **slot#**=# attribute. This attribute replaces the obsolete **slot#**=# attribute.
  
Line 102: Line 105:
 Attach this attribute just like the [[#​device]]= attribute. This is a freestanding or floating attribute.\\ Attach this attribute just like the [[#​device]]= attribute. This is a freestanding or floating attribute.\\
 documentation_locator is either the base filename of the documentation,​ or it is the complete Internet URL (Uniform Resource Locator). If it is the filename, an attempt will be made to search for it in the local gEDA share directory named **documentation**.\\ documentation_locator is either the base filename of the documentation,​ or it is the complete Internet URL (Uniform Resource Locator). If it is the filename, an attempt will be made to search for it in the local gEDA share directory named **documentation**.\\
-Filename example: ''​documentation=sn74ls00.pdf''​\\ +//Filename example://\\ ''​documentation=sn74ls00.pdf''​\\ 
-URL example: ''​%%documentation=http://​www-s.ti.com/​sc/​ds/​sn74ls00.pdf%%''​+//URL example://\\ ''​%%documentation=http://​www-s.ti.com/​sc/​ds/​sn74ls00.pdf%%''​
  
 ===== Schematic only Attributes ===== ===== Schematic only Attributes =====
 ==== netname ==== ==== netname ====
 This attribute should be attached to a net object to give it a name. Multiple net names for connected net segments is discouraged. All nets which have the same value are considered electrically connected. This attribute is not valid inside symbols (as you cannot have nets inside of symbols).\\ This attribute should be attached to a net object to give it a name. Multiple net names for connected net segments is discouraged. All nets which have the same value are considered electrically connected. This attribute is not valid inside symbols (as you cannot have nets inside of symbols).\\
-Examples: ''​netname=DATA0_H netname=CLK_L''​\\+//Examples://\\ ''​netname=DATA0_H''​\\ ''​netname=CLK_L''​
  
 ==== source ==== ==== source ====
 The **source**= attribute is used to specify that a symbol has underlying schematics. This attribute is attached directly to a component.\\ The **source**= attribute is used to specify that a symbol has underlying schematics. This attribute is attached directly to a component.\\
 This attribute should only be attached to instantiated components in schematics. Attach the attribute to a component and specify the filename (not the path) of the underlying schematic (like block.sch) for the value. The specified schematic must be in a source-library path. This attribute can be attached multiple times with different values which basically means that there are multiple underlying schematics.\\ This attribute should only be attached to instantiated components in schematics. Attach the attribute to a component and specify the filename (not the path) of the underlying schematic (like block.sch) for the value. The specified schematic must be in a source-library path. This attribute can be attached multiple times with different values which basically means that there are multiple underlying schematics.\\
-Examples: ''​source=underlying.sch source=memory.sch''​+//Examples://\\ ''​source=underlying.sch''​\\ ''​source=memory.sch''​
  
 ===== Symbol and Schematic Attributes ===== ===== Symbol and Schematic Attributes =====
Line 119: Line 122:
 ==== refdes ==== ==== refdes ====
 This attribute is used to specify the reference designator to a particular instantiated component. It must be on ALL components which have some sort of electrical significance. This attribute can also be on the inside of a symbol (it will be promoted, i.e. attached to the outside of the symbol, if it is visible) to provide a default refdes value (such as U?). Usually this attribute is composed by a prefix ('​U'​ for example) and a number (different for each component).\\ This attribute is used to specify the reference designator to a particular instantiated component. It must be on ALL components which have some sort of electrical significance. This attribute can also be on the inside of a symbol (it will be promoted, i.e. attached to the outside of the symbol, if it is visible) to provide a default refdes value (such as U?). Usually this attribute is composed by a prefix ('​U'​ for example) and a number (different for each component).\\
-Examples: ''​refdes=U1 refdes=R10 refdes=CONN1''​\\+//Examples://\\ ''​refdes=U1''​\\ ''​refdes=R10''​\\ ''​refdes=CONN1''​
  
 === refdes naming restrictions === === refdes naming restrictions ===
Line 128: Line 131:
   * No hyphens. This might upset the M4 macro language potentially used to generate footprints. "​_"​ is ok.   * No hyphens. This might upset the M4 macro language potentially used to generate footprints. "​_"​ is ok.
   * Any lower case suffix is ignored. This is so you can, place four discrete NAND gates on the schematic called U1a, U1b, U1c and U1d. They will netlist into a single footprint named U1.   * Any lower case suffix is ignored. This is so you can, place four discrete NAND gates on the schematic called U1a, U1b, U1c and U1d. They will netlist into a single footprint named U1.
-  * Non-ASCII characters ​like like üöäß will not print in pcb+  * Non-ASCII characters like üöäß will not print in pcb
  
  
Line 157: Line 160:
  
 ==== net ==== ==== net ====
-The **net**= attribute is used to create power/​ground and arbitrary nets. Please see the  [[gEDA:​na_howto|net= attribute mini-HOWTO]] for more info. When this attribute is inside a symbol, it is used to create nets. When this attribute is attached to an instantiated component (in a schematic), then the **net**= can also be used to create new nets and can used to override existing nets.+The **net**= attribute is used to create power/​ground and arbitrary nets. Please see the  [[gEDA:​na_howto|net= attribute mini-HOWTO]] for more info. When this attribute is inside a symbol, it is used to create nets. When this attribute is attached to an instantiated component (in a schematic), then the **net**= can also be used to create new nets and can be used to override existing nets.
  
 ==== value ==== ==== value ====
 Used mainly in the spice backend netlister to specify the value of the various elements. No translation is done on this, and it is placed as is into the netlist.\\ Used mainly in the spice backend netlister to specify the value of the various elements. No translation is done on this, and it is placed as is into the netlist.\\
-Examples: ''​value=1K value=10V''​\\+//Examples://\\ ''​value=1K''​\\ ''​value=10V''​
  
 ==== symversion ==== ==== symversion ====
Line 198: Line 201:
 symbol file.  This attribute is always promoted when it is found inside symbol file.  This attribute is always promoted when it is found inside
 a symbol during component placement. ​ Users should not attach this a symbol during component placement. ​ Users should not attach this
-attribute manually to instantiated symbols in a schematic.+attribute manually to instantiated symbols in a schematic.\\ 
 +//​Examples://​\\ ''​symversion=1.1''​\\ ''​symversion=2.0''​
  
-Examples: ​ ''​symversion=1.1'' ​ ''​symversion=2.0''​ 
 ==== dist-license ==== ==== dist-license ====
  
 The **dist-license** attribute is used to specify the redistribution license for the symbol or schematic. ​ It should be the name of a known license. ​ Some examples values are:  GPL, GPL version 2 only, GPL version 3 only, public domain, Apache version 2, Modified BSD, X11, etc.  \\ The **dist-license** attribute is used to specify the redistribution license for the symbol or schematic. ​ It should be the name of a known license. ​ Some examples values are:  GPL, GPL version 2 only, GPL version 3 only, public domain, Apache version 2, Modified BSD, X11, etc.  \\
 \\ \\
-For a list of licenses see: [[http://​www.gnu.org/​philosophy/​license-list.html|FSF License List]] and +For a list of licenses see: [[http://​www.gnu.org/​philosophy/​license-list.html|FSF License List]] and
 [[http://​www.opensource.org/​licenses/​category|OSI License List]] [[http://​www.opensource.org/​licenses/​category|OSI License List]]
  
geda/master_attributes_list.1335936190.txt.gz · Last modified: 2012/05/02 01:23 by vzh