File: attributes.txt

package info (click to toggle)
geda-doc 20020209-1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 112 kB
  • ctags: 12
  • sloc: makefile: 27
file content (187 lines) | stat: -rw-r--r-- 6,900 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187

The Complete Attribute Reference Doc

----------------------------------------------------------------------

Attributes are nothing but text items which take on the form: name=value
name can be anything just as long as it doesn't contain a =.  value can
also be anything just as long as it is something (vs nothing).  name= 
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.  Either
a pin (if it's a pin number) or some other part of the symbol.

Attributes used to be required to be attached to something to be
attributes, but now they just have to exist in the symbol file as
name=value.  Expanding a bit on the last sentence, as long as the
text item has the format name=value, it is considered an attribute.
Attributes inside a symbol do not have to be attached to anything.
In order to see hidden attributes in gschem select Edit/Show Hidden Text.


Here is the current list of attributes which are used in the gEDA 
system:


device
(inside symbols only)	

device=device_name should be placed somewhere in the symbol and
made invisible.  device= is the device name and is required.  If the
object is a graphic then device= should be set to none (device=none).
It is no longer required to attach this attribute anything; just having
it exist as device=name is good enough.  Do not confuse this with just
having a text label which the device name.  Do not put spaces for the value
of this attribute; there are some programs which dislike spaces in the
device specifier.


graphical
(inside symbols only)

graphical=1 should exist somewhere in a symbol which is purely graphical
(such as a title block or decon symbol).  Symbols which have this
attribute have no electrical or circuit significance.  Don't forget to
set device=none (not really required but is nice to have).


pin#
(inside symbols only)

All pins should have a pin#=# attribute attached to the pin object. The
first # is a placeholder and increments sequentially starting at 1.
The second # is the actual pin number.	Both #'s are required!
The order of pin#'s is significant since the netlister will output pins
in sequential order starting at pin1 going through pinN. Example: pin1=1,
pin2=2, pin3=5.  These attributes can be either hidden or invisible.


type
(inside symbols only attached to pins)

Each pin should have a type=value attribute attached to it.  Here
is a list of valid values:

IN              input
OUT             output
I/O             input/output
OC              open collector
OE              open emitter
PAS             passive
TP              totem pole
TRI             tristate (high impedance)
CLK             clock
PWR             power/ground

The type attribute is not used in the symbol library and might change
drastically (due to some disagreements on the mailing list).
This symbol was formally known as "pintype"; that name should not be
used anymore.


numslots
(inside symbols only)

If a component has multiple slots in a package (such as a 7400 (NAND)
which has 4 NANDs per package) then you need a numslots=# attribute.
The # is the number of slots the device has.  numslots= should be exist
somewhere in the symbol and made invisible.  Additional slot related
required attributes are below.


slot#
(inside symbols only)

If a component has multiple slots in a package then you also need to
attach a slot#=#,#,#...  for every slot the component has.  The first
# corresponds to the slot number.  If a device has 4 slots then there
would be a slot1=, slot2=, slot3=, and a slot4= attribute exist
somewhere in the symbol and made invisible.  The subsequent # have
a one-to-one correspondence to pin# attributes and specify what the pin#
should be when that slot is set.  Yes this isn't obvious and might be
changing in the near future.  See 7400-1.sym as an example of how this
should all work.  It is recommended that all symbols which have slots have
a slot=1 attribute attached in the same fashion as the device= attributed.
The default pin#=#'s should reflect the first slot.  You cannot override
the pin#=# with a non-slot=1 when placing components (at least not yet).


footprint
(inside symbols only)

footprint=package_name should exist somewhere in the symbol which might
be used with the netlister.  Attach this attribute just like the device=
attribute.  package_name is the pcb footprint or package type like DIP14
or DIP40.  This is very new and so I'm not 100% sure this attribute will
be call this or what the values should be, so it's not required yet.
None of the current libraries use this.


label
(schematics)

If you want to label a net then attach an attribute called label=value to
the net.  All nets which have the same name are considered electrically
connected.  You should also use this attribute when you want to label
pins.


label
(inside symbols attached to pins)

All pins should also have the label=label attribute attached to them.
This is visible label associated with each pin.  Please make this
attribute green (instead of the default attribute yellow).  Right now,
the symbol libraries do not follow this convention, but they will.  
This symbol was formally known as "pinlabel"; that name should not be
used anymore.


name
(should not be used anywhere)

The name= attribute should not be attached anywhere in the symbol.
It's currently unused and is considered ambiguous.


uref
(both symbols and schematics )

This attribute is used to specify the reference name to a particular
instantiated component.  It should 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, ie attached to the outside of
the symbol, if it is visible).


net
(both schematics and inside symbols)

The net= attribute is used to create power/ground and arbitrary nets.
Please see the net= attribute MINI-HOWTO for more info.  The net=
attribute is not currently used by the symbol library, but is supported
by gnetlist


source
(schematics only)

The source= attribute is used to specify that a symbol has underlying
schematics.  The source= attribute mechanism for specifing underlying
schematics is in addition to the symbol/schematic sheet mechanism
mentioned elsewhere.  This attribute should only be attached to
instantiated components.  Attach the attribute to a component and specify
the filename (not the path) of the underlying schematic (like block_1.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.


value
(schematics only)

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.