The 16.6 Allegro PCB Editor now has IPC 2581 data transfer capabilities. Thanks to Ed Hickey – the Allegro Sr. Product Engineering Manager - for preparing this information below.
Read on for more details …
IPC 2581 Overview
PCBs have changed significantly over the past three decades, yet to the surprise of many, we still commonly use 30-year-old ways of communicating design intent to manufacturing. These decades old data-communication formats were originally conceived to drive the emerging numerically controlled machines. The Gerber format, properly implemented, is perfectly adequate to transfer image data, but it does not transfer stackup data, materials, design intent or netlist. IPC, the trade group, has been aware of the challenges and dynamics of the PCB design and manufacturing segment and has been an ardent advocate for the replacement of old data-communication formats.
In early 2001, iNEMI (the International National Electronics Manufacturing Initiative) stepped in to lead a broad, industry-wide project to define the definitive data exchange convergence specification. The goal was to enable accurate, efficient data exchange between designers and manufacturers of printed circuit boards (PCB) and assemblies using a single XLM-based data exchange format. From this effort, an IPC committee developed a new standard, IPC-2581, Generic Requirements for Printed Board Assembly Products Manufacturing Description Data and Transfer Methodology; it was released in March 2004.
With IPC-2581, the industry finally has a global opportunity save millions of dollars by implementing a standardized safe and complete transfer of designs data and save millions of dollars wasted by managing multiple files in different formats. But as usual with data format specifications, nothing can be done until the supply chain produces, consumes and supports such a specification. This is where a new consortium of PCB design software (EDA) and supply chain companies fits in: to bring companies together to enable, facilitate and drive use of IPC-2581.
The Consortium website is - http://ipc-2581.com/
IPC 2581 Export
The IPC 2581 Export tool is invoked through the File-Export-ipc-2581 menu. IPC 2581 may also be exported through a command window as IPC2581_out. When run from the Allegro PCB Editor the IPC 2581 Export tool is shown as follows:
![]()
The items located in this form are described as follows:
o Output File Name: The file name of the exported file. Default file extension is .cvg. A browser to point to a specific directory is next to the file name field. Current board drawing name is defaulted.
o Version: The available export version options. There are currently 2 versions available:
- IPC2581-A : Latest Revision A released March 2012
- IPC-2581-1: Amendment I, initial Allegro implementation.
o Output Units: The output units may be set regardless of the current design units. There are three available units, inches, millimeter, and micron.
o Function Mode and Level:
![]()
- Full Mode: The FULL mode identifier incorporates a total of fifteen functions. Each function is represented and available in the file. The order of the details in the file is not significant as several elements may be used to address any given function. Hierarchical padstack and route information reflects original design intent that may be altered in the representation of the flattened fabrication data. For FABRICATION and ASSEMBLY, flattened data will be used
- Design Mode: The DESIGN mode consists of three levels of complexity. Each level performs a different function consisting of an original design starting from scratch to completed design that had already been converted to manufacturing data, or a completed design that is still in the CAD format structure. See IPC 2582 and IPC 2583 for sectional data descriptions.
- Fabrication Mode: The FABRICATION mode consists of three levels of complexity. Each level describes information in a layered format, from very simplistic data to that where the customer has dictated very specific materials and material stack-up structures. See IPC 2584 and IPC 2588 for sectional data descriptions.
- Assembly Mode: The ASSEMBLY mode consists of three levels of complexity. Each level describes a concept of more complete information. The simplest level is mainly bill of material data as well as external copper layers. In its most complete form, the assembly information describes the component approved vendor listing for aliases and substitution in sufficient detail to ensure proper assembly. See IPC 2586 and IPC 2588 for sectional data descriptions.
- Test Mode: The Test mode consists of three levels of complexity. Each level describes a specific function for testing information that must be contained within a file. In its simplest mode, the data describes information to allow bare board testing. In its most complex mode, there is information on in-circuit test, impedance control, and dielectric withstanding voltage conditions. See IPC 2585 and IPC 2587 for sectional data descriptions
- Function Levels: The IPC 258X is limited to be organized as one of thirteen function levels. The level attribute, when associated with the mode attribute, defines the complexity and detail of the file content.
• The level attribute consists of a positive integer and identifies complexity with respect to the characteristics for mode-DESIGN, mode-FABRICATION, mode-ASSEMBLY, and mode-TEXT. A mode- FULL consists of all the elements for an IPC 258X file and has only one (1) level value. For all other modes, the level attribute relates to the type of mode and is apportioned as one of three levels.
- Export Selection: The Function Mode and level select the default data type extractions for export, but the user may add or remove specific data types by selecting the check-box next to that item.
o Film Creation…: This Invokes the Artwork Control Form where film record Classes and subclasses are assigned to a film record:
- Contained within the film record form is a Domain Selection button. This is used to assign specific film record layers to specific outputs. Any film that is to be exported through the IPC 2581 must be selected in the IPC 2581 column. If the film record is not selected, the file record will be ignored during the export process.
o Layer Mapping Edit…: This maps all of the film records to specific data layer type expected in the IPC 2581 file. All layers must be mapped to a layer type definition. If a layer is not mapped to a layer type, it will be ignored during the export process.
- Artwork File: The film record name to be exported (derived from the Allegro CLASS/SUBCLASS for outer copper layers, inner layers, documentation layers, solder mask/paste layers and miscellaneous image layers).
- Outer Copper layers: maps the film record to the outermost copper layers
- Inner Layers: maps the film records to internal conductor layers, signal and/or plane layers.
- Documentation layers: maps film records for fab drawings, assembly drawings, etc to documentation type layers.
- SolderMask, SolderPaste Layers: maps the film records as masking type layers for Solder and Paste Masks.
- Miscellaneous Layers: maps the film records as undetermined type of layer data, such as silk screen, etc.:
![]()
o Export Properties (tab) – Defines the properties to be exported to IPC 2581. These are net and component properties, typically used in 3rd party analysis applications. This property export list creates an ipc2581_attr_config.atr (property configuration) file which lists these properties and is a reference though the export tool.
o Zip file – compress the IPC 2581 text file
o Vector text – export the text characters as line segments.
o Export – begins the export of the board drawing to the IPC 2581 format.
Note: When creating new film records, by default, the new film is linked to four domains (Artwork, PDF, IPC 2581 and Visibility). The Artwork Control Form -> Domain Selection allows the user to enable or disable film records for the desired application. See Film Domains for more information
IPC 2581 Flow:
1. Invoke the IPC 2581 export tool ( File->export->IPC 2581)
2. Change the export file name and location if desired
3. Invoke the Artwork Control Form (Film Creation) and create film records for each film layer if not previously defined.
4. From the Film Control Form, Invoke the Domain tool. Verify all layers to be exported to IPC 2581 are selected.
5. Close Domain form. Close Film Record Form.
6. Invoke the layer mapping tool (Layer Mapping Edit…). Assign each exported film record to a layer type.
7. Select options for Vector text and/or Compress output files as needed
8. Run export (Export)
9. When completed, view the log file, and close the IPC 2581 Export form. If no errors were found, the file is created.
IPC 2581 Export Command Line
IPC 2581 may be Invoked from a command line entry in a Windows cmd prompt or terminal window. The command name is IPC2581_out. There are various required and optional command line arguments.
ipc2581_out [-ufdblRnpstcgeyzDOIMS] [-g <attr_file>] [-o <output_file>] <brd
REQUIRED ARGUMENTS:
<brd>: Name of the design file.
OPTIONAL ARGUMENTS:
-u: Output units. The Allegro unit of measure. Valid args: INCH, MILLIMETER, MICRON. default: INCH (INCH/MILS), MILLIMETER (METER/MILLIM/CENTIM), MICRON (MICRON)
-o: Output file name. Default: <drawing>_ipc2581
-f: Version. IPC2581 format revision to write. Valid args: 1.00, 1.01(v1.00 with Amendment 1), 1.02(IPC2581-A) default: 1.02
-g: Property configuration file. ASCII text file that specifies the property name for component and net. The file format is as follows:
Component/DFA_DEV_CLASS_UD
Component/DFA_DEV_TYPE
Net/DIFFP_PHASE_TOL_DYNAMIC
Net/MAX_VIA_COUNT
-d: Device descriptions. Default: off
-b: Bill of Material (BOM). Default: off
-I: Layer stackup. Default: off
-R: Drill layers. Default: off
-n: Net list. Default: off
-p: Component package. Default: off
-s: Source tool. Default: ‘CadenceTool’
-t: Device land pattern. Default: off
-c: Component descriptions. Default: off
-D: Documentation layers. Default: off
-O: Outer copper layers. Default: off
-I: Inner layers. Default: off
-M: Miscellaneous image layers. Default: off
-S: SolderMask/SolderPaste Legend Layers. Default: off
-e: Export vector text. Default: off
-y: Export cross section data only. Default: off
-z: Zip file. Default: off
Example 1: Generate IPC 2581 file ‘test.cvg’ which contains Allegro objects on outer copper layers, inner layers, documentation layers, miscellaneous layers, and solder Mask/solderPaste layers, which are defined via the UI ‘Layer Mapping Edit’:
ipc2581_out test.brd -o test -O -I -D -M -S
Example 2: Generate IPC 2581 file ‘test.cvg’ which contains net list, package, and component description with output units MILLIMETER:
ipc2581_out test.brd -o test -n -p -c -u MILLIMETER
IPC 2581 Import
Allegro provides the ability to import the artwork films, but they must be generated from the Allegro tools. When the import tool is Invoked, the user selects the IPC 2581 file and selects the import button. As the artwork data is imported. As part of the import, new Manufacturing subclasses are created using the film record name prefixed with ‘ipc-’
Example: Film record name = Int_1_pwr
Manufacturing subclass name = ipc-int_1_pwr
Once IPC 2581 data is imported, the compare button in the IPC 2581 In form is enabled. When this button is selected a user interface is Invoked. The imported layer may then be compared to the film record subclass layers:
![]()
![]()
The IPC film layer name is listed on the left side of the form, and the layer visibility check box is located under the column labels IPC. The Film Column displays the corresponding film record. By selecting the checkboxes, the IPC layer and film record visibility may be toggled off and on. The IPC check box also enables a color change pallet when selected with the right mouse button.
Should the import be unable to correspond an IPC layer to a film record, or incorrectly match an IPC layer to a film record, the browser button located to the far right side of the form provides a form to select a film record to correspond with the IPC layer:
![]()
This compare utility provides a visual compare ensuring all artwork data is complete, based on the film record export. Another capability is the ability to import IPC 2581 data into a previous version of a drawing, and visually compare changes from one version of a design to another.
Film Domain
Artwork films can now be designated by domain where they appear. There are four domains available; Artwork, PDF, IPC2581 and Visibility. Access the User Interface by clicking on ‘Domain Selection’. One of the benefits of the domain form is the ability to segregate films for artwork vs. films for PDF out:
![]()
Please share your experiences using this capability.
Jerry “GenPart” Grzenia
![]()