We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 108
Allegro
PCB Editor User Guide:
Completing the Design Series XL and GXL Product Version 16.0 June 2007 19912007 Cadence Design Systems, Inc. All rights reserved. Portions Apache Software Foundation, Sun Microsystems, Free Software Foundation, Inc., Regents of the University of California, Massachusetts Institute of Technology, University of Florida. Used by permission. Printed in the United States of America. Cadence Design Systems, Inc. (Cadence), 2655 Seely Ave., San Jose, CA 95134, USA. Allegro PCB Editor contains technology licensed from, and copyrighted by: Apache Software Foundation, 1901 Munsey Drive Forest Hill, MD 21050, USA 2000-2005, Apache Software Foundation. Sun Microsystems, 4150 Network Circle, Santa Clara, CA 95054 USA 1994-2007, Sun Microsystems, Inc. Free Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 1989, 1991, Free Software Foundation, Inc. Regents of the University of California, Sun Microsystems, Inc., Scriptics Corporation, 2001, Regents of the University of California. Daniel Stenberg, 1996 - 2006, Daniel Stenberg. UMFPACK 2005, Timothy A. Davis, University of Florida, ([email protected]). Ken Martin, Will Schroeder, Bill Lorensen 1993-2002, Ken Martin, Will Schroeder, Bill Lorensen. Massachusetts Institute of Technology, 77 Massachusetts Avenue, Cambridge, Massachusetts, USA 2003, the Board of Trustees of Massachusetts Institute of Technology. All rights reserved. Trademarks: Trademarks and service marks of Cadence Design Systems, Inc. contained in this document are attributed to Cadence with the appropriate symbol. For queries regarding Cadences trademarks, contact the corporate legal department at the address shown above or call 800.862.4522. Open SystemC, Open SystemC Initiative, OSCI, SystemC, and SystemC Initiative are trademarks or registered trademarks of Open SystemC Initiative, Inc. in the United States and other countries and are used with permission. All other trademarks are the property of their respective holders. Restricted Permission: This publication is protected by copyright law and international treaties and contains trade secrets and proprietary information owned by Cadence. Unauthorized reproduction or distribution of this publication, or any portion of it, may result in civil and criminal penalties. Except as specied in this permission statement, this publication may not be copied, reproduced, modied, published, uploaded, posted, transmitted, or distributed in any way, without prior written permission from Cadence. Unless otherwise agreed to by Cadence in writing, this statement grants Cadence customers permission to print one (1) hard copy of this publication subject to the following conditions: 1. The publication may be used only in accordance with a written agreement between Cadence and its customer. 2. The publication may not be modied in any way. 3. Any authorized copy of the publication or portion thereof must include all original copyright, trademark, and other proprietary notices and this permission statement. 4. The information contained in this document cannot be used in the development of like products or software, whether for internal or external use, and shall not be used for the benet of any other party, whether or not for consideration. Patents: Allegro PCB Editor, described in this document, is protected by U.S. Patents 5,481,695; 5,510,998; 5,550,748; 5,590,049; 5,625,565; 5,715,408; 6,516,447; 6,594,799; 6,851,094; 7,017,137; 7,143,341; 7,168,041. Disclaimer: Information in this publication is subject to change without notice and does not represent a commitment on the part of Cadence. Except as may be explicitly set forth in such agreement, Cadence does not make, and expressly disclaims, any representations or warranties as to the completeness, accuracy or usefulness of the information contained in this document. Cadence does not warrant that use of such information will not infringe any third party rights, nor does Cadence assume any liability for damages or costs of any kind that may result from use of such information. Restricted Rights: Use, duplication, or disclosure by the Government is subject to restrictions as set forth in FAR52.227-14 and DFAR252.227-7013 et seq. or its successor. Allegro PCB Editor User Guide: Completing the Design June 2007 3 Product Version 16.0 Preface............................................................................................................................ 5 1 Renaming Reference Designators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 The Auto Ref Des Rename Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Setting Automatic Rename Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Executing the Rename Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Backannotating the Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Renaming from a Batch Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Attaching the AUTO_RENAME Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Editing the Placement Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Locating Rows and Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Setting Grids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2 Meeting DFA Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Using Real-Time DFA Checking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Using Batch-Mode DFA Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Dening Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Prioritizing Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Saving Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Selecting the Audits To Run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Performing the Audit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Viewing Violations and Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Completing the Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 DFA Audit Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Component Assembly Clearance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Component Orientation and Mounting Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Lead Span . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Orphan Via . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Contents Allegro PCB Editor User Guide: Completing the Design June 2007 4 Product Version 16.0 Hole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Testability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Hanging Trace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3 Extracting Allegro PCB Editor Views . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Extract Command File Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Property Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Group Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Multiple Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 SORT Data Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Baseview Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Baseview File Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 The extracta Output File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 A Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 J Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 S Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Sample Output Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4 Extract Data Dictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Data Fields and Legal Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Data Field Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 5 Generating Test Coupons. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Coupon Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Allegro PCB Editor User Guide: Completing the Design June 2007 5 Product Version 16.0 Preface The design completion stage of a design owmay involve tasks related to renaming reference designators, running audits, extracting information from your design, and generating coupons. The following chapters cover these aspects of design completion. Backannotating your design to a schematic capture tool is frequently done at this stage, but that information is covered in the Logic section of the documentation. The following gure illustrates the design completion stage in a design ow. Allegro PCB Editor User Guide: Completing the Design Preface June 2007 6 Product Version 16.0 Renaming Reference Designators in a Design Flow LIBRARY DEVELOPMENT Create custom pad shapes Define library padstacks Define unique packages Define mechanical elements LIBRARY DEVELOPMENT Create custom pad shapes Define library padstacks Define unique packages Define mechanical elements LOGIC DATA TRANSFER Create design database Associate schematic or create and enter third-party netlist LAYOUT PREPARATION Define design rules (properties and constraints) Define layers (cross section) Create mechanical elements (outline, keepins, keepouts) DESIGN LAYOUT Placement (automatic/interactive) Routing (automatic/interactive) DESIGN COMPLETION Rename reference designators Backannotate Add power and ground planes Run Design Rule Checking (DRC) MANUFACTURING OUTPUT Generate pen plots Create artwork Generate numerical control output Design completion tasks DESIGN ANALYSIS Signal integrity analysis EMI Compliance Allegro PCB Editor User Guide: Completing the Design June 2007 7 Product Version 16.0 1 Renaming Reference Designators This chapter describes how to rename reference designators using Allegro PCB Editor automatic renaming feature, LogicAuto Rename RefDes. After you place and route a new design or rearranged components on an existing design, reference designators must normally be renamed to aid accurate testing and assembly on the actual board. The automatic renaming process in Allegro PCB Editor lets you rename every component on a design in a single operation without having to attach the AUTO_RENAME property to each component. Renaming occurs on both sides of the board in a single operation. Note: When you choose this method, the prexes stored in the symbol denition are used in the new reference designators. In addition, separate counters run for components with different prexes. You can also elect to rename individual components by attaching the AUTO_RENAME property to them or by renaming components on one side of the board only. Renaming is controlled by placement grid line locations only (user-dened or default selection) or by sequential renaming within grid blocks. With grid-based renaming, you can designate the direction (horizontal or vertical) and order (left-right, right-left, upwards- downwards) of the renaming process. Additionally, you can dene grid descriptions by alpha characters and/or integers. All of these options are accessed by selections on a graphical user interface, dened in detail in this chapter. The Auto Ref Des Rename Flow The automatic renaming function in Allegro PCB Editor is a straight-forward, easy to implement feature. Figure 1-1 illustrates the steps necessary to perform this operation. Allegro PCB Editor User Guide: Completing the Design Renaming Reference Designators June 2007 8 Product Version 16.0 Figure 1-1 : The Automatic Renaming Flow Setting Automatic Rename Options The options available in the automatic reference designator (auto refdes) in Allegro PCB Editor rename feature are available only through the Rename Ref Des dialog boxes. There are two dialog boxes: I Rename Ref Des Complete set-up dialog boxes Edit placement grid Execute Select area to rename No Yes Will grids result in proper renaming? Attach AUTO_RENAME property to those components you want to rename. Yes No Rename all components automatically? (No property attachment required) Yes Backannotate Customizegrids using Edit command Allegro PCB Editor User Guide: Completing the Design Renaming Reference Designators June 2007 9 Product Version 16.0 This dialog box is accessed through the menu bar. It lets you choose whether to rename all the design components or to choose specic components for renaming. It also lets you choose a placement grid conguration. I Rename Ref Des Set Up The Set Up dialog box is accessed through the Rename Ref Des dialog box and contains the balance of the options available in automatic rename, including layer options, reference designator format, and renaming method. Options can be set in any order; that is, the options, format, renaming methods, and so on in the Set Up dialog box can be chosechose before the options available in the main dialog box. For procedural information, see Logic Auto Rename RefDes Rename (rename param command) in the Allegro PCB and Package Physical Layout Command Reference. Executing the Rename Function Once you set up all options in the rename dialog boxes, you execute the rename process in a particular area. 1. Select the portion of the design to be renamed. LogicAuto Rename RefDesDesign (rename area design command) that is, the entire board. LogicAuto Rename RefDesRoom (rename area room command) opens a ll-in that requires you to enter a room name. LogicAuto Rename RefDesWindow (rename area window command) lets you choose a dened area of the design. LogicAuto Rename RefDesList (rename area list command) opens a window that displays what area is currently active. 2. From the Rename menu, click OK. The status line in Allegro PCB Editors console window prompt displays the message Auto Rename of Reference Designators IN PROGRESS. As the operation proceeds, various warning or error messages may appear at the console window prompt. When the operation nishes, the status line reads: Auto Rename of Refdes COMPLETE. x components renamed. Allegro PCB Editor User Guide: Completing the Design Renaming Reference Designators June 2007 10 Product Version 16.0 Backannotating the Database After you rename reference designators in the design, communicate those database changes back to the schematic through backannotation. For details on performing backannotation, see Transferring Native Logic. The rename.log File The automatic rename operation generates a log le that lets you review the results of the operation. It provides information on each component processed and the result of the renaming. A truncated sample rename.log le is shown in Figure 1-2. Allegro PCB Editor User Guide: Completing the Design Renaming Reference Designators June 2007 11 Product Version 16.0 Figure 1-2 : Sample rename.log File Renaming from a Batch Command Allegro PCB Editor running on a UNIX workstation provides a batch program called reftxt that uses a text le to rename reference designators. In the text le, you can indicate changes anywhere on the design and allow the reference designator to have any number of characters. You run this program after components are placed. ( ) ( RENAME REFDES ) ( ) ( Drawing : design.brd ) ( Date/Time : Wed Jun 12 14:32:22 1996 ) ( ) (------------------------------------------------------------) Renaming components on BOTH_SIDES on entire BOARD Extents: (-10100.0,-15300.0) (33900.0,18700.0) Sequencing the Reference Designators by ROW AND COLUMN. Rows : to the RIGHT, Columns : DOWN. Processing TOP of board, C13 has AUTO_RENAME property but is on BOTTOM, component ignored. Processing TOP of board, C4 has AUTO_RENAME property but is on BOTTOM, component ignored. Processing TOP of board, C1 has AUTO_RENAME property but is on BOTTOM, component ignored. Allegro PCB Editor User Guide: Completing the Design Renaming Reference Designators June 2007 12 Product Version 16.0 Creating a Rename Text File The rename text le that you create with a text editor is a was/is list of reference designators. Each line describes one reference designator to be changed, followed by at least one space or tab, then the reference designator to be substituted. Reference designators can be listed in any order, and previous ones do not affect those further down the list. A sample list might appear as follows: U1 U12 R3 R45 U41 R45 U10 U9 The reftxt command can also be used to accommodate reference designators that might otherwise be too long for the automatic rename function. For example, reftxt can be used to change reference designators to include part numbers or other company-dened information. Below is a sample text le for this type of situation: Z1 A007421 Z2 A007422 C1 A443011 C2 A443012 If you plan to change to lengthy designators, make sure that the symbols have been built with a reference designator placement that accommodates them. Attaching the AUTO_RENAME Property When you run the rename process on an individual component or on one group of components at a time, you must dene the components to be renamed by attaching the AUTO_RENAME property to them individually. Note: When you are renaming groups of reference designators, you do not want to include certain components in the renaming process. To prevent these components from being renamed, attach the HARD_LOCATION property to them. Editing the Placement Grid Allegro PCB Editor denes the placement of components within rows and columns based on their relationship to placement grid lines. As you rename a group of components, you may need to edit the grid to a size appropriate for those components. Allegro PCB Editor User Guide: Completing the Design Renaming Reference Designators June 2007 13 Product Version 16.0 Locating Rows and Columns When you rename components by row only, Allegro PCB Editor numbers themconsecutively across each row in the direction you specied in the Rename Ref Des Set Up dialog box; right-to-left or left-to-right, as shown in Figure 1-3. Figure 1-3 : Components Renumbered by Row When the components are renamed by column only, Allegro PCB Editor numbers them consecutively in the direction you specied in the Rename Ref Des Set Up dialog box: either down or up, as shown in Figure 1-4. Figure 1-4 : Components Renumbered by Column On some large designs, you may want to locate the components to be renamed by both row and column. For example, you can do this by specifying a letter in the row eld and a number in the column eld. This appears as shown in Figure 1-5. U1 U2 U3 U4 U4 U3 U2 U1 or U1 U2 U3 U4 U4 U3 U2 U1 or Allegro PCB Editor User Guide: Completing the Design Renaming Reference Designators June 2007 14 Product Version 16.0 Figure 1-5 : Components Renumbered by Row and Column Allegro PCB Editor denes rows and columns as the area between adjacent lines. In Figure 1-6, components with the reference designator U* are being renamed. On this design, the components line up in orderly rows and columns. Figure 1-6 : A Layout with Uniformly Arranged Components In situations where the components are not arrayed neatly, Allegro PCB Editor uses the component origin dened in the Set Up dialog box to determine in which row or column it belongs. The following description assumes the default, Body Center, to make the point most clearly. In the case of columns, if its body center falls directly on a vertical line, Allegro PCB Editor attaches it to the column on the right. For rows, if its body center falls directly on a horizontal line, it is attached to the row above the grid. If the grid itself needs to be adjusted, use the Move option to relocate grid lines. A unique case arises when more than one component occupies a grid square. Figure 1-7 illustrates the case where you are renaming by both column and row so you can see the use of sufxes. UA1 UA2 UA3 UA4 UC1 UB1 UB2 UB3 UB4 UC2 UC3 UC4 Allegro PCB Editor User Guide: Completing the Design Renaming Reference Designators June 2007 15 Product Version 16.0 When you rename by both column and row and more than one component falls within a grid square, Allegro PCB Editor considers them to have the same reference designator. To guarantee that each component has a unique reference designator, Allegro PCB Editor appends a sufx to each. They are incremented by one (UE3, UE3-1, and so on), using the direction guidelines established in the parameter dialog box. In Figure 1-7 the dened directions are Right and Down. Figure 1-7 : A Layout Where Component Assignments Include a Sufx Note: You can usually avoid the need for sufx character(s) by adjusting the grid lines so multiple components do not fall within the same grid square. Setting Grids Before executing the rename command, examine the grids in the assigned area to ensure appropriate results. The established placement grid may work, but you might have to manually alter the grid, or dene a new grid. If you are renaming a variety of different sized components, you may need to resize the grid for each different set of components. To create a grid: 1. Create a package keepin area large enough to contain the area of the grid. 2. From the menu bar on Allegro PCB Editor, choose Place Autoplace Top Grids (place set topgrid command) or Place Autoplace Bottom Grids (place set bottomgrid command). The place set grid dialog box appears for the selected grid type. 3. In the dialog box eld, enter an x coordinate, then click OK. (See Creating a Non-Etch Grid for Interactive Placement in Preparation for Placing Elements for details.) Allegro PCB Editor User Guide: Completing the Design Renaming Reference Designators June 2007 16 Product Version 16.0 The Place Set Grid dialog box for the y coordinate appears. 4. Enter a y coordinate, then click OK. 5. Enter the grid point where you want the grid to originate. You can indicate this by a mouse pick, or by entering explicit x,y coordinates inside the placement keepin. You can customize grid lines by choosing Edit Move (move command), Edit Copy (copy command), and Edit Delete (delete command). For additional information on working with grids, see Setting Placement Grids in Preparation for Placing Elements. Allegro PCB Editor User Guide: Completing the Design June 2007 17 Product Version 16.0 2 Meeting DFA Requirements This chapter describes Design For Assembly (DFA) real-time DRC for package-to-package clearance checks. During interactive placement, designers can understand component- clearance requirements using the rules-driven DFA Constraints Dialog spreadsheet, whose values can be associated with an Allegro PCB Editor design. It also outlines the use of batch-mode DFA analysis audits on a printed circuit board, detailing the individual audits provided with Allegro PCBEditor, the constraints available for each audit, and how to dene and prioritize them if necessary. Allegro PCB Editor User Guide: Completing the Design Meeting DFA Requirements June 2007 18 Product Version 16.0 Using Real-Time DFA Checking Dynamic DFA checks in Allegro PCB Editor support package-to-package clearance modeling. By implementing rules-driven design techniques, constraints identied during system design control the physical layout. Real-time DFA analysis occurs as you manually place components. You can apply an external DFA rules table owned by manufacturing that represents corporate DFA standards to a design, then edit or override the table values using the DFA Constraints Dialog spreadsheet, which denes component side-side (S-S); side-end (S-E), end-end (E- E) spacing values in one view that supports top and bottom sides of the PCB separately. Conversely, use the Read-only eld on the DFA Constraints Dialog spreadsheet to prevent users from overriding corporate DFA rule standards. The DFA Constraints Dialog spreadsheet is available by choosing Setup Constraints DFA Constraint Spreadsheet (dfa_spreadsheet command). These values in the DFA rules table drive real-time DRC feedback during placement. For example, a DRC ags too-small part-to-part spacing during part placement and updates it in real time. All assembly checks occur in the same environment in which you designed the board, to preclude juggling between Allegro PCB Editor and third-party tools for fabrication checks. Allegro PCB Editor User Guide: Completing the Design Meeting DFA Requirements June 2007 19 Product Version 16.0 Figure 2-1 Real-time DFA process Grouping symbol denitions with the DFA_DEV_CLASS property You can group symbol denitions that share the same clearance values by assigning the DFA_DEV_CLASSproperty to them. The DFA_DEV_CLASSproperty classies components according to the Design for Assembly (DFA) package-to-package spacing values dened in the DFA Constraints Dialog spreadsheet, available by choosing Setup Constraints DFA Constraint Spreadsheet (dfa_spreadsheet command). You use the DFA Classication Editor dialog box to add or remove symbol denitions from user-dened classes. (The DFA Classication Editor is available by clicking Show symbol classifications... on the DFA Constraints Dialog spreadsheet.) Allegro PCB Editor treats these classes as components comprised of symbols to which the DFA spacing values dened for the class default. For example, fty versions of an 0805 package symbol may exist, all complying to the same Run dfa_update to add DFA place-bounds to library symbols. Enable DFA DRC on the DFA Constraints Dialog. Choose Place - Manually to place components using values from the DFA Constraints Dialog spreadsheet. Apply the DFA rules table to the PCB Editor design. Use the graphical feedback provided by the spacing circles during placement to assess potential DFA rule violations. Open the DFA Constraints Dialog by running Setup - DFA Constraint Spreadsheet and classify symbols that share common spacing values into classes using the DFA_DEV_CLASS property on the DFA Classication Editor. Allegro PCB Editor User Guide: Completing the Design Meeting DFA Requirements June 2007 20 Product Version 16.0 DFA rule set. A single class line entry in the spreadsheet assumes the rules for each instance of the 0805 class of package symbols. Clicking Update on the DFA Classication Editor dialog box assigns the DFA_DEV_CLASS property to the symbol denitions in the classes you specied. DRC for DFA The DRC marker (D-C) for DFA veries DFA spacing rules prior to and after symbol placement either interactively or in batch mode. When violations occur during manual placement, the D-C marker and DFA extents appear in the color assigned to DFA DRC in the Color dialog box. DFA DRCs appear in Constraint Manager in the DRC workbook under the Design worksheet. DFA DRC supports alternate symbols. For example, a DFA DRC error appears in error reports as: DIP14-DIP14 violated 100:200:100 rule. DFA DRC determines the correct rule set by checking: I Dened DFA rules in the DFA Constraints Dialog spreadsheet for the associated symbol denition I The DFA_DEV_CLASS property assigned to symbol denitions and DFA rules in the DFA tables You can choose to enable or disable DFA rules checking independently of existing package- to-package rules checking on the Design Constraints dialog box, accessed by running (cns design command) in Allegro PCB Editor. DFA DRC occurs in conjunction with batch package-to-package DRCs if you: I Enable DFA checking on the DFA Constraints Dialog spreadsheet I Create DFA place-bounds for the symbol, enable DFA checking, and an entry exists in the DFA Constraints Dialog spreadsheet Note: When one or both symbol denitions lack DFA place-bounds, DRC uses the existing place-bound and generates a warning. You can generate DFA place-bounds for legacy symbols automatically using dfa_update. I Assign the HEIGHT property to either package During manual placement, as a dynamic component approaches placed components DFA place-bound extents, DRC runs based on the correct S-S, E-E, S-E value in the DFA Constraints Dialog spreadsheet. Spacing circles appear on screen between the components to show the actual spacing value visually, and to highlight potential DFA DRC errors in the color you assigned for DRCs. Allegro PCB Editor User Guide: Completing the Design Meeting DFA Requirements June 2007 21 Product Version 16.0 If a violation occurs, Allegro PCB Editor calculates the DFA extent on all placed components that come within the range of potential DFA DRC errors, and a DRC marker displays there. Note: To remove the butterfy fromappearing with the spacing circles, use Setup User Preferences (enved command) and enable the no_dfa_drc_marker variable. This DRC and DFA place-bound extents remain highlighted until you move the component from the violation extent area; the spacing circles then disappear as well. If you move components, DRCs become out of date for DFA errors. DFA place-bounds You can create DFA place-bound shapes in Symbol mode as you do place-bound shapes using the package_bound command. Place-bound rectangles are lled rectangles that dene the package boundary and govern placement restrictions. Placement tools use these rectangles for overlapping and mechanical restraints. DRC also uses them to check for violations of package-to-package keepin areas and keepout areas. For legacy symbols, you can add the DFA place-bound to the symbol denition, with dfa_update. A rectangular-shaped DFA place-bound differs from a place-bound in that the former has differentiating edges and ends to comply with DFAspacing rules. For circles or polygons, DFA DRC uses the largest, or most conservative, value specied in the DFA Constraints Dialog spreadsheet for that symbol if three values exist. Unlike current place-bounds, which allow you to concatenate multiple shapes, each layer allows only one shape for a DFA place-bound. Allegro PCB Editor determines the DFA place-bound end, which comprises the shorter sides of the extent at a zero degree rotation; side as the longer sides of the extent. Allegro PCB Editor User Guide: Completing the Design Meeting DFA Requirements June 2007 22 Product Version 16.0 Figure 2-2 DFA place-bound Description In the example below, the DFA place-bound surrounds the package pins, but with respect to the assembly outline in blue. Figure 2-3 DFA place-bound: SOIC 0 rotation angle END SIDE DFA place-bound Allegro PCB Editor User Guide: Completing the Design Meeting DFA Requirements June 2007 23 Product Version 16.0 In the example below, the red outline surrounds the package pins, including ducials. Figure 2-4 DFA place-bound: BGA DFA place-bounds, created on DFA_BOUND_TOP and DFA_BOUND_BOTTOM layers of the PACKAGE GEOMETRY class, follow the symbol rotation as Figure 2-5 on page 24 shows. Allegro PCB Editor User Guide: Completing the Design Meeting DFA Requirements June 2007 24 Product Version 16.0 Figure 2-5 DFA place-bound Rotation Rules S S S S S S E E E E E E Allegro PCB Editor User Guide: Completing the Design Meeting DFA Requirements June 2007 25 Product Version 16.0 Using Batch-Mode DFA Analysis Allegro PCB Editor provides batch-mode DFA analysis on a printed circuit board with a set of audits for which you can specify constraints, and dene and prioritize them if necessary. DFA allows you to run the following audits: I Component clearance I Component orientation and mounting layer I Lead span I Hole I Testability I Orphan via I Hanging trace Running these audits enables you to verify that your design adheres to a particular set of constraints. After performing the audits, you can viewthe violations written back to the design as DRCs; you can cross-probe and highlight the violations in Allegro PCB Editor using the markers utility. Figure 2-6 depicts the typical use model of batch-mode DFA. Batch-mode DFA can be performed anytime after placing components on your design. Allegro PCB Editor User Guide: Completing the Design Meeting DFA Requirements June 2007 26 Product Version 16.0 Figure 2-6 Overview of Batch-Mode DFA Analysis Define constraints for assembly/fabrication techniques. Save sets of constraints to apply to designs. Choose audits to run on your design. Perform the audits. View violations Violations present? No Yes DRCs dfa.mkr dfa.msg Correct violations. Process complete Prioritize constraints. Add, delete, or restore constraint set values. Allegro PCB Editor User Guide: Completing the Design Meeting DFA Requirements June 2007 27 Product Version 16.0 Dening Constraints Constraints are dened in the DFA Audit Setup dialog box, and constraint sets must be dened for each audit as the rst step in the DFA process. For details, see Creating Specialized Constraints for DFA Check in the Allegro PCB and Package Physical Layout Command Reference. Prioritizing Constraints Allegro PCB Editor provides a default for the audits that support prioritization. Details are provided for all audits. Typically, you assign generalthat is, non-specializedconstraint values to the default set (also known as a child item). In the case of the Component Assembly Clearance audit, for instance, the constraints written against the default child item apply to all components in your design. The default constraint set, therefore, represents the highest evaluated level of constraints within an audit. Additional child items that you create from the default (or current) child item should have more specialized constraints associated with them. During an audit, Allegro PCB Editor evaluates specialized constraint sets before less stringent constraints in a bottom-to-top order. You can maintain this progression of less stringent to more stringent constraints by inserting new or modied constraint sets between existing ones. Each child item in an audit can be considered a place holder for the constraints associated with it. The most general constraintdefaultmust be at the top of the list of child items in audits that require prioritization of constraints because Allegro PCB Editor evaluates constraints from bottom to top. When Allegro PCB Editor nds a match for a specialized constraint, higher levelmore generalizedconstraints are not evaluated. The audits that require prioritization are: I Component Assembly Clearance I Component Orientation and Mounting Layer I Lead Span I Hole Audit I Test Point Audit Allegro PCB Editor User Guide: Completing the Design Meeting DFA Requirements June 2007 28 Product Version 16.0 Saving Constraints After you have dened a new set of constraints in the DFA Audit Setup dialog box, save the constraint set by clicking the Save button in the main dialog box (Design For Assembly). Clicking Save opens a constraint le browser. The information entered in the Audit Setup dialog box can be written to a newor existing.par le and is read when future audits of that constraint set are performed. Note: Clicking the OK button in the Audit Setup dialog box saves the modied constraints in the directory pointed to by the browser, then closes the dialog box. Clicking Cancel closes the dialog box, discarding the changes made in that session. All the DFA constraint les are ASCII les, thus they can be edited; however, we recommend that changes made to constraints be performed in the Audit Setup dialog box. Constraint les are structured in the following format: STARTENV DFA STARTRULE component_orientation_layer_audit PARAM SELECTOR_TYPE_ "Component" PARAM SELECTOR_NUMBER_ 1 PARAM PARAMETER_TYPES_ "S" , "S" , "S" , "NL" PARAM PARAMETER_WIDGETS_ "P" , "E" PARAM PARAMETER_POPUPS_ "POPUP_LAYER" PARAM CONSTRAINTS "Constraint_1" , "smd2smd" , "Default" PARAM SELECT_BY1 "Symbol" , "Property" , "Any" PARAM VALUE1 "ocs" , "DFA_DEV_CLASS=ALL" , "*" PARAM LAYER "BOTTOM" , "TOP" , "Either" Allegro PCB Editor User Guide: Completing the Design Meeting DFA Requirements June 2007 29 Product Version 16.0 PARAM ORIENTATION "90" , "0" , "0 90 180 270" ENDRULE STARTRULE test_point_audit PARAM MIN_SIZE 50 PARAM MAX_SIZE 100 ENDRULE ENDENV The sample above denes the: I Environment in which the le is to be used I Constraints and their values I Prioritization of constraints (where supported) The default dfa_constraints.par le exists in $CDS_INST_DIR/share/pcb/ assembly. Selecting the Audits To Run Choose the audit and the child item(if prioritization is supported) in the Setup dialog box. The lower portion of the dialog box displays the constraint values associated with your selection. For details, see the dfa command in the Allegro PCB and Package Physical Layout Command Reference. Performing the Audit Run the audit(s) from Allegro PCB Editor with the dfa command. Make sure you have set all parameters to your satisfaction, and you have chose the appropriate audit(s) to run. When you run an audit on a constraint set, the following les are created in the design directory: I dfa.msg I dfa.log I dfa.mkr Allegro PCB Editor User Guide: Completing the Design Meeting DFA Requirements June 2007 30 Product Version 16.0 The message, log, and marker les are updated automatically and contain the violations that were generated during the most recent audit. Move/copy or rename les generated earlier for purposes of comparisons with more recent runs. Viewing Violations and Reports DFA assumes a default value of 200 violations. You can reset the maximum by assigning a specic number as a property value, or by entering a value in the DFA dialog box. You can view violations in two ways: on the board itself as DRCs or from the dfa.mkr le through the markers utility (when you click the Explore Violations button in the DFA dialog box). Clicking on a violation in the markers window highlights the violation in Allegro PCB Editors working area. All DFADRCs are cleared fromthe board at the beginning of each audit session. Clicking the Report button in the DFA dialog box lets you view the dfa.msg le containing details of every violation. The dfa.log le provides details of the audit process. Completing the Process If violations are present after running the audit, make the necessary corrections, then run the audit again. Perform this step until your board is free of violations. DFA Audit Descriptions This section contains information on each of the DFA audits. The accompanying illustrations depict the Audit Setup dialog box as congured for the separate audits. Allegro PCB Editor User Guide: Completing the Design Meeting DFA Requirements June 2007 31 Product Version 16.0 Component Assembly Clearance This audit checks the spacing between the components to accommodate assembly, inspection, and repair. A group of components can be chosen by dening a selection criteria using the Select By and Value elds. These values are described in Allegro PCB Editor online Help. The Component Assembly Clearance audit supports prioritization of constraints. Distance is calculated in user-dened design units. Allegro PCB Editor User Guide: Completing the Design Meeting DFA Requirements June 2007 32 Product Version 16.0 Example Two child items, Default and ResToIC, exist in the Component Assembly Clearance Audit in the order shown. The value of each eld in the constraints section of the Audit Setup dialog box is : In the example, the minimum distance between any two components on any layer is 1200 design units. The minimum distance between any resistor component with a reference designator (refdes) Rand any ICwith a reference designator Uon the top layer is 1000 design units. When you run the audit, DFA checks for a minimum spacing of 1000 design units between resistors and ICs on the top layer. All other elements are checked for a minimum spacing of 1200 design units. If the priority is reversedif ResToIC is moved to the topthe audit rst checks for a minimum spacing of 1200 design units between any two components, and the ResToIC constraint is never checked. Error Messages The error message generated by the audit is: ERROR (component_clearance_audit) Clearance between components U23 and C32 : 50 Minimum clearance required : 100 Categories used are category1: RefDes * category 2: RefDes * ERROR (component_clearance_audit) Clearance between components C32 and U23 : 50 Minimum clearance required : 100 Categories used are category1: RefDes * category 2: RefDes * ERROR (component_clearance_audit) Clearance between components U12 and U21 : 25 Child Item Comp1 Value1 Edge1 Comp2 Value2 Edge2 Layer Spacing Default All * Any All * Any Any 1200 ResToIC RefDesR * Any RefDesU * Any Top 1000 Allegro PCB Editor User Guide: Completing the Design Meeting DFA Requirements June 2007 33 Product Version 16.0 Minimum clearance required : 100 Categories used are category1: RefDes * category 2: RefDes * ERROR (component_clearance_audit) Clearance between components U21 and U12 : 25 Minimum clearance required : 100 Categories used are category1: RefDes * category 2: RefDes * Component Orientation and Mounting Layer This audit checks that component orientation is correct for the soldering process used, and that components are mounted only on allowed layers. Allegro PCB Editor User Guide: Completing the Design Meeting DFA Requirements June 2007 34 Product Version 16.0 A group of components can be chosen by dening a selection criteria. Refer to the Allegro PCB and Package Physical Layout Command Reference for descriptions of eld selection values and criteria. Prioritization of constraints is supported. Example The audit has two child items: Default and Resistor. The value of each eld in the constraints section of the Audit Setup dialog box is : All resistors on the bottom layer should have an orientation of 90 or 270 degrees. Any component on the top layer should have an orientation of 0 or 180 degrees. The parameters of this audit specify that only resistors are allowed on the bottom layer. If the two items were reversed, all components should be present on the top layer with allowed orientations of 0 or 180 degrees. Resistors on the bottom layer generate error messages. The error messages generated by the audit are: "ERROR : Component mounted on the wrong layer " Component : 'R1' Layer : TOP Allowed Layer : BOTTOM Constraint name : Constraint_1 ERROR : Component has wrong orientation" Component :'U2' Orientation : 0 Allowed Orientation : 90 180 Constraint name : Default Child Item Select By Value Layer Orientation Default All * Top 0 Resistor RefDesR * Bottom 90 Allegro PCB Editor User Guide: Completing the Design Meeting DFA Requirements June 2007 35 Product Version 16.0 Lead Span Axial components must be able to t into the holes at the span dened in the symbol. This audit veries the span values for components. Allowed span values can be specied by list or by equation. The value list is entered on a separate formfor both the options; that is, selecting span values by list, or by equation (shown above). Refer to the online Help for descriptions of eld selection values and criteria. Prioritization of constraints is supported. If span value checking is by list, the component span is the distance between the two pads of the component. With this method, you enter a space-separated list in the span value list eld. The actual component span should match one in the list. If the span value is calculated by equation, the equation used for determining the span values is :X*Body Length + Y * LEAD_DIAMETER + Z Allegro PCB Editor User Guide: Completing the Design Meeting DFA Requirements June 2007 36 Product Version 16.0 where X, Y, Z are constants which can be customized. The Base-Increment value list eld has a space separated list of base increment pairs in the format base:increment. The actual span value is checked against the base:increment pair. Example Assume that X=Y =1 and Z=100 mils. Base: Increment = 300:100. Let the component span evaluate to 750 mils. The allowable span values are 300, 400, 500, 700, 700, 800 etc. Since 750 >700 and 750 < 800, the allowable span value is 800. So the actual pad-to- pad distance is checked against this value. The audit is applied only to axial components where axial components are dened as package symbols with attached property DFA_DEV_CLASS and two pins with attached property LEAD_DIAMETER (when span values are chosen by equation). The error message generated by the rule is: "ERROR : Component does not have standard span value" "ERROR (lead_span_audit) Allowed span value(s) : 200 Component : 'C91' Span Value : 140 Body Length : 170 Span value specified : By Equation Constraint name : Default ERROR (lead_span_audit) Allowed span value(s) : 205 220 220 Component : 'C94' Span Value : 140 Body Length : 170 Span value specified : By List Constraint name : Default Orphan Via Choose this audit to report on vias that meet both of the following criteria: Allegro PCB Editor User Guide: Completing the Design Meeting DFA Requirements June 2007 37 Product Version 16.0 I The via has no clines connected to it. I The via is not on a net. Hole This audit: I Veries all pads have the minimum annular ring width I Allows only permissible drill sizes in the design I Checks minimum/maximum via size and whether duplicate holes are present in the same location The audit reports the number of unique drill sizes in the design. Allegro PCB Editor User Guide: Completing the Design Meeting DFA Requirements June 2007 38 Product Version 16.0 Refer to the Allegro PCB and Package Physical Layout Command Reference for details of eld parameter values. The error messages generated by this rule are: INFO (hole_audit) Maximum via size : 2 Following vias violate this criteria: VIA1@(1000.0 2260.0) 14 VIA1@(800.0 2540.0) 14 VIA1@(1920.0 2560.0) 14 VIA1@(2120.0 2260.0) 14 INFO (hole_audit) Minimum via size : 30 Following vias violate this criteria: VIA1@(1000.0 2260.0) 14 VIA1@(800.0 2540.0) 14 VIA1@(1920.0 2560.0) 14 VIA1@(2120.0 2260.0) 14 ERROR (hole_audit) Preferred plated hole size(s) : 5 6 7. The following vias violate this criteria: VIA1@(1000.0 2260.0) 14 VIA1@(800.0 2540.0) 14 VIA1@(1920.0 2560.0) 14 VIA1@(2120.0 2260.0) 14 ERROR (hole_audit) Allegro PCB Editor User Guide: Completing the Design Meeting DFA Requirements June 2007 39 Product Version 16.0 Preferred plated hole size(s) : 5 6 7. The following pins violate this criteria: R1.2 14 R2.2 14 R2.1 14 R1.1 14 ERROR (hole_audit) Minimum annular ring size for pads is 8. The following vias violates this criteria: VIA1@(1000.0 2260.0) 3 VIA1@(800.0 2540.0) 3 VIA1@(1920.0 2560.0) 3 VIA1@(2120.0 2260.0) 3 ERROR (hole_audit) Minimum annular ring size for pads is 8 . The following pins violates this criteria: R1.2 3 R2.2 3 R2.1 3 R1.1 3 Allegro PCB Editor User Guide: Completing the Design Meeting DFA Requirements June 2007 40 Product Version 16.0 Testability This audit checks for test points under components, the minimum/maximum size of test points, and tented test points (test points covered by solder mask). A test point is dened as a pin/via with the attached property TESTPOINT and a value ETCH/ <SUBCLASS> placed on it, where <SUBCLASS> can be either top or bottom. The error messages generated by this rule are: ERROR(test_point_audit): Test point found under component The following components have test points under them: U1 via1(70,85) U2 via2(30,908) ERROR(test_point_audit):Test point size less than minimum Minimum test point size : 30 Allegro PCB Editor User Guide: Completing the Design Meeting DFA Requirements June 2007 41 Product Version 16.0 Following vias violate this criteria: VIA1@(1000.0 2260.0) 3 VIA1@(800.0 2540.0) 3 VIA1@(1920.0 2560.0) 3 ERROR(test_point_audit):Test point covered by Solder Mask The following test points are covered by solder mask: VIA1@(1000.0 2260.0) VIA1@(800.0 2540.0) Hanging Trace Choose this audit to report on cline segments that do not have a net assigned to them. Note: Cline segments assigned to dummy nets are not considered hanging traces, and this audit does not report them. Allegro PCB Editor User Guide: Completing the Design Meeting DFA Requirements June 2007 42 Product Version 16.0 Allegro PCB Editor User Guide: Completing the Design June 2007 43 Product Version 16.0 3 Extracting Allegro PCB Editor Views Allegro PCB Editors extracta command reads binary representations of Allegro PCB Editor designs, then translates that data into ASCII text les. These les contain database information you can sort and format for reporting and analyzing. The extracta command is specic to the Allegro PCB Editor database; however, it produces data in a formthat standard processing programs can use. Figure 3-1 illustrates the ow of data in the extract process. You control extracta by creating an extract command le that extracta uses as input. In the extract command le, you list those data elds you want extracted from the Allegro PCB Editor database and establish selection criteria for certain data values. The information you provide is called a view. The extracta command provides predened views from which you can choose (baseview les). You can also customize views, and extract multiple views. The extracta command creates an output le of the information you specied in the command le. The output le is composed of many text record representations of the database that you specied to extracta. You can rerun extracta, specifying other database elements to obtain a different view of the database. In addition to the output le, extracta creates a log le named extracta.log, which contains a copy of the control le, as well as any error messages. Although the extract command can be run any time during the design process, normally you run it on a completed design. Extracting data views involves the following tasks: I Creating an extract command le I Running extracta I Formatting the output le See the extracta command in the Allegro PCB and Package Physical Layout Command Reference for information on these procedures. Allegro PCB Editor User Guide: Completing the Design Extracting Allegro PCB Editor Views June 2007 44 Product Version 16.0 Figure 3-1 Data Flow for the extracta Command Important In versions prior to 14.2, the extracta program was called extract. If you are operating on a UNIX platform, Cadence provides a link to the old extract name so you do not need to change your scripts. This is not the case on Windows platforms. If you are operating on a Windows system, you must create new scripts for use with extracta. Extract Command File Format The extract command le contains a number of records. Each record is a line of the text le (terminated by an end-of-line character). The following rules apply: I extracta ignores blank lines. I extracta ignores preceding or trailing white space, as well as white space around the selection record operator (= or !). I You can enclose eld names or values in single or double quotes. I Field names, view names, and the OR and END keywords can be in uppercase or lowercase. The case of eld values is left unchanged. <command.txt> Allegro PCB Ed- itor design database (.brd file) extracta <output.txt> <extract.log> Allegro PCB Editor User Guide: Completing the Design Extracting Allegro PCB Editor Views June 2007 45 Product Version 16.0 I Two successive single (or double) quotes means a null string. A null string is needed to choose records that have a data eld with a null (non-existent) value. For example, the x and y coordinates of a components symbol are written as a null value if the component is not placed. Table 3-1 Record Types Comment Records Lines that start with a pound sign (#). Comments are not processed but are written to the log le. Viewname Record The rst line in the leor following an END recordthat is not a comment record or blank line. The record contains the name of the view that denes the type of element to be extracted. For example: COMPONENT The view name is edit checked. Descriptions of the view are provided later in this chapter. Data Field Record Each line that is not a comment, viewname, selection, or OR and END record contains the name of a data eld in the database. For example: COMP_CLASS SYM_NAME Each occurrence of a data eld record causes a eld to be written to the text le for each entity. The names of the data elds specied are included in the rst header record of the output le. The data eld name is checked for validity. See Extract Data Dictionary for legal data eld names. Selection Records Any record that contains an equal sign (=) is a selection record. The format of the selection record is <data_eld> <operator> <data_value>, where <operator> is either = (equal) or != (not equal). Do not include a space between the ! and =. Multiple selection records are implicitly treated as an AND, that is, a record is chosen only if all selection statements are TRUE. For example, to specify legal class and subclass values for a lter, type the following: CLASS = DRAWING FORMAT SUBCLASS = TITLE_BLOCK Allegro PCB Editor User Guide: Completing the Design Extracting Allegro PCB Editor Views June 2007 46 Product Version 16.0 Property Names Property names can be added to command les in the form of data eld records when you want to extract a property from any element that might have that property, or from a specic element type in the view. In your command le, you can specify a property to be extracted by I Specifying the property name alone (Example 1) I Combining the property with an object type (Example 2) Example 1: Property extract The following example command le requests extracta to write out the MIN_LINE_WIDTH property value, a property that may be attached either to clines or nets. With only this information, extracta looks for the property on both the cline and the net that owns the cline, searching in that order. The cline property supercedes the net property in the output. Example 2: Object type property extract Specifying <object_type> and <property_name> causes extracta to look for the property only on that object type, where <object_type> is BOARD, SYM, COMP, FUNC, GEO, NET, PIN, or VIA and <property_name> is the name of the property to be extracted. OR Record A record with only the word OR. The OR record is used to make choose statements connected with an OR rather than the implicit AND. If an entity does not satisfy the selection criteria of the choose statement(s) before the OR, then those after the ORand before the next ORare evaluated. #ExtractMIN_LINE_WIDTH, #wherever it may be: GEOMETRY CLASS SUBCLASS RECORD_TAG GRAPHIC_DATA_NAME GRAPHIC_DATA_NUMBER GRAPHIC_DATA_1 GRAPHIC_DATA_2 MIN_LINE_WIDTH END Property extract Allegro PCB Editor User Guide: Completing the Design Extracting Allegro PCB Editor Views June 2007 47 Product Version 16.0 This example asks for the net MIN_LINE_WIDTH property. In this case, extracta extracts the property only if it is attached to the net: For more information on properties and their denitions, see the Allegro Platform Properties Reference. Property Search Hierarchy When looking for a property that does not have an <object_type> qualier in the command (and therefore may be found on any object in the view), extracta searches the view objects fromthe bottomup. It rst looks for the property on objects owned by the view object, then on the view object itself. Table 3-2 shows the hierarchical order extracta uses when searching for a property. It also shows the prex you attach to a property name in the command le when you want the property to be found only on a particular element types. The extracta program searches for the property from the top of the list. Table 3-2 Hierachical Order the extract Command Uses Element Type Prex Name 1. Standalone Pin PIN_ 2. Symbol Pin PIN_ 3. Function Pin Instance PIN_ 4. Function Pin Denition PIN_ 5. Component Pin Denition PIN_ # Extract MIN_LINE_WIDTH if attached to the net GEOMETRY CLASS SUBCLASS RECORD_TAG GRAPHIC_DATA_NAME GRAPHIC_DATA_NUMBER GRAPHIC_DATA_1 GRAPHIC_DATA_2 NET_MIN_LINE_WIDTH END Net property extract Allegro PCB Editor User Guide: Completing the Design Extracting Allegro PCB Editor Views June 2007 48 Product Version 16.0 Group Properties You can extract the properties attached to groups by adding a GRP_ prex to the property name and including the eld in one of the base views. For example: NET GRP_TOTAL_ETCH_LENGTH END This extracts a record for every net in the design and indicate which nets belong to a group that has a TOTAL_ETCH_LENGTH property attached. 6. Via VIA_ 7. Line GEO_ 8. Cline GEO_ 9. Void GEO_ 10. Shape GEO_ 11. Rectangle GEO_ 12. Filled Rectangle GEO_ 13. Figure GEO_ 14. Text GEO_ 15. Net NET_ 16. Group GRP_ 17. Symbol Instance SYM_ 18. Symbol Denition SYM_ 19. Function Instance FUNC_ 20. Function Denition FUNC_ 21. Component Instance COMP_ 22. Component Denition COMP_ 23. Board BOARD_ Element Type Prex Name Allegro PCB Editor User Guide: Completing the Design Extracting Allegro PCB Editor Views June 2007 49 Product Version 16.0 Multiple Views You can extract multiple views by using multiple END records in the extract command le. The END record delimits multiple extracts from a single command le. An END causes the extracta program to be started with the current view and elds. After completion, it reads the next line in the command le. Note: Succeeding data acquired fromthe database with the extracta command is written to the corresponding output le from the command line. Therefore, when extracting multiple views, you must specify multiple output le names. The following is a sample extract le using multiple views: # Note: # This command file contains two views: # component and component_pin # COMPONENT # COMP_PACKAGE COMP_DEVICE_TYPE COMP_VALUE COMP_TOL REFDES_SORT REFDES # END # # component pin view for the pin data # COMPONENT_PIN # REFDES != NET_NAME != # NET_NAME_SORT NET_NAME REFDES_SORT REFDES PIN_NUMBER_SORT PIN_NUMBER # END Allegro PCB Editor User Guide: Completing the Design Extracting Allegro PCB Editor Views June 2007 50 Product Version 16.0 SORT Data Fields You can sort extracted data les with these data elds: I FUNC_DES_SORT I NET_NAME_SORT I PIN_NUMBER_SORT I REFDES_SORT The extracta command derives each of these data elds from its corresponding original data eld (for example, FUNC_DES_ SORT fromFUNC_DES) by separating the eld into an alphabetic and numeric subeld, and expanding the numeric subeld to a wide, right-justied eld. This assures that a standard sort of the le results in a reasonable sort order. For example, the function designators FUNC1, FUNC2, FUNC3, and FUNC10 sort to: I FUNC1 I FUNC10 I FUNC2 I FUNC3 Note: When using the standard ASCII sort command, all 1s in each column must precede all 2s, and so on. The _SORT data elds overcome this problemby transforming the function designators: FUNC1 to FUNC 00000001, FUNC2 to FUNC 00000002, FUNC3 to FUNC 00000003, FUNC10 to FUNC 00000010, and so on. This results in a sort to: I FUNC 00000001 I FUNC 00000002 I FUNC 00000003 I FUNC 00000010 Use the _SORT elds by putting both the data elds _SORT and the data eld name itself in your command le. Make sure to put the _SORT data eld name rst, so that it controls the sort ordering. You can then read the corresponding (untransformed) FUNC_DES data eld itself for display and printing. Allegro PCB Editor User Guide: Completing the Design Extracting Allegro PCB Editor Views June 2007 51 Product Version 16.0 Baseview Files Allegro PCB Editor provides a number of text les that contain chosen data elds, called baseview les. Baseview (_bv) les are located at \cds\share\pcb\text\views in the install directory of Allegro PCB Editor. Baseview les can assist you in writing a command le since, typically, only one type of data is extracted from your design. For example, all component reference designators or all symbol pin x-y coordinates. As baseview les contain all the basic data elds associated with a particular view, you can include any number of data elds related to an element by simply copying part or all of a .bv le and pasting it into your command le. You can then enter specic values for the data elds (pins with pin number = 1, drill size =.029, and so on). You can also combine selection records. You can extract data using any one of these predened views: Extract Data Dictionary contains all the data elds that you can extract and the views in which they are available. VIEW BASEVIEW FILE BOARD board_bv.txt COMPONENT comp_bv.txt CONNECTIVITY conn_bv.txt COMPOSITE_PAD cpad_bv.txt COMPONENT_PIN cpin_bv.txt FULL_GEOMETRY fgeo_bv.txt FUNCTION func_bv.txt GEOMETRY geo_bv.txt LAYER layer_bv.txt LOGICAL_PIN lpin_bv.txt NET net_bv.txt RAT_PIN rat_bv.txt SYMBOL sym_bv.txt Allegro PCB Editor User Guide: Completing the Design Extracting Allegro PCB Editor Views June 2007 52 Product Version 16.0 Baseview File Contents The following sections show the contents of the baseview les in Allegro PCB Editor. BOARD This view extracts the basic data about the design extents and scaling. extracta supplies the data automatically as the second J record of every extraction, so you usually do not need to extract the data with a separate view le. # # board_baseview - basic fields for the BOARD view # BOARD BOARD_NAME BOARD_ACCURACY BOARD_UNITS BOARD_EXTENTS_X1 BOARD_EXTENTS_Y1 BOARD_EXTENTS_X2 BOARD_EXTENTS_Y2 BOARD_LAYERS BOARD_THICKNESS BOARD_DRC_STATUS BOARD_SCHEMATIC_NAME BOARD_BOARD_THICKNESS END COMPONENT This view extracts components in the design. The basic identier of each record is the reference designator of the component. COMPONENT REFDES_SORT REFDES COMP_CLASS COMP_PACKAGE COMP_DEVICE_TYPE COMP_VALUE COMP_TOL Allegro PCB Editor User Guide: Completing the Design Extracting Allegro PCB Editor Views June 2007 53 Product Version 16.0 COMP_MAX_POWER_DISS_DEVICE COMP_MAX_POWER_DISS_INSTANCE COMP_ALT_SYMBOLS COMP_AUTO_RENAME COMP_COMPONENT_WEIGHT COMP_DENSE_COMPONENT COMP_DEVICE_LABEL COMP_FIX_ALL COMP_HARD_LOCATION COMP_HEIGHT COMP_INSERTION_CODE COMP_MAX_POWER_DISS COMP_NO_MOVE COMP_NO_PIN_ESCAPE COMP_NO_ROUTE COMP_NO_SWAP_COMP COMP_NO_SWAP_GATE COMP_NO_SWAP_GATE_EXT COMP_NO_SWAP_PIN COMP_PART_NUMBER COMP_PIN_ESCAPE COMP_PLACE_TAG COMP_ROOM COMP_TERMINATOR_PACK COMP_VOLTAGE COMP_VOLT_TEMP_MODEL COMP_WIRE_BOND END COMPONENT_PIN This view extracts pins of components in the drawing. The basic identier of each record is the reference designator and pin number of the component pin. The difference between the COMPONENT_PIN view and the LOGICAL_PIN view (described later in this chapter) is that the COMPONENT_PIN view does not include pins of functions not yet assigned to components. Also, common pins (shared between functions) only occur once in the COMPONENT_PIN view, whereas they will occur once per function in the LOGICAL_PIN view. Allegro PCB Editor User Guide: Completing the Design Extracting Allegro PCB Editor Views June 2007 54 Product Version 16.0 This view differs from the COMPOSITE_PAD view (described next) in that there are no vias (or stand-alone pins) included in this view. Also, pins of unplaced components are included in this view and not in the COMPOSITE_PAD view. COMPONENT_PIN REFDES_SORT PIN_NUMBER_SORT REFDES PIN_NUMBER PIN_X PIN_Y PIN_EDITED PIN_COMMON_CODE PIN_SWAP_CODE PIN_TYPE PAD_STACK_NAME NET_NAME PIN_FLOATING_PIN PIN_GROUND PIN_NC PIN_NO_PIN_ESCAPE PIN_NO_SHAPE_CONNECT PIN_NO_SWAP_PIN PIN_PAD_STACK_NAME PIN_PINUSE PIN_PIN_ESCAPE PIN_POWER END COMPOSITE_PAD This view extracts pad data fromsymbol pins and vias in the design. You can use this view to get padstack and drill hole data. COMPOSITE_PAD CLASS PAD_STACK_NAME PAD_STACK_INNER_LAYER PAD_STACK_TYPE GRAPHIC_DATA_NAME GRAPHIC_DATA_NUMBER GRAPHIC_DATA_1 Allegro PCB Editor User Guide: Completing the Design Extracting Allegro PCB Editor Views June 2007 55 Product Version 16.0 GRAPHIC_DATA_2 GRAPHIC_DATA_3 GRAPHIC_DATA_4 START_LAYER_NAME START_LAYER_NUMBER END_LAYER_NAME END_LAYER_NUMBER REFDES PIN_NUMBER PIN_X PIN_Y TEST_POINT VIA_MIRROR VIA_X VIA_Y NET_NAME DRILL_HOLE_NAME DRILL_HOLE_X DRILL_HOLE_Y DRILL_HOLE_PLATING DRILL_ARRAY_ROWS DRILL_ARRAY_COLUMNS DRILL_ARRAY_CLEARANCE DRILL_ARRAY_LOCATIONS DRILL_FIGURE_CHAR DRILL_FIGURE_SHAPE DRILL_FIGURE_WIDTH DRILL_FIGURE_HEIGHT DRILL_FIGURE_ROTATION VIA_NO_SHAPE_CONNECT VIA_PAD_STACK_NAME END CONNECTIVITY This viewextracts data about electrical connections. The nets in the design are used to create records that represent a node or a connection. A node refers to the pins, vias, and Ts that are part of a logical net. A connection refers to ratsnest or etch geometry. The CONNECTIVITY baseview contains the following elds: CONNECTIVITY Allegro PCB Editor User Guide: Completing the Design Extracting Allegro PCB Editor Views June 2007 56 Product Version 16.0 # NET_NAME != RAT_CONNECTED != YES # NET_NAME_SORT NODE_SORT NODE_1_NUMBER NODE_2_NUMBER RECORD_TAG CLASS SUBCLASS NET_NAME GRAPHIC_DATA_NAME GRAPHIC_DATA_NUMBER GRAPHIC_DATA_1 GRAPHIC_DATA_2 GRAPHIC_DATA_3 GRAPHIC_DATA_4 GRAPHIC_DATA_5 GRAPHIC_DATA_6 GRAPHIC_DATA_7 GRAPHIC_DATA_8 GRAPHIC_DATA_9 GRAPHIC_DATA_10 NODE_CONNECTS RAT_CONNECTED REFDES PIN_NUMBER PIN_TYPE PIN_X PIN_Y VIA_X VIA_Y VIA_MIRROR PAD_STACK_NAME START_LAYER_NAME END_LAYER_NAME COMP_DEV_TYPE COMP_TERMINATOR_PACK COMP_VALUE SEG_CAPACITANCE Allegro PCB Editor User Guide: Completing the Design Extracting Allegro PCB Editor Views June 2007 57 Product Version 16.0 SEG_INDUCTANCE SEG_IMPEDANCE SEG_PROPAGATION_DELAY SEG_RESISTANCE END FULL_GEOMETRY This view contains the data in the GEOMETRY view plus detailed pad data. Pad data is dened as the actual pad in use for each subclass of a pin or via. Standard geometries have the appropriate geometry (for example, CIRCLE) as the GRAPHIC_DATA_NAME, as well as their PAD_SHAPE_ NAME. Pads that are arbitrary shapes are presented as a shape. The GRAPHIC_DATA_NAME is LINE (or ARC), and GRAPHIC_DATA_10 is SHAPE. Additionally the PAD_SHAPE_NAME eld contains the shape symbol name (preceded by FIG_SHAPE and space). The SYM_TYPE and SYM_NAME elds still reect information about the parent symbol for pins and are empty strings for vias. FULL_GEOMETRY CLASS SUBCLASS RECORD_TAG GRAPHIC_DATA_NAME GRAPHIC_DATA_NUMBER GRAPHIC_DATA_1 GRAPHIC_DATA_2 GRAPHIC_DATA_3 GRAPHIC_DATA_4 GRAPHIC_DATA_5 GRAPHIC_DATA_6 GRAPHIC_DATA_7 GRAPHIC_DATA_8 GRAPHIC_DATA_9 GRAPHIC_DATA_10 REFDES PIN_NUMBER PAD_STACK_NAME PAD_SHAPE_NAME PAD_TYPE Allegro PCB Editor User Guide: Completing the Design Extracting Allegro PCB Editor Views June 2007 58 Product Version 16.0 PAD_FLASH DRILL_HOLE_X DRILL_HOLE_Y SYM_NAME SYM_TYPE NET_NAME PIN_X PIN_Y VIA_X VIA_Y SEG_CAPACITANCE SEG_IMPEDANCE SEG_INDUCTANCE SEG_PROPAGATION_DELAY SEG_RESISTANCE END FUNCTION This view extracts functions in the drawing. The basic identier in this view is the function designator. If the function is assigned to a component, you can extract any of the components data elds. If the component, in turn, is placed, you can extract any of the symbols data elds. FUNCTION FUNC_DES_SORT FUNC_DES COMP_DEVICE_TYPE FUNC_TYPE REFDES FUNC_SLOT_NAME FUNC_SPARE_FLAG FUNC_GROUP FUNC_HARD_LOCATION FUNC_LOGICAL_PATH END GEOMETRY This view extracts geometric elements of the designthe absolute coordinates of each element, formatted into data elds named GRAPHIC_DATA_n elds. Each n eld has a Allegro PCB Editor User Guide: Completing the Design Extracting Allegro PCB Editor Views June 2007 59 Product Version 16.0 different meaning depending on the type of geometric element it describes. See Extract Data Dictionary for a complete listing. You can also extract any of the properties attached to any geometric element. For example, you can use GEOMETRY view data to extract the following: I Design outline data for N/C router programming I Types of geometry on an etch layer for translation to other systems, such as mechanical analysis systems GEOMETRY CLASS SUBCLASS RECORD_TAG GRAPHIC_DATA_NAME GRAPHIC_DATA_NUMBER GRAPHIC_DATA_1 GRAPHIC_DATA_2 GRAPHIC_DATA_3 GRAPHIC_DATA_4 GRAPHIC_DATA_5 GRAPHIC_DATA_6 GRAPHIC_DATA_7 GRAPHIC_DATA_8 GRAPHIC_DATA_9 GRAPHIC_DATA_10 REFDES NET_NAME SYM_NAME COMP_DEVICE_TYPE SEG_CAPACITANCE SEG_INDUCTANCE SEG_IMPEDANCE SEG_PROPAGATION_DELAY SEG_RESISTANCE GEO_FILLET GEO_SYMBOL_ETCH END Allegro PCB Editor User Guide: Completing the Design Extracting Allegro PCB Editor Views June 2007 60 Product Version 16.0 LAYER This view extracts data about the physical layers (for example, etch, multiwire, or dielectric) in the design. Layer information is obtained from the Cross Section parameter form. LAYER LAYER_SORT LAYER_SUBCLASS LAYER_ARTWORK LAYER_USE LAYER_CONDUCTOR LAYER_DIELECTRIC_CONSTANT LAYER_ELECTRICAL_CONDUCTIVITY LAYER_LOSS_TANGENT LAYER_MATERIAL LAYER_SHIELD_LAYER LAYER_THERMAL_CONDUCTIVITY LAYER_THICKNESS LAYER_TYPE END LOGICAL_PIN This view extracts function pins in the drawing. The difference between the LOGICAL_PIN view and the COMPONENT_PIN view (previously described) is that the COMPONENT_PIN view does not include pins of unassigned functions (functions not assigned to components). Also, common pins (shared between functions) occur only once in the component pin view, whereas they occur once per function in the logical pin view. The LOGICAL_PIN view does not include non-function pins, such as power, ground, and no-connect pins. LOGICAL_PIN FUNC_DES_SORT PIN_NAME FUNC_DES REFDES PIN_NUMBER PIN_X PIN_Y PIN_EDITED PIN_COMMON_CODE PIN_SWAP_CODE PIN_TYPE PAD_STACK_NAME Allegro PCB Editor User Guide: Completing the Design Extracting Allegro PCB Editor Views June 2007 61 Product Version 16.0 NET_NAME PIN_FLOATING_PIN PIN_GROUND PIN_NC PIN_NO_PIN_ESCAPE PIN_NO_SHAPE_CONNECT PIN_NO_SWAP_PIN PIN_PAD_STACK_NAME PIN_PINUSE PIN_ESCAPE PIN_POWER END NET This view extracts net information fromthe design. The identier in this view is the net name. You can use this view to extract all properties related to the nets (but not pins of nets; use LOGICAL_PIN or COMPONENT_PIN views for that). NET NET_NAME_SORT NET_NAME NET_STATUS NET_CAPACITANCE NET_ETCH_LENGTH NET_ETCH_WIDTH_AVERAGE NET_IMPEDANCE_AVERAGE NET_IMPEDANCE_MAXIMUM NET_IMPEDANCE_MINIMUM NET_INDUCTANCE NET_MANHATTAN_LENGTH NET_MANHATTEN_LENGTH NET_PATH_LENGTH NET_PROPAGATION_DELAY NET_RESISTANCE NET_VIA_COUNT NET_BUS_NAME NET_PHYSICAL_TYPE NET_PROPAGATION_DELAY NET_DIFFERENTIAL_PAIR NET_DIFFP_2ND_LENGTH Allegro PCB Editor User Guide: Completing the Design Extracting Allegro PCB Editor Views June 2007 62 Product Version 16.0 NET_DIFFP_LENGTH_TOL NET_DRIVER_TERM_VAL NET_ECL NET_ECL_TEMP NET_EXTERNAL_NOISE NET_FIXED NET_LOAD_TERM_VAL NET_RELATIVE_PROPAGATION_DELAY NET_MAX_BOND_LENGTH NET_MAX_BVIA_STAGGER NET_MAX_EXT_NPOSE NET_MAX_FINAL_SETTLE NET_MAX_FIRST_SWITCH NET_MAX_OHM_LOSS NET_MAX_OVERSHOOT NET_MAX_PARALLEL NET_MAX_PEAK_BXTALK NET_MAX_PEAK_FXTALK NET_MAX_PROP_DELAY MET_MAX_SUM_BXTALK NET_MAX_SUM_FXTALK NET_MAX_THERM_SHIFT NET_MAX_UNDERSHOOT NET_MAX_VIA_COUNT NET_MIN_BOND_LENGTH NET_MIN_BVIA_GAP NET_MIN_BVIA_STAGGER NET_MIN_LINE_WIDTH NET_MIN_NECH_WIDTH NET_MIN_NOISE_MARGIN NET_MIN_PROP_DELAYT NET_NET_PHYSICAL_TYPE NET_NET_SPACING_TYPE NET_NO_GLOSS NET_NO_PIN_ESCAPE NET_NO_RAT NET_NO_RIPUP NET_NO_ROUTE NET_NO_TEST Allegro PCB Editor User Guide: Completing the Design Extracting Allegro PCB Editor Views June 2007 63 Product Version 16.0 NET_PROBE_NUMBER NET_RATSNEST_SCHEDULE NET_ROUTE_PRIORITY NET_ROUTE_TO_SHAPE NET_SAME_NET NET_SPACING_TYPE NET_STUB_LENGTH NET_TS_ALLOWED NET_VIA_LIST NET_VOLTAGE NET_WEIGHT END RAT_PIN This view extracts the COMPONENT_PIN view with NET_RAT_ SCHEDULE. This view is useful for retrieving the ratsnesting for a net. COMPONENT_PIN NET_NAME_SORT NET_RAT_SCHEDULE NET_NAME REFDES PIN_NUMBER PIN_X PIN_Y END SYMBOL The basic identier in this view is the symbol name (for example, DIP14). Use this view to extract symbol data from the design, whether or not the symbol has a component assigned to it. SYMBOL SYM_TYPE SYM_NAME REFDES SYM_BOX_X1 SYM_BOX_X2 SYM_BOX_Y1 SYM_BOX_Y2 Allegro PCB Editor User Guide: Completing the Design Extracting Allegro PCB Editor Views June 2007 64 Product Version 16.0 SYM_CENTER_X SYM_CENTER_Y SYM_EXTENTS_X1 SYM_EXTENTS_X2 SYM_EXTENTS_Y1 SYM_EXTENTS_Y2 SYM_HAS_PIN_EDIT SYM_MIRROR SYM_ROTATE SYM_X SYM_Y SYM_LIBRARY_PATH SYM_SHAPE_X_OFF SYM_SHAPE_Y_OFF END The extracta Output File The extracta command generates a text le that contains two header records followed by one data record per extracted element. Each record in the le starts with a record-type character. I The rst record starts with the letter A I The second record starts with the letter J I Subsequent records start with the letter S The reason for these record-type characters is that many processes require you to sort the le before further processing. Assuming you use a simple ascending, whole-record sort, the Arecord always sorts to the leading record and the Jrecord next, followed by all the S records. These characters also allow for the future denition of other types of data records. The standard separator character between every eld in all records is the exclamation point (!). Three types of records exist: A, J, and S records. A Records The rst record starts with the letter A. This record contains the labels for each data eld extracta writes in each of the data records of the le. The labels are the same as the data Allegro PCB Editor User Guide: Completing the Design Extracting Allegro PCB Editor Views June 2007 65 Product Version 16.0 eld names in the extracta command le. (Some exceptions include cases where the view writes a xed set of data elds and their corresponding names to the A record.) J Records The second record starts with the letter J. This sample record contains the following global data about the Allegro PCB Editor design as described in the table. A!REFDES!COMP_DEVICE_TYPE! J!name.brd!Mon May 6 15:21:43 2003!0!0!11000!8500!1!mils!MIKEY!35.2876 mil!4!OUT OF DATE! S!U3!7400! S!U5!CAPA! Field position Description Syntax of Example 1 Design name name.brd 2 Extracta execution date Mon May 6 15:21:43 2003 3 Drawing extents of the right x coordinate: left X 0 4 Drawing extents of the left x coordinate: lower Y 0 5 Drawing extents of the upper y coordinate: right X 11000 6 Drawing extents of the lower y coordinate: upper Y 8500 7 Database accuracy (the user units of the minimum incremental distance in the drawing) 1 8 Units of measurement used in the database as a text string (mils, millimeters, etc.) mils 9 Value, if any, of the BOARD_SCHEMATIC_NAME property MIKEY 10 Value, if any, of the BOARD_THICKNESS property 35.2876 mil Allegro PCB Editor User Guide: Completing the Design Extracting Allegro PCB Editor Views June 2007 66 Product Version 16.0 S Records Subsequent records in the le start with the letter S and contain the data values for the elds named in the A-record, in the same order as it gives the names. Sample Output Files The examples below illustrate output generated by three command les, extracting data from the same design database. Note the use of the -t switch in the rst example. Example 1: Using the GEOMETRY View The extracta command le brd_outline_view.txt # View name: GEOMETRY # Select: CLASS = BOARD GEOMETRY SUBCLASS = OUTLINE # Requested datafields: CLASS SUBCLASS RECORD_TAG GRAPHIC_DATA_NAME GRAPHIC_DATA_NUMBER GRAPHIC_DATA_1 GRAPHIC_DATA_2 GRAPHIC_DATA_3 GRAPHIC_DATA_4 GRAPHIC_DATA_5 GRAPHIC_DATA_6 GRAPHIC_DATA_7 GRAPHIC_DATA_8 GRAPHIC_DATA_9 END 11 Number of etch/wire layers in the design 4 12 BOARD_DRC_STATUS eld OUT OF DATE Allegro PCB Editor User Guide: Completing the Design Extracting Allegro PCB Editor Views June 2007 67 Product Version 16.0 when used in the following command: extracta -t test_board brd_outline_view outline creates a le called outline.txt: A!CLASS!SUBCLASS!RECORD_TAG!GRAPHIC_DATA_NAME!GRAPHIC_DATA_NUMBER !GRAPHIC_DATA_1!GRAPHIC_DATA_2!GRAPHIC_DATA_3 !GRAPHIC_DATA_4!GRAPHIC_DATA_5!GRAPHIC_DATA_6 !GRAPHIC_DATA_7!GRAPHIC_DATA_8!GRAPHIC_DATA_9! J!/usr2/bud/test_board.brd !Mon May 6 15:34:52 1991!-1500!-1500!4000!4500!1!mils!!! S!BOARD GEOMETRY!OUTLINE!7 1!LINE!257!-300!3200!3700!3200!0!!!!! S!BOARD GEOMETRY!OUTLINE!7 2!LINE!257!-300!1200!-300!3200!0!!!!! S!BOARD GEOMETRY!OUTLINE!7 3!LINE!257!-200!1200!-300!1200!0!!!!! S!BOARD GEOMETRY!OUTLINE!7 4!LINE!257!-200!1100!-200!1200!0!!!!! S!BOARD GEOMETRY!OUTLINE!7 5!LINE!257!3600!1100!-200!1100!0!!!!! S!BOARD GEOMETRY!OUTLINE!7 6!LINE!257!3600!1200!3600!1100!0!!!!! S!BOARD GEOMETRY!OUTLINE!7 7!LINE!257!3700!1200!3600!1200!0!!!!! S!BOARD GEOMETRY!OUTLINE!7 8!LINE!257!3700!3200!3700!1200!0!!!!!S!BOARD GEOMETRY!OUTLINE!8 1!TEXT!260!300!3000!0.000!NO!LEFT !8 0 100 75 0.000 25 125 0!BOARD GEOMETRY OUTLINE:!!! Note: The A-, J-, and the last S-record are broken into several lines for clarity; extracta never breaks records into multiple lines. This data can be used to create a numerical control program to drive a routing machine for cutting boards from raw stock. Note that the outline LINE records all have the same major element number (7) in their RECORD_TAGdata eld. extracta lists themthis way whether the lines were added as separate elements or with a single add_line command (unless the -t option is used). Example 2: A Formatted Netlist Report In this example, you can extract data about the pins and their net assignments in the design, then create a readable netlist report using the sort utility programs. (See SORT Data Fields for details.) The extracta command le net_view.txt # # View name: # LOGICAL_PIN # Allegro PCB Editor User Guide: Completing the Design Extracting Allegro PCB Editor Views June 2007 68 Product Version 16.0 # Select only non-blank nets: # NET_NAME != # # Datafields: # NET_NAME_SORT REFDES_SORT PIN_NUMBER_SORT FUNC_DES_SORT PIN_NAME REFDES FUNC_DES PIN_NUMBER NET_NAME # end of net_view.txt END when used in the following command: extracta test_board net_view net_pin creates a le called net_pin.txt: A!NET_NAME_SORT!REFDES_SORT!PIN_NUMBER_SORT!FUNC_DES_SORT !PIN_NAME!REFDES!FUNC_DES!PIN_NUMBER!NET_NAME! J!/usr2/bud/test_board.brd!Mon May 6 09:22:02 1991 !-1500!-1500!4000!4500!1!mils!!! S!TP 00000001!TP 00000001! 00000001!F 00000009!CON PIN!TP1!F9!1!TP1! S!TN- 00000006!R 00000001! 00000002!F 00000001!B!R1!F1!2!TN-6! S!TN- 00000005!R 00000001! 00000001!F 00000001!A!R1!F1!1!TN-5! S!TN- 00000008!R 00000002! 00000002!F 00000002!B!R2!F2!2!TN-8! S!TN- 00000010!R 00000003! 00000002!F 00000003!B!R3!F3!2!TN-10! S!TN- 00000012!R 00000004! 00000002!F 00000004!B!R4!F4!2!TN-12! S!TN- 00000014!R 00000005! 00000002!F 00000005!B!R5!F5!2!TN-14! S!TN- 00000013!R 00000005! 00000001!F 00000005!A!R5!F5!1!TN-13! S!TN-00000008!J00000001! 00000022!F 00000031!CON PIN!J1!F31!22!TN-8! S!TN-00000014!J00000001!00000021!F00000030!CON PIN!J1!F30!21!TN-14! S!TN-00000006!J00000001! 00000020!F 00000029!CON PIN!J1!F29!20!TN-6! Allegro PCB Editor User Guide: Completing the Design Extracting Allegro PCB Editor Views June 2007 69 Product Version 16.0 S!TN-00000012!J00000001!00000016!F 00000025!CON PIN!J1!F25!16!TN-12! S!TN-00000010!J00000001!00000023!F 00000020!CON PIN!J1!F20!23!TN-10! S!TN-00000022!J00000001! 00000008!F 00000017!CON PIN!J1!F17!8!TN-22! S!TN-00000022!J00000001! 00000007!F 00000016!CON PIN!J1!F16!7!TN-22! S!VCC!J 00000001! 00000001!F 00000014!CON-PIN!J1!F14!1!VCC! S!VCC!J 00000001! 00000003!F 00000012!CON-PIN!J1!F12!3!VCC! S!GND!U 00000003! 00000010!!!U3!!10!GND! S!VCC!U 00000003! 00000020!!!U3!!20!VCC! S!TP 00000001!U 00000003! 00000016!F 00000045!D!U3!F45!16!TP1! S!TN- 00000004!U 00000003! 00000017!F 00000045!Q!U3!F45!17!TN 4! S!TN- 00000005!U 00000003! 00000014!F 00000042!D!U3!F42!14!TN 5! S!TN- 00000013!U 00000003! 00000015!F 00000042!Q!U3!F42!15!TN 13! S!GND!U 00000001! 00000007!!!U1!!7!GND! S!VCC!U 00000001! 00000014!!!U1!!14!VCC! S!TP 00000001!U 00000001! 00000010!F 00000036!B!U1!F36!10!TP1! S!TN- 00000028!U 00000001! 00000002!F 00000035!B!U1!F35!2!TN 28! S!TN- 00000028!U 00000001! 00000004!F 00000034!A!U1!F34!4!TN 28! S!TN- 00000028!U 00000001! 00000005!F 00000034!B!U1!F34!5!TN-28! Note that the A and J records are broken into several lines for clarity; extracta never breaks records into multiple lines. Example 3: Etch Line Coordinates; GEOMETRY View The extracta command le etch_view.txt # # Allegro PCB Editor Data Extract Sample # Extract Command File # Extracts all ETCH elements # # View Name: GEOMETRY Allegro PCB Editor User Guide: Completing the Design Extracting Allegro PCB Editor Views June 2007 70 Product Version 16.0 # # Select: CLASS = ETCH# # Data fields to be written out: CLASS SUBCLASS NET_N AME_SORT NET_NAME RECORD_TAG GRAPHIC_DATA_NAME GRAPHIC_DATA_NUMBER GRAPHIC_DATA_1 GRAPHIC_DATA_2 GRAPHIC_DATA_3 GRAPHIC_DATA_4 GRAPHIC_DATA_5 GRAPHIC_DATA_6 GRAPHIC_DATA_7 GRAPHIC_DATA_8 GRAPHIC_DATA_9 GRAPHIC_DATA_10 # End of Command File END when used in the following command: extracta test_board etch_view etch_dat creates a le called etch_dat.txt: A!CLASS!SUBCLASS!NET_NAME_SORT!NET_NAME!RECORD_TAG !GRAPHIC_DATA_NAME!GRAPHIC_DATA_NUMBER !GRAPHIC_DATA_1!GRAPHIC_DATA_2!GRAPHIC_DATA_3!GRAPHIC_DATA_4 !GRAPHIC_DATA_5!GRAPHIC_DATA_6!GRAPHIC_DATA_7!GRAPHIC_DATA_8 !GRAPHIC_DATA_9! J!/usr2/bud/test_board.brd!Mon May 6 10:12:27 1991 !-1500!-1500!4000!4500!1!mils!!! S!ETCH!TOP!TP 00000001!TP1!1 1!LINE!257!1500!2300!1450!2250!12! S!ETCH!TOP!TP 00000001!TP1!1 2!LINE!257!1450!2250!1175!2250!12! S!ETCH!TOP!TP 00000001!TP1!1 Allegro PCB Editor User Guide: Completing the Design Extracting Allegro PCB Editor Views June 2007 71 Product Version 16.0 3!LINE!257!1175!2250!1125!2300!12! S!ETCH!TOP!TP 00000001!TP1!1 4!LINE!257!1125!2300!900!2300!12! S!ETCH!TOP!TP 00000001!TP1!2 1!LINE!257!600!2300!900!2300!12! S!ETCH!BOTTOM!TN- 00000028!TN-28!3 1!LINE!257!1200!2600!1250!2550!12! S!ETCH!BOTTOM!TN- 00000028!TN-28!3 2!LINE!257!1250!2550!1250!2450!12! S!ETCH!BOTTOM!TN- 00000028!TN-28!3 3!LINE!257!1250!2450!1200!2400!12! S!ETCH!BOTTOM!TN- 00000028!TN-28!4 1!LINE!257!1200!2300!1200!2400!12! S!ETCH!BOTTOM!TN- 00000013!TN-13!5 1!LINE!257!1125!2350!975!2350!12! S!ETCH!BOTTOM!TN- 00000013!TN-13!5 2!LINE!257!975!2350!950!2375!12! S!ETCH!BOTTOM!TN- 00000013!TN-13!53!LINE!257!950!2375!850!2375!12! S!ETCH!BOTTOM!TN- 00000013!TN-13!5 4!LINE!257!850!2375!825!2350!12! S!ETCH!BOTTOM!TN- 00000013!TN-13!5 5!LINE!257!825!2350!700!2350!12! S!ETCH!BOTTOM!TN- 00000013!TN-13!5 6!LINE!257!700!2350!675!2325!12!S!ETCH!BOTTOM!TN-00000013!TN-13!5 7!LINE!257!675! 2325!675!2200!12! S!ETCH!TOP!TN- 00000013!TN-13!6 1!LINE!257!600!2200!675!2200!12!50 Note that the A and Jrecords are broken into several lines for clarity; extracta never breaks records into multiple lines. This data can be used, for example, as input to a program to plot a drawing on a plotter not supported by Allegro PCB Editor. Allegro PCB Editor User Guide: Completing the Design Extracting Allegro PCB Editor Views June 2007 72 Product Version 16.0 Allegro PCB Editor User Guide: Completing the Design June 2007 73 Product Version 16.0 4 Extract Data Dictionary This section contains descriptions of data elds used by Allegro PCB Editor views and the extracta command. Data elds that identify database views are listed and described in alphabetical order. The Data Dictionary includes all data elds that you can extract and their available views. Legal views are: This chapter discusses the following: I Data Fields and Legal Views I Data Field Descriptions Data Fields and Legal Views This section provides a short description of each data eld. See Data Field Descriptions on page 80 for a comprehensive description. A = COMPONENT G = GEOMETRY B = COMPONENT_PIN H = FULL_GEOMETRY C = FUNCTION I = SYMBOL D = LOGICAL_PIN J = BOARD E = NET K = CONNECTIVITY F = COMPOSITE_PAD L = LAYER Data Field Description Legal Views APADFLASH anti-pad ash name ABCDEFGHIJKL APADHGHT anti-pad height ABCDEFGHIJKL APADSHAPE1 anti-pad geometry ABCDEFGHIJKL Allegro PCB Editor User Guide: Completing the Design Extract Data Dictionary June 2007 74 Product Version 16.0 APADSHAPENAME anti-pad shape name ABCDEFGHIJKL APADWIDTH anti-pad width ABCDEFGHIJKL APADXOFF anti-pad x offset ABCDEFGHIJKL APADYOFF anti-pad y offset ABCDEFGHIJKL BOARD_ACCURACY accuracy of unit measurements ABCDEFGHIJKL BOARD_DRC_STATUS (UP_TO_DATE/OUT_OF_DATE) ABCDEFGHIJKL BOARD_EXTENTS_X1 board extents low left-X ABCDEFGHIJKL BACKDRILL_TOP_LAYER layer to which to backdrill from the top side B, D, F, H BACKDRILL_BOTTOM_LAYER layer to which to backdrill from the bottom side B, D, F, H BOARD_EXTENTS_Y1 board extents low left-Y ABCDEFGHIJKL BOARD_EXTENTS_X2 board extents up right-X ABCDEFGHIJKL BOARD_EXTENTS_Y2 board extents up right-Y ABCDEFGHIJKL BOARD_LAYERS etch layers in the board ABCDEFGHIJKL BOARD_NAME name of the drawing ABCDEFGHIJKL BOARD_UNITS units used in the drawing ABCDEFGHIJKL CLASS class of entity .B.C..FGH..K. COMP_CLASS component class (IC, IO, etc.) ABCD.FG.I.K COMP_DEVICE_TYPE component device type ABCD.FG.I.K COMP_MAX_POWER_DISS_ DEVICE_INSTNCE maximum power dissipation maximum power diss - from device maximum power diss - from inst only ABCD.FGHI.K ABCD.FGHI.K ABCD.FGHI.K COMP_PACKAGE component package name ABCD.FG.I.K DRILL_FIGURE_CHAR drill hole gure character .B.D.F.H. DRILL_FIGURE_HEIGHT drill hole gure height .B.D.F.H. DRILL_FIGURE_ROTATION drill hole gure rotation .B.D.F.H. Data Field Description Legal Views Allegro PCB Editor User Guide: Completing the Design Extract Data Dictionary June 2007 75 Product Version 16.0 DRILL_FIGURE_SHAPE drill hole gure shape .B.D.F.H. DRILL_FIGURE_WIDTH drill hole gure width .B.D.F.H.. DRILL_HOLE_NAME drill hole name .B.D.F.H. DRILL_HOLE_NAME2 slot minor dimension .B.D.F.H. DRILL_HOLE_NEGTOL drill hole negative tolerance .B.D.F.H DRILL_HOLE_PLATING drill hole plating information .B.D.F.H. DRILL_HOLE_POSTOL drill hole positive tolerance .B.D.F.H DRILL_HOLE_X drill hole xcoordinate .B.D.F.H. DRILL_HOLE_Y drill hole ycoordinate .B.D.F.H. DRILL_ARRAY_ROWS drill hole array row coordinates (plural vias) .B.D.F.H. DRILL_ARRAY_COLUMNS drill hole array column coordinates (plural vias) .B.D.F.H. DRILL_ARRAY_CLEARANCE drill hole clearances in arrays (plural vias) .B.D.F.H. DRILL_ARRAY_LOCATIONS drill hole locations in format X1, Y1, X2, Y2... (plural vias) .B.D.F.H. END_LAYER_NAME end layer (subclass) name .B.D.F END_LAYER_NUMBER end layer number .B.D.F FIXFLAG internal layer xed or optional (f = xed, o = optional) ABCDEFGHIJKL FUNC_DES function designator .BCD.F FUNC_DES_SORT function designatorfor sort .BCD.F FUNC_SLOT_NAME function slot name .BCD.F FUNC_TYPE function type .BCD.F GRAPHIC_DATA_NAME graphic element name .B.D.FGH...K GRAPHIC_DATA_NUMBER graphic element number .B.D.FGH...K GRAPHIC_DATA_1 graphic data eld 1 .B.D.FGH...K GRAPHIC_DATA_2 graphic data eld 2 .B.D.FGH...K Data Field Description Legal Views Allegro PCB Editor User Guide: Completing the Design Extract Data Dictionary June 2007 76 Product Version 16.0 GRAPHIC_DATA_3 graphic data eld 3 .B.D.FGH...K GRAPHIC_DATA_4 graphic data eld 4 .B.D.FGH...K GRAPHIC_DATA_5 graphic data eld 5 .B.D.FGH...K GRAPHIC_DATA_6 graphic data eld 6 .B.D.FGH...K GRAPHIC_DATA_7 graphic data eld 7 .B.D.FGH...K GRAPHIC_DATA_8 graphic data eld 8 .B.D.FGH...K GRAPHIC_DATA_9 graphic data eld 9 .B.D.FGH...K GRAPHIC_DATA_10 graphic data eld 10 .B.D.FGH...K LAYER layer name ..........L LAYER_ARTWORK POSITIVE, NEGATIVE, or blank ..........L LAYER_CONDUCTOR species YES/NO for conductor layer ..........L LAYER_DIELECTRIC_CONSTANT dielectric constant ..........L LAYER_ELECTRICAL_ CONDUCTIVITY electrical conductivity ..........L LAYER_MATERIAL species material type ..........L LAYER_LOSS_TANGENT represents energy lost ..........L LAYER_SORT sorts layer data ..........L LAYER_SUBCLASS subclass name ..........L LAYER_SHIELD_LAYER YES indicates a shield layer ..........L LAYER_THERMAL_CONDUCTIVIT Y thermal conductivity ..........L LAYER_THICKNESS layer thickness ..........L LAYER_TYPE basic layer type in cross-section ..........L LAYER_USE EMBEDDED_PLANE ..........L NET_CAPACITANCE capacitance of total net .B.DEFGH..K NET_ETCH_LENGTH total etch (only) length on a net .B.DEFGH..K NET_ETCH_WIDTH_AVERAGE average width of net .B.DEFGH..K Data Field Description Legal Views Allegro PCB Editor User Guide: Completing the Design Extract Data Dictionary June 2007 77 Product Version 16.0 NET_IMPEDANCE_AVERAGE average impedance of net .B.DEFGH..K NET_IMPEDANCE_MAXIMUM maximum impedance of segment .B.DEFGH..K NET_IMPEDANCE_MINIMUM minimum impedance of segment .B.DEFGH..K NET_INDUCTANCE inductance of total net .B.DEFGH..K NET_MANHATTAN_LENGTH total Manhattan connect length .B.DEFGH..K NET_NAME net name .B.DEFGH..K NET_NAME_SORT net name - for sort .B.DEFGH..K NET_PATH_LENGTH length of etch + Manhattan rats .B.DEFGH..K NET_PROPAGATION_DELAY_ ACTUAL calculated propagation delay on the net .B.DEFGH..K NET_RAT_CONNECT sort eld for connectivity .B NET_RAT_SCHEDULE net ratsnest schedule .B NET_RESISTANCE resistance of total net .B.DEFGH..K NET_STATUS net (RAT) status .B.DEFGH..K NET_VIA_COUNT number of vias in a net .B.DEFGH..K NODE_CONNECTS number of connections .B.D.FGH..K. NODE_1_NUMBER used for connectivity view ..........K. NODE_2_NUMBER used for connectivity view ..........K. NODE_SORT used for connectivity view ..........K. PAD_FLASH pad ash name .B.D.F.H..K PADHGHT pad height .B.D.F.H..K PADSHAPE1 pad geometry .B.D.F.H..K PAD_SHAPE_NAME pad shape name .B.D.F.H..K PAD_STACK_ NAME padstack name .B.D.F.H..K PAD_STACK_SOURCE_NAME Blank for normal padstacks and the name of the "derived from" padstack for instance-edited padstacks. .B.D.F.H..K PAD_TYPE pad type .B.D.F.H..K Data Field Description Legal Views Allegro PCB Editor User Guide: Completing the Design Extract Data Dictionary June 2007 78 Product Version 16.0 PADWIDTH pad width .B.D.F.H..K PADXOFF X offset for pad .B.D.F.H..K PADYOFF Y offset for pad .B.D.F.H..K PIN_COMMON_CODE common pin if non-blank .B.D.FG.H..K PIN_EDITED YES=pin has been instance edited .B.D.FGH..K PIN_NAME pin name .B.D.FGH..K PIN_NUMBER pin number .B.D.FGH..K PIN_NUMBER_SORT pin numberfor sort .B.D.FGH..K PIN_ROTATION rotation of the pin, in degrees, relative to its symbol. This is essentially the rotation of the pin as it exists in the symbol'sdrawing (.dra) database .B.D.FGH..K PIN_ROTATION_ABSOLUTE rotation of the pin, in degrees, relative to the actual drawing. This takes into account, for instance, the rotation of the symbol as well as the rotation of the pin. .B.D.FGH..K PIN_SWAP_CODE pin swap code .B.D.FGH..K PIN_TYPE pin type .B.D.FGH..K PIN_X pin absolute xcoordinate .B.D.FGH..K PIN_Y pin absolute ycoordinate .B.D.FGH..K RAT_CONNECTED YES/NO for ratsnest is connected ..........K. REC_NUMBER record of what is being output for a particular padstack ......GH..K RECORD_TAG record association tag ......GH..K REFDES reference designator ABCD.FG.I.K REFDES_SORT reference designator - for sort ABCD.FGHI.K Data Field Description Legal Views Allegro PCB Editor User Guide: Completing the Design Extract Data Dictionary June 2007 79 Product Version 16.0 SEG_CAPACITANCE capacitance of an etch segment ......GH..K SEG_IMPEDANCE impedance of an etch segment ......GH..K SEG_INDUCTANCE inductance of an etch segment ......GH..K SEG_PROPAGATION_DELAY propagation delay ......GH..K SEG_RESISTANCE resistance of an etch segment ......GH..K START_LAYER_NAME start layer (subclass) name .B.D.F.H..K START_LAYER_NUMBER start layer number .B.D.F.H..K SUBCLASS subclass of entity ......GH SYM_BOX_X1 symbol bounding box low leftX ABCD.FGHI.K SYM_BOX_Y1 symbol bounding box low leftY ABCD.FGHI.K SYM_BOX_X2 symbol bounding box low leftX ABCD.FGHI.K SYM_BOX_Y2 symbol bounding box low leftY ABCD.FGHI.K SYM_CENTER_X symbol body center xcoordinate ABCD.FGHI.K SYM_CENTER_Y symbol body center ycoordinate ABCD.FGHI.K SYM_EXTENTS_X1 symbol extents low leftX ABCD.FGHI.K SYM_EXTENTS_Y1 symbol extents low leftX ABCD.FGHI.K SYM_EXTENTS_X2 symbol extents up rightX ABCD.FGHI.K SYM_EXTENTS_Y2 symbol extents up rightY ABCD.FGHI.K SYM_HAS_PIN_EDIT YES=symbol has an edited pin ABCD.FGHI.K SYM_MIRROR symbol mirror ag ABCD.FGHI.K SYM_NAME symbol name ABCD.FGHI.K SYM_ROTATE symbol rotation angle ABCD.FGHI.K SYM_TYPE MECHANICAL, PACKAGE, or FORMAT ABCD.FGHI.K SYM_X symbol xcoordinate ABCD.FGHI.K SYM_Y symbol ycoordinate ABCD.FGHI.K TEST_POINT pin/via test point code .B.FGH. . .K TRELFLASH thermal relief ash name .B.D.F.H..K Data Field Description Legal Views Allegro PCB Editor User Guide: Completing the Design Extract Data Dictionary June 2007 80 Product Version 16.0 Data Field Descriptions APADFLASH The anti-pad ash name. APADHGHT The anti-pad height. APADSHAPE1 The anti-pad geometry. APADSHAPENAME The anti-pad shape name. APADWIDTH The anti-pad width. APADXOFF The anti-pad X offset. TRELHGHT thermal relief height .B.D.F.H..K TRELSHAPE1 thermal relief geometry .B.D.F.H..K TRELSHAPENAME thermal relief shape name .B.D.F.H..K TRELWIDTH thermal relief width .B.D.F.H..K TRELXOFF thermal relief x offset .B.D.F.H..K TRELYOFF thermal relief y offset .B.D.F.H..K VIAFLAG suface mount or though hole type . . . . .FGH. . K VIA_MIRROR YES=via is mirrored . . . . .FGH. . K VIA_X via xcoordinate . . . . .FGH . .K VIA_Y via ycoordinate . . . . .FGH. . K Data Field Description Legal Views Allegro PCB Editor User Guide: Completing the Design Extract Data Dictionary June 2007 81 Product Version 16.0 APADYOFF The anti-pad Y offset. BACKDRILL_TOP_LAYER The layer to which to backdrill fromthe top side. The top of the design is layer number 0, and the bottom is the total number of layers minus one. For example, a 4-layer design contains layers 0 through 3. If no backdrilling occurs for a pin or via froma side, the extract value is null. BACKDRILL_BOTTOM_LAYER The layer to which to backdrill from the bottom side. The top of the design is layer number 0, and the bottom is the total number of layers minus one. For example, a 4-layer design contains layers 0 through 3. f no backdrilling occurs for a pin or via from a side, the extract value is null. BOARD_ACCURACY The accuracy of the designthe user units of one database unit. For example, if the design is in inches with two decimal places, the accuracy will be .01 (inches). This eld is written into all les as part of the J header record. BOARD_DRC_STATUS The current DRC status of the design. This eld is OUT_OF_DATE if a batch DRC needs to be run. The design can become OUT_OF_DATE by skipping DRC of shapes or by canceling out of a DRC. If no DRC is required the eld is UP_TO_DATE. BOARD_EXTENTS_X1 BOARD_EXTENTS_X2 BOARD_EXTENTS_Y1 BOARD_EXTENTS_Y2 The lower left (X1, Y1) and upper right (X2, Y2) of the extents of the design in user units. Note, this denes the minimumand maximumcoordinates that can be used in the drawing; it does not indicate the actual extent of the design outline or any other geometry. This eld is written into all les as part of the J header record. BOARD_NAME The drawing name. This eld is written into all les as part of the J header record. Allegro PCB Editor User Guide: Completing the Design Extract Data Dictionary June 2007 82 Product Version 16.0 BOARD_LAYERS The total number of etch/wire layers in the design. This is the total number of subclasses dened for class etch. BOARD_UNITS The units used for specifying distance values and position coordinates. Units can be mils, inches, millimeters, centimeters, or microns. This eld is written into all les as part of the J header record. CLASS The class of the entity. Normally this eld is for geometry, and indicates the type of geometry (ETCH, PACKAGE GEOMETRY, BOARD GEOMETRY, and so on). It is also used to indicate pins versus vias in the PAD and COMPOSITE PAD views (PIN for pins, VIA CLASS for vias). Legal values for the CLASS data eld are listed below. To specify a legal value in a lter Type CLASS=BOARD GEOMETRY ANALYSIS BOARD GEOMETRY COMPONENT VALUE DEVICE TYPE DRAWING FORMAT DRC ERROR CLASS ETCH MANUFACTURING PACKAGE GEOMETRY PACKAGE KEEPIN PACKAGE KEEPOUT PIN REF DES ROUTE KEEPIN ROUTE KEEPOUT TOLERANCE USER PART NUMBER VIA CLASS VIA KEEPOUT Allegro PCB Editor User Guide: Completing the Design Extract Data Dictionary June 2007 83 Product Version 16.0 COMP_CLASS The class of the component: IC, IO, or DISCRETE. COMP_DEVICE_TYPE The device type of the component. The device type is dened for the component during Netlist In. COMP_MAX_POWER_DISS The maximum power dissipation in watts for a component as dened by the MAX_POWER_DISS property dened for refdes instances. If this property has not been set on a refdes, then the PACKAGEPROP MAX_POWER_DISS from the device le during Netlist In, if it exists, will be used. The maximum power dissipation in watts for the component. COMP_MAX_POWER_DISS_DEVICE The _DEVICE sufx on the COMP_MAX_POWER_DISS data eld retrieves data from only component denitions. COMP_MAX_POWER_ DISS_INSTANCE The _INSTANCE sufx on the COMP_MAX_POWER_DISS data eld retrieves data from only a specic reference designator. COMP_PACKAGE The package to which the component is assigned. The package is dened for the component during Netlist In. This eld exists for all components. After a component has been placed on the design, a symbol that has the same name as the package is used to represent it. For placed symbols, the symbol name is always the same as the package name. DRILL_FIGURE_CHAR The character to display with the graphic gure that represents a drill hole. DRILL_FIGURE _HEIGHT The height in user units of the graphic gure that displays to represent a drill hole. Normally used with DRILL_FIGURE_WIDTH and DRILL_FIGURE_ROTATION. DRILL_FIGURE _ROTATION The angle of rotation of the graphic gure that displaysdisplays to represent a drill hole. The value is in degrees with three decimal places of accuracy. Allegro PCB Editor User Guide: Completing the Design Extract Data Dictionary June 2007 84 Product Version 16.0 DRILL_FIGURE _SHAPE The graphic gure (shape) to represent a drill hole. This is one of the standard graphic element names. See GRAPHIC_DATA_NAME. DRILL_FIGURE _WIDTH The width in user units of the graphic gure that displays to represent a drill hole. Normally used with DRILL_FIGURE_HEIGHT and DRILL_FIGURE_ROTATION. DRILL_HOLE_NAME The name of the drill hole. This name is used to tell the NC Drill program what size drill bit to use. Note that DRILL_FIGURE_HEIGHT and DRILL_FIGURE_WIDTH are used to control the display of the drill hole. When used for slots, represents the slots major dimension. DRILL_HOLE_NAME2 When used for slots, represents the slots minor dimension. DRILL_HOLE_NEGTOL When used for slots, represents the drill holes negative tolerance. DRILL_HOLE_PLATING A description of whether the drill hole is plated. Values are PLATED, NON_PLATED, or OPTIONAL. DRILL_HOLE_POSTOL When used for slots, represents the drill holes positive tolerance. DRILL_HOLE_X DRILL_HOLE_Y The X or Y coordinate in user units of the drill hole. DRILL_ARRAY_ROWS DRILL_ARRAY_COLUMNS Allegro PCB Editor User Guide: Completing the Design Extract Data Dictionary June 2007 85 Product Version 16.0 The parameters of rows and columns of drill holes in plural vias, in user units. DRILL_ARRAY_CLEARANCE The clearance between all drill holes in a plural via array. DRILL_ARRAY_LOCATIONS The location of all drill holes in a plural via array. The format is X1, Y1, X2, Y2... Allegro PCB Editor User Guide: Completing the Design Extract Data Dictionary June 2007 86 Product Version 16.0 END_LAYER_NAME The layer name (subclass) closest to the BOTTOMof the design that has a pad for a particular COMPOSITE PAD. This eld is normally used with START_LAYER_NAME. Normal through holes (pins or vias) have the START_LAYER_NAME as TOP and the END_LAYER_NAME as bottom. Surface mount devices typically have pads with START_LAYER_NAME and END_LAYER_NAME the same. Blind and buried vias have START_LAYER_NAME and/or END_LAYER_NAME as something other than TOP or BOTTOM. END_LAYER_NUMBER The eld is used like END_LAYER_NAME, except that the value is the actual layer number rather than the subclass name. The top of the design is layer number 0, and the bottomis the total number of layers minus one. For example, a 4-layer design contains layers 0 through 3. FIXFLAG The internal layer xed or optional (f = xed, o = optional). FUNC_DES The function designator. FUNC_DES_SORT The function designator in a formfor sorting. The sort formenables a standard text string sort, to sort the numeric part of the function designator in correct numeric order. This eld should not be used for display purposes. FUNC_SLOT_NAME The slot name of the component to which a function has been assigned. FUNC_TYPE The function type of the function. The function type may be specied when the function is loaded during netlist processing. If the component has only one type of function, the function type is the same as the device type. GRAPHIC_DATA_NAME For standard Allegro PCB Editor gures, the GRAPHIC_DATA_NAME is the Allegro PCB Editor gure name. For other gures, the name is indicated in the description of the GRAPHIC_DATA_N elds. FIGURE_NULL 0 Allegro PCB Editor User Guide: Completing the Design Extract Data Dictionary June 2007 87 Product Version 16.0 FIGURE_CIRCLE 2 FIGURE_OCTAGON 3 FIGURE_CROSS 4 FIGURE_SQUARE 5 FIGURE_RECTANGLE 6 FIGURE_DIAMOND 7 FIGURE_OBLONG_X 11 FIGURE_OBLONG_Y 12 FIGURE_HEXAGON_X 15 FIGURE_HEXAGON_Y 16 FIGURE_TRIANGLE_1 18 GRAPHIC_DATA _NUMBER This eld may used instead of the GRAPHIC_DATA_NAME to save disk space and to make the post processors job easier. Allegro PCB Editor User Guide: Completing the Design Extract Data Dictionary June 2007 88 Product Version 16.0 GRAPHIC_DATA_N fields The GRAPHIC_DATA_N (where N is 1 to 10) elds are used differently depending on the graphic element as dened by the GRAPHIC_DATA_NAME (and GRAPHIC_DATA_NUMBER) eld as follows: GRAPHIC_DATA_NAME figure name-standard figure GRAPHIC_DATA_NUMBER figure number (1 to 255) GRAPHIC_DATA_1 xcoord of the figure GRAPHIC_DATA_2 ycoord of the figure GRAPHIC_DATA_3 width of the figure GRAPHIC_DATA_4 height of the figure GRAPHIC_DATA_NAME ARC-arc GRAPHIC_DATA_NUMBER 256 GRAPHIC_DATA_1 xcoord of start of arc GRAPHIC_DATA_2 ycoord of start of arc GRAPHIC_DATA_3 xcoord of end of arc GRAPHIC_DATA_4 ycoord of end of arc GRAPHIC_DATA_5 xcoord of center of arcs curve GRAPHIC_DATA_6 ycoord of center of arcs curve GRAPHIC_DATA_7 radius of arcs curve GRAPHIC_DATA_8 width of the arc GRAPHIC_DATA_9 direction (CLOCKWISE or COUNTER-CLOCKWISE) GRAPHIC_DATA_10 type of arc (see LINE) GRAPHIC_DATA_NAME LINE-line (segment) GRAPHIC_DATA_NUMBER 257 GRAPHIC_DATA_1 xcoord of one end of line GRAPHIC_DATA_2 ycoord of one end of line GRAPHIC_DATA_3 xcoord of other end of line GRAPHIC_DATA_4 ycoord of other end of line GRAPHIC_DATA_5 width of the line GRAPHIC_DATA_10 type of line: CONNECT connect line (cline) NOTCONNECT not a connect line Allegro PCB Editor User Guide: Completing the Design Extract Data Dictionary June 2007 89 Product Version 16.0 SHAPE part of a shape outline VOID part of a void within a shape POLYGON part of an unfilled shape (including keepins/ keepouts and rotated rectangles GRAPHIC_DATA_NAME RECTANGLE-rectangle GRAPHIC_DATA_NUMBER 259 GRAPHIC_DATA_1 xcoord of lower left corner GRAPHIC_DATA_2 ycoord of lower left corner GRAPHIC_DATA_3 xcoord of upper right corner GRAPHIC_DATA_4 ycoord of upper right corner GRAPHIC_DATA_5 fill code: 0=unfilled, 1=filled GRAPHIC_DATA_NAME TEXT - a line of text GRAPHIC_DATA_NUMBER 260 GRAPHIC_DATA_1 xcoord of text line GRAPHIC_DATA_2 ycoord of text line GRAPHIC_DATA_3 angle of rotation of the text GRAPHIC_DATA_4 mirror code of text = YES or NO GRAPHIC_DATA_5 justification. LEFT, RIGHT, or CENTER. GRAPHIC_DATA_6 font data. Stored as 1 field with size, font, height, width, slant, character_spacing,line_spacing and photoplot_width separated by spaces. Values: 0=ANSI, 1=ISO, or 2=MICRO. GRAPHIC_DATA_7 the text string. GRAPHIC_DATA_NAME T-ratsnest (CONNECTIVITY view only) GRAPHIC_DATA_NUMBER 261 GRAPHIC_DATA_1 xcoord of the T GRAPHIC_DATA_2 ycoord of the T Allegro PCB Editor User Guide: Completing the Design Extract Data Dictionary June 2007 90 Product Version 16.0 GRAPHIC_DATA_NAME RATSNEST (CONNECTIVITY view only) GRAPHIC_DATA_NUMBER 262 GRAPHIC_DATA_1 xcoord of one end of the ratsnestGRAPHIC_DATA_2ycoord of one end of the ratsnest GRAPHIC_DATA_3 xcoord of the other end of the ratsnest LAYER The layer name. LAYER_ARTWORK The artwork type to use for the layer (subclass). The value is POSITIVE or NEGATIVE for a conductor layer, or blank if the layer is not a conductor. LAYER_CONDUCTOR YES indicates that the layer is a conductor layer; NO indicates it is not. LAYER_DIELECTRIC _CONSTANT The dielectric constant of the layer. This eld is only meaningful for dielectric layers (LAYER_CONDUCTOR = NO). LAYER_ ELECTRICAL_CONDUCTIVITY The electrical conductivity of the layer. LAYER_MATERIAL The type of material for the layer. Common values are COPPER for conductor layers and FR 4, G9, and so on, for dielectric layers. LAYER_LOSS_TANGENT A number betweenbut not includingzero and one that represents the amount of energy lost to the dielectric from a signal travelling through an adjacent conductor. LAYER_SORT This eld is an integer that can be used to sort the records froma LAYERviewinto the correct sequence. Allegro PCB Editor User Guide: Completing the Design Extract Data Dictionary June 2007 91 Product Version 16.0 LAYER_SUBCLASS The subclass name for the layer. LAYER_SHIELD_LAYER YES indicates a shield layer. LAYER_THERMAL_CONDUCTIVITY The thermal conductivity of the layer. LAYER_THICKNESS The thickness of the layer. LAYER_TYPE The basic type of layer in the board/package stackup cross-section. Must be one of a set of the following pre-dened types: I Conductor I Crossover I Dielectric I Plane I Bonding Wire I Microwire I Multiwire I Optical Wave Guide I Thermal Glue Coating LAYER_USE The use of the layer. Layers can be used as EMBEDDED PLANEs. NET_CAPACITANCE The capacitance of a net. Allegro PCB Editor User Guide: Completing the Design Extract Data Dictionary June 2007 92 Product Version 16.0 NET_ETCH_LENGTH The total length of the etch on a net. See NET_PATH_LENGTH and NET_MANHATTAN_LENGTH. NET_ETCH_WIDTH _AVERAGE The average trace width of a net. NET_IMPEDANCE _AVERAGE The average impedance for a net. NET_IMPEDANCE _MAXIMUM The maximum impedance of any segment of a net. NET_IMPEDANCE _MINIMUM The minimum impedance of any segment of a net. NET_INDUCTANCE The inductance of a net. NET_MANHATTAN _LENGTH Total length of a net using the manhattan distance of all the pintopin connections. See also NET_ETCH_LENGTH and NET_PATH_LENGTH. NET_NAME The name of the net. NET_NAME_SORT The net name in a form for sorting. The sort form enables a standard text string sort, to sort the numeric part of the net name in correct numeric order. This eld should not be used for display purposes. NET_PATH_LENGTH The length of the net using actual etch for connections already made and the manhattan distance for connections that have not yet been made. Allegro PCB Editor User Guide: Completing the Design Extract Data Dictionary June 2007 93 Product Version 16.0 NET_PROPAGATION _DELAY_ACTUAL The delay contributed by each cline on the net. Each cline is counted once. NET_RAT_CONNECT A text eld used to sort pins into an order useful for determining the physical connectivity of the pins in the net. This eld is used internally by Allegro PCB Editor. NET_RAT_SCHEDULE A text eld used to sort pins into the order indicated by the ratsnest records for the net. This eld is most meaningful for nets that have been scheduled by the $SCHEDULE section in netin. Nets with the NO_RAT property are ratsnested if this eld is requested. The eld has three parts, separated by spaces: I The rst is a subnet number. I The second is the pin sequence number on that subnet. The rst subnet is 1; the rst element on a subnet is 1. Subsequent subnets are created when a pin is connected by a ratsnest to more than one other pin. I The third part of the eld is used only for the rst pin of any subnet other than the rst. It is the pin designator of the pin to which this pin is connected. In other words it is the parent of this subnet. Each pin other than the rst pin on the subnet is assumed to be connected to the previous pin. Consider the following: U1.1-----U2.2------U3.3 | | U4.------U5.5 The Netlist In $SCHEDULE would have been: signal_name; U1.1 U2.2 U3.3 ; U2.2 U4.4 U5.5 The NET_RAT_SCHEDULE eld for the pins would be: U1.1 - 1 1 U2.2 - 1 2 U3.3 - 1 3 Allegro PCB Editor User Guide: Completing the Design Extract Data Dictionary June 2007 94 Product Version 16.0 U4.4 - 2 1 U2.2 U5.5 - 2 2 Note that an equivalent schedule is: signal_name; U1.1 U2.2 U4.4 U5.5 ; U2.2 U3.3 and NET_RAT_SCHEDULE: U1.1 - 1 1 U2.2 - 1 2 U4.4 - 1 3 U5.5 - 1 4 U3.3 - 2 1 U2.2 There is no guarantee which equivalent schedule will be returned. The NET_RAT_SCHEDULE is only available when using the COMPONENT_PIN view. If it is requested, the pins are read from the database on a net by net basis, rather than on a component by component basis. This means that only pins on nets are extracted if this eld is requested. NET_RESISTANCE The total resistance of a net. NET_STATUS The (rat) status of the net. This eld is: SCHEDULED if the net has been scheduled by Auto Schedule or Netlist In; NO_RAT if the NO_RAT property has been set; or REGULAR. NET_VIA_COUNT The number of vias on a net. NODE_CONNECTS This eld indicates how many connections there are for particular objects. For connect lines, it will equal 0, 1, or 2, depending on howmany ends connect to a T, PIN, or VIA. For Ts, PINS, or VIAS, it is the number of connect lines that connect to it. This eld is blank for shapes. NODE_1_NUMBER NODE_2_NUMBER Allegro PCB Editor User Guide: Completing the Design Extract Data Dictionary June 2007 95 Product Version 16.0 NODE_SORT These elds are used in the connectivity view so that a follow-up program can construct the connectivity of a net. The nets are used to create records that represent either a node of the net or a connection. NODE_SORT is used to sort nodes (pins, vias, and Ts) before connections that reference them (ratsnests and standard etch geometry). The usual sequence of data elds would then be NET_NAME_SORT (or NET_NAME), NODE_SORT, NODE_1, NODE_2, and RECORD_TAG. The text le can be sorted using a standard lefttoright sort. For nodes, NODE_1 equals NODE_2 and is the node number. For connections, NODE_1 is the node number of one end of the connection and NODE_2 is the node number of the other end of the connection. Shapes can be extracted with this view, but their NODE_1 and NODE_2 elds are blank. For ratsnests, in addition to the NODE_1 and NODE_2 elds, the RAT_CONNECTED eld indicates whether there is an electrical connection between the two nodes. PAD_FLASH The name of the ash to be used for this pad. The ash maps a pad to a specic aperture when creating artwork. This is typically done for non-standard pads such as thermal-relief pads or anti-pads. PADHGHT The height of the pad. PADSHAPE1 The pad geometry. PAD_SHAPE_NAME Describes the shape of the pad. When used in the FULL_GEOMETRY view, the geometry of the pad is indicated. On other views, this eld describes the composite pad used for display in the interactive editor. If the shape is a standard geometry, this eld is the same as the GRAPHIC_ DATA_NAME eld (for example, FIG_CIRCLE or FIG_RECTANGLE). If the shape is a non-standard geometry, this eld contains the name of the shape preceded by FIG_SHAPE and a space. PAD_STACK_ NAME The name of the padstack. PAD_STACK_SOURCE_NAME Allegro PCB Editor User Guide: Completing the Design Extract Data Dictionary June 2007 96 Product Version 16.0 Blank for normal padstacks and the name of the "derived from" padstack for instance-edited padstacks. PAD_TYPE Describes the kind of pad as either regular, thermal, or antipad. In the FULL_GEOMETRY view, the type of the actual pad used contains ANTI, THERMAL, or REGULAR statements. In other views, it contains the value COMPOSITE to indicate that the pad refers to the composite pad. PADWIDTH The width of the pad. PADXOFF The X coordinate for the offset of the pad. PADYOFF The Y coordinate for the offset of the pad. Allegro PCB Editor User Guide: Completing the Design Extract Data Dictionary June 2007 97 Product Version 16.0 PIN_COMMON_CODE A code to indicate whether a pin is common to (shared by) multiple functions in the device. If the pin is not common, the eld is blank. If it is common and the view is LOGICAL_PIN, the value is a number increasing from 1. This makes it possible for post processors (such as netlist generators) to lter out the redundant occurrences of the same physical. If it is common and the view is other than LOGICAL_PIN (COMPONENT_ PIN, GEOMETRY, and so on), it is a number and can be the number of functions that share the pin. It should only be treated as blank or non-blank. PIN_EDITED The value is YESif the pin has been instance edited. This occurs when the pin is either moved or the padstack has been edited. PIN_NAME The name of the pin. If the actual internal pin name was generated by Allegro PCB Editor, this eld is the same as the PIN_NUMBER. Allegro PCB Editor generates pin names when there are no explicitly dened functions in the device le (in which case the internal name becomes TP-nnn, where nnn is the pin number). PIN_NUMBER The pin number. If a pin is part of a function that has not been assigned to a component, this eld is blank. PIN_NUMBER_SORT The pin number in a formfor sorting. The sort formenables a standard text string sort, to sort the numeric part of the pin number in correct numeric order. This eld should not be used for display purposes. As a convenience, if the pin number is blank (unassigned functions), the pin name is put into the pin_number_sort eld. The fact that it is a pin name and not a pin number can be obtained by the fact the PIN_NUMBER and/or FUNC_SLOT_ NAME elds are blank. PIN_ROTATION The degree of pin rotation relative to its symbol. This is the rotation of the pin as it exists in the symbol drawing (.dra) database. PIN_ROTATION_ABSOLUTE The degree of pin rotation relative to the actual drawing, accounting for the rotation of the symbol as well as the rotation of the pin. Allegro PCB Editor User Guide: Completing the Design Extract Data Dictionary June 2007 98 Product Version 16.0 PIN_SWAP_CODE A number indicating whether a pin can be swapped with other pins of the same function. All pins of a function that have the same number can be swapped with each other. This eld is blank when pins cannot be swapped. This eld only represents the swap code as dened by the device le. Properties may be attached to functions that override the pins ability to be swapped, but they do not affect this eld. PIN_TYPE The type of pin, sometimes called pin use uses the PINUSE property when it has been dened. Values are IN, OUT, BI, TRI, OCA, OCL, UNSPEC, DISCRETE, NC, POWER, and GROUND. PIN_X PIN_Y The absolute (relative to the design not the symbol) X and Y coordinate, in user units, of the location of the pin. Mirror and rotation calculations have been performed in calculating the coordinate. If the pin is part of an unplaced component (or unassigned function), the eld is blank. RAT_CONNECTED This eld is available in the CONNECTIVITY view for ratsnest connection records. YES means that the nodes (NODE_1_NUMBER and NODE_2_NUMBER) are connected. The route for the connection must be determined by analyzing the net topology. This may not be straightforward if shapes are involved. See also NODE 1_NUMBER, NODE_2_NUMBER, NODE_SORT, and NODE_CONNECTS. REC_NUMBER The record of what is being output for a particular padstack. (For example: .00001 = TOP, 00002 - internal pad def, 00003 = BOTTOM, then top SM, bottom SM, top paste, bottom paste.) RECORD_TAG A eld to establish association for geometric elements. Certain geometry is considered to be a sub-element of a major geometric element. For example, text lines are sub-elements of a major element text; line and arc segments are sub-elements of major element line; and patches are a sub-element of a major element shape. Rectangles and the Allegro PCB Editor-dened graphic gures never have any sub-elements. Allegro PCB Editor User Guide: Completing the Design Extract Data Dictionary June 2007 99 Product Version 16.0 The purpose of RECORD_TAG is to preserve the association of the sub-elements to the major element during sorts of the text le. RECORD_TAG consists of two parts separated by a space. I The rst is a number that indicates the major geometric element number. This number starts at 1 (one) and increases for each major element in the database. I The second is the sub-element number, which starts at 1 (one) for the rst sub-element of each major element and then increases by one for each subsequent sub-element. The line major element is handled in two ways. Line or arc segments that are attached on nets (generally ETCH) or symbols (generally PACKAGE GEOMETRY) are considered part of the line generated by a single add_line command. However, the major element for all other segments (generally BOARD GEOMETRY) are part of a major element determined by the actual polygon dened by connecting the endpoints of all the individual segments. REFDES The reference designator of the component. If a function (or its pins) has not been assigned, this eld is blank. This eld is also blank for a symbol, with no component assigned to it. That is, the eld is the actual name given to the component, and not generated by looking for display text of class REFDES. REFDES_SORT The reference designator in a form for sorting. The sort form enables a standard text string sort, to sort the numeric part of the reference designator in correct numeric order. This eld should not be used for display purposes. If the refdes eld is blank (unassigned functions), the function designator is used to ll in the value of this eld. Note: It is a function designator and not a reference designator because the REFDES or FUNC_SLOT_ NAME elds are blank. SEG_CAPACITANCE The capacitance of an etch segment. SEG_IMPEDANCE The impedance of an etch segment. SEG_INDUCTANCE The inductance of an etch segment. Allegro PCB Editor User Guide: Completing the Design Extract Data Dictionary June 2007 100 Product Version 16.0 SEG_PROPAGATION _DELAY The propagation delay of an etch segment. SEG_RESISTANCE The resistance of an etch segment. START_LAYER _NAME The start layer name (subclass) for a COMPOSITE PAD. See the description of END_LAYER_NAME. START_LAYER _NUMBER The start layer number for a COMPOSITE PAD. See the description of END_LAYER_NUMBER and END_LAYER_NAME. SUBCLASS The subclass name of the geometric element. For ETCH and PAD data, this is the name of the layer on which it has been placed. For other geometry, it is the name of the subclass that was active when it was added to the design. To specify a legal value for a subclass in a lter for example, enter SUBCLASS = TITLE_BLOCK (a legal subclass value for the DRAWING FORMAT class). You can also dene new subclasses using the Define option. See CLASS. SYM_BOX_X1 SYM_BOX_Y1 SYM_BOX_X2 The lower left (X1,Y1) and upper right (X2,Y2) coordinates, in user units, of a rectangle that bounds the symbol. These elds are derived from the symbols PLACE_BOUND_TOP rectangle(s). If the user does not explicitly create one when building the symbol, the rectangle is automatically generated by Allegro PCB Editor. SYM_CENTER_X SYM_CENTER_Y The X (Y) coordinate, in user units, of the symbols body center. These elds are taken from the text point of text attached to the symbol with subclass BODY_CENTER. If that text does not exist, it is calculated from the PLACE_BOUND_TOP rectangle(s). SYM_EXTENTS_X1 Allegro PCB Editor User Guide: Completing the Design Extract Data Dictionary June 2007 101 Product Version 16.0 SYM_EXTENTS_Y1 SYM_EXTENTS_X2 The lower left (X1,Y1) and upper right (X2,Y2) coordinates, in user units, of a rectangle that encloses the drawing extents of the symbol. SYM_HAS_PIN_EDIT The value is YES if the symbol contains any instance-edited pins. SYM_MIRROR The eld indicates whether a symbol is mirrored. If the symbol is mirrored, this eld is YES. Allegro PCB Editor User Guide: Completing the Design Extract Data Dictionary June 2007 102 Product Version 16.0 SYM_NAME The name of the symbol. For a placed component, SYM_NAME should be the same as the package name. SYM_ROTATE The angle of rotation in degrees, with three decimal places of accuracy. SYM_TYPE The type of symbol. Values can be: MECHANICAL, BOARD, or FORMAT. SYM_X SYM_Y The X (Y) coordinate of the origin of the symbol. Note that mirroring and rotation in Allegro PCB Editor do not change the origin of the symbol. TEST_POINT This eld indicates whether a via is a test point. Values are TOP, BOTTOM, TOP_MANUAL, and BOTTOM_MANUAL indicating whether the test point test point is on the top or bottom and whether it was added manually or automatically. The eld is blank if the via is not a test point. TRELFLASH The thermal relief ash name. TRELHGHT The height of the thermal relief. TRELSHAPE1 The thermal relief geometry. TRELSHAPENAME The thermal relief shape name. TRELWIDTH The width of the thermal relief. Allegro PCB Editor User Guide: Completing the Design Extract Data Dictionary June 2007 103 Product Version 16.0 TRELXOFF The X coordinate for the offset of the thermal relief. TRELYOFF The Y coordinate for the offset of the thermal relief. VIAFLAG The suface mount or though-hole type (v = surface mount, empty = through-hole). VIA_MIRROR This eld indicates whether the via is mirrored. The value is YES if it is mirrored, NOif it is not. VIA_X The X coordinate of the via. VIA_Y The Y coordinate of the via. Allegro PCB Editor User Guide: Completing the Design Extract Data Dictionary June 2007 104 Product Version 16.0 Allegro PCB Editor User Guide: Completing the Design June 2007 105 Product Version 16.0 5 Generating Test Coupons Allegro PCB Editor features an automatic test coupon generator. Manufacturers use test coupons to measure the quality and accuracy of the Printed Circuit Board (PCB)/Multi-Chip Module (MCM) fabrication. You can generate the following coupons per ANSI/IPC-D-275 standards: I Coupon A to evaluate solderability of plated through holes. I Coupon B to evaluate plating thickness, thermal stress and Type 1 bond strength. I Coupon C to evaluate plating adhesion and solderability. I Coupon D to evaluate interconnection resistance and continuity. I Coupon E to evaluate surface resistance, bulk resistance, and material cleanliness after exposure to cyclic temperature and humidity. I Coupon F to evaluate drill holes for break-out, etch back, or hole clean. I Coupon G to evaluate solder resist adhesion. Examples of each coupon type follow. For instructions about generating and placing coupons, see the procedures outlined in Manufacture Create Coupons (create coupons command) in the Allegro PCB and Package Physical Layout Command Reference. Allegro PCB Editor User Guide: Completing the Design Generating Test Coupons June 2007 106 Product Version 16.0 Coupon Examples Coupon A Coupon B Allegro PCB Editor User Guide: Completing the Design Generating Test Coupons June 2007 107 Product Version 16.0 Coupon C Coupon D Allegro PCB Editor User Guide: Completing the Design Generating Test Coupons June 2007 108 Product Version 16.0 Coupon E Coupon F Coupon G