CoralEDA standard: crl002: attributes for any workflow
Status: | active
|
---|
Type: | strongly recommended (some parts are weakly recommended)
|
---|
Affects: | schematics editors, PCB editors, tools dealing with BoMs and netlists
|
---|
Scope
This standard specifies common attribute names and corresponding semantics,
especially for inter-process communication (e.g. through exchanging symbols,
footptints, netlists, BoMs, etc.) between EDA tools.
Terminology
- an attribute is a key=value pair, where the key is an identifier and
the value is a text string
- a heavy symbol or footprint is highly specialized to one particular
device and contains a lot of attributes describing that single device
as accurately as possible
- a light symbol or footprint is a generic implementation that can be used
with any device of a class of devices (e.g. a generic opamp symbol
or a generic 8 pin SO footprint); does contain only a few attributes,
device specific attributes are filled in after placing the object in
the design
- attributes are addessed as sym's foo, which means a symbol
attribute named foo; besides symbols ports and footprints have
attributes as well
- symbols are blocks of a schematics; a footprint is a block of a PCB;
a port is a terminal or pin or connector of a symbol or a footprint
Attribute recommendations
sym's device
strong recommendation
- symbol-on-sheet, heavy-symbol-in-lib, footprint-on-board, heavy-footprint-in-lib:
the generic, human readable name of the specific device
chosen for the implementation; e.g. using an opamp symbol, file
name "opamp-1.sym", device=lm358. Acts as the human readable section
of the BoM. Shall not contain vendor ordering numbers. Propagates to pcb.
Doesn't propagate to spice.
- light-symbol-in-lib, light-footprint-in-lib: don't use
sym's footprint
strong recommendation
- symbol-on-sheet, heavy-symbol-in-lib, footprint-on-board, heavy-footprint-in-lib, light-footprint-in-lib:
case sensitive, pcb-layout-software specific name of the footprint. Used
to let the pcb layout software choose the right footprint from its footprint
lib on forward annotation. When it lands on the BoM, it's a human readable
string for the designer and does not substitute vendor identifiers.
Propagates to pcb. Doesn't propagate to spice.
- light-symbol-in-lib: don't use
sym's value
strong recommendation
- symbol-on-sheet, footprint-on-board, heavy-symbol-in-lib, heavy-footprint-in-lib:
The "numeric" value of generic discrete components that feature a
main characteristic numeric value, such as resistors, inductances
and capacitors. May contain spice compatible SI suffixes, such as
m for mili and meg for mega. Should not contain a unit. Prefer
forms that are easier to parse e.g. prefer 4.7k instead of 4k7.
- light-symbol-in-lib, light-footprint-in-lib: don't use
sym's copyright and footprint's copyright
strong recommendation
- symbol-on-sheet, light-symbol-in-lib, heavy-symbol-in-lib, light-footprint-in-lib, heavy-footprint-in-lib, footprint-on-board:
Copyright year and name of the author, e.g. "(C) 1947, John Doe"
Must not propagate anywhere.
Note: the actual name of this attribute may vary from software to software;
as this attribute is not propagated, it's not part of any API convention
sym's license-dist and footprint's license-dist
strong recommendation
- symbol-on-sheet, light-symbol-in-lib, heavy-symbol-in-lib, light-footprint-in-lib, heavy-footprint-in-lib, footprint-on-board:
Name of the license when the symbol or footprint is distributed as
a standalone file or as part of a library (but not as part of schematics
sheet or pcb board), e.g. "GPLv2".
Must not propagate anywhere.
Note: the actual name of this attribute may vary from software to software;
as this attribute is not propagated, it's not part of any API convention
sym's license-use and footprint's license-use
strong recommendation
- symbol-on-sheet, light-symbol-in-lib, heavy-symbol-in-lib, light-footprint-in-lib, heavy-footprint-in-lib, footprint-on-board:
Name of the license when the symbol or footprint is distributed as
part of schematics sheet or pcb board (but not as a standalone file
or as part of a library), e.g. "GPLv2".
Must not propagate anywhere.
Note: the actual name of this attribute may vary from software to software;
as this attribute is not propagated, it's not part of any API convention
sym's color
weak recommendation
- symbol-on-sheet, footprint-on-board, heavy-symbol-in-lib, heavy-footprint-in-lib:
For components where color is a main feature, such as LEDs the
human readable color, preferably a single word (e.g. red or blue or rgb).
May end up in BoM as human readable string. May propagate to pcb.
Does not propagate to spice.
- light-symbol-in-lib, light-footprint-in-lib: don't use
sym's voltage
weak recommendation
- symbol-on-sheet, footprint-on-board:
The "numeric" voltage rating of a components: design maximum voltage value.
May contain spice compatible SI suffixes, such as m for mili and meg for
mega. Should not contain a unit. Prefer forms that are easier to parse
e.g. prefer 4.7k instead of 4k7. Typical for capacitors, but may be
useful for diodes and other components as well. When there are multiple
values available in the datasheet (absolute maximum, DC maximum,
repetitive maximum, any of these depending on temperature, etc), choose
a single value that the current circuit is designed with
May end up in BoM as human readable string. May propagates to pcb.
Does not propagate to spice.
- light-symbol-in-lib, light-footprint-in-lib, heavy-symbol-in-lib, heavy-footprint-in-lib: don't use
sym's temp_min, temp_max
weak recommendation
- symbol-on-sheet, footprint-on-board, heavy-symbol-in-lib, heavy-footprint-in-lib:
The "numeric" minimum and maximum temperature rating of a components in
Celsius. Should not contain a unit. Typical for capacitors, but may be
useful for diodes and other components as well.
May end up in BoM as human readable string. May propagates to pcb.
Does not propagate to spice.
- light-symbol-in-lib, light-footprint-in-lib: don't use
sym's tolerance
weak recommendation
- symbol-on-sheet, footprint-on-board, heavy-symbol-in-lib, heavy-footprint-in-lib:
The numeric value in percentage for symmetric tolerance. A value of "10"
means +-10%. Should not contain a unit or % suffix.
Typical for capacitors, resistors, inductances.
May end up in BoM as human readable string. Propagates to pcb.
Does not propagate to spice.
- light-symbol-in-lib, light-footprint-in-lib: don't use
port's sigtype
weak recommendation
- all:
If a port operates in a specific signaling system the name of the
system (case sensitive): analog, digital. Useful for DRC. May
propagate to pcb.
port's sigmax
weak recommendation
- all:
If a port operates in a specific signaling system the maximum
normal operating voltage of that system, e.g. 5V, 3.3V.
May propagate to pcb.
port's dir
weak recommendation
- all:
Signaling direction of a port, one of: output (for analog
or digital driver, typically push-pull), input (for high
impedance input), oc (for open collector), od (for open drain),
oe (for open emitter), os (for open source), bidir, power
(gnd, Vcc and alike). Omit if the port has multiple contradicting
roles (e.g. MCU gpio that is switched from driver to input runtime).
May propagate to pcb.
Intentionally omitted (specific reasons)
- versioning and date: different software use different versioning scheme
- spice related attrs: different software use different simulation API
- slotting attrs: different software implement slotting differently
- source (e.g. to datasheet): links tend to break over the decades
- vendor part numbers e.g. for BoM and XY exports: ever-changing values, probably better handled outside of the attribute system
Intentionally omitted (does not propagate, no need to unify)
- author contact info
- tested