Home > Community > Blogs > PCB Design > what s good about allegro pcb editor ipc 2581 data transfer standard 16 6 has it
Login with a Cadence account.
Not a member yet?
Create a permanent login account to make interactions with Cadence more convenient.

Register | Membership benefits
Get email delivery of the PCB Design blog (individual posts).


* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

What's Good About Allegro PCB Editor IPC 2581 Data Transfer Standard? 16.6 Has It!

Comments(0)Filed under: PCB Layout and routing, PCB design, SPB, Allegro PCB Editor, Allegro, PCB Editor, PCB, layer stacks, layout, design, Standards based Interfaces, Allegro GUI, Grzenia, artwork, Allegro 16.6, 16.6, interfaces, Cadence, Cadence Design Systems

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

        <brd>:  Name of the design file.

-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:


-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


Leave a Comment

E-mail (will not be published)
 I have read and agree to the Terms of use and Community Guidelines.
Community Guidelines
The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.