OECL Format Description
OECL Format Description
OECL Format Description
Library Format
Version 1.0
Copyright
Under the copyright laws, this publication may not be reproduced or transmitted in any form, electronic or mechanical, including photocopying, recording, storing in an
information retrieval system, or translating, in whole or in part, without the prior written consent of National Instruments Corporation.
National Instruments respects the intellectual property of others, and we ask our users to do the same. NI software is protected by copyright and other intellectual property laws.
Where NI software may be used to reproduce software or other materials belonging to others, you may use NI software only to reproduce materials that you may reproduce in
accordance with the terms of any applicable license or other legal restriction.
Trademarks
National Instruments, NI, ni.com, and LabVIEW are trademarks of National Instruments Corporation. Refer to the Terms of Use section on ni.com/legal for more information
about National Instruments trademarks.
Electronics Workbench, Multisim and Ultiboard are trademarks of National Instruments.
Parents
For patents covering National Instruments products, refer to the appropriate location: Help»Patents in your software, the patents.txt file on your CD, or ni.com/patents.
Some portions of this product are protected under United States Patent No. 6,560,572.
© 2013 National Instruments Corporation iii Open EDA Component Library Format
Contents
Chapter 13 References
OECL is an XML language for describing libraries for electronic design automation (EDA). Libraries include graphic
symbols, simulation models, packages, land patterns, and components for the purpose of schematic capture, simulation, and
printed circuit board layout. Components in this format can be imported into tools that support OECL.
OECL namespace
The following is the OECL 1.0 namespace:
http://www.oecl.org/2012/oecl
Notation
This document uses special fonts and coloring to identify XML syntax.
© 2013 National Instruments Corporation 1-1 Open EDA Component Library Format
Chapter 1 Introduction
Item Examples
Element ComponentLibrary
+ IS=5e-6
]]>
Terminology
This section is non-normative.
This format uses attributes to define relationships between different objects. Where these attributes are intended to be
displayed to the user, the attribute name generally has the suffix Name. Where these attributes are not intended to be
displayed to the user, the attribute generally has the suffix Id.
Open EDA Component Library Format 1-2 © 2013 National Instruments Corporation
Chapter 2 Basic Datatypes
OECL uses types defined in several standards. This specification uses the namespace prefixes in the following table to
identify these types. Types may be used without namespace prefixes in OECL documents.
OECL uses custom types defined in this specification. Custom types have no prefix.
Definitions
Property elements
One of the element types that define properties for a ComponentBlueprint. Specifically: BooleanProperty,
CurrencyProperty, DateTimeProperty, DoubleProperty, IntegerProperty, MeasurementProperty,
TextProperty, or URLProperty.
The key attribute assigns cross-implementation meaning to the property according to the name of the key (see Standard
Property Keys). The value of the key attribute is not intended to be displayed. The key attribute type is propertyKeyType.
The name attribute is a display name for the property. The name attribute type is propertyNameType.
Attribute Types
The following section defines additional attribute basic types (SimpleTypes) for use in the OECL format.
© 2013 National Instruments Corporation 2-1 Open EDA Component Library Format
Chapter 2 Basic Datatypes
identifierType instances should be univerally unique, although there is no registration process. To ensure uniqueness,
identifierType instances should be written in reverse domain name notation.
The reverse domain name notation should include a company/organization name, a category for the identifier, and a unique
name for the item. Items that comply with a published standard, such as should include the standard body, a category for the
identifier, and the unique name for the item.
SymbolBlueprint symb
ModelBlueprint modl
ManufacturerPackage mpkg
PackageBlueprint pkg
ComponentBlueprint comp
OrderablePackageConfiguration ordpkg
Open EDA Component Library Format 2-2 © 2013 National Instruments Corporation
Chapter 2 Basic Datatypes
© 2013 National Instruments Corporation 2-3 Open EDA Component Library Format
Chapter 2 Basic Datatypes
Splits on spaces indicate the “split a string on spaces algorithm” defined by HTML 5 (see 2.5.7 Space-separated tokens).
Simulator Identifiers
This section is non-normative.
Keywords in the modelFormatType type should be globally unique, although there is no registration process. In order to
ensure uniqueness, keywords should be written in reverse domain notation. Examples of reverse domain name notation are:
com.domainname.simulator
com.companyname
Open EDA Component Library Format 2-4 © 2013 National Instruments Corporation
Chapter 2 Basic Datatypes
© 2013 National Instruments Corporation 2-5 Open EDA Component Library Format
Chapter 2 Basic Datatypes
OECL does not define specific three-character currency codes so that currencies can be added/removed from ISO 4217
without changing this specification. Applications should be designed to permit future addition of currency codes.
The micro sign is the Unicode character U+00B5. In circumstances in which Unicode characters are not allowed, the micro
prefix can be represented using the letter u.
Open EDA Component Library Format 2-6 © 2013 National Instruments Corporation
Chapter 2 Basic Datatypes
inner The shape is for inner layers (not top or bottom) of the PCB.
Element Types
The Properties element
Properties
Content model:
Attributes:
None
© 2013 National Instruments Corporation 2-7 Open EDA Component Library Format
Chapter 2 Basic Datatypes
Content model:
Attributes:
Content model:
Attributes:
currency
Open EDA Component Library Format 2-8 © 2013 National Instruments Corporation
Chapter 2 Basic Datatypes
Content model:
Attributes:
Content model:
Attributes:
© 2013 National Instruments Corporation 2-9 Open EDA Component Library Format
Chapter 2 Basic Datatypes
Content model:
Attributes:
Content model:
Attributes:
unit
Defines a measurable quantity property. Measurable quantities have values and units.
Open EDA Component Library Format 2-10 © 2013 National Instruments Corporation
Chapter 2 Basic Datatypes
Content model:
Text content
Zero or more Localization elements
Attributes:
xml:lang
Defines a text property. Text properties may have a value attribute or text content, but not both. The value attribute and
text content are equivalent.
© 2013 National Instruments Corporation 2-11 Open EDA Component Library Format
Chapter 2 Basic Datatypes
Content model:
Attributes:
Content model:
Attributes:
xml:lang
name
value
Defines a translated name or value for the parent element. Sibling elements must have unique values for xml:lang. Text
content is permitted if the parent element is a TextProperty, otherwise, the content model is empty.
Open EDA Component Library Format 2-12 © 2013 National Instruments Corporation
Chapter 2 Basic Datatypes
xml:lang Language identifier as defined by The language of the translated value. Yes
IETF BCP 47.
© 2013 National Instruments Corporation 2-13 Open EDA Component Library Format
Chapter 3 Document Structure
An OECL document can range from an empty fragment (that is, no content inside of the ComponentLibrary element), to
individual dictionaries, to complex interdependent dictionaries.
Content model:
Attributes:
version
© 2013 National Instruments Corporation 3-1 Open EDA Component Library Format
Chapter 4 Graphic symbols for schematics
Content model:
Attributes:
None
Defines reusable graphic symbols for schematic capture. Each reusable graphic symbol is described by a SymbolBlueprint
element.
Content model:
Attributes:
id
mimetype
description
revisionDate
Each graphic symbol is composed of two types of information: connection points (pins) for schematic capture wiring and
primitive graphic elements for drawing the symbol.
© 2013 National Instruments Corporation 4-1 Open EDA Component Library Format
Chapter 4 Graphic symbols for schematics
A graphic symbol for schematic capture contains graphical elements (for the purpose of drawing) and connection elements
(for the purpose of wiring). Connection elements are handled through extensions to the SVG format.
In addition, SVG for EDA symbols defines additional attributes for the purpose of describing pins and substitution text. The
following sections define these attributes.
Open EDA Component Library Format 4-2 © 2013 National Instruments Corporation
Chapter 4 Graphic symbols for schematics
Structure
Core attribute module
Core.attrib id
Structure module
Painting module
Basic paint attribute module
Graphics.attrib visibility
© 2013 National Instruments Corporation 4-3 Open EDA Component Library Format
Chapter 4 Graphic symbols for schematics
Hyperlinking
XLink attribute module
XLink.attrib xlink:href
Shapes
Shapes module
Text
Basic text module
Open EDA Component Library Format 4-4 © 2013 National Instruments Corporation
Chapter 4 Graphic symbols for schematics
TextContent.attrib text-anchor
font-family attribute
Value: <family-name>
font-size attribute
Value: <absolute-size>
font-style attribute
Additional restrictions
SVG for EDA symbols must satisfy the below additional restrictions.
© 2013 National Instruments Corporation 4-5 Open EDA Component Library Format
Chapter 4 Graphic symbols for schematics
OeclConn.attrib oecl:pinId
OeclConnPoint.attrib oecl:connPoint
OeclLabel.attrib oecl:placeholder
oecl:pinId pinIdType Identifier for the symbol pin. This ID is used as a reference from
a ComponentBlueprint.
oecl:connPoint xsd:boolean Identifies the location of the connection point for wiring.
Required on a circle element that defines the location of the
connection point. Not allowed in other contexts.
oecl:placeholder placeholderType Text elements with this attribute define placeholder text items
that are substituted with values from a ComponentBlueprint
when placed on a schematic.
oecl:pin symbolPinShapeType Enumerated shape of the pin. Required on use elements that
define a pin. Not allowed in other contexts.
oecl:pinLength symbolPinLengthType Enumerated length of the pin. Required on use elements that
define a pin. Not allowed in other contexts.
Pin graphics
Symbols contain pins which form the connection points to the symbol and display information about the connection point.
Pins have standard types, and these standard types are instantiated by the graphic. Functionally, instances of a pin contain:
an identifier for the pin, for reference by component blueprints, and
a reference to the standard pin type and default shape, and
placeholder text elements that are substituted when the symbol is referenced by a component blueprint.
Instances of a pin are described by a g (group) with the oecl:pinId attribute element that contains the identifier for the pin.
g elements with the oecl:pinId attribute must define an instance of a pin.
Open EDA Component Library Format 4-6 © 2013 National Instruments Corporation
Chapter 4 Graphic symbols for schematics
The use element must contain the oecl:pin attribute. The oecl:pin attribute describes the functional purpose of the pin.
The x and y attributes of the use element must be located on a grid of 10 in the initial viewport coordinate system. See
Drawing pin graphics for additional information.
Implementations typically use the oecl:pin attribute to identify the functional purpose of the pin. Implementations typically
ignore the graphic objects referenced by the xlink:href attribute.
Implementations replace the content of the text element with the appropriate name from the referencing component
blueprint. The appropriate name is determined by the oecl:placeholder attribute, and described by the following table.
Pin length must be 0, 10, 20, 30, or 40. The connection point for schematic wiring for all pins is at (0,0). For pins with a
primary line segment, the line segment ends at (0,0). The pin starts at (0,0), (10,0), (20,0), (30,0), or (40,0), depending on the
length of the pin. Enumerated values for the oecl:pinLength attribute define possible pin lengths. The length of the
referenced graphic must equal the length of the oecl:pinLength attribute.
Enumerated values for the oecl:pin attribute define possible pin types.
The passive pin graphics can have lengths of 0, 10, 20 or 40. Other pin graphics can have lengths of 10, 20, 30, or 40.
The custom oecl:pin type can be drawn either as specified by the SVG drawing objects or as the passive oecl:pin
type.
Implementations typically use the oecl:pin attribute to identify the functional purpose of the pin. Implementations typically
ignore the graphic objects referenced by the xlink:href attribute. For readability, implementations should name the
referenced id to match the standard pin type and length, separated by a dash. For example, the id of the passive pin type
with length 10 should be passive-10 and the xlink:href should be #passive-10.
© 2013 National Instruments Corporation 4-7 Open EDA Component Library Format
Chapter 4 Graphic symbols for schematics
Placeholder text
Symbols may contain placeholder text elements whose value is replaced with information from the referencing component
blueprint, for example the component name, or information from the schematic, for example the reference designator.
text elements with the oecl:placeholder attribute identify placeholder text, as described by the following table.
Implementations typically ignore the text elements with the oecl:placeholder attribute. These elements are typically used
for displaying the graphic symbol with no connection to a schematic.
Best practices
This section is non-normative
Implementations typically have implementation-specific styles for drawing components for colors and font that provide a
consistent look for the application. Symbols should typically omit this style information and allow the implementation to
provide implementation-specific default styles.
Shapes should usually omit the fill and stroke attributes (except the value none) so that implementations may use their
default color information.
Text should usually omit the font attributes (Font.attrib) so that implementations may use their default font information.
Many implementations require all pins to originate from the boundary of a box enclosing the symbol contents. For best
results across multiple applications, pins should be on a bounding box enclosing the symbol.
The following graphic illustrates this concept. The pins (green), end on the boundary of the drawing objects (red). The pins
labeled VS- and VS+ have additional drawing objects to connect the pin to triangle.
Example 1: resistor
The following XML fragment defines the symbol blueprint for the IEC 60617 resistor (S00555).
<SymbolBlueprint id="com.example.symb.resistor" mimetype="image/oecl.schsymbol+xml"
description="IEC 60617 S00555 Resistor, general symbol" revisionDate="2012-07-17T21:32:52">
<svg xmlns:svg="http://www.w3.org/2000/svg"
Open EDA Component Library Format 4-8 © 2013 National Instruments Corporation
Chapter 4 Graphic symbols for schematics
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:oecl="http://www.oecl.org/2012/oecl"
xmlns="http://www.w3.org/2000/svg">
<!--Common pin definitions-->
<defs>
<g id="passive-10">
<line x1="10" y1="0" x2="0" y2="0"/>
<!--The following circle with the connPoint attribute defines
the connection point for the pin-->
<circle cx="0" cy="0" r="1" oecl:connPoint="true"/>
</g>
</defs>
<!--Symbol pins-->
<g oecl:pinId="1">
<use transform="translate(-50,0)" xlink:href="#passive-10" oecl:pin="passive"
oecl:pinLength="10"/>
<!--Placeholder text for labels on the symbol-->
<text transform="translate(-50,-10)" text-anchor="end"
oecl:placeholder="symbolPin">a</text>
<text transform="translate(-50,20)" text-anchor="end"
oecl:placeholder="packagePad">1</text>
</g>
<g oecl:pinId="2">
<use transform="translate(50,0) rotate(180)" xlink:href="#passive-10"
oecl:pin="passive" oecl:pinLength="10"/>
<!--Substitution text for labels on the symbol-->
<text transform="translate(45,-10)" oecl:placeholder="symbolPin">b</text>
<text transform="translate(45,20)" oecl:placeholder="packagePad">2</text>
</g>
<!--Graphic symbol-->
<rect x="-40" y="-10" width="80" height="20" fill="none"/>
<text x="0" y="20" oecl:placeholder="refDes" text-anchor="middle">R1</text>
<text x="0" y="30" oecl:placeholder="properties" text-anchor="middle">1k</text>
</svg>
</SymbolBlueprint>
© 2013 National Instruments Corporation 4-9 Open EDA Component Library Format
Chapter 4 Graphic symbols for schematics
Open EDA Component Library Format 4-10 © 2013 National Instruments Corporation
Chapter 5 Simulation Models for SPICE
Simulation
Content model:
Attributes:
None
Defines reusable models for simulation. Each reusable simulation model is described by a SimulationModelBlueprint
element.
Content model:
Attributes:
id
name
manufacturer
author
mimetype
description
copyright
revisionDate
There are two parts to the model blueprint, (1) instance information and (2) model text, represented by the Instance and
Model elements, respectively. The instance information is used to instantiate the model (make the model specific to a
particular component), whereas the model text is common (shared) between instances of the model.
© 2013 National Instruments Corporation 5-1 Open EDA Component Library Format
Chapter 5 Simulation Models for SPICE Simulation
Content model:
Attributes:
simulators
Describes how to instantiate the simulation model (that is, map ports).
Open EDA Component Library Format 5-2 © 2013 National Instruments Corporation
Chapter 5 Simulation Models for SPICE Simulation
Content model:
Attributes:
simulators
Shared information for a simulation model. The name of the SPICE .subckt or .model must match the value of the
SimulationModelBlueprint’s name attribute.
Instance microsyntax
The CDATA section for the Instance element describes how to instantiate the SPICE model.
The syntax is an XML-like markup language where all characters, including white space, is significant. The syntax does not
have a root element. The CDATA section for the Instance element may contain the following elements in any order:
text content block
Port element
Variable element
© 2013 National Instruments Corporation 5-3 Open EDA Component Library Format
Chapter 5 Simulation Models for SPICE Simulation
Content model:
One text content block. The text content block contains only the name of the terminal
Attributes:
behavior
Content model:
Attributes:
None
Identifies replacement text for the reference designator of the instantiated model or the name of the instantiated model.
Example 1
The following XML fragment defines the model blueprint for a 1 kΩ resistor.
<SimulationModelBlueprint id="BBC45068-2D72-4385-8E1C-A77D7E695F13" name="myres"
manufacturer="Generic" mimetype=" application/oecl.spice+xml" revisionDate="2012-07-
17T21:32:52">
<Instance><![CDATA[x<Variable>REFDES</Variable> <Port>T0</Port> <Port>T1</Port>
<Variable>MODEL</Variable>]]></Instance>
<Definition><![CDATA[.subckt myres 1 2
R1 1 2 1k
.ends]]></Definition>
Open EDA Component Library Format 5-4 © 2013 National Instruments Corporation
Chapter 5 Simulation Models for SPICE Simulation
</SimulationModelBlueprint>
© 2013 National Instruments Corporation 5-5 Open EDA Component Library Format
Chapter 6 Manufacturer Packages for
Mapping to Standard Packages
Content model:
Attributes:
None
Provides definitions of manufacturer-specific packages names/pin numbering and mapping of the package to reusable
standard packages. Each manufacturer-specific package is described by a ManufactuerPackage element.
Content model:
Attributes:
id
name
manufacturer
packageBlueprintRef
packageBlueprintdateTime
revisionDate
Defines the manufacturer-specific name for a package and mapping to the standard package.
© 2013 National Instruments Corporation 6-1 Open EDA Component Library Format
Chapter 6 Manufacturer Packages for Mapping to Standard Packages
Content model:
Empty
Attributes:
padName
landName
Defines how pad names on the manufacturer package map to land names on the standard package.
Example: DIP-ABC
The following XML fragment defines a manufacturer package.
<ManufacturerPackage id="com.example.mpkg.DIP-ABC" name="DIP-ABC" manufacturer="Generic
Manufacturer" packageBlueprintRef="com.example.pkg.DIP-8" revisionDate="2012-07-17T21:32:52">
<LandMap padName="A" landName="1"/>
Open EDA Component Library Format 6-2 © 2013 National Instruments Corporation
Chapter 6 Manufacturer Packages for Mapping to Standard Packages
© 2013 National Instruments Corporation 6-3 Open EDA Component Library Format
Chapter 7 Packages for Printed Circuit
Board Layout
Content model:
Attributes:
None
Defines reusable packages (footprints, land-patterns) for components. Each reusable package is described by a
PackageBlueprint element. For example, surface mount land patterns generally should comply with IPC-7351 Generic
Requirements for Surface Mount Design and Land Pattern Standard.
Content model:
Attributes:
id
name
revisionDate
units
© 2013 National Instruments Corporation 7-1 Open EDA Component Library Format
Chapter 7 Packages for Printed Circuit Board Layout
Content model:
Attributes:
name
type
pinOne
height
Defines a package (which includes the land pattern). The package elements are based on a modified version of IPC-2581A.
Elements that are identical to elements defined in IPC-2581A are not listed in this specification.
The value of the name attribute is often the same as the value of the name attribute of the parent element.
Open EDA Component Library Format 7-2 © 2013 National Instruments Corporation
Chapter 7 Packages for Printed Circuit Board Layout
Content model:
Attributes:
None
Content model:
Attributes:
None
© 2013 National Instruments Corporation 7-3 Open EDA Component Library Format
Chapter 7 Packages for Printed Circuit Board Layout
Content model:
Attributes:
None
The SolderMask element reuses the same embedded elements and attributes as defined for the SilkScreen element. If
omitted, all lands on the package have solder mask that matches the shape of the land.
Content model:
Attributes:
None
The SolderPaste element reuses the same embedded elements and attributes as defined for the SilkScreen element. If
omitted, all lands on the package have solder paste that matches the shape of the land.
Open EDA Component Library Format 7-4 © 2013 National Instruments Corporation
Chapter 7 Packages for Printed Circuit Board Layout
Content model:
Attributes:
markingUsage
layer
The Marking element is based on the ipc:markingType from IPC-2581A with the addition of the layer attribute.
© 2013 National Instruments Corporation 7-5 Open EDA Component Library Format
Chapter 7 Packages for Printed Circuit Board Layout
Content model:
Attributes:
number
name
type
electricalType
mountType
The Pin element is based on the ipc:PinType from IPC-2581A. The Pin element defines the pad stack and contains either
one StandardShape substitution group child element or three StandardShape substitution group child elements.
For through-hole pins (type is THRU or BLIND), if the Pin element contains one StandardShape substitution group child
element, the pad is the same on all layers. If the Pin element contains three StandardShape substitution group child elements,
each StandardShape substitution group child element must contain a unique oecl:pinLayer attribute (type
oecl:layerType), and the pad shape is as specified on the layer.
For through-hole pins (type is THRU or BLIND), one Hole or Slot element is required and the element defines the shape of
the formed hole for the pin.
For surface mount pads (type is SURFACE), the Hole or Slot element is not allowed.
Open EDA Component Library Format 7-6 © 2013 National Instruments Corporation
Chapter 7 Packages for Printed Circuit Board Layout
Content model:
Empty
Attributes:
name
diameter
platingStatus
plusTol
minusTol
The Hole element is based on the ipc:HoleType from IPC-2581A. The Hole element defines a circular drill hole
associated with a through-hole pin.
The x and y attributes offset the hole relative to the Pin and are typically 0.
© 2013 National Instruments Corporation 7-7 Open EDA Component Library Format
Chapter 7 Packages for Printed Circuit Board Layout
Content model:
Attributes:
name
platingStatus
plusTol
minusTol
The Slot element is based on the ipc:SlotType from IPC-2581A. The Slot element defines an arbitrarily shaped drill
hole associated with a through-hole pin.
Open EDA Component Library Format 7-8 © 2013 National Instruments Corporation
Chapter 7 Packages for Printed Circuit Board Layout
Permitted elements
The content model of the PackageBlueprint element contains one Package element. All child elements defined by IPC-
2581A for the Package element are permitted, except the following:
LineDescRef
StandardPrimitiveRef
UserPrimitiveRef
Example: DIP-6
The following XML fragment defines a package blueprint the DIP-6 package.
<PackageBlueprint id="DIP762W46P254L876Q6B" name="DIP-6" revisionDate="2012-07-17T21:32:52"
units="MILLIMETER">
<Package name="DIP-6" type="CERAMIC_DIP">
<Outline>
<LineDesc lineEnd="ROUND" lineWidth="0.001"/>
<Polygon>
<PolyBegin x="-4.635" y="4.945"/>
<PolyStepSegment x="-4.635" y="-4.945"/>
<PolyStepSegment x="4.635" y="-4.945"/>
<PolyStepSegment x="4.635" y="4.945"/>
<PolyStepSegment x="-4.635" y="4.945"/>
</Polygon>
</Outline>
<SilkScreen>
<Outline>
<LineDesc lineEnd="ROUND" lineWidth="0.2"/>
<Polygon>
<PolyBegin x="-2.9" y="4.4"/>
<PolyStepSegment x="-2.9" y="-4.4"/>
<PolyStepSegment x="2.9" y="-4.4"/>
<PolyStepSegment x="2.9" y="4.4"/>
<PolyStepSegment x="-2.9" y="4.4"/>
</Polygon>
</Outline>
<Marking markingUsage="PIN_ONE">
<Location x="-1.88" y="3.4"/>
<Circle diameter="1.0"/>
</Marking>
</SilkScreen>
<AssemblyDrawing>
© 2013 National Instruments Corporation 7-9 Open EDA Component Library Format
Chapter 7 Packages for Printed Circuit Board Layout
<Outline>
<LineDesc lineEnd="ROUND" lineWidth="0.1"/>
<Polygon>
<PolyBegin x="-3.21" y="4.38"/>
<PolyStepSegment x="-3.21" y="-4.38"/>
<PolyStepSegment x="3.21" y="-4.38"/>
<PolyStepSegment x="3.21" y="4.38"/>
<PolyStepSegment x="-3.21" y="4.38"/>
</Polygon>
</Outline>
<Marking markingUsage="PIN_ONE">
<Location x="-2.2" y="3.37"/>
<Donut shape="ROUND" outerDiameter="1.0" innerDiameter="0.8"/>
</Marking>
</AssemblyDrawing>
<Pin number="1" type="THRU" electricalType="ELECTRICAL" mountType="THROUGH_HOLE_PIN">
<Location x="-3.81" y="2.54"/>
<RectCenter width="1.15" height="1.15"/>
<Hole name="1" diameter="0.5" platingStatus="PLATED" plusTol="0.005"
minusTol="0.005" x="0" y="0"/>
</Pin>
<Pin number="2" type="THRU" electricalType="ELECTRICAL" mountType="THROUGH_HOLE_PIN">
<Location x="-3.81" y="0"/>
<Circle diameter="1.15"/>
<Hole name="2" diameter="0.5" platingStatus="PLATED" plusTol="0.005"
minusTol="0.005" x="0" y="0"/>
</Pin>
<Pin number="3" type="THRU" electricalType="ELECTRICAL" mountType="THROUGH_HOLE_PIN">
<Location x="-3.81" y="-2.54"/>
<Circle diameter="1.15"/>
<Hole name="3" diameter="0.5" platingStatus="PLATED" plusTol="0.005"
minusTol="0.005" x="0" y="0"/>
</Pin>
<Pin number="4" type="THRU" electricalType="ELECTRICAL" mountType="THROUGH_HOLE_PIN">
<Location x="3.81" y="-2.54"/>
<Circle diameter="1.15"/>
<Hole name="4" diameter="0.5" platingStatus="PLATED" plusTol="0.005"
minusTol="0.005" x="0" y="0"/>
</Pin>
<Pin number="5" type="THRU" electricalType="ELECTRICAL" mountType="THROUGH_HOLE_PIN">
<Location x="3.81" y="0"/>
<Circle diameter="1.15"/>
<Hole name="5" diameter="0.5" platingStatus="PLATED" plusTol="0.005"
minusTol="0.005" x="0" y="0"/>
</Pin>
<Pin number="6" type="THRU" electricalType="ELECTRICAL" mountType="THROUGH_HOLE_PIN">
<Location x="3.81" y="2.54"/>
<Circle diameter="1.15"/>
<Hole name="6" diameter="0.5" platingStatus="PLATED" plusTol="0.005"
minusTol="0.005" x="0" y="0"/>
</Pin>
</Package>
</PackageBlueprint>
Open EDA Component Library Format 7-10 © 2013 National Instruments Corporation
Chapter 7 Packages for Printed Circuit Board Layout
Example: SOIC-8
The following XML fragment defines a package blueprint the SOIC-8 package.
<PackageBlueprint id="SOIC127P600-8N" name="SOIC-8" revisionDate="2012-07-17T21:32:52"
units="MILLIMETER">
<Package name="SOIC-8" type="SOIC">
<Outline>
<LineDesc lineEnd="ROUND" lineWidth="0.001000"/>
<Polygon>
<PolyBegin x="-3.75" y="2.75"/>
<PolyStepSegment x="-3.75" y="-2.75"/>
<PolyStepSegment x="3.75" y="-2.75"/>
<PolyStepSegment x="3.75" y="2.75"/>
<PolyStepSegment x="-3.75" y="2.75"/>
</Polygon>
</Outline>
<SilkScreen>
<Outline>
<LineDesc lineEnd="ROUND" lineWidth="0.2"/>
<Polygon>
<PolyBegin x="-1.5" y="2.45"/>
<PolyStepSegment x="-1.5" y="-2.45"/>
<PolyStepSegment x="1.5" y="-2.45"/>
<PolyStepSegment x="1.5" y="2.45"/>
<PolyStepSegment x="-1.5" y="2.45"/>
</Polygon>
</Outline>
<Marking markingUsage="PIN_ONE">
<Location x="0" y="0"/>
<Contour>
<Polygon>
<PolyBegin x="-1.5" y="2.45"/>
<PolyStepSegment x="-1.5" y="1.3"/>
<PolyStepSegment x="-0.35" y="2.45"/>
<PolyStepSegment x="-1.5" y="2.45"/>
</Polygon>
</Contour>
</Marking>
</SilkScreen>
<AssemblyDrawing>
<Outline>
<LineDesc lineEnd="ROUND" lineWidth="0.1"/>
<Polygon>
<PolyBegin x="-1.95" y="2.45"/>
<PolyStepSegment x="-1.95" y="-2.45"/>
<PolyStepSegment x="1.95" y="-2.45"/>
<PolyStepSegment x="1.95" y="2.45"/>
<PolyStepSegment x="-1.95" y="2.45"/>
</Polygon>
</Outline>
<Marking markingUsage="PIN_ONE">
<Location x="-0.95" y="1.45"/>
© 2013 National Instruments Corporation 7-11 Open EDA Component Library Format
Chapter 7 Packages for Printed Circuit Board Layout
Open EDA Component Library Format 7-12 © 2013 National Instruments Corporation
Chapter 8 Category Information for
Component Organization
Content model:
Attributes:
dictionaryId
revisionDate
Defines a hierarchical structure for components. Components may exist in multiple categories, and applications may display
the results merged. Tree nodes are described by nested Category elements that identify which components exist in the node.
dictionaryId instances should be globally unique, although there is no registration process. In order to ensure uniqueness,
dictionaryId instances should be written in reverse domain name notation. Examples of reverse domain name notation
are:
com.domainname.analogcomponents
com.companyname
© 2013 National Instruments Corporation 8-1 Open EDA Component Library Format
Chapter 8 Category Information for Component Organization
Content model:
Zero or more LocalizedName elements followed by zero or more BlueprintRef elements followed by zero or more
Category elements, followed by zero or more CategoryDictionaryRef elements
Attributes:
name
Defines an item (node) in the component category hierarchy. The name attribute provides a default name for the component
category.
Names containing characters not in the US ASCII character set can be specified by specifying a LocalizedName with an
empty xml:lang attribute.
Content model:
Empty
Attributes:
xml:lang
name
Open EDA Component Library Format 8-2 © 2013 National Instruments Corporation
Chapter 8 Category Information for Component Organization
xml:lang Language identifier as defined by The language for the localized name, Yes
IETF BCP 47 or an empty string.
Content model:
Empty
Attributes:
blueprintRef
blueprintDateTime
Defines a reference to a component that exists at the particular node in the category.
© 2013 National Instruments Corporation 8-3 Open EDA Component Library Format
Chapter 8 Category Information for Component Organization
Content model:
Empty
Attributes:
dictionaryId
Defines a reference to a component that exists at the particular node in the category.
Example
The following XML fragment defines a component category dictionary.
<ComponentCategoryDictionary dictionaryId="com.mycompany" revisionDate="2012-07-17T21:32:52">
<Category name="Generic Manufacturer">
<LocalizedName xml:lang="de" name="Generika-Hersteller"/>
<Category name="Digital">
<BlueprintRef blueprintRef="com.mycompany.comp.123"/>
<BlueprintRef blueprintRef="com.mycompany.comp.456"/>
</Category>
<Category name="Analog">
<BlueprintRef blueprintRef="com.mycompany.comp.789"/>
</Category>
<Category name="Educational">
<LocalizedName xml:lang="de" name="Bildung"/>
<!-- The component below is also in the Digital category -->
<BlueprintRef blueprintRef="com.mycompany.comp.456"/>
</Category>
<CategoryDictionaryRef dictionaryId="com.companyinc.in-dev-components"/>
</Category>
<Category name="Components Inc">
<BlueprintRef blueprintRef="com.mycompany.comp.ABC"/>
</Category>
</ComponentCategoryDictionary>
Open EDA Component Library Format 8-4 © 2013 National Instruments Corporation
Chapter 9 Components for Representing
Orderable Items
Content model:
Attributes:
None
Defines component blueprints as combinations of graphic symbols, simulation models and packages that when combined,
represent an electronic component.
© 2013 National Instruments Corporation 9-1 Open EDA Component Library Format
Chapter 9 Components for Representing Orderable Items
Content model:
Attributes:
id
name
revisionDate
The component blueprint is the main definition of a component. Component blueprint definitions in the component blueprint
dictionary are not self-contained. Rather, component blueprints reference the other dictionaries in this or possibly other
libraries. The primary role of the component blueprint is to tie these pieces together.
The component blueprint defines the connections on the component blueprint in the Connections and Sections sub-
elements. Additionally, the component blueprint references items in other dictionaries (symbol, model and package) through
the SymbolConfigurations, SimulationModelConfigurations and PackageConfigurations sub-elements, and
defines the mapping between connections in the component and the pins, pads, ports, etc. in the mapped item.
The simplest ComponentBlueprint contains a list of connections (the Connections element) and an associated graphic
symbol (the SymbolConfigurations element).
Open EDA Component Library Format 9-2 © 2013 National Instruments Corporation
Chapter 9 Components for Representing Orderable Items
Content model:
Attributes:
None
Defines the complete set of connections on the component. Each electrically independent connection to the component has a
unique Connection element. For example, repeated ground connections only have one Connection element if the ground
connections are internally connected. The connection list must include non-electrical connections exposed by a referenced
simulation model in order to connect to the connection from a symbol.
Content model:
Empty
Attributes:
connName
© 2013 National Instruments Corporation 9-3 Open EDA Component Library Format
Chapter 9 Components for Representing Orderable Items
Content model:
Attributes:
None
The Sections element groups connections and defines groups of connections that are functionally identical. Section order is
not important, however, implementations should display connections in the same order as they occur in the
ComponentLibrary.
Sections on the component group related pins. Sections define swappable units on a component. For example, a component
with two AND gates would have two sections, one for each gate. The Sections element may be omitted for components
with a single section.
Content model:
Attributes:
name
sectionSwapGroup
Open EDA Component Library Format 9-4 © 2013 National Instruments Corporation
Chapter 9 Components for Representing Orderable Items
Content model:
Empty
Attributes:
connName
connSwapGroup
Identifies the connection as belonging to the ancestor section. Connections can belong to multiple sections (shared/common
pins).
© 2013 National Instruments Corporation 9-5 Open EDA Component Library Format
Chapter 9 Components for Representing Orderable Items
Content model:
Attributes:
None
Open EDA Component Library Format 9-6 © 2013 National Instruments Corporation
Chapter 9 Components for Representing Orderable Items
Content model:
Attributes:
style
refdesPrefix
Content model:
Attributes:
symbolRef
symbolDateTime
sectionName
Defines a reference to the the graphical symbol for a particular section on the component blueprint, and the mapping between
connections and pins on the symbol.
© 2013 National Instruments Corporation 9-7 Open EDA Component Library Format
Chapter 9 Components for Representing Orderable Items
Content model:
Empty
Attributes:
connName
symbolPinId
displayName
Defines how connections on the component map to pin graphics on the symbol.
Open EDA Component Library Format 9-8 © 2013 National Instruments Corporation
Chapter 9 Components for Representing Orderable Items
Common practice shows inverted connections with lines above the characters. Overlines are drawn using the Unicode
combining overline character (U+0305). Numeric superscript and subscript are similarly drawn using the Unicode superscript
and subscript characters.
Content model:
Attributes:
None
© 2013 National Instruments Corporation 9-9 Open EDA Component Library Format
Chapter 9 Components for Representing Orderable Items
Content model:
Attributes:
None
Defines a referemce to a particular simulation model for the component. The simulation model configuration is a complete
set of simulation models for all sections on a component.
Content model:
Attributes:
modelRef
modelDateTime
sectionName
Defines the simulation model for a particular section on the component, or for all sections on the component. The distinction
is determined by the value of the sectionName attribute.
Open EDA Component Library Format 9-10 © 2013 National Instruments Corporation
Chapter 9 Components for Representing Orderable Items
Content model:
Empty
Attributes:
connName
portName
Defines how connections on the component map to ports on the simulation model.
© 2013 National Instruments Corporation 9-11 Open EDA Component Library Format
Chapter 9 Components for Representing Orderable Items
Content model:
Attributes:
None
Content model:
Attributes:
id
partNumber
manufacturer
manufacturerPackageRef
manufacturerPackageDateTime
Defines a particular orderable package for the component blueprint. Components are often available in multiple packages
with nearly identical functionality, and the package configuration defines a particular orderable component.
Open EDA Component Library Format 9-12 © 2013 National Instruments Corporation
Chapter 9 Components for Representing Orderable Items
Content model:
Empty
Attributes:
connName
padName
© 2013 National Instruments Corporation 9-13 Open EDA Component Library Format
Chapter 9 Components for Representing Orderable Items
Example 1: resistor
The following XML fragment defines the component blueprint for a resistor.
<ComponentBlueprint id="com.example.comp.ABC123" name="ABC123">
<Connections>
<Connection connName="1"/>
<Connection connName="2"/>
</Connections>
<Sections>
<Section>
<ConnInstance connName="1" connSwapGroup="1"/>
<ConnInstance connName="2" connSwapGroup="1"/>
</Section>
</Sections>
<SymbolConfigurations>
<SymbolConfiguration style="IEEE_Std_315 IEC_60617" refdesPrefix="R">
<Symbol symbolRef="com.example.symb.res"/>
<PinMap connName="1" symbolPinId="1" displayName="1"/>
<PinMap connName="2" symbolPinId="2" displayName="2"/>
</Symbol>
</SymbolConfiguration>
</SymbolConfigurations>
<SimulationModelConfigurations>
<SimulationModelConfiguration>
<SimulationModel modelRef="com.example.modl.res">
<ModelPortMap connName="1" portName="1"/>
<ModelPortMap connName="2" portName="2"/>
</SimulationModel>
</SimulationModelConfiguration>
</SimulationModelConfigurations>
<OrderablePackageConfigurations>
<OrderablePackageConfiguration partNumber="ABC123-1" manufacturer="Components Inc"
manufacturerPackageRef="com.example.mpkg.pkg1">
<PadMap connName="1" padName="A"/>
<PadMap connName="2" padName="B"/>
</OrderablePackageConfiguration>
<OrderablePackageConfiguration partNumber="ABC123-2" manufacturer="Components Inc"
manufacturerPackageRef="com.example.mpkg.pkg2">
<PadMap connName="1" padName="A"/>
Open EDA Component Library Format 9-14 © 2013 National Instruments Corporation
Chapter 9 Components for Representing Orderable Items
© 2013 National Instruments Corporation 9-15 Open EDA Component Library Format
Chapter 9 Components for Representing Orderable Items
<Connection connName="2"/>
</Connections>
<Sections>
<Section name="0">
<ConnInstance connName="1" connGroup="1"/>
<ConnInstance connName="2" connGroup="2"/>
</Section>
</Sections>
<SymbolConfigurations>
<SymbolConfiguration style="IEEE_Std_315 IEC_60617" refdesPrefix="C">
<Symbol symbolRef="com.example.symb.generic-cap">
<PinMap connName="1" symbolPinId="1" displayName="1"/>
<PinMap connName="2" symbolPinId="2" displayName="2"/>
</Symbol>
</SymbolConfiguration>
</SymbolConfigurations>
<SimulationModelConfigurations>
<SimulationModelConfiguration>
<SimulationModel modelRef="com.example.modl.generic-cap">
<ModelPortMap connName="1" portName="1"/>
<ModelPortMap connName="2" portName="2"/>
</SimulationModel>
</SimulationModelConfiguration>
</SimulationModelConfigurations>
<OrderablePackageConfigurations>
<OrderablePackageConfiguration partNumber="CBA123-1" manufacturer="Components Inc"
manufacturerPackageRef="com.example.mpkg.CBA123-1">
<PadMap connName="1" padName="A"/>
<PadMap connName="2" padName="B"/>
</OrderablePackageConfiguration>
</OrderablePackageConfigurations>
</ComponentBlueprint>
Open EDA Component Library Format 9-16 © 2013 National Instruments Corporation
Chapter 9 Components for Representing Orderable Items
<Connection connName="GND"/>
</Connections>
<Sections>
<Section name="1" sectionSwapGroup="1">
<ConnInstance connName="1A" connSwapGroup="1"/>
<ConnInstance connName="1B" connSwapGroup="1"/>
<ConnInstance connName="1Y" connSwapGroup="2"/>
<ConnInstance connName="VCC"/>
<ConnInstance connName="GND"/>
</Section>
<Section name="2" sectionSwapGroup="1">
<ConnInstance connName="2A" connSwapGroup="1"/>
<ConnInstance connName="2B" connSwapGroup="1"/>
<ConnInstance connName="2Y" connSwapGroup="2"/>
<ConnInstance connName="VCC"/>
<ConnInstance connName="GND"/>
</Section>
<Section name="3" sectionSwapGroup="1">
<ConnInstance connName="3A" connSwapGroup="1"/>
<ConnInstance connName="3B" connSwapGroup="1"/>
<ConnInstance connName="3Y" connSwapGroup="2"/>
<ConnInstance connName="VCC"/>
<ConnInstance connName="GND"/>
</Section>
<Section name="4" sectionSwapGroup="1">
<ConnInstance connName="4A" connSwapGroup="1"/>
<ConnInstance connName="4B" connSwapGroup="1"/>
<ConnInstance connName="4Y" connSwapGroup="2"/>
<ConnInstance connName="VCC"/>
<ConnInstance connName="GND"/>
</Section>
</Sections>
<SymbolConfigurations>
<SymbolConfiguration style="IEEE_Std_315 IEC_60617" refdesPrefix="U">
<Symbol symbolRef="com.example.symb.nand-quad">
<PinMap connName="1A" symbolPinId="1" displayName="A"/>
<PinMap connName="1B" symbolPinId="2" displayName="B"/>
<PinMap connName="1Y" symbolPinId="3" displayName="Y"/>
<PinMap connName="2A" symbolPinId="4" displayName="A"/>
<PinMap connName="2B" symbolPinId="5" displayName="B"/>
<PinMap connName="2Y" symbolPinId="6" displayName="Y"/>
<PinMap connName="3A" symbolPinId="7" displayName="A"/>
<PinMap connName="3B" symbolPinId="8" displayName="B"/>
<PinMap connName="3Y" symbolPinId="9" displayName="Y"/>
<PinMap connName="4A" symbolPinId="10" displayName="A"/>
<PinMap connName="4B" symbolPinId="11" displayName="B"/>
<PinMap connName="4Y" symbolPinId="12" displayName="Y"/>
<PinMap connName="VCC" symbolPinId="13" displayName="VCC"/>
<PinMap connName="GND" symbolPinId="14" displayName="GND"/>
</Symbol>
</SymbolConfiguration>
<SymbolConfiguration style="IEEE_Std_315 IEC_60617" refdesPrefix="U">
<Symbol symbolRef="com.example.symb.nand" sectionName="1">
<PinMap connName="1A" symbolPinId="1" displayName="1A"/>
© 2013 National Instruments Corporation 9-17 Open EDA Component Library Format
Chapter 9 Components for Representing Orderable Items
Open EDA Component Library Format 9-18 © 2013 National Instruments Corporation
Chapter 9 Components for Representing Orderable Items
© 2013 National Instruments Corporation 9-19 Open EDA Component Library Format
Chapter 10 Status Information for
Component Obsolescence
Content model:
Attributes:
None
Content model:
Attributes:
ref
status
comment
© 2013 National Instruments Corporation 10-1 Open EDA Component Library Format
Chapter 10 Status Information for Component Obsolescence
status statusType Defines the default status for all part Yes
numbers in the component blueprint.
Defines status information for a particular part number from a manufacturer. This element describes the manufacturer's
definition of status/availability, as opposed to the availability from a particular supplier/distributor.
Content model:
Empty
Attributes:
ref
Open EDA Component Library Format 10-2 © 2013 National Instruments Corporation
Chapter 11 Order Information for
Connections to Suppliers/Distributors
Content model:
Attributes:
None
Defines information about orderable components, for example from 3rd party distributors. This information can be included in
the OECL, but often exists in 3rd party repositories. The order information is linked to the orderable component by a unique
identifier.
Content model:
Attributes:
supplierSku
supplierName
supplierUrl
availability
quantityAvailable
orderablePackageRef
Defines purchase information about a particular component. The OrderInfo element is associated with the particular
component through the orderablePackageRef attribute, allowing for multiple OrderInfo elements for the same
component.
© 2013 National Instruments Corporation 11-1 Open EDA Component Library Format
Chapter 11 Order Information for Connections to Suppliers/Distributors
Content model:
Empty
Attributes:
minimumQuantity
price
currency
Open EDA Component Library Format 11-2 © 2013 National Instruments Corporation
Chapter 11 Order Information for Connections to Suppliers/Distributors
Example
The following example defines ordering information from two separate suppliers/distributors or the same component
(manufacturer part number).
<OrderingInfo supplierSku="ABC-123" supplierName="Part Distributor Inc"
supplierUrl="http://www.example.com/ABC-123" availability="inStock" quantityAvailable="1000"
orderablePackageRef="com.example.ordpkg.ABC-123">
<Price minimumQuantity="1" unitPrice="2.00" currency="USD"/>
<Price minimumQuantity="100" unitPrice="1.50" currency="USD"/>
<Price minimumQuantity="1000" unitPrice="1.25" currency="USD"/>
</OrderingInfo>
<OrderingInfo supplierSku="123-456-789" supplierName="Local Parts Inc"
supplierUrl="http://www.example.org/123-456-789" availability="unknown"
quantityAvailable="unknown" orderablePackageRef="org.example.ordpkg.123-456-789">
<Price minimumQuantity="1" unitPrice="2.10" currency="USD"/>
<Price minimumQuantity="100" unitPrice="1.55" currency="USD"/>
<Price minimumQuantity="1000" unitPrice="1.20" currency="USD"/>
</OrderingInfo>
© 2013 National Instruments Corporation 11-3 Open EDA Component Library Format
Chapter 12 Standard Property Keys
The OECL Format allows extensions by defining standard property keys. Standard property keys allow applications to assign
meaning to the property and perform application-specific processing on the property.
Consumers of OECL documents should use these standard property keys when processing the document.
Short Description
property element type TextProperty
key short_description
Example
<TextProperty key="short_description" name="Description" value="The value describes the
component blueprint in fewer than 160 characters."/>
Description
property element type TextProperty
key description
Description of a ComponentBlueprint.
Example
<TextProperty key="description" name="Description" value="The value describes the component
blueprint. The description text could be very long."/>
Datasheet
property element type URLProperty
key datasheet
Link to the datasheet for the ComponentBlueprint. The link is directly to the datasheet, not a landing page with further
links.
Example
<URLProperty key="datasheet" name="Datasheet" value="http://www.example.com/datasheet.pdf"/>
© 2013 National Instruments Corporation 12-1 Open EDA Component Library Format
Chapter 13 References
IEEE Std 315
IEEE. Graphical Symbols for Electrical and Electronics Diagrams (Including Reference Designation Letters). 1975.
IETF BCP 47
IETF (Internet Engineering Task Force). BCP 47, consisting of RFC 4646: Tags for Identifying Languages, and
RFC 4647: Matching of Language Tags, A. Phillips, M. Davis. 2006. (See http://tools.ietf.org/html/bcp47.)
IETF RFC 3986
IETF (Internet Engineering Task Force). RFC 3986: Uniform Resource Identifier (URI): Generic Syntax. Berners-
Lee, T., Fielding, R., and Masinter, L, editors. Internet Engineering Task Force. 2005. (See
http://www.ietf.org/rfc/rfc3986.txt.)
IPC-2581A
IPC. Generic Requirements for Printed Board Assembly Products Manufacturing Description Date and Transfer
Methodology. 2012. (See http://www.ipc-2581.com for the latest version.)
IPC-7351
IPC. IPC-7351 Generic Requirements for Surface Mount Design and Land Pattern Standard. 2005. (See
http://www.ipc.org/TOC/IPC-7351.pdf.)
ISO 4217
ISO (International Organization for Standardization). ISO 4217:2008. Codes for the representation of currencies
and funds, as, from time to time, amended, replaced by a new edition or expanded by the addition of new parts.
[Geneva]: International Organization for Standardization. (See http://www.iso.org for the latest version.)
IEC 60617
IEC (International Electrotechnical Comission). IEC 60617 – Graphical Symbols for Diagrams.
IEC 81346
ISO (International Organization for Standardization). IEC 81346-1:2009. Industrial systems, installations and
equipment and industrial products - Structuring principles and reference designations – Part 1: Basic rules. (See
http://www.iso.org for the latest version.)
HTML5
W3C (World Wide Web Consortium). HTML5 A vocabulary and associated APIs for HTML and XHTML. W3C
Working Draft 25 October 2012. (See http://www.w3.org/TR/2012/WD-html5-20121025/)
SVG
W3C (World Wide Web Consortium). Scalable Vector Grapics (SVG) 1.1 (Second Edition). W3C Recommendation
16 August 2011. (See http://www.w3.org/TR/2011/REC-SVG11-20110816/)
© 2013 National Instruments Corporation 13-1 Open EDA Component Library Format