Cadence Allegro files have the default extension .brd. These binary files must be first "extracted" into ASCII files, before loading into CAMCAD. The extract is a program in the Allegro System and must be executed using the CAMCAD "valext.txt" file. The CAMCAD Allegro reader is user definable and adapts automatically to add-ons and changes in the extract file. However, the beginning records of the extract file must stay identically. The user can change the attribute section of the extract file.
"valout.txt" example as supplied with CAMCAD:
#
# VALID ALLEGRO OUTPUT SCRIPT FOR ROUTER SOLUTIONS SOFTWARE
#
# This Script creates 4 files : BRD.TXT PAD.TXT SYM.TXT RTE.TXT
#
# This is the new modified version May 92. (Router Solutions Inc.)
# This is the new modified version APR 94. (Router Solutions Inc.)
#Component values, partnumber and type was added.
#
# This is the new modified version MAY 94. (Router Solutions Inc.)
# Pin Rotation was added. This only work from
# Allegro version 6.
#
# This is the new modified version JUN 94. (Router Solutions Inc.)
# Test point was added.
#
# This is the new modified version DEC 96 (Router Solutions Inc.)
#User properties added.
# Board section was never used. Exchange it for Layer information
#BOARD
#BOARD_NAME
#BOARD_UNITS
#BOARD_EXTENTS_X1
#BOARD_EXTENTS_Y1
#BOARD_EXTENTS_X2
#BOARD_EXTENTS_Y2
#BOARD_LAYERS
#END
LAYER
LAYER_SORT
LAYER_SUBCLASS
LAYER_ARTWORK
LAYER_USE
LAYER_CONDUCTOR
LAYER_DIELECTRIC_CONSTANT
LAYER_ELECTRICAL_CONDUCTIVITY
LAYER_MATERIAL
LAYER_SHIELD_LAYER
LAYER_THERMAL_CONDUCTIVITY
LAYER_THICKNESS
END
PAD_DEF
END
GEOMETRY
# GENERATES PLACEMENT, SYMBOL, AND ETCH INFORMATION
SYM_TYPE
SYM_NAME
REFDES
SYM_X
SYM_Y
SYM_ROTATE
SYM_MIRROR
NET_NAME
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
COMP_DEVICE_TYPE
COMP_PACKAGE
COMP_PART_NUMBER
COMP_VALUE
# User Attributes are added here
BARCODE
BOARD_FIDUCIAL
BOARD_TOOLING
BREAKAWAY
CUTOUT
PANEL_FIDUCIAL
PANEL_TOOLING
ROBBER_BAR
CLIP_DRAWING
END
COMPOSITE_PAD
# GENERATES VIA AND NETLIST INFORMATION
# from here on down, these are user attributes and are optional
NET_NAME
PIN_NUMBER_SORT
CLASS
REFDES
SYM_TYPE
SYM_NAME
SYM_X
SYM_Y
SYM_ROTATE
SYM_MIRROR
PIN_NAME
PIN_NUMBER
PIN_X
PIN_Y
PAD_STACK_NAME
VIA_X
VIA_Y
# for Version 6
PIN_ROTATION
TEST_POINT
NET_PROBE_NUMBER
END
# End of VALOUT.SCR
================= end of example
Allegros extract program will return an error message, if you try to extract non-existant attributes.
How to run extract:
extract
<enter brd file name>: your_file_name
<enter .txt extract script> : valout.txt // will need 4 files, hit return on the fifth.
<enter filename> : brd.txt
<enter filename> : pad.txt
<enter filename> : sym.txt
<enter filename> : rte.txt
<enter filename> : <return>// no file name
Now the program will execute. Check extract.log for error messages.
The loading of the Allegro files can be in any order, or in simultanious selection.
.MIRRORLAYER in ALLEGRO.IN
In the extraced files, all components are exploded. This means every instance of a 1206 Resitor (R1,R2,R3) has its own library definition. CAMCAD rebuilds a library from the exploded data. Therefore the first instance of a shape becomes the master, from which all other instances are derived. To rebuild the mirrored shapes correctly, CAMCAD looks into the .MIRRORLAYER in the ALLEGRO.IN to "unmirror" layers.
File load sequence:
The 4 script files can be loaded in any sequence, however to correctly update BOARD_FIDUCIAL and PANEL_FIDUCIAL, it is important that the .s file (3rd file from extract) is loaded before the .r (4th file from extract). Only this guaranties that the FIDUCIAL of the pins are updated correctly with the symbol inserts.
SMD pad recognition:
A pad is flagged to be SMD if no drill diameter is set.
SMD component recognition:
SMD componenets are recognized like in CCMout. See SMD rule flag
in ALLEGRO.IN.
PADFORM SHAPE (complex outline) is read in as a Rectangle with X and Y size as defined in the extract file.