Sie sind auf Seite 1von 349

EASILY APPLICABLE GRAPHICAL LAYOUT EDITOR

Manual
Version 7

4th Edition
50512730

Copyright 2015 CadSoft Computer

All Rights Reserved

How to reach us
Phone:
Fax:
E-mail:
Web:
Office Hours are:
Mon Thu:
Fri:

+1 954-237-0932
+1 954-237-0968
support@cadsoftusa.com
http://www.cadsoftusa.com

9 am to 5 pm EST
9 am to 4 pm EST

CadSoft Computer
19620 Pines Blvd. Suite 217
Pembroke Pines, Florida 33029
U.S.A.

This software and documentation are copyrighted by CadSoft Computer, doing


business under the trade name EAGLE. The software and documentation are
licensed, not sold, and may be used or copied only in accordance with the EAGLE
License Agreement accompanying the software and/or reprinted in this document.
This software embodies valuable trade secrets proprietary to CadSoft Computer.
Specifications subject to change without notice.
Copyright 1988-2015 CadSoft Computer. All rights reserved worldwide.
No part of this publication may be reproduced, stored in a retrieval system, or
transmitted, in any form or by any means, electronic, mechanical, photocopying,
recording, scanning, digitizing, or otherwise, without the prior consent of CadSoft
Computer.
Printing this manual for your personal use is allowed.
CadSoft Computer is a trading division of Newark Corporation.
Windows is a registered trademark of Microsoft Corporation.
Linux is a registered trademark of Linus Torvalds.
Mac is a registered trademark of Apple Computer, Inc.

TableofContents
Chapter1Introduction................................................................19
1.1WhatisinthisManual?................................................................19
1.2ImportantChanges.......................................................................20
TableofContentsintheLibraryEditor........................................20
ImprovedTreeViewintheControlPanel....................................20
HierarchicalSchematicDesign.....................................................20
NewIconDesign..........................................................................21
Autorouter....................................................................................21
NewCommands...........................................................................21

1.3GeneralCommentsAboutEAGLEComponentLibraries..............21
1.4TechnicalTerms............................................................................22

Chapter2Installation.................................................................25
2.1WhatYouNeed.............................................................................25
2.2InstallationoftheEAGLEpackage................................................25
Windows......................................................................................25
Linux............................................................................................26
MacOSX......................................................................................27

2.3UpdatinganOlderVersion...........................................................28
FirstBackup,ThenInstall............................................................28
NotesonLibraryFiles...................................................................28
InCaseofChangesintheFileDataStructure..............................29

2.4ChangingorExtendingtheLicense..............................................29
2.5MultipleUserLicenses..................................................................30
NotesforInstallinginaNetwork..................................................30
SpecialInstructionsUnderWindows............................................31
PathInformation........................................................................31
DifferentOperatingSystemsattheWorkingComputers............31

2.6LanguageSettings.........................................................................31
Windows......................................................................................32
LinuxandMacOSX.....................................................................32

Chapter3EAGLEModulesandEditions......................................33
3.1EAGLEModules............................................................................33
TheLayoutEditor.........................................................................33
SchematicEditor..........................................................................33
Autorouter....................................................................................34

3.2DifferentEditions..........................................................................34

Table of Contents
ProfessionalEdition......................................................................34
General......................................................................................34
LayoutEditor.............................................................................35
SchematicEditor........................................................................35
AutorouterModule.....................................................................36
StandardEdition..........................................................................36
FreeTrail......................................................................................37
LightEdition.................................................................................37

Chapter4AFirstLookatEAGLE.................................................39
4.1TheControlPanel.........................................................................39
Documentation.............................................................................40
LibrarySummary..........................................................................40
DesignRules.................................................................................42
UserLanguagePrograms,Scripts,CAMJobs................................42
Projects.........................................................................................42
MenuBar......................................................................................43
FileMenu...................................................................................43
ViewMenu.................................................................................45
OptionsMenu............................................................................45
WindowMenu...........................................................................49
HelpMenu.................................................................................49

4.2TheSchematicEditorWindow.....................................................49
HowYouObtainDetailedInformationAboutaCommand...........51
BubbleHelpAndToolTips........................................................51
HelpFunction...........................................................................51
CommandParameters..................................................................52
GRID.........................................................................................52
TheActionToolbar.......................................................................53
USE...........................................................................................53
SCRIPT......................................................................................53
RUN..........................................................................................53
WINDOW..................................................................................53
UNDO/REDO............................................................................54
StopIcon...................................................................................54
GoIcon......................................................................................55
TheCommandToolbarofTheSchematicEditor..........................55
INFO.........................................................................................55
SHOW.......................................................................................55
DISPLAY....................................................................................55
MARK........................................................................................56
MOVE........................................................................................56
4

Table of Contents
COPY.........................................................................................56
MIRROR....................................................................................56
ROTATE....................................................................................57
GROUP......................................................................................57
CHANGE...................................................................................57
PASTE.......................................................................................57
DELETE.....................................................................................57
ADD..........................................................................................58
PINSWAP..................................................................................58
GATESWAP...............................................................................58
REPLACE...................................................................................58
NAME........................................................................................58
VALUE.......................................................................................58
SMASH......................................................................................59
MITER.......................................................................................59
SPLIT........................................................................................59
INVOKE.....................................................................................59
WIRE.........................................................................................59
TEXT.........................................................................................60
CIRCLE......................................................................................60
ARC...........................................................................................60
RECT.........................................................................................60
POLYGON.................................................................................60
BUS...........................................................................................60
NET...........................................................................................61
JUNCTION................................................................................61
LABEL.......................................................................................61
ATTRIBUTE...............................................................................61
DIMENSION..............................................................................61
MODULE...................................................................................62
PORT.........................................................................................62
ERC...........................................................................................62
CommandsNotAvailableintheCommandToolbar.....................62
ASSIGN......................................................................................62
CLASS........................................................................................62
CLOSE........................................................................................62
CUT............................................................................................62
EDIT...........................................................................................63
FRAME.......................................................................................63
EXPORT.....................................................................................63
LAYER........................................................................................63
MENU........................................................................................63
5

Table of Contents
OPEN.........................................................................................64
PACKAGE...................................................................................64
PRINT........................................................................................64
QUIT..........................................................................................64
REMOVE....................................................................................64
SET............................................................................................64
TECHNOLOGY...........................................................................64
UPDATE.....................................................................................65
VARIANT....................................................................................65
WRITE........................................................................................65
MouseKeys..................................................................................65
SelectingNeighbouringObjects.................................................65

4.3TheLayoutEditorWindow...........................................................66
TheCommandsontheLayoutCommandToolbar.......................67
INFO.........................................................................................67
SHOW.......................................................................................67
DISPLAY....................................................................................67
MARK........................................................................................68
MOVE........................................................................................68
COPY.........................................................................................69
MIRROR....................................................................................69
ROTATE....................................................................................69
GROUP......................................................................................69
CHANGE...................................................................................70
PASTE.......................................................................................70
DELETE.....................................................................................70
ADD..........................................................................................70
PINSWAP..................................................................................71
REPLACE...................................................................................71
LOCK.........................................................................................71
NAME........................................................................................71
VALUE.......................................................................................71
SMASH......................................................................................71
MITER.......................................................................................72
SPLIT........................................................................................72
OPTIMIZE.................................................................................72
MEANDER.................................................................................72
ROUTE......................................................................................72
RIPUP........................................................................................73
WIRE.........................................................................................73
TEXT.........................................................................................73
CIRCLE......................................................................................74
6

Table of Contents
ARC...........................................................................................74
RECT.........................................................................................74
POLYGON.................................................................................74
VIA............................................................................................75
SIGNAL.....................................................................................75
HOLE........................................................................................75
ATTRIBUTE...............................................................................75
DIMENSION..............................................................................75
RATSNEST................................................................................76
AUTO........................................................................................76
ERC...........................................................................................76
DRC...........................................................................................76
ERRORS....................................................................................77

4.4TheLibraryEditorWindow..........................................................77
TableOfContents.........................................................................77
ImportantIconsintheLibraryEditor...........................................79
ThePackageEditingMode...........................................................79
DesignNewPackage..................................................................80
PAD...........................................................................................80
SMD..........................................................................................80
TheSymbolEditingMode............................................................80
DesignaNewSymbol................................................................81
PIN............................................................................................81
TheDeviceEditingmode..............................................................81
CreateActualComponentsfromSymbolsandPackages............82
ADD..........................................................................................82
NAME........................................................................................83
CHANGE...................................................................................83
PACKAGE...................................................................................83
CONNECT..................................................................................83
PREFIX.......................................................................................83
VALUE........................................................................................83
TECHNOLOGY...........................................................................83
ATTRIBUTE...............................................................................83
DESCRIPTION............................................................................84

4.5TheCAMProcessor.......................................................................84
GenerateData..............................................................................85
StartingtheCAMProcessor........................................................85
LoadJobFile..............................................................................85
LoadBoard.................................................................................85
SetOutputParameters...............................................................85
7

Table of Contents
StartOutput...............................................................................85
DefineNewJob..........................................................................86

4.6TheTextEditorWindow..............................................................86

Chapter5PrinciplesforWorkingwithEAGLE............................87
5.1CommandInputPossibilities........................................................87
ActivateCommandandSelectObject...........................................87
CommandLine.............................................................................87
HistoryFunction...........................................................................88
TheContextMenu........................................................................88
FunctionKeys...............................................................................89
ScriptFiles....................................................................................90
MixedInput..................................................................................91

5.2TheEAGLECommandLanguage..................................................91
TypographicalConventions..........................................................91
EnterkeyandSemicolon............................................................91
BoldTypeorUpperCase............................................................92
LowerCase.................................................................................92
Underscore.................................................................................92
Spaces........................................................................................92
AlternativeParameters...............................................................92
RepetitionPoints........................................................................93
MouseClick................................................................................93
EnteringCoordinatesasText.......................................................93
Relativevalues:..........................................................................94
Polarvalues:..............................................................................94
RightMouseClick:.....................................................................95
Modifier:....................................................................................95

5.3GridsandtheCurrentUnits..........................................................96
5.4AliasesforDISPLAY,GRID,andWINDOW...................................97
Example:DISPLAYAlias...............................................................97
Example:GRIDAlias....................................................................98
Example:WINDOWAlias.............................................................98
Editing,Renaming,DeletingofanAlias.......................................98

5.5NamesandAutomaticNaming.....................................................99
Length..........................................................................................99
ForbiddenandSpecialCharacters................................................99
AutomaticNaming.......................................................................99

5.6ImportandExportofData..........................................................100

Table of Contents
ScriptFilesandDataImport.......................................................100
FileExportUsingtheEXPORTCommand..................................101
DIRECTORY.............................................................................101
NETLIST...................................................................................101
NETSCRIPT..............................................................................101
PARTLIST.................................................................................101
PINLIST....................................................................................101
SCRIPT.....................................................................................102
IMAGE......................................................................................102
LIBRARIES...............................................................................103

5.7TheEAGLEUserLanguage.........................................................103
5.8Forward&BackAnnotation.........................................................104
5.9ConfiguringEAGLEIndividually.................................................105
ConfigurationCommands...........................................................105
TheMenuOptions/Set(SETCommand)....................................105
DisplayCertainLayersOnly.....................................................106
ContextMenuEntries..............................................................106
ContentsofTheParameterMenus...........................................106
ConfirmMessageDialogsAutomatically..................................107
ColorSettings.............................................................................107
MiscellaneousSETOptions........................................................110
Theeagle.scrFile........................................................................112
TheeaglercFile..........................................................................113
EAGLEProjectFile......................................................................114

Chapter6FromSchematictoFinishedBoard...........................115
6.1CreatingtheSchematicDiagram................................................115
OpentheSchematicDiagram.....................................................115
SettheGrid................................................................................116
PlaceSymbols.............................................................................116
LoadDrawingFrame................................................................116
PlaceCircuitSymbols(Gates)..................................................118
HiddenSupplyGates................................................................118
DeviceswithSeveralGates......................................................119
DesignlinkAccesstoFarnell'sOnlineProductDatabase........120
WiringtheSchematicDiagram...................................................120
DrawNets(NET).....................................................................120
DefiningCrossReferencesforNets..........................................121
CrossReferencesforContacts..................................................122
SpecifyingNetClasses..............................................................123
Drawingabus(BUS)...............................................................125

Table of Contents
PinswapandGateswap...............................................................126
PowerSupply.............................................................................127
DefineAttributes........................................................................128
GlobalAttributes......................................................................128
AttributesforElements............................................................129
ERCCheckandCorrectSchematic...........................................131
OrganizeSchematicSheets........................................................133
PointstoNotefortheSchematicEditor......................................134
SuperimposedPins...................................................................134
OpenPinswhenMOVEing.......................................................134
DuplicatingaSectionoftheSchematic......................................134
WithConsistentLayout............................................................134
MergeDifferentSchematicFiles.................................................134
WithConsistentLayout............................................................135
MultiChannelDevices.............................................................135

6.2TheHierarchicalSchematic........................................................136
CreatingaModule......................................................................137
DefinePorts................................................................................139
UsingModuleInstances..............................................................140
ResultingComponentNamesintheLayout................................141
ModulInstanceName:PartName................................................141
Offset.......................................................................................141
AssemblyVariantsforModules..................................................142
SpecialFeaturesbetweenSchematicandLayout.......................142
SHOWcommand......................................................................142
Consistency..............................................................................142

6.3ConsiderationsPriortoCreatingaBoard...................................143
CheckingtheComponentLibraries.............................................143
AgreementwiththeBoardManufacturer...................................143
SpecifyingtheDesignRules.......................................................144
GeneralPrinciples....................................................................144
Layers.......................................................................................145
MinimumClearanceandDistance............................................146
Sizes.........................................................................................147
Restring(PadandViaDiameter).............................................147
Shapes......................................................................................149
Supply......................................................................................151
Masks.......................................................................................151
Misc..........................................................................................152

6.4CreateBoard...............................................................................153

10

Table of Contents
WithouttheSchematicEditor.....................................................154
SpecifytheBoardOutline...........................................................154
ArrangeComponents..................................................................155
AttributesforComponentsandGlobalAttributes.......................158
BoardswithComponentsonBothSides.....................................158
ExchangingPackages..................................................................158
PACKAGECommand................................................................158
REPLACEcommand.................................................................160
ChangingtheTechnology...........................................................160
DefineForbiddenAreas..............................................................160
RoutingPlacingTracksManually............................................161
DefiningaCopperPlanewithPOLYGON...................................163

6.5DRCCheckingtheLayoutandCorrectingErrors.....................166
TheDRCErrorsWindow............................................................167
ErrorMessagesandtheirMeaning.............................................169

6.6MultilayerBoards.......................................................................172
InnerLayer.................................................................................172
SupplyLayerswithPolygonsandMorethanOneSignal.........172
RestictedAreasForPolygons...................................................173
MultilayerBoardswithThroughVias.........................................173
LayerSetup..............................................................................173
MultilayerwithBlindandBuriedVias........................................174
Disambiguation........................................................................174
DisplayingVias.........................................................................175
LayerSetup..............................................................................175
HintsForWorkingWithBlind,Buried,andMicroVias............180
MicroViaASpecialCaseofBlindVia.....................................181

6.7EditingandUpdatingComponents............................................182
OpenDevice/Symbol/Package...................................................182
UpdatingProject(LibraryUpdate).............................................182

6.8DifferentialPairsAndMeanders.................................................183
RoutingDifferentialPairs...........................................................183
Meanders....................................................................................185
LengthBalanceforaDifferentialPair......................................185
SpecifyingaCertainLength.....................................................185
SymmetricandAsymmetricMeanders.....................................185
LengthToleranceDisplay.........................................................186
Measuringsignallengths..........................................................186

6.9AssemblyVariants.......................................................................187

11

Table of Contents
CreatingAssemblyVariants........................................................187
AssemblyVariantsandCAMProcessor.......................................188

6.10PrintOutSchematicandLayout...............................................189
SettingsofthePrintDialog........................................................189

6.11CombiningSmallCircuitBoardsonaCommonPanel.............192
6.12ConsistencyLostbetweenSchematicandLayout.....................193
CriteriaForConsistency.............................................................195
ConsistencyIndicator.................................................................196

Chapter7TheAutorouter.........................................................197
7.1BasicFeatures.............................................................................197
7.2WhatCanbeExpectedfromtheAutorouter..............................198
7.3ControllingtheAutorouter.........................................................198
BusRouter..................................................................................199
RoutingPass...............................................................................199
TopRouter..................................................................................199
Optimization..............................................................................199

7.4WhatHastobeDefinedBeforeAutorouting..............................200
DesignRules...............................................................................200
TrackWidthandNetClasses......................................................200
Grid............................................................................................200
PlacementGrid........................................................................200
RoutingGrid............................................................................201
MemoryRequirement.................................................................202
Layer..........................................................................................202
PreferredDirections...................................................................203
RestrictedAreasfortheAutorouter............................................203
CostFactorsandOtherControlParameters...............................204

7.5TheAutorouterMenu.................................................................205
AutorouterMainSetup...............................................................205
RoutingVariantsDialog.............................................................206

7.6HowtheCostFactorsInfluencetheRoutingProcess.................208
LayerCosts.................................................................................209
cfBase.xx:0..20........................................................................209
Costs...........................................................................................209
cfVia:0..99...............................................................................209
cfNonPref:0..10.......................................................................209
cfChangeDir:0..25...................................................................209
cfOrthStep,cfDiagStep.............................................................210
cfExtdStep:0..30......................................................................210
cfBonusStep,cfMalusStep:1..3................................................210
12

Table of Contents
cfPadImpact,cfSmdImpact:0..10.............................................210
cfBusImpact:0..10...................................................................210
cfHugging:0..5........................................................................211
cfAvoid0..10............................................................................211
cfPolygon0..30........................................................................211
Maximum...................................................................................211
mnVia0..30.............................................................................211
mnSegments0..9999...............................................................211
mnExtdSteps0..9999...............................................................211

7.7NumberofRipup/RetryAttempts..............................................211
7.8RoutingMultiLayerBoardswithPolygons................................212
7.9BackupandInterruptionofRouting...........................................213
7.10InformationfortheUser...........................................................213
StatusDisplay.............................................................................213
Logfile.......................................................................................215

7.11EvaluatetheResults.................................................................215
7.12ParametersofaControlFile.....................................................216
7.13PracticalHints...........................................................................217
General.......................................................................................217
SingleSidedBoards...................................................................217
SMDBoardsWithSupplyLayers................................................218
Whatcanbedoneifnotallsignalsarerouted?..........................218

7.14TheFollowmeRouter..............................................................218
PartialandFullMode.................................................................219
Configuration.............................................................................219
RoutingParameters....................................................................220
Notes..........................................................................................221

Chapter8ComponentDesignExplainedthroughExamples.....223
8.1DefinitionofaSimpleResistor...................................................223
ResistorPackage.........................................................................224
DefineaNewPackage..............................................................224
SettheGrid..............................................................................224
SolderPads..............................................................................224
PadName.................................................................................225
SilkscreenandDocumentationPrint........................................225
Labeling...................................................................................226
Restrictedareaforcomponents................................................227
Description...............................................................................227
Note.........................................................................................227

13

Table of Contents
ResistorSymbol..........................................................................227
DefineaNewSymbol...............................................................227
SettheGrid..............................................................................228
PlacethePins...........................................................................228
PinNames................................................................................230
SchematicSymbol....................................................................230
Description...............................................................................230
ResistorDevice...........................................................................231
DefineaNewDevice................................................................231
Selecting,NamingandConfiguringSymbols...........................231
SelectingthePackage...............................................................232
ConnectionsBetweenPinsandPads........................................232
DefinePrefix............................................................................233
Value........................................................................................233
Description...............................................................................234
Save.........................................................................................234
LibraryDescription.....................................................................235
UseLibrary.................................................................................235

8.2DefiningaComplexDevice.........................................................235
CreatingaNewLibrary..............................................................237
DrawingthePinLeadedPackage...............................................237
SettheGrid..............................................................................238
PlacePads................................................................................238
PadName.................................................................................239
DrawtheSilkScreenSymbol...................................................239
PackageNameandPackageValue...........................................239
AreasForbiddentoComponents..............................................240
Description...............................................................................240
Save.........................................................................................241
DefiningtheSMDPackage.........................................................241
SettheGrid..............................................................................242
PlacingSMDSolderPads.........................................................243
SMDNames.............................................................................244
DrawtheSilkScreen................................................................245
PackageNameandPackageValue...........................................245
AreaForbiddentoComponents................................................245
LocatingPoint(Origin)............................................................246
Description...............................................................................246
Save.........................................................................................246
DefiningtheLogicSymbolfortheSchematicDiagram...............247
ChecktheGrid.........................................................................247
PlacethePins...........................................................................247
14

Table of Contents
PinName.................................................................................248
DrawtheSymbol......................................................................248
PlaceholdersforNAMEandVALUE..........................................248
Description...............................................................................248
Save.........................................................................................248
DefiningaPowerSupplySymbol...............................................249
ChecktheGrid.........................................................................249
PlacethePins...........................................................................249
PinName.................................................................................250
PlaceholdersforNAMEandVALUE..........................................250
AssociatingthePackagesandSymbolstoFormaDeviceSet.....251
SelectSymbols.........................................................................251
NamingtheGates.....................................................................251
SpecifyAddlevelandSwaplevel...............................................252
ChoosingthePackageVariants................................................252
TheConnectCommand............................................................253
DefiningTechnologies..............................................................255
SpecifyingthePrefix................................................................255
Value........................................................................................255
Description...............................................................................256
Save.........................................................................................256

8.3SupplyVoltages..........................................................................257
ComponentPowerSupplyPins...................................................257
InvisibleSupplyPins................................................................257
PinswiththeSameNames.........................................................258

8.4OnePinMultiplePadsConnections.........................................259
8.5SupplySymbols..........................................................................260
8.6Attributes....................................................................................261
DefineAttributes........................................................................261
DisplayAttributes.......................................................................264
PlaceholdersinSymbolandPackage.......................................264

8.7ExternalDeviceswithoutPackages............................................265
8.8LabelingofSchematicSymbols..................................................265
8.9MoreabouttheAddlevelParameter...........................................266
Summary....................................................................................266
Relay:CoilandFirstContactmustbePlaced.............................266
Connector:SomeConnectionPinscanbeOmitted....................267
ConnectorwithFixingHoleandRestrictedArea........................268

8.10DefiningComponentswithContactCrossReferences..............269

15

Table of Contents
DefineSymbol............................................................................269
DefineDevice.............................................................................269
DefinePackage...........................................................................270

8.11DrawingFrames.......................................................................270
8.12ComponentsontheSolderSide...............................................272
8.13ComponentswithOblongHoles...............................................272
8.14ArbitraryPadShapes................................................................273
8.15CreatingNewPackageVariants................................................274
PackagefromAnotherLibrary....................................................274
DefiningthePackageVariant...................................................274
ConnectCommand...................................................................275
DefiningTechnologies..............................................................276
Save.........................................................................................276
UsingaModifiedPackagefromAnotherLibrary........................276
CopyingthePackage................................................................276
DefiningtheVariant.................................................................277

8.16DefiningPackagesinAnyRotation...........................................277
RotatingaPackageasaWhole...................................................277
PackageswithRadialPadArrangement.....................................278

8.17LibraryandPartManagement..................................................279
CopyingofLibraryElements......................................................279
WithinaLibrary.......................................................................279
FromOneLibraryintoAnother................................................280
CompositionofYourownLibraries..........................................282
RemovingandRenamingLibraryElements................................282
UpdatePackagesinLibraries......................................................282

Chapter9PreparingManufacturingData.................................285
9.1WhichDatadoweNeedforBoardManufacture?......................285
GerberPlotData.........................................................................286
GERBER_RS274X.....................................................................286
GERBERAUTOandGERBER....................................................287
DrillData....................................................................................287
EXCELLON...............................................................................287
EXCELLON_RACK....................................................................287
SM1000andSM3000..............................................................288
FurtherDrillDataDevices........................................................288
PrototypeManufactureWithaMillingMachine.........................288
outlines.ulp..............................................................................288
milloutlines.ulp.......................................................................288

16

Table of Contents
FilmGenerationUsingPostScriptFiles.......................................289
PrintingonaFilm.......................................................................289
DataforPickandplaceMachinesandIncircuitTesters............290
Documentation...........................................................................290
PartsList..................................................................................290
DrillPlan..................................................................................291
DrillLegend.............................................................................292
AssemblyVariants......................................................................293

9.2RulesthatSaveTimeandMoney...............................................293
9.3QuickGuideforDataOutput......................................................294
Jobgerb274x.cam......................................................................294
Jobexcellon.cam........................................................................295
Jobgerber.cam...........................................................................297

9.4WhichFilesdoINeedformyBoard?.........................................298
FilesList.....................................................................................298
PlaceholdersforOutputFileNameGeneration........................300
HintsConcerningFileExtensions:............................................301

9.5PeculiaritiesofMultilayerBoards...............................................301
InnerLayers...............................................................................301
DrillDataforMultilayerBoardsWithBlindandBuriedVias......301

9.6SetOutputParameters...............................................................302
9.7AutomatingtheOutputwithCAMProcessorJobs.....................305
DefiningaNewCAMJob...........................................................305
Extendinggerber.camJobforMultilayerBoards........................306
ErrorMessage:AperturesMissing..............................................307
GerberInfoFiles.........................................................................307
DrillDataGenerationwithSeparateRackFile...........................308
DefineaDrillConfiguration(Rack)File...................................308
DefineJobforDrillDataOutput..............................................308
DrillInfoFile............................................................................309

9.8DeviceDriverDefinitionineagle.def..........................................309
CreatingYourOwnDeviceDriver..............................................309
Example1:Gerber(auto)device,Millimetre............................310
Example2:EXCELLONDevice,OutputwithLeadingZeros.....310
UnitsintheApertureandDrillTable.........................................311

9.9GerberFilesforPhotoplotterswithFixedApertureWheels.......311
DefiningtheApertureTable(Wheel).........................................312
ApertureEmulation....................................................................312

Chapter10Appendix.................................................................313
10.1LayersandtheirUsage.............................................................313
17

Table of Contents
InLayoutandPackageEditor.....................................................313
InSchematic,Symbol,andDeviceEditor...................................314

10.2EAGLEFiles..............................................................................314
10.3EAGLEOptionsataGlance......................................................315
10.4ConfigurationoftheTextMenu...............................................318
10.5TextVariables...........................................................................319
10.6OptionsforExpertsineaglerc..................................................320
CAMProcessorSuppressDrills/HolesWarning.....................320
ChangeComponentValueWarning.........................................320
ConsistencyCheck....................................................................320
DeleteWireJoints....................................................................320
DeviceNameasValueforallComponents...............................321
DisableCtrlforRadiusMode...................................................321
GroupSelection.......................................................................321
LoadMatchingFileAutomatically............................................321
NameofNet,Busses,SignalsandPolygons.............................321
OpenProject............................................................................321
PanningDrawingWindow.......................................................322
PolygonEdgesasContinuousLines.........................................322
RepositionoftheMouseCursor...............................................322
UnitsinDialogs........................................................................322

10.7ErrorMessages.........................................................................323
WhenLoadingaFile...................................................................323
Restringsmallerthaninolderversion.....................................323
Libraryobjectswiththesamenames.......................................323
Pad,ViaReplacedwithaHole.................................................324
Skippedunsuitableobjects.......................................................325
Can'tUpdateFile......................................................................325
InaLibrary.................................................................................326
Package/Symbolisinuse.........................................................326
IntheCAMProcessor.................................................................327
Polygonmaycauseextremelylargeplotdata..........................327
IntheLight,FreeTrialorStandardEdition................................327
Can'tperformtherequestedaction..........................................327

10.8EAGLELicenseAgreement........................................................327

Index.........................................................................................339

18

Chapter 1
Introduction
ThismanualdescribestheuseoftheEAGLEsoftwareanditsbasicprinciples.
Theorderofchaptersfollowsthetypicalprocessfromdrawingaschematicto
areadytouselayout.

1.1 What is in this Manual?


Achapter'smainheadingisintendedtotellyoubrieflywhatthecontentsof
thatchapterare.Hereinthefirstchapterwewanttogiveaquickoverview
whatyoucanexpectfromthismanual.
Chapter1Introduction
Containsapreviewofthemanualandinformsyouaboutthemost
importantchangescomparedtothepreviousversion.
Chapter2Installation
Dealswiththeprogram'sinstallation.
Chapter3EAGLEModulesandEditions
Explainsthevariousprogramvariants.
Chapter4AFirstLookatEAGLE
Givesapreviewoftheprogram'sstructureanddescribesthe
editorwindowsandtheircommands.
Chapter5PrinciplesforWorkingwithEAGLE
ExaminesthebasicwaysofusingandconfiguringEAGLE.
Chapter6FromSchematictoFinishedLayout
Followstheroutefromschematictolayout.
Chapter7TheAutorouter
DedicatedtotheAutoroutermoduleanditsconfiguration.
Chapter8ComponentDesignExplainedthroughExamples
Explainsthedefinitionoflibrarycomponentsthroughexamplesand
informsaboutlibraryandcomponentmanagement.
Chapter9PreparingtheManufacturingData
Everythingyouneedtoknowaboutgeneratingmanufacturingdata.

19

1 Introduction
Chapter10Appendix
Listsusefuladditionalinformationandexplainssomeerrormessages
EAGLEpromptsincertainsituations.
Foraquick,handsonintroduction,refertotheEAGLETutorial.Pleaseread
thetutorialforabetterunderstandingbeforeworkingwiththemanual.

1.2 Important Changes


Anybodywhohasalreadybeen working with apriorversion ofEAGLE is
advisedtoreadthefileUPDATEunderLinuxandMacorUPDATE.TXTunder
Windows.Itcontainsadescriptionofallthedifferencesfromearlierversions.
Thisfileislocatedintheeagle/docdirectory.Pleasereaditbeforeyoustart
workingwiththenewEAGLE.
Informationthatwasnotavailableorthathasbeenchangedsincefinishing
thismanualisalsodescribedinUPDATEorUPDATE.TXT,or,ifexisting,ina
READMEfile.
Detailedinformation,especiallyabouttheEAGLEcommandlanguageandthe
EAGLEUserLanguage,isavailableonthehelppages.Youcanreachabasic
understanding very quickly by using this manual, and you can use the
convenientsearchfeaturesofthehelpfunctiontoquicklylocatetheanswers
toparticularquestions.
Themostimportantchangescomparedtothepreviousversionarementioned
here:

Table of Contents in the Library Editor


V7.3AfteropeningtheLibraryEditoratableofcontentswiththeDevices,
PackagesandSymbolsofthislibraryisshown.Throughthecontextmenuof
anentryyoucaninitiatedifferentactions,likerename,remove,edit.Itisalso
indicated which Symbols or Packages are used in a Device or by which
Device(s)isaPackageoraSymbolused.
The ADD dialog in the Device Editor has now a preview for the symbols
available.

Improved Tree View in the Control Panel


V7.3 Thetreeview hasanew branchDocumentationthatallowsdirect
accesstomanualsanddocumentation.TheLibrariesbranchnowshowsthe
Symbols.PackagesandSymbolsareshowinseparatefoldersnow.Additional
files,likePDF,JPG,BMPareshowninthetreeview.

Hierarchical Schematic Design


V7.0Itispossibletocreateastructuredschematicthatcontainssubunits,
called modules. Modules are smaller parts of a schematic, which will be
represented in the main level of the schematic by module instances. The
20

1.2 Important Changes


individual module instances are represented as simple symbols (blocks).
Moduleinstancesareconnectedbynetsviaports.Thehierarchicalstructure
canhaveanarbitrarydepth.

New Icon Design


V7.0TheuserinterfaceofEAGLEshowsupwithanewsetoficons,which
isshownbydefault.Itispossibletoswitchbetweenthenewandtheclassic
design.

Autorouter
V7.0 The EAGLE Autorouter now supports the calculation of multiple
autorouterjobsatatimeandtheuseofmulticoreprocessors.Therearenew
setup options, such as the automatic choice of the routing grid, or
automaticallydeterminingthepreferreddirectionsinthesignallayers.The
settingfor effortdeterminesthenumberofcalculatedroutingjobs.Eachof
theproposedjobscanbecustomized.
Inaddition,thereisthepossibilitytousethesocalledTopRouterasakindof
prerouter. It works with a new gridless algorithm which first tries to
establish the connections and then uses the classic EAGLE Autorouter for
optimization.

New Commands
V7.0MODULE Createamoduleandinsertamoduleinstance
inahierarchicalschematic
V7.0PORT

Definitionofaportforamoduleinstance

1.3 General Comments About EAGLE


Component Libraries
ThecomponentlibrariessuppliedwithEAGLEhavebeencompiledwithgreat
care as an additional service to you, our customer. However, the large
numberofavailablecomponentsandsuppliersofthesecomponentsmeans
thattheoccasionaldiscrepancyisunavoidable.Pleasenote,therefore,that
CadSoft takes no responsibility for the complete accuracy of information
includedinlibraryfiles.
Pleasenotethatlibrariesarenotnecessarilyidenticaltoformerlibrarieswith
thesamename.Therefore,itisadvisabletobackupyouroldlibrariesbefore
installingthenewones.
Additionalnewlibraries,thathavenotyetbeenofficiallyreleased,canbe
found on CadSoft's internet site in the download section of
www.cadsoftusa.com.

21

1 Introduction

1.4 Technical Terms


Inthismanual,inthehelpfunction,andinEAGLEitselfwefrequentlyuse
sometechnicaltermsthatshouldbeexplainedhereinafewwords.
Airwire:
Unroutedconnectiononaboard,displayedintheunroutedlayer(=rubber
band).
BlindVia:
Aplatedthroughholeforchangingthelayerofatrackwhichhasnotbeen
drilledthroughalllayersintheproductionprocessofamultilayerboard.
BuriedVia:
Aplatedtroughhole,whichhasbeendrilledthroughthecurrentlayerstack
intheproductionprocesslikeanormal(through)via,butdoesnotconnect
alllayersofthewholeboard.
Core:
Twocopperlayersappliedtoasolidsubstrate.
DesignRuleCheck(DRC):
EAGLEcanidentifytheviolationofcertainDesignRules(e.g.iftwodifferent
tracksoverlaporaretooclose)withtheDRC.
Device:
Afullydefinedelementinalibrary.ConsistsofatleastonePackageandone
Symbol.
DeviceSet:
ConsistsofDevicesthatusethesameSymbolsfortheSchematicbuthave
differentPackagevariantsortechnologies.
Drill:
Platedthroughdrillinginthelayout(inpadsandvias)
ElectricalRuleCheck(ERC):
EAGLEcanidentifytheviolationofcertainelectricalrules(e.g.iftwooutputs
areconnected)withtheERC.Italsocheckstheconsistencyoftheschematic
andthelayout.
FollowmeRouter:
ThemanualROUTEcommandoffersanoperatingmodethatcalculatesand
displays the connection of a selected signal automatically. The current
positionofthemousecursordeterminesthetraceoftheconnection.Only
availablewiththeAutoroutermodule.
Forward&BackAnnotation:
Transformsalltheactionsonemakesinaschematiconlineintothelayout
(andwithlimitationsfromlayoutintoschematic).Bothfilesareconsistentall
thetime.
Gate:
ThetermGateisusedinthismanualforapartofacomponentwhichcanbe
individually placed on a schematic. This can be one Gate of a TTL

22

1.4 Technical Terms


component, one contact pair in a relay, or an individual resistor from a
resistorarray.
Hole:
Nonplatedthroughdrillinginthelayout(e.g.amountinghole).
LayerStack:
Currentnumberandorderofcopperandisolationlayerswhichareusedto
buildupaprintedcircuitboard.
Microvia:
Aplatedthroughhole(likeBlindvia)witharelativelysmalldrilldiameter
whichconnectsanouterlayerwiththenextreachableinnerlayer.
Module:
Asubunitofthehierarchicalschematicthatcontainsasmallerpartofthe
schematic
Moduleinstance:
A simple symbol in a superior level in the hierarchical schematic that
representstheusageofamodule.
Net:
Electricalconnectioninaschematic.
Package:
Componentfootprintstoredinalibrary.
Pad:
ThroughholepadassociatedwithaPackage.
Pin:
ConnectionpointonaSchematicSymbol.
Port:
Similar to a pin, the port connects module instances in the hierarchical
diagramwithnets.
Prepreg:
Usedinacompoundofinnerandouterlayersformultilayerboards.
Rack:
Configurationtableforadrillingmachine.Neededforgeneratingdrilldata.
Ratsnest:
Commandforcalculatingtheshortestairwiresandforhidingordisplaying
certainairwiresforabetteroverview.
Restring:
Pronunciation:restring.Settingthatdeterminesthewidthofthecopperring
aroundaplatedthroughholeofapadorvia.
Signal:
Electricalconnectioninaboard.
SupplySymbol:
Representsasupplysignalintheschematic.CausestheERCtorunspecial
checks.
23

1 Introduction
Symbol:
Schematicrepresentationofacomponent,storedinaLibrary.
UserLanguage:
Freelyprogrammable,Clikelanguagefordataimportandexport.
Via:
Platedthrough holeforchangingthe layer ofatrack.See also Micro via,
Blindvia,andBuriedvia.
Wheel:
Aperture configuration file. Generated with Gerber data for board
manufacturing.
Wire:
Electricalconnectioninaboard,ora line(sincelinesaredrawnwiththe
WIREcommand).

24

Chapter 2
Installation
2.1 What You Need
For installing EAGLE you need to have an EAGLE installation file, your
personalinstallationcode,andtheappropriatelicensefile.
Ifyouhaveaskedforanupgradeforanexistingcurrentinstallationorforan
extensionofyourlicense,youdon'thavetoinstallEAGLEanew.Yournew
installation code and its appropriate license file will update your existing
license.
IfyouintendtoinstalltheEAGLEFreeware,theEAGLEinstallationfileisall
youneed.
Keeptheyourpersonalinstallationcodeinasafeplace,inaccessibleto
unauthorizedpersons!Nevergivethelicensefileorinstallationcodeto
others! Never send your installation code by email to CadSoft or to
anyoneelse.

2.2 Installation of the EAGLE package


On the CadSoftwebsite youwill alwaysfind the newest installation files.
FirstdownloadthecurrentEAGLEpackageaccordingyouroperatingsystem
fromtheCadSoftwebsite.EAGLEisavailableforWindows,LinuxandMac
OSXin32bitand64bitpackages.
Afterinstallation,youdecidehowtouseEAGLE:Inoneofthefreeversions
asFreeware ortimelylimitedFree Trial, oraslicensed softwarewith the
modulesspecifiedinyourorderandinacorrespondingnumberofusersand
edition.Inthiscasekeepreadyyourpersonallicensedata,consistingofyour
licensefile"serialnumber".keyandtheinstallationcode.

Windows
EAGLEforWindowsisavailableasaselfextractingarchive,whichisnamed,
forexample,eaglewin327.3.0.exeoreaglewin647.3.0.exe.Doubleclickthis
fileandtheWinZipSelfExtractorwindowwillappear.Theinstallationroutine
starts with extracting thefilesfromthearchive. Clickthe Setup buttonto
begintheinstallationroutine.
25

2 Installation
Theversionnumberinthefilenamemay,dependingonthecurrentversion,
differ.
Nowtheactualinstallationstarts.Followtheinstructionsstepbystep.
AttheendofthisprocessyouwillbeaskedhowyouprefertolicenseEAGLE:
UseLicensefile
ThisimpliesthatyouhavealreadyboughtanEAGLElicense.Inthiscase
the following dialog asks you for the path to your license file
"serialnumber".keyandforyourpersonalinstallationcodewhichyouhave
gotfromCadSoft.
UseFreeTrialCode
Ifyouregisteredat http://www.element14.com/eaglefreemium andgota
FreeTrialcode,usethisoption.
RunasFreeware
EAGLEwillbelicensedwiththelimitsoftheLightEdition.It'spossibleto
upgradetoapurchasedlicensewithoutreinstallationatanytime.
Don'tlicensenow
postponesthelicensingonthefirstEAGLEstart.
TheWindowsStartmenuortheAppViewnowcontainsanewentryEAGLE
LayoutEditor7.3.0.TutorialandmanualinPDFfileformatarealsopartof
theinstallation.
UninstallingEAGLEcanbedonebyusualmeansofyouroperatingsystem
usingWindowsuninstalltools.

Linux
EAGLEforLinuxisavailableasselfextractingshellscriptwithsetupdialog.
YoumayinstalltheprogramasRoot/AdministratororasanormalUser.
Initiatetheinstallationprocessinafilemanagerwithadoubleclickonthe
shell script file eaglelin327.3.0.run or eaglelin647.3.0.run depending on
thearchitectureofyourLinuxdistribution.
Pleasecheck,whetherthefileismarkedasexecutablebefore.Ifthisisnotthe
case, you could, for example, use the chmod command in the console to
changeitsattributes.
Youcanstarttheshellscriptformtheconsole,aswell,bytyping:
/path_to_file/eagle-lin-7.3.0.run
Theversionnumberinthefilenamemaydiffer,dependingonthecurrently
availableEAGLEversion.
Theinstallationroutinestartswithextractingthefilesfromthearchive.Then
theactualinstallationprocessstarts.Followtheinstructionsstepbystep.
AttheendyouwillbeaskedhowyouwanttolicenseEAGLE:

26

2.2 Installation of the EAGLE package


UseLicensefile
ThisimpliesthatyouhavealreadyboughtanEAGLElicense.Inthiscase
the following dialog asks you for the path to your license file
"serialnumber".keyandforyourpersonalinstallationcodewhichyouhave
gotfromCadSoft.
UseFreeTrialCode
Ifyouregisteredat http://www.element14.com/eaglefreemium andgota
FreeTrialcode,usethisoption.
RunasFreeware
EAGLEwillbelicensedwiththelimitsoftheLightEdition.It'spossibleto
upgradetoapurchasedlicensewithoutreinstallationatanytime.
Don'tlicensenow
postponesthelicensingonthefirstEAGLEstart.
TostartEAGLE,executebin/eagleintheinstallationdirectory.
TutorialandmanualinPDFfileformatarealsopartoftheinstallation.They
arestoredinthesubfolderdocoftheEAGLEinstallationandcanbeaccessed
directlyintheDocumentationbranchofthetreeviewintheControlPanel.
DeletetheentireEAGLEdirectory,ifyouwanttouninstallEAGLE.

Mac OS X
In order to start the installation process doubleclick onto the icon that
represents the EAGLE archive which is named, for example, eaglemac32
7.3.0.zipforthe32bitversionoreaglemac647.3.0.zipforthe64bitarchive.
Thearchivewillbeextractedautomatically.Anewfoldericonnamedeagle
macxx7.3.0.pkgwillappearontheDesktopnow.Clickitwiththemouseand
theinstallationprocessstarts.
Theversionnumberinthefilenamemaydiffer,dependingonthecurrent
EAGLEversion.
Followtheinstructionsstepbystep.
ConfirmtheEAGLESoftwareLicenseAgreementbyclickingContinue,ifyou
agreewithit.Ifnot,youcanaborttheinstallationbyclickingthe Goback
button.
ThenextstepsetsuptheEAGLEdestinationfolderandpossiblyadestination
volume.Byclicking Continue youacceptthesuggesteddirectory.Clickthe
Choose buttonandyoumayselectanyotherlocationfortheEAGLEfolder.
After confirming the installation path the files are copied into the EAGLE
folder.
AfterfinishingtheinstallationyouareabletostartEAGLEbyclickingthe
EAGLEiconintheFinder'sApplications/EAGLEentry.
Whilestarting EAGLE forthefirst time,youwill beasked howtolicense
EAGLE:

27

2 Installation
UseLicensefile
ThisimpliesthatyouhavealreadyboughtanEAGLElicense.Inthiscase
the following dialog asks for the path to your personal license file
serialnumber.key and for your personal installation code you have got
fromCadSoft.
UseFreeTrialCode
Ifyouregisteredat http://www.element14.com/eaglefreemium andgota
FreeTrialcode,usethisoption.
RunasFreeware
EAGLEwillbelicensedwiththelimitsoftheLightEdition.It'spossibleto
upgradetoapurchasedlicensewithoutreinstallationatanytime.
TutorialandmanualinPDFfileformatarepartoftheinstallationandare
locatedinthedocfolderoftheEAGLEinstallation.
IncaseyouwanttouninstallEAGLEfromyourcomputer,simplydeletethe
EAGLEentryintheFinder'sApplicationsfolder.

2.3 Updating an Older Version


First Back up, Then Install
Forreasonsofsafetyitisgoodpracticetocreateabackupofyourprevious
databeforeproceeding!
YoushouldfollowthesameproceduredescribedinthesectiononInstallation
onpage25.ThenewEAGLEreleasewillbeinstalledintoanewfolderwith
itssubfoldersforLibraries,Scriptfiles,UserLanguageProgramsandsoon.
AfterstartingEAGLEforthefirsttime,pleasecheckthepathsettingsinthe
ControlPanel'sOptions/Directories..menu.
ThepathsettingsaretakenfromtheEAGLEconfigurationfileeaglerc(.usr),if
existing, from a previous EAGLE version installed. Modify the settings if
necessary.Thevariable$EAGLEDIRstandsforthecurrentEAGLEinstallation
directory.
Please read the file update.txt in the EAGLE/doc directory, in order to
familiarize yourself with the changes in the new version of the program.
AdditionalnotesoninstallinganupdatemaybefoundinthelatestREADME
files.

Notes on Library Files


AllfilesfrompreviousversionscanbeusedwiththenewEAGLEversion.
Please check which library files are in use, and available for the ADD
command.TomakesurethatyouareworkingwiththoseofthenewEAGLE
versionyoushould,forexampleintheSchematicEditor,typethefollowing
commandinthecommandline
USE -*
Thisremovesalllibrariesfromthebuffer.Thentype
28

2.3 Updating an Older Version


USE *
toloadalllibrariesofthecurrentlygivendirectoryorotherdirectories.
Theinformationaboutlibraries inuse isstoredinthe eagle.epf fileofthe
currentlyactiveproject.
IfyouhaveaddednewDevicestoexistinglibraries,youshouldrenameand
copytheselibrariestoaseparatefoldertoavoidoverwriting,muddlingup
fileswithnewerorolderones,andintheworstcaseloosingyourworkprior
toupdating.ThissameruleholdstrueforULPsandScriptfilesaswell.

In Case of Changes in the File Data Structure


Incaseofanupdatewhereitwasnecessarytochangethefiledatastructure,
itmaybewisetosaveyourownlibraryfilesfromtheearlierversioninthe
new EAGLE. Expanding the tree view's library preview or showing all
librariesbythefirstADDcommandcauseadditionaltimeinscreenupdate
viewing,dependingonyourcomputerspeed.EAGLEhastoupdatethefiles
temporarilytothenewfileformatbeforeshowingthelibraries'contents.
Incaseyouhavealotoffiles,thereisaquickandcomfortablewaytosolve
thisissue.Youneedtwotoolstoachievethis:
TheUserLanguageProgram runloopalllbrscript.ulpandaScriptfilethat
containsoneline:
WRITE;
EditoneofthelibraryfilesthatshallbeupdatedandstarttheULP.Youwill
beaskedfortheScriptfiletobeexecuted,thenalllibrarieswhichareinthe
samedirectorywillbeupdated.
The data structure of the library files remains unchanged in the
transitionfromversion6toversion7!
Filesfromearlierversionscanbeuseddirectlywiththecurrentone.In
casethefilesweremadewithaversionpriortoEAGLE2.60youhaveto
convert them with a program named Update26.exe running under
Windows.Detailedinformationaboutthiscanbefoundonpage325.

2.4 Changing or Extending the License


If you are changing your license you will receive new installation code
togetherwithanewlicensefile"serialnumber".key.
RunEAGLE,andselecttheitem EAGLElicense...intheControlPanelunder
theHelpmenu.ClickonUselicensefileandyouwillbeaskedforthepathto
the"serialnumber".keyfile.Chooseitandthentype,inthesecondline,your
personalinstallationcode.ThenclickOK.

29

2 Installation

TheLicenseDialog
Theprogramhasnowbeenrelicensed.Youcancallupthelicensedataat
any time in the EAGLE Control Panel by means of the Help/Product
Informationmenu.
Soyoucanupgradeanalreadyinstalled LightEditionwithaProfessional
Edition,forexample.

2.5 Multiple User Licenses


Multipleuserlicensesmaybeinstalledseparatelyondifferentcomputers,or
maybeusedinanetworkwithinthescopeofthelicenseconditions.The
installationprocedureinanetworkisgenerallythesameasthatonastand
alone computer, and is described in the section on New Installations on
page25.

Notes for Installing in a Network


Theuserrightsofmultipleuserlicensesdifferfromthoseofthesingleuser
version.Thesoftwareitselfdoesnotcontainanyspecialnetworkmechanism,
andcanthereforebeusedonmostnetworks.
Atypicalinstallationmaybeperformedasthefollowing:
TheEAGLEprogramisinstalledonaserver.Library,design,ULP,projectand
otherdirectoriescanbefreelychosen.
After installation, EAGLE is started and licensed from one of the
workstations.ThisrequireswriteaccessinthesubdirectorybinoftheEAGLE
directory. The license file eagle.key that has been created is not changed
againaftertheinstallation.Writeaccessisnolongerrequired.
EAGLEcannowbecalledfromalltheotherworkstations.
PleaseensurethatalltheworkstationscallEAGLEinthesamewayaswas
usedwhenlicensing.
Aprivateworkingdirectory(localoronthenetwork)cannowbesetupfor
eachcomputer.Auserspecificconfigurationfile(eaglerc.usrunderWindows,
or .eaglerc under Linux orMacOSX)islocated inthisdirectory.Further
subdirectoriescanthen,forinstance,containindividualprojects.
Alternatively it is possible for each computer on which EAGLE is to be
availabletohaveaseparatelicense.Inthiscase,copytheeagle.keyfilethat
wascreatedintheEAGLEprogramdirectory(eagle/bin)intothecomputer's
30

2.5 Multiple User Licenses


private working directory. When first starting the program, enter the
installationcodeandthepathtothelicensefile"serialnumber".key.
Thisprocedureisrecommended,forinstance,formultipleuserlicensesfor3
to5userswhowillonlyworkatspecificcomputers.
Innetwork situationsitissuggested thatallusers accessonelocationfor
Library,ULP,Script,etc.Thisshouldbeasinglenetworklocationfolder.This
precautionisrecommendedbecauseanycustomDevice,ULP,Scriptcreated
byoneusercannowbeutilizedbytheentireteam.

Special Instructions Under Windows


Path Information
Ithasbeen foundtobehelpfultouse theserver namesin UNCnotation
whengivingthepathforcallingEAGLE,ratherthanthedriveletters. For
example:
\\netservername\eagle\bin\eagle.exe

Different Operating Systems at the Working Computers


IfnetworkcomputershavingdifferentWindowssystemsareinuse,itisfirst
necessarytoperformaninstallationasdescribedabove.
Thefollowingsituationcanarise:
Allthecomputersthatareusing,forinstance,WindowsXPcanrunEAGLE.
ComputerswithWindows7,however,cannot.Inordertobeabletooperate
the computers running Windows 7 as well, copy the files eagle.exe and
eagle.key,locatedinthe eagle\bin directoryontheserver,to,forinstance,
eaglexp.exe and eaglexp.key.NowstartallthecomputersthatrunWindows
XP,usingthecommand
EAGLEXP
ThenstartEAGLEfromacomputerwithWindows7,andlicenseitagainwith
theinstallationcodeandthelicensefile.Theeagle.keyfileisthenvalidforall
theWindows7computers.Theprogramisrunwith
EAGLE
You need write authorization for the eagle\bin directory to perform the
copyingandlicensing!

2.6 Language Settings


EAGLEdecides due totheoperatingsystems'languagewhich language to
use.Ifthesystems'language,forexample,issettoGerman,EAGLEwilluse
Germanlanguage.Incaseyoudon'tliketheautomaticallyselectedlanguage,
youhavethefollowingpossibilitiestochangeit.

31

2 Installation

Windows
EAGLE takes care on a variable named LANG. For changing it go to the
WindowsControlPanelwhereyoucandefineenvironmentvariables.Setup
avariablenamedLANG.Forenglish languagethevalueistypicallysetto
en_US or en_GB. For german language the value should be set to de_DE,
de_CH,orde_AT.IncaseyouwouldliketouseabatchfiletostartEAGLE,it
couldlooklikethis:
SET LANG=en_GB
cd C:\Program files\eagle-7.x.x
start \bin\eagle.exe

Thisisofuse,ifthereareotherapplicationsthatreactontheLANGvariable.
ThebatchaffectsEAGLE,only.

Linux and Mac OS X


ThesameasdescribedfortheWindowsEAGLEcanbedoneforLinuxand
MacOSX.Thereyouhavetodefinethevariablewiththesystems'EXPORT
command.
YoucouldalsouseascriptfileinordertostartEAGLE:
LANG=en_US
/home/user/eagle-7.x.x/bin/eagle

EAGLEisplannedtosupportmoreandmorelanguages.Pleaserefertothe
fileUPDATE.txtforinformationaboutcurrentlysupportedlanguages.

32

Chapter 3
EAGLE Modules and Editions
3.1 EAGLE Modules
AnumberofEAGLEeditionsareoffered.YoucanaddanAutorouterModule
and/oraSchematicEditortotheLayoutEditor.
AstandaloneSchematicEditorcanbeusedfordrawingwiringdiagrams.In
thiscaseyouwon'tneedtheLayoutEditor.Theuserinterfaceisidenticalfor
allpartsoftheprogram.

The Layout Editor


TheLayoutEditor,whichallowsyoutodesignPrintedCircuitBoards(PCBs)
comeswith theLibrary Editor, theComputer Aided Manufacturing (CAM)
Processor, and the Text Editor. With the Library Editor you can already
design Packages (footprints), Symbols and Devices (for a schematic). The
CAM Processor is the program which generates the output data for the
productionofthePCB(e.g.Gerberordrillfiles).ItisalsopossibletouseUser
LanguageprogramsandScriptfiles.

Schematic Editor
The Schematic Editor without Layout Editor is applicable for drawing
electrical wiring diagrams (connection scheme, contact plans...). The
SchematicEditorcomes,aswellastheLayoutEditor,withthefullLibrary
EditorfordesigningSymbolsfortheSchematicandPackagesfortheLayout,
withtheCAMProcessor,andtheTextEditor.YoucanalsouseUserLanguage
programsandScriptfiles.
IfyouwanttodrawSchematicdiagramsforelectronicsystemsyoushould
haveSchematicandLayout Editor.Youcangeneratetheassociatedcircuit
boardatany timewithamouseclick.EAGLE thenchangestotheLayout
Editor,wherethepackagesareplacednexttoanemptyboardconnected
viaairwires(rubberbands).Fromhereyoucangoondesigningwiththe
Layout Editor as usual. Schematic and layout are automatically kept
consistentbyEAGLE(Forward&BackAnnotation).Schematicdiagramscan
consistofamaximumof999sheetsintheProfessionalEdition(99sheetsin
theStandardEdition).OntheleftsideoftheSchematicEditorwindowthe
previewofthesheetsisdisplayed.

33

3 EAGLE Modules and Editions

Autorouter
You can have airwires routed automatically if EAGLE has the Autorouter
module. You can choose single nets, groups of nets or all nets for the
automatic routing pass. The program will handle various network classes
havingdifferenttrackwidthsandminimumclearances.
TheAutorouteralsoservesasbasicengineoftheFollowmerouter.Thisisan
advancedoperatingmodeoftheROUTEcommandformanualrouting,which
calculatesanddisplaysthetraceofaselectedsignalautomatically.

3.2 Different Editions


EAGLE offers various performance/price categories (editions) called Light,
Free Trial, Standard, and Professional. The facilities mentioned in this
manualalwaysrefertotheProfessionaledition.

Professional Edition
General
maximumdrawingarea150x150inches
resolution0.003125m
mmorinchgrid
upto255drawinglayers
command(Script)files
ClikeUserLanguagefordataexportandimportandthe
realizationofselfdefinedcommands
Fullydocumented,readableXMLdatastructure
easylibraryediting
compositionofselfdefinedlibrarieswithalreadyexisting
elementsbyDrag&Drop
easy generation of new Package variants from other libraries by
Drag&Drop
freerotationofpackagevariants(0.1degreesteps)
arbitrarypadshapesinthePackageEditor
librarybrowserandpowerfulcomponentsearchfunction
technologysupport(e.g.74L00,74LS00..)
easydefinitionoflabelleddrawingframes
freedefinableattributes,applicableforDevicesintheLibrary
andinSchematicorLayout
supportofassemblyvariants
easytousedimensioningtool
34

3.2 Different Editions


mergingofdifferentprojectswithmaintainingconsistency
(DesignReuse)
integratedPDFdataexportfunction
exportfunctionforgraphicfiles(BMP,TIF,PNG...)
printoutsviatheOS'sprinterdriverswithprintpreview
partlistgenerationwithdatabasesupport(bom.ulp)
Drag&DropintheControlPanel
userdefinable context menu with objectspecific commands for all
objects,availablethrougharightmouseclick
propertiesofobjectscanbeaccessedandeditedviacontextmenu
automaticbackupfunction

Layout Editor
fullSMDsupport
supportofBlindandBuriedvias
rotationofobjectsinarbitraryangles(0.1degreesteps)
componentscanbelockedagainstmoving
textscanbeplacedinanyorientation
dynamiccalculationofsignallineswhileroutingthelayout
magneticpadsfunction
trackscanbelayedoutwithroundedcornersinanyradius
miteringtosmoothwirejoints
DesignRuleCheckforboardlayouts(checkse.g.overlaps,
measuresofpadsortracks)
copperpouring(groundplains)
Packagevariantssupport
DifferentialPairrouting
automaticcreationofmeandersforlengthcompensationofsignals
userdefinable,freeprogrammableUserLanguagetogeneratedatafor
mountingmachines,testequipments,millingmachinesoranyother
dataformat
output of manufacturing data for pen plotters, photo plotters and
drillingmachineswiththeCAMProcessor

Schematic Editor
Schematicscanbedesignedinahierarchicalstructure:modulesare
representedbymoduleinstancesandconnectedthroughportsinthe
topleveloftheschematic.
thehierarchycanreachanydepth
35

3 EAGLE Modules and Editions


upto999sheetsperschematic
iconpreviewforschematicandmodulesheets
sortingsheetsofmodulesandschematicwithDrag&Drop
crossreferencesfornets
automaticgenerationofcontactcrossreferences
simplecopyingofparts
replace function for parts without loss of consistency between
schematicandlayout
OnlineForward&BackAnnotationbetweenschematicandboard
automaticboardgeneration
automaticgenerationofsupplysignals
ElectricalRuleCheck(errorcheckintheSchematicandconsistency
checkbetweenSchematicandLayout)

Autorouter Module
fullyintegratedintobasicprogram
TopRouterwithgridlessroutingalgorithm,whichcanbeprecededby
theAutorouter
optionalautomaticselectionofroutinggridandpreferreddirections
inthesignallayers
support for multicore processors to process multiple routing jobs
simultaneously
usesthesetofDesignRulesyoudefinedforthelayout
changebetweenmanualandautomaticroutingatanytime
basicenginefortheFollowmerouter,atoolthatsupports
youinmanualrouting;thetraceofaselectedsignalwillbe
calculatedautomatically
ripup&retryalgorithm
userdefinablestrategy(bycostfactors)
routinggriddownto0.8mil(0.02mm)
noplacementrestrictions
upto16signallayers(withuserdefinablepreferreddirections)
fullsupportofBlindandBuriedvias
takesintoconsiderationvariousnetclasses

Standard Edition
ComparedtotheProfessionalEditionthefollowingrestrictionsapplytothe
StandardEditionintheLayoutEditor:

36

3.2 Different Editions


Thelayoutareaisrestrictedtoamaximumof160x100mm
(about6.3x3.9inches).Outsidethisareaitisnotpossibletoplace
Packagesanddrawsignals.
A maximum number of 6 signal layers are allowed (Top, Route2,
Route3,Route14,Route15,Bottom).
Aschematiccanconsistofamaximumof99sheets.

Free Trail
The Free Trial is a Free Premium Edition, which is available only after
registrationonhttp://www.element14.com/eaglefreemiumandhasthe
followinglimitations:
Theboardareaisrestrictedto100x80mm(about3.9x3.2inches),
whichcorrespondstohalfofaEurocard.
Only4signallayerscanbeused(Top,Route2,Route15,Bottom).
Aschematiccanconsistofamaximumnumberof4sheets.
TheFreeTriallicenseislimitedtoonesingleuserandcomputer,and
requiresanactiveconnectiontotheInternetinordertowork.
Thelicenseexpires30daysafterinstallation.

Light Edition
ThefollowingrestrictionsapplytotheEAGLELightVersion:
Theboardareaisrestrictedto100x80mm(about3.9x3.2inches).
OutsidethisareaitisnotpossibletoplacePackagesanddrawsignals.
Onlytwosignallayerscanbeused(noinnerlayers).
Aschematiccanconsistofonlyonesinglesheet.
Mergingofdifferentprojectsisnotsupported.
Doesnotsupporthierarchicalschematics.
Largerlayoutsandschematicscanbeprintedwiththesmallereditions.The
CAMprocessorcangeneratemanufacturingdataaswell.

37

3 EAGLE Modules and Editions

This
page
hasbeen
leftfree
intentionally.

38

Chapter 4
A First Look at EAGLE
4.1 The Control Panel
The Control Panel normally appears after starting EAGLE, and this is the
program'scontrolcenter.AllthefilesspecifictoEAGLEaremanagedhere,
and some basic settings can be made. It is similar to the familiar file
managersusedbyawidevarietyofapplicationsandoperatingsystems.Each
EAGLEfileisdisplayedinthetreeviewbymeansofasmallsymbol.
Acontextmenuisopenedbyclickingwiththemouseonanentryinthetree
view. This allows you, depending on the object, to carry out a variety of
actions,likerename,copy,print,open,createnewetc.GraphicsorPDFfiles,
forexample,willbeopenedwiththedefaultapplication.
The Control Panel supports Drag&Drop. This can also be done between
differentprograms.Youcan,forinstance,copyfiles,movethem,orcreate
linksonthedesktop.UserLanguageprogramsorscriptfilesthatarepulled
withtheaidofthemouseoutoftheControlPanelandintoaneditorwindow
are started automatically. If, for instance, you pull a board file with the
mouseintotheLayoutEditor,thefileisopened.
Thetreestructureprovidesaquickoverviewofthelibraries,Documentation,
DesignRules,UserLanguageprograms,scriptfiles,CAMjobsandprojects.
Speciallibraries,text,manufacturinganddocumentationfilescanbelongtoa
projectaswellasschematicdiagramsandlayouts.
Thefirsttimeitiscalled,theControlPanelwillappearverymuchasshown
inthefollowingdiagram.Ifanobjectisselectedinthetree view, further
relevantinformationorapreviewisdisplayedintherighthandpartofthe
window.
Simplyclickontovariousfoldersandfilesinordertoexperimentwiththe
ControlPanel'sfacilities.

39

4 A First Look at EAGLE

ControlPanel:Ontheright,thedescriptionoftheRCLlibrary

Documentation
The Documentation branch allowsdirect accessto the EAGLE tutorial and
manualavailableindifferentlanguages.Additionallytherecanbefoundthe
UPDATE and README files, and documentationfiles ofsomeoftheUser
Languageprograms.DoubleclickopensthefilewiththedefaultPDFreader
ortexteditor.

Library Summary
The possibility of displaying the contents of the libraries is particularly
interesting.ItprovidesaveryrapidoverviewoftheavailableDevices.
Expandthe Libraries entry,andyoucanseetheavailablelibraries. Inthe
Descriptionfieldyoucanseeabriefdescriptionofthecontents.Ifalibraryis
selected,youwill seemoreextensive informationaboutthelibrary inthe
righthandpartoftheControlPanel.Ifyouthenexpandalibraryentry,the
contentswillbedisplayedtogetherwithashortdescriptionofeachelement.
DevicesandPackagesaremarkedwithasmallicon.
Nowselect,forexample,aDevice:
ThedescriptionoftheDeviceandagraphicalrepresentationofitappearon
theright.TheavailablePackageandtechnologyvariantsarelisted.Ifyou
clickontooneofthePackageversions,thePackagepreviewshownabovewill
change.

40

4.1 The Control Panel


IfaSchematicEditorwindowisopen,theentry ADDwillbeshownrightof
thevariantname.ClickitandtheDeviceisattachedtothemousecursoras
soonasitisovertheSchematicEditorwindow.Nowyoucandropitinthe
schematic.
If you are only working with the Layout Editor, this will of course also
operatewithPackages.Itis,additionally,possibletodragaDevicefromthe
tree view into a schematic diagram and to place it there by means of
Drag&Drop.IfithasmorethanonePackageversion,theADDdialogopens
automatically,sothatthedesiredPackagecanbeselected.
Thegreenmarkerbehindthelibraryentryindicatesthatthislibraryisinuse.
Thismeansthatitcanbeusedinthecurrentproject.Devicesinthislibrary
willbeexaminedbythesearchfunctionintheADDdialogoftheschematic
diagram or of the layout. This makes them available for the project. The
librarywillnotbeexaminedifthemarkingisgray.

ControlPanel:LibrarysummarywithDeviceview
IfstartingEAGLEwithoutaproject(noeagle.epffileisread,theprojecthas
beenclosedbeforeexitingEAGLElasttime)andcreatinganewproject
( File/New/Project) all libraries will be in use automatically. However,
openinganalreadyexistingproject,whereonlycertainlibrariesare inuse
beforecreatingthenewproject,willadoptthisselection.
IftheLibraryEditorwindowisopenyoucanDrag&DropacompleteDevice
setorPackagedefinitionfromtheControlPanelintothelibrarywindow.This
wayyoucancopyitfromonelibraryintoanother.

41

4 A First Look at EAGLE

Design Rules
SpecialDesignRulescanbespecifiedinEAGLEtogoverntheboarddesign.
Thesecanbesavedasdatasetsinspecialfiles(*.dru).
Theparametersetthatistogovernthecurrentprojectisspecifiedinthe
DesignRules branchofthetreeview.Ifnodatahasbeenprovidedforthe
Design Rules (DRC command), EAGLE will itself provide parameters. The
markingtotherightofthefileentryspecifiesthedefaultparametersetfor
thecurrentproject.ThelayoutwillbecheckedbytheDRCinaccordance
withthesecriteria.FurtherinformationabouttheDRCandtheDesignRules
isfoundstartingonpage144.

User Language Programs, Scripts, CAM Jobs


These entries showthe contents of the ulp, scr and cam directories. They
containvariousUserLanguageprograms(*.ulp),scriptfiles(*.scr)andCAM
jobs(*.cam)fortheoutputofdatausingtheCAMProcessor.Ifoneofthese
filesisselectedintheControlPanel,youwillseeafulldescriptionofthefile.
The paths can be set by means of the Options/Directories menu. This is
discussedinmoredetaillaterinthischapter.

Projects
Thevariousprojectsare managedfromtheControlPanel.Aclickontothe
Projects entrydisplaysvariousfolders.Thesearelocatedunderthepathset
underOptions/Directories/Projects.Itisallowedtodefinemorethanonepath
there.
Aprojectusuallyconsistsofafolderwhichrepresentstheprojectbyitsname
andtheproject'sconfigurationfile eagle.epf.Thefolderusuallycontainsall
files that belong to your project, for example, schematic and board file,
speciallibraryfiles,scriptfilesandsoon.
Projectdirectoriesthatcontaintheprojectfileeagle.epfwillbemarkedwitha
redfoldericon.'Normal'folderswillbemarkedwithayellowicon.
TheprojecttobeeditedisselectedintheProjectsbranch.Ontherightofthe
project'snameyouwillfindamarkerwhichiseithergrayorgreen.Withthe
help of this marker one can open or close projects. Clicking onto a gray
marker,loadstheproject.Themarkerappearsgreennow.Clickingontothe
greenmarkeragainorclickingontoanothergraymarkerclosesthecurrent
projectrespectivelyopensanotherprojectafterclosingthecurrentone.This
wayonecanswitcheasilyfromoneprojecttoanother.
Asanalternativeyoucanopenorcloseaprojectbydoubleclickingontothe
entryinthetreevieworbypressingtheSpaceorEnterkey.
WhileclosingaprojectthesettingsofthecurrentlyopenedEditorwindows
willbestoredinthecorrespondingprojectfile eagle.epf,providedthatthe
optionAutomaticallysaveprojectfileissetintheOptions/Backupmenu.
Iftheprojectfilewasgenerated byanotherEAGLEversionthancurrently
used,youwillbeasked,ifitisallowedtooverwritethefile.
42

4.1 The Control Panel


Newprojectsare createdbyclickingtherightmousebuttonontoafolder
entry in this branch. A context menu opens which permits new files and
directoriestobecreatedandtheindividualprojectstobemanaged.
SelectingtheoptionNew/Projectinvokesanewfolderwhichhastobegiven
theproject'stitle.Theprojectfileeagle.epfwillbecreatedautomatically.
YoucanalsousetheFile/Open/ProjectortheFile/New/Projectmenutoopen
orcreateanewproject.

Contextmenuforprojectmanagement
Thecontext menu containsthe Edit Description item. Adescriptionofthe
projectcanbeenteredhere,andthisisthendisplayedintheDescriptionbox.
Itispossibletocreateadescriptionforschematicandboardfiles.Ithastobe
defined in the editor windows. See help function for the DESCRIPTION
commandformoreinformation.

Menu Bar
TheControlPanelallowsvariousactionstobeexecutedandsettingsmade
throughpulldownmenusthatareexplainedbelow.

File Menu
TheFilemenucontainsthefollowingitems:
New
Createsanewlayout(board),schematic,library,CAMjob,ULP,scriptortext
file.TheProjectoptioncreatesanewproject.Thisinitiallyconsistssimplyofa
newdirectoryinwhichthefilesforanewprojectarehandled.Thesewill
43

4 A First Look at EAGLE


consist as a rule of the schematic diagram and layout,possibly of special
libraries,scriptfiles,UserLanguageprograms,documentationfilesetc.and
ofthefileeagle.epf,inwhichprojectspecificsettingsarestored.
Thedefaultdirectoriesforthevariousfiletypesaredefinedinthe
Options/Directoriesmenu.
CAMjobsaredefinitionsforgeneratingoutputdatawiththeCAMProcessor.
Script and ULP files are text files containing command sequences in the
EAGLE command language or the EAGLE User Language. They can be
created and edited with the EAGLE Text Editor or with an external text
editor.
Open
Opensanexistingfileofthetypesmentionedabove.
Open recent projects
Listsrecentlyusedprojects.
Save all
Allchangedfilesaresaved.Thecurrentsettingsfortheprojectaresavedin
thefileeagle.epf,eveniftheoptionAutomaticallysaveprojectfileinthemenu
Options/Backup...isswitchedoff.Userspecificsettingsarestoredinthefile
eaglerc.usr(Windows)or.eaglerc(Linux/Mac).
Close project
Theprojectwillbeclosed.Projectspecificsettingsaresavedinthe
eagle.epffileofthecurrentprojectdirectory.
Onceyouhaveoverwrittenaprojectfilefromanolderversion(before6.0)
thedimensionvalueswillbestoredinadifferentformat.Ifyouthenload
suchafilewithanoldversionofEAGLE,allmenuentries(likewirewidthsor
drilldiameters)willfallbacktotheirdefaultvalues.
Exit
Theprogramisterminated.WhenEAGLEisstartedagain,thelastprogram
status is restored, i.e. the windows and other working environment
parameters appear unchanged. If there was no project loaded only the
ControlPanelwillbeopenednexttime.
ThecurrentstatusisalsosavedwhenyouleaveEAGLEwithAltXfromany
programpart.
IfyouhavedeactivatedthePulldownmenuoftheEditorwindowswith
the Options/User interface menu, Alt+X won't work. Use the QUIT
commandinstead.YoucouldevenassigntheQUITcommandtoAlt+X
withthehelpoftheASSIGNcommand.

44

4.1 The Control Panel


View Menu
Extended mode
TheDocumentationandtheProjectbranchofthetreeviewshowallfilesby
default. Image and other binary files can be opened directly with the
appropriate default application. If this mode is switched off, only EAGLE
relatedfileswillbeshown.
Refresh
Thecontentsofthetreeviewareupdated.
Search in tree
ThetreeviewoftheControlPanelissearchable.Thismenuentryinvokesa
SearchlinewhichislocatedabovetheControlPanel'sstatusbar.Thesearch
functionlooksexactly forthegiven searchpattern. Ifyouareusing more
searchpatterns,allofthemmustoccurinordertogetamatch.
Thesearchfunctionhasaccesstoallobjectsthatcanbedisplayedinthetree
view,likefilenames,DeviceandPackagenamesinlibraries,andforexample
theshortdescriptionshownintheDescritpioncolumn.Inordertomakethe
searchmoreflexbilewildcardsareallowed.?standsforanycharacter,*for
anynumberofanycharacter.
Incaseyouwanttosearchforanamethatcontainsa*,youhavetoescapeit
withabackslash:40\*14,forexample,searchesfor40*14.
Sort
Thecontentsofthetreeviewwillbesortedbynameorbytype.

Options Menu
Directories
The default directories for particular EAGLE files are entered in the
directoriesdialogbox.
More than one path may be entered for each of these. In the Windows
versiontheentriesareseparatedbysemicolons,whileacolonisusedinthe
LinuxandMacversion.TheProjectsdirectoryisthedefaultdirectoryforthe
TextEditor.
The Projects directory contains subdirectories, each of which represents a
particularproject.EachoftheprojectdirectoriescontainsanEAGLEproject
file(eagle.epf).Aprojectdirectoryanditssubdirectoriesusuallycontainall
thefilesthatareassociatedwithoneparticularproject,suchastheschematic
diagramandthelayout,textfiles,manufacturingdata,documentationfiles
andsoon.

45

4 A First Look at EAGLE

ThedirectoriesdialogintheOptionsmenu
Type the path directly into the corresponding box, or select the desired
directorybyclickingtheBrowsebutton.
Thedefaultsettingscanbeseeninthediagramabove.$EAGLEDIRstandsfor
theinstallation'sEAGLEdirectory.
You may also use $HOME for your home directory under Linux. Under
Windows it is possible to define this environment variable wit the SET
command.
Ifa HOMEvariablehasnotbeensetwithinthe Environmentvariable,then
underWindowsEAGLEwillsuggestthedirectoryApplicationData.
ThisdirectoryisdefinedintheWindowsregistryin:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVers
ion\Explorer\Shell Folders\AppData
Inthisfolderyoucanalsofindtheuserspecificconfigurationfileeaglerc.usr.
Itisofcoursealsopossibletospecifypathswithanabsoluteformat.
TheHOMEvariablemustnotpointtotherootdirectoryofadrive!
Backup
Whenfilesaresaved,EAGLEcreatesbackupcopiesofthepreviousfiles.The
maximum backup level field allows you to enter the maximum number of
backup copies (default: 9). Backup files have different file extensions,
enumeratedsequentially.Schematicfilesreceivetheending s#x,boardfiles
b#x,andlibraryfilesl#x.xcanrunfrom1to9.Thefilewith x=1isthe
newestone.
Theautomaticbackupfunctionalsopermitsthebackuptobescheduled.The
timeinterval canbebetween 1and 60 minutes (default: 5minutes).The
backupfileshavetheendingsb##,s##andl##respectively.
AllthesebackupfilescanbefurtherprocessedinEAGLEiftheyarerenamed
andgiventheusualfileendings(brd,sch,lbr).
If the option to Automatically save project file is chosen, your project is
automaticallysavedwhenyouclosethecurrentprojectorleavetheprogram.
46

4.1 The Control Panel

Backupdialog
User Interface
TheUserInterfacedialogallowstheappearanceoftheeditorwindowsfor
thelayout,schematicdiagramandlibrarytobeadjustedtoyourpreferences.
YoucanalsoaccessthismenufromtheEditorwindows.

SettingsfortheUserInterface
IntheControlsboxyouspecifywhichobjectsaretobedisplayedintheeditor
window.IfyoudeactivatealltheControls,onlythecommandlinewillremain
forentry.Thismaximizesthefreeareaavailableforthedrawing.
TheoptionAlwaysvectorfontshowsandprintstextswiththebuiltinvector
font, independently from the originally used font. Using the Vector font
guaranteesthattheoutputwithaprinterortheCAMProcessorisexactlythe
sameasshownintheeditorwindow.Fontsotherthanvectorfontdependon
thesystems'settingsandcannotbecontrolledbyEAGLE.Theoutputofnon
vectorfontsmaydifferfromtheeditor'sview.
Opening the User Interface dialog from one of the Editor windows (for
example,theLayoutEditor)theAlwaysvectorfontoptionoffersanadditional
itemPersistentinthisdrawing.SettingthisoptioncausesEAGLEtosavethe
Alwaysvectorfontsettinginthecurrentdrawingfile.Soyoucanbequitesure
47

4 A First Look at EAGLE


thatthelayoutwillbeshownwithvectorfontatanother'spersoncomputer
(forexample,ataboardhouse).
Pleaseseethehelpfunctionfordetails(TEXTcommand).
Limit zoomfactor limitsthemaximumzoomfactorinaneditorwindow.At
maximum zoom level the width of the drawing is about one Millimetre
(approx. 40 mil). Switching off this option allows you to zoom until the
0.003125Microngridwillbecomevisible.
Ifyouareworkingwithawheelmouse,youcanzoominandoutbyturning
themousewheel.Mousewheelzoomdeterminesthezoomfactor.Thevalue0
switchesthisfunctionoff.Thewheelisusedforscrollingthen.
EAGLE alsosupportstheuse of twofingerpan gestures ontrack pads for
navigatingandzooming.IfyouactivatetheLegacymousewheelmodeoption,
themousewheelworksasitwasinpreviousEAGLEversions.Thegestures
arenolongersupportedthen.
ThefieldExternaltexteditorallowsyoutospecifyanalternativeforthebuilt
inEAGLEtexteditor.Furtherdetailsonthiscanbefoundinthehelpfunction
inthesectionEditorwindows/Texteditor.
The background color and the appearance of the drawing cursor can be
separately adjusted forthelayoutand theschematicdiagrameditors. The
backgroundmaybeblack,whiteorshowninanyothercolor(Colored).The
backgroundcolordefinitionisdescribedonpage107.
Thecursorcanbedisplayedoptionallyassmallcrossoraslargecrosshairs.
ThesectionVerticaltextletsyoudecidewhethertextshouldbereadablefrom
the right hand side upwards (Up) or from the left hand side downwards
(Down)inyourdrawings.
ThecheckboxesintheHelpareaallowtoswitchonoroffthepopuptextsfor
thecommandicons(Bubblehelp)andthehelptextsforthecommandsinthe
statusline(Userguidance).
Selectingthe Userguidance checkboxdisplays,additioninformationabout
theselected object,likethenetorsignalname,thenetclass,orthepart's
nameandvalue(withNET,MOVE,ROUTE,SHOW...),instructionsaboutthe
possiblemouseactionsinthestatusbaroftheeditorwindow.
EAGLEVersion7hasanewlook.Thecommandiconsandothersymbolscan
beusedinthepreviousdesignbyselectingtheoptionClassicIconStyle.
Window Positions
Hereyoucan storethepositionsandthesizesofthecurrentlyopenEditor
windows.EachfilethatwillbeopenedfromnowonappearsinitsEditor
windowatthegivenpositionandsizeparametersthatwerestored.
Ifyoudeletethestoredpositionsagain,EAGLEdeterminesthelocationofan
Editorwindowandusesafixedsizeforit,whichisthedefaultsetting.

48

4.1 The Control Panel


Window Menu
FromtheWindowmenuyoucanchoosethewindow(schematic,board,etc.)
tobedisplayedintheforeground.Thenumber ontheleftisthewindow
number.ItallowsyoutochooseawindowwhencombinedwiththeAltkey
(e.g.Alt+1selectswindow1).
Thecombination Alt+0 canbeusedanywhereintheprogramtobringthe
ControlPanelintotheforeground.
ThefunctionalityofAlt+window_numberissupportedintheWindows
andintheLinuxversiononly.

Help Menu
TheHelpmenucontainsanitemforcallingthehelpfunction,aswellasitems
for installing a new license (Product registration) and getting information
abouttheprogramversionetc.(Productinformation).
Product registration
TheregistrationdialogiscalledautomaticallywhenyoustartEAGLEthefirst
time.Ifyouwanttoinstallanupgradeyoumuststartthisdialogfromthe
Help menu, and then enter the necessary information according to the
License/Product Registrationsectionofthehelpfunction.Alleditorwindows
havetobeclosedbefore.ReadthenotesinthechapterInstallationformore
information.
Check for Update
By default EAGLE checks for newer EAGLE versions on the CadSoft web
server.Incasethereisanewerversionavailableyouwillbeinformedbya
message window. EAGLE informs you about a new software release, but
won'tdownloaditautomatically.
Clickthe Configure buttontoletEAGLElookforthesoftwareversion daily,
weekly,ornever.IfyouareworkingwithaProxyserver,typeinit'sname.In
case you are interested in the newest beta version, you can activate this
check,too.
Product information
Ifyoucontactourtechnicalsupportyoushouldprovidetheinformationyou
willfindunderthismenuitem.

4.2 The Schematic Editor Window


TheSchematicEditorwindowopenswhenyouloadanexistingschematicor
createanewone.ThereareseveralwaysofopeningfilesinEAGLE.
You can, for instance, load a schematic diagram by means of the
File/Open/Schematic menu in the Control Panel. Alternatively doubleclick
ontoaschematicdiagramfileinthetreeview.
49

4 A First Look at EAGLE


Ifyouwanttocreateanewschematic,selectthemenuFile/New/Schematic.
Thiswillopenaschematicwiththename untitled.schinthecurrentproject
directory.

TheSchematicEditor
Ifyouwanttocreateaschematicdiagramstraightawayinanewproject,you
may for example click with the right mouse button onto a project in the
Projects entryofthetreeview,andselectthe Newproject optionfromthe
contextmenu.Thenewprojectreceivesaname.Thenclickontothisentry
with the right mouse button. Now select New/Schematic from the context
menu.
Anewschematicopensinthisprojectdirectory.
Ontopyouwillseethetitlebar,whichcontainsthefilename,andthenthe
menubar,andtheactiontoolbar.
Below the action toolbar there is the parameter toolbar, which contains
differenticons,dependingontheactivecommand.
Abovetheworkingareayouwillfindthecoordinatedisplayontheleft,with
the commandline,wherecommandscanbeenteredintextformat,tothe
rightofit.
EAGLEacceptscommandsindifferentbutequivalentways:asmouseclicks,
textviakeyboard,orfromcommand(script)files.

50

4.2 The Schematic Editor Window


Ontheleftoftheworkspaceyoufindthecommandtoolbar,whichcontains
mostoftheSchematicEditor'scommands.
In the status line, at the bottom of the screen, instructions for the user
appear,ifacommandisactive.
Ontheleftyouyoucanseethepreviewoftheschematicsheets.Youcansort
thesheetsviaDrag&Drop.
EachofthetoolbarscanbedisplayedorhiddenusingOptions/UserInterface.
Itisalsopossibletorearrangethetoolbarswithincertainlimitswiththeaid
ofthemouse.Thecommandtoolbar,forinstance,canalsobeplacedonthe
right,ortheactionandparametertoolbarscanbeplacedtogetheronone
line.

How You Obtain Detailed Information About a


Command
Bubble Help And Tool Tips
Ifthemousecursorremainsaboveaniconforlongerthanacertaintime,the
name of the EAGLE command appears. You also see a short explanation
belowinthestatusline.
Forexample,movethecursorovertheWIREicon.Bubblehelpwiththeword
Wire appears directly by the cursor. The short description, Draw lines,
appearsinthestatusline.
Ifyouselectthecommand,ashortnoteappearsbelowinthestatusline,
indicatingwhatwouldnormallybeexpectedasthenextaction.Forinstance,
ifyouclickontotheWIREicon,thestatuslinewilldisplaytheinstruction:
Leftclicktostartwire.
ThesefunctionscanbeactivatedorcancelledintheControlPanelbymeans
oftheOptions/UserInterfacemenu.

Help Function
Ifyouwanttolearnmoreaboutacommand,e.g.theWIREcommand,click
itsiconinthecommandtoolbar,thenclickthehelpicon.
Asanalternativeyoucantype
HELP WIRE

inthecommandline.ThecharactersymbolizestheEnterkey.
ThecontentsoftheEAGLEHelpisstoredinasingleHTMLfileandcanbe
viewed forexamplewith aweb browser, as well. Italsooffersa fulltext
search.
AftertypinginasearchtermintheFindline,EAGLEhelpnolongershowsall
pages but only the pages containing this expression. The keys F3 and
Shift+F3allowyoutogotothenextorpreviouslocation.Eachsearchterm
foundwillbemarked.Greenindicatingthecurrentlyfoundterm,yellowfor
allothers.
51

4 A First Look at EAGLE

EAGLEHelpwindow

Command Parameters
AnumberofEAGLEcommandsneedadditionalparameters.Refertothehelp
pagesforadescriptionofthetextualentryofparameters(viacommandline
orscriptfile).
Mostoftheparameterscanbeenteredbyclickingtheappropriateiconsin
theparametertoolbar,whichchangesaccordingtotheselectedcommand.
Theseiconsalsoshowbubblehelpexplanations.
This is how the parameter toolbar appears when the NET command is
activated.

ParametertoolbaroftheNETcommand
OntheleftistheGRIDiconforsettingthegridpitch.Totherightarebuttons
forthebendmode(SETWIRE_BEND)ofthenetline,followedbythemiter
radius forsmoothingline joints with theoptionsstraightorrounded (see
MITERcommand).Nexttothisisthe Style menuwherethetypeoflineis
defined.OnthefarrightisavaluemenuforassigningaNetclass.

GRID
Thisiconisavailableatanytime.Itisusedtoadjustthegridandtoselectthe
currentunit.InEAGLE,anyvaluerelatestothecurrentunit.
52

4.2 The Schematic Editor Window


ArightclickontotheiconopensapopupmenuthatcontainstheentryLast.
Soyoucanswitchbacktothepreviouslychosengridsetting.TheNew...entry
allowstodefinesocalledAliases.Moreaboutthisinchapter5.

The Action Toolbar


Thistoolbariscomposedofthefollowingicons:

Fromtheleft:Openfile,savefile,printfile,callCAMProcessor,open/create
correspondingboardfile(BOARDcommand).

Load,remove,orcreateanewschematicsheet.

USE
SelectlibrarieswhichwillbetakenintoconsiderationbytheADDdialog.Can
alsobedonewiththe Library/Use menuitemorbyclickingthemarkersin
theLibrariesbranchoftheControlPanel'streeview.Thecontextmenuofthe
entry Libraries orofitssubfolderscontainstheentries Useall and Usenone
foraquickandsimpleselection/deselectionofalllibraries(ofthefolder).
Thiscommandhastobeusedinscriptfilesinordertochoosethelibraryyou
wanttotakepartsfrom.

SCRIPT
Execute a scriptfile. This enables youto execute any command sequence
withafewmouseclicks.
Arightclickontotheiconshowsalistofrecentlyexecutedscriptfiles.

RUN
StartaUserLanguageprogram(ULP).
Arightclickontotheiconshowsamenuthatcontainsalistofrecentlyused
UserLanguagePrograms.

WINDOW
TheseiconsrepresentdifferentmodesoftheWINDOWcommand:
Fitdrawingintothescreen(WINDOWFIT,AltF2),zoomin(F3),zoomout
(F4),redrawscreen(WINDOWorF2),selectnewarea.
Tomovethecurrentdrawingwindow,clickthemiddlemousebuttonand
moveyourmouse!

53

4 A First Look at EAGLE


WINDOWLASTreturnstothepreviousdisplaywindow.

UNDO/REDO
These commands allow you to cancel previous commands and to execute
commandswhichhavepreviouslybeencancelled.Ifyouareworkingwitha
consistent pair of schematic and layout the UNDO/REDO commands now
displayinthestatusbarwhichcommandwasundone/redoneandwhether
thecommandwasoriginallyexecutedintheboardorintheschematiceditor.
Defaultfunctionkeys:F9andF10.
TypingUNDO LISTintothecommandlineopensadialogthatcontainsthe
entire contents of the undo buffer. Alternatively you can use the
Edit/Undo/redolist...menu.Hereyoucanundoacertainnumberofactions
andletthemredoagain.

Undo/redolist
The Undo/Redo windowshowsthelistofrecentactions.Inparenthesisyou
findinformationhowlongagothiswasdone.Usethemouse,the up/down
keysortheUndoandRedobuttonsinordertoplacethedelimiter.ClickOkin
caseyouaresureyouwanttohaveundonealltheactionslistedbelowthe
delimiter.
Caution:Thisisaverypowerfultool!Bygoingallthewaybackinthe
UNDOlist(whichcanbedonewithasinglemouseclick)andexecuting
anynewcommand,theundobufferwillbetruncatedatthatpoint,and
thereisnowayback!Sousethiswithcare!

Stop Icon
TerminatestheexecutionofEAGLEcommands(Edit/Stopcommand).

54

4.2 The Schematic Editor Window


Go Icon
Starts the execution of an active EAGLE command, which allows further
parameterstobeenteredbytheuser,likeitiswiththeAUTOortheMARK
command.

The Command Toolbar of The Schematic Editor


INFO
Showstheproperties oftheselected object.Ifyouknowthenameofthe
object,youcanuseitasaparameterinthecommandline.Dependingonthe
selectedobjectsomeofthepropertiescanbealteredinthisdialog.

SHOW
Highlightstheobjecttobeselectedwiththemouse.
It'salsopossibletoentertheobject'sorGate'sname(evenseveralnamesat
once) in the command line. You may use the characters * and ? as
wildcards,aswell.Ctrl+SHOWtogglestheshowstateoftheselectedobject.
Ifyouarelookingforverysmallobjects,itcanbeusefultousetheSHOW
commandwiththe@option,likein
SHOW @ C12;
The location of part C12 will be recognized at once, because the part is
markedwithasurroundingframe.
Ifthesearchedobjectisnotlocatedonthecurrentsheet,theSHOWwindow
opensandinformsyouaboutthesheetwhereitislocated.Incaseofobjects
thatconsistofmorethanonepart,likeelementswithseveralgatesornets
thatspreadoverseveralsheets,thewindowwilllistseveralentries.Clicking
ononeoftheentriescentertheselectedobjectonthescreen.Ifthesearched
objectisnotfoundinthewholeschematic,theSheetcolumnwillbemarked
withaminussign''.

DISPLAY
Select and deselect the layers to be displayed. See the Appendix for the
meaningofthelayers
DISPLAY LAST shows the recently used layer combination that was
previouslyselectedfordisplay.
Forfurtherdetailspleaseseehelpfunction.

55

4 A First Look at EAGLE


MARK
Thefollowingmouseclickdefinestheneworiginforthecoordinatedisplay.
Relativecoordinates(Rxvalueyvalue)andpolarvalues(Pradiusangle)are
showninadditiontoabsolutecoordinatesinthecoordinatedisplaybox.If
youfirstclicktheMARKiconandthenthetrafficlighticon,onlytheabsolute
coordinatevalueswillbedisplayedagain.

MOVE
Moveanyvisibleobject.Therightmousebuttonrotatestheobjectwhileitis
attachedtothemousecursor.
Ifyoumoveanetoverapin,noelectricalconnectionwillbeestablished.If
youmovethepinofaGateoveranetoranotherpin,anelectricalconnection
willbecreated.
Tomovegroupsofobjects:
DefinethegroupwiththeGROUPcommand,clicktheMOVEicon,pressthe
Ctrlkey,thenclickintothedrawingwiththerightmousebutton,andmoveit
tothedesiredlocation.
Ifyoudon'tpresstheCtrlkey,thecontextmenupopsupafterclickingwith
therightmousebutton.Itcontainsanentry Move:Group thatallowsyouto
movethegroup,too.Therightmousebuttonrotatesthegroupby90degrees
whileitisattachedtothemousecursor.
Ifyouliketomovethegroupontoanothersheet,clickthesheetcombobox
intheactiontoolbarorselectitfromtheSheetspreview.Placethegroup
there.
MOVEcanbeusedinthecommandlinewithvariousoptions.Seethehelp
functionfordetails.

COPY
Copypartsandotherobjects.
Whencopyingnetsandbusesthenamesareretained,butinallothercasesa
newnameisassigned.
KeeptheCtrlkeypressedwhileclickingontoanobjectandtheobjectwillbe
grabbedatitsorigin.Soitwillbemovedintothecurrentlychosengrid.
COPYcanbeusedwithgroups.Thegroupwillbeputintotheclipboardof
theoperatingsystem.ItispossibletocopyitintoanotherrunningEAGLE
program,forexample.

MIRROR
Mirrorobjects.

56

4.2 The Schematic Editor Window


ROTATE
Rotateobjectsby90degrees(alsopossiblewithMOVE).

GROUP
Defineagroupwhichcanthenbemoved,rotated,orcopiedwithCOPYand
PASTEtoanotherdrawingorwhosepropertiesaretobechanged.Afterthe
iconhasbeenclicked,arectangulargroupcanbedefinedbyholdingdown
theleftmousebuttonanddraggingthecursortothediagonalcornerofthe
rectangle.Ifyouwanttodefineagroupbyapolygon,usetheleftmouse
buttontodeterminethecornersofthepolygon.Thenclicktherightmouse
buttontoclosethepolygon.
GROUPALLinthecommandlineselectsallobjectsonthecurrentsheet,if
therespectivelayersaredisplayed.
Thefollowingcommand(ROTATE,CHANGE,MOVE...)hastobeappliedto
thegroupwiththerightmousebuttonwhilethekeyispressed.
Ifyouliketoaddfurther groupstoanalreadyexistingone,pressthe Shift
keyanddefinethefirstcorneroftheselectionareawithamouseclick.
Incaseyouwanttoaddanobjecttoorremoveitfromthegroup,pressthe
Ctrlkeyandclickontotheobjectinquestion.
PressCtrl+Shifttotogglethemembershipofanobjectanditshierarchically
superiorobjects:Clickingforexample,onanetsegmentintheSchematic
invertsthegroupmembershipofthewholenet.

CHANGE
Change the properties of an object, e.g. the width of a line, the Package
variantorthesizeoftext.Seehelpfordetails.
Anobject'spropertiescanbecheckedandevenchanged,whereapplicable,by
the Properties entryofthecontextmenu.Toaccessthecontextmenu,click
ontotheobjectwiththerightmousebutton.

PASTE
Insertobjectsfromthepastebufferintothedrawing.
Itisalsopossibletopastefromafileintoschematicandlayoutdirectly.Todo
so,usethePASTEcommandwithafilenameinthecommandlineorusethe
menuentryEdit/Pastefrom...
Forfurtherinformationseehelpfunction.

DELETE
Deletevisibleobjects.
Alsoin combinationwithGROUPcommand.Ifagrouphasbeendefined,it
canbedeletedwiththerightmousebuttonwhiletheCtrlkeyispressed.
57

4 A First Look at EAGLE


TheDELETEcommanddeletesanentirepartintheSchematicwhenclicking
ontoaGatewiththeShiftkeypressed.Inthatcase,thetracksconnectedto
thePackageintheboard,ifalreadyexisting,willstayunchanged.
ClickingontoanetorbuswirewiththeShiftkeypresseddeletestheentire
netorbussegment.

ADD
Addlibraryelementstotheschematic.AsearchfunctionhelpsDevicestobe
foundquickly.USEspecifieswhichlibrariesareavailable.
A rightclick onto the ADD icon opens a popup menu that lists recently
fetchedDevices.

PINSWAP
Swap twonetsconnectedtoequivalentpinsofaDevice,providedthepins
havebeendefinedwiththesameSwaplevel.
Apinthatisconnectedtoseveralpadscan'tbeswapped.

GATESWAP
SwaptwoequivalentGatesofaDevice,providedtheGateshavebeendefined
withthesameSwaplevel.InEAGLEterminology,aGateisapartofaDevice
whichcanbeindividuallyplacedonaschematic(e.g.onetransistorfroma
transistorarray).
Gatesthatcomewithpinsconnectedtoseveralpads,can'tbeswapped.

REPLACE
Replacea component(Device)withanotheronefromanylibrary.Thiscan
onlyworkifthenewcomponenthasatleastasmanypinsasthecurrentone
andthepinsaswellasthepadshaveidenticalnamesorthesamepositions.
Arightclickontothisiconopensapopupmenuthatshowsalistofrecently
replacedDevices.

NAME
Givenamestocomponents,nets,orbuses.

VALUE
Providevaluesforcomponents.Integratedcircuitsnormallygetthetype(e.g.
74LS00N)astheirvalue.
Arightclickontothisiconopensalistofalreadyusedvalues.Selectanentry
andapplyittooneormorecomponentsbyclickingontothemsuccessively.
58

4.2 The Schematic Editor Window


SMASH
Separatename,value,and,ifany,attributetextsfromaDevice,sothatthey
canbeplacedindividually.Thesizeofdetached(smashed)textscanalsobe
individuallychanged.AlsoincombinationwithGROUP.Ifagroupisdefined,
youcansmashitwitharightmouseclickwhiletheCtrlkeyispressed.
UseDELETEtohidesmashedtexts.
Keep the Shift key pressed while using the SMASH command in order to
unsmash text. Text is not editable any more and appears at original
position(s)afterawindowrefresh(alsopossibleinthecontextmenuwith
unSmash).
AlternativelyyoucanalsoswitchonorofftheoptionSmashedinthecontext
menu'sPropertiesentry.

MITER
Round off or bevel wire joints (also possible for nets, buses, polygon
contours).Thegradeofmiteringisdeterminedbythemiterradius.Positive
signresultsinaroundedjoint,negativesigninabevel.
Themiterradiusinfluences somewirebends,too(seehelpfunction: SET
command,Wire_Bend).

SPLIT
Insertanangleintoawireornet.

INVOKE
DevicesthatconsistofmorethanoneSymbols(Gates)canbefetchedGateby
Gate,forexampleincertainorder(GateDbeforeGateC),ifwanted.
INVOKEcanalsobeusedtofetchpowersupplyGatesthatdonotappear
automatically in the Schematic. This is useful and required, for example,
whenyouareaddingdecouplingcapacitorstoyourdesign.
ThiscommandallowsyoualsotoaddaGatefromaDevicewhichislocated
onanothersheet.Insuchacase,typethenameoftheDevice(e.g.IC1)into
thecommandlineaftertheINVOKEcommandhasbeenselected.

WIRE
Drawline(thiscommandiscalledWIREbecauseitisusedtodefineelectrical
connections,i.e.wires,intheLayoutEditor).Thetypeoflinecanbechanged
with CHANGE STYLE. Clicking the right mouse button changes the bend
mode(SETWIRE_BEND).
WIREcanalsobeusedtodrawarcs.

59

4 A First Look at EAGLE


Pleasenotetheparticularitiesincombinationwiththe Ctrl and Shift keyin
thehelpfunction:
Ifyoupress,forexample,theCtrlkeywhilestartingtodrawawire,thewire
beginsexactlyattheendofanalreadyexistingwirenearby.Evenifthiswire
isnotinthecurrentlysetgrid.Wirewidth,styleandlayerwillbeadopted
fromthealreadyexistingwire.

TEXT
Placingtext.
Text size,thicknessofthelinesforvectorfonttexts,thealignmentandthe
fontcanbedefinedintheparametertoolbaroftheTEXTcommand.Incase
thetextisalreadyplacedinyourdrawingyoucanmaketheseschangesvia
thePropertiesentryofthecontextmenuorviathedifferentoptionsofthe
CHANGEcommand(Size,Ratio,Align,Font).
Shift+Enterinsertsalinebreakformultilinetextsinthetextwindow.
Youcanchangelabeltextsbyassigningadifferentnametothebusortoa
netbymeansoftheNAMEcommand.SeealsoLABELcommand.

CIRCLE
Drawacircle.Circleswithawidthof0aredrawnasfilledcircles.

ARC
Drawanarc(alsopossiblewithWIRE).
CHANGECAPFLAT|ROUNDdefinesstraightorroundedendsforarcs.

RECT
Drawarectangle.

POLYGON
Drawapolygon(copperareasinanyshape).

BUS
Drawabusline.Themeaningofabusismoreconceptualthanphysical.Itis
only a means to make a schematic easier to read. Only nets define an
electricalconnection.Nets,however,canbedraggedoutofabus.
Thenameofabuscanconsistofasynonymandthenetnamesthatarepart
ofthebus.Incasethere isasynonymdefined, a LABEL would showthe
synonymonly,notthewholenameofthebus.
Example:
ATBUS:A[0..31],B[0..31],RESET,CLOCK
60

4.2 The Schematic Editor Window


ALABELshowsthesynonymATBUS.ThebuscontainsthenetsA0toA31,B0
toB31,RESETandCLOCK.

NET
Draw a net. Nets with the same name are connected (even if located on
differentsheets).
Netsandpinswhichappeartotheeyetobeconnectedarenotnecessarily
electricallyconnected.PleasecheckwiththeSHOWcommand,theERC,orby
exportinganetlistorpinlist(EXPORTNETLISTorPARTLIST).Seealsothe
helpforMOVE.

JUNCTION
Place the symbol for a net connection. In general, junctions are placed
automatically,butnetswhichcrossovercanalsobejoinedmanuallybythe
JUNCTIONcommand.

LABEL
Placethenameofabusornetasalabel.Labelscannotbechangedwith
CHANGE TEXT but rather with the NAME command because the label
representsthenetname.
IfthelabeloptionXREF(intheparametertoolbarorbyCHANGEXREFON)
isset,acrossreferencepointingtoanfurtherinstanceofthechosenneton
thenextsheetisgeneratedautomatically.
The cross reference label format can be defined in the menu
Options/Set/Misc, Xref label format. See the help function ofthe LABEL
commandforthemeaningoftheplaceholdersthatcanbeused.
For a proper location of the objectyoushould use a drawing framewith
classificationsforcolumnsandrows.Suchframescanbedefinedwiththe
FRAMEcommand.Thelibraryframes.lbralreadycontainssuchframes.

ATTRIBUTE
Definesanattributeforacomponent. Attributesarefreedefinableandcan
containanyinformation.
ThroughthemenuEdit/Globalattributes..youcandefineattributesthatare
validforallcomponentsrespectivelyforthewholeschematic.

DIMENSION
Canbeusedtodrawdimensionlines.
Itispossibletodimensionobjectsdrawnintheschematicoryoucanstart
dimensioningatanypositionintheschematicwithCtrl+leftmouseclick.

61

4 A First Look at EAGLE


PleaselookintothedescriptionoftheDIMENSIONcommandinthesection
abouttheLayoutEditorwindowformoredetails.

MODULE
TheMODULEcommanddefinesmodules.Amodulecancontainpartsand
netsasapartofthewholeschematic.TheMODULEcommandalsoinserts
moduleinstancesinthehierarchicalschematic.Amoduleinstanceisdrawn
asasimplesymbolandrepresentstheusageofamodule.

PORT
ThePORTcommanddefinesaninterfacebetweenthenetsinsideamodule
andthehigherschematiclevel.Portsbelongtomoduleinstancesandcanbe
connectedtonets,similartopinsofcomponents.

ERC
PerformanElectricalRuleCheckandaconsistencycheckforschematicand
board, if already existing. A positive consistency check allows the
Forward&BackAnnotationenginetorun.

Commands Not Available in the Command Toolbar


MenuitemsalreadyexplainedintheControlPanelsectionarenotdiscussed
here.
The following commands can be entered into the command line as text
inputs.Someofthemareavailableasmenuitems.Mostofthemcanbeused
intheSchematicandintheLayoutandevenintheLibraryEditor.

ASSIGN
Assignfunctionkeys.
ThemostconvenientwayofdoingthisistousetheOptions/Assignmenu.

CLASS
Select and define net classes(Edit/Net classes...).A net classspecifies the
widthofatrack,theclearancefromneighbouringsignals,andthediameter
ofviasfortheAutorouterandtheROUTEcommand.Thesesettingsarealso
usedinpolygons.Seealsopage123.

CLOSE
Textcommandforclosinganeditorwindow(File/Close).

CUT
Transfer the objects of a previously defined group into the paste buffer.
Activate theCUT command and clickwith the left mousebutton into the
grouptosetareferencepoint.PASTEinsertsthegroupintothedrawing.
62

4.2 The Schematic Editor Window


Sinceversion6thisapproachhasbeenreplacedbythenewfunctionalityof
theCOPYcommand.FurtherinformationaboutCUTandCOPYcanbefound
inthehelpfunction:Editorcommands/CUT.

EDIT
Textcommandfor loadingafileoralibraryobject.Youcan,forinstance,
loadaboardfromtheSchematicEditor(EDITname.brd).
TheEDITcommandisalsousedtocreateoreditamoduleinaschematic
diagram.
EDIT name.mod
loadsorcreatesamoduleinacircuitdiagram.
EDIT name.m2
loadsorcreatespagenumber2ofamodule.

FRAME
DefineadrawingframefortheSchematic(Draw/Frame).Alsopossiblefora
boarddrawing.

EXPORT
Output lists (especially netlists), directories, script files, or images
(File/Export...).
Takescareonthehierarchicalstructure,ifexisting.

LAYER
Choose or define the drawing layer. When using drawing commands the
layercanbechosenintheparametertoolbar.
To create, for example, a new layer with number 200 and layer name
Mylayer,typeinthecommandline:
LAYER 200 Mylayer
IncaseyoucreatedaLayout,forexample,withtheEAGLELightEditionand
upgraded to the Standard Edition because you would like to use two
additionalinnersignallayers,youhavetocreatetheselayerswiththeLAYER
commandfirst:
LAYER 2 Route2
LAYER 15 Route15

MENU
Specifiesthecontentsofthe textmenu.Nowitislocatedrightnexttothe
actiontoolbarandcanhandlesmallimages,aswell.Seealsotheexamplein
the appendix. The text menu can be made visible with the aid of
Options/UserInterface.Seehelpfunctionfordetails.

63

4 A First Look at EAGLE


OPEN
Text command for opening a library for editing (Library/Open). This
command is not identical to the File/Open menu item of the Schematic
Editor, which only lets you select schematics. You can use the OPEN
commandasanalternativetotheFilemenuoftheControlPanel.

PACKAGE
IncasethereismorethanonePackagevariantdefinedinthelibraryfora
part(Device),atypicalexamplewouldbearesistorfromrcl.lbr,itispossible
to change the currently used Package with the PACKAGE or with the
CHANGEPACKAGEcommand.ThiscanbedoneintheSchematicorinthe
LayoutEditor.

PRINT
Calluptheprintdialogwiththe printericonintheactiontoolbar

or

fromthemenuitemFile/Print....UsuallythePRINTcommandisusedtoprint
schematicsorforcheckingthedrawingsneededforthePCBproduction.
TheactualproductiondataaregeneratedwiththeCAMProcessor.
IfyouwanttooutputyourdrawinginblackandwhitechecktheBlackoption
(andSolid,ifyoudon'twantlayerstobeprintedintheirdifferentfillstyles).
ThecaptiontextissuppressedunlessyoucheckCaption.SetPagelimitto1,if
yourdrawingistobefittedononepage.Ifyouprefertoprintthecurrently
visibledrawingwindowinsteadofthewholedrawing,selectWindowinstead
ofFullintheAreaoption.

QUIT
QuitEAGLE.IdenticalwiththemenuitemFile/ExitorAltX.

REMOVE
Deletefilesorschematicormodulesheets.
REMOVE .S3
forinstance,deletessheet3oftheloadedschematic.

SET
Setsystemparametersandmodes.BestdoneviatheOptions/Setmenuitem.
Pleasenotethatnotallofthepossibilitiesareavailablethroughthisdialog.
Presettingscanbedefinedinthescriptfileeagle.scrbyusingtextcommands.
Furtherinformationcanbefoundinthehelpfunction.

TECHNOLOGY
Ifapart(Device)hasbeendefinedwithvarioustechnologiesinthelibrary,
seetypicalexamplesin 74xx.lbr,itispossibletochangethecurrentlyused
technology with the TECHNOLOGY or with the CHANGE TECHNOLOGY
command.ThiscanbedoneintheSchematicorintheLayoutEditor.
64

4.2 The Schematic Editor Window


UPDATE
TheUPDATEcommandchecksthepartsinaboardorschematicagainsttheir
respective library objects and automatically updates them if they are
different.(Library/Update...orLibrary/Updateall).
ThecontextmenuintheControlPanel's'treeviewofferstheOptionsUseall
andUsenoneforaquickselectionoflibraries.

VARIANT
Thiscommandoffersthepossibilitytodefinedifferentassemblyvariantsofa
project. It opens a dialog that allows to decide about components to be
assembledornot,oraboutdifferentvaluesortechnologiesofthecomponents
usedinthedifferent variantsoftheproject.Thisfunctioncanbereached
through the Edit/Assembly variants menu or by typing the command
VARIANT into the command line of the Schematic or the Layout editor.
Furtherinformationwillbegiveninchapter6.9beginningwithpage187.

WRITE
Text command for saving the currently loaded file. Please note that, in
contrastto Saveas,thenameofthecurrentlyeditedfileisneverchanged
whentheWRITEcommandisused.

Mouse Keys
Themiddleandrightmousebuttonhaveaspecialmeaningforanumberof
commands. You can use the middle mouse button only if the operating
systemknowsyourmouseisa3buttonmouse,thatisyourmousemustbe
installedthisway.
Ifyouareworkingwithawheelmouse,youcanzoomintoandoutofthe
drawingwiththehelpofthemousewheel.TheoptionMousewheelzoomin
the Options/User Interface menudeterminesthezoomingin/outfactorper
step.Thevalueissetto1.2bydefault.
Selectingavalueof0allowsyoutousethewheelforscrolling.
Keepthemousewheelorthemiddlemousebuttonpressedforpanning.
MouseclicksincombinationwiththeShift,Ctrl,andAltkeycanhavevarious
functions,forexample,whileselectingobjectswithMOVEorwhiledrawing
lineswithWIRE.
The help section on Keyboard and Mouse and the help of the referring
commandgivesyoumoredetails.

Selecting Neighbouring Objects


If one of two objects which are very close together is to be selected, the
individualobjectsarehighlightedoneaftertheother.Theusercanselectthe
highlightedobjectwith theleftmousebutton,orproceedtothenextone
with the right mouse button. The status bar of the editor window shows
information about the preselected object. See also help function (SET
command,SELECT_FACTOR).
65

4 A First Look at EAGLE

4.3 The Layout Editor Window


TheLayoutEditorwindowopenswhenyouopenanexistingboardfileor
createanewboard.IfyouowntheSchematicEditoryouwillnormallydraw
aschematicfirstandthengeneratetheboardfilewiththeBOARDcommand,
orbyclickingtheBoardicon.

LayoutEditorwindow
The Layout Editor window appears very much like the Schematic Editor
window.Evenifyoudon'tworkwiththeSchematicEditor,youshouldstudy
theprevioussection,asmostoftheinformationthereappliestotheLayout
Editor,too.
Onlythecommandsinthecommandtoolbararediscussedagain,assome
commandsdifferintheiruse.
Descriptions of commands that cannot be reached through the command
toolbararealsotobefoundinthesectionconcerningtheSchematicEditor
window.Allofthecommandscanalsobereachedthroughthepulldown
menusinthemenubar.Thisalsoapplies,ofcourse,totheSchematicand
LayoutEditorwindows.

66

4.3 The Layout Editor Window

The Commands on the Layout Command Toolbar


INFO
Shows the properties of the selected object. Typing INFO IC1 in the
command line results in the properties dialog of the object named IC1.
Dependingontheselectedobjectsomeofthepropertiescanbealteredhere.

SHOW
Highlightstheobjecttobeselectedwiththemouse.
It'salsopossibletoentertheobject'sname(evenseveralnamesatonce)in
thecommandline.*and?areallowedtobeusedaswildcards,aswell.
Ctrl+SHOWtogglestheshowstateoftheselectedobject.

DISPLAY
Selectanddeselectthelayerstobedisplayed.Componentsonthetopsideof
theboardcanonlybeselectedifthelayer23,tOrigins,isdisplayed.Thesame
appliestocomponentsonthebottomsideoftheboardandlayer24,bOrigins.
SeeAppendixforthemeaningofthelayers.
TheDISPLAYcommandsupportssocalledaliases.Thisallowsyoutoname
certain combinations of layers and use it as a parameter with the LAYER
command.Aquick changefromoneview toanotherlayercombinationis
possiblewiththiscommand.
DISPLAYLASTswitchestothelastdisplayedlayercombination.

67

4 A First Look at EAGLE

Changelayerproperties

TheDisplaymenu

TheDISPLAYmenushowsonlythoselayersdefinedintheLayerSetupof
theDesignRules!
FurtherinformationaboutDISPLAYcanbefoundinthehelpfunction.

MARK
Thefollowingmouseclickdefinestheneworiginforthecoordinatedisplay.
Relativecoordinates(Rxvalueyvalue)andpolarvalues(Pradiusangle)are
showninadditiontoabsolutecoordinatesinthecoordinatedisplaybox.
If you first click the MARK icon and then the trafficlight icon, only the
absolutecoordinatevalueswillbedisplayedagain.

MOVE
Moveanyvisibleobject.Therightmousebuttonrotatestheobject.

68

4.3 The Layout Editor Window


TheMOVEcommandcannotconnectsignalsevenifawire(trace)ismoved
overanotherwireorapad.UseROUTEorWIREtoroutesignals.
KeepingtheCtrlkeypressedwhileselectinganobjectselectsitinaparticular
manner. Pleaseconsultthehelpfunctionfordetails(CRICLE,ARC,WIRE,
MOVE,ROUTEetc.).
Formovinggroups,pleaseseeMOVEintheSchematicEditorsection.

COPY
Copypartsandotherobjects.
Whencopyingobjects,anewnamewillbeassigned,butthevaluewillbe
retained.Whencopyingasinglewire,thecopywillhavethesamename.
KeeptheCtrlkeypressedwhileclickingontoanobjectandtheobjectwillbe
grabbedatitsorigin.Soitwillbeplacedinthecurrentlychosengrid.
COPYcanbeusedwithgroups.Thegroupwillbeputintotheclipboardof
theoperatingsystem.ItispossibletocopyitintoanotherEAGLEprogram,
forexample.

MIRROR
Mirrorobjects.Componentscanbeplacedontheoppositesideoftheboard
byusingtheMIRRORcommand.

ROTATE
Rotateobjects(alsopossiblewithMOVE).Keeptheleftmousebuttonpressed
torotatetheselectedobjectbymovingthemouse.Theparameter toolbar
showsthecurrentangle.Thiscanbedonewithgroups(GROUPandright
mousebutton)aswell.
ROTATEcanbeusedwithgroups,aswell.ActivateROTATE,pressthe Ctrl
keyandclickwiththerightmousebuttonintothedrawingtosetthecenter
ofrotation.Thegroupwillberotatedcounterclockwisebythegivenangle.
Alternatively type in the angle in the Angle box or in the command line.
Detailsaboutthesyntaxcanbefoundinthehelpfunction.

GROUP
Defineagroupwhichcanthenbemoved,rotated,orcopiedwithCOPYand
PASTE to another drawing or whose properties should be changed. After
clickingtheicon,arectangulargroupcanbedefinedbyholdingdowntheleft
mouse button and dragging the cursor to the diagonal corner of the
rectangle,orifyouwanttodefineanonrectangulargrouparea,usetheleft
mousebuttontodeterminethecornersofthepolygon.Thenclicktheright
mousebuttontoclosethepolygon.
GROUPALLinthecommandlineselectsallobjects.
69

4 A First Look at EAGLE


TobesurethatallobjectsareselectedDISPLAYALLlayersbefore.Onthe
otherhand,deselectingspecificlayerscanexcludecertainobjectsfromthe
selection.
Further information about GROUP can be found in the section about the
SchematicEditorandinthehelpfunction.

CHANGE
Changethepropertiesofanobject,forexamplethewidthofawireorthe
size of a text. If the Esc key is pressed after changing a property, the
previouslyusedvaluemenuwillappearagain.Inthiswayanewvaluecanbe
convenientlychosen.Seealsothehelpfunction.
Alternatively, object properties can be viewed and some of them even
changedwiththecontextmenu's Properties entry.Thecontextmenuopens
afterarightmouseclickontotheobject.

PASTE
Insertobjectsfromthepastebuffer.
Use the menu Edit/Paste from... in order to paste a whole layout (and
schematic, if available) into your current drawing. See help for further
information.

DELETE
Deletevisibleobjects.
Ifagrouphasbeendefined,itcanbedeletedwiththe right mousebutton
whiletheCtrlkeyispressed.
DELETESIGNALSinthecommandlineerasesall tracksandsignalsinthe
layout,providedthereisnoconsistentschematicloaded.
TheDELETEcommanddeletesanentirepolygonwhenclickingonapolygon
wirewiththeShiftkeypressed.
KeepingtheCtrlkeypressedwhileclickingwiththeleftmousebuttonona
wirebendwill deletethebend.Anewdirectconnectionbetweenthenext
bendswillbedrawnnow.
Ifobjectscannotbedeleted,thereasoncanliewitherrorpolygonsrelatedto
the DRC command. They can be deleted with the ERRORS command
(ERRORS CLEAR). If layer 23, tOrigins, or 24, bOrigins, is not displayed,
componentscannotbedeleted.

ADD
Addlibraryelementstothedrawing.Itoffersaconvenientsearchfunction
forPackageshere.USEspecifieswhichlibrariesareavailable.

70

4.3 The Layout Editor Window


ArightclickontotheADDiconopensapopupmenuthatcontainsalistof
recentlyplacedDevices.

PINSWAP
Swaptwosignalsconnectedtoequivalentpadsofacomponent,providedthe
pinshavebeendefinedwiththesameSwaplevel.
Apinthatisconnectedtoseveralpadscan'tbeswapped.

REPLACE
Replaceacomponent(oraPackage,ifthereisnoschematic)byanotherone
fromanylibrary.
IfyouwanttochangethePackagevariantonlyandnotthewholeDevice,use
CHANGEPACKAGEorthePACKAGEcommand.
ArightclickontotheREPLACEiconopensapopupmenuthatshowsalistof
recentlyreplacedcomponents.

LOCK
Locks the position and orientation of a component on the board. If a
componentislocked,youcan'tmoveitorduplicateitwithCUTandPASTE.
Shift + LOCKunlocksthecomponent.Thisisalsopossiblewiththe unLock
entryofthecontextmenu.
Tobeabletodistinguishlockedfromunlockedcomponents,theorigincross
ofalockedcomponentisdisplayedlikea'x'insteadofa'+'.
Thepositionofalockedcomponentcanbechanged,however,bytypingin
newcoordinatevaluesinthepropertiesdialog.

NAME
Givenamestocomponents,signals,vias,andpolygons.
WithNAMEit'spossibletomoveapolygonfromonesignaltoanother.

VALUE
Provide values for components. A resistor, for example, gets 100k as its
value. Arightclickontothisiconopensalistofalreadyusedvalues.Select
an entry and apply it to one or more components by clicking onto them
successively.

SMASH
Separatename,value,andattribute(ifany)textsfromaDevice,sothatthey
canbeplacedindividually.Thesizeofdetached(smashed)textscanalsobe
individuallychanged.
71

4 A First Look at EAGLE


AlsoincombinationwithGROUP.Ifagroupisdefined,youcansmashitwith
arightmouseclickwhiletheCtrlkeyispressed.
UsetheDELETEcommandtohidesmashedtexts.
Keep the Shift key pressed while using the SMASH command in order to
unsmashtexts.Theyarenoteditableanymoreandappearattheiroriginal
positionsafterawindowrefresh(alsopossiblewithunSmashinthecontext
menu).
Alternatively you can switch on or off the option Smashed in the context
menu'sPropertiesentry.

MITER
Roundofforbevelwirejoints(alsopossibleforpolygoncontours).Thegrade
of mitering is determined by the miter radius. Positive sign results in a
roundedjoint,negativesigninabevel.
Themiterradiusinfluencessomewirebendmodes,too(seehelpfunction:
SET,Wire_Bend).

SPLIT
Insertabendintoawire.
If youwant tochange, forexample,thelayer forasection ofanalready
routedtrack,youcaninserttwowirebendswiththeSPLITcommandand
changethelayerofthenewly createdsegmentwiththeCHANGELAYER.
EAGLEwillsetviasautomaticallyatthepositionofthewirebends.
YoucanusetheSPLITcommandforaquickreroutingofanalreadyexisting
track.Clickontothetracktoinsertawirebend.Nowmovethemouseand
route it anew. To remove the previous track use the RIPUP command or
DELETEincombinationwiththeCtrlkey.

OPTIMIZE
Joinswiresegmentsinasignallayerwhichlieinonestraightline.

MEANDER
Draw meanders in order to balance the length of signals, especially of
DifferentialPairs.Canbeusedformeasuringthelengthofasignal,when
pressingtheCtrlkey.

ROUTE
Route signals manually. Airwires are converted to wires. If your EAGLE
licensecomeswiththeAutoroutermodule,theROUTEcommandsupports
the Followme router mode which automatically processes the trace of a
selectedsignal.
72

4.3 The Layout Editor Window


Thiscommandoffersseveraloptionswiththedifferentmousebuttons,alsoin
combinationwiththeCtrlandShiftkey.
Ctrl+Left
Shift+Left
Center
Right
Shift+Right
Ctrl+Right
Shift+Left
Ctrl+Left

startsroutingatanygivenpointalongawireorvia
iftheairwirebeginsatanalreadyexistingwireand
thiswirehasadifferentwidth,thenewwireadopts
thiswidth
selectsthelayer
changesthewirebendstyle
reversesthedirectionofswitchingbendstyles
togglesbetweencorrespondingbendstyles
placesaviaattheendpointofthewire
definesarcradiuswhenplacingawire'sendpoint

Moreinformationcanbefoundinthehelpfunction.

RIPUP
Convertroutedwires(tracks)intounroutedsignals(airwires).Changethe
displayoffilled(calculated)polygonstooutlineview.
Usingsignalnamesinthecommandlineallowsyoutoripuponlycertain
signals,toexcludeparticularsignals,ortoexecutethecommandexclusively
forpolygons.Moredetailscanbefoundinthehelpfunction.
WiresnotconnectedtocomponentsmustbeerasedwithDELETE.

WIRE
Drawlinesandarcs.Ifusedinthelayers1through16,theWIREcommand
createselectricalconnections.
The Style parameter(CHANGE)determinestheline type.TheDRCandthe
AutorouteralwaystreataWIREasacontinuousline,regardlessofwhatStyle
isused.
Clickingtherightmousebuttonchangesthewirebend(SETWIRE_BEND).
Pleasenotetheparticularitiesincombinationwiththe Ctrl and Shift keyin
thehelpfunction:
Ifyoupress,forexample,theCtrlkeywhilestartingtodrawawire,thewire
beginsexactlyattheendofanalreadyexistingwirenearby.Evenifthiswire
isnotinthecurrentlysetgrid.Wirewidth,styleandlayerwillbeadopted
fromthealreadyexistingwire.

TEXT
Placingtext.Use CHANGESIZEtoaltertheheightofthetext.Ifthetextis
usingavectorfont,CHANGERATIOwillalterthethickness.CHANGETEXT
isusedtoalterthetextitself.CHANGE FONTaltersthe typeface. CHANGE
ALIGNdefinesthealignment(thelocationoftheorigin)ofthetext.
Theoption Alwaysvectorfont (Options/User Interface)showsandprintsall

73

4 A First Look at EAGLE


textsinvectorfont,regardlessofwhichfontisactuallysetforaparticular
text.
Ifyouwanttohaveinvertedtextinacopperlayer,youhavetoenterthetext
inthelayers41,tRestrict,or42,bRestrict,anddrawacopperplaneinTopor
Bottom layer around the text with the POLYGON command. The polygon
keepstherestrictedareas(whichisthetext)freefromcopper.
UseShift+Enterinordertoinsertalinebreakformultilinetexts.Theline
distancecanbesetviathePropertieswindoworintheparametertoolbar,as
longasthetextisnotyetplacedandstillattachedtothemousecursor.
Itisstronglyrecommendedtowritetextsincopperlayersasvectorfont!
SoyoucanbesurethattheCAMProcessor'soutputisidenticalwiththe
textshownintheLayoutEditor.Seealsohelpfunction.

CIRCLE
Draw a circle. This command creates restricted areas for the
Autorouter/Followmerouter,ifusedinthelayers41,tRestrict,42,bRestrict,
or43,vRestrict.Circleswithwirewidth=0aredrawnasfilled.

ARC
Drawanarc(alsopossiblewithWIRE).
CHANGECAPFLAT|ROUNDdefinesstraightorroundedendsforarcs.
Ifthearcisapartofatraceandbothendsareconnectedtoawire,capswill
beround.
Arcs with flat caps are emulated when generating manufacturing data in
GerberformatwiththeCAMProcessor.Thatmeanstheywillbedrawnwith
smallshortstraightlines.Arcswithroundcapswon'tbeemulated.

RECT
Drawarectangle.ThiscommandcreatesrestrictedareasfortheAutorouter
orFollowmerouter,ifusedinthelayers41, tRestrict,42, bRestrict,or43,
vRestrict.

POLYGON
Drawacopperareasorrestrictedareasinsignallayers.
Polygonsinthesignallayersaretreatedassignals.Theykeepanadjustable
distancetoobjectsbelongingtoothersignals(copperpouring,floodfill).This
enables you to realize different signal areas onthe same layer and make
isolatedregionsforyourdesign.
Thecontourofapolygonintheoutlinemodeisdisplayedasadottedline.
74

4.3 The Layout Editor Window


ThePOLYGONcommandcreatesrestrictedareasfortheAutorouter/Follow
me router, if used in the layers tRestrict, bRestrict, or vRestrict. For other
possibilitiesofthePOLYGONcommandseehelp.
Polygonswithspecialfillstylecutoutcanbeusedasrestrictedareasforsignal
polygonsininnerandouterlayers.Suchapolygonwillbesubtractedfromall
othersignalpolygonsinthesamelayer.Thedottedcontourlinewillalways
bevisible.Thewirewidthforsuchapolygonmaybe0aswell.

VIA
Place a platedthrough hole. Vias are placed automatically if the layer is
changedduringtheROUTEcommand.Youcanassignaviatoasignalwith
theNAMEcommandbychangingit'snametothenameofthesignal.Vias
canhavedifferentshapesintheouterlayers(round,square,octagon),but
arealwaysroundininnerlayers.

SIGNAL
Manual definition of a signal. This is not possible if the Forward&Back
Annotationisactive.Inthatcaseyouhavetodefinetheconnectionwiththe
NETcommandintheSchematicEditor.

HOLE
Defineamountinghole(notplatedthrough).

ATTRIBUTE
Definesanattributeforacomponent.
ThroughthemenuEdit/Globalattributes..youcandefineattributesthatare
validforthewholelayout.

DIMENSION
Canbeusedtoadddimensioningtotheboard.Itcaneitherbeappliedtoan
object or you can draw arbitrary dimensions. When you select an object
EAGLE selects a suitable dimensioning type (Dtype). If it is not the one
needed,clicktherightmousebuttontochangeit.Ifyouwanttostartatany
locationinthedrawinguseCtrlkey+leftmouseclick.
Therearedifferentdimensioningtypes:Parallel,Horizontal,Vertical,Radius,
Diameter,Angle,andLeader.
Configurationofdimensioninglines,textsizeunitsandsooncanbedonein
theobjects' properties dialogorwiththeCHANGEcommand,whichcanbe
executedforgroupsofobjects,aswell:
CHANGEDtype

changesthedimensioningtype

75

4 A First Look at EAGLE


CHANGEDunit

decidesaboutthemeasurementunit,
theprecision,
andaboutshowingorhidingtheunit.

CHANGEDline

determinesthewidthofthemeasurementline,
thewidthoftheextensionline,
theExtensionlengthafterthedimensionarrowhead,
thedistancefromtheobjectmeasured(Extension,offset).

RATSNEST
Calculatetheshortestairwirespossibleandtherealmode(filled)displayof
polygons.
UsetheRATSNESTcommandwithasignalnameinordertocalculateand
displayor hideacertainairwire.Aprecedingexclamationmarkhidesthe
airwiresofthegivensignalname.Moreinformationcanbefoundinthehelp
function.
ThepolygoncalculationcanbedeactivatedwiththeSETcommand.Either
throughthemenuOptions/Set/Miscorbytypinginthecommandline:
SETPOLYGON_RATSNESTON|OFForinshort:SETPOLYON|OFF.
RATSNEST will be executed automatically for the selected signal while
drawingawirewithROUTE.
WhileRATSNESTisactivethestatusbaroftheLayoutEditordisplaysthe
nameofthecurrentlycalculatedsignal.

AUTO
StarttheAutorouter.
IfyoutypeAUTOFOLLOWMEinthecommandline,the Autorouter Setup
windowopensinthefollowmemode,whichallowstosettheparametersfor
thefollowmerouteronly.

ERC
Performaconsistencycheckforschematicandboard.

DRC
DefineDesignRulesandperformDesignRuleCheck.
TypingDRC*intothecommandlineopenstheDesignRuleswindowwhere
youcancheckandadjustyoursettingsandclosethedialogwindowagain
withoutstartingtheDesignRuleCheck.

76

4.3 The Layout Editor Window


ERRORS
Showerrors foundbytheDRC.Ifyouhaven'talreadyprocessedaDesign
RuleCheckfortheboard,itwillbedoneautomaticallybeforeshowingthe
errorlist,ifthereareanyerrorsfound.
TherearefurthercommandsfortheLayoutEditor,astheyareinthe
Schematic,thatarenotavailableintheCommandMenu.Pleasetakea
lookatthesectionbeginningwithpage 62.Mostofthemarevalidin
SchematicandLayout.

4.4 The Library Editor Window


TheLibraryEditorwindowopenswhenyouloadalibrary forcreatingor
editing components. A library normally has three different elements:
Packages,SymbolsandDevices.
APackageisaDevice'shousing,aswillbeusedintheLayoutEditor
(ontheboard).
TheSymbolcontainsthewayinwhichtheDevicewillbeshowninthe
schematic.
TheDevicerepresentsthelinkbetweenone(ormore)Symbol(s)and
aPackage.HerewedefinetheconnectionbetweenapinofaSymbol
andthereferringpad(s)ofthePackage.
We call it a Device set if the component exists in more than one
Packageand/ortechnologyvariant.
EvenifyoudonothavetheSchematicEditor,youcanstillcreateandedit
SymbolsandDevices.
Alibraryneednotcontainonlyrealcomponents.Groundorsupplysymbols
aswellasdrawingframescanalsobestoredasDevicesinalibrary.These
Symbolsdonotnormallycontainanypins.
TherearealsolibrariesthatonlycontainPackages.Theselibrariescanonly
beusedintheLayoutEditor.
Extensiveexamplesofthedefinitionoflibraryelementsaretobefoundina
sectionentitled Component Design Explained through Examples, starting on
page223inthismanual.

Table Of Contents
Whenalibraryisloadedthefollowingwindowappearsfirst:

77

4 A First Look at EAGLE

LibraryEditor:TableofContentswiththreecolumnsforDevices,
PackagesandSymbols(here:rcl.lbr)
Thetableofcontentsofthislibraryisshown.ThreecolumnslistallDevices,
Packages and Symbols available in the library file. Doubleclick on of the
entriestostarttheeditingmode.
Arightmouseclickopensacontextmenuofferinganumberofoptions,like
Edit,Remove,RenameandEditDescription.
ThecontextmenuofaDevicecontainsalsotheentries Usedpackages and
Usedsymbols,ofaPackageorSymbolthereisanentryUsingDeviceSets.This
helpstounderstandwhereaPackageorSymbolisusedinaDeviceSet.

78

4.4 The Library Editor Window

ALibrarie'sTableofContents:Optionsofthecontextmenu

Important Icons in the Library Editor


LoadDeviceorPackage(ifyouonlyhavetheLayoutEditor)forediting.

From the left: Show table of contents, Load Device, load Package, load
Symbol.Theseiconsareshownintheactiontoolbar.
Ifyouclickononeoftheseiconswiththerightmousebutton,orlongclick
with the left mouse button on one of theses icons (not show table of
contents),alistwiththerecentlyeditedobjectswillpopup.
Alternatively there are available the commands REMOVE, RENAME, and
EDIT through the Library menu or the command line. Please check the
chapter LibraryandPartManagement andthehelpfunctionforadditional
information.

The Package Editing Mode


Thedefinitionofacomponentisdescribedbrieflybelow.Thereisamore
extensiveguideintheComponentDesignExplainedthroughExamplessection.
Theiconsavailableinthecommandtoolbarareequivalenttotheidentical
iconsoftheSchematicorLayoutEditor.

79

4 A First Look at EAGLE


Design New Package
YouchangeintoPackageeditingmodethroughthePackageicon

inthe

actiontoolbar.Typeinthenameofapackage,andreplytotheconfirming
questionCreatenewpackage'packagename'?withyes.
Place pads (thoughhole contacts) or SMDs (SMD contact areas) with the
followingcommandswhichareonlyavailableinthePackageEditor.

PAD
Placethepadofaconventional(throughhole)component.
Thepadcomeswithaplatedthroughdrillthatgoesthroughallsignallayers.
Thepad shapecanberound, square, octagonorlongin theouter signal
layers.Intheinnersignallayerspadsarealwaysround.

SMD
PlaceaSMDpad.
YoucanchangethenameofthepadsorSMDswiththeNAMEcommand.
UsetheWIRE,ARC,etc.commandstodraw
thesymbolforthesilkscreenonlayer21,tPlace,
additionalgraphicalinformationforthedocumentationprint
intolayer51,tDocu.
DrawrestrictedareasfortheAutorouter,ifneeded,inlayers41,tRestrict,42,
bRestrict,or43,vRestrict,orinlayers39,tKeepout,or40,bKeepout,byusing
thecommandsCIRCLE,RECT,orPOLYGON.
PlacemountingholeswiththeHOLEcommand,ifneeded.
UsetheTEXTcommandtoplace
the string >NAME in layer 25, tNames, serving as a text variable
containingthenameofthecomponent,
the string >VALUE in layer 27, tValues, serving as a text variable
containingthevalueofthecomponent.
UsetheDESCRIPTIONcommandtoaddadescriptionforthePackage.
HTMLtextformatcanbeusedforthis.Youwillfindfurtherinformationin
thehelppages.

The Symbol Editing Mode


DefiningaSymbolmeansdefiningapartofaDevicewhichcanbeplaced
individuallyinaschematic.Inthecaseofa74L00thiscouldbeoneNAND
gateandthetwopowerpins,definedasanotherSymbol.Inthecaseofa
resistor,theDevicecontainsonlyoneSymbolwhichistherepresentationof
theresistor.

80

4.4 The Library Editor Window


YounowchangeintoSymboleditingmodethroughtheSymbolicon

in

theactiontoolbar.EnterthenameoftheSymbol,andreplytotheconfirming
questionCreatenewsymbol'symbolname'?withYes.

Design a New Symbol


UsethecommandsWIRE,ARC,etc.todrawtheschematicrepresentationof
theSymbolintolayer94,Symbols.
PlacethepinsbyusingthefollowingPINcommand,whichisonlyavailable
intheSymboleditingmode:

PIN
Placepins.
Youcanadjustthepinparameters(name,direction,function,length,visible,
Swaplevel)intheparametertoolbarwhilethePINcommandisactive,orlater
withtheCHANGEcommand.Thepinparametersareexplainedstartingon
page 228 and in the help pages under the keyword PIN. Pin names are
changedusingtheNAMEcommand.
UsetheTEXTcommandtoplace
the string >NAME in layer 25, tNames, serving as a text variable
containingthenameofthecomponent,
the string >VALUE in layer 27, tValues, serving as a text variable
containingthevalueofthecomponent.

The Device Editing mode


ComponentsaredefinedasDevices.IntheDeviceeditingmodeyoudonot
drawanything,butyoudefinethefollowing:
whichPackagevariantisused,
whichSymbol(s)is/areused(calledGatewithintheDevice),
whichnamesareprovidedfortheGates(e.g.A,B),
whichtechnologiesareavailable(e.g.74L00,74LS00,74HCT00),
iftheDeviceshouldhaveadditionaluserdefinableattributes,
ifthereareequivalentGateswhichcanbeinterchanged(Swaplevel),
howtheGatebehaveswhenaddedtoaschematic(Addlevel),
theprefixforthecomponentname,ifaprefixisused,
ifthevalueofthecomponentcanbechangedorifthevalueshouldbe
fixedtotheDevicename,
whichpinsrelatetothepadsofthePackage(CONNECTcommand)
whether a description for this component should be stored in the
library.
81

4 A First Look at EAGLE


Thefollowingdiagramshowsthefullydefined7400DevicewithfourNAND
gatesandasupplygateinvariousPackageandtechnologyversions.
Ifyouclickontooneofthegateswiththerightmousebutton,thecontext
menuwiththeexecutablecommandspopsup.Furthermoreyoucandisplay
thePropertiesofthegate.ClickonEditSymboltoopentheSymbolEditor.

DeviceEditorwindow

Create Actual Components from Symbols and Packages


Switch totheDevice editing modebyclickingthe Device icon

inthe

actiontoolbar.TypeintheDevicenameandconfirmthequestionCreatenew
device'devicename'?withYes.
UsethefollowingcommandstocreateaDevice.

ADD
Add a Symbol to a Device. Gate name, Swaplevel, and Addlevel can be
definedintheADDcommandintheparametertoolbar,orredefinedlater
withtheCHANGEcommand.
TheSwaplevelspecifieswhetherthereareequivalentGates.
TheAddleveldefines,forinstance,ifaGateistobeaddedtotheschematic
onlyontheusersrequest.Example:thepowergateofanintegratedcircuit
whichisnormallynotshownontheschematic.
82

4.4 The Library Editor Window


NAME
ChangeGatename.

CHANGE
ChangeSwaplevelorAddlevel.

PACKAGE
DefineandnamePackagevariant(s).ThePACKAGEcommandisstartedby
clickingontheNewbuttonintheDeviceEditorwindow,orbytypingonthe
commandline.ChoosetherequestedPackagevariant.
Moreinformationaboutthiscanbefoundonpage274.

CONNECT
Definewhichpins(Gate)relatetowhichpads(Package).

PREFIX
Provideprefixforthecomponentnameintheschematic(e.g.Rforresistors).

VALUE
IntheDevicemode,VALUEisusedtospecifywhetherthecomponentvalue
canbefreelyselectedfromwithintheschematicdiagramorthelayout,or
whetherithasafixedspecification.
On:Thevaluecanbechangedfromwithintheschematic(e.g.forresistors).
Thecomponentisnotfullyspecifieduntilavaluehasbeenassigned.
Off: The value corresponds to the Device name, including, when present,
assignmentofthetechnologyandthePackageversion(e.g.74LS00N).
EvenifValueisOff,thevalueofacomponentcanbechanged.Aquerychecks
ifthisactionisintended.
Thealteredvalueofthecomponentremainsunchanged,iftheTechnologyor
the Package version is altered later with CHANGE PACKAGE or CHANGE
TECHNOLOGY.

TECHNOLOGY
If necessary,varioustechnologiescanbedefined,forexample,foralogic
component.ClickonTechnologiestherefore.

ATTRIBUTE
Click on Attributes to define any additional attribute for the Device. A
detailed description can be found in the chapter about libraries in this
manual.

83

4 A First Look at EAGLE


DESCRIPTION
Compose a description of the Device which can also be examined by the
searchfunctionassociatedwiththeADDdialog.
Information about Copying of Packages, Symbols and Devices can be
foundfrompage279on.

4.5 The CAM Processor


ManufacturingdataisgeneratedbymeansoftheCAMProcessor.Anumber
ofdriversforthedataoutputareavailable.Thedriversaredefinedinthefile
eagle.def,whichcanbeeditedwithanyTextEditor.
Outputtomatrixprinters,however,isnotcreatedwiththeCAMProcessor
butwithaPRINTcommand.
The board manufacturer may use the EAGLE Freeware for generating
manufacturingdataofyourboard.

TheCAMProcessor
TheCAMProcessorcanalsobestarteddirectlyfromthecommandline.A
numberofcommandlineparameterscanbepassedtoitwhenitiscalled.
Thesearelistedintheappendix.

84

4.5 The CAM Processor

Generate Data
Starting the CAM Processor
TherearedifferentwaystostarttheCAMProcessor:
YoucandothisdirectlyfromtheLayoutorSchematicEditorwindowwith
the CAM Processor icon

in the action toolbar or through the menu

File/CAM Processor. The current schematic or board will be loaded


automaticallyfromtheControlPanelbyclickingononeoftheentriesinthe
Tree View's CAM Jobs branch. Then the selected CAM Job will be loaded
automatically.Youstillhavetoloadtheschematicorboardfromwhichyou
want to make the CAM Processor manufacturing data from through the
File/Openmenubyusingthecommandprompt(Windowscommandprompt,
Terminal or Console window) without graphical user interface. Particular
informationcanbefoundintheappendixchapteraboutEAGLEOptions.

Load Job File


A job defines the sequence of several output steps in an automatic data
creationtask.Youcan,forexample,useajobtogenerate individualfiles
containingtheGerberdataforseveralPCBlayers.
Ajobisloadedwiththe File menuoftheCAMProcessororwithadouble
clickononeoftheTreeview'sCAMJobsentriesintheControlPanel.
Ajobisnotabsolutelyessentialforoutput.Allthedatacanbemadestepby
stepmanually.

Load Board
BeforeyoucangenerateanoutputyoumustopentheFilemenuandloada
board file, if not already loaded automatically while stating the CAM
ProcessorfromanEditorwindow.AtthebottomleftintheCAMProcessor
windowyouwillseethefilenamethedataisbeinggeneratedfrom.
TheoutputofdataforaSchematic,forexampleforacertainplotter,isalso
possible.

Set Output Parameters


Ifajobfileisloaded,theoutputparametersarealreadyadjusted.Ajobcan
containseveralsectionswithdifferentparametersets.Thevariousperipheral
devicesacceptdifferentparameters.
Ifnojobisloaded,settheparameterstowhateveryouneed(seepage302).

Start Output
Ifyouwanttoexecutethejobwhichhasbeenloaded,clickthe ProcessJob
button.Ifyoujustwanttogetanoutputusingthecurrentlyvisibleparameter
settings,clicktheProcessSectionbutton.

85

4 A First Look at EAGLE


Define New Job
Performthefollowingstepstodefineanewjob:
1.ClickAdd,toaddanewsection.
2.Setparameters.
3.Repeat1.and2.ifnecessary.
4.SavejobwithFile/Savejob.
TheDescriptionbuttonallowstodescribethejobfile.Thisdescriptionwillbe
shownintheControlPanel.
The chapter on Preparing the Manufacturing Data contains detailed
informationonthissubject.

4.6 The Text Editor Window


EAGLEcontainsasimpleTextEditor.
Youcanuseittoeditscriptfiles,UserLanguageprogramsoranyothertext
file.TheEAGLETextEditorstoresitsfileswithUTF8encoding.
The menus bring you to a variety of functions, such as commands for
printing,copyingandcutting,searching,replacing(withsupportofRegular
Expressions),changingfontandsize,andsoon.
ThekeyboardshortcutsintheEAGLETextEditorfollowtheplatformspecific
standards.
WhenintheTextEditor,therightmousebuttoncallsupacontextmenu.
In case youprefer an external text editor, define theprogramcall in the
ControlPanel'sorinoneoftheEditorwindow'sOption/Userinterfacemenu,
External texteditor.IfyouwanttopreventEAGLEtostartanytexteditor
automatically,typeinaminussign''intheExternaltexteditorline.Clearthe
lineforthebuiltinEAGLEtexteditor.
Pleasenotefurtherinformationabouttheusageofanexternaltexteditorin
thehelpfunction,sectionEditorwindows/TextEditor.

86

Chapter 5
Principles for Working with EAGLE
5.1 Command Input Possibilities
UsuallythecommandsinEAGLEareexecutedbyclickinganiconoranitem
inthemenubarandthenclickingontotheobjectyouwanttoedit.Butthere
arealsoalternativetoexecutecommands.
PossibilitiesforcommandinputinSchematic,Layout,andLibraryEditor:
clickingacommandicon
typingtextcommandsinthecommandline
throughthecontextmenu
viafunctionkeys
viascriptfiles
viaUserLanguageprograms
InanycaseitisnecessarytounderstandthesyntaxoftheEAGLEcommand
languagewhichisdescribedinthefollowingsection.
Adetailed descriptionoftheEAGLEcommandscanbefoundonthehelp
pages.

Activate Command and Select Object


TheclassicalwayofworkingwithEAGLEistoactivatethecommandfirst,
andthenchoosetheobjectyouwanttohaveitexecutedon.Forexample,
firstactivatetheMOVEcommandbyclickingtheiconinthecommandmenu
orselectingthecommandinoneofthemenus,andfinallyclickontothe
objectyouwanttomove.

Command Line
Asanalternativetothepreviouslymentionedclickingontoaniconyoucan
usethecommandline.Whenenteringcommandsyoumayabbreviatekey
wordsaslongastheycannotbemistakenforanotherkeyword,oryoumay
usesmallorcapitalletters(theinputisnotcasesensitive),forexample:
CHANGE WIDTH 0.024
isequivalentto
cha wi 0.024
87

5 Principles for Working with EAGLE


TheactualunitforthevaluesissetintheGRIDmenu. It'salsopossibleto
specifytheunitdirectlyinthecommandlinewithoutchangingthecurrently
setgrid:
CHANGE WIDTH 0.6MM
or
cha wid 24mil
Mostcommandscanbeexecuted whilstdeclaringcoordinatevaluesinthe
commandline.
Examples:
MOVE IC1>VALUE (2.50 1.75) ;
ThevalueplaceholdertextforpartIC1movestoposition2.501.75inthe
layout,providedithasbeenreleasedwiththeSMASHcommandbefore.
MIRROR U1;
PartU1willbemirroredtothebottomsideoftheboard.
HOLE 0.15 (5 8.5) ;
Placeaholewithdrilldiameter0.15atposition58.5.
VIA 'GND' 0.070 round (2.0 3.0) ;
Aroundshapedviawithadiameterof0.070belongingtosignalGNDwillbe
placedatposition2.03.0.

History Function
YoucanrecallthemostrecentlyenteredcommandsbypressingCrsrUp()
or CrsrDown () and edit them. The Esc key deletes the contents of the
commandline.

The Context Menu


AnotherwayofusingEAGLEistoworkwiththeobjectspecificcommand
menu.Inthiscaseyoufirstclickwiththerightmousebuttonontotheobject
andthenyouselectthecommandthatyouwanttohaveexecuted.
The context menu contains all commands that can be executed with the
selected object. Additionally you can display all the object's properties by
clickingontothePropertiesentry.Someofthemcanbeevenchangeddirectly
inthePropertieswindow.

88

5.1 Command Input Possibilities

ThecontextmenuforaDeviceintheSchematic

Function Keys
Textsmaybeallocatedtothefunctionkeysandtocombinationsofthosekeys
withAlt,CtrlandShift(forMacOSXadditionallyCmd),ifnotoccupiedby
theoperatingsystemoraLinuxWindowManager(forexampleF1forhelp).
Ifafunctionkeyispressed,thiscorrespondstothetextbeingtypedinviathe
keyboard.Sinceevery commandiscapableofbeingenteredastext,every
command,togetherwithcertainparameters,canbeassignedtoafunction
key.Evenwholesequencesofcommandscanbeassignedtoafunctionkeyin
thisway.
Thecommand
ASSIGN
displays the current function key assignments. Changes to the key
assignmentscanbecarriedoutintheassignwindow.
TheNewbuttoncanbeusedtodefineanewkeyassignment.AclickontoDel
willdeleteamarked entry, while Change alters anexistingdefinition. OK
closesthedialogandsavesthedefinitions,whileCancelabortsthedialog.
These settings can also be made via the Options/Assign menu in the
SchematicorLayoutEditor.
TopredefinecertainassignmentsyoucanalsousetheASSIGNcommandin
thefileeagle.scr(seepage112).

89

5 Principles for Working with EAGLE

ThedialogfortheASSIGNcommand
Examples:
ThecombinationofCtrl+Shift+Gdisplaysagridof0.127mm:
ASSIGN CS+G 'GRID MM 0.127 ON;';
ThecombinationofAlt+F6changesthelayertoTopandstartstheROUTE
command:
ASSIGN A+F6 'LAYER TOP; ROUTE';
ThecombinationofthekeysAlt+RdisplaysonlythelayersTop,Pads,Vias
andDimensionfirstandthenstartstheprintoutwiththedefaultprinter:
ASSIGN A+R 'DISPLAY NONE 1 17 18 20; PRINT;';
A,C,M,andSarethemodifiersfortheAlt,Ctrl,Cmd(MacOSXonly),and
Shiftkey.
ThecombinationofAlt+0bringstheControlPanelintotheforeground.The
combinations Alt+1 upto 9 areassignedtothevarious editorwindows,
accordingtothewindownumberwhichisshownintherespectivetitlebar.

Script Files
Script files are a powerful tool. They can contain long sequences of
commands,suchasthespecificationofspecificcolorsandfillpatternsforall
layers, as for example in defaultcolors.scr. On the other hand they might
containnetlistsconvertedfromthedataofotherprograms.
TheSCRIPTcommandisusedtoexecutescriptfiles.
90

5.1 Command Input Possibilities


ManyUserLanguageprograms(ULP)createscriptfilesthatcanbereadin
ordertomodifyalayoutoraschematic.
EAGLEoutputsanentirelibrary,forinstance,asascriptfilewiththeaidof
theEXPORTcommand(Scriptoption).Thisfilecanbemodifiedwithatext
editor,afterwhichitcanbereadinagain.Thisallowschangestobemadeto
alibraryquiteeasily.
Thereismoreinformationaboutscriptfilesandexportcommandslaterin
thischapter.

Mixed Input
Thevariousmethodsofgivingcommandscanbemixedtogether.
You can, for instance, click the icon for the CIRCLE command (which
corresponds to typing CIRCLE on the command line), and then type the
coordinatesofthecenterofthecircleandofapointonthecircumferencein
thisform
(2 2) (2 3)
inthecommandline.
Thevaluesusedabovewould,iftheunitiscurrentlysettoinch,resultina
circle with a radius of one inch centered on the coordinate (2 2). It is
irrelevantwhethertheCIRCLEcommandisenteredbyiconorbytypingon
thecommandline.
SomeEAGLEcommandsareusedincombinationwiththeShift,Altor
Ctrlkeys.IncaseyouareworkingwithEAGLEforMacOSX,pleaseuse
theCmdkeyinsteadofCtrl.

5.2 The EAGLE Command Language


YouonlyneedaknowledgeoftheEAGLEcommandlanguageifyouwantto
makeuseofthealternativeinputmethodsdiscussedintheprevioussection.
ThesyntaxoftheEAGLEcommandlanguagewillbediscussedinthissection,
andtypographicalconventions,whichareimportantforunderstandingthe
descriptions,willbespecified.

Typographical Conventions
Enter key and Semicolon
IfEAGLEcommandsareenteredviathecommandlinetheyarefinishedwith
theEnterkey.Insomecasesacommandmusthaveasemicolonattheend,so
thatEAGLEknowsthattherearenomoreparameters.Itisagoodideato
closeallcommandsinascriptfilewithasemicolon.
TheuseoftheEnterkeyissymbolizedatmanyplaceswithinthishandbook
withthe
sign.
91

5 Principles for Working with EAGLE


However in the following examples neither the Enter key sign nor the
semicolonareshown,sinceallofthesecommandscanbeusedbothonthe
commandlineandwithinscriptfiles.

Bold Type or Upper Case


CommandsandparametersshownhereinUPPERCASEareentereddirectly.
When they are entered, there is no distinction made between upper and
lowercase.Forexample:
Syntax:
GRID LINES
Input:
GRID LINES or grid lines

Lower Case
Parametersshownhereinlowercasearetobereplacedbynames,numbers
orkeywords.Forexample:
Syntax:
GRID grid_size grid_multiple
Input:
GRID 1 10
Thissetsthegridto1mm(assumingthatthecurrentunitissettomm).
Every tenth grid line is visible. The figures 1 and 10 are placed into the
commandinsteadoftheplaceholdersgrid_sizeandgrid_multiple.

Underscore
Inthenamesofparametersandkeywordstheunderscoresignisoftenused
intheinterestsofaclearerrepresentation.Pleasedonotconfuseitwithan
empty space. As can be seen in the example above, grid_size is a single
parameter,asisgrid_multiple.
Ifakeywordcontainsanunderscoresign,suchasCOLOR_LAYERdoesinthe
command
SET COLOR_LAYER layer_name color_word
thenthecharacteristobetypedinjustlikeanyother.Forexample:
SET COLOR_LAYER BOTTOM BLUE

Spaces
Whereveraspaceispermissible,anynumberofspacescanbeused.

Alternative Parameters
The|charactermeansthattheparametersarealternatives.Forexample:
Syntax:
SET BEEP ON | OFF
Input:
92

5.2 The EAGLE Command Language


SET BEEP ON
or
SET BEEP OFF
Thebeep,whichistriggeredbycertainactions,isswitchedonoroff.

Repetition Points
The .. characters mean either that the function can be executed multiple
times, or that multiple parameters of the same type are allowed. For
example:
Syntax:
DISPLAY option layer_name..
Input:
DISPLAY TOP PINS VIAS
Thelayernumbercanalternativelybeused:
DISPLAY 1 17 18
Morethanonelayerismadevisiblehere.
Ifalayer(inthiscaseBottom)istobehidden:
DISPLAY -16

Mouse Click
Thefollowingsign usuallymeansthatatthispointinthecommandan
objectistobeclickedwiththeleftmousebutton.
Forexample:
MOVE
Input:
MOVE (or click the icon)
Mouse click on the first object to be moved
Mouse click on the destination
Mouse click on the second object to be moved
and so on.
Youcanalsoseefromtheseexampleshowtherepetitionpointsaretobe
understoodinthecontextofmouseclicks.

Entering Coordinates as Text


Theprogramseeseverymouseclickasapairofcoordinates.Ifitisdesiredto
entercommandsintextformonthecommandline,theninsteadofclicking
withthemouseitispossibletoenterthecoordinatesthroughthekeyboardin
thefollowingform:
(xy)
where x and y are numbers representing units as selected by the GRID
command.Thetextualinputmethodisnecessaryinparticularforscriptfiles.

93

5 Principles for Working with EAGLE


Thecoordinatesofthecurrentcursorpositioncanbefetchedwith(@).For
example:
WINDOW (@);
Examplesofcoordinateentryintextform:
Youwanttoentertheoutlineofacircuitboardwithprecisedimensions.
GRID MM 1;
LAYER DIMENSION;
WIRE 0 (0 0) (160 0) (160 100) (0 100) (0 0);
GRID LAST;
The first step is to switch to a 1 mm grid. The dimension layer is then
activated.TheWIREcommandthenfirstsetsthelinewidthto0anddrawsa
rectangle with the aid of the four given coordinates. The last command
returns the grid to whatever had previously been selected, since circuit
boardsareusuallydesignedusinginches.

Relative values:
Itispossibletouserelativecoordinatevaluesintheform(Rxy)whichrefer
toareferencepointsetwiththeMARKcommandbefore.Ifyoudon'tseta
referencepointtheabsoluteoriginofthecoordinatesystemwillbetaken.
Settingaviarelativetothereferencepoint:
GRID MM 0.5;
MARK (20 10);
VIA (R 5 12.5);
MARK;
FirstthegridissettoMillimetres,thenthereferencepointattheposition(20
10)isplaced.Theviaislocatedatadistanceof5mminxand12.5mminy
directionfromthethispoint.Thenthereferencepointisremoved.

Polar values:
Polarcoordinatesaregivenintheformof(Pradiusangle).
GRID MM;
MARK (12.5 7.125);
LAYER 21;
CIRCLE (R 0 0) (R 0 40);
PAD (P 40 0);
PAD (P 40 120);
PAD (P 40 240);
Thisexamplesshowshowtosetthereferencepointatposition(12.57.125).
Thenacirclewitharadiusof40mmisdrawninlayer21,tPlace.Threepads
areplacedonthecircumferencewithanangleof120.
Herethecircleiseasilydrawnwiththehelpofrelativecoordinates.Sowedo
nothavetoworryaboutabsolutevaluesofapointonthecircumferencefor
thesecondcoordinatespairtodeterminethecircle.

94

5.2 The EAGLE Command Language


Right Mouse Click:
The>characterwithinparenthesisrepresentsarightmouseclick.Thatway
onecanmoveawholegroup,forexample:
MOVE (> 0 0) (10 0);
Thepreviouslyselectedgroupwillbemoved10unitsinxdirection.

Modifier:
Withinparenthesisonecanusesomemodifiers.Forcombinationsyoudon't
havetocareabouttheorder:
A representsthepressedAltkey,thealternativegrid
C representsthepressedCtrlkey,MacOSX:Cmd
S representsthepressedShiftkey
R relativecoordinates
P polarcoordinates
> rightmouseclick
CandScausemiscellaneouscommandstobehaveindifferentmanners.More
informationcanbefoundinthehelpfunctionoftherespectivecommand.
Ifthecommandsarebeingreadfromascriptfile,eachonemustbeclosed
withasemicolon.Intheabovecasesthesemicolonscanbeomittedifthe
commandsarebeingenteredviathekeyboardandeachisbeingclosedwith
theEnterkey.
Examples:
Acomponentistobetransposedtoaspecifiedposition.
GRID MM 1;
MOVE IC1 (120 25) ;
Alternativelyyoucanusetheobject'scoordinates:
MOVE (0.127 2.54) (120 25);
IC1islocatedatcoordinates(0.1272.54)andismovedtoposition(12025).
ThecurrentpositionofaDevicecanbeobtainedwiththeaidoftheINFO
command.
INFO IC1
WhenaSymbolisdefined,apinisplacedatacertainposition.
PIN 'GND' PWR NONE SHORT R180 (0.2 0.4) ;
Youdrawarectangularforbiddenareainlayer41tRestrict:
LAYER TRESTRICT;
RECT (0.5 0.5) (2.5 4) ;

95

5 Principles for Working with EAGLE

5.3 Grids and the Current Units


EAGLEperformsitsinternalcalculationsusingabasicgridsizeof
0,00325m(about0.000123mil).
Microns(m),mils(1/1000inch),inchesandmmcanbechosenasaunit.
ThecurrentunitassetwiththeGRIDcommandappliestoallvalues.
Youshouldalwaysusethepreset0.1inchgridforschematicdiagrams
andfordrawingSymbolsintheLibraryEditor!
Whenstartingthedesignofcircuitboardsorlibrariesitpaystogiveprior
thoughttothequestionofwhichgridsize(orsizes)willbeusedasabasis.
Forexample,itisonlytheoriginofaPackagethatwillbepulledontothe
board'splacementgrid.AllotherobjectsconstitutingthePackage(suchas
pads)areplacedrelativetothatpointontheboard,justasitwasdefinedin
thelibrary.
Thebasicruleforboardsis:alwaysmakethegridasbigaspossibleand
assmallasnecessary.
Variousgrid sizescanbepresetin the eagle.scr filefordifferent typesof
editorwindows(seepage105).

TheGridmenu
ThecurrentgridSizeissetinthegridmenu.Theunitschoseninthecombo
boxareused.
The Multiple option indicates how many grid lines are displayed. If, for
instance,thevalue5isenteredatMultiple,everyfifthlinewillbedisplayed.
The Alt line allows to set an alternative grid which can be activated by
pressingthe Alt key(while,forexample,MOVE,ROUTE,ADD,orWIREis
active). This can be very useful for placing parts in a dense layout or
arranging labels in the schematic. If you decide not to place it in the
alternativegridandreleasetheAltkeybeforeplacingit,theobjectstaysinits
origingrid.
96

5.3 Grids and the Current Units


Stylespecifiesthewayitisdisplayed:LinesorDots.TheoptionsOnandOff
underDisplayswitchthegriddisplayonoroff.Finestsetsthefinestgridthat
ispossible.Clickingondefaultwillselecttheeditor'sstandardgrid.
Beginningwithacertainzoominglimit,gridlinesarenotdisplayedanymore.
ThislimitcanbesetinthemenuOptions/Set/Misc,Min.visiblegridsize.
Gridlinesandgriddotscanhaveanycolor.Clickthecoloredbuttonofthe
respective palette (depends on the background color) in the menu
Options/Set/Colorsandselectthecolorasrequested.Thiscanalsobedonein
thecommandline,forexample:
SET COLOR_GRID BLUE
Insteadofthecolornamethecolornumbercanbegiven,aswell.Itcanbein
therange0..63.Theshowncolordependsonthe(self)definedcolorsofthe
currentpalette.
SeealsothehintsconcerningColorsettingsonpage107.

5.4 Aliases for DISPLAY, GRID, and WINDOW


ForthecommandsDISPLAY,GRID,andWINDOWyoucandefinesocalled
aliases.Thisisasetofparameterswhichyoucansavewithanynameand
executeditwiththecommand.Toaccesssuchanaliassimplyclickwiththe
rightmousebuttonontothecommandicon.
Thealiasesarestoredinthe eaglerc fileforSchematic,Layout,andLibrary
separately.TheyareavailableforallSchematics,Layout,andLibrariesthen.

Example: DISPLAY Alias


Display the layers you want to see in the Layout Editor with the
DISPLAYcommand,forexampleTop,Pads,Vias,andDimension
RightclickontotheDISPLAYicon

andapopupmenuappears

SelecttheNew..entry
Enterthenameofthealias,forexampleTop_view
ClicktheOKbutton
FromnowonthepopupmenuoftheDISPLAYiconcontainstheentryTop
view.
Ifyoupreferthecommandlineforactivatingthisaliasyouhavetoenter:
DISPLAY TOP_VIEW or disp top_v
Itdoesnotmatterifyouwriteinupperorlowercaselettershers.Youmay
useabbreviationsaslongasthenameisclear.
Therearenolimitationtothenumberofaliasesused.
UseDISPLAY LASTinthecommandlineortheentryLastoftheDISPLAY's
popupmenuicontoreturntothelastlayerselection.
MoredetailscanbefoundonthehelppageoftheDISPLAYcommand.
97

5 Principles for Working with EAGLE

Example: GRID Alias


The how to and the function of a grid alias is exactly the same as it is
explainedfortheDISPLAYcommand.Settheappropriategridinoneofthe
Editorwindows, rightclick onto the GRID icon

,and select the New..

entryinthepopupmenutodefinethealias.
Thiscanbedoneinthecommandlineaswell.forthegridcommanditcould
looklikethis:
GRID = My_Grid inch 0.005 lines on
Thecommand
grid my_grid orinshort gri my
executes the alias. The command is case insensitive, the alias can be
abbreviated.

Example: WINDOW Alias


TheWINDOWcommandallowsyoutodefineanaliasforacertainpartofthe
drawingarea.Aliaseshelpyoutonavigatecomfortablyfromonelocationto
anotherinyourdrawing.ThedefinitionofaWINDOWaliasissimilartothe
DISPLAYaliasasdescribedabove:
Selecttheappropriatedisplaywindowinthedrawing
Rightclick onto the Select icon of the WINDOW command

to

openthepopupmenu
ClicktheNew..entrynowandnameyouralias
Let'sassumethealiasnameisupper_left:Youcanrestorethisdisplaydetail,
forexample,inthecommandlinewith:
WINDOW Upper_Left orinshort win upper_l
Alternativelyrightclickontothe Select iconoftheWINDOWcommandand
selecttheentryupper_leftinthepopupmenu.
InaSchematicthatconsistsofmorethanonesheetanaliasisexecuted
alwaysonthecurrentlyactivesheet,independentofwhereitwasdefined
originally.

Editing, Renaming, Deleting of an Alias


Inthecaseyouwanttodeleteanalias,youcandothisinthecommandicon's
popup menu. First rightclick onto the command icon to open the popup
menu.Thenusearightmouseclickontothealiasentry.Thisopensacontext
menu.ClicktheDeleteoptionthere.

98

5.4 Aliases for DISPLAY, GRID, and WINDOW

DeletingaWINDOWalias
ThesamemethodscanbeusedtoRenameorEditanalias.
These actions can be executed also via the command line. Further
informationcanbefoundinthehelppagesabouttheDISPLAY,GRID,and
WINDOWcommands.

5.5 Names and Automatic Naming


Length
NamesinEAGLEcanhaveanydesiredlength.Thereisnolimit.

Forbidden and Special Characters


Nonamesmaycontainspaces,semicolonsorumlauts.Quotationmarksand
otherexoticcharacters(above127intheASCIItable)shouldbeavoidedas
faraspossible.
Devicenamesmustnotcontaineitherquestionmarksorasterisks,sincethese
charactersareusedasplaceholdersforPackagevariants(?)andtechnologies
(*).
Commasmustbeavoidedinpadnames.
Partbusnamesmustnotcontaincolons,commasorsquarebrackets.
Theexclamationmarkisaspecialcharacterthatstartsandendsa barover
the text. See the help function for the TEXT command for details. If an
exclamationmarkshouldbevisibleinthetext,itneedstobeescapedbya
leadingbackslash.
Inordertohaveabackslashdisplayedinanameortext,youhavetotypeit,
forexamplewiththeNAMEorTEXTcommand,twice.

Automatic Naming
IfanameisgiventogetherwithoneofthecommandsPIN,PAD,SMD,NET,
BUS or ADD, then other names will be derived from it as long as the
commandisstillactive.
Thenameissimplytypedintothecommandlinebeforeplacingtheobject
(whileitisattachedtothemouse).Notethatthenamemustbeplacedwithin
simplequotationmarks.EntryiscompletedwiththeEnterkey().
Theexamplesillustratehowautomaticnamingfunctions:
99

5 Principles for Working with EAGLE


ADD DIL14 'U1'
fetchesthreeDIL14PackagestotheboardandnamesthemU1,U2andU3
(correspondstoamouseclick).
PAD OCT '1'
placesfouroctagonalpadswiththenames1,2,3,and4.
If the name consists of only one character from A...Z, then the following
objectsreceivethefollowinglettersofthealphabetasnames:
ADD NAND 'A'
fetchesfour NANDgateswith thenamesA,B,Cand D. Ifthegenerated
namereachesZ,thennameswiththedefaultprefixwillagainbegenerated
(e.g.G$1).

5.6 Import and Export of Data


EAGLEprovidesanumberoftoolsfordataexchange.
Scriptfilesforimporting
Theexportcommandforexporting
EAGLEUserLanguageprogramsforimportandexport.
TheUserLanguageisveryflexible,butdoescallforasuitableprogramtobe
created. You will find further details in the section on The EAGLE User
Language.

Script Files and Data Import


TheSCRIPTcommandmakesauniversaltoolavailabletotheEAGLEuserfor
dataimport.
Since every EAGLE operation can be carried out with the aid of text
commands,youcanimportalltypesofdatawiththeaidofascriptfile.A
scriptfilecaninturncallotherscriptfiles.
Scriptfilescanbecreatedwithasimpletexteditor.Theprerequisiteforthe
development of your own script files is that you understand the EAGLE
commandlanguage.Youwillfindtheprecisefunctioningandthesyntaxof
theindividualcommandsintheEAGLEhelppages.
The file euro.scr in the eagle/scr directory, which draws the outline of a
eurocardwithcornerlimits,providesasimpleexample.
Ifanetlististobeimportedintoaboarddesignwhichalreadycontainsthe
appropriatecomponents,thenascriptfileofthefollowingformisnecessary:
SIGNAL GND IC1 7 IC2 7 J4 22;
SIGNAL VCC IC1 14 IC2 14 J4 1;
A Netscriptofthissortcaneasilybecreatedfromtheschematicdiagramby
theEXPORTcommand (menu File/Export/Netscript)andimportedintothe
layout.
100

5.6 Import and Export of Data


Youwillgetafurtherimpressionofthepowerofimporting,ifyououtputa
librarywiththeEXPORTcommandintoascriptfile(File/Export/Script).The
scriptfilethatisgeneratedprovidesaninstructiveexampleforthesyntaxof
thescriptlanguage.Itcanbeexamined withanytexteditor.IfSCRIPTis
thenusedtoreadthisfileintoanemptylibrary,anewlibraryfilewillbe
created.
Commentscanbeincludedfollowinga#character.
TheexecutionofascriptfilecanbestoppedbyclickingtheStopiconinthe
actiontoolbar.
TheFile/ImportmenuoffersaPCAD/Altium/Protelimportoption.Filesthat
aresaved inthe ACCELASCII dataformatcanbetransferred into EAGLE.
Furtherinformationisdisplayedwhenyoustartthisfunction.

File Export Using the EXPORT Command


TheEXPORTcommandandthemenuFile/Export...offers,dependingonthe
activeeditorwindow,thefollowingmodes:

DIRECTORY
Outputs a list of the contents (Devices, Symbols, and Packages) of the
currentlyloadedlibrary.

NETLIST
Outputsa netlistforthecurrentlyloadedschematicorboardinanEAGLE
specificformat.Itcanbeusedtochecktheconnectionsinadrawing.
TherearealsoavailableseveralUserLanguageprogramsthatallowtoexport
variousnetlistformats.PleasetakealookintoCadSoft'sDownloadareain
theweb:http://www.cadsoftusa.com/download.htm.

NETSCRIPT
Outputsanetlistofthecurrentlyloadedschematicintheformofascriptfile.
ThenetscriptcanbeimportedintotheboardfilewiththehelpoftheSCRIPT
command.Thiscouldbepossiblysuggestiveiftherearedifferencesinthe
netlistbetweenschematicandlayout.
Inthefirststepyouhavetodeleteallsignalsinthelayoutwiththecommand
DELETESIGNALS.Beawarethatalltracesarelost!NowexporttheNetscript
fromtheSchematicandimportitwiththeSCRIPTcommandintothelayout.
TheresultisaSchematic/Layoutfilepairwithanidenticalnetlist.

PARTLIST
Outputsacomponentlistfortheschematicorboard.

PINLIST
Outputsapin/padlistfortheschematicorboard,listingtheconnectednets.

101

5 Principles for Working with EAGLE


SCRIPT
Outputsthecurrentlyloadedlibraryintheformofascriptfile.
This script can be modified with a text editor in order to generate, for
example,auserdefinedlibrary,ortocopypartsofonelibraryintoanother.
Themodifiedscriptfilecanbeimportedintoaneworanalreadyexisting
librarywiththehelpoftheSCRIPTcommand.
ThescriptfilealsoservesasagoodexamplefortheEAGLEcommandsyntax.
Inordertoavoidlossofprecisionthegridunitinthescriptfileissetto
Millimetres.

IMAGE
TheoptionImageallowsyoutogeneratefilesinvariousgraphicformats.
Thefollowingformatsareavailable:
bmp

WindowsBitmapfile

png

PortableNetworkGraphicsfile

pbm

PortableBitmapfile

pgm

PortableGrayscaleBitmapfile

ppm

PortablePixelmapfile

tif

TagImagefile

xbm

XBitmapfile

xpm

XPixmapfile

Settingsforgraphicfileoutput
ClicktheBrowsebutton,selecttheoutputpath,andtypeinthegraphicfile
namewithitsextension.Thefileextensiondeterminesthegraphicfiletype.
Togenerate ablackandwhiteimageactivatetheoption Monochrome.To
maketheimageavailableviathesystem'sclipboardsettheClipboardoption.
The Resolution canbesetindotsperinch.Theresulting ImageSize willbe
showninthelowestfield.
The Area fieldallowsaselectionof Full or Window. Full printsthewhole
drawing,whereas Window printsthecurrentlyintheEditorwindowvisible
partofthedrawing.

102

5.6 Import and Export of Data


Further graphic formats, like HPGL, Postscript (PS), or Encapsulated
Postscript(EPS),canbegeneratedwiththehelpoftheCAMProcessor.
The User Language Program dxf.ulp generates xf data. The PRINT
commandsupportsPDFoutput.

LIBRARIES
Create libraryfileswithallthedevicesandpackagesthatareusedinthe
currentproject.
Pleasespecifythepathwherethe libraryfilesshallbestoredinthedialog
window.Besurenottooverwrtieyoursystemlibraries.Thisoptionallowsto
extract all library definitions from schematic and board and make them
available,forexample,forfurthereditingorforfurtherusageinyourown
libraries.ThisfunctionisrealizedbytheUserLanguageProgramexplbrs.ulp.

5.7 The EAGLE User Language


EAGLEcontainsaninterpreterforaClikeUserLanguage.Itcanbeusedto
accessanyEAGLEfile.Sinceversion4ithasalsobeenabletoaccessexternal
data.Itispossible,withveryfewrestrictions,toexportdatafromEAGLE,and
importawiderangeofdataintoEAGLE.
ULPscan,forexample,manipulatealayoutfileoralibrarybygeneratingand
executingaScriptfile.TheScriptfilecontainsallthenecessarycommands
forthemanipulation.TheUserLanguage'sintegratedexit()functionallowsit
toexecutethesecommandsdirectly.
Theprogramexamplesincluded (*.ulp)willprovidesomeinsightintothe
capacityoftheUserLanguage.Theyarelocatedinyourinstallation'sULP
directory.AdescriptionofthewayinwhichaULPworksislocatedinthefile
header.ThisisalsodisplayedintheControlPanelorintheusageboxwhen
theprogramiscalled.
UserLanguageprogramsmustbewritteninatexteditorthatdoesnotadd
anycontrolcodes.Itmightbeagoodideatouseatexteditorthatsupports
syntaxhighlightingforCprogramminglanguage.Thishelpstounderstand
thestructureofanULP.
Youcandefinean Externaltexteditor inthe Option/UserInterface menuas
yourdefaulteditor.
AULPisstarted withtheRUNcommand,orbydraggingaULPfromthe
ControlPanelintoaneditorwindow(Drag&Drop).Tocanceltheexecution
ofanULPclicktheStopicon.
EAGLE prompts a message in the status bar, Run: finished, if the User
Languageprogramhasbeenended.
The language is described in detail in the EAGLE help pages, under the
keywordUserLanguage.
TypicalapplicationsforULPs:
103

5 Principles for Working with EAGLE


Creatingpartslistsinvariousformats.
Seealsopage290.
Outputingraphicalformats.
Dataoutputforcomponentinsertionmachines,incircuittestersetc.
Linkingtoanexternaldatabase.
Manipulationofthesilkscreenprint,thesolderstopmask,andsoon.
Importofgraphicdatafiles(forexampleimportbmp.ulpforlogosor
thelike)
AlotofvaluableULPscanbefoundonourwebpages.Simplytakealook
athttp://www.cadsoftusa.com/download.htm.

5.8 Forward&Back Annotation


A schematic file and the associated board file are logically linked by
automatic Forward&Back Annotation.Thisensures thattheschematicand
theboardarealwaysconsistent.
AssoonasalayoutiscreatedwiththeBOARDcommand

,thetwofiles

are consistent. Every action performed on the schematic diagram is


simultaneously executed in the layout. If, for instance, you place a new
Device,theassociatedhousingwillappearonthelayoutattheedgeofthe
board.Ifanetisplaced,thesignallinesaresimultaneously drawninthe
layout.Certainoperationssuchastheplacementordeletionofsignalsare
only allowed in the schematic. The Layout Editor does not permit these
actions,andissuesanappropriatewarning.RenamingDevicesorchanging
theirvalues,forexample,arepermittedinbothfiles.
TheEAGLEhelppagescontainacloserdescriptionofthetechnicaldetails.
Itisnotnecessaryforyou,astheuser,topayanyfurtherattentiontothis
mechanism.Youonlyhavetoensurethatyoudonotworkonaschematic
whoseassociatedboardfilehasbeenclosed,andviceversa.Thismeansthat
both files must always be loaded at the same time. Otherwise they loose
consistency,andtheannotationcannolongerwork.
Ifyouhave,however,onceeditedtheboardortheschematicseparately,the
ElectricalRuleCheck(ERC)willcheckthefilesforconsistencywhentheyare
loaded.Ifinconsistenciesarefound,theERCopensanErrorwindowwith
appropriate messages about the Schematic and the Layout. Section 6.12,
startingwithpage193,showshowtoproceedinsuchacase.

104

5.9 Configuring EAGLE Individually

5.9 Configuring EAGLE Individually


Thereareanumberofsettingsthatpermittheprogramtobeadjustedfor
individualneeds.Wedistinguishbetweenprogram,userandprojectspecific
settings.
Basicprogramsettingsthatwillapplytoeveryuserandeverynewprojectare
madeinthe eagle.scr file.UnderWindows,personalpreferencesarestored
inthefileeaglerc.usr,or,underLinux,in~/.eaglerc.
EAGLErememberssettingsthatonlyapplytooneparticularprojectinthe
eagle.epfprojectfile.
Valuesthat,forinstance,onlyapplytoonespecificboard,suchastheDesign
Rules,speciallayercolors,uniquenewlydefinedlayersorthegridsettingare
storeddirectlyinthelayoutfile.Thisalsoapplies,ofcourse,toschematic
diagramandlibraryfiles.

Configuration Commands
Mostoftheoptionsareusuallysetbymeansofthe Options menusofthe
individualEAGLEeditorwindows.
TheControlPanelallowssettingstobemadeforDirectories,fileBackupand
the appearance of the editor window (User interface). These options are
describedinthechapterontheControlPanelunderthe
Optionsmenuheading,startingonpage45.
ThroughtheUserinterfacesettingsitispossibletoselecttheiconbasedmenu
oraconfigurabletextmenu.
The MENU command allows the text menu to be given a hierarchical
configurationbymeansofascriptfile.Thereisanexampleofthisinthe
appendix.
TheOptionsmenuintheeditorwindowsforschematicdiagrams,layoutsand
librariescontains,inadditiontotheUserinterfaceitem,twofurtherentries:
AssignandSet.
The ASSIGN command alters and displays the assignment of the function
keys.Youwillfindinformationaboutthisonpage89.
GeneralsystemparametersarealteredwiththeSETcommand.
The CHANGE command allows a variety of initial settings for object
properties.
The GRID command sets the grid size and the current unit. Further
informationaboutthisstartsonpage96.

The Menu Options/Set (SET Command)


Most common options of the SET command are available in the Settings
window of the menu Options/Set. This window can be reached also by
enteringonthecommandline:
SET
105

5 Principles for Working with EAGLE


Display Certain Layers Only
ThenumberofavailablelayersshownintheDISPLAYorLAYERmenucanbe
setwiththeoptionUsed_Layers.Thatwayitispossibletohideunusedlayers
forclarityreasons.
SET USED_LAYERS 1 16 17 18 19 20 21 23 25 27 29 31 44 45 51;
storedinthefileeagle.scrshowsonlythementionedlayers.After
SET USED_LAYERS ALL;
alllayersareavailableagain.

Context Menu Entries


Therightmousebutton contextmenucanbeextendedbyarbitraryentries
for different objects which are selectable with the mouse. This can be a
simplecommand,asequenceofcommands,ormaybeascriptfileoraUser
LanguageProgramyouwanttostart.ThesyntaxfortheSETcommandlooks
likethis:
SETCONTEXTobjecttypetextcommands;
objecttype

canbe:attribute,circle,dimension,element,frame,gate,
hole,instance,junction,label,modinst,pad,pin,rectangle,
smd,text,via,wire

text
commands

isthemenutextentry
isthecommandsequence,thatisexecutedafterclicking
ontothemenuentry

Example:
SETCONTEXTwireGo_bottom'changelayer16';
Thecontextmenuforwires(alsopolygonsarememberofobjecttypewire)
has an additional entry named Go_bottom which changes the layer to 16
whenclickingthisentry.
Inordertodeleteallselfdefinedentriesinthecontextmenuofacertain
objecttype,type:
SET CONTEXT wire ;
Toachievethedefaultsettingsforallcontextmenus:
SET CONTEXT ;

Contents of The Parameter Menus


The parameter menus for Width, Diameter, Dline (for dimensioning) Drill,
SMD, Size, Isolate, Spacing, and Miter, which are available, for example,
throughtheCHANGEcommand,canbeconfiguredandfilledwithanyvalues
by the SET command. Simply list the values, separated by blanks, in the
commandline.
ExamplefortheMitermenu:
SET MITER_MENU 0.1 0.2 0.3 0.4 0.5 0.6 1 1.5 2 3 4;

106

5.9 Configuring EAGLE Individually


TheunitsofthegivenvaluesaredeterminedbythecurrentlyusedGRIDin
theEditorwindow.Amaximumnumberof16entriesisallowed.
ExamplefortheSMDmenu:
SET SMD_MENU 1.2mm 2.0mm 0.5mm 0.9mm 0.1in 0.14in;
Foreachentryofthethreevaluepairstheunitisgivendirectly.Amaximum
numberof16valuepairsisallowed.
ThevaluesinthemenusarealwaysshowninthecurrentlyselectedGRID
unit.
WritetheSETcommandinthefile eagle.scr tomakeitdefaultforallyou
projects.
ToreturntotheEAGLEdefaultsettingsuseforexamplefortheWidthmenu:
SET WIDTH_MENU ;

Confirm Message Dialogs Automatically


SometimesEAGLEpromptstheuserwithawarningorinformationalmessage
andwantstoknowhowtoproceed.Thismaybeunwantedforautomatic
processes,forexample,forexecutingascriptfile.Youcandecideonhow
suchamessageshallbeanswered.
SET CONFIRM YES ;
answersthequestioninthepositivesense(YesorOK).
Inordertousethenegativeoption(Nobutton,ifpresent,orsimplyconfirms
thedialog)type
SET CONFIRM NO ;
Toswitchoffautomaticconfirmation,use
SET CONFIRM OFF;
Pleasebecarefulwiththisoption!Donotuseitasageneraloption,for
example,inthebeginningofascriptfile.Thiscouldleadtounexpected
results!SeehelpoftheSETcommandfordetails.

Color Settings
The Colors tabcontainssettingsforlayerandbackgroundcolorsandcolors
forgridlinesordots.
Threecolorpalettesareavailable:forblack,whiteandcoloredbackground.
Eachpaletteallowsamaximumof64colorentries,whichcanbegivenany
valuefortheAlphachannelandanyRGBvalue.

107

5 Principles for Working with EAGLE

Settingswindow:Colorsettings
IfyouprefertheoldrasterOPbehaviourofpreviousEAGLEversionsonblack
background, deactivate the Use alphablending check box.In thiscase the
alphavalueisignoredwhenusingablackbackground.Colorsaremixednow
usinganORfunction.
By default EAGLE uses the first 16 values (entries 0..15). Eight colors
followedbyfurthereightsocalledhighlightcolors.
Thefirstentryofthepalettedeterminesthebackgroundcolor.Inthewhite
palette,however,itisnotpossibletochangethebackgroundcolorbecause
it'sneededforprintouts,whichnormallyaremadeonwhitepaper.
TheimageaboveshowsthreebuttonsinthePalettecolumn.Clickononeof
them.Forexample,thebuttonfor Colored Background.The Color window
opensnow.
Ontheleftan8x8matrixisvisiblethatcontainsalready16predefined
colors.Therearealternatingeight'normal'colorswiththeircorresponding
eighthighlightcolors.Acolorofthepaletteatpositionxcanbegiventhe
correspondinghighlightcoloratpositionx+8.
Inordertodefinenewvaluesselectanunusedboxofthematrixandadjust
thenewcolorwiththehelpofthecolorselectionareaandthesaturationbar
ontheright.ClickSetColortoapplyyourcolor.Nowselectanewcolorbox
inthematrixandrepeattheprocedureforthenextcolor.
Youmayalsoentervaluesfor Red, Green, Blue or Hue, Sat, Val and Alpha
channeldirectly.
Alphachannel determinesthetransparencyofthecolor.Thevalue0means
thecoloristotallytransparent(invisible),themaximumvalue255standsfor
nontransparent.Forprintoutsthevalueofthealphachannelissetto255for
eachcolor.

108

5.9 Configuring EAGLE Individually

Colorwindow:Definingcolors
The image above shows four further pairs of colors (normal and
corresponding highlight color vertically arranged). In order to change the
colorpaletteforaneditorwindowselecttheappropriate Background inthe
menuOptions/UserInterface.
Youshouldalwaysdefineatleastonepairofcolors:anormalcolorand
itsrelatedhighlightcolor.
Alternatively,thecolordefinitionandchangeofpalettecanbemadeina
scriptfileorinthecommandline.
SET PALETTE <index> <rgb>
definesacolorforthecurrentlyusedpalette,wherethevalueforthealpha
channelandthecolorvaluehastobegivenhexadecimal.Indexstandsforthe
colornumber,rgbforthevaluesforalphachannel,thecolorsred,blue,and
green.Example:
SET PALETTE 16 0xB4FFFF0
setsthecolornumber16toyellow,whichcorrespondstothedecimalRGB
value 255 255 0 which is hexadecimal FF FF 00. The first byte B4
determinesthevalueofthealphachannel(decimal180).
Hexadecimalvaluesaremarkedbyaleading0x.
Toactivatetheblackcolorpalettetypeinthecommandline:
SET PALETTE BLACK
Thenewpalettewillbecomevisibleafterrefreshingthedrawingareawith
theWINDOWcommand.
ThecolorassignmentforlayersisdonewiththeDISPLAYcommandorwith
SETCOLOR_LAYER.
109

5 Principles for Working with EAGLE


SET COLOR_LAYER 16 4
defines,forexample,thecolornumber4forlayer16.
MoredetailsaboutthesyntaxcanbefoundintheSETcommand'shelp.
Ifyouprefer tousethedefaultcolor valuesagain,startthescriptfile
defaultcolors.scr

Miscellaneous SET Options


The Misc tab of the Settings window contains the most common options,
whichareswitchedonoroffbycheckboxes.Someoptionsallowentering
values.

SettingsatOptions/Set/Misc
Optionsoverview:
Beep:
Switcheson/offtheconfirmationbeep.Default:on.
Checkconnects:
Activatesthepackagecheckwhileplacingpartsintheschematic.
Default:on.
Undo:
Switcheson/offtheundo/redo bufferofthecurrenteditorwindow.Incase
youareworkingwithaconsistentschematic/layoutpair,thissettingisvalid
forbotheditorwindows.Default:on.
Optimizing:
Enablestheautomaticremovalofbendsinstraightlines.Default:on.
110

5.9 Configuring EAGLE Individually


Ratsnestprocessespolygons:
Thecontentsofpolygonswillbe calculatedwiththeRATSNESTcommand.
Default:on.
Displaypadnames:
PadnamesaredisplayedintheLayoutorPackageEditor.Default:off.
Autoendnetandbus:
Ifplacinganetonapinorabusthenetdropsfromthemousecursor.
Default:on.
Autosetjunction:
Endinganetonanothernetajunctionwillbesetautomatically.
Default:on.
Autosetroutewidthanddrill:
Ifthisoptionisactive,theFollowmeRouterusesthevaluesforwirewidth
andviadrilldiametergivenbytheDesignRulesorthenetclassesforthe
tracks.Thesevalueswillbesetautomaticallyassoonasyouareclickingonto
asignalwire.
Ifthisoptionisswitchedoff,EAGLEwilltakethevalueyouhavesetwith,for
example,thepreviousCHANGEWIDTHcommand.
Min.visibletextsize:
Onlytextswiththegivenminimumsizearedisplayed.
Default:3pixels.
Min.visiblegridsize:
Grid lines/dotswhich are closer thanthegiven minimumdistanceareno
longerdisplayedonthescreen.Default:5pixels.
Catchfactor:
Withinthisradiusamouseclickcanreachobjects.Setthevalueto0inorder
toswitchthislimitationoff.Soyoucanreachevenobjectsthatareplacedfar
beyondtheareaofthecurrentlydisplayedwindow.Default:5%oftheheight
ofthecurrentdisplaywindow.
Selectfactor:
Withinthisradius(givenin%oftheheightofthecurrentdrawingwindow)
EAGLEoffersobjectsforselection.Default:2%.
Snaplength:
DefinestheradiusofthemagneticpadsfunctionofpadsandSMDs.
IfyouarelayingtrackswiththeROUTEcommandandapproachapadora
SMD beyond the given value that is to say the dynamically calculated
airwirebecomesshorterthanthegivenradiusthewirewillbesnappedto
thepads/SMDscenter.Defaultvalue:20mil.
Displaymode:
Pads/viasareshownwithadrillhole(real)orwithoutit(Nodrills).
Default:real.
AllSEToptionscanbeusedinthecommandline.Entering
SET POLYGON_RATSNEST OFF or,inshort SET POLY OFF
111

5 Principles for Working with EAGLE


forinstance,switchesoffpolygoncalculationfortheRATSNESTcommand.
ThehelpfunctionoffersadditionalinstructionsabouttheSETcommand.

The eagle.scr File


Thescriptfileeagle.scrisautomaticallyexecutedwhenaneditorwindowis
openedorwhenanewschematicdiagram,boardorlibraryfileiscreated,
unlessaprojectfileexists.
Itisfirstlookedforinthecurrentprojectdirectory.Ifnofileofthisname
existsthere,itislookedforinthedirectorythatisenteredintheScriptboxin
theOptions/Directoriesdialog.
Thisfilecancontainallthosecommandsthataretobecarriedoutwhenever
aneditorwindow(otherthantheTextEditor)isopened.
TheSCH,BRDand LBRlabelsindicatethosesegmentswithinthefilewhich
areonlytobeexecutediftheSchematic,LayoutorLibraryEditorwindowis
opened.
TheDEV,SYMandPAClabelsindicatethosesegmentswithinthefilewhich
are only to be executed if the Device, Symbol or Package editor mode is
activated.
Commandswhicharedefinedbeforethefirstlabel(normallyBRD:)arevalid
forallEditorwindows.
If,becauseofthespecificationsinaprojectfile,EAGLEopensoneormore
editorwindowswhenitstarts,itisnecessarytoclosetheseandtoreopen
themsothatthesettingsin eagle.scr areadopted.Itis,asanalternative,
possiblesimplytoreadthefileeagle.scrthroughtheSCRIPTcommand.
Commentscanbeincludedinascriptfilebyprecedingthemwith#.
Exampleofaneagle.scrfile:
# This file can be used to configure the editor windows.
Assign A+F3 'Window 4;';
Assign A+F4 'Window 0.25;';
Assign A+F7 'Grid mm;';
Assign A+F8 'Grid inch;';
Menu '[designlink22.png] Search and order {\
General : Run designlink-order.ulp -general; |\
Schematic : Run designlink-order.ulp; \
}';
BRD:
#Menu Add Change Copy Delete Display Grid Group Move \
#Name Quit Rect Route Script Show Signal Split \
#Text Value Via Window ';' Wire Write Edit;
Grid inch 0.05 on;
Grid alt inch 0.01;
Set Pad_names on;
Set Width_menu 0.008 0.01 0.016;
Set Drill_menu 0.024 0.032 0.040;
Set Size_menu 0.05 0.07 0.12;
Set Used_layers 1 16 17 18 19 20 21 22 23 24 25 26 \
27 28 39 40 41 42 43 44 45;
Change width 0.01;

112

5.9 Configuring EAGLE Individually


Change drill 0.024;
Change size 0.07;
SCH:
Grid Default;
Change Width 0.006;
#Menu Add Bus Change Copy Delete Display Gateswap \
#Grid Group Invoke Junction Label Move Name Net \
#Pinswap Quit Script Show Split Value Window ';' \
#Wire Write Edit;
LBR:
#Menu Close Export Open Script Write ';' Edit;
DEV:
Grid Default;
#Menu Add Change Copy Connect Delete Display Export \
#Grid Move Name Package Prefix Quit Script Show \
#Value Window ';' Write Edit;
SYM:
Display all;
Grid Default On;
Change Width 0.010;
#Menu Arc Change Copy Delete Display Export \
#Grid Group Move Name Paste Pin Quit Script \
#Show Split Text Value Window ';' Wire Write Edit;
PAC:
Grid Default On;
Grid Alt inch 0.005;
Change Width 0.005;
Change Size 0.050;
Change Smd 0.039 0.039;
#Menu Add Change Copy Delete Display Grid Group \
#Move Name Pad Quit Script Show Smd Split Text \
#Window ';' Wire Write Edit;

The eaglerc File


UnderWindows,userspecificdataisstoredinthefileeaglerc.usr,or,under
LinuxandMac,in~/.eaglerc.Thisfileisstoredintheuser'shomedirectory.
Ifthereisnohomeenvironmentvariableset,thefollowingWindowsregistry
entryistaken:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\AppData
Itcontainsinformationaboutthe:
SETcommand(Options/Setmenu)
ASSIGNcommand(functionkeyassignments)
UserInterface
Currentlyloadedproject(path)
EAGLE looks for the configuration file in various locations in the given
sequenceandexecutesthem(ifexisting):
<prgdir>/eaglerc

(Linux,Mac,Windows)

/etc/eaglerc

(Linux,Mac)

$HOME/.eaglerc

(Linux,Mac)

$HOME/eaglerc.usr

(Windows)
113

5 Principles for Working with EAGLE


Thesefilesshouldnotbeedited.
ItispossibletostartEAGLEwiththecommandlineoptionUwhichcanbe
usedtodefinethelocationoftheeaglercfile.Thiscanbeusefulincaseyou
areworkingwithdifferentEAGLEreleasesandwanttokeepthingsseparate.
WiththehelpofvariousUserLanguageprogramsitisalsopossibletodefine
settingsinEAGLE.Visitourwebsite:
http://www.cadsoftusa.com/download.htm.

EAGLE Project File


Ifanewprojectiscreated(byclickingtherightmousebuttononanentryin
the Projects branchofthetree viewandthenselecting New/Project inthe
contextmenuintheControlPanel),adirectoryisfirstcreatedwhichhasthe
nameoftheproject.An eagle.epf configurationfileisautomaticallycreated
ineveryprojectdirectory.
EAGLE takesnote of changestoobject properties thatare madewith the
CHANGEcommandduringeditingandthecontentsofthe Width,Diameter,
andSizemenusintheprojectfile.
Italsocontainsinformationaboutthelibrariesinuseforthisproject.
Thepositionandcontentsoftheactivewindowsatthetimetheprogramis
closedarealsosavedhere.Thisassumesthatthe Automaticallysaveproject
fileoptionunderOptions/BackupintheControlPanelisactive.Thisstatewill
berecreatedthenexttimetheprogramstarts.

114

Chapter 6
From Schematic to Finished Board
Thischapterillustratestheusualroutefromdrawingtheschematicdiagram
to the manually routed layout. One section explains the design of a
hierarchicalschematic.ParticularfeaturesoftheSchematicorLayoutEditor
willbeexplainedatvariouspoints.TheuseoftheAutorouter,theFollowme
router,andtheoutputofmanufacturingdatawillbedescribedinsubsequent
chapters.
Werecommendtocreateaproject(folder)first.Detailscanbefoundon
page43.

6.1 Creating the Schematic Diagram


Theusualprocedureisasfollows:
Devicesaretakenfromexistinglibrariesandplacedonthedrawingarea.The
connectingpoints(pins)ontheDevicesarethenjoinedbynets(electrical
connections). Nets can have any name, and can be assigned to various
classes. Power supply voltages are generally connected automatically. In
order to document all the supply voltages in the schematic diagram it is
necessarytoplaceatleastonesocalledsupplysymbolforeachvoltage.
Schematicdiagramscanconsistofanumberofpages(butnotintheLight
edition).Netsareconnectedacrossallthepagesiftheyhavethesamename.
Itisassumedthatlibrariescontainingtherequiredcomponentsareavailable.
Thedefinitionoflibrariesisdescribedinitsownchapter.
ItispossibleatanytimetocreatealayoutwiththeBOARDcommandorwith
theBoardicon.Assoonasalayoutexists,bothfilesmustalwaysbeloadedat
thesametime.Thisisnecessaryfortheassociationoftheschematicdiagram
andtheboardtofunction.Therearefurtherinstructionsaboutthisinthe
sectiononForward&BackAnnotation.

Open the Schematic Diagram


YoufirststartfromtheControlPanel.Fromhereyouopenaneworexisting
schematicdiagram,forinstancebymeansofthe File/Open ortheFile/New
menus,orwithadoubleclickonaschematicdiagramfileinthedirectory
tree.Theschematicdiagrameditorappears.
115

6 From Schematic to Finished Board


Createmoreschematicsheetsifneeded.Forthatpurpose,openthecombo
boxintheactiontoolbarwithamouseclick,andselecttheNew.Anewsheet
willbegenerated(seepage53).Anotherwaytogetasecondsheetistotype
in
EDIT .S2
onthecommandline. If,however,youdonotinfactwantthepage,the
entiresheetisdeletedwith
REMOVE .S2
A right mouse click onto the sheet preview opens a context menu. The
Descriptionentryallowstowriteadescriptivetextfortheschematicsheet
whichisdisplayedinthethumbnailpreviewandinthesheetcomboboxin
theactiontoolbar.
Ifyouwouldliketohaveadescriptionofthewholeschematicvisibleinthe
ControlPanel'streeviewusetheSchematicdescriptionentryintheEditmenu
ortypeinthecommandline:
DESCRIPTION *

Set the Grid


Thegridofschematicdiagramsshouldalwaysbe0.1inch,i.e.2.54mm.Nets
and Symbol connection points (pins) must lie on this common grid.
Otherwiseconnectionswillnotbecreatedbetweennetsandpins.

Place Symbols
Firstyouhavetomakeavailablethelibrariesyouwanttotakeelementsfrom
withtheUSEcommand.Onlylibrarieswhichareinusewillberecognizedby
theADDcommandanditssearchfunction.Moreinformationconcerningthe
USEcommandcanbefoundonpage53.

Load Drawing Frame


It is helpful first to place a frame. The ADD command is used to select
Devicesfromthelibraries.
WhentheADDiconisclicked,theADDdialogopens.
Itshowsallthelibraries thataremadeavailablewith theUSEcommand,
first.Youcanexpandthelibraryentriesforsearchingelementsmanuallyor
youcanusethesearchfunction.
Aletterformatframeistobeused.EnterthesearchkeyletterintheSearch
line atthelower left,and pressthe Enter key.The search result showsa
number of entries from frames.lbr. If you select one of the entries
(LETTER_P),apreviewisshownontheright,providedthePreviewoptionis
active. Disabling the options Pads/Smds/Description excludes parts with
Pads/Smdsorthepart'sdescriptivetexts.
IntheSchematicEditoryouaresearchingforDevicenamesandtermsof
116

6.1 Creating the Schematic Diagram


the Device description. In the Attributes line you are searching for
attributenamesorvalues.
IntheLayoutEditoryoucansearchforPackagenamesandtermsofthe
Packagedescription!
Clicking OK closes the ADD window, and you return to the schematic
diagrameditor.Theframeisnowhangingfromthemouse,anditcanbeput
down.Thebottomlefthandcorneroftheframeisusuallyatthecoordinate
origin(00).
Librarynames,DevicenamesandtermsfromtheDevicedescriptioncanbe
usedassearchkeys.Wildcardssuchas*or?areallowed.Anumberofsearch
keys,separatedbyspaces,canbeused.

ADDdialog:ResultsfromthesearchkeyA4
TheADDcommandmayalsobeenteredviathecommandlineorinscript
files.Theframecanalsobeplacedusingthecommand:
add letter_p@frames.lbr
Wildcardslike*and?mayalsobeusedinthecommandline.Thecommand
add letter*@frames.lbr
for example opens the ADD windows and shows various frames in letter
formattoselect.
Thesearchwillonlyexaminelibrariesthatare inuse.Thatmeansthatthe
libraryhasbeenloadedbytheUSEcommand(Library/Use).
DrawingframesaredefinedwiththeFRAMEcommand.
117

6 From Schematic to Finished Board


Thiscanbedoneinalibrary,wheretheframecanbecombinedwitha
document field. EAGLE can also use the FRAME command in the
SchematicaswellastheBoardEditor.Detailsaboutdefiningadrawing
framecanbefoundonpage270.

Place Circuit Symbols (Gates)


All further Devices are found and placed by means of the mechanism
describedabove.YoudecideaPackagevariantatthisearlystage.Itcaneasily
bechangedlaterifitshouldturnoutthatadifferentPackageformisusedin
thelayout.
IfyouhaveplacedaDevicewithADD,andthenwanttoreturntotheADD
dialoginordertochooseanewDevice,pressthe Esc keyorclicktheADD
iconagain.
GivetheDevicesnamesandvalues(NAME,VALUE).
Ifthetextforthenameorthevalueislocatedawkwardly,separatethem
fromtheDevicewithSMASH,andthenmovethemtowhateverpositionyou
preferwithMOVE.ClickingwithDELETEonatextmakesitinvisible.
UsetheShiftkeywithSMASHtogetthetextsattheiroriginalpositions.The
textsarenownolongerseparatedfromtheDevice(unsmash).Deactivating
theSmashedoptioninthecontextmenu'sPropertieswindowisthesame.
MOVErelocateselements,andDELETEremovesthem.WithINFOorSHOW
informationaboutanelementisdisplayedonthescreen.
ROTATEturnsgatesby90.Thesamecanbedonewitharightmouseclick
whiletheMOVEcommandisactive.
MultipleusedpartsmaybecopiedwiththeCOPYcommand.COPYplaces
alwaysanewpartevenifitconsistsofseveralgatesandnotallofthemare
alreadyused.
Agroupofobjects(components,nets...)canbereproducedintheschematic
diagramwiththeaidoftheGROUP,COPYandPASTEcommands.Firstmake
surethatallthelayersaremadevisible(DISPLAYALL).

Hidden Supply Gates


SomeDevicesaredefinedinthelibrariesinsuchawaythatthepowersupply
pinsarenotvisibleontheschematicdiagram.Visibilityisnotnecessary,since
all the power pins with the same name are automatically connected,
regardlessofwhetherornottheyarevisible.
Ifyouwanttoconnectanetdirectlytooneofthehiddenpins,fetchthegate
intotheschematicdiagramwiththeaidoftheINVOKEcommand.Clickonto
the INVOKE icon, and then on the Device concerned, assuming that it is
located on the same sheet of the schematic diagram. If the gate is to be
placed on a different schematic diagram sheet, go to that sheet, activate
INVOKE,andtypethenameoftheDeviceonthecommandline.Selectthe

118

6.1 Creating the Schematic Diagram


desiredGateintheINVOKEwindow,thenplaceit.Thenjointhesupplygate
tothedesirednet.

INVOKE:GatePistobeplaced

Devices with Several Gates


SomeDevicesconsistnotofonebutofseveralGates.Thesecannormallybe
placed onto the schematic diagram one after another with the ADD
command.ToplaceacertainGateyoucanusetheGatenamedirectly.
Example:
TheDevice74*00fromthe74xxeulibrarywithPackagevariantNandinAC
technologyconsistsofforNANDgatesnamed A to D andonepowergate
named P.IfyouwanttoplacetheGateCfirst,usetheGatenamewiththe
ADDcommand:
ADD 'IC1' 'C' 74AC00@74xx-eu.lbr
SeealsohelpfunctionfortheADDcommand.
AssoonasoneGatehasbeenplaced,thenextoneisattachedtothemouse
(AddlevelisNext).PlaceoneGateafteranotheronthediagram.Whenallthe
GatesinoneDevicehavebeenused,thenextDeviceisbroughtin.
IftheGatesinoneDevicearedistributedoverseveralsheets,placethemfirst
withADD,changetotheothersheetoftheschematicdiagram,andtype,for
example
INVOKE IC1
onthecommandline.SelectthedesiredGatefromtheINVOKEwindow.
If you select one of the already placed Gate entries in the INVOKE
window,theOKbuttonchangestoShow.ClicktheShowbutton,andthe
selected Gate is shown in the center of the current Schematic Editor
window.

119

6 From Schematic to Finished Board


Designlink Access to Farnell's Online Product Database
Withthehelpofdesignlinkorder.ulpyoucandoageneralproductsearchora
searchforallpartsofyourschematic,checkpriceandavailabilityandorder
directlyatFarnell/Newark.Foundordercodescanbesavedaspartattributes
theschematic.Theorderlistcanbeexported.
Clickontothedesignlinkicon

tobegin.Thisiconisshownnextto

theactiontoolbar.Itispartofthetextmenuwhichcanbeswitchedonoroff
throughtheOptions/UserInterfacemenu.
TheGeneraloptionstartsageneralproductsearch.TheULPshowsawindow
where you can enter a search string. You will be connected to the
Farnell/NewarkServerdirectly,wheretheULPsearchesforthegivensearch
string,andfinallydisplaysthematches.
TheSchematicoptionstartsasearchforallthepartsusedinyourschematic.
Thesearchtermisthevalueofeachcomponent.Asaresultyouwillgeta
partslistwithFarnell/Newarkordercodes.
Some EAGLE libraries already contain attributes with information about
Farnell/Newarkordercodes.Incasethereisnoordercodeavailableinthe
library,orthereisnomatchattheFarnell/Newarkwebsite,thelistwillmark
theordercodeasunknown.Doubleclickontothisentryforstartingamanual
search. As soon as all the components you would like to put into the
Farnell/Newark shopping cart have got an order code, click onto Add to
shoppingcart.
TheULPcomeswithadetailedhelpwhichexplainsfunctionalityandusage.
AsanalternativeyoucanstarttheULPwiththeRUNcommand.
RUN designlink-order [-general]|[-sop]
IncaseyouareconnectedtotheinternetviaaProxyserver,youhaveto
setproxynameandusedportintheEAGLEControlPanel'sHelp/Check
forUpdate,Configuremenu.
For updating libraries with Farnell/Newark order codes you can use
designlinklbr.ulp.StartitinaLibraryEditorwindowanditloopsthroughall
Devices searching for order codes atthe Farnell/Newark web site. Finally
therewillbecreatedthreeattributes:
>MFformanufacturer,>MPNformanufacturerpartnumber,>OC_FARNELL
orOC_NEWARK fortheordercode.

Wiring the Schematic Diagram


Draw Nets (NET)
TheNETcommanddefinestheconnectionsbetweenthepins.Netsbeginand
endattheconnectionpointsofapin.Thisisvisiblewhenlayer93, Pins,is
displayed(DISPLAYcommand).
120

6.1 Creating the Schematic Diagram


Netsarealwaysgivenanautomaticallygeneratedname.Thiscanbechanged
bymeansoftheNAMEcommand.Netswiththesamenameareconnectedto
one another, regardless of whether or notthey appear continuous on the
drawing.Thisappliesevenwhentheyappearondifferentsheets.
Ifanetistakentoanothernet,abus,orapinconnectingpoint,thenetline
endsthereandisconnected.Ifnoconnectionismadewhenthenetisplaced,
the net line continues to be attached to the mouse. This behavior can be
changedthroughtheOptions/Set/Miscmenu(usingtheAutoendnetandbus
option).Ifthisoptionisdeactivated,adoubleclickisneededtoendanet.
Netsareshownonlayer91,Nets.
Netsmustendexactlyatapinconnectingpointinordertobejoined.Anetis
notjoinedtothepinifitendssomewhereonthepinline.
EAGLEwillinformyouabouttheresultingnetnameorofferaselectionof
possiblenamesifyouareconnectingdifferentnets.
TheJUNCTIONcommandisusedtomarkconnectionsonnetsthatcrossone
another.Junctionsareplacedbydefault.Thisoption,(Autosetjunction),can
alsobedeactivatedthroughtheOptions/Set/Miscmenu.
NetsmustbedrawnwiththeNETcommand,notwiththeWIREcommand.
DonotcopynetlineswiththeCOPYcommand.Ifyoudothis,thenewnet
lineswon'tgetnewnetnames.Thiscouldresultinunwantedconnections.
IftheMOVEcommandisusedtomoveanetoveranothernet,oroverapin,
noelectricalconnectioniscreated.
To check this, you can click the net with the SHOW command. All the
connected pins and nets will behighlighted.Ifa Gate ismoved,thenets
connectedtoitwillbedraggedalong.
A simple identifier (without XREF option, see next section about Cross
References)canbeplacedonanetwiththeLABELcommand.Providedyou
havedefinedafineralternativegrid,labelscanbearrangedcomfortablyin
thefinergridwiththeAltkeypressed.

Defining Cross-References for Nets


IfyouplaceaLABELwithactiveXREFoptionforanet,acrossreferencewill
be shown automatically. It points to the next sheet where the net occurs
again.Dependingontherotationofthelabelthecrossreferencereferstoa
previousorafollowingschematicsheet.Ifthelabelitselfgoestowardsthe
rightorbottomborderofthedrawing,thecrossreferenceshowsthenext
higherpagenumber.Ifthelabelpointstotheleftortopborder,theprevious
pagesaretakenintoconsideration.Inthecasethatthenetisonlyavailable
ononesheet,thiscrossreferenceisshown,independentlyfromtherotation
ofthelabel.
Ifthenetisonlyonthecurrentsheet,onlythenetnameandpossiblythe
label's frame around it is shown. This depends on the Xref label format
definitionwhichcanbedoneinthemenuOptions/Set/Misc(canbedefined
viaSET,too).
121

6 From Schematic to Finished Board


The XREF option can be activated in the parameter toolbar of the LABEL
commandorafterplacingthelabelwithCHANGEXREFON.
Thefollowingplaceholdersfordefiningthelabelformatareallowed:
%F enablesdrawingaflagborderaroundthelabel
%N thenameofthenet
%S thenextsheetnumber
%C thecolumnonthenextsheet
%R therowonthenextsheet
The default format string is %F%N/%S.%C%R. Apart from the defined
placeholdersyoucanalsouseanyotherASCIIcharacters.If%Cor%Risused
andthereisnoframeonthatsheet,theywilldisplayaquestionmark'?'.See
alsopage270.

CrossreferencewithaXREFlabel
ThelowerlabelinthepicturepointstotherightandreferstothenetABCon
thenextpage3,field4A,theupperXREFlabelpointstotheleft(beginning
withtheoriginpoint)andreferstothepreviouspage1,field2D.
IfaXREFlabelisplacedonanetlinedirectly,itwillbemovedtogetherwith
thenet.
Moreinformationaboutcrossreferencescanbefoundinthehelpfunction
fortheLABELcommand.

Cross-References for Contacts


In case you are drawing an Electrical Schematic and using, for example,
electromechanical relays, EAGLE can display a contact crossreference. In
order to do that, place the text >CONTACT_XREF inside the Schematic's
drawingframe.Thistextisnotdisplayedinthedrawing(excepteditsorigin
cross), but its position (the y coordinate) determines from where on the
contactcrossreferencewillbedrawnonthecurrentsheet.Assoonasthis
textisplacedthecontactcrossreferencewillbedisplayed.

122

6.1 Creating the Schematic Diagram


Theformatofthecontactcrossreferencescanbedefinedasfornetcross
referencesintheOptions/Set/Miscmenu.Itusesthesameformatvariables
as described in the previous section Defining crossreferences for nets. The
defaultsettingis:/%S.%C%R,whichmeans/Pagenumber.ColumnRow.
Thevariables%Cforcolumnand%Rforrowcanonlyworkwithadrawing
frame that was defined with the FRAME command and comes with a
column/rowgraduation.
For a proper display of the contact crossreferences in the Schematic the
elementshavetobedefinedintheLibraryEditoraccordingtocertainrules.
MoreinformationaboutthiscanbefoundinthehelpfunctionunderContact
crossreferenceandinthechapteraboutLibrariesandComponentDesignlater
inthismanual.

ElectricalSchematicwithcontactcrossreference

Specifying Net Classes


The CLASS commandspecifiesanetclass(Edit/Netclasses menu).Thenet
class specifies the minimum track width, the minimum clearance to keep
away from other signals and the minimum hole diameter for vias in the
layout.Eachnetprimarilybelongstonetclass0.Bydefaultallvaluesareset
to0forthisnetclass,whichmeansthatthevaluesgivenintheDesignRules
are valid. You can use up to 16 net classes. Creating a net class can be
cancelledwiththeUNDOcommand.

123

6 From Schematic to Finished Board

Netclasses:Parametersettings
Theimageshowsthreeadditionalnetclassesdefined:
Allnetsthatbelongtoclass0,default,willbecheckedbythesettingsofthe
DesignRules.
Net class number 1, for example, has got the name Power and defines a
minimumtrackwidthof40mil.
Theminimumdrilldiameterforviasofthisclassissetto24mil.
The clearance betweentracksofnetclass1andtracksthatbelongtoother
netclassesisalsosetto24mil.
TheleftcolumnNrpredefinesthenetclassofthenextnetthatisdrawnwith
theNETcommand.Thisselectioncanbemadeintheparametertoolbarof
theNETcommand,aswell.
If you would like to define special clearance values between certain net
classes,clickthebuttonmarkedwith>>.TheClearanceMatrixopens.Enter
yourvalueshere.

124

6.1 Creating the Schematic Diagram

Netclasses:TheClearanceMatrix
To return to the simple view, click the << button. This is only possible,
however,iftherearenovaluesdefinedinthematrix.Thenetclassescanbe
changedlaterbymeansoftheCHANGEcommand(the Class option)inthe
SchematicandintheLayoutEditor.
NetclassdefinitioncanbedoneintheLayoutEditor,aswell.
Anetclasscanbeassignedtoasinglenet/signal(leftmouseclick)ortoa
numberofnets/signals(Ctrl+rightmouseclick)thathavebeenselected
withtheGROUPcommandbefore.

Drawing a bus (BUS)


Busesreceivenameswhichdeterminewhichsignalstheyinclude.Abusisa
drawing object. It does not create any electrical connections. These are
alwayscreatedbymeansofthenetsandtheirnames.Theassociatedmenu
functionisaspecialfeatureofabus.Amenuopensifyouclickontothebus
withNET.Thecontentsofthemenuaredeterminedbythebusname.
ThebusinthediagramisnamedBus1:A[0..12],D[0..7],Clock.
ClickingonthebuslinewhiletheNETcommandisactive,opensthemenuas
illustratedabove.Thenameofthenetthatistobeplacedisselectedfrom
here.

125

6 From Schematic to Finished Board

Busmenu
Theindexofapartialbusnamemayrunfrom0to511.
ThehelpfunctiongivesfurtherinformationabouttheBUScommand.

Pinswap and Gateswap


Pins or Gates that have the same Swaplevel can be exchanged with one
another.Theseproperties arespecifiedeitherwhentheSymbolisdefined
(Pinswap)orwhentheDeviceiscreated(Gateswap).
ProvidedtheSwapleveloftwopinsisthesame,theycanbeexchangedfor
oneanother.Displaylayer93, Pins,inordertomaketheSwaplevelofthe
pinsvisible.
PinsorGatesmaynotbeswappediftheSwaplevel=0.

Swaplevel:Pinslayerisvisible
Inputpins1and2haveSwaplevel 1,sotheycanbeexchangedwithone
another.Theoutputpin,3,whichhasSwaplevel0,cannotbeexchanged.
YoucanfindtheSwaplevelofaGatebymeansoftheINFOcommand,for
example,typeinthecommandlineINFO IC2A.Alternativelyviathecontext
menu,Propertiesentry.

126

6.1 Creating the Schematic Diagram

Power Supply
PinsdefinedashavingthedirectionPwrareautomaticallywiredup.Thisis
true,eveniftheassociatedpowergatehasnotexplicitlybeenfetchedinto
theschematic.ThenameofthePwrpindeterminesthenameofthevoltage
line.ThisisalreadyfixedbythedefinitionoftheSymbolsinthelibrary.
If nets are connected to a Device's Pwr pins, then these pins are not
automaticallywired.Theyarejoinedinsteadtotheconnectednet.
ForeveryPwrpintheremustbeatleastonepinwiththesamenamebutthe
direction Sup (asupplypin).Theremustbeoneoneverysheet.TheseSup
pinsarefetchedintotheschematicintheformofpowersupplysymbols,and
aredefinedasDevicesinalibrary(see supply*.lbr).TheseDevicesdonot
haveaPackage,sincetheydonotrepresentcomponents.Theyareusedto
representthesupplyvoltagesintheschematicdiagram,asisrequiredbythe
ElectricalRuleCheck(ERC)forthepurposesofitslogicalchecks.
Various supplyvoltages,suchas0VorGND,whicharetohavethesame
potential (GND, let's say), can be connected by adding the corresponding
supplysymbolsandconnectingthemwithanet.Thisnetisthengiventhe
nameofthatpotential(e.g.GND).

Supplysymbols
Ifyouplaceasupplypin(direction Sup)ontoanet(withADDorMOVE),
youwillbeaskedforanewnetname.Shoulditbethenameofthesupply
pinorshouldthenetnameremainunchanged?

Supplypinnameasnewnetname?
ClickYes(default)forrenamingthenetwiththenameofthesupplypin(in
theimageabove:AGND).ClickNotopreservethecurrentnetname(VA1).
Ifthenethasanautomaticallygeneratedname,likeN$1,youmaysuppress
thiswarningmessage.UsetheSETcommandinthecommandline:
SET Warning.SupplyPinAutoOverwriteGeneratedNetName 1;

127

6 From Schematic to Finished Board


Ifthelastsupplypinofanetisdeleted,thenetwillgetanautomatically
generatedname,likeN$1.
Ifthereisnosupplypininthesupplylibrariesthatfitstoyourvoltagein
theschematic,youhavetodefineanewsupplypin!Renaminganalready
existingsupplypinisthewrongwayandcanleadtounexpectedresults!

Define Attributes
Global Attributes
ItispossibletodefineGlobalAttributesintheSchematic,forexample,forthe
authororaprojectidentificationnumber,thatcanbeplacedanywhereinthe
schematic,oftenusedinthedocfieldofthedrawingframe.
OpenthedialogthroughtheEdit/GlobalAttributes...menu.Clickthebutton
NewtodefineanewGlobalAttribute.Itconsistsoftheattribute'snameand
itsvalue.

GlobalAttributes:TheAuthorattributeiscreated
If you want to make a global attribute visible in the schematic, write a
placeholderwiththeTEXTcommand.Forthe AUTHOR attribute,writethe
text>author.
It does not matter, if it is written in lower or upper case letters. The
>characterinfrontofthetextindicatesthatthisisspecialtext.
It is possible to define the placeholder text already in the Library, for
example,inaSymbolofadrawingframe.Inthiscasetheglobalattributewill
beshownoneachschematicsheetcontainingthisframe.
GlobalAttributescanbedefinedintheSchematicandLayoutseparately.
MoreinformationonthiscanbefoundintheATTRIBUTEcommand'shelp.

128

6.1 Creating the Schematic Diagram


Attributes for Elements
TheATTRIBUTEcommandallowsyoutodefine attributesfor Devices. An
attributeconsistsoftheattributenameanditsvaluethatmayprovideany
information.Iftherealreadyexistsanattributethathasbeendefinedinthe
library,youmayalterthevalueintheschematic.

Attributedialog
ClickingtheATTRIBUTE

iconandthenontoaDeviceopensadialog

window.Itliststhepart'sattributesalreadydefinedintheschematicorinthe
library.
TheimageaboveshowstheattributesDISTRIBUTOR,IDNUMBER,andTEMP
forpartR1.Theiconsontherightindicatewheretheattributecomesform:
globallyintheSchematic
globallyintheLayout
intheLibrary'sDeviceEditor
fortheelementintheSchematic
forthePackageintheLayout

AttributesthataredefinedintheLayoutEditor arenotshowninthe
SchematicEditor.AnewlydefinedattributeintheSchematicadoptsthe
valueofanalreadyexistingattributeintheLayout.
Defining a New Attribute
ClickontotheNewbuttontodefineanewattributeintheschematic.Inthe
followingdialogyoucandefineName,Value,andtheDisplaymode.
Inthisimagetheattribute'snameisTOLERANCE,itsvalueis1%.

129

6 From Schematic to Finished Board

Createandchangeattributes
WiththeDisplayoptionyoumanagethewaytheattributeisdisplayedinthe
drawing.Therearefouroptionsavailable:
Off: Theattributeisnotvisible
Value: Onlytheattribute'svalueisvisible(1%)
Name: Onlytheattribute'snameisvisible(TOLERANCE)
Both: Nameandvaluearevisible(TOLERANCE=1%)
IftheDisplayoptionisnotsetOff,therespectivetextwillbedisplayedatthe
Device's or Gate's origin. The layer which is preset in the Schematic, for
examplewithCHANGELAYERbeforecreatingtheattribute,determinesthe
text'slayer.Locationandlayercanbechangedanytime.
Ifthereisanalreadydefinedplaceholdertextforanelementinthelibrary,
thetextshowsupatthegivenlocation.Itispossibletounfixsuchtextswith
theSMASHcommand.Nowyoucanmoveit,changeitslayer,thefont,its
sizeandsoon.
Changing an Attribute's Value
Valuesofattributesthatarealreadydefinedinthelibrarycanbechangedin
the Schematic Editor. After changing an attribute's value, the attributes
dialog displays special icons that indicate the attribute's status. The icons
havethefollowingmeaning:
theyellowiconindicatesthattheattributeinitiallywasdefined
withavariablevalueandthatthevaluehasbeenchanged.
therediconindicatesthatthevalueoftheattributewhichwas
initiallydefinedasconstanthasbeenchangedafteraconfirmation
prompt.
theplainbrowniconindicatesthataglobalattributewas
overwrittenbyapartattribute.Thevalue,however,remained
unchanged.
thebrowniconwiththeunequalsignindicatesthataglobal
attributewasoverwrittenbyapartattributeandthevaluehas
beenchanged.

130

6.1 Creating the Schematic Diagram

Attributedialogwithdifferentattributes
Grayed text in the Attributes' dialog indicates that it can't be changed or
rathertheelement'sattributevaluewasdefinedasconstantinthelibrary.
Theiconsinformyouabouttheattribute'soriginanditscurrentstatus.Move
themousecursorontooneoftheiconstoletEAGLEdisplaytooltiptextsto
explain itsmeaning, provided theBubble help in Options/User interface is
active.
More details on defining attributes can be found in the library chapter
beginningwithpage261.

ERC Check and Correct Schematic


A schematic diagram must be checked with the aid of the Electrical Rule
Check(ERC),whenthedesignoftheschematicdiagramhasbeencompleted,
ifnotbefore.Itisactuallyagoodideatorunthe(ERC)manytimesduring
yourdesignprocesstocatcherrorsimmediately.TostarttheElectricalRule
CheckclickontotheERCiconinthecommandmenu

ortheentryErc...

intheToolsmenu.
AlltheerrorsandwarningsarelistedintheERCErrorwindow.Errorsare
markedwitharedicon,warningswithayellowicon.
Inthecaseofacorrespondingboardfile,theERCalsocheckstheconsistency
betweenschematicandboard.Iftherearenodifferences,ERCreportsBoard
andschematic areconsistent.OtherwisetheERCErrorswindowcontainsa
branchwithConsistencyerrors.Forfurtherinformationonthisseepage193.
Itispossibletosorttheerrorsandwarnings,ascendingordescending,by
errortypesorsheetnumbers.clickontothecolumnheaders Type or Sheet
therefore.

131

6 From Schematic to Finished Board

TheERCErrorswindow
Ifyouselectanentryinthe Errorsor Warningsbranch,alinepointstothe
correspondinglocationintheschematicdiagram.Incaseyouzoomedinto
thedrawing,youcanclicktheoptionCentered.Thecurrentlyselectederroris
showninthemiddleofthedrawingwindownow.
Pleasecheckeacherrorandeverywarning.
Insomesituationsitmaybethecasethatyouwanttotolerateanerrorora
warning.Usethe Approve buttonforthis.Theerror/warningentrywillbe
removedfromthe Errors or Warnings branchandappearsinthe Approved
branch.
Ifyouwanttohavethecapabilityofdisplayinganapprovederror/warning
occurrenceinthe Errors or Warnings branch,expandthe Approved branch,
selecttheerrorentryandclicktheDisapprovebutton.Nowitistreatedasa
normalerror/warningandismarkedintheschematic.
Anapprovederror/warningretainsitsapprovedstatusaslongasyoudonot
disapprove it by clicking the Disapprove button. Even a new ERC won't
changethisstatus.
Ifthe Errors windowlistsapprovederrorsorwarningsonly,itwon'topen
automaticallyafterrunningtheElectricalRuleCheckagain.Thestatuslineof
theSchematicEditor,however,willshowthefollowinghint:
ERC:2approvederrors/warnings
Movinganentryfromonebranchintotheother,markstheschematicfileas
changedandnotsaved.
Whilecorrectingtheerrorontheboard,theERCErrorswindowmayremain
open. After correcting one error or warning you can mark the entry as
Processed in the error list by clicking onto the Processed button. The
132

6.1 Creating the Schematic Diagram


error/warning icon turns gray now. Entries marked as processed will be
rememberedaslongasyoudon'tstartERCagain.ReopeningtheERCErrors
windowwiththeERRORS

command,showsthesamestatusasyouleft

itatlast.
IfyouclickontotheClearallbutton,theErrorsandWarningsbrancheswill
be cleared. Approved errors and warnings, however, will remain in the
Approvedbranch.ThemessageListwasclearedbyuserisshownthen.
If you did not run an ERC before, the ERRORS command will start it
automaticallybeforeopeningtheerrorswindow.
TheERCcheckstheschematicdiagramaccordingtoarigidsetofrules.It
can sometimes happen that an error message or warning can be
tolerated.
If necessary, make an output of net and pin lists with the EXPORT
command.
SHOWallowsnetstobetracedintheschematicdiagram.

Organize Schematic Sheets


Ifyourschematicisabitmorecomplexoryouwanttouse morethanone
sheet, for example, forbetter readability, you can add (and also remove)
sheetswiththehelpofthesheetthumbnails'contextmenu.Clickwiththe
rightmousebuttonontooneofthethumbnailsthatarelocatedontheleft
sideoftheSchematicEditorwindow.
Anewsheetisalwaysaddedasthelastone.
Theschematicsheetscanbesortedbydragginganddroppingthethumbnails.
Thereforeclickwiththeleftmousebuttononathumbnailanddragittoits
newposition.
Alternatively you can sort the sheets with the EDIT command in the
commandline:
EDIT .s5 .s2
moves sheet number 5 at the position before sheet number 2. Further
informationaboutthiscanbefoundintheEDITcommand'shelpfunction.
Gotothe Options/User interface menuinordertoswitchon/offthe sheet
preview.
Whenswitchingbetweenschematicsheets,thecurrentzoomlevelofeach
sheetwillbemaintained.

133

6 From Schematic to Finished Board

Points to Note for the Schematic Editor


Superimposed Pins
Pinswillbeconnectediftheconnectionpointofanunconnectedpinisplaced
ontotheconnectionpointofanotherpin.Pinswillnotbeconnectedifyou
placeapinthatisalreadyconnectedtoanetlineontoanotherpin.

Open Pins when MOVEing


IfaGateismovedthenitsopenpinswillbeconnectedtoanynetsorother
pins which may be present at its new location. Use UNDO if this has
happenedunintentionally.

Duplicating a Section of the Schematic


Ifyouwanttouseacertainsectionofyourschematicseveraltimes,youcan
useGROUPandCOPYcommandsinordertoputthispartintotheclipboard,
andthenusePASTEtoplacethegrouponthesameoronadifferentsheetof
yourschematic.
Theduplicatedcomponentswillgetnewnames.Netsconnectedtoasupply
pin or marked with a LABEL will keep their original name, provided the
supplypinandthelabelispartoftheselectedgroup.Allothernetswillget
newnames.

With Consistent Layout


In case you already created a board from your schematic, the pasted
componentsinthelayoutwillbeplacedleftoftheboard'sorigin.Asusualthe
componentshavetobearrangedandtheairwiresroutedthen.

Merge Different Schematic Files


Itispossibletopasteawholeschematicfileintothecurrentdrawing.This
canbedoneinthemenuFile/Import/EAGLEdrawing....Thenewsheet(s)will
beappendedtothecurrentone(s),dependingonthenumberofsheetsofthe
sourceschematic.Youcanreorderthesheetsbydrag&dropafterwards.
WhileinsertingagroupEAGLEcheckstheobjects'namesandcomparesthem
with those already existing in the current schematic. EAGLE will show a
windowwhereyougetinformationaboutthenetnames.Thetableshowsa
listwiththeoriginalnamesoftheschematicyouwanttopaste,inthecolumn
Oldname,andthenetnames,inthecolumnNewname,EAGLEsuggestsfor
thisschematicafterpastingitintothecurrentdrawing.Byclickingontoan
entryyoucaninfluencethenetnamesanddecideaboutthembyyourself.
Namesofnetsthathavealabelorareconnectedtoasupplypin,willremain
unchangedbydefault.InthePaste...listsuchnetsaremarkedwithiconsthat
wanttotellyouwhat'sthereasonforleavingthisnetnameunchanged.Of
courseyouareallowedtochangesuchanetnameaswell.
Itisnotallowedtochangethenamesofnetsthatarememberofabusorthat
areconnectedtoanimplicitpowerhere.
134

6.1 Creating the Schematic Diagram

Netnamesbeforeandafterpastingtheschematic
It'spossibletopredefineanoffsetfortheenumerationofthecomponents,if
youusethePASTEcommandinthecommandline:
PASTE 200 channel1.sch
addstheschematicwithnamechannel1.schintothedrawingandincrements
the components' names with an offset of 200. R1 of channel1.sch will be
namedR201inthecurrentdrawingthen.
ThisfunctionisalsoavailablethroughtheFile/Import...menu.

With Consistent Layout


Incaseyouareworkingwithaconsistentpairofschematicandboardfiles,
andyouwanttoimportanotherconsistentschematic/boardpairintoyour
currentprojectviatheFile/Import/EAGLEdrawing...menu,theschematicwill
beplacedonanewsheet(orseveralsheets)andtheboardwillbeplacedleft
of the already existing layout. It can be moved with GROUP and MOVE
afterwards.
Asanalternativetothe File/Import menuandthePASTEcommandwhich
canbeusedinthecommandline,youareallowedtodrag&dropaschematic
oralayoutfromthetreeview'sprojectsbranchoftheControlPanelintoyour
currentlyopenedSchematicorLayoutEditorwindow.

Multi-Channel Devices
Thisfunctionalitycanbeusedtoeasilycreatemultichanneldevices:

135

6 From Schematic to Finished Board


Finishtheschematicofonechannelandcreatetheboardofit.Thenarrange
thecomponentsandrouteyourlayout.Whenthisisdoneuse Pastefrom....
and copy the schematic/layout pair as often as needed into on common
schematic/boardfilepair.
IfyoustartFile/Import/EAGLEdrawing...intheLayoutEditor,thelayoutwill
beattachedtothemousecursorandyoucanplaceitwhereyouwouldliketo
have it. The schematic part will be added on a new page in the current
schematic.IfyouareusingthecommandlineintheLayoutEditoryoucan
usecoordinatesforanexactplacement.
PASTE TEST.BRD (10 30)
forexample,placestheboardfromtest.brdwithanoffsetof(1030)ingrid
unitscomparedtotheoriginalposition.
IncaseyoustarttheimportfromtheSchematicEditor,thereferringlayout
willbeplacedautomaticallyleftofthealreadyexistingdesigninthelayout
editor.

6.2 The Hierarchical Schematic


Ahierarchicaldiagramdiffersfromtheschematicgeneratedinsection6.1in
its structure. It contains subordinate units, socalled modules, each
representingapartoftheentirecircuitdiagram.
ModulescanbeeditedjustthesamelikeasimpleSchematic.Modulescanbe
drawnacrossmultiplemodulepages.Thesheetsofthemodulesaredisplayed
in the icon preview of the Schematic Editor window; just like normal,
schematicsheets.
Modules are usually represented by module instances that are drawn as
simplysymbols(boxes)atschematicmainlevel.Moduleinstancesofoneand
thesamemodulecanbeusedrepeatedly.
For the module instances ports are defined, which serve as an interface
betweenthenetsinsidethemoduleandahigherschematiclevel.Portsare
used, for example, to connect various module instances or to establish
connectionsbetweennetsinsideamoduleandnetsonschematicmainlevel.
Portscanexportnotonlyindividualnets,itisalsopossibletoexportsimple
busesviaaport.
Thehierarchicalschematiccanhaveanynumberoflevels.Thisallowstouse
amoduleinstanceofanothermoduleinsideamodule,andsoon.Thedepth
ofthehierarchycanbearbitrarilydeep.
If a layout is generated from a hierarchical schematic, the result is
comparablewiththelayoutofaschematicwithouthierarchy.

136

6.2 The Hierarchical Schematic

Creating a Module
ClickontotheMODULE icon

tocreateamodule.TheModuleDialog

opens.Typeintheline New: thenameofthemodule,forexampleFILTER.


Themodulewillbecreated.Attachedtothemousecursor,youalreadysee
themoduleinstanceofthemoduleFILTERwhichcanbeplacedonthefirst
page of the schematic. If you cancel the command before you place the
moduleinstance,themoduleisneverthelessalreadycreated.Youcanseeit
in the sheet preview: There is module sheet named FILTER:1 (Module
FILTER,Modulesheet1)displayed.
Ifyouwanttocreatemultiplemoduleswithoutplacingamoduleinstance,
usethecommandline:
MODULE FILTER;
MODULE PREAMP;
MODULE POWERSUPPLY PS*;
Each command creates after your confirmation a new module. For the
POWERSUPPLYmodulethereisalreadydefinedtheprefixPSforthemodule
instances.TheyarefinallynamedPS1,PS2,andsoon.
Thehierarchicalschematicmaycontainanynumberofmodules.

ModuleInstanceforModuleFilter(yetwithoutportsandcontents)
ThepictureshowsanewlycreatedmodulewithnameFILTER.Themodule
sheetisstillempty.Therearenocomponentsandnetsdrawn.
Thecorrespondingmoduleinstancehasalreadybeenplacedontheschematic
pageandhasthenameFILTER1.

137

6 From Schematic to Finished Board


Module instances and their ports are automatically drawn in layer 90
Modules.
Inthenextstep,youdefinethecontentsofthemodule.Switchtothemodule
sheet by clicking on the sheet preview or in the action bar on the sheet
selectionbox.Nowdrawthemoduleasinthenormalschematic,justasin
theprevioussectionCreatingtheSchematicDiagrambeginningwithpage115
described.
Amodulecanbedrawnoverseveralsheets.Inordertocreateanewmodule
sheet,clickonthemodulesheetpreviewwiththerightmousebutton.Select
theappropriateoptioninthecontextmenu.

ContextmenuofmodulesheetFilter:1
Inthecontextmenuofthemodulesheetyoucancreatea new additional
modulesheet,removeamodulesheet,orcompletelyremoveawholemodule
withallitsmoduleinstancesfromtheschematic(RemoveModule).
ThedescriptionofamodulecanbeformattedwithHTMLtags.Thefirstline
ofthedescriptionwillbedisplayedinadditiontothemodulenameinthe
modulesheetpreviewandintheSheetcombobox.
In Properties, you have the option to define a prefix and the size of the
symbolofthemoduleinstancethatrepresentsthemoduleintheschematic.
Prefixdefinesthenameofthemoduleinstances,asitiswiththeprefixfora
deviceinalibrary.Ifyouchooseforamodulenamed Power_Amplifier,for
example,asaprefix PA,thenameofthefirstmoduleinstancewillbePA1,
thesecondPA2,andsoon.Ifthereisnoprefixdefined,themodulename+
numberwillbeused.
138

6.2 The Hierarchical Schematic


Inaddition,youcanseethelistofportsthatconnectsthemodulewithits
environment.
Theorderofthemodulesheetscanbechangedbydrag&dropinthepreview.
Itisalsopossibletomoveaschematicsheetfrommainlevelintoamodule.
Theresultisacorrespondingmodulesheet.
Youcanalsomovesheetsoutofamoduleintomainschematiclevel.But
pleasekeepinmindthatthiscanhaveasignificantimpactonyourdesign
undercertaincircumstances.Ifyouhavealreadystartedtocreatethelayout,
suchanactionmayhaveasignificantimpactonit.
Organizingthesheetsofthemodulecanalsobedoneviathecommandline
usingtheEDITcommand(seehelp).

Define Ports
A Port serves asaninterface forthenetswithinamoduleandtheworld
outside. In the main level schematic ports can be connected to nets that
connectdifferentmoduleinstancesorcomponentsthatarenotmemberofa
module(i.e.inthemainschematiclevel).
ClickonthePORTicon

andthenclickthemoduleinstancefortheportto

becreated.Thefirstportisattachedtothemousecursor.Itcanbemoved
along the module instance's contour. The parameter toolbar of the PORT
commandshowsacomboboxthatoffersdifferentportdirections.
The Direction describes the logical direction of signal flow. There are the
followingoptions:
NC
In
Out
IO
OC
Hiz
Pas
Pwr

notconnected
input
output(totempole)
in/out,bidirectional(default)
opencollectororopendrain
highimpedance(3State)output
passive
powerpin(Vcc,Gnd,Vss...),supplyvoltageinput

Thedirectionisshownattheportsbycorrespondingarrows.
Afterchoosingthedirectionplacetheportwithaleftmouseclick.Thisopens
aselectionwindowfromwhichyouselectthemodulenet,whichshouldbe
connectedviatheporttooutsidethemodule.Ifthereisyetnocorresponding
netpresentinthemodule,youcandefineaNewname,aswell.Thisnethas
tobecreatedinthemodulethen!
IntheSelectwindowscanalsoappearmodulebuses.Aportcanevenhandle
simple buses, for example PA[0..7]. The nets PA0...PA7 will be exported
throughthisbusport.Thebusportwillbedrawnwithawiderlinewidth.

139

6 From Schematic to Finished Board


ClickOKtoconfirmtheselection.Thenextportisattachedtomousecursor
nowandcanbeplacedasdescribedatthecontourofthemoduleinstance.If
allports areplaced,terminate thePORT command with Esc orclick onto
anothermoduleinstanceforfurtherplacementofports.

SelecttheModuleNetforthePort
Theconnectionpointoftheportisdisplayedthesamewayasforpinsof
componentsinlayer93,Pins.

ModuleInstancewithPorts;ontheright:PropertiesDialog

Using Module Instances


Module instances are defined with the MODULE command. Click the
MODULEiconandselectthemoduleforwhichthemoduleinstanceshould
becreated.

140

6.2 The Hierarchical Schematic

ModuleSelection
Placethemoduleinstanceintheschematic.
Amoduleinstancecanbemovedasawhole,forexample,withMOVE.
Do you want to move only one port to another location or change the
Directionorthe nameoftheport,however,selecttheMOVEorINFO,hold
downtheCtrlkeyandclickontheport.
Achangetoamoduleinstancethatisusedmultipletimesinthehierarchical
schematicistransferredtoallmoduleinstances.
Ifyouwould,forexample,addanewporttothemoduleinstanceFilter1in
theimageabove,therewouldbeaddedthesameporttothemoduleinstance
Filter2simultaneously.
Achangeinthesizeofthesymbolofamoduleinstancecanbedoneviathe
propertiesdialogorby Ctrl+MOVEononeofthebordersofthebox.The
changeappliestoallmoduleinstancesofthismodule.

Resulting Component Names in the Layout


For components that are used in modules, special rules apply when
generatingthecomponentname.Eachmodulehasitsownnamespace.

ModulInstanceName:PartName
SupposedacomponentwiththenameC1isusedinthemoduleFILTERSand
alsousedinamodulenamedPOWERSUPPLY.
Ifthesemodulesarerepresentedbytwomoduleinstancesintheschematic
(Filter1 and Powersupply1), the resulting component namesonthe board
willbecomposedofthemoduleinstancenamefollowedbya':'andthepart
name.Soinourexample,thecomponentswillhavethenamesFilter1:C1and
Powersupply1:C1.
ThisisthedefaultmethodusedbyEAGLE.

Offset
Optionalyoucanspecifyanoffsetformoduleinstancesonschematicmain
level.Forexample,themoduleinstanceFilter1hasdefinedanoffsetof100
and the module instance Powersupply1an offset of 200, the resulting
component name on the board will be C101 instead of the previous
Filter1:C1andC201insteadPowersupply1:C1.
141

6 From Schematic to Finished Board


Theoffsetcanbedefinedonlyformoduleinstancesonmainschematiclevel
andappliesonlytocomponents.Incaseofcomponentsandnetsindeeper
levelsthemoduleinstancenameisalwaysprefixed.
Theoffsethastoamultipleof100.Itisspecifiedinthepropertiesdialogof
themoduleinstanceordirectlywiththeMODULEcommandinthecommand
line.ThesyntaxisdescribedinthehelpoftheMODULEcommand.

Assembly Variants for Modules


Withinmodules,assemblyvariantscanbedefined.Editamodulesheetand
click onto the Assembly variants entry in the Edit menu of the Schematic
Editor. How to create assembly variants is described in section Creating
AssemblyVariantsbeginningwithpage187.
Moduleassemblyvariantsarelimitedtothemoduleparts.Moduleassembly
variantscanbeusedviathemoduleinstance.Foreachmoduleinstancea
specificmoduleassemblyvariantcanbeselected.
Thereisnodirectswitchingbetweenassemblyvariantsinamodule,butthe
element'svalue,populatestateandattributesintheboardaresetfollowing
thechosenvariantinthecorrespondingmoduleinstance.
Ifusedonschematicmainlevel,theVARIANTcommandworksfortheparts
onmainlevelasitisinnonhierarchicalschematics.
Theassemblyvariantdefinitionsarenowkeptonlyintheschematic.
Forstandaloneboards,assemblyvariants arenolongersupported,butit's
possibletosetthe populateoptionofelementswiththeCHANGEcommand
orinthepropertiesdialog.

Special Features between Schematic and Layout


SHOW command
Showexecutedonamoduleinstancedisplaysallassociatedcomponentsand
signalsinthelayoutgeneratedbythismoduleinstance.
ClickonacomponentinamoduleandEAGLEshowsallcomponentsinthe
boardthataregeneratedbythemultipleuseofamodulethereareseveral
moduleinstancesthatrepresentthesamemoduleintheschematic.

Consistency
Toavoidinconsistenciesbetweenschematicandboardregardingcomponents
and nets and the corresponding signals in the hierarchical design, some
commandscannotbeexecutedintheLayoutEditor.

142

6.2 The Hierarchical Schematic


Thismustthereforebedoneintheschematicandwillbetransferredtothe
appropriate element or signal on the board then. These includes the
commandsNAMEandVALUE.
EAGLEpromptsinsuchsituationsanappropriatemessage.
Thisrestrictionappliesonlytoobjectsinahierarchicalstructure,ifthereis
consistency.

6.3 Considerations Prior to Creating a Board


Checking the Component Libraries
TheEAGLEcomponentlibrariesaredevelopedbypractisingengineers,and
correspond closely to presentday standards. The variety of components
availableis,however,sowidethatitisimpossibletosupplylibrarieswhich
aresuitableforeveryuserwithoutmodification.
There are even different Packages which are supplied by various
manufacturersusingthesameidentification!Manufacturersrecommendvery
different sizes for SMD pads, and these depend again on the soldering
procedurebeingapplied.
In short: You cannot get away without checking the components, in
particularthePackagedefinitions,beingusedwhenlayingout.
InthecaseofSMDcomponents,pleasetakeparticularcaretoensurethat
the Package from the library agrees with the specifications of your
component.Housingsfromdifferentmanufacturerswiththesamename
butdifferentdimensionsareoftenfound.

Agreement with the Board Manufacturer


IfyouplantohaveyourPCBprofessionallymanufactured,nowisthetimeto
inquire at your board manufacturer whether they stipulate any particular
valuesforthefollowingparameters:
trackwidth
shapeofsolderlands
diameterofsolderlands
dimensionsofSMDpads
textsizeandthickness
drillholediameters
numberofsignallayers
incaseofmultilayerboards:manufacturingdirectionsforBlindand
Buriedviasandcompositionoftheboard(seepage172)
clearancevaluesbetweendifferentpotentials
parametersconcerningsolderstopmaskandcreamframe
143

6 From Schematic to Finished Board


Youwill saveyourself timeandmoney if you takethesestipulationsinto
accountingoodtime.Youwillfindmoredetailsonthisinthesectiononthe
PreparingofManufacturingData(Chapter9).

Specifying the Design Rules


Alltheparametersrelevanttotheboardanditsmanufacturearespecifiedin
theDesignRules.
Usethemenu Edit/DesignRules.. toopentheDesignRuleswindowshown
below:

DRC:AdjustingtheDesignRules

General Principles
Thefirsttimethatyoucallthisdialog,theDesignRulesareprovidedbythe
program.Ifnecessary,adjustthevaluestosuityouroryourBoardhouse's
requirements.
The Apply buttonstoresthevaluesthatarecurrentlysetinthelayoutfile.
ChangestovariousDesignRules,likethesettingsconcerningtheRestring,
areimmediatelydisplayedintheLayoutEditorafterclickingApply.
TheDesignRulescanbesavedinaspecialDesignRulesfile(*.dru)bythe
useoftheSaveas..button.Soyoucaneasilyusethissetofrulesforanother
board.
ToapplyasetofDesignRulestoaboard,youcandragany dru fileofthe
DesignRules branchofthetreeview intheControlPanelintotheLayout
Editorwindoworclickthe Load..buttoninthe FiletaboftheDesignRules
window.

144

6.3 Considerations Prior to Creating a Board


Edit Description.. can be used to alter the descriptive text for the current
parameterset.ThedescriptionusuallyappearsintheFiletab,ascanbeseen
intheimageabove.HTMLtextcanbeused.Youwillfindnotesonthisinthe
helpsystem.
The Design Rules dialog offers a range of different options that can be
selectedthroughthetabs.Theoptionsinclude:
File

ManagetheDesignRules

Layers

Numberofcopperlayers,structureofmultilayer
boards,kindandlengthofvias,thicknessofcopper
andisolationlayers

Clearance Distancesbetweenobjectsinthesignallayers
representingsignalsthatmaybedifferentorthesame
Distance

Distancesfromtheboardedgeandbetweenholes

Sizes

Minimumtrackwidthandholediameter,particularly
forMicroandBlindvias

Restring

WidthoftheremainingringatPadsand(Micro)vias

Shapes

ShapesofPadsandSMDs

Supply

Thermalsymbolsincopperplains

Mask

Valuesforsolderstopandsoldercreammasks

Misc

Additionalchecks

Mostparametersareexplainedwiththehelpofasmallimage.Assoonas
youclickintoaparameterline,theassociateddisplayappears.

Layers
Definethenumberofsignallayersandthekindofvias(BlindorBuriedvias)
here.WiththehelpofamathematicalexpressionintheSetuplinetheproper
structure ofthe board,theappropriatecombinationofcoresandprepregs
andtheresultingfacilitiesforviascanbedefined.
In most cases (for simple two or more layer boards) the vias are drilled
throughalllayers.Theimageaboveshowsthedefaultsetupforatwolayer
board.Theexpression(1*16)definesonecorewithlayers1and16,which
can be connected with vias. Parenthesis around the expression define
throughhole(continuous)vias.

145

6 From Schematic to Finished Board

DesignRules:LayerSetup
Basicexamples:
1layer:
16

Onlylayer16,novias.

4layers,viasthroughalllayers:
(1*2+15*16)
Twocoresareaffiliatedwitheachother.
6layers,viasthroughalllayers:
(1*2+3*14+15*16)
Threecoresareaffiliatedwitheachother.
ThefieldsforCopperandIsolationareusedtodefinethethicknessofcopper
andisolationlayers.Thesesettingsareonlyrelevantforcomplexmultilayer
boardsthatuseBlindorMicrovias.
ThecommandsDISPLAY,LAYER,WIRE,andROUTEworkonlywiththose
signallayersdefinedintheLayerSetup.
FurtherinformationandexamplesabouttheLayersetupcanbefoundinthe
sectionMultilayerBoardsbeginningwithpage172.
LoadingaboardfilethatwasmadewithanolderversioncausesEAGLE
tocheckwhichsignallayerscontainwires.Theselayersappearinthe
layersetup.Pleaseadjustitifnecessary.

Minimum Clearance and Distance


Clearance referstotheminimumdistancesbetweentracks,pads,SMDsand
viasofdifferentsignals,andbetweenSMDs,padsandviasofthesamesignal.
SettingthevaluesforSamesignalchecksto0,disablestherespectivecheck.

146

6.3 Considerations Prior to Creating a Board


Distance allows settings to be made for the minimum distances between
objectsinlayer20, Dimension,inwhichtheboardoutlineisusuallydrawn,
andbetweenholes.
Setting thevaluefor Copper/Dimension to 0 switchesofftheminimum
clearancecheckbetweencopperanddimension.
In this case EAGLE does not recognize holes that are placed on wires.
Polygons don't keep their distance to objects in layer 20, Dimension,
either!
Ifanetbelongstoaspecialnetclass,thevaluesforClearanceandforthedrill
diameterofvias(Drill),definedbymeansoftheCLASScommand,aretaken
intoconsideration,providedthesevaluesarehigherthanthosegiveninthe
DesignRules(ClearanceandMinimumDrillintheSizestab).

Sizes
Theminimumvaluesfortrack widthandfor holediameterallowedinthe
layoutareselectedhere.
If additionally net classes are defined and values for clearance, width, or
minimum drill, are set, the respectively higher value is taken into
consideration.
Hereyousettheaspectratioofdrilldepthtodrilldiameterforboardsthat
containBlindvias.Pleasecontactyourboardhouseforthisinformation!If
theboardhousespecifies,forexample,anaspectratioof1:0.5youhaveto
enterthevalue0.5inthelineMin.BlindViaRatio.
Formicroviasyouhavetosettheminimumdrilldiameterintheline Min.
MicroVia.Settingthisvaluehigherthanthevaluein MinimumDrill means
thattherearenomicroviasused(default).Toputthisintootherwords:If
thedrilldiameterisbetweenthevalueforMin.MicroViaandMinimumDrill
theviaisconsideredamicrovia.

Restring (Pad and Via Diameter)


ThesettingsmadeunderRestringdeterminethewidthoftheringremaining
atpads,vias,andmicrovias.Theremainingringreferstotheringofcopper
thatremains around a hole after a pad or via has been drilled. Different
selectionscanbemadeforthewidthoftheremainingringintheinnerand
outerlayers.PadsmayalsodifferbetweentheTopandBottomlayers.
Usuallythevalueisexpressedasapercentageoftheholediameter.Minimum
andmaximumvaluescanadditionallybespecified.
As soon as you change a parameter and click the Apply button you can
directlyseetheeffectsinthelayout.Ifyouwanttousedifferentvaluesfor
the upper and lower layer (or different shapes, see Shapes tab), it is
recommendedtosetthelayercolorforlayers17, Pads,and18, Vias,the

147

6 From Schematic to Finished Board


sameasthebackgroundcolor(blackorwhite).Inthiscaseyoucanrecognize
therealsizeandshapeofthepad/viainitsrespectivelayer.
The INFO command which has the same dialog as the context menu's
Properties entry, informs you about the via diameter in outer and inner
layers,andabouttheinitialuserdefinedvalue.Forexample,inthefollowing
image:

DisplayingViapropertieswithINFO
Predefinedvalue(byCHANGEDIAMETER):
Actualcalculateddiameterintheouterlayers:
Actualcalculateddiameterintheinnerlayers:

0.7
0.9
0.8

Here the resulting via diameter is bigger than the predefined value,
accordingtothegivenminimumvalueintheDesignRules'Restringsettings
forvias.
The following image illustrates the template for setting the width of the
residualring.Thestandardvaluefortherestringaroundholesis25%ofthe
holediameter.Sincethewidthoftheringonsmallholesspecifiedthisway
wouldsoonfallbelowatechnicallyfeasiblevalue,aminimumvalue(here:
10milforpads,8milforvias,4milformicrovias)isspecifiedhere.Itisalso
possibletospecifyamaximumvalue.
Example:
Theringaroundaholewith40mildiameteris10mil(25%).Ittherefore
liesinbetweenthemaximumandminimumvalues.
Iftheholeisonly24milindiameter(e.g.foravia),thecalculationyieldsa
restringvalueofonly6mil.Foraboardmadeinstandardtechnologythisis
extremelyfine,andcannoteasilybemade.Itmightwellinvolveextracosts.
Inthiscaseaminimumvalueof10milisgiven.
148

6.3 Considerations Prior to Creating a Board

DesignRules:Restringsettings
Ifyouliketodefinearestringwithafixedwidth,usethesamevaluefor
minimumandmaximum.Thevalueinpercenthasnoeffectinthiscase.
Diametercheckbox:
Incaseyoudefinedadiameterforapadinthelibraryorforaviainthe
Layout Editor, and you want to have this given diameter taken into
considerationfortheinnerlayers,activatetheDiameteroption.Thiscanbeof
interestifapredefinedpadorviadiameterexceedsthevaluecalculatedby
the Design Rules. Otherwise the pad or via in the inner layers would be
smaller than in the outer layers. If youwant pads/vias to have the same
diameterinalllayers,settheoptionDiameter.
Theoptionissetoff,bydefault,fornewcreatedboards,butwillbesetonfor
boardsthatareupdatedfromversion3.5orpriorbecauseintheseversions
padsandviashadthesamediameterinalllayers.Thustheupdateprocess
doesnotchangetheoriginallayout.
AllthevaluescanalsobegiveninMillimetres(forexample0.2mm).

Shapes
SMDs:
A rounding factor can be specified here for SMD pads. The value can be
between0%(norounding)and100%(maximumrounding).

Roundness:0102550100[%].Right:100%,square
149

6 From Schematic to Finished Board


AsquareSMDhasbeenplacedinsteadofanoblongoneonthefarrightof
the diagram. After assigning the property Roundness = 100 %, the SMD
becomesround.
Pads:
Thisiswheretheformofthepadsisspecified.Itispossibletogivedifferent
settingsforthetopandbottomlayers.
The As in library option adopts the form defined in the Package Editor.
ClickingonApplyshowsthechangeimmediatelyintheLayoutEditor.
PadsandViaswithininnerlayersarealwaysround,nomatterwhatthey
areinToporBottomlayer.Thediameterisdeterminedbytherestring
settings.
ProvidedapadwasgiventheFirstflaginthelibraryonecanspecifyacertain
shapeforallthosepadsinthelayout.
ElongationdefinestheaspectratiooflengthtowidthofLongandOffsetpads
(seeimage).Thevalueisgiveninpercent.Clickwiththemouseintothefield
LongorOffsetandtheimageontheleftshowsthecorrespondingcalculation
rule.
100%isequivalenttoanaspectratioof2:1.0%resultsinanormaloctagon
padwithanaspectratioof1:1.Themaximumis200%(ratio4:1).

DesignRules:Adjustingpadshapes
NotesonthedisplayintheLayoutEditor:

150

6.3 Considerations Prior to Creating a Board


If padsor viashavedifferentshapesondifferentlayers,theshapesofthe
currentlyvisible(activatedwithDISPLAY)signallayersaredisplayedontop
ofeachother.
Ifthecolorselectedforlayer17,Pads,or18,Vias,is0(whichrepresentsthe
currentbackgroundcolor),thepadsandviasaredisplayedinthecolorand
fillstyleoftheirrespectivelayers.Ifnosignallayerisvisible,padsandvias
arenotdisplayed.
Ifthecolorselectedfor layer17, Pads,or18, Vias,is not thebackground
colorandnosignallayersarevisible,padsandviasaredisplayedintheshape
ofthetopandbottomlayer.
ThisalsoappliestoprintoutsmadewithPRINT.

Supply
SpecifiesthesettingsforThermalsymbols.
Thevaluefor Thermalisolation determinesthedistancebetweenapolygon
andtherestringofthepadorviathatisjoinedtothepolygonthrougha
Thermalsymbol.
TheGeneratethermalsforviasflagpermitsThermalsymbolsatthroughholes.
Otherwiseviasarefullyconnectedtothecopperplane.Thisappliesalsofor
polygons. But you can disable this option for individual polygons with
CHANGETHERMALSOFFandamouseclickontothepolygon'scontour.
Inside hatched polygons EAGLE doesn't generate Thermal symbols for
viasthatdonothaveadirectcontacttooneofthepolygonlines.
Pads or SMDs marked with the flag NOTHERMALS (CHANGE THERMALS
OFF) in the Package Editor will be connected basically without Thermal
symbols.

Masks
Settingsfortheovermeasureofthe solder stopmask(Stop)andthe solder
creammask(Cream)aremadehere.
Thedefaultvalueforsolderstopis4mil,i.e.minimumvalueismaximum
valueis4mil.Thepercentvaluehasnoeffectinthiscase.
Thevalueforthecreamframeissetto0,whichmeansthatithasthesame
dimensionsastheSMD.

151

6 From Schematic to Finished Board

DesignRules:SettingsforSolderStopandCreamFrame
Ifvaluesaregiveninpercent,inthecaseofSMDsandpadsoftheformLong
or Offset, the smaller dimension is the significant one. The values are
constrainedbyminimumandmaximumvalues.
ThevalueforCreamisgivenpositively,asisFrame,althoughitseffectisto
reducethesizeofthesoldercreammask(creamframe).
ThesoldercreammaskisonlygeneratedforSMDs,andisdisplayedonlayer
31,tCream,orlayer32,bCream.
Thesolderstopmaskisdrawninlayers29,tStop,or30,bStop.
SettingtheflagSTOPorCREAM(onlyforSMD)toOFFforapadorSMDat
thePackagedefinitionforbidsEAGLEtogenerateasolderstopmaskora
creamframeforit.
Limitdetermines,togetherwiththeholediameter,whetherornotaviaisto
becoveredwithsolderstoplacquer.
Example:
ThedefaultvalueforLimitis0.Thismeansallviasgetasolderstopsymbol.
Theyarefreeofsolderstoplacquer.
SettheLimit=24:
Allthroughplatedholeswithdiametersupto24mildon'tgetasolderstop
symbol(theyarelacquered),butviaswithlargerholediametersgetasolder
stopsymbol.
For vias with hole diameters below the Limit the STOP flag can be set
(CHANGESTOPON).EAGLEgeneratesasolderstopmaskthen.

Misc
Hereyoucanselect/deselectvariouscheckswhicharemadebytheDesign
RuleCheck:
152

6.3 Considerations Prior to Creating a Board


Checkgrid
examineswhetherobjectsliepreciselyonthegridcurrentlysetbytheGRID
command.Thistestisnotalwaysworthwhile,sinceinmanycasesDevices
built to both metric and imperial grids are in use at the same time. No
commongridcanbefoundinsuchacase.
Checkangle
ensuresthatalltracksarelaidatwholemultiplesof45degrees.Thistestis
normallyswitchedoff,butcanbeactivatedifrequired.
Checkfont
(de)selectsthefontcheck.
TheDRCchecksiftextsarewritteninvectorfont.Textwhichisnonvector
fontismarkedasanerror.Thischeckisnecessaryduetothefactthatthe
CAMProcessorcan'tworkwithothersthanvectorfontforthegenerationof
manufacturingdata.
Assumedyouuseproportionalfonttextinthebottomlayer,placeitbetween
two tracks, and use the CAM Processor to generate Gerber files, it could
happenthatthetracksareshortedbythetext(heightandlengthofthetext
canchange)!
Default:on.
Checkrestrict
canbesetoffifcopperobjectsshouldnotbecheckedagainstrestrictedareas
drawninlayers39,tRestrict,and40,bRestrict.Defaultsetting:on
If restricted areas and copper objects are defined in a common Package,
EAGLE does not check them against each other. Restricted areas that are
realizedbycutoutpolygonsarenotcheckedbyDRC!
SettingtheDesignRulesiscapturedbytheUNDO/REDOfunction.

6.4 Create Board


Afteryouhavecreatedtheschematic,clicktheBoardicon.
Anemptyboardisgenerated,nexttothecomponentsthataretobeplaced,
joinedtogetherbyairwires.Supplypinsareconnectedbythosesignalswhich
correspondtotheirname,unlessanothernetisexplicitlyjoinedtothem.
Theplacementgridforcomponentsissetto50mil(1.27mm)bydefault.
If you prefer a different placement grid, you are allowed to specify it
optionally with the BOARD command in the Schematic Editor's command
line.
Tohavethecomponentsplaced,forexample,ina1mmgrid,type:
BOARD 1mm
Theunithastobespecifiedinthecommandlinedirectly.
TheboardislinkedtotheschematicbytheForward&BackAnnotationengine
providedthatbothfilesarealwaysloaded.Ifbothloadedduringeditingthey
are guaranteed to remain consistent. Alterations made in one file are
automaticallycarriedoutintheother.
153

6 From Schematic to Finished Board


Ifyoualreadygeneratedaboardfromyourschematicandcontinueplacing
componentsintheschematic,thereferringpackagesintheboardareplaced
inthecurrentgridsettingoftheLayoutEditor.
If,forexample,theSchematicisloadedandeditedwithouttheLayout,
consistencycanbelost.TheForward&BackAnnotationEnginenolonger
functions.Differencesmustthenberectifiedmanuallywiththeaidofthe
errormessagesprovidedbytheERC(seepage193).
Ifyouwouldliketoseea descriptivetextforyourboardfileintheControl
Panel's treeview Projects branch, you can define it by the Layout Editor's
Edit/Descriptionmenu.YouareallowedtouseHTMLtagsforformattingthe
text.

Without the Schematic Editor


IfyouworkwithoutaSchematicEditor,youmustgenerateanewboardfile,
placethePackageswiththeADDcommandanddefinetheconnectionswith
theSIGNALcommand.
Tounderstandthisprocess,pleasereadthesectiononPlacingComponentson
page116,andthesectiononSpecifyingNetClasses onpage123.Thesetwo
pointsapplytotheLayoutEditoraswellastotheSchematicEditor.
YouarealsoallowedtodefineattributesintheLayoutEditor.Pleasereadthe
chapteraboutdefiningAttributesbeginningwithpage128.
The remaining procedures are identical for users with and without the
SchematicEditor.

Specify the Board Outline


A board that has just been generated from a schematic diagram initially
appearsasinthefollowingdiagram:

154

6.4 Create Board

Boardcommand:Createthelayoutfromtheschematic
TheDevicesareautomaticallyplacedattheleftoftheboard.
The board outline can be drawn as a simple narrow line in layer 20,
DimensionwiththeWIREcommand.
It'seasily possible to drawround outlines, too.Therefore use theCIRCLE
commandwithasmallwidthnear0.
Youcanalsoplaceaboardcontourfromalibrary(suchas 19inch.lbr)with
ADD.
Ascriptfilecan,alternatively,bereadbytheSCRIPTcommand.Theeuro.scr
file,forinstance,canbeused.Simplytype
SCRIPT EURO
onthecommandline.
Theboardoutlineservessimultaneouslyasaboundaryfortheautorouteror
Followmerouter(ifpresent).
Ifyourboardhasadditionalcutouts,youshoulddrawthenecessarymilling
contours in a separate layer, for example in 46, Milling. Use the WIRE
commandwithwirewidth=0todefineyourlines.

Arrange Components
Drag the various components to the desired positions. Use the MOVE
commandforthispurpose.Devicescanbeclickedondirectly,oraddressed
byname.
Ifyoutype,forexample,
MOVE R14
155

6 From Schematic to Finished Board


inthecommandline,theDevicenamedR14willbeattachedtothemouse
cursor,andcanbeplaced.
Precisepositioningresultsfrominputsuchas:
MOVE R14 (0.25 2.50)
R14'slocatingpointisnowlocatedatthesecoordinates.
KeeptheCtrlkeypressedwhileselectingacomponentinordertoletits
originjumpatthemousecursor andmoveitonto thecurrently used
grid.
AgroupofDevicescanbetransposedbycombiningtheGROUPandMOVE
commands.ClickontotheGROUPiconandthendrawaframearoundthe
desiredelements,clickMOVE,andthenclickwithinthegroupwiththeright
mousebuttoninordertoselectit.Withaclickoftheleftmousebuttonyou
canplacethegroupatthedesiredlocation.
ROTATE,oraclickwiththerightmousebuttonwhiletheMOVEcommandis
activeturnsaDevicethrough90degrees.Thisalsoappliestogroups.
Inordertoplaceacomponentinany angleyou mayspecifythe rotation
directly with the ADD command or later with ROTATE or MOVE in the
parametertoolbar.

ParametertoolbarforROTATE,MOVE,ADD,COPY
NexttotheAngleboxarethebuttonsfortheSpinandMirrorflag.
Thelefthand Spin iconisselected

,ifthespinflagisnotset(default).

Thismeansthattextsaredisplayedalwaysreadablefromtherightorfrom
thebottomsideofthedrawing.
IfthespinflagisactivaetherighthandSpinnedicon

ismarkedthe

textscanbedisplayedinanyrotation,alsoupsidedown.
The Mirror icons used with components determine where a component is
placed:onthetopside(default)oronthebottomsideoftheboard.Ifa
componentisplacedontop,thelefthandiconisactive.Ifyouwanttoplace
itonthebottomside,clickontotherighthandMirroredicon.
Asanalternativeyoucanworkwiththecommandline:
ROTATE R45 'IC1' ;
addsarotationof45tothecurrentpositionofpartIC1.Assumedyoutried,
for example, to rotate the component with the ROTATE command and
pressedmousebutton,andyoudecidedthatitisnotpossibletoobtainthe

156

6.4 Create Board


exact rotation angle this way (because of a too coarse grid) type in the
commandline:
ROTATE =R45 'IC1' ;
TherotationofIC1isnowexactly45.The=signstandsforabsolutevalues.
Theinitialpositiondoesnotmatter.
If,forexample,aSMDshouldbeplacedonthebottomsideoftheboardyou
mayaddtheMirrorflag,asin:
ROTATE =MR45 'IC1' ;
AnadditionalSpinflagcausestextstobewrittenupsidedown(byarotation
of180),thatmeanstheycanbereadfromthetopview:
ROTATE =SMR180 'IC1' ;
TheSpinflagisalternating,i.e.usingitagaincausesthetexttobedisplayed
'normal'again.
Check frequently whether the placement is optimal. To do this, use the
RATSNESTcommand.Thiscalculatestheshortestconnectionsoftheairwires
betweentwopints.
Inboardsthatcontainahugenumberofsignalsitmaybeusefultohidesome
of the airwires or display only a few of them. If you want to hide, for
example,thesignalsVCCandGND,typeinthecommandline
RATSNEST ! VCC GND
ifwanttoseethemallagain,type:
RATSNEST *
MoreinformationaboutthiscanbefoundintheEAGLEhelpsection.
ThepositionofparticularDevicescanbedisplayedbytypingtheDevicename
ontothecommandlineorbyclickingdirectlyonanobjectwhiletheSHOW
commandisactive.
INFOshowsdetailedinformationabouttheselectedobject.Dependingonthe
objectyouclickedon,someofitspropertiescanbealteredinthedialog.
TheLOCKcommandallowsyoutofixcomponentsontheboard.Theycan't
bemovedanymorethen. Shift+LOCKreleasesthecomponentagain.LOCK
canbeusedwithgroupsaswell.
Ifthetextforthenameorthevalueislocatedawkwardly, separatethem
fromtheDevicewithSMASHandmovethemtowhateverpositionyouprefer
withMOVE.AtthesametimeEAGLEshowsalinefromthetext'soriginto
thebelongingobject.ClickingwithDELETEoneitherofthetextsmakesit
invisible.
ActivatetheSMASHcommand,holddowntheShift key,andclickontothe
componenttohavethetextsdisplayedattheiroriginalpositionsagain.They
arenolongereditableandunsmashed,again.Anotherwaytoarchivethisis
todeactivatetheoptionSmashedinthecontextmenu'sPropertiesentry.

157

6 From Schematic to Finished Board


PleasekeepinmindthattheCAMProcessoralwaysusesvectorfontfor
generatingmanufacturingdata.
Werecommendtowritetextsinthelayoutalwaysinvectorfont(atleast
inthesignallayers).Ifyoudosotheshowntextmeetsexactlyreality.
Furtherinformationcanbefoundonpages47and171.

Attributes for Components and Global Attributes


If you want to assign any further information than name and value to a
componentintheBoard,youcandothiswiththeATTRIBUTEcommand.
Incaseacomponentdoesnothavelibrarydefinedattributesyoucancreate
attributes for a component the Schematic, as well as in the board file. If
Back&Forward Annotationisactive,anyattributechangeintheschematic
willaffecttheboard.
However, attribute changes made in the Layout editor won't be back
annotated into the schematic. They are kind of independent. It is also
possible to delete them in the board. Consitency between schematic and
boardremainsunchangednevertheless.
Globalattributesarenotvalidforsinglecomponentsbutforthewholeboard.
TheycanbedefinedinBoardandSchematicseparately.
You will find more information about this in the Creating the Schematic
chapteronpage128.

Boards with Components on Both Sides


If the board is also going to have components on the Bottom layer, the
MIRRORcommandisused.ItcausesDevicesontheundersidetobeinverted.
SMDpads,thesilkscreenandthelayersforthesolderstopandsoldercream
masksareautomaticallygiventhecorrecttreatmenthere.
WhileADD,COPY,MOVE,orPASTEisactiveitispossibletomirroranobject
oraselectedgroupwiththemiddlemousebutton.
DefinecomponentsinthePackageEditoralwaysonthetopside!

Exchanging Packages
If, as the layout is developed, you want to replace the selected Package
variantwithadifferentone,thenyoucanuseeitherthePACKAGEorthe
REPLACEcommand,dependingonthesituation.

PACKAGE Command
Itisassumedthatthelayoutandtheschematicdiagramare consistent and
theDevicehasbeendefinedwithmorethanonePackagevariant.

158

6.4 Create Board


Type in the command line PACKAGE and click onto the Package to be
replacedoralternativelyclickontothePackagewiththerightmousebutton
andselectthePackageentryfromthecontextmenu.Athirdvariantwouldbe
toclickontotheCHANGEiconandselectthePackageoption.
Nowyouselectthedesired Package,andconfirmitwith OK,inthedialog
thatthenappears.

CHANGEpackagedialog
IftheShowalltechnologiesoptionisactive,thePackageversionsforallthe
technologiesavailableforthisDevicearedisplayed.Ifthisoptionisnotactive
youwillonlyseePackagesthataredefinedintheselectedtechnology.
ThePackagecanalsobeexchangedfromwithintheschematicdiagram.
Devicesthatdon'thavealternativePackagevariantsdefined,canbemodified
intheLibrary Editor.Addfurther Packagevariants asneeded andupdate
your drawing with thenew library definition. See page 252 Choosing the
PackageVariantsforfurtherinformation.
IfyouchangethePackagevariantofaDevicewhichyougaveanewvalue
with thehelp of theVALUEcommand, althoughithasbeen defined with
VALUEOff,thevaluewillremainunchanged.Seealsopage83.
IfyouwouldliketochangethePackagevariantforseveralidenticalparts,
youcandothisinthecommandline.
DefineaGROUPwithallpartsthatshallgetanewPackagevariant,first.
Nowtypeinthecommandline
CHANGE PACKAGE 'new-device-name'
andclickwithCtrl+rightmousebuttonintothedrawing.
ThenameofthenewPackagevarianthastobeenclosedininvertedcommas.

159

6 From Schematic to Finished Board


REPLACE command
Consistent Schematic/Layout Pair
The REPLACE command allows you to substitute one component with
another.ThewellknownADDdialogwindowopenswhereyoucanselectthe
new part. Now click onto the part you want to have replaced in the
SchematicorLayout.Theoldand new Device mustbecompatible,which
meansthattheirusedGatesandconnectedpins/padsmustmatch,eitherby
theirnamesortheircoordinates.Otherwisethesubstitutionisnotpossible.
Layout without Schematic
Ifyouhavealayoutwithoutanassociatedschematicdiagram,youexchange
the Package with the aid of the REPLACE command. REPLACE opens the
windowthatisfamiliarfromtheADDdialog,inwhichitispossibletosearch
forDevices.WhenthePackagehasbeenchosenyouclickonthepartthatis
tobereplacedinthelayout.
TheREPLACEcommandoperatesintheLayoutEditorintwoways,chosen
withtheSETcommand:
SETREPLACE_SAMENAMES;(default)
SETREPLACE_SAMECOORDS;
ThefirstmodepermitsPackageswhosepadorSMDnamesareidenticaltobe
exchanged.Theconnectingareascanhaveanyposition.
In the second case (replace_same coords) the pads or SMDs in the new
Packagemustbelocatedatthesamecoordinates(relativetotheorigin).The
namesmaydiffer.
ThetextforthenameandvalueofaDeviceisonlyexchangediftheyhave
notbeenseparatedfromtheDevicewithSMASH.
The new Package can come from a different library, and can contain
additional pads and SMDs. Connections on the old Package that were
connectedtosignalsmustexistcorrespondinglyinthenewPackage.Thenew
Package can even have fewer connections, provided that this condition is
satisfied.

Changing the Technology


ItispossibletochangethetechnologyofaDeviceinthelayoutatanytime,
provided there are various technologies defined in the library. Use the
CHANGEcommandwiththe Technology optionorthe Technology command
ofthecontextmenu(availablebyclickingontothePackagewiththeright
mouse button).This procedure isidentical to theonedescribed before in
whichPackageformsareexchangedusingPACKAGE.

Define Forbidden Areas


Areasintheformofrectangles,polygonsorcirclesinlayers41,tRestrict,and
42, bRestrict,areforbiddenfortheAutorouter/Followmerouter.Nocopper
objectsmaybedrawninthetoporbottomlayersinsidetheseareas.These
160

6.4 Create Board


regionsaretestedbytheDesignRuleCheckandtakenintoconsiderationby
theAutorouter/Followmerouter.
Layer43, vRestrict,isfordrawing restrictedareaswheretheAutorouteror
the Followme router may not set vias. Manually placed vias in such a
vRestrictregionarenotexaminedbytheDRCandthereforenotreportedas
anerror.

Routing Placing Tracks Manually


TheROUTEcommandallowstheairwirestobeconvertedintotracks.Aclick
onthemiddlemousebuttonwhileatrackisbeinglaidallowsachangeof
layer. A via is placed automatically then. Clicking with the right mouse
buttonchangesthewayinwhichthetrackisattachedtothemouseandhow
it is laid (SET command, Wire_Bend parameter). Among them are modes
whichallowtouseawireas90degreeorasfreedefinablearc.
IfyourEAGLElicenseprovidestheAutorouterModule,twoadditionalwire
bends(Wire_Bend8and9)areavailablethatcausetheROUTEcommandto
workasFollowmerouter.TheFollowmeroutercanrouteaselectedairwire
automatically.Thepositionofthemousecursordeterminesthetraceofthe
connection. The settings of the Design Rules and the relevant Autorouter
settingsaretakenintoconsideration.
PleasechecktheAutorouterchapterformoreinformationaboutfunctionand
usageoftheFollowmerouter.
The signal'snameandnetclasswillbedisplayedinthestatusbar.Whena
signallinehasbeencompletelylaid,EAGLEconfirmsthatthereisacorrect
connectionwithashortbeepasitisplaced.
The signal name can be used in the command line directly, for example
ROUTE VCC.EAGLEstartsthewireatasignal'sconnectionpointwhichis
nearesttothecurrentmouseposition.
Ifyouwanttohavethewirestartedatavia,presstheCtrlkeyandclickonto
thevia.
Ifthereisnolongerenoughroomforroutingasignal,othertrackscanbe
relocatedwithMOVEandSPLIT,orthepropertiesoftracks(width,layer)
canbemodifiedwithCHANGE.
SPLITcanbeusedtoreroutealreadyexistingtracks,ifnecessary,arrange
segmentforsegmentofthewireanewandremovethepresenttrackwiththe
commandsCtrl+DELETEand/orRIPUP.
Ifaplatedthroughhole(avia)istobeplacedatacertainpoint,thiscanbe
donewiththeVIAcommand.UsetheNAMEcommandtoassigntheviawith
thesignalitshouldbeconnectedto.
Ifyouwanttobeginawireofapartiallyroutedsignalatanotherposition
thanthestartorendpointofanairwire(forexample,atafartherpositionon
awirethatbelongstothesamesignal),presstheCtrlkeyandandclickthe
left mouse button at the position where the wire should begin. EAGLE

161

6 From Schematic to Finished Board


generatesanewairwirefromthispositionthen(seealsohelpfunctionfor
ROUTE).
Airwireswithlengthof0(forexample,fromToptoBottomlayer)aredrawn
asacrossinlayer19,Unrouted.
Endingawireatthesamepositionwhereanotherwireofthesamesignalbut
inanotherlayeralreadyexistsandpressingthe Shift keyatthesametime
causesEAGLEtoplaceavia.Otherwiseitwon't.
IfyouintendtodesignamultilayerboardanduseBlindandBuriedorMicro
vias,pleasenotethedetails(alsofortheVIAcommand)inthesectionabout
MultilayerBoardsbeginningatpage172.
While laying out wires EAGLE calculates the shortest connection to the
closest point of the current signal automatically. This connection is
representedbyanairwire.
PadsandSMDsthatbelongtothecurrentlyroutedsignalhavethesocalled
magneticpadsfunction:
Withinacertainradiusaroundthepadthewirewillbesnappedtothepad's
centerautomatically.Thatistosayassoonasthelengthoftheautomatically
calculatedairwireisshorterthanthegivenvaluefor snaplength,thewire
jumpsintothepad'sorSMD'scenterpoint.Itdoesn'tmatterwhetherthepad
orSMDisexactlyloactedatthecurrentlyusedgrid.Thesnappointisalways
thecenterpoint.
Assoonasyoumovethemousecursorawayfromthispadbeyondthelimits,
theairwirewillbeshownandthewiretoberoutedfollowsthemouseagain.
ThesnaplengthcanbedefinedinthemenuOptions/Set/Misc.Defaultvalue
is20mil.
As the routing proceeds it is helpful to run the RATSNEST command
frequently,inordertorecalculatealltheairwires.
Formorecomplexboardsitmaybeusefultoadjustthe SnapLength inthe
Options/Set/Miscmenuasdescribedonpage111.
Use RIPUPifyouwanttoconvertthewholeorpartofatrackoraviathat
hasbeenlaidbacktoasignalline.Byclickingonatrackitis decomposed
between the nearest bends. If you click on this location again (on the
airwire),thewholesignalbranchbacktothenearestpadsisdecomposed.If
youwanttoundothewholeofthesignal,clickRIPUPandenterthenameof
thesignalonthecommandline.Morethanonemaybeenteredatthesame
time.
Thecommand
RIPUP GND VCC +5V
convertsthethreesignalsGND,VCCand+5Vbacktoairwires.
RIPUP ! GND VCC
ontheotherhandconvertsallsignalsapartfromGNDandVCCtoairwires.
RIPUP ;

162

6.4 Create Board


converts all signals (that are visible in the editor) into airwires. To truly
includeeverytrack,allthelayersinwhichtrackshavebeendrawnmustbe
visible(DISPLAY).
Ifyouwanttousewiresasarcsortrytosmooththewirebendsseethehints
concerning the MITER command in the help function. The miter radius
determines how the wire joints are mitered. A positive value generates a
rounding,anegativeoneastraightline.Themiterradiusinfluencessome
bendmodi(0,1,3,4;seeSETcommand)andisshownadditionallyinthe
parametertoolbarofthecommandsSPLIT,ROUTE,WIRE,andPOLYGON.
WhileWIREorROUTEisactiveitispossibletoclickthroughthepreviously
mentioned wirebends(bendmodes)withtherightmousebutton.EAGLE
knowstendifferentmodes(0..9)whichareshownasiconsintheparameter
toolbar.Mode8and9arespecialmodesfortheFollowmerouter.Theyare
notavailable,ifyourlicensedoesn'tsupporttheAutoroutermodule.
HoldingdowntheShiftkeywhileclickingtherightmousebuttonreversesthe
directionofselection.
Holding down the Ctrl key allows to toggle between complementary wire
bends.
If you want to have only some wire bends available for the right mouse
button,youcandefinethis,forexample,intheeagle.scrfile.
Supposedyouwanttoworkwithwirebendsnumber2,5,6,and7usethe
followingsyntax:
SET WIRE_BEND @ 2 5 6 7 ;
However,ifyouwanttouseanotherbendmodeyoucanalwayschoseitfrom
theparametertoolbar.
ItisalsopossibletoleavethetracklayingtotheAutorouterwhichhasits
ownchapterinthismanual.
LayingtrackswiththeFollowmerouterisexplainedinasubsectionof
theAutorouterchapter.

Defining a Copper Plane with POLYGON


EAGLEcanfillregionsofaboardwithcopper.Simplydrawthebordersofthe
areawiththePOLYGONcommand.Thepolygonisdisplayedasadottedline
in the outline mode. You give the polygon a signal name, using NAME
followedbyaclickontotheborderofthepolygon.Thenalltheobjectsthat
carrythissignalareconnectedtothepolygon.Bothpadsand,optionally,vias
(asspecified in theDesign Rules) arejoined tothecopperplane through
Thermalsymbols.Elementsnotcarryingthissignalarekeptataspecified
distance.
RATSNEST calculates and displays the surface area of allpolygonsin the
layout.IfyoucallRATSNESTwithasignalname,forexample
RATSNEST GND ;
163

6 From Schematic to Finished Board


onlytheGNDpolygon(s)willbecalculated.Allotherpolygonsinthelayout
willremainunchangedintheoutlinemode.
RIPUP,followedbyaclickonthepolygonborder,makesthecontentinvisible
again. Ifthereareseveralpolygonsinyourlayout,andyouwanttohave
themdisplayedintheoutlinemodeagain,typeinthecommandline:
RIPUP @ ;
Tohaveallpolygonsofaparticularsignalswitchedtooutlinemode,specify
thesignalname,like
RIPUP @ GND ;
MoreinformationaboutthesyntaxcanbefoundinthehelpaboutRIPUP.
Thecontentofthepolygonisnotsavedintheboardfile.Whenyoufirstload
the file, you will only see the dotted outline of the polygon. It is only
calculatedanddisplayedagainbyRATSNEST.
Various options can be changed via the parameter toolbar, either as the
polygonisbeingdrawnor,withCHANGE,atalaterstage.

POLYGONcommand:Parametertoolbar(splitintotwolines)
Width:
Linethicknesswithwhichthepolygonisdrawn.Selectthelargestpossible
width.Thatavoidsunnecessaryquantitiesofdatawhentheboardissent
for manufacture. If the wire width is lower than the resolution of the
outputdriverintheCAMProcessor,awarningisissued.
Afinerlinewidthpermitsthepolygontohaveamorecomplexshape.
Pour:
Specifiesthefillingtype:thewholearea(Solid)oragrid(Hatch).
ThespecialtypeCutoutcanbeusedtodefinepolygonsthatgetsubtracted
fromallothersignalpolygonswithinthesamelayer.Suitableforcutouts
(restrictedareas)inpolygonsininnersignallayers.
Rank:
Overlapping polygons must not create any shortcircuits. Rank can
thereforebeusedtodeterminewhichpolygonsaretobesubtractedfrom
others. Apolygonwith rank =1 hasthehighest priority intheLayout
Editor,nootherpolygondrawninthelayoutiseversubtractedfromit,
whileonewithrank=6hasthelowestpriority.Assoonasthereisan
overlap with a higher rank, the appropriate area is cut out from the
polygonwithrank=6.
PolygonswiththesamerankarecomparedbytheDRC.Therankproperty
worksonlyforpolygonswithdifferentsignals.Foroverlappingpolygons
withthesamesignalnameitiswithouteffect.Theywillbedrawnoneover
theother.
164

6.4 Create Board


Polygons that are created in the Package Editor and not assigned to a
signal, will be subtracted from all other polygons. There is no rank
parameteravailable.
Spacing:
IftheoptionHatchischosenforPour,thisvaluedeterminesthespacingof
thegridlines.
Isolate:
Definesthevaluethatthepolygonmustmaintainwithrespecttoallother
objectsnotpartofitssignal.Ifhighervaluesaredefinedforspecialobjects
intheDesignRulesornetclasses,thehighervaluesapply.
InthecaseofpolygonswithdifferentRanks, Isolate alwaysreferstothe
drawncontourwhichisshownintheoutlinemodeofthepolygon,evenif
thecalculatedpolygonhasgotanothercontour,forexample,duetoawire
thatsupersedesthepolygon.Theactualclearancecanbecomegreaterthan
thegivenIsolatevalue.
Thermals:
Determines whether pads in the polygon are connected via Thermal
symbols,orarecompletelyconnectedtothecopperplane.Thisalsoapplies
tovias,assumingthattheoptionhasbeenactivatedintheDesignRules.
The widthofthe thermalconnectorsiscalculatedasthehalfofthepad's
drilldiameter.Thewidthhastobeinthelimitsofaminimumofthewire
widthandamaximumoftwicethewirewidthofthepolygon.
Thelengthofthethermalconnectorsisdefinedbythe Thermalisolation
valueintheDesignRules'Supplytab.
Don't choose the polygon's width too fine, otherwise the thermal
connectorswon'thandlethecurrentload.
Thisisalsotrueforbottlenecksintheboard!Thepolygon'swirewidth
determinesthesmallestpossiblewidthofthecopperarea.
Orphans:
Determines if a polygon may contain areas (islands) which are not
electricallyconnectedtothepolygon'ssignal.
IfOrphansissetOffsuchunconnectedareaswon'tbedrawn.
Whendrawingapolygon,pleasetakecaretoensurethattheoutlineis
notdrawnmorethanonce(overlapping)anywhere,andthatthepolygon
outlinedoesnotcrossoveritself.ItisnotpossibleforEAGLEtocompute
thecontentsoftheareainthiscase.
Anerror message 'Signalname' contains an invalid polygon! is issued,
andtheRATSNESTcommandisaborted.
165

6 From Schematic to Finished Board


Ifthismessageappears,theoutlineofthepolygonmustbecorrected.
Otherwise,manufacturingdatacannotbecreatedbytheCAMProcessor.
TheCAMProcessorautomatically computesthepolygonsinthelayout
beforegeneratingitsoutput.
If the polygon stays in the outline mode after calculating it with
RATSNEST, you should check the parameters for width, isolate, and
orphans andthepolygon's name. Probably thepolygon's filling is not
abletoreachoneoftheobjectsthatshouldbeconnectedwithitssignal.
RenamingapolygonwiththeNAMEcommand,connectsitwithanother
signal!

6.5 DRC Checking the Layout and


Correcting Errors
TheDesignRuleCheck(DRC)iscarriedoutattheendoftheboarddesign,if
notbefore.IfyouhavenotyetspecifiedanyDesignRulesforthelayout,this
isyourlastopportunity.SeethesectiononSpecifyingtheDesignRules from
page 144.Tostart theDesign RuleCheckclick ontotheDRCiconin the
commandtoolbar

ortheentryDRC...inthemenuTools.

UsuallyonesetsthecommonDesignRuleswiththe Edit/DesignRules..
menufirstandstartstheDesignRuleCheckwhenrequiredwiththeDRC
command.ButitisalsopossibletoadjusttheDesignRulesifyouusethe
DRCcommand.Somesettings,likethoseforRestring,affectthelayout
directly.

166

6.5 DRC Checking the Layout and Correcting Errors

StartingtheDesignRuleCheck
Whenyouhavefinishedtheadjustments,starttheerror checkbyclicking
Check.AtthesametimetheDesignRulesarestoredintheboardfileitself.
ByclickingSelectyouspecifytheregionofthelayoutthatistobeexamined.
Simplydragarectangleoverthedesiredregionwiththemouse.Theerror
checkwillthenstarautomatically.
ClickingonApplytransfersthesettingstotheboardfile.Thismeansthatthe
valuesthathavesofarbeenchosenarenotlostifyoudonotimmediately
starttheerrorcheckandifyouwanttoleavetheDRCdialogviatheCancel
button.
All signal layers are always examined by the Design Rule Check, no
matterifvisibleornot(DISPLAYcommand).

The DRC Errors Window


IftheDesignRuleCheckfindserrors,anerrorwindowopensautomatically.
Itlistsalltheerrorsfound.Thewindowcanbeopenedatanytimebymeans
oftheERRORScommand.

167

6 From Schematic to Finished Board

DRCErrorslistintheLayoutEditor
Eacherrorismarkedwithanerrorpolygon.Itssizetellsyou,forexamplein
thecaseofaclearanceerror,abouthowmuchthelimitisexceeded.The
errorpolygonsarevisibleintheLayoutEditor,only.Theywon'tbeprinted
norexportedwiththeCAMProcessor.It'snotpossibletoerasethemwiththe
DELETEcommand.ClicktheClearall buttontodeletethem.Ortypeinthe
commandline:
ERRORS CLEAR
Errorsaremarkedwitharediconintheerrorswindow.Ifanerrorinthelist
isselected,alinepointstothecorrespondinglocationintheboard.
Itispossibletohavetheerrorlistsorted,ascendingordescending,byerror
types or layer numbers. therefore click onto the column headers Type or
Layer.
Theerrorsdialogshowsonlyerrorsthatoccurinthecurrentlydisplayed
layers.
Incaseyouzoomedintothedrawingandthereisonlyapartialviewofthe
board, you can click the option Centered. The currently selected error is
showninthemiddleofthedrawingwindownow.Ifyouprefertohavethe
Centeredoptiondeactivatedforbrowsingtheerrorlist,youarenevertheless
168

6.5 DRC Checking the Layout and Correcting Errors


abletocenteranerrorinthemiddleofthedrawingareabypressingthe
Enterkey.
Whilecorrectingtheerrorontheboard,theDRCErrorswindowmayremain
opened.AftercorrectingoneerroryoucanmarkitasProcessedintheerror
listbyclickingontotheProcessedbutton.Therederroriconturnsgraynow.
Insomesituationsitmaybethecasethatyouwanttotolerateanerror.Use
theApprovebuttonforthis.TheerrorentrywillberemovedfromtheErrors
branchandappearintheApprovedbranchandtheerrorpolygonisnolonger
shownintheLayoutEditor.
Ifyouwanttotreatanalreadyapprovederrorasaquitenormalerror,select
itintheApprovedbranch,andclickontotheDisapprovebutton.Nowitisa
memberoftheErrorsbranchagain.
ClickingtheClearallbuttondoesnotdeleteapprovederrors.Theyremainin
theApprovedbranch.
Movinganentry fromonebranchinto theother, markstheboardfile as
changedandnotsaved.
Insomecasesitmightbeusefultoapproveallerrorsthatareshown.Todo
so,selectthesuperiorErrorsentryintheerrorslist.NowtheApprovebutton
willbenamedApproveall.Clickitinordertohaveallerrorsmovedintothe
Approved list.Thisisalsofeasibletheotherwayroundfordisapprovingall
errors.

Error Messages and their Meaning


Angle:
Tracksarenotlaidinanangleof0,45,90or135.Thischeckcanbe
switchedonoroffintheDesignRules(Misctab).
Default:off.
BlindViaRatio:
Thelimitoftheratioofvialength(depth)todrilldiameterisexceeded.In
thiscaseyouhavetoadjustthevia'sdrilldiameter(DesignRules,Sizestab)
orthelayerthicknessofyourboard(DesignRules,Layerstab).
Clearance:
Clearance violation between copper objects. The settings of the Design
Rules' Clearance tabandthevaluefor Clearance ofagivennetclassare
takenintoconsideration.Ofthesetwovaluesthehigheroneistakenfor
checking.
Inadditionthe Isolate valuewillbetakenintoconsiderationforpolygons
withthesamerankandpolygonswhicharedefinedasapartofaPackage.
Todeactivatetheclearancecheckbetweenobjectsthatbelongtothesame
signal,usethevalue0forSamesignalsintheClearancetab.
Micro Vias are treated like wires. The clearance value for wire to wire
appliesinthiscase.
Dimension:
169

6 From Schematic to Finished Board


DistanceviolationbetweenSMDs,pads,andconnectedcopperobjectsand
adimensionline(drawninLayer20,Dimension),liketheboard'soutlines.
Defined through the value for Copper/Dimension in the Design Rules'
Distancetab.
SettingthevalueCopper/Dimensionto0deactivatesthischeck.
Inthiscasepolygonsdonotkeepaminimumdistancetoobjectsinlayer
20,Dimension,andholes!
TheDRCwillnotcheckifholesareplacedontracksthen!
DrillDistance:
Distanceviolationbetweenholes.Definedbythevalue Drill/Hole inthe
DesignRules(Distancetab).
DrillSize:
Drilldiameterviolationinpads,vias,andholes.Thisvalueisdefinedinthe
DesignRules'Sizestab,MinimumDrill.
Itisalsopossibletodefineaspecialdrilldiameterforviasinagivennet
class(CLASScommand,Drills).Inthiscasethehigheroneisusedforthe
check.
InvalidPolygon:
Reasonisanotproperlydrawnpolygoncontour.Assoonasthecontour
lines are overlapping or even crossing, the polygon can't be calculated
correctly. Change the polygon's contour in the Layout Editor or in the
Library,ifitispartofaPackage.
TheRATSNESTcommandshowsthiserrormessage,aswell.
Keepout:
Restricted areas for components drawn in layer 39, tKeepout, or 40,
bKeepout,lieoneuponanother.Thischeckisexecutedonlyiflayers39and
40 are displayed and if the keepout areas are already defined in the
PackageEditorofthelibrary.
LayerAbuse:
Layer17, Pads,or18, Vias,containobjectswhicharenotautomatically
generated by EAGLE. Probably you drew something manually in these
layers, although they are reserved for pads and vias. Better move such
objectsintoanotherlayer.
LayerSetup:
Thiserrorisshownifanobjectinalayerisfoundthatisnotdefinedbythe
Layersetup.ThesameforviasthatdonotfollowthesettingsoftheLayer
setup,forexample,ifaviahasanillegallength(Blind/Buriedvias).
MicroViaSize:
ThedrilldiameterofthemicroviaissmallerthanthevaluegivenforMin.
MicroViaintheSizestab.
NoVectorFont:
170

6.5 DRC Checking the Layout and Correcting Errors


Thefont check(DesignRules, Misc tab)recognizestextinasignallayer
whichisnotwritteninEAGLE'sinternalvectorfont.
If you want to generate manufacturing data with the help of the CAM
Processor the texts, atleast in the signallayers, oughtto bewritten in
vector font. This is the only font the CAM Processor can work with.
Otherwisetheboardwillnotlookthesameasitisshown.Changethefont
withthehelpofthecommandCHANGEFONTorusethe option Always
vectorfontintheLayoutEditor'sOptions/UserInterfacemenu:
Ifactivated,theLayoutEditorshowsalltextsinvectorfont.Thisistheway
themanufacturedboardwilllooklike.
ActivatingthesuboptionPersistentinthisdrawingsavesthesettinginthe
drawingfile.Ifyousendthelayoutfile,forexample,totheboardhouse
youcanbesurethatthevectorfontwillbedisplayedalsoathissystem.
Norealvectorfont:
Thefontcheck(DesignRules, Misc tab)recognizestextinasignallayer
whichisnotwritteninEAGLE'sinternalvectorfontalthoughitisdisplayed
as vector font in the Layout Editor window. This situation arises if the
optionAlwaysvectorfontinthemenuOptions/UserInterfaceisactive.
SeeerrormessageNovectorfontforfurtherdetails.
OffGrid:
Theobjectdoesnotfitontothecurrentlychosengrid.
ThischeckcanbeswitchedonoroffintheDesignRules' Misc tab.The
defaultsettingisoff,becauseassoonastroughholeandsurfacemount
partsareusedtogetherit'snoteasilypossibletofindareasonablecommon
grid.Thecheckissetoffbydefault.
Overlap:
DRC reports this error as soon as two copper elements with different
signalstoucheachother.
Restrict:
Awiredrawninlayer1,Top,or16,Bottom,oravialiesinarestrictedarea
whichisdefinedinlayer41or42,t/bRestrict.
IfrestrictedareasandcopperobjectsaredefinedinacommonPackage,the
DRCdoesnotcheckthem!
StopMask:
Iftherearesilkscreenobjectsdrawninlayers21,25,27forcomponentson
theToplayer, and22,26,and28forcomponentsontheBottomlayer
overlappingtheareaofasolderstopsymbolgeneratedinlayer29and30,
theDRCreportsaStopmaskerror.
Youhavetodisplaythecorrespondinglayerstoactivatethischeck!
Pleasekeepinmindthatthischeckalwaystakesthevectorfontasbasisfor
the calculation of the required space. This is the font type the CAM
Processorusesformanufacturingdatageneration.

171

6 From Schematic to Finished Board


Width:
Minimumwidthviolationofacopperobject.DefinedbyMinimumWidthin
theDesignRules(Sizestab)or,ifdefined,bythetrackparameterWidthof
areferringnetclass.Thehigheroneofthegivenvalueswillbetakenfor
thischeck.
Alsothelinewidthofvectorfonttextsinsignallayerswillbechecked.
WireStyle:
The DRC treats a line (wire) whose Style is LongDash, ShortDash or
DashDotinthesamewayasacontinuousline.Ifawiredrawnwithoneof
thesestylesislaidasasignal,theDRCreportsaWireStyleerror.
Forfurtherinvestigations,net,partandpinlistscanbeoutputbymeans
oftheEXPORTcommandorbyvariousUserLanguageprograms.

6.6 Multilayer Boards


Youcandevelop multilayer boardswithEAGLE.Todothis,youuseoneor
moreinnerlayers(Route2toRoute15)aswellasthelayersTopandBottom
forthetopandundersides.Youdisplaytheselayerswhenrouting.
Beforestartingtheroutingofthelayoutyoushouldbeawareofthenumber
ofsignallayerstouse,ifviasshouldgothroughalllayers,orifyouhave,due
tothecomplexityofthelayout,toworkwithBlind,BuriedorMicrovias.In
thiscaseyoureallyoughttocontactyourboardmanufacturertoinformyou
aboutthepossiblestructureoftheboardandthecoststobeexpected.

Inner Layer
InnerlayersareusedthesamewayastheouterlayersTopandBottom.They
canbefilledwithcopperareas(polygons)aswell.
BeforeusinginnerlayersyoumustdefinethemintheDesignRules,Layers
Tab.Moredetailscanbefoundinthefollowingsectionsandonpage145.

Supply Layers with Polygons and More than One Signal


Areasoftheboardcanbefilledwithaparticularsignal(e.g.ground)using
the POLYGON command. The associated pads are then automatically
connectedusingThermalsymbols.TheisolatevaluefortheThermalsymbols
isspecifiedintheDesignRules(DRCcommand,Supplytab).Thewidthofthe
connectingbridgedependsonthelinethicknesswithwhichthepolygonis
drawn(seepage 165).Youcanalsospecifywhetherornotviasaretobe
connectedthroughThermals.Theminimumclearancesfromobjectscarrying
other signals specified in theDesign Rules are maintained (Clearance and
Distance tabs).Changesareshowninthelayoutwhenthepolygonisnext
computed(RATSNESTcommand).

172

6.6 Multilayer Boards


Thiswayyoucancreatelayersinwhichseveralareasarefilledwithdifferent
signals.Youcanassigndifferentranks(priorities)forthepolygons.Therank
propertydetermineswhichpolygonissubtractedfromothersiftheyoverlap.
Rank = 1 signifies the highest priority in the layout: nothing will be
subtracted from such a polygon. Rank = 6 signifies the lowest priority.
PolygonswiththesamerankarecomparedbytheDRC.
PleasereadthenotesregardingpolygonsinthesectiononDefiningaCopper
Planeonpage163.
Donotchoosethewirewidthforpolygonstoofine!Thiscanleadtohuge
amountsofplotdataandproblemsforthemanufacturingprocess.

Resticted Areas For Polygons


Forcreatingnoncopperareasforpolygonsininnerlayers,youcanuseaso
called cutout polygon. Such a polygon, with the special fill style cutout,
defines anarea which is subtracted from all other signalpolygons in this
layer.Acutoutpolygonmaybedrawwithanywirewidth,even0.Compared
tosignalpolygonsacutoutpolygondoesnotcausehugedatawhencreating
manufacturingdata.
Signalpolygonsrespectthewirewidthofthecutoutpolygon.Thedottedline
ofthecontourisalwaysvisible,howeverdoesnotoccurinthemanufacturing
data.

Multilayer Boards with Through Vias


Thistypeshouldbepreferredifpossible.Viasgothroughallsignallayersand
willbedrilledattheendoftheproductionprocess.Theproductioncostsare
relativelymoderate.

Layer Setup
Thesettingsconcerninglayercompositionandnumberofsignallayersare
madeintheDesignRules,Layerstab,Setup.Seepage145.
Forthroughviasthesetupisverysimple.Noconsiderationsaboutthickness
ofcopperandisolationlayersarenecessary.
Simplyjointwolayersbyanasterisk(like 1*2 or15*16)toonecoreand
combine several cores. This is symbolized by a plus character (like in
1*2+15*16).Theisolationlayerbetweentwocopperlayersiscalledprepreg.
Toexpressthepossibilitytohaveviasthroughalllayersthewholeexpression
issetintoparenthesis.
Examples:
4layers:

(1*2+15*16)

6layers:

(1*2+3*14+15*16)

8layers:

(1*2+3*4+13*14+15*16)

173

6 From Schematic to Finished Board


Hereviasalwayshavethelength116.Theyarereachablefromalllayers
(seealsothehelpfunctionforVIA).

Multilayer with Blind and Buried Vias


In high density boardsitis often necessary to use Blind and Buried vias.
Thesekindsofviasdon'tconnectalllayers,butareonlyreachablefroma
certainnumberoflayers.Howtheselayersareconnecteddependsonthe
manufacturingprocessoftheboardwhichhastobedeterminedintheLayer
setupintheDesignRules.
Pleasecontactyourboardhousebeforestartingyourwork!Checkwhich
Layer Setupissuitablefor yourpurpose andwhatthemanufacturing
costsare.

Disambiguation
Core:
Thenonflexiblekernelwhichiscoatedwithcopperononeoronbothsides.
Isrepresentedbya*intheLayerSetup.Forexample5*12:Layer5and12
aretheboard'score.
Prepreg:
Flexibleglueingorisolatinglayerwhichisusedinthemanufacturingprocess
ofamultilayerboardtopressinnerandouterlayersontoeachother.
Is represented by a + in the Layer Setup. 1+2 tells us that layer 1 is a
prepregandcombinedwithlayer2.
LayerStack:
Apackofanynumberoflayersconsistingofcoresandprepregswhichare
handledtogetherinthecurrentstepofproduction.
BuriedVia:
Theproductionprocessofthisviadoesnotdifferfromathrough(normal)
via. The current layer stack will be drilled through completely. In the
followingproductionstepsthealreadydrilledviascanbecovered(buried)by
pressingfurthercoresandprepregsonthecurrentlayerstack.Iftheviaisnot
visibleonthecompletedboardwecallitaburiedvia.
Thisisrepresentedbyparenthesis,forexamplein1+(2*15)+16wherethe
BuriedViagoesfromlayer2to15.
BlindVia:
A Blind via connects an outer layer with any inner layer but doesn't go
throughallcopperlayers.ThespecialityofaBlindvialiesintheproduction
process.Thecurrentlayerstackisnotdrilledallthrough.Thedrillholehasa
certaindepthdependingonthenumberoflayersthatshouldbeallowedto
beconnectedwitheachother.Blindviashavetofollowagivenratioofdepth
todrilldiameter.Pleasecontactyourboardhousetogetinformationabout
this.ThisratiohastobedefinedintheSizestabasMin.BlindViaRatio.
Thisisrepresentedbybracketsandthetargetlayermarkedbyacolonbefore
174

6.6 Multilayer Boards


orafterthebracket.Theexample[3:1+2+3*14+15+16]allowsBlindvias
fromlayer1to3.
Blindviasmaybeshorterthandefined.Inthisexampleyouareallowedto
useviasfromlayer1to2.TheAutorouterisalsoallowedtouseshorterBlind
vias.
MicroVia:
ThemicroviaisaspecialcaseofaBlindvia.Ithasamaximumdepthofone
layerandaverysmalldrilldiameter.Seepage181.

Displaying Vias
Itmakessensetosetthelayercoloroflayer18,Vias,tothebackgroundcolor
(DISPLAY menu, Change, Color) if you are working with vias that have
different lengths and shapes. In doing so it is possible to recognize layer
affiliation.

Layer Setup
Combiningcoresandprepregsallowsmanyvariants.Inthefollowingsection
someexamplesshowthefunctionoftheLayersetup.
Pleasereadthisparagraphentirely.Evenifyouintendtodesignafourlayer
board,forexample,itismostadvisabletoreadalsoalltheotherexamplesfor
abetterunderstanding.
4-Layer Board
Example1:
Layers1,2,15and16areused.
Boardstructure:Onecoreinside,outsideprepregs.
Connections:12(blindvias),215(buriedvias)and116(throughvias)
Thesetupexpressionlookslikethis:
[2:(1+(2*15)+16)]
Explanation:
2*15
Layers2and3formthecore.
(2*15)
Parenthesisallowburiedviasfrom2to15.
(1+(2*15)+16)
Onbothsidesofthecorecopperlayersarepressedon
withprepregs.
Theouterparenthesisdefinecontinuousviasfrom116.
[2:(1+(2*15)+16)]
Insquarebracketsandseparatedbyacolonblindviasaredefined.
Herefromlayer1to2.
ThefollowingimageshowstherelatedsetupexpressionintheLayerstabof
theDesignRules.
175

6 From Schematic to Finished Board

Example1:LayerSetupfora4layerBoard
Blindviashavetokeepacertainratioofviadepthtodrilldiameter.Forthis
reasonitisnecessarytospecifyvaluesforthelayerthickness.
Thesevaluesaregivenbyyourboardhouse!Youaresupposedtocontactitin
eithercasebeforestartingthelayout!
Typeinthevaluesinthe Copper (thicknessofcopperlayer)and Isolation
(thicknessofisolationlayer)fieldsasshownintheimage.Thetotalthickness
oftheboardisshownbelowtheCopperandIsolationfields.
Example2:
Layers1,2,15,and16areused.
Boardstructure:Onecoreinside,outsideprepregs.
Connections:12,1516(blindvias),116(throughvias)
Setupexpression:
[2:(1+2*15+16):15]
Explanation:
2*15
Layers2and3formthecore.
1+2*15+16
Onbothsidesofthecorecopperlayersarepressedon
withprepregs.
(1+2*15+16)
Theouterparenthesisdefinethroughviasfrom116.

176

6.6 Multilayer Boards


[2:(1+2*15+16):15]
Insquarebracketsandseparatedbyacolonblindviasaredefined.
Herefromlayer1to2and16to15.

Example2:LayerSetupfora4layerBoard
6-Layer Board
Example3:
Layers1,2,3,14,15,and16areused.
Boardstructure:Twocores,prepregsoutside.
Connections:23,1415(buriedvias),116(throughvias)
Setupexpression:
(1+(2*3)+(14*15)+16)
Explanation:
(2*3)+(14*15)
Twocoreswithburiedviasarepressedtogether.
1+(2*3)+(14*15)+16
Thislayerstackiscoveredwithouterlayers1and16whichare
isolatedwithprepregs.
(1+(2*3)+(14*15)+16)
Thewholeexpressioninparenthesisdefinesthroughviasfrom116.

177

6 From Schematic to Finished Board

Example3:LayerSetupfora6layerBoard
Thevaluesforlayerthicknessforcopperandisolationusedintheseexamples
arefictive.Pleasecontactyourboardhousetogettheallowedvalues.
Example4:
Layers1,2,3,14,15,and16areused.
Boardstructure:Onecore,oneachsidetwoprepregs.
Connections:314(buriedvias),214(blindviasininnerlayerstack),
116(throughvias)
Setupexpression:
(1+[14:2+(3*14)+15]+16)
Explanation:
2+(3*14)+15
Thecorewithburiedvias.Oneprepregoneachside.
[14:2+(3*14)+15]
Blindviasfromlayer2to4.
1+[14:2+(3*14)+15]+16
Onthislayerstackaprepregoneachsideispressedon.
(1+[14:2+(3*14)+15]+16)
Parenthesisallowthroughviasfrom1to16.

178

6.6 Multilayer Boards

Example4:BlindViasintheinnerlayerstack
8-Layer Board
Example5:
Layers1,2,3,4,13,14,15,and16areused.
Boardstructure:Threecores,prepregsoutside.
Connections:13,1416(blindvias),23,413,1415(buriedvias),
116(throughvias).
Setupexpression:
[3:(1+(2*3)+(4*13)+(14*15)+16):14]
Explanation:
(2*3)+(4*13)+(14*15)
Threecores,eachwithburiedvias,arepressedtogetherand
isolatedwithprepregs.
1+(2*3)+(4*13)+(14*15)+16
Outercopperlayers1and16whichareisolatedthroughprepregs
arepressedontothislayerstack.
(1+(2*3)+(4*13)+(14*15)+16)
Parenthesisallowthroughviasfrom116.
[3:(1+(2*3)+(4*13)+(14*15)+16):14]
Blindviasfrom13and1614.

179

6 From Schematic to Finished Board

Example5:LayerSetupforan8layerboard

Hints For Working With Blind, Buried, and Micro Vias


VIA command
DependingontheLayersetupviascanhavedifferentlengths.Theparameter
toolbaroftheVIAcommand showsallavailable lengthsinthe Layer box.
When routing manually (ROUTE command) EAGLE takes the shortest
possiblevialengthinordertochangelayers.Itisalsopossiblethatviasatthe
samepositionareelongated.
ThevialengthcanbechangedwiththeCHANGEVIAcommand.Selectthe
valuefromtheaccordingmenuandclicktheviawiththeleftmousebutton.
Alternativelyusethecommandline:
CHANGE VIA 2-15
andaclickontotheviachangesthelengthfromlayer2to15.
IfthegivenvialengthisnotdefinedintheLayersetupitwillbeelongatedto
thenextpossiblelengthor,ifthisisnotpossible,anerrormessagewillbe
generated.
VIA 'GND' 1-4 (1.05 2)
placesaviathatbelongstothesignalGNDandreachesfromlayer1to4at
position(1.052).

180

6.6 Multilayer Boards


ROUTE Command
Ifyouwanttochangethelayerwhilelayingouttheboard,EAGLEalways
takestheshortestpossiblevia(CHANGELAYERcommand;alsoinFollowme
mode). It is also possible that a via at the same position is elongated
automatically.
IfMicroviasareenabledintheDesignRulesbysettingaminimumvalue
forthedrilldiameter(Sizestab,Min.MicroVia)anddefiningaproper
Layer setup, EAGLE sets a Micro via when routing from a SMD and
immediatelychangingtothenextinnerlayer.
InFollowmemode,however,EAGLEcan'tplaceMicrovias.TheFollow
merouterispoweredbytheAutorouterengineandthereforeithasto
followitspropertiesandrestrictions.

Micro Via A Special Case of Blind Via


IncontrasttoBlindviasthatcanreachseverallayersdeepintotheboardthe
Micro via connects an outer layer with the next inner layer. The drill
diameter of a micro via is relatively small. Presently the usual values are
about0.1to0.05mm.
FormanufacturingreasonsMicrovias,asBlindvias,havetofollowacertain
Aspectratio ofdepthtodrilldiameter.Thisratiodefinesthemaximumvia
depthforacertaindrilldiameter.
Thepropervaluecanbelearnedfromyourboardhouse.
SetthisvalueintheDesignRules,Sizestab,Min.BlindViaRatio.
Assumedtheboardhousedemandstheratioas1:0.5youhavetoenter0.5
forMin.BlindViaRatio.
AdditionallytheDesignRuleCheckverifiestheminimumdrilldiameterfor
Microviasgivenin Min.MicroVia.Ifthisvalueishigherthanthevaluefor
MinimumDrill(default),microviaswon'tbechecked.
ThediameterofmicroviasissetintheRestringtaboftheDesignRules.
Ifyouchangethelayerfromanoutertothenextinneronewhileyouare
routing a track out of a SMD, EAGLE automatically places a Micro via,
providedtheDesignRulesallowit.
TheAutoroutercan'tsetMicrovias!

181

6 From Schematic to Finished Board

6.7 Editing and Updating Components


Open Device/Symbol/Package
DependingontheEditorwindowyouarecurrentlyworkingwitthecontext
menuofacomponentofferstheentriesOpenDevice/Symbol/Package.Ifyou
select one of them, EAGLE tries to open the referring library file in the
correspondingeditingmode.Nowyoucaneasilycheckalltheobjectsthe
Device/Symbol/Package consists of. And it is even possible to modify the
librarydefinition.
Inordertoupdateyourprojectwiththemodifiedlibrarydefinitionyouhave
to start a library update (menu Library/Update...)in schematic/board (see
nextsection)
Please be aware that changes in the libraries can affect a number of
differentdevicesinthelibraryfileandthereforeyourfutureprojects,as
well.Pleaseactaccordinglycarefully!
IncaseEAGLEdoesn'tfindtheoriginallibraryfile,EAGLEpromptsawarning
andcancelsthisaction.
Inthiscasethereisapossibilityofextractingthelibrarydefinitionsusedin
your current project. File/Export/Libraries... starts the User Language
Programexplbrs.ulpthatcreateslibraryfilesaccordingly.

Updating Project (Library Update)


The UPDATE command allows components in a schematic diagram or a
layouttobereplacedbycomponentsdefinedinaccordancewiththecurrent
libraries.Thisfunctionisofparticularinterestforexistingprojects.If,inthe
courseofdevelopment,thedefinitionsofPackages,SymbolsorDevicesinthe
librariesarechanged,theexistingprojectcanbeadaptedtothem.
Themenuitem Library/Updatecausesallthecomponentsinaprojecttobe
compared with the definitions in the current libraries. If EAGLE finds
differences,thecomponentsareexchanged.
ThoselibrariesonthepathspecifiedforLibrariesintheControlPanelunder
Options/Directorieswillbeexamined.
Itisalsopossibletoupdatecomponentsfromoneparticularlibrary.Typethe
UPDATEcommandonthecommandline,statingthelibrary,forinstanceas:
UPDATE linear
or
UPDATE /home/mydir/eagle/library/linear.lbr
orselectthelibraryintheFiledialogoftheLibrary/Update...menuitem.
In the case you want to replace parts from one library with parts from
anotherlibraryyoucanusethecommand:
182

6.7 Editing and Updating Components


UPDATE old-lbr-name = new-lbr.name
Oldlbrname represents the name of the library as shown by the INFO
command in the layout or schematic. Newlbrname stands for the library
fromwhichyouwanttotakeelements.Youmayaddpathsaswell.
Pleaseseethehelpfunctionformoreinformation.
In many cases you will be asked whether Gates, pins or pads should be
replacedaccordingtonameoraccordingtoposition.Thisalwayshappensif
libraryobjectsarerenamed,oriftheirposition(sequence)ischanged.
Iftoomanychangesaremadeinthelibraryatonetime(e.g.pinnamesand
pin positions are changed) it is not possible to carry out an automatic
adaptation.Insuchacaseitispossibleeithertocarryoutthemodifications
to the library in two steps (e.g. first the pin names and then the pin
positions),orthelibraryelementcanbegivenanewname,sothatitisnot
exchanged.
ChangingaDevice'sprefixinthelibrarydoesnotupdatethepartnames
ofalreadyplacedelementsinyourdrawing.
IfForward&BackAnnotationisactive,thecomponentsarereplacedinthe
schematicdiagramandinthelayoutatthesametime.
Youwillfindfurtherinformationontheprogram'shelppages.
Afteranylibraryupdate,pleasecarryoutbothanERContheschematic
andaDRConthelayout!
Individualcomponentscan,forinstance,beupdatedwiththeaidoftheADD
command.IfyouuseADDtofetchamodifiedcomponentfromalibrary,you
willbeaskedwhetheralltheolderdefinitionsofthistypeshouldbeupdated.
Aftertheupdateyoucandeletethecomponentthatyoujustfetched.Again
hereitiswisetocarryoutanERCandaDRCaftertheupdate!

6.8 Differential Pairs And Meanders


Routing Differential Pairs
A Differential Pair consists of two signals that have the same name, but
differentnameextensions.Oneofthesignalsmusthavetheextension _P,
theotherone_N,asforexampleinCLOCK_PandCLOCK_N.Thetwosignals
mustbelongtothesamenetclass.
Thefollowingparticularitiesapply:
As soon as you select an airwire of a Differential Pair with the ROUTE
command,bothsignalsareroutedinparallel.Thedistancebetweenthetwo
signalsandthewireandviasizesarealwaysdeterminedbythesignals'net
class.
183

6 From Schematic to Finished Board


TheoptionAutosetroutewidthanddrillinthemenuOptions/Set/Miscdoes
notaffectdifferentialpairs.
Ifyoudon'twanttoroutebothsignalsforthewholedistance,youcandrop
thesecondairwirewiththeEscapekey.

DifferentialPairfollowsthemousecursor
The first mouse click with the active ROUTE command onto one of the
airwiresofthedifferentialpairdecidesaboutthestartingpointoftheparallel
routing. Usually the pads or SMDs the airwires start from don't have the
necessary distance for parallel routing, so EAGLE draws traces from the
startingpointstothecurrentmousecursorposition,accordingtothecurrent
wirebendstyle.Notethattheremaybecaseswherethesewiresoverlap,so
pleasemakesureyouchooseaproperpointfromwheretostarttheactual
parallelrouting.ItcanbewisetorunaDesignRuleCheckinthisarea.
Thedistancebetweenthetargetpads/SMDswillalsobeprobablymorethan
theDifferentialPairisroutedwith,soyoushouldstarttheroutingfromthis
sideaswellanddefinetheendingpointoftheparallelrouting,asyoudid
beforeatthestartingpoint.Ifyouroutetowardsthewireendpointsofa
Differential Pair in a different layer, and the wires are fully aligned, the
properviaswillbegeneratedautomatically.
Differential Pairs can only be routed manually. TheFollowme router
andtheAutoroutertreatthemlikeregularsignals.
ThespecialfunctionsShift+leftclickthatplacesaviaattheendpointand
Ctrl + left click for defining an arc radius don't work in Differential Pair
mode.Whenyoustartroutingatanypointofasignal(withCtrl+leftclick)
youwillroutetheselectedsignalonly,andnottheDifferentialPairthesignal
mightbepartof.
184

6.8 Differential Pairs And Meanders


CoordinatesgiveninthecommandlinewhileroutingaDifferentialPairform
acenterlinealongwhichtheactualsignalwiresareplacedleftandright
withtheproperdistance.

Meanders
Length Balance for a Differential Pair
In most cases the traces of a differential pair will have different lengths
althoughyoutriedtoroutetheminparallel.TheMEANDERcommandcanbe
usedtobalancethelengthsofsignalsformingadifferentialpair.Todothis,
activate the MEANDER command, click onto one of the differential pair
wires, and move the mouse cursor away from the selection point. The
distance from the initial selection point and the deflection of the mouse
determinesthewidthandtheheightofthemeander.Ifthereisadifference
inthelengthofthetwosignals,andthecurrentmousepositionisfarenough
awayfromtheselectionpoint,ameandershapedsequenceofwireswillbe
drawn.Themeanderincreasesthelengthoftheshortersignalsegment.
Anindicatorattachedtothemousecursorshowsthetargetlengthwhichis
thelengthofthelongersignalsegment,aswellasthedeviationinpercentof
bothsignalsfromthetargetlength.
Ifasinglemeanderisn'tenoughtobalancethelengths,youcanaddfurther
meandersatdifferentlocations.

Specifying a Certain Length


IncaseyouwanttospecifyacertainlengthfortheDifferentialPairsignals,
youcantypeinthevalue,forexample9.5in,inthecommandlinedirectly.
Typeinthevalue,pressthe Enter keyandclickontoonoftheDifferential
Pairwires.Again,thepositionofthemousedeterminesthewaythemeander
lookslike.
Whenmeanderingadifferentialpairwithagiventargetlength,themeander
first tries to balance the length of the two signal segments that form the
differentialpair,andthenincreasesthetotallengthofbothsegments.
ToresetthetargetlengthyoucaneitherrestarttheMEANDERcommandor
enteravalueof0inthecommandline.
It's possible to do this for a segment of any signal, not only for
DifferentialPairs.

Symmetric and Asymmetric Meanders


Bydefaultameanderisgeneratedsymmetrical,whichmeansitextendsto
both sides along the selected wire. If this is not what you need (either
becausethereisonlyspaceononeside,orbecausethelongeroneofthe
wires of a differential pair shall not be elongated you can switch to
asymmetric mode by clicking the right mouse button. The actual mouse
185

6 From Schematic to Finished Board


positionwilldecidewhichsideofthewirethemeanderextendsto.Movethe
mousearoundtofindtheproperposition.
ThevalueforGapfactorformeandersindifferentialpairswhichcanbesetin
theDesignRules'Misctab,determinesthesizeofthegapbetweenmeander's
loops. Increasing the value results in bigger gaps between the loops. The
factormayhavevaluesfrom1upto20.Default:2.5

Length Tolerance Display


Thevaluedefined inDesignRules, Misc tabfor Max.length differencein
differential pairs is used to select the color when displaying the length
deviationswhiledrawingameander.Ifthepercentageisshowningreen,the
respectivesegmentlieswithinthegiventolerance.Otherwisethepercentage
isdisplayedinred.Thedefaultforthisparameteris10mm.

LengthDisplay:Targetlength5.125inch,currentlybothsignals
reached93.3%

Measuring signal lengths


Ifyouclickonasignalwirewiththe Ctrl keypressed,thelengthofthat
signal segment will be measured and displayed on the screen in a little
indicatornearthemousecursor.Youcanusethistomeasurethelengthofa
given signalsegment anditasthetargetlength for meandering an other
segment.
IfyoudothemeasuringwithCtrl+Shiftpressed,themaximumlengthofthis
or any previously selected segments will be taken. This can be used to
determinethemaximumlengthofseveralbussignalsandthenmeandering
eachofthemtothatlength.

186

6.9 Assembly Variants

6.9 Assembly Variants


Ifyouwouldliketohaveyourprojectmanufacturedindifferentassembly
variants, EAGLE helps you in creating and managing them. Basically an
assemblyvariantofferstheopportunitytohavecomponentsnotpopulatedon
the board or to use components with different values or with different
technologies.

Creating Assembly Variants


Assoonasyouhavefinishedyourproject,oratleasttheschematic,youcan
define assembly variants. The default assembly variant (which is the
schematic/layout you just finished) should already contain all the
componentswhichwillbeusedinthedifferentassemblyvariants.Basedon
the default variant open the Assembly Variants dialog through the menu
entryEdit/Assemblyvariants....Thisdialogshowsallthecomponentswithits
name,value,technology,andthedescriptionofthedevice.
Clickontothe Newbuttoninordertodefineanassemblyvariant.Itwillbe
showninthe Assemblyvariantswindowthen.Itsnameisvisibleinthetitle
bar.Belowyoufindthreecolumns:Acheckbox,value,andtechnology.
Ifthecheckboxischecked,thecomponentwillbepopulated.Ifyouwantit
not to be populated, uncheck it. If not populated, the component will be
crossedoutintheschematicdrawing. Thisindicates: notavailableinthis
variant.SimultaneouslyintheLayoutEditoralltheobjectsrepresentingthe
silkscreenprintforthiselementwillbedeleted.
If you would like to change the value of a component, click into the
appropriatefieldoftheValuecolumn,andtypeinthenewvalue.Bydefault,
allfieldsremainemptywhichmeansthatthereisnochangecomparedtothe
defaultassemblyvariant.Youareallowedtoalterthevalueofcomponents
whichhaveValuesetonfortheDeviceinthelibrary.Thissettingistypically
used,forexample,forresistorsorcapacitors.
If a component is defined in different technologies, you are allowed to
changeitinthe Technology column.Ifthereisnotechnologydefined,you
can'tchangeit.
Theimageaboveshowsbesidesthedefaultassemblyvariantontheleftwith
itscolumnsName,Value,Technology,andDescriptiontwoadditionalvariants.
InVariante1onecomponent(C5)isnotpopulated,someofthecomponents
have altered values. In Variante2 two components will not be populated.
Cells without entry indicate that there are no changes compared to the
defaultassemblyvariant.
Clickontothenameofthevariantinthetitlebarofthetableanditwillbe
showninboldtext.Thisindicatesthatthisvariantiscurrentlyselected.The
buttonsRename...andDelete...affectthisvariantnow.

187

6 From Schematic to Finished Board

Assemblyvariantswindow

ActionToolbarwithcomboboxforassemblyvariant
After defining assembly variants, the action toolbar of the Schematic and
LayoutEditorcontainanadditionalselectioncombobox.Theimageabove
shows Variant2 selected. Two components won't be populated. They are
crossedoutintheschematic.
The commands ADD, CHANGE PACKAGE | TECHNOLOGY, REPLACE,
UPDATE and VALUE can only be used, if the default assembly variant is
active.That'stheentrywithoutnameinthecomboboxoftheactiontoolbar.
The EXPORT PARTLIST command creates data for the currently selected
assemblyvariant.Ifyouusebom.ulpforcreatingthebillofmaterials,youcan
choose the variant in the ULP's dialog. Unpopulated components will not
appearinthepartslist.

Assembly Variants and CAM Processor


IfyouwanttocreatemanufacturingdatawiththeCAMProcessorbesureto
selecttheapplicableassemblyvariantintheschematicbeforeandsaveyour
project.TheboardisalsosavedinthisvariantthenandtheCAMprocessor
cancreatedatafromthis.
The information about assembly variants is available only in the
schematic. For boards without a schematic assembly variants are not
supported.

188

6.9 Assembly Variants


Therecommendedprocedureistosetthevariantintheschematicandsave
schematicandboard.ThenruntheCAMProcessor.
Inboardswithoutschematicitispossibletochangethe Populate optionof
componentsviatheCHANGEcommandorviathepropertiesdialog.

6.10 Print Out Schematic and Layout


Schematicdiagrams,boardsandalsolibraryelementscanbeprintedoutwith
thePRINTcommand.
UsingDISPLAYyoushouldfirstselectthelayersthatyouwanttoprint.
Thebasicruleis:Ifyoucanseeitintheeditor,youwillseeitonthe
print.
Exceptionstotheruleaboveare:
Origincrossesfortexts
Gridlinesorgriddots
Polygonsthatcan't becalculated byRATSNEST and therefore only
showtheircontoursintheLayoutEditor
ErrorpolygonsoftheDesignRuleCheck

Settings of the Print Dialog


Whentheprintericonontheactiontoolbar

isclicked,thePRINTdialog

opens.
The currently selected printer is shown at the top of the window in the
Printerline.Thesmallbuttonontheright,attheendoftheline,canbeused
to select another printer or activate one of the printtofile options. If a
printerisselected,thebuttonwiththethreedots...leadsyoutotheprinter
properties.

189

6 From Schematic to Finished Board

ThePRINTwindow
IncaseyouselectedaprinttofileoptiontheOutputfilelineshowsthepath
totheoutputfile.Ifyouwanttochangeit,clickontothebutton.
BelowthesetwolinesyouwillfindsettingsaboutPaperformat,Orientation
and Alignment ofyourprint.The buttoninthe Paper lineallowsyouto
defineauserspecificformat,providedtheselectedprintersupportsthis.
Alignment definesthelocationoftheprintoutonthepaper.Changingthis
willdirectlyresultinamodifiedPreview,ifactive.
Inthe Area line,youdeterminewhattoprint: Window printsthedrawing
windowwhichiscurrentlyvisibleintheEditorwindow. Full ontheother
hand,printsthewholedrawing.Inthiscasealldrawingobjects(displayedor
not)arerelevantforthecalculationoftheresultingprintingarea.
PrintingOptions
MirrorinvertsthedrawingfromlefttorightabouttheYaxis,Rotateturnsit
90degreescounterclockwise,andUpsidedownturnsitthrough180degrees.
Ifbothareactivated,arotationof270degreesistheresult.
IftheBlackoptionischosen,ablackandwhiteprintoutismade.Otherwise
theprintwillbeeitherincolororgrayscale,dependingontheprinter.
Solidcauseseachobjecttobeentirelyfilled.Ifyouwanttoseethedifferent
fillingpatternsoftheindividuallayers,thendeactivatethisoption.
The Caption optionswitchestheappearanceofthetitle,printingdate,file
nameandthescaleoftheprintonoroff.
Inthe Scale sectionofthewindowthe Scalefactor specifiesthescaleofthe
drawing.Itmaybeintherangeof0.001and1000.
If Pagelimit issetto0,theprinterwillusewhatever numberofpagesis
190

6.10 Print Out Schematic and Layout


needed to print the output at the selected scale. If a different value is
selected,EAGLEwilladjustthescaleofthedrawingtofititontothestated
numberofpages.Thiscanmeanthat,underunfavourablecircumstances,the
selectedscalecannotbemaintained.
Otherwiseyouhavethepossibilitytoselect PageLimit1,anda Scalefactor
thatwouldrequestmorethanonepageforprintingtogetamaximumfilling
ofthepage.
Itispossibletoselectwhichsheetsfromaschematicdiagramareprinted
usingtheSheetsbox.ThisonlyappearsintheSchematicEditor.Thisselection
alsodetermineswhichsheetisshowninthepreview.
Ifyouactivatetheoption Hierarchy,allthemodulesheetsforeachmodule
instanceusedintheschematicwillbeprintedwiththecorrespondingpart
names,netnamesandassemblyvariants.
Theedgesoftheprintcanbedefinedwiththeaidofthefourentryboxes
under Border.Thevaluesmaybeenteredinmmorininches.Ifyouhave
changed the values and want to use the printer driver's standard settings
again,simplyentera0.
Calibrate allowscorrectionfactorsfortheaspectratiooftheprintout.This
allowslinearerrorsinthedimensionalaccuracyoftheprinttobecorrected.
Thevaluescanbespecifiedintherangeof0.1...2.
Noteconcerningcoloredprinting:
EAGLEalwaystakesthewhitepaletteasbasisforcoloredprintouts.If
you are working with a black or colored background and using self
definedcolors,itisrecommendedtodefinethesecolorsalsoforthewhite
palette.Sotheprintercanuseyourcolors,too.
If,whenalayoutisprinted,thedrillholesinthepadsandviasarenottobe
visible,selecttheNoDrillsoptionforthe Displaymode bywayofthemenu
itemOptions/Set/Misc.
GeneratingPDFfiles
IfyouwanttogenerateaPDFfile(resolution1200dpi)fromyourdrawing,
clickontothesmallselectionbuttoninthePrinterlineandchoosetheoption
Printtofile(PDF).GototheOutputfilelinethenandspecifypathandname
ofthePDFoutputfile.
AlltextsthatarenotwritteninEAGLEvectorfontaresearchableinthePDF
filebymeansofyourPDFviewer.
VisibilityandSequenceofPrintedLayers
EAGLEprintsitslayersinacertainsequence,oneovertheother.Ifyouare
using,forexample,selfdefinedlayersthatarehiddenbyotherlayersinthe
printout,youcanuseaSETcommandoptionSETOption.LayerSequence
forbringingthemintotheforeground,oringeneral,fordefiningthelayer
printingsequence.ThisaffectsprintingintoaPDFfile,aswell.
191

6 From Schematic to Finished Board


DetailsaboutthiscanbefoundinthehelpfunctionoftheSETcommand,
Help/Editorcommands/SET.
ThePRINTcommandcanalsobegivendirectlyonthecommandline,orcan
berunbyascriptfile.Informationabouttheselectionofoptionsisavailable
onthehelppagesforPRINT.

6.11 Combining Small Circuit Boards on a


Common Panel
Inordertosavecosts,it maybeworth supplying, forexample, asmaller
boardtotheboardmanufacturerintheformofamultipleboard.Soyoucan
haveseveralboardsmadeinonestep.
You can reproduce the layout or combine different layouts to create a
multipleboardwiththeGROUP,COPYandPASTEcommands.Pleasenote
that this will change the board's silk screen, since elements receive new
names,ifacertaindesignatorisalreadyusedintheboardwhenpastingfrom
thebuffer.Ifyoudon'tneedthesilkscreenthisdoesnotmatter.Otherwisea
UserLanguageprogramcanhelp.Panelize.ulpcopiesthetextswritteninthe
layers 25 and 26 (t/bNames) into two new layers 125 and 126. When
combiningtheboardsthenamesofthepartswillchangeanyway,thecopied
textsinthosenewlayershoweverwillremainunchanged.
Tell the board manufacturer that they have to take layers 125 and 126
insteadoftheoriginallayers25and26togeneratethesilkscreenfrom.
Procedure:
Loadtheboardfile.
Runpanelize.ulptocopynametexts.
DISPLAYalllayers.
UseGROUPtoselectallobjectstobecopied.
ToselectthewholelayoutyoucouldalsouseGROUPALL.
ClicktheCOPYiconinordertoputthegroupintotheclipboard
EditanewboardfilewithFile/New.
UsePASTEandplacethelayoutasoftenaswanted.Ifnecessary,itis
possibletospecifyanorientationforthegroupbeforefixingit.
PleasemakesurethatthenewboardhasthesamesetofDesignRules
astheoriginalboardfilehas.ItispossibletoexportDesignRulesinto
afile(*.dru)andthenimportitintoanotherboardfile(Edit/Design
rulesmenu,Filetab).
Savethenewboardfile.
Tellyourboardhousethattheyhavetouselayers125/126insteadof
25/26.

192

6.12 Consistency Lost between Schematic and Layout

6.12 Consistency Lost between Schematic


and Layout
Itisveryimportantduringthedesignthatthecontentoftheschematicand
thelayoutexactlycorrespondtoallowfor design congruency.Eagleusesa
Forward&Back annotationtoperformthistask.General informationabout
thiscanbefoundinthechapteraboutForward&BackAnnotationbeginning
withpage104.
The interconnection between Schematic Editor and Layout Editor ensures
thatbothareinlockstepfromadesignstandpointautomatically,provided
bothfilesarealwaysloadedatthesametime.Ifyoucloseoneofthem,either
theschematicorlayoutfile,andcontinueyourworkintheremainingopened
file the consistency will be lost. EAGLE will not be able to transfer the
modificationsintotheotherfile.SodifferenceswillarisebetweenSchematic
andLayout.
IncaseyoucloseoneofthetwoeditorwindowsEAGLE promptsaneye
catchingyellowandblackwarningontopofthedrawingareawhichtellsyou
thatForward&BackAnnotationhasbeensevered.Pleasereloadthefileagain.

Forward&BackAnnotationsevered!
IncaseyouseveredF&BAnnotationintentionally,youcanhidethiswarning
byclickingintothemessagearea.
EAGLEwillpromptasimilarwarningassoonasyoutrytoloadapairof
schematic/boardfilesoraprojectwhichisnotconsistent.

193

6 From Schematic to Finished Board

ConsistencylossbetweenSchematicandLayout
StarttheElectricalRuleCheck(ERC)immediately.Itcomparesbothfilesand
reportsdifferencesintheERCErrorswindow's ConsistencyErrors branch.If
you click onto one of these entries, EAGLE marks the affected object in
SchematicandBoard,ifpossible.
ProcesseachmessageandresolvethedifferenceintheSchematicorinthe
LayoutEditorwindow,accordingtorequirements.Finallyyoucanmarkthe
entryinthelistasdonewiththeProcessedbutton.
ForestablishingconsistencyagainitcanbehelpfultouseUNDO.
LaunchtheERCeverytimeachangehasbeenmadefordesignverification
andtogetanoverviewofprogress.Alldifferencesarecleared,ifERCreports
consistency. Now the Annotation will work again and the board and
schematicareagaininlockstepwitheachother.

Thedifferencesaremarkedinbotheditorwindows
194

6.12 Consistency Lost between Schematic and Layout


Don'tforgettosavethefilesnowandremembertoleavebothfilesloaded
simultaneouslyallthetime.

Criteria For Consistency


Therearesomerulesthathavetobefulfilled inordertohaveconsitency
betweenschematicandlayoutandtheForward&BackAnnotationworking.In
thefollowinglisttherearementionedthemostimportantitems:

Eachcomponentintheschematichastohaveacorresponding
packageinthelayoutandviceversa.Exceptionsaresupplysymbols,
elementswithoutcontacts,andcomponentswithanattributewith
thename_EXTERNAL_(forexampleforsimulationsymbols).
UseADD/DELETE/NAMEcommandsforplacing/deleting/
namingcomponents

Correspondingcomponentshavetohavethesamevalues.

UsetheVALUEcommandinordertoadjustthevalues.

Foreachconnectionofnetandpinintheschematictherehastobe
acorrespondingconnectionwiththesamenameofsignaland
referringpadinthelayout.
AddthemissingnetwiththeNETcommand,missingsignalsin
thelayoutwiththeSIGNALcommand,ifnecessaryuseNAME
toadjustsignal/netnamesorDELETEfordeletingconnections.

Netsintheschematicandsignalsinthelayouthavetobelongto
identicalnetclasses.

CHANGECLASSorusethepropertiesdialogofthenet/signal
inordertoadjustthenetclassesandtheirvaluesforwidth,
clearanceanddrill.

Assemblyvariantsinschematicandboardhavetobeidentical;
Theremustbethesamenumberofvariantsandidenticvariant
names.Additionallythepopulationoptionsofthecomponentshave
tobethesame.

UsetheVARIANTcommandforadjustingthis

Ifthereareattributesdefinedforcomponents,theattributename
andtheattributevaluehavetobethesameinschematicandboard.
Itisallowedtohaveadditionalattributesdefinedinthelayout
editorwhicharenotavailableintheschematic,butnotviceversa.

ChecktheATTRIBUTEcommand
Ifthereareattributesthataredefinedinthelibrary,itmightbe
helpfultousetheREPLACEcommandinordertoreplacesuch
componentsandupdatetheattributeinformation.

195

6 From Schematic to Finished Board

Thedefinitionofthepackageinschematicandboardhastobe
exactlythesame.Therearedifferentoptionsinordertoeliminate
suchdiscrepancies:

UsetheREPLACEcommandinthelayouteditorinorderto
exchangethepackagewithadefinitionthatmatchesthe
packageusedintheschematic.

Exchangeofawholedeviceintheschematiceditorwiththe
REPLACEcommandorreplacementofthecomponentswith
apackagedefinitionusedinthelayouteditor.
Pleasetakecareonattributes,aswell(seeabove).

Changethepackagevariant,ifany,withCHANGEPACKAGE
intheschematiceditor.
Ifthelibrariesthatcontainedthecomponentsoriginallyusedinyour
schematicandlayoutarenotavailable,itmightbehelpfultoexportthe
librarydefinitionsfromyourdrawingfiles(File/Exportmenu).Nowitis
possibletomodifythelibraries,ifnecessary,andusetheREPLACEcommand.

Consistency Indicator
Inthebottomrightcorneroftheeditorwindowyoucanseeanindicatorthat
gives,dependingonitscolor,informationaboutconsistency.
Gray

F&BAnnotationnotpossible
Onlyonefileloaded

Yellow F&BAnnotationnotavailable
SCHandBRDhavedifferentnames
Pink

F&BAnnotationnotactive
SCHandBRDarenotconsistent

Green

F&BAnnotationisactive
SCHandBRDareconsistent

Consistencyindicator
Theexclamationmarkrightoftheconsistencyindicatorremembersyouthat
thedrawingiscurrentlynotsaved.

196

Chapter 7
The Autorouter
7.1 Basic Features
Anyroutinggrid(min.0.02mm)
Anyplacementgrid
Fullyintegratedintobasicprogram
TopRouterwithgridlessroutingalgorithm,whichcanbeprecededby
theAutorouter
Optionalautomaticselectionofroutinggridandpreferreddirections
inthesignallayers
Support for multicore processors to process multiple routing jobs
simultaneously
SMDsareroutedonbothsides
Thewholedrawingareacanbetheroutingarea(providedenough
memoryisavailable)
Thestrategyisselectedviacontrolparameters
Simultaneous routing of various signal classes with various track
widthsandminimumclearances
Commondataset(DesignRules)fortheDesignRuleCheckandthe
Autorouter
Multilayercapability(upto16layerscanberoutedsimultaneously,
notonlyinpairs)
SupportofBlindandBuriedvias
Thepreferredtrackdirectioncanbesetindependentlyforeachlayer:
horizontal and vertical, true 45/135 degrees (important for inner
layers!)
Ripupandretryfor100%routingstrategy
Optimizationpassestoreduceviasandsmoothtrackpaths
Preroutedtracksarenotchanged
ServesabasisfortheFollowmerouter,aspecialoperatingmode
of the ROUTE command that allows automatic routing of selected
signals
197

7 The Autorouter

7.2 What Can be Expected from the


Autorouter
TheEAGLEAutorouterisa"100%"router.Thismeansthatboardswhich,in
theory, can be completely routed will indeed be 100% routed by the
Autorouter, provided and this is a very important restriction the
Autorouter has unlimited time. This restriction is valid for all 100%
Autorouterswhatsoever.However,inpractice,therequiredamountoftimeis
notalwaysavailable,andthereforecertainboardswillnotbecompletedeven
bya100%Autorouter.
TheEAGLEAutorouterisbasedontheripup/retryalgorithm.Assoonasit
cannotrouteatrack,itremovespreroutedtracks(ripup)andtriesitagain
(retry).Thenumberoftracksitmayremoveiscalledripupdepthwhichis
decisive for the speed and the routing result. This is, in principle, the
previouslymentionedrestriction.
IntheAutoroutermaindialogitispossibletochooseaTopRoutervariant.It
usesagridlessalgorithmwithtopologicalapproach.Thisalgorithmcalculates
first the course of the signals and then uses the optimization runs of the
traditional EAGLE Autorouter to meet the Design Rules. Typically, the
TopRouter requires significantly fewer vias than the traditional EAGLE
Autorouter.Theuserhastheoptiontoselectbothmethodsforaprojectand
eventuallyoptforoneortheotherroutingresult.
Those who expect an Autorouter to supply a perfect board without some
manualhelpwillbedisappointed.Theusermustcontributehisideasand
investsomeenergy.Ifhedoes,theAutorouterwillbeavaluabletoolwhich
willgreatlyreduceroutinework.
Working with the EAGLE Autorouter requires that the user places the
componentsandsetscontrolparameterswhichinfluencetheroutingstrategy.
Theseparametersmustbesetcarefullyifthebestresultsaretobeachieved.
Theyarethereforedescribedindetailinthissection.

7.3 Controlling the Autorouter


TheAutorouteriscontrolledbyanumberofparameters.Thevaluesinthe
current Design Rules, the net classes and special Autorouter control
parametersallhaveaneffect.
The Design Rules specify the minimum clearances (DRC commands for
setting Clearance and Distance),theviadiameter(Restring setting)andthe
holediameterofthevias(Sizes setting).Theminimumtrackwidthisalso
specified.
Thenet classes if any are defined specifyspecialminimumclearances,
trackwidthsandtheholediametersforviascarryingparticularsignals.
Thereisalsoarangeofspecialcostfactorsandcontrolparametersthatcan
bechangedviatheAutoroutermenu.Theyaffecttheroutegiventotracks
duringautomaticrouting.Defaultvaluesareprovidedbytheprogram.The
198

7.3 Controlling the Autorouter


controlparametersaresavedintheBRDfilewhenthelayoutissaved.You
canalsosavethesevaluesinanAutoroutercontrolfile(*.ctl).Thisallowsa
particularsetofparameterstobeusedfordifferentlayouts.NeitherDesign
Rulesnorthedataforvariousnetclassesarepartofthecontrolfile.
Aroutingprocessinvolvesanumberofseparatebasicsteps:

Bus Router
Normallythebusrouterstartsfirst.
Itdealswithsignalswhichcanberoutedinthepreferreddirectionwithonly
slightdeviationinxandydirectionallowed.Thebusroutertakesonlythose
signalsintoconsiderationthatbelongtonetclass0.
Thisstepmaybeomitted.
Buses,asunderstoodbytheAutorouter,areconnectionswhichcanbe
laidasstraightlinesinthexorydirectionwithonlyafewdeviations.
Ithasnothingincommonwithbusesinthemeaningofelectronics,for
example,addressbusesorthelike.

Routing Pass
Theactualroutingpassisthenstarted,usingparameterswhichmakea100%
routingaslikelyaspossible.Alargenumberofviasaredeliberatelyallowed
toavoidpathsbecomingblocked.

TopRouter
SelectaroutingvariantwithupstreamTopRouter,andthetraceswillbelaid
out with another routing algorithm, which tends to use less vias. Finally
routingandoptimizationfollowsinordertotrimallthetracestocomplywith
thedesignrules.

Optimization
Afterthemainroutingpass,anynumberofoptimizationpassescanbemade.
Theparametersarethensettoremovesuperfluousviasandtosmooththe
trackpaths.Intheoptimizationpassestracksareremovedandreroutedone
atatime.Thiscan,however,leadtoahigherdegreeofrouting,sinceitis
possiblefornewpathstobefreedbythechangedpathofthistrack.
The number of optimization passes must be specified before starting the
Autorouter.Itisnotpossibletooptimizeatalaterstage.Oncetheroutingjob
hasbeencompletedallthetracksareconsideredtohavebeenprerouted,and
maynolongerbechanged.
Anyofthestepsmentionedabovemaybeseparatelyactivatedordeactivated.

199

7 The Autorouter

7.4 What Has to be Defined Before


Autorouting
Design Rules
TheDesignRulesneedtobespecifiedinaccordancewiththecomplexityof
the board and of the manufacturing facilities available. You will find a
description of the procedure and of the meanings of the individual
parametersinthesectiononSpecifyingtheDesignRulesonpage144.

Track Width and Net Classes


Ifyouhavenotalreadydefinedvariousnetclassesintheschematicdiagram
younowhavetheopportunity,beforerunningtheAutorouter,ofspecifying
whetherparticularsignalsaretobelaidusingspecialtrackwidths,particular
clearancesaretobeobserved,orwhethercertaindrilldiametersaretobe
used for vias for particular signals. Please consult the help pages (CLASS
command) or the section on Specifying Net Classes on page 123 for
informationaboutthedefinitionofnetclasses.
Ifnospecialnetclassesaredefined,thevaluesfromtheDesignRulesapply.
Thevalue Minimumwidth inthe Sizes tabdeterminesthetrackwidth,the
valuesfor minimumclearances/distancesaretakenfromthe Clearance and
Distance tabs.Thediameterofviasisdefinedbythevaluesinthe Restring
tab.
DidyousetvaluesintheDesignRulesandfornetclasses?Inthiscasethe
Autorouterfollowsthehighervalue.

Grid
TheDesignRulesdeterminetheroutingandplacementgrid.Theminimum
routinggridis0.02mm,whichisabout0.8mil.

Placement Grid
AlthoughtheAutorouterdoespermitanyplacementgrid,itisnotagoodidea
toplacethecomponentsonagridthatistoofine.Twogoodrulesare:
Theplacementgridshouldnotbefinerthantheroutinggrid.
Iftheplacementgridislargerthantheroutinggrid,itshouldbesetto
anintegralmultipleoftheroutinggrid.
These rules make sense if, for example, you consider that it might be
possible,withintheDesignRules,toroutetwotracksbetweentwopinsofa
component, but that an inappropriate relationship between the two grids
couldpreventthis(seediagram).

200

7.4 What Has to be Defined Before Autorouting


Routing Grid
PleasenotethattheAutoroutergridhastobesetintheAUTOcommand's
AutorouterMainSetup Window. Thisisnotthesameasthecurrentlyused
grid in the Layout Editor window that you have selected with the GRID
command.
Bear in mind that for the routing grid the time demand increases
exponentiallywiththeresolution.Thereforeselectaslargeagridaspossible.
The main question for most boards is how many tracks are to be placed
betweenthepinsofanIC.Toanswerthisquestion,theselectedDesignRules
(i.e.theminimumspacingbetweentracksandpadsorothertracks)mustof
coursealsobeconsidered.
Theresultis:
Thetwogridsmustbeselectedsothatcomponent'spadsarelocatedon
theroutinggrid.
Thereareofcourseexceptions,suchaswithSMDstowhichtheoppositemay
apply,namelythatapositionoutsideoftheroutinggridleadstothebest
results.Inanyeventthechoiceofgridshouldbecarefullyconsideredinthe
lightoftheDesignRulesandthepadspacing.

Trackpatternswithdifferentplacementgrids
Theexampleabovemayclarifythesituation:
Forthecomponentontheleft,thepadsareplacedontheroutinggrid.Two
trackscanberoutedbetweentwopads.Thepadsofthecomponentinthe
middle are not on the routing grid, and therefore only one track can be
routedbetweenthem.
OntherightyouseetheexceptionfromtheruleshownforSMDpads,which
areplacedbetweentheroutinggridlinessothatonetrackcanberouted
betweenthem.
Whenchoosingthegrid,pleasealsoensurethateachpadcoversatleastone
gridpoint.OtherwiseitcanhappenthattheAutorouterisunabletoroutea
signal, even though there is enough space to route it. In this case the
201

7 The Autorouter
Autorouter issues the message Unreachable SMD at x y as it starts. The
parametersxandyspecifythepositionoftheSMDpad.
Thedefaultvaluefortheroutinggridis50mil.Thisvalueissufficientfor
simplethroughholelayouts.WorkingwithSMDcomponentsdemandsafiner
routinggrid.
Usualvaluesare25,12.5,10,or5mil.
Please remember that finer routing grids require significantly more
routingmemory.
Withtheautomaticgridselectionoption,theautorouterdeterminesatits
ownheuristicssuitablegridsettingsforeachroutingjobs.

Memory Requirement
Theamountofroutingmemoryrequireddependsinthefirstplaceonthe
selectedroutinggrid,theareaoftheboardandthenumberofsignallayersin
whichtracksarerouted.
Thestaticmemoryrequirement(inbytes)foraboardcanbecalculatedas
follows:
number of grid points x number of signal layers x 2
Spaceisalsorequired fordynamicdata,in additiontothestaticmemory
requirement.Thedynamicdatarequireinaveryroughestimateabout10%
upto100% (insomecaseseven more!)ofthestaticvalue. Thisdepends
heavilyonthelayout.
Totalmemoryrequirement(roughapproximation):
static memory x (1.1..2,0) [bytes]
This much RAM should be free before starting the Autorouter. If this is
insufficient,theAutoroutermuststoredataontheharddisk.Thislengthens
the routing time enormously, and should be avoided at all costs. Short
accessestotheharddiskarenormal,sincethejobfileontheharddiskis
regularlyupdated.
Trytochoosethecoarsestpossibleroutinggrid.Thissavesmemoryspace
androutingtime!

Layer
Ifyouwanttodesignadoublesidedboard,thenselectTopandBottomas
routelayers.YoushouldonlyusetheBottomlayerforasinglesidedboard.
Inthecaseofinnerlayers,itishelpfultousethelayersfromtheoutsideto
theinside,i.e.first2and15andsoon.
Inthecaseofboardsthataresocomplexthatitisnotcertainwhetherthey
canbewiredontwosides,itishelpfultodefinethemasmultilayerboards,
andtosetveryhighcostsfortheinnerlayers.ThiswillcausetheAutorouter
202

7.4 What Has to be Defined Before Autorouting


toavoidtheinnerlayersandtoplaceasmanyconnectionsaspossibleinthe
outerlayers.Itcan,however,makeuseofaninnerlayerwhennecessary.
ThesesettingsaremadeintheAutoroutermenu(seepage205).
TheautoroutershowsthemessageUnreachableSMDinlayer...,ifalayerthat
containsSMDsisnotactive.ClickingOKstartstheautorouternevertheless.If
youwanttochangetheautoroutersetupclickCancel.

Preferred Directions
Foreachroutingjobyoucanspecifyindividuallyforeachsignallayeritsown
preferred direction. With thenew Auto setting the Autorouter will choose
differentsettingsforpreferreddirectionsonitsown.
Ifyouwanttosetpreferreddirectionsmanually,thefollowingconsiderations
apply:Onthetwooutsidelayersthepreferreddirectionsarenormallysetto
90degreesfromeachother.Fortheinnerlayersitmaybeusefultochoose
45 and 135 degrees to cover diagonal connections. Before setting the
preferred direction it is well worth examining the board (based on the
airwires)toseeifonedirectionoffersadvantagesforacertainsideofthe
board.ThisisparticularlylikelytobethecaseforSMDboards.
Pleasealsofollowthepreferreddirectionwhenpreplacingtracks.The
defaults are vertical for the Top (red) and horizontal for the Bottom
(blue)layer.
ExperiencehasshownthatsmallboardscontainingmainlySMDcomponents
arebestroutedwithoutanypreferreddirectionatall(set*intheAutorouter
setup).Therouterthenreachesausableresultmuchfaster.
Singlesidedboardsshouldberoutedwithoutapreferreddirection.

Restricted Areas for the Autorouter


IftheAutorouterisnotsupposedtoroutetracksorplaceviaswithincertain
areas,youcandefinerestrictedareasbyusingthecommandsRECT,CIRCLE,
andPOLYGONinthelayers41,tRestrict,42,bRestrict,and43,vRestrict.
tRestrict:RestrictedareasforWiresandPolygonsintheToplayer.
bRestrict:RestrictedareasforWiresandPolygonsinBottomlayer.
vRestrict:RestrictedareasforVias.
SuchrestrictedareascanalreadybedefinedinaDeviceorPackage(around,
forinstance,thefixingholesforaconnector,orforaflatmountedtransistor
underwhichthereshouldnotbeanytracks).
Wiresdrawninlayer20, Dimension,areboundarylinesfortheAutorouter.
Trackscannotbelaidbeyondthisboundary.
Typicalapplication:boardboundaries.

203

7 The Autorouter
Anarea drawn in layer20canalsobeused asarestricted regionforall
signals.Itshould,however,benotedthatthisareashouldbedeletedbefore
sendingtheboardformanufacture,sincelayer20isusuallyoutputduring
thegenerationofmanufacturingdata.
Cutoutpolygonswhichareused,forexample,ininnerlayersinordertokeep
certain areasofsignalpolygonsfree ofcopper,are notrecognized bythe
Autorouter.ItmayhappenthattheAutorouterdrawswiresinsuchanarea.

Cost Factors and Other Control Parameters


AllroutingparametersaresetintheAutorouterVariantsdialog.Theycanbe
modifiedseparatelyforeachroutingvariant.
The default values for the cost factors are chosen on the basis of our
experienceinsuchawayastogivethebestresults.
Thecontrolparameterssuchas mnRipupLevel, mnRipupSteps etc.havealso
beensettoyieldthebestresultsaccordingtoourexperience.
Wewanttoemphasize,thatwerecommendworkingwiththedefaultvalues.
If you nevertheless do want to experiment with these parameters, please
considerthedescriptionofthecostfactorsinthefollowingsection.Inthe
caseofmanyparametersevensmallalterationscanhavelargeeffects.

204

7.5 The Autorouter Menu

7.5 The Autorouter Menu


When running the Autorouter with the AUTO command, the setup menu
appearsfirst.Allthenecessarysettingsaremadethere.

Autorouter Main Setup


Thisiswhereyouspecifythelayersthatmaybeusedforroutingandwhich
preferred directions apply. Click in the appropriate combo box with the
mouse,andselectthedesiredvalue.

Autoroutermainsetup:Generalsettings
Settingthepreferreddirections:
- horizontal
|

vertical

diagonal at 45

diagonal at 135

none

N/A Layer not active


Auto Automatic setting
SettingEffort(Low,MediumorHigh)determineshowmanyroutingvariants
canbecreated.
Iftheautomaticgridselectionison,theautorouterchoosesitsownvalues.
Turnoffthisoptiontochooseyourownsuitableroutinggrid.Thereisthe
opportunitytoexaminethe(automatically)selectedgridsettingsandmodify
themlaterintheroutingvariantsdialog.

205

7 The Autorouter
Variant with TopRouter activates the new TopRouter that calculates the
layoutwithanotherroutingalgorithm.Typically,thecomputationaleffortis
larger,butusuallyprovidessmootherresultswithfewervias.
The maximum number of running threads can be limited. The EAGLE
AutoroutersupportsthecalculationofmultipleAutorouterjobsatatimeby
usingmulticoreprocessors.Theindicatedvaluedependsonthenumberof
availableprocessorcores.Itmaybeusefultoreducethenumberofthreadsin
ordernottooccupyallprocessorcoreswiththeEAGLEAutorouter.
YoumayusetheLoad...andSaveas....buttonstoloadadifferentparameter
setfromanAutoroutercontrolfile(*.ctl)ortosavethecurrentsettingsfor
furtherprojects.
Selectthisbyclickingthecorrespondingsignallines.
Clicking onto the Select button allows certain signals to be selected for
autorouting. Select these with a mouse click onto the respective airwires.
Thenclickonthetrafficlighticonintheactiontoolbarinordertoopenthe
secondpartoftheAutoroutersetup;theroutingvariantsdialog.Thereyou
cancheck theconfiguration oftherouting jobs and change somesettings
beforetheactualroutingprocessbegins.
Itis,alternatively,possibletoenterthesignalnamesonthecommandline.
Examples:
VCC GND ;
ThesignalsVCCandGNDwillberouted.
ThesemicolonattheendofthelinestartstheAutorouterimmediately.Itis
alternativelypossibletoclickonthetrafficlighticon.
Ifyoutypeinthecommandline
! VCC GND ;
allsignalsexceptVCCandGNDwillberouted.
Youmayusewildcardsforthesignalselection,aswell.Allowedis
*
whichmatchesanynumberofanycharacters.
?
whichmatchesexactlyonecharacter.
[]
whichmatchesanyofthecharactersbetweenthebrackets,
forexample[af],forallcharactersfromatof.

Routing Variants Dialog


Click Continue... andanumberofdifferentroutingvariantsarecalculated,
TheRoutingVariantsDialogopens.
Here you can modify the parameter set of each variant or delete or add
variantsinthelist.EachparametersetcorrespondstotheknownAutorouter
parametersetfromthepreviousversionsofEAGLE.
The calculation of the individual routing variants (routing jobs) isstarted
fromthisdialog.

206

7.5 The Autorouter Menu

Autorouter:ListofRoutingVariants
DependingonthesettingsEAGLEshowsanumberofroutingoptionsforthe
board.ClicktheStartbuttonandtheAutorouterstartsprocessingtherouting
variants.
If you would like to check and maybe adjust the individual routing
parametersbefore,clickthe>>button.

AutorouterVariants:ListandParametersettings
In the advanced options dialog you can review and modify the routing
parameters.ClickDuplicateorDelete,inordertocopyordeletetheselected
variant.
The parameters grouped in the sections Layer costs, Cost factors and
Maximumcanbesetindividuallyforeachpass(Busses,Route,Optimize14).
Formoreinformation,seethefollowingsection.
Youcaninsertadditionaloptimizationpassesbyclickingthe Add buttonin
thelastoptimizationrun.
TheAutorouterstartsforall thesignalsthathavenotyetbeenlaidoutby
clickingontheOKbutton.
TheCancelmenubuttoninterruptstheAUTOcommandwithoutstoringany
changes.

207

7 The Autorouter
Youarenotallowedtomakeanychangestotheparameters,ifyouwantto
restartaninterruptedroutingjob.UsetheContinueexistingjobcheckboxto
decidewhetheryouwanttocontinuewithanexistingjob,orwhetheryou
wanttochoosenewsettingsfortheremainingunroutedsignals.

AutorouterMainSetup:Restartinganinterruptedjob
TheAutorouter'sworkcanbeundonebytheUNDOcommand.

7.6 How the Cost Factors Influence the


Routing Process
Valuesbetween0..99arepossibleforeach costfactor(cfxxx),butthefull
rangeisnotusefulforall parameters.Sensiblevaluesarethereforegiven
witheachparameter.
The control parameters (mnxxx) accept values in the range 0..9999.
Reasonablefiguresarealsoprovidedundereachparameter.
TheparametercanbesetbytheAutorouterSetupMenu.Thesettingsfor
RouteandtheOptimizepassescanbeconfiguredseparately.Themenuissplit
intothreesections,LayerCosts,Costs,Maximum.

208

7.6 How the Cost Factors Influence the Routing Process

Autorouter:ParameterforRoute
Thefollowingsectionshowstheavailableparametersandtheireffects.The
names of the parameters are the same as they would be used in an
Autoroutercontrolfile*.ctl.DetailsaboutthiscanbefoundinParametersof
aControlFilebeginningwithpage216.

Layer Costs
cfBase.xx: 0..20
Basecostsforonesteponthecorrespondinglayer.Recommendation:outside
layers(Top,Bottom)always0,insidelayersgreaterthan0.

Costs
cfVia: 0..99
Controlstheuseofvias.Alowvalueproducesmanyviasbutalsoallowsthe
preferreddirectiontobefollowed.Ahighvaluetriestoavoidviasandthus
violatesthepreferreddirection.Recommendation:lowvaluefortherouting
pass,highvaluefortheoptimization.

cfNonPref: 0..10
Controlsfollowingofthepreferreddirection.Alowvalueallowstrackstobe
routedagainstthepreferreddirection,whileahighvalueforcestheminto
thepreferreddirection.
If cfNonPref issetto99,tracksectionscanonlybeplacedinthepreferred
direction.Onlyselectthisvalueifyouarecertainthatthisbehaviourisreally
wanted.

cfChangeDir: 0..25
Controlshowoftenthedirectionischanged.Alowvaluemeansmanybends
areallowedwithinatrack.Ahighvalueproducesvirtuallystraighttracks.
209

7 The Autorouter
cfOrthStep, cfDiagStep
Implementstherulethatthehypotenuseofarightangledtriangleisshorter
thanthesumoftheothertwosides.Thedefaultvaluesare2and3.That
meansthatthecosts fortheroute using thetwo other sides are2+2,as
against3forthehypotenuse.Theseparametersshouldbealteredwithgreat
care!

cfExtdStep: 0..30
Controlstheavoidanceoftracksectionswhichrunatanangleof45degrees
to the preferred direction, and which would divide the board into two
sections.Alowvaluemeansthatsuchsectionsareallowedwhileahighvalue
triestoavoidthem.Incombinationwiththeparameter mnExtdStepyoucan
controlthelengthofthesetracks.If mnExtdStep =0,eachgridstepat45
degreestothepreferreddirectioncausescoststhataredefinedinparameter
cfExtdStep.ChoosingforexamplemnExtdStep =5allowsatracktorunfive
stepsat45degreeswithoutanyadditionalcosts.Eachfurther stepcauses
costsdefinedincfExtdStep.
Inthisway,90degreebendscanbegiven45degreecorners.Settingslike
cfExtdStep =99 and mnExtdStep =0shouldavoid trackswith 45degree
angles.
Thisparameterisonlyrelevanttolayerswhichhaveapreferreddirection.
Recommendation:usealowervaluefortheroutingpass,andahighervalue
fortheoptimization.

cfBonusStep, cfMalusStep: 1..3


Strengthens thedifferentiationbetween preferred (bonus)and bad (malus)
areas in the layout. With high values, the router differentiates strongly
betweengoodandbadareas.Whenlowvaluesareused,theinfluenceofthis
factorisreduced.SeealsocfPadImpact,cfSmdImpact.

cfPadImpact, cfSmdImpact: 0..10


Pads and SMDs produce good and bad sections or areas around them in
whichtheAutorouterlikes(ordoesnotlike)toplacetracks.Thegoodareas
areinthepreferreddirection(ifdefined),the bad onesperpendiculartoit.
Thismeansthattrackswhichruninthepreferreddirectionareroutedaway
fromthepad/SMD.Withhighvaluesthetrackwillrunasfaraspossiblein
thepreferred direction, butif thevalue islowitmay leavethepreferred
directionquitesoon.
It may be worth selecting a somewhat higher value for cfSmdImpact for
denselypopulatedSMDboards.

cfBusImpact: 0..10
Controls whether the ideal line is followed for bus connections (see also
cfPadImpact).Ahighvalueensuresthatthedirectlinebetweenstartandend
pointisfollowed.Onlyimportantforbusrouting.

210

7.6 How the Cost Factors Influence the Routing Process


cfHugging: 0..5
Controls the hugging of parallel tracks. A high value allows for a strong
hugging(tracksareveryclosetoeachother),alowvalueallowsforamore
generous distribution. Recommendation: higher value for routing, lower
valuefortheoptimization.

cfAvoid 0..10
Duringtheripup,areasareavoidedfromwhichtrackswereremoved.Ahigh
valuemeansstrongavoidance.
Notrelevanttotheoptimizationpasses.

cfPolygon 0..30
IfapolygonhasbeenprocessedwiththeRATSNESTcommandandtherefore
isdisplayedasafilledareabeforeyoustarttheAutorouter,everystepwithin
thepolygonisassociatedwiththisvalue.Alowvaluemakesiteasierforthe
Autoroutertoroutetracesinsidethepolygonarea.Theprobability,however,
thatthepolygonisbrokenintoseveralpiecesishigher.Ahighervaluecauses
theAutoroutertomakefewerconnectionsinsidethepolygon.
IfapolygonisinoutlinemodeandnotprocessedbyRATSNESTbeforeyou
start theAutorouter, itwon't be taken into consideration at all. cfPolygon
doesnotplayaroleforsuchpolygons.

Maximum
mnVia 0..30
Controls the maximum number of vias that can be used in creating a
connectingtrack.

mnSegments 0..9999
Determinesthemaximumnumberofwirepiecesinoneconnectingtrack.

mnExtdSteps 0..9999
Specifiesthenumberofstepsthatareallowedat45degreestothepreferred
directionwithoutincurringthevalueofcfExtdStep.
SeealsocfExtdStep.
Additionallycanbefoundtheparameters mnRipupLevel, mnRipupSteps, and
mnRipupTotal.Thosearedescribedinthefollowingsection.

7.7 Number of Ripup/Retry Attempts


Due to the structure of the Autorouter there are some parameters which
influencetheripup/retrymechanism.Theyaresetinsuchawaythatthey
offeragoodcompromisebetweentimedemandandroutingresult.Theuser
shouldthereforeonlycarefullychangethevaluesfor
mnRipupLevel,mnRipupStepsandmnRipupTotalwhenneeded.
211

7 The Autorouter
Asarule,highparametervaluesallowformanyripupsbutresultinincreased
computingtimes.
Tounderstandthemeaningoftheparametersyouneedtoknowhowthe
routerworks.
Tobeginwiththetracksareroutedoneaftertheotheruntilnootherpath
canbefound.Assoonasthissituationoccurs,therouterremovesuptothe
maximumnumberofalreadyroutedtracks(thisnumberhasbeendefined
with mnRipupLevel)toroutethenewtrack.Ifthereareeighttracksinthe
way,forexample,itcanonlyroutethenewtrackifmnRipupLevelisatleast
eight.
Afterroutingthenewtrack,theroutertriestorerouteallthetrackswhich
wereremoved.Itmayhappenthatanewripupsequencemustbestartedto
rerouteoneofthesetracks.Therouter isthentworipupsequences away
fromthepositionatwhich,becauseofatrackwhichcouldnotberouted,it
started the whole process. Each of the removed tracks which cannot be
rerouted starts a new ripup sequence. The maximum number of such
sequencesisdefinedwiththemnRipupStepsparameter.
The parameter mnRipupTotal defines how many tracks can be removed
simultaneously.Thisvaluemaybeexceededincertaincases.
Ifoneofthesevaluesisexceeded,therouterinterruptstheripupprocessand
reestablishesthestatuswhichwasvalidatthefirsttrackwhichcouldnotbe
routed.Thistrackisconsideredasunroutable,andtheroutercontinueswith
thenexttrack.

7.8 Routing Multi-Layer Boards with


Polygons
Itispossibletocreatesupplylayerswithpolygonsthatcontainmorethanone
supplyvoltage,andindividualwiresaswell.Pleasenotetheinstructionson
page172,GroundPlanesandSupplyLayerswithSeveralSignals.
DefinethepolygonsbeforerunningtheAutorouter.
Givetheappropriatesignalnamestothepolygons.
UsetheRATSNESTcommandtoletEAGLEcalculatethepolygon.
Selectthepreferreddirectionsandbasecosts(cfBase)forthelayerin
theAutoroutersetup.Ahighervalueof cfBase forthepolygonlayer
causestheAutoroutertoavoidtheselayersmorestrongly.
After routing, check that the polygon still connects all the signal
points.Itispossiblethatthepolygonwasdividedasasignalwaslaid.
RATSNESTrecomputespolygons,andissuesthemessage
Ratsnest:Nothingtodo!,ifeverythingisinorder.
TheAutoroutercannotsetMicrovias!

212

7.8 Routing Multi-Layer Boards with Polygons


TheAutorouter is allowed to set Blind vias thatareshorter than the
maximumdepthdefinedintheLayerSetup.

7.9 Backup and Interruption of Routing


As, with complex layouts, the routing process may take several hours, a
backupiscarriedoutatintervals(approx.every10minutes).Dependingon
thenumberofroutingjobs,thereisacorrespondingnumberofjobfiles.The
filename_xx.jobalwayscontainsthelaststatusofthejobs,where xxstands
forthenumberofthevariant,alwaysbeginningwith00.
Ifthejobisinterruptedforanyreason(powerfailureetc.)thecomputertime
investedsofarisnotlost,sinceyoucanrecallthestatussavedinname.job.
LoadyourboardfileintheLayoutEditor,andthenenter:
AUTO;
Answer the prompt as to whether the Autorouter should recall (Continue
existingjob?)withYes.TheAutorouterwillthencontinuefromthepositionat
whichthejobwaslastsaved(amaximumof10minutesmaybelost).
If the autorouting is interrupted via the stop icon, the files name_xx.job
remainintactandcanberecalled.Thismaybeusefulwhenyouhavestarted
acomplexjobonaslowcomputerandwanttocontinuewithitonafast
computerassoonasoneisavailable.
Pleasenotethatchangingtheparametersbeforerecallingwillnotinfluence
thejob,sinceitwillhavebeensavedtogetherwiththeparameterswhich
werevalidatthetimeoftheinitialAutorouterstart.
WhentheAutorouterhasfinished,theroutedboardissavedas name.b$$.
Youcanrenameitto name.brd anduseit,forinstance,ifapowerfailure
occurredaftertheautoroutingrunandyoucouldnotsavetheboardfile.This
fileisdeletedautomaticallyaftertheboardhasbeensaved.

7.10 Information for the User


Status Display
Duringtherouting,youarehavetheoptiontoselectdifferentVariantsfrom
thelistandobservetheroutingprogress.

The Autorouter displays information on the actual routing result of the


selectedRoutingvariantinthestatusbar.

213

7 The Autorouter

Autorouter:StatusBar

Autorouter:Routingprogressinthevariants
Thedisplayedvalueshavethefollowingmeaning:
Route:
Resultin%(hithertomaximum,bestdata)
Vias:
Numberofviasinthelayout
Conn:
NumberofConnectionstotal/found/not routable
Connectionsheremeans2pointconnections.
Ripup:
NumberofRipups/current RipupLevel/cur. RipupTotal
Numberofripups:
Thisindicatesthenumberofconnectionsthathavealreadybeenrouted
duringtheforegoingroutingprocedurethathavebeen(canbe)removedin
ordertobeabletoroutenewsignals.
CurrentRipupLevel:
This indicates the number of connections that have been removed or
convertedinairwiresinordertolaythetrackforthecurrentsignal.
CurrentRipupTotal:
Afterasignal'srouteshavebeenrippedupitcanbebrokendownintoa
largenumberoftwopointconnections.Theseconnectionsarethenrouted

214

7.10 Information for the User


again.Thisvariableindicatesthenumberofsuchtwopointconnections
stilltoberouted.
Signals:
Signalsfound/handled/prepared,
ifsofollowedby:(routing_time signalname)
In case the Autorouter needs more than about 5 seconds to layout a
connection,EAGLEshowsinparenthesistheroutingtimeandthenameof
thecurrentlyprocessedsignal.

Log file
For each routing pass the Autorouter generates a file called name.pro,
containingusefulinformation.Example:
EAGLE AutoRouter Statistics:
Job : d:/eagle4/test-design/democpu.brd
Start at : 15.43.18 (24.07.2000)
End at : 16.17.08 (24.07.2000)
Elapsed time : 00.33.48
Signals : 84 RoutingGrid: 10 mil Layers: 4
Connections : 238 predefined: 0 ( 0 Vias )
Router memory : 1121760
Passname:
Busses Route Optimize1 Optimize2 Optimize3 Optimize4
Time per pass: 00.00.21 00.08.44 00.06.32 00.06.15 00.06.01 00.05.55
Number of Ripups: 0
32
0
0
0
0
max. Level:
0
1
0
0
0
0
max. Total:
0
31
0
0
0
0
Routed:
16 238
238
238
238
238
Vias:
0 338
178
140
134
128
Resolution:
6.7 % 100.0 % 100.0 % 100.0 % 100.0 % 100.0 %
Final: 100.0 % finished

7.11 Evaluate the Results


Ifallroutingvariantsare'completed',youcanselectoneofthemandendup
withajobtocompletetheroutingprocess.Theselectedvariantisthensaved
asaboardfile.
Ifyouwanttoexaminetheindividualroutingresultsinmoredetail,select
oneofthevariantsinthelistandthenclickEvaluate.
YouarenowdirectlyintheLayoutEditorandcanexamineandeveneditthis
variant.
InthestatusbaroftheLayoutEditorthereisdisplayedtheAutoroutericon,
indicatingthattheroutingprocessforthecurrentboardisnotyetcompleted.
Byclickingthisicon,youobtainthefollowingoptions:
Click Evaluate and you will return to Autorouter Variants dialog for
evaluatingfurtherroutingresults.
ClickEndJobandthecurrentvariantwillbesavedincludingallchangesyou
havemadewhileevaluatingthisboard.Alltheotherrouting variantsand
theirresultswillbediscarded.

215

7 The Autorouter

Autorouter:Evaluatingtheroutingresults

7.12 Parameters of a Control File


We see here how the individual parameters in an Autorouter control file
(name.ctl)areused.
Parameter
RoutingGrid

cfVia
cfNonPref
cfChangeDir
cfOrthStep
cfDiagStep
cfExtdStep
cfBonusStep
cfMalusStep
cfPadImpact
cfSmdImpact
cfBusImpact
cfHugging
cfAvoid
cfPolygon

=
=
=
=
=
=
=
=
=
=
=
=
=
=

Default Meaning
50Mil
Grid used by the Autorouter for tracks
and via-holes
Cost factors for...
8
Vias
5
Not using preferred direction
2
Changing direction
2
0 or 90 deg. Step
3
45 or 135 deg. Step
30
Deviation 45 deg. against preferred direction
1
Step in bonus area
1
Step in handicap area
4
Pad influence on surrounding area
4
SMD influence on surrounding area
4
Leaving ideal bus direction
3
Wire hugging
4
Previously used areas during ripup
10
Avoiding polygons

cfBase.1
cfBase.2
...
cfBase.15
cfBase.16

=
=

0
1

=
=

1
0

mnVias
mnSegments
mnExtdSteps

=
20
= 9999
= 9999

216

Basic costs for a step in the given layer

Maximum number of...


Vias per connection
Wire segments per connection
Steps 45 deg. against preferred direction

7.12 Parameters of a Control File


mnRipupLevel
mnRipupSteps
mnRipupTotal

=
=
=

100
300
200

tpViaShape

= Round

PrefDir.1
PrefDir.2

=
=

|
0

PrefDir.15
PrefDir.16

=
=

0
-

Ripups per connection


Ripup sequences per connection
Ripups at the same time
Track parameters for...
Via shape (round or octagon)
Preferred direction in the given layer
Symbols: 0 - / | \ *
0 : Layer not used for routing
* : No preferred direction
- : X is preferred direction
| : Y is preferred direction
/ : 45 deg. is preferred direction
\ : 135 deg. is preferred direction

7.13 Practical Hints


Thissectionpresentsyouwithsometipsthathave,overaperiodoftime,
beenfoundusefulwhenworkingwiththeAutorouter.
Lookontheseexamplesassignpostssuggestingwaysinwhichaboardcanbe
routed.Noneofthesesuggestionsguaranteesuccess.

General
Thelayercosts(cfLayer)shouldincreasefromtheoutertotheinnerlayersor
bethesameforalllayers.Itisunfavourabletouselowervaluesintheinner
layers than in the outer layers. This could increase the needed routing
memoryenormously.
TheAutoroutercan'tlayoutwiresasarcs!
TheAutoroutercan'tsetmicrovias!

Single-Sided Boards
Therearetwoprocedures,dependingonthekindoflayout:
Inthesimplestcase,onlylayer16,Bottom,isactive.Nopreferreddirectionis
defined.SelectasuitablegridandruntheAutorouter.
Ifthelayoutisrathermorecomplex,itmaybepossibletoachieveausable
resultwithspecialparametersettings.Pleasetakealookattheprojectnamed
singlesided,whichcanbefoundintheeagle/projects/examplesdirectory.This
exampleprojectcomeswithvariouscontrolfiles(*.ctl),whichareoptimized
forsinglesidedrouting.
TheAutoroutermayusetheToplayeraswell.Thetrackslaidtherewillbe
realizedaswirebridgesontheboard.Inlayer41, tRestrict,youcandefine
restrictedareasaroundthecomponentsandinregionswherewirebridges
arenotallowed.
Feelfreetoexperimentwiththeparametersettingsforyourlayout.

217

7 The Autorouter

SMD Boards With Supply Layers


Thefollowingprocedurehasbeenfoundeffective:
Thesupplysignalsareroutedfirst.Ingeneral,ashorttrackiswantedfroma
SMDcomponenttoaviathatconnectstotheinnerlayer.
Before altering the parameters, save the current (default) values in an
Autoroutercontrolfile(CTLfile).ClickonthebuttonSaveas..intheGeneral
tab of the Autorouter setup window and input any name, for example,
standard.ctl.
Now switch off the bus router and all the optimization passes in the
Autoroutersetup.Onlytheroutingremainsactive.Alterthefollowingcost
factors:
cfVia = 0 Vias are welcome
mnVia = 1

Max. one via per connection

cfBase.1/16 = 30..99 Fewer tracks in Top/Bottom


mnSegments = 2..8 Short tracks
StarttheAutorouter,usingthe Select button,andchoosethesignalstobe
routed.Aftertheroutingpassitispossible,ifappropriate,tooptimizethe
resultmanually.
The rest of the connections are routed after this. Use AUTO to open the
Autoroutersetupmenu,andloadthepreviousstoredcontrolparameterswith
theLoad..button(standard.ctl).Adjustthevaluestoanyspecialwishesyou
mayhave,andstarttheAutorouter.

What can be done if not all signals are routed?


Ifthishappens,checkyoursettings.
Hasasufficientlyfineroutinggridbeenselected?
Havethetrackwidthsgotappropriatedimensions?
Cantheviashavesmallerdiameters?
Havetheminimumclearancesbeenoptimallychosen?
Ifitiseitherimpossibleorunreasonabletooptimizethesevaluesanyfurther,
anattempttoachieveahigherlevelofroutingmaybemadebyincreasing
the ripup level. Observe the notes in the section on the Number of
Ripup/RetryAttemptsonpage211.

7.14 The Follow-me Router


Tosimplifytheroutingofairwiresontheboard,theROUTEcommandoffers
two followme operating modes that can route a selected signal
automatically.Thepositionofthemousecursorinthelayoutdeterminesthe
traceoftheconnection.
ForthisfunctionyourlicensemustprovidetheAutoroutermodule.
218

7.14 The Follow-me Router

Partial and Full Mode


TostarttheFollowmerouter,activatetheROUTEcommandandselectthe
wirebendmode8or9fromtheparametertoolbar.

ParametertoolbaroftheROUTEcommand
After clicking onto an airwire, EAGLE calculates an appropriate trace and
displaystheconnection.Moveingthemousecursorwillchangethecurrent
trace.Traceprocessingdependsonthecomplexityofthelayoutandmaylast
somemoments.Itisrecommendednottomovethemousecursoruntilthe
connectionisdisplayed.
If you select wire bend mode 8
, the socalled partial mode, EAGLE
calculatesthetraceoftheselectedsignal,beginningwiththemousecursor
positiontothenearerendoftheairwire,anddisplayit.Fixtheresultwitha
mouseclick.Theremainingpartoftheairwirewillbecalculateddynamically.
Thismeans,thattheairwiremaypointtoanotherobjectthatbelongstothe
signal,dependingonthecurrentmousecursorposition.
Withwirebendmode9
,thefullmode,theFollowmeroutercalculates
thetraceinbothdirectionssimultaneously.Acompleteconnectionwillbe
estblished. As soon as you are clicking onto an airwire, EAGLE begins to
calculatethetraceoftheconnectionfromthenearerendoftheairwiretothe
currentmouseposition.Itisnotmandatorythatthefarerendoftheairwire
pointsalwaystoitsoriginalposition.Dependingonthemousecursorposition
thisendpointmaydirectyoutoanother(nearer)location.
If it is not possible to draw a connection from the current mouse cursor
position,thecursorturnsintoasmallprohibitionsign.Movethemouseand
trytofindapossiblewayfortheconnection.Maybeitissufficienttochange
thelayeratthecurrent position.Itcouldalsobeadviceabletoadjustthe
Design Rules. Please keep in mind that restricted areas in the layers
t/bRestrict orwiresinthe Dimension layercanhinderEAGLEtoestablisha
connection.

Configuration
TheFollowmerouterrespectsDesignRulessettings:
ValuesforClearance,Distance,andSizewillbetakeninconsideration,aswell
asparticularvaluesfornetclasses,ifdefined.Pleasebesurethatthe Layer
setupintheLayerstabisproperlyset.
ThecurrentgridsettingintheLayouteditorservesasroutinggrid.Usethe
GRIDcommandinordertochangeit.Ifthereisalreadyasignalassignedto
mousecursor,dropit,andselectitagain.Otherwisethegridchangedoesnot
affecttheconnection.
219

7 The Autorouter
The layer setting, which can be checked and changed in the parameter
toolbaroftheROUTEcommand,displaysthelayerwhichhastobeusedat
themousecursorposition.
TheFollowmerouterreactsimmediatelyonchangesconcerningwirewidth
ordrilldiameterofvias.Iftheoption Autosetroutewidthanddrill inthe
Options/Set/Misc menuisset,theFollowmerouteradaptsthegivenvalues
forwirewidthandviadrilldiameterfromtheDesignRulesandfromthenet
classesassoonasanairwireisselected.

Routing Parameters
ParametersthataffecttheroutingstrategyaresetbyclickingontotheAUTO
icon
,whichisavailableintheparametertoolbarafterenteringoneofthe
followme modes. Click this icon in order to open the known Autorouter
Setupwindow.
Alternativelyyoucanopenthissetupwindowfromthecommandline.Type:
AUTO FOLLOWME
IntheGeneraltabyoudecideaboutpreferreddirectionsinthesignallayers
(|vertical,horizontal,/diagonal45,\diagonal135,or*nopreferred
direction).InmanycasesitmakessensefortheFollowmeroutertochoose
nopreferreddirectioninthesignallayers.
Settingsthatinfluencethewayhowtraceswillberoutedinthelayoutare
definedintheFollowmetab.

Followmerouter:Settingroutingparameters
Theeffectsoftheseparametersareexplainedinsection7.6,beginningwith
page208.
IntheMaximumsection,youcandefinethenumberofViastheroutermay
useforoneconnection.Ifthisvalueissetto0,theFollowmerouterisnot
allowedtosetviasautomatically.However,youareabletomanuallysetavia
bychangingthelayer.
220

7.14 The Follow-me Router


Thevaluefor Segments definesthemaximumnumberofwire segments a
connectionmayconsistof.Ifyouchooseittoosmall,itmayhappenthatno
connectionwillbeestablished.

Notes
TheFollowmeroutersupportsroundandoctagonviashapesonly.Square
shapedviasarenotpossible.
If you are working in Full mode, the Followme router works in both
directions independently, beginning with the mouse cursor position. So it
could happen that the router places two vias very close to or even
overlappingeachothernearthecurrentpositionofthemousecursor.Inthis
casemovethemousecursorslightly,untiltheviasareoptimizedandthe
tracelooksgood.
It'srecommendedtodrawaDimensionlineinlayer20inordertolimitthe
boardareaandthereforerequiredtimeandmemory.
Dependingonthecomplexityofyourdesign,itmaybewisetoincreasethe
costfactorfor Vias anddecreaseitfor NonPref.Thisavoidsfrequentlayer
changes.

221

7 The Autorouter

This
page
hasbeen
leftfree
intentionally.

222

Chapter 8
Component Design Explained
through Examples
WhendevelopingcircuitswithEAGLE,componentsarefetchedfromlibraries
andplacedintotheschematicor,iftheSchematicEditorisnotbeingused,
intothelayout.Allthecomponentinformationisthensavedintheschematic
orboardfile.Thelibrariesarenolongerneededforcontinuedworkwiththe
data.Sowhenyouwanttopassyourschematictoathirdpartytohavea
layout made from it, you do not also have to supply the libraries. An
alterationinalibraryhasnoeffectonaschematicorboard.
The most important procedures for designing components (Devices) and
working with libraries are explained from page 79 on. Please read this
paragraphbeforeyoucontinuetoreadthecurrentchapter!
Somepracticalexamplesfollow,fromwhichtheeffectiveapplicationofthe
relevant commands and parameters will be seen. First we will take the
exampleofaresistorandgothroughthewholeprocessofdesigningasimple
component.
Thesecondexampleprovidesafulldescriptionofthedefinitionofacomplex
component,includingvariousPackagevariantsandtechnologies.Afterthat
weshalldiscussthespecialfeatureswhichhavetobetakenintoaccountwith
morecomplicatedcomponents.
Startingatpage279hintsconcerninglibraryandDevicemanagementcanbe
found.Howtocreatemyownlibrary?Howtocopyelementsfromonelibrary
intoanother?
FirstattemptsateditingPackages,Symbols,orDevicesmayresultintheneed
todeletevariouslibrary elements. Todothis,usetheREMOVEcommand
(seepage282).

8.1 Definition of a Simple Resistor


First open a new library in the EAGLE Control Panel using the
File/New/Librarymenu.
Alternativelyyoucantypethecommand
OPEN
inthecommandlineoftheSchematicorLayoutEditorwindows.Thenenter
alibrarynameinthefiledialog.TheLibrarywindowopens.
223

8 Component Design Explained through Examples

Resistor Package
Define a New Package
SelectthePackageeditingmodeviatheiconintheactiontoolbar,and
enterthePackagename R10 inthe New field.Answerthequestion Create
newpackage'R10'?withYes.LaterwhencreatinganewSymbolandanew
DeviceyouwillagainhavetoanswerthecorrespondingquestionswithYes.

Set the Grid


Use the GRID command to set an appropriate grid size for the pad
placement.0.05inch(i.e.50mil)isusualforstandardcomponentswithlead
wires.

Solder Pads
Foraresistorwithleadwires,selectthePADcommand,andsetthepad
shapeandthedrilldiameterintheparametertoolbar.Thedefaultvaluefor
the pad diameter is auto (respectively 0).Thisvalue should bekept. The
actualdiameterisspecifiedbytheDesignRulesforthelayout.Thenplace
twopadsatthedesireddistance.Theoriginofthedrawingwilllaterbethe
identifying point with which a component is selected. For this reason it
shouldbesomewherenearthecenteroftheDevice.
Youshouldnotdrawanyobjectsinlayer17,Pads,or18,Vias!Theywill
notberecognized, nor bytheDRC,neither bypolygons drawninthe
layout,andcanleadtoshortcircuits!

For a SMD resistor, select the SMD command, and set the pad
dimensionsintheparametertoolbar.Youcaneitherselectoneoftheoffered
values,ordirectlytypethelengthandbreadthintotheentryfield.

SMDcommand:Parametertoolbar
AllpropertiescanbealteredafterplacementusingtheCHANGEcommandor
bytypingthecommanddirectlyonthecommandline.
Select Top asthelayer,evenifthe componentwilllaterbeplacedonthe
undersideoftheboard.SMDcomponentsarelocatedontheothersideofa
board using the MIRRORcommand. This moves the objectsin all the t..
layersintothecorrespondingb..layers.

224

8.1 Definition of a Simple Resistor


Place the two SMD pads (which in EAGLE are just called SMDs) at the
desireddistance.Itmaybenecessaryfirstofalltoalterthegridsettingtoa
suitablevalue.TheSMDcanberotatedwiththerightmousebuttonbeforeit
isplaced.
TheparameterRoundnessspecifieswhetherthecornersoftheSMDsaretobe
rounded.By default thisvalue is setto 0% (no rounding). This value is
usually kept,since thefinalroundness ofSMDsisspecified in theDesign
Rules. The help system provides you with more information about this
parameter.
AngledeterminestherotationoftheSMDpad.
TheINFOcommandorthePropertiesentryofthecontextmenuprovides
youwithaquicksummaryofthecurrentpropertiesofaSMDorPad.

Pad Name
Youcannowenterthenames,suchas 1 and 2,forthepadsorSMDs
usingtheNAMEcommand.

Silkscreen and Documentation Print

NowusethecommandsWIRE,ARC,CIRCLE,RECT,

andPOLYGONtodrawthesilkscreenSymbolinlayer21, tPlace.Thislayer
containswhatwillbeprintedontheboard.Itisuptoyouhowmuchdetail
yougivetotheSymbol.Setafinergridsizeifithelps.
Taketheinformationprovidedin library.txtasaguidelineforthedesignof
components. The line thickness for the silk screen is usually 0.008 inch
(0.2032mm),forsmallercomponents0.004inch(0.1016mm).
Layer51,tDocu,isnotusedtoprintontotheboarditself,butisasupplement
tothegraphicalpresentationwhichmightbeusedforprinteddocumentation.
Caremustbetakeninlayer21,tPlace,nottocoveranyareasthataretobe
soldered.Amorerealisticappearancecanbegiven,however,inthe tDocu
layer,whichisnotsubjecttothislimitation.Intheexampleoftheresistor,
theSymbolcanbedrawninlayer21,tPlace,butthewires,whichgooverthe
pads,aredrawninlayer51,tDocu.

225

8 Component Design Explained through Examples

ThePackageEditor

Labeling
With the TEXT command you place the texts >NAME (in layer 25,
tNames) and >VALUE (in layer 27, tValues) in those places where in the
boardtheactualnameandtheactualvaluearetoappear.0.07inchforthe
textheight(size)and10%fortheratio(relationshipofstrokewidthtotext
height, which can only be set, using CHANGE, for vector fonts) are
recommended.
Werecommendtowritethesetextsinvectorfont.Soyoucanbesurethat
itlooksexactlythesameontheprintedcircuitboardandintheLayout
Editor.
SMASH and MOVE can be used later to change the position of this text
relativetothepackagesymbolontheboard.
InthecaseofICs,forinstance,thevaluecorrespondstowhatwilllaterbethe
Devicename(e.g.74LS00).
WhenworkingwiththeLayoutEditoronly,thevalueisspecifiedinthe
board.

226

8.1 Definition of a Simple Resistor


Restricted area for components
Inlayer39,tKeepout,youshouldcreatearestrictedareaoverthewhole
component (RECT command). This allows the DRC to check whether
componentsonyourboardaretoocloseorevenoverlapping.

Description
Finally,youclickonthe Description box.Textcanthenbeentered inthe
lowerpartofthewindowwhichthenopens.HTMLtextcanbeused,which
permitsformattingofthetext.Youwillfinddetailedinformationinthehelp
systemunderHTMLText.
Example:
<b>R-10</b>
<p>
Resistor 10 mm grid.
Keywords from this text can be searched for from the ADD dialog in the
layout.
Donotforgettosavethelibraryfromtimetotime!

Note
The CHANGE command

can be used at a later stage to alter object

propertiessuchasthestrokethickness,textheight,padshape,orthelayerin
whichtheobjectislocated.
Ifyouwanttochangethepropertiesofseveralobjectsatonego,definea
groupwiththeGROUPcommand

,clicktheCHANGEcommand,select

theparameterandthevalue,andclickonthedrawingsurfacewiththeright
mousebuttonwhiletheCtrlkeyispressed.
Example:
UseGROUPtodefineagroupthatcontainsbothpads,thenselectCHANGE
andShape/Square.PresstheCtrlkey,andclickonthedrawingsurfacewith
therightmousebutton.Theshapeofbothpadschanges.

Resistor Symbol
Define a New Symbol
Selectthe Symboleditingmode,andentertheSymbolname R inthe
Newfield.Thisnameonlyhasameaninginternaltotheprogram,anddoes
notappearintheschematic.

227

8 Component Design Explained through Examples


Set the Grid
Nowcheckthat0.1inchissetasthegridsize.ThepinsintheSymbol
mustbeplacedonthisgrid,sincethisiswhatEAGLEexpects.

Place the Pins


SelectthePINcommand.Youcannowsetthepropertiesofthesepinsin
theparametertoolbar,beforeplacingthemwiththeleftmousebutton.All
thesepropertiescanbechangedatalaterstagewiththeCHANGEcommand.
Groupscanagainbedefined(GROUP)whosepropertiescanthenbealtered
withCHANGEandtherightmousebutton.Seealsopage227.

Pincommand:Parametertoolbar(splitintotwolines)
Orientation
Setthedirectionofthepins(Orientationparameter)usingthefourlefthand
iconsintheparametertoolbaror,moreconveniently,byrotatingwiththe
rightmousebutton.
Function
The function parameter is set with the next four icons on the parameter
toolbar.ThisspecifieswhethertheSymbolistobeshownwithaninversion
circle(Dot),withaclocksymbol(Clk),withboth(DotClk)orsimplyasa
stroke (None). The diagram illustrates the four representations on one
Package.

Pinfunctions

228

8.1 Definition of a Simple Resistor


Length
Thenextfouriconsontheparametertoolbarpermitsettingofthepinlength
(0,0.1inch,0.2inch,0.3inch).The0settingisusedifnopinlineistobe
visible,orif,asintheresistorSymbol,apinshorterthan0.1inchisdesired.
InthatcasethepinistobedrawnwiththeWIREcommandasalineinlayer
94,Symbols.
TheSHOWcommandcanbeusedtocheckwhetheranetisconnectedtoa
pinintheschematicdiagram.Thepinlineandthenetaredisplayedmore
brightlyiftheyareconnected.Ifapinwithlength0isused,orifitwas
drawnasalinewiththeWIREcommand,itcannotbedisplayedbrightly.
Visible
Thenextfouriconsintheparametertoolbarspecifywhetherthepinsareto
be labeled with pin names, pad names, both or neither. The diagram
illustratesanexampleinwhichpinnamesareshowninsideandpadnames
outside.Thelocationofthelabelrelativetothepinisfixed.Thetextheightis
alsofixed(at60mil).

Pinlabeling
Ifyouplanforyourdevicetoconnectonepinwithseveralpadsandyou
choosetheVisibleoptionBoth,thentherewillbeonlyoneofthepadnames
visibleintheschematic(thepadwiththelowestnumber).Thepadnamewill
befollowedbyanasterisk(*)inordertomarkthemultipadconnection.
Direction
TheDirectionparameterspecifiesthelogicaldirectionofthesignalflow:
NC
In
Out
IO
OC
Hiz
Pas
Pwr
Sup

Notconnected
Input
Output
Input/output
OpenCollectororOpenDrain
Highimpedanceoutput
Passive(resistors,etc.)
Powerpin(powersupplyinput)
Powersupplyoutputforgroundandsupplysymbols

TheElectricalRuleCheckexecutes,dependingonthepindirection,various
checks.Itexpectsforthedirection
229

8 Component Design Explained through Examples


NC
In
Out
OC
Pwr
IO,Hiz,Pas

anotconnectedpin
anetconnectedtothispinandnotonlyInpins
connectedtothisnet
notonlyOutpinsconnectedtothenet,noSuporOC
pinatthesamenet
noOutpinatthesamenet
aSuppinsetforthisnet
nospecialchecks

ThePwrandSupdirectionsareusedfortheautomaticconnectionofsupply
voltages(seepage260).
Swaplevel
Swaplevelsetto0meansthatthepincannotbeexchangedforanotherpinin
thesameGate.Anynumberbiggerthan0meansthatpinscanbeexchanged
forotherpinswhichhavethesameSwaplevelandaredefinedwithinthe
sameSymbol.Thepinscanbeswappedintheschematicorintheboardwith
thePINSWAPcommand.
ThetwopinsofaresistorcanhavethesameSwaplevel(e.g.1),sincethey
areinterchangeable.
Ifthelayer93, Pins,isbeingdisplayed,the connectionpointsonnetsare
shownwithgreencircles.TheDirectionand Swaplevelparametersmoreover
(herePasand1)aredisplayedinthislayer.
Theconnectionsofadiode,forinstance,cannotbeexchanged,andare
thereforegivenSwaplevel0.

Pin Names
TheNAMEcommandallowsyoutonamepinsaftertheyhavebeenplaced.
Theautomaticnameallocation,asdescribedonpage99alsooperates.

Schematic Symbol
TheschematicSymbolisdrawnintheSymbolslayerusingWIREandthe
otherdrawingcommands.Placethetexts>NAMEand>VALUEinlayers95,
Names,and96, Values (TEXTcommand).Placethemwherethenameand
valueofthecomponentaretoappearintheschematic.
Preciseplacementofthetextcanbeachievedbysettingthegridfiner,which
canevenbedonewhiletheTEXTcommandisactive.Afterwards,however,
settheagaingridto0.1inches.
Layer97,Info,maybeusedforadditionalinformationandhints.

Description
Clickontothe Description linkinordertoprovideadescriptivetextforthe
symbol.Youareallowedto useHTMLtagsforformattedtext.Moreinfo
aboutthiscanbefoundinthehelpfunction,HTMLtext.
230

8.1 Definition of a Simple Resistor

TheSymbolEditor

Resistor Device
Define a New Device
CreatethenewDeviceR10withthisicon.WhenyoulaterusetheADD
commandtofetchthecomponentintotheschematic,youwillselectitby
usingthisname.Itisonlyacoincidencethatinthiscasethenameofthe
PackageandthenameoftheDevicearethesame.
So enter the name R onthe New line. The Device Editor opens after the
confirmingquestionCreatenewdevice'R'?.

Selecting, Naming and Configuring Symbols


ThepreviouslydefinedresistorSymbolisfetchedintotheDevicewith
theADDcommand.
If a Device consists of several schematic Symbols which can be placed
independentlyofoneanotherinthecircuit(inEAGLEtheseareknownas
Gates),theneachGateistobeindividuallybroughtintotheschematicwith
theADDcommand.
SetanAddlevelofNextandaSwaplevelof0intheparametertoolbar,and
then placetheGatenear theorigin.There arefurther explanationsabout
Addlevelfrompage266on.
TheSwaplevelofaGatebehavesverymuchliketheSwaplevelofapin.The
valueof0meansthattheGatecannotbeexchangedforanotherGateinthe
Device.Avaluegreaterthan0meansthattheGatecanbeswappedwithin
231

8 Component Design Explained through Examples


the schematic for another Gate in the same Device and having the same
Swaplevel.ThecommandrequiredforthisisGATESWAP.
OnlyoneGateexistsinthisexample;theSwaplevelremains0.
You can change the name of the Gate or Gates with the NAME
command.ThenameisunimportantforaDevicewithonlyoneGate,sinceit
doesnotappearintheschematic.
Keeptheautomaticallygeneratedname!
InthecaseofDeviceswithseveralGates,thenameoftheparticularGateis
addedtothenameoftheDevice.
Example:
TheGatesarecalled A,B,CandD,andthenameofthecomponentinthe
schematicisIC1,sothenameswhichappearareIC1A,IC1B,IC1CandIC1D.

Selecting the Package


NowclickontheNewbuttonatthelowerrightoftheDeviceEditorwindow.
ChoosetheR10Packagefromtheselectionwindow,andenteranamefor
theversion.IfonlyonePackageversionisused,itisusualtousetwosingle
quotemarks('')forthenameofthePackageversion.Itis,however,quite
possibletoassignaparticularname.

ThePackageselection

Connections Between Pins and Pads


With the CONNECT command you specify which pins are taken to which
packagepads.
TheresistorgateinthisexampleisautomaticallyidentifiedasG$1,forwhich
reasonthepinsG$1.1andG$1.2ofthisgateappearinthePincolumn.
ThetwoconnectionsofthehousingarelistedinthePadcolumn.Markapin
andtheassociatedpad,andclickonConnect.
If you want to undo a connection that you have made, mark it in the
232

8.1 Definition of a Simple Resistor

TheCONNECTwindow
ConnectioncolumnandclickDisconnect.
Clickingonacolumn'sheaderbarchangesthesortingsequence.
FinishtheCONNECTcommandbyclickingonOK.

Define Prefix
ThePREFIXcommandisusedtospecifyaprefixforaname.Thenameitself
willinitiallybeautomaticallyallocatedintheschematic.Foraresistorthis
would,naturallyenough,beR.TheresistorswillthenbeidentifiedasR1,R2,
R3etc..
ThenamescanbealteredatanytimewiththeNAMEcommand

Value
On:

Youareallowedtochangethevalueintheschematic(forexample
forresistors).Withoutavaluethepartwillnotbespecifiedexactly.

Off:

ThevaluewillbegeneratedfromtheDevicenameandincludes
technologyandPackagevariant(e.g.74LS00N),ifavailable.
Alsorecommendedforsupplysymbols.

233

8 Component Design Explained through Examples

TheDeviceEditor:Fullydefinedresistor

Description
ClickonDescriptioninthedescriptionbox.Youcanenteradescriptionofthe
componenthere.ThesearchfacilityoftheADDcommandintheschematic
diagramwillsearchthroughthistext.
YoucanuseHTMLText,asinthePackagedescription.Youwillfindnotes
aboutthisinthehelpsystemunderthekeywordHTMLText.
Itcanlooklikethis:
<b>R-10</b>
<p>
Resistor 10mm package
Hyperlinkscontainedinthedescriptionoflibraryobjectsareopenedwith
theappropriateapplicationprogram.

Save
This completes definition of the resistor, and it can be fetched into the
schematicdiagram.Ifyouhavenotalreadysavedthelibrary,pleasedoitat
thisstage!

234

8.1 Definition of a Simple Resistor

Library Description
NotonlyPackagesandDevicescanhave descriptions,buttheLibraryasa
wholecanhaveoneaswell.ThisdescriptionisshownintheControlPanelas
soonasyouexpandtheLibrariesbranchoftheTreeviewandselectalibrary
entrythere.
Nomatterwhicheditormode(Symbol,Package,Device)iscurrentlyactive,
clicktheLibrary/Descriptionmenutoeditthedescription.YoucanuseHTML
text,ifyoulike.

Use Library
The newly created library has to be made available for the schematic or
layoutwiththehelpoftheUSEcommand.Thiscommandhastobeusedin
theSchematicorLayoutEditor.ItisalsopossibletomarkalibraryasinUse
intheControlPanel'streeview.Seehelpfordetails.
Now the library will be recognized by the ADD command and its search
function.

8.2 Defining a Complex Device


InthissectionweusetheexampleofaTTLchip(541032)todefinealibrary
elementthatistobeusedintwodifferentPackages(pinleadedandSMD).It
isaquadORgate.Theschematicdiagramsymbolistobedefinedinsucha
waythattheindividualORgatescanbeplacedoneafteranother.Thepower
supply pins are not initially visible in the schematic diagram, but can be
fetchedintothediagramifneeded.
Thedefinitionproceedsinthefollowingsteps:
Creatinganewlibrary
Drawingthepinleadedhousing(DIL14)
CreatingtheSMDhousing(LCC20)
Definingthelogicsymbol
Creatingthepowersupplysymbol
AssociatingthePackagesandSymbolstoformaDeviceset

235

8 Component Design Explained through Examples

Datasheetforthe541032

All the data for this component has been extracted from a data book
published by Texas Instruments, whom we thank for permission to
reproduceit.

236

8.2 Defining a Complex Device

Creating a New Library


ClickontheFile/New/LibrarymenuintheEAGLEControlPanel.TheLibrary
Editorwindowappears,containinganewlibrary,untitled.lbr.
Itis,ofcourse,alsopossibletoexpandanexistinglibrary.Inthatcaseyou
would use File/Open/Library toselect thelibrary youwant,oryouwould
click on the Libraries entry in the Control Panel's tree view, selecting the
desiredlibrarywithaclickoftherightmousebutton.Thiswillopenacontext
menu,oneofwhoseoptionsisOpen.TheLibraryEditorisopened.

Drawing the Pin-Leaded Package


ThecomponentismanufacturedinapinleadedPackage.ThisisaDIL14
housingwithapinspacingof2.54mm(0.1inch)andawidthof7.62mm
(0.3inch).
Ifthere isasuitablePackageinanotherlibrary,itcanbecopiedintothe
currentlibrary.Anewdefinitionwouldnotbenecessary.

DIL14datasheet
Clickontothe Editapackage iconintheactiontoolbar,andenterthe
nameofthePackageintheNewboxoftheEditmenu,whichisDIL14inour
presentexample.ClickOK,andconfirmthequestionCreatenewpackage'DIL
14'?byansweringYes.
ThePackageEditorwindownowopens.

237

8 Component Design Explained through Examples


Set the Grid
First set the appropriate grid (50 mil in this case) using the GRID
command,andletthegridlinesbevisible.
ThegridcaneasilybeshownandhiddenwiththeF6functionkey.

Place Pads
UsethePADcommand,andplacethesolderpadsinaccordancewiththe
specificationsonthedatasheet.Thepadsshouldbearrangedinsuchaway
that the coordinate origin is located somewhere near the center of the
Package.
Eachpadcanhaveindividualpropertiessuchas Shape, Diameter,and Drill
holediameter.Availableshapesare:Square,Round,Octagon,Long,andOffset
(Longwithoffsetdrill).
Selectthedesiredpadshapeandspecifytheholediameter.
The pad diameter usually is defined with the standard value auto
(respectively0),sincethesizeisfinallydeterminedinthelayoutbymeansof
theDesignRules,Restringtab.Thepadappearsinthelibrarywiththedefault
valueof55mil.
Youmay,however,assignanindividualvalue.If,forinstance,youspecify70
mil,theconsequenceisthatthediameterofthepadontheboardcannotbe
lessthan70mil(independentofthecalculatedvalueoftheDesignRules).
You select this value when the PAD command is active (i.e. the pad is
attachedtothemousecursor)usingtheparametertoolbar.Itisalsopossible
tospecifythedrillholediameterandthepadshape.

TheparametertoolbarwhenthePADcommandisactive
Thepropertiesofpadsthathavealreadybeenplacedcanbealteredatalater
stagebymeansoftheCHANGEcommand.ClickontotheCHANGEiconand
selectthepropertyandtheappropriatevalue.Thenclickontothepadswhose
propertiesaretobealtered.CHANGEcanalsobeappliedtogroups(using
theGROUPcommand).Afterthepropertyhasbeenselected,clickinsidethe
groupwiththerightmousebutton.
Assoonasapadhasbeenplaced,EAGLEautomaticallygeneratessolderstop
symbols in layers 29 and 30, t/bStop. The dimensions of the solder stop
symbolsisspecifiedintheDesignRules,Masktab,Stopparameter.
Padscanbemarkedwithspecialflags(First, Stop, Thermals).Theycanbe
alteredwithCHANGEsubsequently.GivingonepadofaPackagethe First
flag(CHANGEFIRSTON)allowstodefineaspecialshapeforitintheDesign
Rules, Shapestab,optionFirst,inordertomarkitasthenumber'1'padof
thePackage.
Setting the Thermals flag off prevents generating a Thermal symbol in a
238

8.2 Defining a Complex Device


copperarea.
CHANGE STOPOFFpreventsautomaticsolderstopmaskgenerationfora
pad.

Pad Name
EAGLE automatically assigns pad names, P$1, P$2, P$3 etc., as
placementproceeds.Assignthenamesinaccordancewiththeinformationin
thedatabook.
ThenamescanbecheckedeasilybyclickingtheOptions/Set/Miscmenuand
choosingthe Display padnames option.Allpadnamesare displayed after
refreshingthescreen(F2).
Alternativelytypeinthecommandline:
SET PAD ON
Tohidethepadnamesagain:
SET PAD OFF
Thefollowingprocedureisrecommendedforcomponentsthathavealarge
numberofsequentiallynumberedpads:
SelectthePADcommand,typeinthenameofthefirstpad,e.g.'1',andplace
thepadsinsequence.Thesinglequotemarksmustbetypedonthecommand
line.SeealsothesectiononNamesandAutomaticNamingonpage99.

Draw the Silk Screen Symbol

Asimplesilkscreensymbolthatistobevisibleon

the board is drawn in layer 21, tPlace. Use the commands WIRE, ARC,
CIRCLE,RECT,andPOLYGON.
Ensurethatitdoesnotcoversolderedareas,sincethiscancauseproblems
whentheboardscometobesoldered.Ifnecessary,usetheGRIDcommandto
set a finer grid or use the Alt key for the alternative grid (see GRID
command). Thestandardwidth(CHANGEWIDTH)forlines inthescreen
printis8milor4mil,dependingonthesizeofthecomponent.
Itisalsopossibletocreateanadditionalandratherbetterlookingsilkscreen
for documentation purposes in layer 51, tDocu. This may indeed cover
solderedareas,sinceitisnotoutputalongwiththemanufacturingdata.

Package Name and Package Value


Thelabellingnowfollows.UsetheTEXTcommandandwrite
>NAME
inlayer25,tNames,forthenameplaceholder,and
>VALUE

239

8 Component Design Explained through Examples


in layer 27, tValues, as the placeholder forthe value, and place thisat a
suitablelocation.Weuseproportionalfontwithatextheightof70milas
default.
IfyouwanttohavetextsupsidedownbyaPackagerotationof180,you
havetousetheSpinflag(seehelpfunctionforTEXTcommand).
ThetextscanberelocatedatalaterstageusingSMASHandMOVE.
Werecommendtowritethesetextsinvectorfont.Soyoucanbesurethat
it looks exactly the same on theprinted boardasit is in theLayout
Editor.

Areas Forbidden to Components

Inlayer39,tKeepout,youshouldcreatearestrictedareaoverthe

whole component using the RECT command ordraw aframe around the
PackagewithWIRE.ThisallowstheDRCtocheckwhethercomponentson
yourboardaretoocloseorevenoverlapping.

Description
ClickonDescriptioninthedescriptionbox.Awindowopensinwhoselower
part it is possible to enter text, while the formatted appearance of the
descriptionisdisplayedintheupperpart(Headline).Thetextcanbeentered
inHTMLformat.EAGLEworkswithasubsetofHTMLtagsthatallowthetext
tobeformatted.Youwillfinddetailedinformationinthehelpsystemunder
HTMLText.
ThedescriptivetextforourDIL14mightlooklikethis:
<b>DIL-14</b>
<p>
14-Pin Dual Inline Plastic Package, Standard Width 300 mil
Itisalsopossibletoadd,forinstance,thereferencedatabook,
theemailaddressofthesourceorotherinformationhere.Thesearchfacility
intheLayoutEditor'sADDdialogalsolooksinthistextforkeywords.
Hyperlinkscontainedinthedescriptionoflibraryobjectsareopenedwith
theappropriateapplicationprogram.

240

8.2 Defining a Complex Device

PackageEditorwithDIL14

Save
Atthisstageifnotbeforethelibraryshouldbesavedunderitsownname
(e.g.my_lib.lbr).

Defining the SMD Package


Thesecondtypeofhousingforthiscomponentmaybeseeninthefollowing
scaledrawing.

241

8 Component Design Explained through Examples

SMDpackage,FKversion
Thesizeofthesolderingareasistobe0.8mmx2.0mm.TheSMD1,at0.8
mmx3.4mm,islarger.
Clickagainontothe Editapackage icon,andenter thenameofthe
PackageintheNewboxintheeditmenu.ThePackageistobecalledLCC20.
ClickOKandconfirmthequestionCreatenewpackage'LCC20'?byanswering
Yes.

Set the Grid


Adjust thegrid to 0.635 mm (0.025 inch),and letthegrid lines be
visible.Itisusefultodefineanalternativegridof0.05mmfordesigningthis
Package.

242

8.2 Defining a Complex Device


Placing SMD Solder Pads
SMDdevicesaregenerallydefinedonthetopoftheboard;SMDsare
thereforealwaysinlayer1,Top.
Ifyoudowanttohavecomponentsonthesolderside,theitemisifneeded
reflectedontheboardwiththeMIRRORcommand.Seealsothesectionon
page272.
Beginbyplacing5SMDsatadistanceof1,27mmfromeachotherintwo
horizontalrowsclosetothecoordinateorigin.Sincethevalue0.8x2.0isnot
containedintheSMDmenu,thismustbeenteredas0.82.0,eitheronthe
commandlineorintheSMDboxontheparametertoolbar.
ClickthereforeontotheSMDicon,andtype
0.8 2
inthecommandline.Createtwoverticalrowsaswell. TheSMDscanbe
rotatedin90degreeincrementswiththerightmousebutton.

PlacingtheSMDs
The Roundness parameter (CHANGE command) specifies whether curves
shouldbegiventothecornersofthesolderpads.Thedefaultvalueis0%,
whichmeansthatthereisnorounding.
Seealsothesectiononpage149.
IfasquareSMDisselected,andifRoundnessisdefinedas100%,theresultis
a roundSMD,asisneededwhencreatingballgridarrayhousings(BGA).
Roundness isusuallychosentobe0%whenaPackageisbeingdefined.A
243

8 Component Design Explained through Examples


generalvaluecanbespecifiedintheDesignRulesifslightlyroundedsolder
padsarepreferred.
Drag the 4 SMD rows into the correct position. Therefore use the finer
alternativegridof0.05mmbypressingtheAltkey.ThecommandsGROUP
andMOVE,followedbyarightmouseclickonthemarkedgroupwhilethe
Ctrl keyispressedcanbeusedtodragthemarkedgroupintothecorrect
position.ThesizeofthecentralSMDsintheupperrowcanbealteredwith
theCHANGESMDcommand.Sincethevalue0.8x3.4isnotcontainedinthe
menuasstandard,type
change smd 0.8 3.4
ontothecommandline,thenclicktheSMD.DragitwithMOVEsothatitis
locatedatthecorrectposition.
TheINFOcommandisfirstchoiceforcheckingthepositionsandpropertiesof
thesolderpadsandmodifyingthem,ifneeded.
WhenaSMDisplaced(intheToplayer),symbolsforsolderstopandsolder
cream are automatically created in layer 29, tStop, and layer 31, tCream,
respectively.
Ifthecomponentinthelayoutismirroredontothebottomside,theseare
changed tothelayerswith thecorrespondingfunctions,namely30, bStop
and32,bCream.
SMDscanhavespecialflags(Stop, Cream, Thermals)thatcanbemodified
withtheCHANGEcommand.
Settingthe Thermals flagoffavoidsaThermalsymbolfortheSMDcopper
areas.
CHANGE STOP OFF or CHANGE CREAM OFF prevents EAGLE from
generatingasolderstopmaskoracreamframefortheSMDautomatically.
SeealsohelpfunctionaboutCHANGEandSMD.

SMD Names
IfnonamesarevisibleintheSMDpads,clicktheOptions/Set/Miscmenuand
activatetheDisplaypadnamesoption.
Alternativelyyoucantypethefollowingontothecommandline:
set pad_names on
UsetheNAMEcommandtoadjustthenamestomatchthespecifications
ofthedatasheet.
ItisalternativelypossibletoassignnamesastheSMDsarebeingplaced,if
thecomponenthasalargenumberofpadswithsequentialnumbers.Select
theSMDcommand,typeinthenameofthefirstSMD,e.g.'1',andplacethe
padsinthecorrectsequence.Thesinglequotemarksmustbeenteredonthe
commandline.
SeealsothesectiononNamesandAutomaticNamingonpage99.
244

8.2 Defining a Complex Device


Youcanalsocombineseveralstatementsonthecommandline,forexample:
smd 0.8 2 '1'
ASMDof0.8mmx2.0mmnamed1isnowattachedtothemousecursor.

Draw the Silk Screen


Firstsetthegrid

toasuitablevaluesuchas0.254mm(10mil).

Drawthesilkscreenprintinlayer21,tPlace.

Notethatthesilkscreenprintmustnotcoversolderedareas,asthiswill
causeproblemswhentheboardcomestobesoldered.
The default value for the line width is 8 mil (0.2032 mm), for smaller
components4mil(0.1016mm).
It is also possible to create an additional, more detailed, silk screen for
documentationpurposesinlayer51, tdocu.Thismayindeedcoversoldered
areas,sinceitisnotoutputalongwiththemanufacturingdata.

Package Name and Package Value


Thelabelingnowfollows.UsetheTEXTcommandandwrite
>NAME
inlayer25,tNames,forthenameplaceholder,and
>VALUE
in layer 27, tValues, asthe placeholder for the value, and place this ata
suitablelocation.Thetextscanbeseparatedandrelocatedatalaterstage
usingSMASHandMOVE.
Werecommendtowritethesetextsinvectorfont.Soyoucanbesurethat
itlooks exactly thesame on theprinted boardas it is in the Layout
Editor.

Area Forbidden to Components

Inlayer39,tKeepout,youshouldcreateaforbiddenareaoverthe

wholecomponent(RECTcommand)ordrawaframearound thePackage
withtheWIREcommand.ThisallowstheDRCtocheckwhethercomponents
onyourboardaretooclose,orevenoverlapping.

245

8 Component Design Explained through Examples


Locating Point (Origin)
Assoonasyouhavefinisheddrawingthepackage,pleasecheckwherethe
coordinateoriginislocated.Itshouldbesomewherenearthemiddleofthe
Package.Ifnecessary,useGRIDtochooseasuitablegrid(e.g.0.635mm),
andshiftthewholePackagewithGROUPandMOVE.
Firstmakesurethatallthelayersaremadevisible(DISPLAYALL).Thatis
theonlywaytobesurethatalltheobjectshaveindeedbeenmoved.

Description
Thenclickon Description inthedescriptionbox.Youcaninsertadetailed
descriptionofthisPackageformhere.HTMLTextcanbeused.Thisformatis
describedintheprogram'shelpsystemunderHTMLText.
TheentryoftheLCC20inHTMLtextformatcouldlooklikethis:
<b>LCC-20</b>
<p>
FK ceramic chip carrier package from Texas
Instruments.
TheADDdialogintheLayoutEditorcansearchforthisdescriptionorfor
keywordswithinit.

Save

ThefullydefinedLCC20
Pleasedonotforgettosavethelibraryfromtimetotime!

246

8.2 Defining a Complex Device


Supposed you found a Package that is exactly the one you need in
another library file, simply copy it into your current library. More
informationaboutthisonpage279.

Defining the Logic Symbol for the Schematic


Diagram
OurDevicecontainsfourORgates,eachhavingtwoinputsandoneoutput.
WefirstcreateanORsymbol.

Logicalappearanceofthe541032

ClickontotheEditasymbolicon.EnteranamefortheSymbolonthe
New line, such as 2input_positive_or, and click OK. Confirm the question
Createnewsymbol'2input_positive_or'?byansweringYes.Younowhavethe
SymbolEditorwindowinfrontofyou.

Check the Grid


Checkthatthegridissettothedefaultvalueof0.1inch.Pleasetryto
useonlythisgrid,atleastwhenplacingthepins.
It is essential that pins and net lines are located on the same grid.
Otherwisetherewillnotbeanyelectricalconnectionbetweenthenetand
thepin!

Place the Pins


SelectthePINcommand,andplace3pins.Thepinpropertiescanbe
changedbymeansoftheparametertoolbaraslongasthepinisattachedto
themousecursorandhasnotbeenplaced.Ifapinhasalreadybeenplaced,
247

8 Component Design Explained through Examples


itspropertiescanbealteredatalaterstagewiththeCHANGEcommand.A
number of pins can be handled at the same time with the GROUP and
CHANGE commands followed by a click into the drawing with the right
mouse button while the Ctrl key is pressed. The parameters Orientation,
Function, Length, Visible, Direction and Swaplevel have been thoroughly
described when the example oftheresistor symbolwasexamined (seep.
227).
ThecoordinateoriginshouldbesomewherenearthecenteroftheSymbol,
and,ifpossible,notdirectlyunderapinconnectionpoint.Thismakesiteasy
toselectobjectsintheschematicdiagram.

Pin Name
YouassignpinnameswiththeNAMEcommand.InourSymbolthetwo
inputpinsarenamedAandB,andtheoutputpinisnamedY.
Pinscarrying invertedsignals(activelow)canbedisplayedwithabarover
thenametext.Anexclamationmarkstartsandendsthebar.
!bar_above_text!normalresultsinbar_above_text-normal
FurtherexamplescanbefoundinthehelpfunctionoftheTEXTcommand.

Draw the Symbol


UsetheWIREcommandtodrawtheSymbolinlayer94,Symbols.The
standardlinethicknessfortheSymbolEditoris10mil.Youmayalsochoose
anyotherlinethickness.

Placeholders for NAME and VALUE


Forthecomponentlabeling,usetheTEXTcommandintheschematic
diagramtowrite
>NAME
inlayer95,Namesand
>VALUE
inlayer96,Values.Placethetwotextsatasuitablelocation.Itispossibleto
movethetextsagainintheschematicdiagramafterusingSMASHtoseparate
it. The Symbol should now have the appearance shown in the following
diagram.

Description
Clickontothe Description linkinordertoprovideadescriptivetextforthe
symbol.Youareallowedto useHTMLtagsforformattedtext.Moreinfo
aboutthiscanbefoundinthehelpfunction,HTMLtext.

Save
Thisisagoodmomenttosavetheworkthatyouhavedonesofar.
248

8.2 Defining a Complex Device


Supposed you found a Symbol that is exactly the one you need use
GROUP,COPY,andPASTE tocopyitintothecurrentlibrary.Seealso
page280.

TheSymbolEditor:Logicsymbol(Americanrepresentation)

Defining a Power Supply Symbol


Twopinsareneededforthesupplyvoltage.Thesearekeptinaseparate
Symbol,sincetheywillnotinitiallybevisibleintheschematicdiagram.
ClickontotheEditasymbolicon.EnteranamefortheSymbolonthe
new line,suchas VCCGND,andclick OK.Confirmthequestion Createnew
symbol'VCCGND'?withYes.

Check the Grid


Firstcheckthatthegridissettothedefaultvalueof0.1inch.Onlyever
usethisgridwhenplacingpins!

Place the Pins


FetchandplacetwopinswiththePINcommand.Thecoordinateorigin
shouldbesomewherenearthecenteroftheSymbol.
249

8 Component Design Explained through Examples


BothpinsaregivenPWRastheirdirection.Todothis,clickwiththemouse
onCHANGE,selecttheDirectionoption,andchoosePWR.Nowclickontothe
twopinstoassignthisproperty.
Thegreenpinlabelisupdated,andnowshowsPwr0.Itisonlyvisiblewhen
layer93,Pins,isactive!

Pin Name
Youuse theNAME commandtogivethetwopinsthenamesofthe
signalsthattheyaretocarry.Inthiscase,theseareGNDandVCC.
Forreasonsofappearance,thepinpropertyVisibleissettoPadintheSymbol
shownbelow,andthepinlabelhasbeenplacedonlayer95, Names,using
TEXT.

Placeholders for NAME and VALUE


Forthecomponentlabelling,usetheTEXTcommandintheschematic
diagramtowrite
>NAME

TheSymbolEditor:Supplysymbol
inlayer95, Names.Placethetextatasuitablelocation.Noplaceholderis
necessaryforvaluehere.

250

8.2 Defining a Complex Device

Associating the Packages and Symbols to Form a


Device Set
Wenowcometothefinalstep,thedefinitionoftheDeviceset.ADeviceset
isanassociationofSymbolsandPackagevariantstoformrealcomponents
ADevicesetconsistsofseveralDevices,whichusethesameSymbolsforthe
schematicbutdifferenttechnologiesorPackagevariants.
DefiningaDevicesetoraDeviceconsistsessentiallyofthefollowingsteps:
SelectSymbol(s),namethemandspecifyproperties
AssignPackage(s)orspecifyvariants
SpecifytheassignmentofpinstopadsusingtheCONNECTcommand
Definetechnologies(ifdesired/necessary)
Stateprefixandvalue
DescribetheDevice

ClickontotheEditadeviceicon.EnterthenamefortheDeviceonthe
Newline.
Inourexamplethisisa541032A.ThisDeviceistobeusedintwodifferent
technologies,asthe54AS1032Aandasthe54ALS1032A.The*isusedasa
placeholder at a suitable location in the Device name to represent the
differenttechnologies.Enter,therefore,thename54*1032A,andconfirmthe
questionCreatenewdevice'54*1032A'?withYes.
TheDeviceEditorwindowopens.
Aquestionmark?aspartoftheDevicenameisusedasaplaceholderfor
thePackageVariantname.Ifyoudon'tusea?,EAGLEaddsthePackage
VariantnameattheendoftheDevicenameautomatically.

Select Symbols
FirstuseADDtofetchtheSymbolsthatbelongtothisDevice.Awindow
opensinwhichalltheSymbolsavailableinthecurrentlibraryaredisplayed.
Doubleclickontothe2input_positive_orsymbolandplaceitfourtimes.
ClickagainontheADDicon,andselectthe'VCCGND'Symbolfromthelist.
Placethistooontothedrawingarea.

Naming the Gates


A Symbol that is used in a Device is known as a Gate. They are
automatically given generated names (G$1, G$2 etc.). This name is not
usuallyshownontheschematicdiagram.
251

8 Component Design Explained through Examples


Itisneverthelesshelpfultoassignindividual Gatenameswhencomponents
arecomposedofanumberofGates.TodistinguishtheindividualORgates,
youusetheNAMEcommandtoaltertheGatenames.AssignthenamesA,B,
CandD,andnamethepowersupplygateP.

Specify Addlevel and Swaplevel


The Addlevel can be used to specify how the gates are placed in the
schematicdiagrambytheADDcommand.YoucanseethecurrentAddlevel
foreachGatewrittenaboveleftinlayer93,Pins.
AssigntheAddlevel NextforGatesAtoD,andtheAddlevelRequestto
thepowersupplygate.DothisbyclickingontotheCHANGEicon,selecting
theAddlevelentry,andthenselectingthedesiredvalueforagate.Thenclick
ontheGateyouwanttochange.
ThismeansthatassoonasthefirstORgatehasbeenplacedontheschematic
diagram,thenextoneisattachedtothemousecursor.All4gatescanbe
placedoneafteranother.Thepowergatedoesnotautomaticallyappear.You
can,however,fetchitintotheschematicdiagramifnecessary,bymakinguse
oftheINVOKEcommand.
TheparameterADDLEVELisdescribedinfulldetailinthesectionentitled
MoreAbouttheAddlevelParameteronpage266.
TheSwapleveldetermineswhetheraDevice'sgatescanbeswappedwithin
theschematicdiagram.Thevaluethatiscurrentlysetis liketheAddlevel
displayedaboveleftinlayer93, Pins,foreachgate.Thedefaultvalueis0,
meaning that the gates may not be exchanged. Gates with the same
Swaplevelcanbeexchangedwithoneanother.
OurDeviceconsistsoffouridenticalGatesthatmaybeswapped.Clickonto
CHANGE,selecttheSwaplevelentry,andenterthevalue1.Clickonthefour
ORgates.Theinformationtextinlayer93,Pins,changescorrespondingly.

Choosing the Package Variants


In the Device Editor window, click the New button at the lower right. A
windowopensthatdisplaysthePackagesdefinedinthislibrary.Selectthe
DIL14packageandgivetheversionnameJ.ClickOK.
Repeatthisprocedure,selecttheLCC20,andgivetheversionnameFK.
InthelistontherightyouwillnowseethechosenPackagevariants,witha
simplerepresentationoftheselectedPackageaboveit.
ClickingonaPackagevariantentrywiththerightmousebuttonwillopena
contextmenu.Thisallowsvariantstobedeleted,renamedornewlycreated,
Technologies to be defined, the CONNECT command to be called, or the
Packageeditortobeopened.
Bothentriesaremarkedbyayellowsymbolwithanexclamationmark.This
meansthattheassignmentofpinsandpadshasnotyetbeen(fully)carried
out.
252

8.2 Defining a Complex Device


Supposed you don't find the appropriate Package variant in the current
library you may use Packages from another library. Use the PACKAGE
commandtocopythePackageintothecurrentvariantandtodefineanew
variant.
Example:
PACKAGE DIL14@d:\eagle\lbr\ref-packages.lbr J
ThiscommandcopiesthePackagenamed DIL14 fromrefpackages.lbr into
thecurrentlibrary.SimultaneouslythevariantJisgeneratedfortheDevice.
Seealsopage274.

The Connect Command

Thepinassignmentforthe
packages
Thismustbethe mostimportant step inthelibrary definition. CONNECT
assigns each pin to one ore more pads. The way in which nets in the
schematicdiagram areconverted into signallines inthelayoutisdefined
here.Eachnetatapincreatesasignallineatapad.Thepinassignmentfor
the541032isspecifiedinthedatasheet.Checktheconnectsinthelibrary
withcare.Errorsthatmaypassunnoticedherecanmakethelayoutuseless.
SelecttheJversionfromthePackagelistandclicktheCONNECTbutton.The
connectwindowopens.

253

8 Component Design Explained through Examples

CONNECTdialog
Thelistofpinsisontheleft,andthepadsareinthecenter.Clickontoapin
entry,andselecttheassociatedpad.Bothentriesarenowmarked.Youjoin
themwiththeconnectbutton.Thispairnowappearsontheright,inthe
Connection column. Join each pin to its pad in accordance with the data
sheet.FinishthedefinitionbyclickingOK.
PleasenotethatinourexampletheGatesarenamedA,B,C,andDwhile
theyarenamed1,2,3,and4inthedatasheet.
DefinetheconnectionsforthesecondPackageversion,FK,inthesameway.
Selecttheversion,andclicktheConnectbutton.Theusualdialogappearsin
theconnectwindow.Proceedexactlyasdescribedabove.
Pleasenotethatsixpadsarenotconnectedinthisversion.Theyareleftover
inthePadcolumn.FinishtheprocessbyclickingOK.
There is now a green tick totheright of bothPackage variants, and this
indicatesthat connectioniscomplete.Thisisonlytrue whenevery pinis
connectedtoapad.
Itisnotpossibletoconnectseveralpinswithacommonpad!
A Device may contain more pads than pins, but not the other way
around!
PinswithdirectionNC(notconnected)mustbeconnectedtoapad,as
well!
Inthesection 8.4beginningwithpage 259isexplainedhowtousethe
Append buttonoftheConnectdialoginordertoconnectonepinwith
morethanonepad.

254

8.2 Defining a Complex Device


Defining Technologies
Asnotedabove,the541032istobeusedintwodifferenttechnologies AS
and ALS. By including a * as a placeholder in the Device name we have
alreadytakenthefirststeptowardsthis.Intheschematicdiagramthecode
forthechosentechnologywillappearinsteadofthe*.Thedatasheetshows
thatbothtechnologiesareavailableinbothPackages.
SelecttheJPackagefromthelistontherightoftheDeviceEditorwindow.
ThenclickontoTechnologiesinthedescriptionbox.Thetechnologieswindow
opens.DefinethetechnologyintheNewline,andconfirmtheentrywithOK.
Whentheentryhasbeencompleted,the AS and ALS entriesareactivated
withatick.

TechnologiesforpackagevariantJ
ClosethewindowbyclickingOKagain.
SelecttheFKversionfromthePackagelist.Clickonto Technologies inthe
descriptionboxagain.YouwillnowseethatASandALSareavailableas
selectionsinthetechnologieswindow.Activatebothofthesebyclickinginto
thesmallboxtotheleft,sothatatickisdisplayed.Finishthedefinitionby
clickingOK.
ThetechnologiesavailablefortheselectedPackageversionarenowlistedin
thedescriptionareaoftheDeviceEditor.

Specifying the Prefix


Theprefix oftheDevice nameisdefined simply byclickingonthe Prefix
button.ICistobeenteredinthisexample.

Value
ThesettingofvaluedetermineswhethertheVALUEcommandcanbeusedto
alterthevalueoftheDeviceintheschematicdiagramandinthelayout.
On:

Youareallowedtochangethevalueintheschematic(forexample
forresistors).Definingthevalueisnecessarytospecifythepart.

Off:

ThevaluewillbegeneratedfromtheDevicenamewhichcan
includetechnologyandPackagevariantname(e.g.74LS00N).

EvenifValueissetOff,itispossibletochangethevalueofacomponentafter
confirmingawarningmessage.
If you change the initial value and decide to use another Technology or
255

8 Component Design Explained through Examples


PackagevariantlaterwithCHANGEPACKAGEorCHANGETECHNOLOGY,
theuserdefinedvaluewillremainunchanged.
Independently from the Value settings mentioned above, it is allowed to
defineanattributewiththenameVALUEandassignanyattributevalue.This
attributevaluewillbefinallyusedinschematicandboard.

Description
ClickontoDescriptioninthedescriptionbox.Youcanenteradescriptionof
theDeviceinthewindowwhichnowopens.Usetypicaltermsthatyoumight
applyforakeywordsearch.ThesearchfacilityoftheADDcommandinthe
schematicdiagramwillalsosearchthroughthistext.
YoucanuseHTMLtext.Thesyntaxisdescribedinthehelpsystemunderthe
keywordHTMLText.
Thedescriptioncanlooklikethis:

DeviceEditor:54*1032A.dev
<b>541032A</b>
<p>
Quadruple 2-Input Positive-OR Buffers/Drivers
from TI.

Save
ThiscompletesdefinitionoftheDeviceset.Ifyouhavenotalreadysavedthe
library,pleasedoitatthisstage!

256

8.3 Supply Voltages

8.3 Supply Voltages


Component Power Supply Pins
Thecomponents'supplypinsaretobegiventhedirectionPwrintheSymbol
definition. The pin name determines the name of the supply signal. Pins
whose direction is Pwr and which have the same name are automatically
wiredtogether(evenwhennonetlineisshownexplicitly).Whetherthepins
arevisibleintheschematicdiagramorarefetchedbymeansofahidden
Symbolisalsonotrelevant.

Invisible Supply Pins


We do not want as a rule to draw the supply connections for logic
components or operational amplifiers in the schematic. In such a case a
specific Symbol containing the supply connections is defined. This can be
demonstratedwiththeexampleofa7400TTLcomponent:
You first define a NAND gate with the name 7400, and the following
propertiesintheSymbolEditor:

NANDSymbol7400(EuropeanRepresentation)
Thetwoinputpinsarecalled I0and I1andaredefinedashavingdirection
In,Swaplevel1,visiblePinandfunctionNone.
Theoutputpiniscalled O andisdefinedwithdirection Out,Swaplevel 0,
visiblePin,andfunctionDot.
Now define the supply gate with the name PWRN, and the following
properties:

257

8 Component Design Explained through Examples

Powergate
ThetwopinsarecalledGNDandVCC.TheyaredefinedwithdirectionPwr,
Swaplevel0,functionNone,andvisiblePad.
Nowcreatethe7400DeviceintheDeviceEditor:
SpecifythePackagewithPACKAGE(whichmustalreadybepresentinthe
library)andusePREFIXtospecifythenameprefixasIC.
UsetheADDcommandtoplacethe7400Symbolfourtimes,withAddlevel
beingsettoNextandSwaplevelto1.ThenlabeltheGatesasA,B,CandD
withtheNAMEcommand.
TheAddlevelofNextmeansthatastheseGatesareplacedintotheschematic,
they willbeused in thatsequence, i.e., thesequence in whichthey were
fetchedintotheDevice.
ThenplacethePWRNSymbolonce,usingAddlevelRequestandSwaplevel0.
NamethisGateP.
AddlevelRequestspecifiestwothings:
Thesupplygatewillonlybefetchedintotheschematicifrequested,
i.e.withtheINVOKEcommand.TheADDcommandwillonlybeable
toplaceNANDgates.
Thesupplygatewillnotbeincludedwhennamesareallocatedtothe
schematic. Whereas an IC with two Next Gates appears in the
schematicassomethinglikeIC1AandIC1B,anICwithoneNextGate
andoneRequestGatewillonlybeidentifiedasIC1.
So use the CONNECT command to define the housing pads to which the
supplypinsareconnected.

Pins with the Same Names


If youwant todefine components havingseveral power pinsofthesame
name,let'ssupposethatthreepinsarealltobecalledGND,thenproceedas
follows:
setpindirectionPwrforeachpowerpin
258

8.3 Supply Voltages


namethesepinsGND@1,GND@2,andGND@3
Onlythecharactersinfrontofthe"@"arevisibleintheschematic,andthe
pinsaretreatedasiftheywereallcalledGND.Intheboardthereferring
padsareconnectedwithairwiresautomatically.

8.4 One Pin Multiple Pads Connections


Youareallowedtoconnectonepinwithseveralpadsbelongingtoacommon
signal.Thiscanbedonewiththehelpofthe Append buttonintheconnect
dialogwindow.
Firstmarkonepinandonepadintheconnectdialogasusualandclickonto
the Connect button.Thepin/padconnectionnowappearsinthe Connection
column.
Inordertoaddafurtherpadtothisconnectionfirstmarktheconnection,
thenselectthepadinthe Pad column,andclickontothe Append button.
Repeatthisforfurtherpads,ifnecessary.Thenamesofthepadsappended
nowaredisplayedintheConnectioncolumn.
EAGLEknowstwodifferentwaysofcreatingmultiplepadconnections:
Assoonasyouestablishamultiplepadconnection,aspecialiconisdisplayed
intheConnectionscolumn,locatedbetween PinandPadlist.Itinformsyou
aboutthemode:AllorAny.
All:Allpadsmustbeconnectedwithtraces.IntheLayouteditoryou
willseeallpadsconnectedwithairwiresyouhavetoroute.
Any:Onlyoneofthepadswillbeconnectedbyanairwireandhasto
berouted.Intheroutingprocessitisuptoyouwhichpadyou
wanttoconnectwithatrace.Inthismodeinternalconnections
ofadevicecanberealized.

Connect:OnepinisconnectedtothreepadsinAnymode
Furtherinformationcanbefoundinthehelp,EditorCommands/CONNECT.

259

8 Component Design Explained through Examples

8.5 Supply Symbols


Supplysymbols,suchasmightbeusedintheschematicforgroundorVCC,
aredefinedasDeviceswithoutaPackage.Theyareneededfortheautomatic
wiringofsupplynets(seepage127).
Thefollowingdiagramshowsa GNDsymbol asitisdefinedinoneofthe
suppliedEAGLElibraries.
Notethatwhendefiningyourownsupplysymbols,thepinandtheDevice
nameneedtoagree.
Thepinisdefinedwithdirection sup andhasthename GND.Thisspecifies
thattheDevicecontainingthisSymbolisresponsiblefortheautomaticwiring
oftheGNDsignal.Thetextvariableforthevalue(>VALUE)ischosenforthe
labeling. The Device also receives the name GND. Thus the label GND
appearsintheschematic,sincebydefaultEAGLEusestheDevicenamefor
thevalue.
It is very important that the labeling reproduces the pin names, since
otherwisetheuserwillnotknowwhichsignalisautomaticallyconnected.
ThepinparameterVisibleisthereforesettooff,sinceotherwisetheplacing,
orientationandsizeofthepinnamewouldnolongerbefreelyselectable.
DirectlylabelingwiththetextGNDwouldalsohavebeenpossiblehere.With
the chosen solution however, the Symbol can be used in various Devices
(suchasforDGNDetc.).

SupplysymbolforGND

260

8.5 Supply Symbols


TheSupplysymbolhasnoPackageassigned!
Ashasbeenexplainedabove,theDevicereceivesthenameofthepinthatis
usedintheSymbol.ThecorrespondingDeviceisdefinedwithAddlevelNext.
IfyousetValueto off youcanbesurethatthelabelingisnotaccidentally
changed.Ontheotherhand,youhavemoreflexibilitywithValuesetto on.
Youcanalterthelabelif,forinstance,youhaveasecondgroundpotential.
Youmust,however,thencreateexplicitnetsforthesecondground.
QuickguidetodefineaSupplySymbol:
CreateanewSymbolinthelibrary
Placethepin,withdirectionSupply
Pinnamecorrespondstothesignalname
SetValueplaceholder
CreateanewDevice
Devicenameissignalname
Packageassignmentnotnecessary

8.6 Attributes
You are allowed to define, additionally to >name and >value, further
properties,thesocalled attributes.It'spossibletodefineattributesforeach
technologyandPackagevariantintheDeviceeditor.Thischapterwillguide
youthroughtheprocessofdefiningattributeswiththehelpofanexample.
Thereforeopenthelibrary74xxus.lbrandsaveacopyofitwithSaveas...in
anarbitrarydirectory.Wedon'twanttochangetheoriginallibraryforthis.
EdittheDevice74*05.

Define Attributes
Let'sdefinesome attributesforthePackagevariant N,whichisthe DIL14
Package.ThereforeclickontoentryDIL14(VariantN)inthePackageliston
therighthandsideoftheDeviceEditorwindow.NowclicktheATTRIBUTE
command icon

in the menu bar or onto the text Attributes in the

descriptionwindowbelowtherepresentationoftheDevice. Thefollowing
Attributewindowwillappear.
ThisdialoginitiallyshowstheTechnologiesavailableforthePackagevariant
N.ClickingtheNewbuttonopenstheNewAttributewindow.Pleaseenter,for
example,Heightfortheattribute'snameand0.16infortheattribute's value.
Thelinebelowdetermineswhetheritisallowedtomodifythevalueofthe
261

8 Component Design Explained through Examples

Attributes'dialog
attribute(variable)ornot(constant)inthedrawing.Select constant inour
examplehere.
NowyouhavestilltodefineforwhichTechnologiestheattributeshouldbe
valid:forthecurrentlyselectedoneonly(current)orforall.Selectallhere.

DefiningtheHeightAttribute
ClicktheOKbuttonandthenewattributeisshowninthelistnow.
Let's define a second attribute that should have different values for the
Technologies.ClicktheNewbuttonintheAttributes'dialogagain.Enterthe
followingparameters:
Name:DistributorValue:Smith,variableTechnologies:all
Click OK now.Afurthercolumnforthe Distributor attributeisshown.All
technologieshavetheSmithentry.
Attributenamesarewritteninuppercaselettersautomatically!
But in our example the LS technology has to be distributed by Miller
exclusively.ClickintothefieldoftheDistributorattributethatbelongstothe
LStechnology.

262

8.6 Attributes

TheDistributorfieldforLSisselected
Clickontothe Change buttonnow.Thewindowforchangingtheproperties
oftheattributeopens.Setthefollowingoptions:
Name:DistributorValue:Millerexclusively,constantTechnologies:current
ClicktheOKbutton,andtheexceptionfortheLStechnologyisdefined.This
valuecannotbealteredintheSchematic/Layout.
TheChangedialogallowsthreepossibilitiesintheTechnologiesfield:current,
same,all.Thismeansthatthecurrentlychangedpropertieswillbevalidfor
the currently selected (current), for all the technologies with the same
attribute value as the currently selected (all with same value) , or for all
technologies.
Finallylet'sdefineafurtherattributeforremarks.Thisattributewillhaveno
initialvalueandwillbevariable.SowecanuseitintheSchematicorinthe
Layout,ifnecessary.
Thereforeclickagainthe New buttonintheAttributesdialogandmakethe
followingsettings:
Name:RemarksValue:,variableTechnologies:all
ClickOK.Theattributeswindowlookslikethisnow:

AlltheAttributesfor74*05,VariantN

263

8 Component Design Explained through Examples


Attributeswithafixedvaluearecoloredgrayinthetable.
ThedefinitionofattributesforthePackagevariant N isfinishednow.Click
OKtoclosetheAttributeswindownow.Theattributesareshowninaddition
toTechnologiesintheDeviceEditorwindow.
If you like to define attributes, for example, for the Package variant D
(SO14),clickontotheentryinthePackagelistoftheDeviceEditorwindow
andproceedasdescribedaboveforvariantN.
It'salsopossibletodefineattributesviathecommandlineorwiththehelpof
aScriptfile.PleasetakealookintothehelpfunctionabouttheATTRIBUTE
commandfordetails.

Display Attributes
IfyouwouldusetheDevice74*05withoutfurtherchangesintheSchematic
orLayoutEditor,itwouldbringalongitsattributesandtheirvalues. The
attributes are not visible in the drawing and can be check with the
ATTRIBUTEScommand.
InformationabouthowtodisplayattributesinSchematicorLayoutcanbe
foundonpage130inthismanual.

Placeholders in Symbol and Package


Alreadyinthelibraryyoumaydefinewhetheranattributewillbedisplayed
together with the Device in the Schematic or the Package in the Layout.
Simply write a placeholder text in the Symbol orPackage with the TEXT
command.Suchaplaceholdertextbeginswiththe>character,asitiswith
>nameand>value.Forourexampleattributeswedefinedabove,youhave
towrite:
>Distributor
>Height
>Remarks
PlacethistextatasuitablelocationintheSymbolorPackageEditorand
selectaproperlayerforeachtext.Itdoesn'tmatterifyouwriteitwithupper
orlowercaseletters.
Assoonasyouaddapartwithpredefinedattributeplaceholdertextsandset
avalueforanattributeinSchematicandBoardrespectively,theattribute's
valuewillbedisplayedattheplaceholdertext'slocation.
These texts can be separated from the Device/Package with the SMASH
command.Fromthenonthe Display propertyofthe Attribute dialogtakes
effect.ThepossibleoptionsareOff,Value,Name,orBoth.
Seepage130fordetailsaboutdisplayoptionsofattributes.

264

8.7 External Devices without Packages

8.7 External Devices without Packages


Asocalled ExternalDevice canbeusedtorepresent componentsorobjects
thatneedtoappearintheschematicbutarenotpartoftheboarddesign.
There can be additional components, measurement equipment, cables,
mounting materials and so on. It could be used for testing or simulating
purposes,orforanelectricschematic,aswell.
An external device is created in the library the same way as any other
component.Thesymbolmayhavepinsofany direction. CreatetheDevice
andADDthesymbol(s)asusual.
Formarking thedeviceasanexternal devicecreatean attribute withthe
name _EXTERNAL_.Thisattributehastobecreatedinthelibrary;creating
the attribute in the schematic won't work! The attribute's value doesn't
matter.
Anexternaldeviceisnolongertreatedasexternalassoonasyouassigna
package.InthiscaseyouhavetoCONNECTallthepinswithpads.

8.8 Labeling of Schematic Symbols


The two text variables >NAME and >VALUE are available for labeling
Packages and schematic Symbols. Their use has already been illustrated.
Therearetwofurthermethodsthatcanbeusedintheschematic: >PART
and>GATE.
The following diagram illustrates their use, in contrast to >NAME. The
Symboldefinitionontheleft,theappearanceintheschematicdiagramon
theright.

Labelingofaschematicsymbol

265

8 Component Design Explained through Examples


Inthefirstcaseallthesymbolsarelabeledwith>NAME.Inthesecondcase,
thesymbolofthefirstgateislabeledwith>PARTand>GATE,theother
threewith>GATEonly.

8.9 More about the Addlevel Parameter


TheAddleveloftheGatesthathavebeenfetcheddeterminesthemannerin
whichtheseGatesarefetchedintotheschematic,andunderwhatconditions
itcanbedeletedfromtheschematic.

Summary
Next:ForallGatesthatshouldbefetchedinsequence(e.g.theNANDGates
ofa7400).ThisisalsoagoodoptionforDeviceswithasingleGate.TheADD
commandfirsttakesunusedNextGatesfromcomponentswhichexistonthe
currentsheetbefore"opening"anewcomponent.
Must: For Gates which must be present if some other Gate from the
componentispresent.Typicalexample:thecoilofarelay.MustGatescannot
bedeletedbeforealltheotherGatesfromthatcomponenthavebeendeleted.
Can:ForGateswhichareonlyusedasrequired.Inarelaythecontactsmay
bedefinedwithAddlevel Can.Insuchacasetheindividualcontactscanbe
specificallyfetchedwithINVOKE,andcanlaterbedeletedwithDELETE.
Always: ForGateswhichasageneralrulewillbeusedintheschematicas
soonasthecomponentisusedatall.Example:contactsfromamulticontact
relay, of which a few are occasionally left unused. These contacts can be
removed with DELETE, provided that they were defined with Addlevel
Always.
Request:Forsupplygatesofcomponents.
The difference from Can is: A Device with exactly one NextGate and a
RequestGatewillbenamed,forexampleIC1.TheGatenamedoesnotappear
inthenameofthepartintheschematic.TheRequestGate'sname,however
willconsistofPrefix+Number+Gatename,forexample,IC1P.

Relay: Coil and First Contact must be Placed


Arelaywiththreecontactsistobedesigned,ofwhichtypicallyonlythefirst
contactwillbeused.
DefinethecoilandonecontactastheirownSymbols.IntheDevice,givethe
coilandthefirstcontacttheAddlevel Must.Alltheothercontactsaregiven
theAddlevelCan.
IftherelayisfetchedintotheschematicwiththeADDcommand,thecoiland
thefirstcontactareplaced.Ifanothercontactistobeplaced,thiscanbe
donewiththeINVOKEcommand.Thecoilcannotbedeletedonitsown.It
disappearswhenallthecontactshavebeendeleted (beginningwith those
definedwithAddlevelCan).

266

8.9 More about the Addlevel Parameter

Relaywithonecoilandthreecontacts

Connector: Some Connection Pins can be Omitted


APCBconnectoristobedesignedinwhichnormallyallthecontactareasare
present.Insomecasesitmaybedesirableforsomeofthecontactareastobe
omitted.
DefineaPackagewith10SMDsascontactareas,givingtheSMDsthenames
1to10.

Packageofacircuitboardconnector
Nowdefineasymbolrepresentingonecontactarea.SetvisibletoPad,sothat
thenames1to10,definedinthePackage,appearintheschematic.

ConnectorsymbolfortheSchematic
Then fetch theSymbol tentimesinto anewly created Device, setting the
AddlevelineachcasetoAlways,andusetheCONNECTcommandtocreate
theconnectionsbetweentheSMDsandthepins.Whenyounowfetchthis
Deviceintoaschematic,alltheconnectionsappearassoonasitisplaced.
IndividualconnectionscanberemovedwithDELETE.

267

8 Component Design Explained through Examples

AfterADD,alltheconnectionsarevisibleintheschematic

Connector with Fixing Hole and Restricted Area


Aconnectoristobedefinedhavingfixingholes.Onthesolderside(bottom),
theAutoroutermustavoidbringingtracksclosertotheholesthanacertain
distance.

Fixingholeswithrestrictedareas
Thedrillholesareplaced,withthedesired diameter,onthePackageusing
the HOLE command.The drillingdiametercanberetrospectivelychanged
withCHANGEDRILL.
TheforbiddenareafortheAutorouter/Followmerouterisdefinedinlayer
42, bRestrict, using theCIRCLE command. For reasons ofrepresentational
claritythecircleisshownherewithanonzerowidth.Circleswhosewidthis
0are filled.InthiscaseithasnoeffectontheAutorouter,sinceitmaynot
routewithinthecircleineithercase.Theseforbiddenareasarealsotaken
intoaccountbyapolygoninlayer16,Bottom.

268

8.10 Defining Components with Contact Cross-References

8.10 Defining Components with Contact


Cross-References
Ifyouhavetodesigna componentthatconsistsofacoilgateandseveral
contactgatesforanElectricalSchematic,forexampleanelectromechanical
relay,youcandefinethe contactsymbolswithaplaceholdertextthatwill
generate crossreferences for components. The contact overview in the
Schematicwillshowthecrossreferencesthen.
ForaproperdisplayofthecontactcrossreferencesintheSchematic,please
sticktothefollowingrulesforSymbol,Device,andPackagedefinition.

Define Symbol
FordefininganelectromechanicalrelayyouhavetouseoneSymbolforthe
coilandoneormoreSymbolsforthecontacts.
Pleasenotethefollowingrulesforthecontactsymbols:
Thecenterofthecontactsymbolshouldbelocatedatposition(00)
Arrange the pins in vertical direction, i.e. they are pointing up or
down
Inordertogetautomaticallygeneratedcrossreferences,usetheTEXT
commandtodefinetheplaceholdertext>XREFandplaceit.Thetext
shouldbewritteninlayer95,Names,like>NAMEand>VALUE.
Therearenospecialrulesforthecoilsymbol.Theplaceholdertext>XREFis
notneededhere.

Define Device
OurelectromechanicalrelayconsistsofmultipleGates:oneGateforthecoil
andseveralGatesforthecontacts.TheplacementoftheGatesintheDevice
Editor has to follow some rules. Otherwise the presentation of the cross
referencesintheSchematicwouldnotbeoptimal.
Theoriginofthefirstcontactgateshouldbelocatedatthe
xcoordinate 0. The lower pin of the Gate should be located
completely in the positive coordinates range. The ycoordinate is
typically0.1inch.
Eachfurthercontactgateisplacedtotherightofthefirstoneatthe
sameycoordinate(thesameheight).
Thedistancebetween thecontactgatesintheDevice Editorfinally
determinesthedistanceofthecontactsinthegraphicalrepresentation
ofthecontactcrossreferencesintheSchematic.Thecontactgateswill
berotatedby90andalignedverticallyonebyonethere.
Thecoilgatemay beplaced anywhere intheDevice drawing. The
AddlevelforthisGatemustbeMust.

269

8 Component Design Explained through Examples


TherepresentationofthecontactcrossreferencesshowsallGatesthatcome
withthe >XREF text.Thecrossreferencesconsistingofsheetnumbersand
column/row coordinates will be shown on the right of the Gates, if you
placed a drawing frame defined with the FRAME command on the
Schematic'ssheets.
AllothertextsdefinedintheSymbolarenotvisibleinthecrossreference
representation.

Define Package
DuetoEAGLE'slibrarystructureandinordertoavoiderrormessagesyou
havetodefineaPackage,aswell.ThiscanbeasimpledummyPackagethat
simplyhasthesamenumberofPadsasnumberofPinsintheDevice.
SelectthePackagewiththeNewbuttonintheDeviceEditorandassignPins
withPadswiththeCONNECTcommand.
Furtherinformationaboutthesubject ElectricalSchematics canbefoundon
CadSoft'swebsite.

8.11 Drawing Frames


Itmaybetrue that drawing framesarenot components, butthey canbe
defined for schematics as Devices with neither Packages nor pins. Such
DevicesinEAGLE's frames librarycontainaSymbolconsistingmerelyofa
frame of the appropriate size, and a documentation field, which is also
definedasaSymbol.
AdrawingframeisdefinedwiththeFRAMEcommand.Thiscommandcanbe
foundintheDraw/Framemenu.
Theparametertoolbarofferssettingsforthenumberofcolumnsandrows
whereyoucandefinehowyourdrawingshouldbefielded.Apositivevalue
forcolumnslabelstheframefromthelefttotheright,beginningwith1,for
rows from top to bottom, beginning with A. Negative values inverse the
direction of the labelling. The following four icons determine on which
positionthelabellingoftheframeshallbevisible.

ParametertoolbaroftheFRAMEcommand
Thepositionofthedrawingframeisfixedbytwomouseclicksorbytyping
thecoordinatesofitscornersinthecommandline.
ColumnsandRowscanbeusedtodetermineaDevice'soranet'sposition,for
example with the help of an ULP, or to have crossreferences calculated
automatically(seeLABELcommand).

270

8.11 Drawing Frames


Istheframealreadydefinedbutyouwanttochangeitsproperties?
ThenusetheCHANGEcommandwithitsoptionsBorder,RowsandColumns
todeterminetheframe'spositionofthelabellinganditsnumberofrowsor
columns.
Duetothespecialnatureoftheframeobject,itdoesn'thavearotationof
itsown!
TheFRAMEcommandisalsoavailableinSchematicorBoard.Butitis
commonpracticetodefineadrawingframeintheLibrary.
The library frames.lbr also contains documentation fields you can use
togetherwithaframe.Ofcourseyouareallowedtodrawyourown.
Thetext variables >DRAWING_NAME, >LAST_DATE_TIME and >SHEETare
contained,aswellassomefixedtext.Thedrawing'sfilename,dateandtime
ofthelastchangeappearatthesepointstogetherwiththesheetnumberin
theschematic(e.g.,2/3=sheet2of3).
Inaddition,thefollowingvariablesareavailable:
>PLOT_DATE_TIMEcontainsthedateandtimeofthelastprintout,
>SHEETSshowsthetotalnumberofsheetsintheschematic,
>SHEETNRshowsthecurrentsheetnumber.
Allof these text variables can be placed onthe schematic, and (with the
exceptionof>SHEET/S/NR)ontheboard.

Textvariablesinthedocumentationfield
The frame is defined in the Device with Addlevel Next, and the
documentationfieldwithAddlevelMust.Thismeansthatthedocumentation
fieldcannotbedeletedaslongastheframeispresent.
ThereareframesdefinedasPackagesavailablefortheLayoutEditorwhich
can be placed even if there is a consistent schematic/layout pair. These
framesdon'thaveanyelectricalsignificancebecausetheyaredefinedwithout
padsorSMDs.
The variable >CONTACT_XREF has a special meaning for Electrical
Schematics.Thepositionofthistext,whichisnotdisplayedintheSchematic,
determines the reserved area for the representation of the contact cross

271

8 Component Design Explained through Examples


references.Moredetailsaboutthiscanbefoundinthehelpfunctioninthe
sectionContactcrossreferences.

8.12 Components on the Solder Side


SMDcomponents(andleadedonestoo)canbeplacedonthetoporbottom
layersofaboard.ForthisreasonEAGLEmakesasetofpredefinedlayers
available which are related to the top side (Top, tPlace, tOrigins, tNames,
tValues etc.)andanothersetoflayersrelatedtothebottomside(Bottom,
bPlaceetc.).
SMDcomponentsarealwaysdefinedinthelayersassociatedwiththetop.
Intheboard,acomponentofthissortismovedtotheoppositesidewiththe
MIRRORcommand

.Thereforeclickontothecomponentwiththemouse

orenterthecomponent'snameinthecommandline.Thiscausesobjectsin
theToplayertobereflectedintotheBottomlayer,whilealltheobjectsinthe
t..layersarereflectedintothecorrespondingb..layers.
If one of the commands ADD, COPY, MOVE, or PASTE is active the
componentcanbemirroredbyclickingthemiddlemousebutton.

8.13 Components with Oblong Holes


Iftheboardmanufacturerhastomill oblongholes,youhavetodrawthe
millingcontourofoblongholesinaseparatelayer.Usuallythisislayer46,
Milling.
Themillingcontourforcomponentsthatneed oblongholescanbedrawn
withWIRE(andpossiblyARC)withaveryfinewirewidthnearoreven0in
thePackageEditor.Takeapadthathasadrilldiameterwhichliesinsidethe
millingcontour,orSMDs,forexampleinTopandBottomlayer,asbasisfor
theoblonghole.
Incase ofamultilayer board youshould draw aWIRE intheused inner
layersatthepositionoftheoblongholessothatitcoversthemillingcontour
andleavesakindofrestringaroundtheopening.
Pleaseinformyourboardmanufacturerthattheyhavetotakecareonthe
milling data drawn in this layer. Also tell them whether they should be
platedthroughornot.
Anyothercutoutsintheboardaredrawninthesameway:
Useaseparatelayer,typicallylayer46,Milling,anddrawthemilling
contours.Tellyourboardmanufacturerthattheyhavetotakecarewith
thisinformationandmakespecialnote.

272

8.14 Arbitrary Pad Shapes

8.14 Arbitrary Pad Shapes


Ifyouhavetodefineapackagewithsolderareasthatcan'tbeachievedwith
thedefaultpadshapes,youhavetodrawanarbitrarypadshape.Thiscanbe
donewiththehelpofapolygonorwith additionalwires.Assoonasthe
centerofthepadorSMDisinsidethepolygon'sareaorawirebeginsatthe
centerofapad,itisrecognizedasapartofthePAD/SMD.
Thetypicalwaytodrawanarbitrarypadsshapeis:
PlaceaPADorSMD
UsePOLYGONtodrawthefinalpadshape
ForaSMDtypicallyinLayerTop
ForaPADyouhavetodrawthefinalshapeinallthelayersyouplan
touse(Top,Bottom,Innerlayers...)
ThePAD/SMDscentermustbeinsidethepolygon'sarea.Otherwise
thatpolygonisnotrecognizedasaparttothepad.Useareasonable
wirewidthforthepolygon,whichfulfilstheDesignRules.
ThealternativetoPOLYGONisWIRE
StartthewireintheoriginofthePAD/SMD.Youhavetodrawthis
areainanysignallayeryouplantouse.Pleaseuseareasonablewire
width,whichfitstotheDesignRules.
Checkthesolderstopmask
Mask data will be generated for the PAD/SMD area only. Display
layers 29, tStop and 30, bStop. If you want to have the area not
coveredbysolderstoplacquer,drawitmanuallyintheappropriate
layer(s).
Checkthecreamframe(solderpastemask)
Displaylayers31,tCreamand32,bCreamforthis.Asweagreedupon
definingpackagesalwaysonthetopsideofaboard,thelayerwehave
tocheckis31,tCream.Maskdatawillbegeneratedautomaticallyfor
theSMDareaonly.Ifthisisnotwhatyouwouldliketohave,simply
drawthemaskmanually.Keepinmindthatitispossibletoswitchoff
automatic generation of mask data in the SMD properties (Cream
on/off).
Furtherconditionsfordrawingarbitrarypadshapescanbefoundinthehelp
functionaboutthePADorSMDcommand.
Ifapadwitharbitraryshapeisnotconnectedtoasignal,theDRCwill
reportaClearanceerror,becausethepolygonorwiresthatdefinethe
arbitraryshapecan'tberecognizedasapartofasignal.

273

8 Component Design Explained through Examples

8.15 Creating New Package Variants


Mostcomponentsaremanufactured invariousPackagevariants.Supposed
youdonotfindtheappropriatePackageforacertainDeviceinoneofthe
libraries,itisveryeasytodefineanewPackage.
To describe this procedure clearly we want to come back again to our
exampleDevice541032Afromparagraph8.2.
ThethirdPackagevarianttobedesignedhereonlyservesasanexample
forpracticeanddoesnotmeetthespecificationsofthemanufacturer!
Please notify the explanations concerning this topic, in particular if the
appropriatePackagealreadyexistsinthecurrentlibrarybeginningwithpage
252.

Package from Another Library


InthemostfavourablecaseyoucanuseanalreadyexistingPackagefrom
anotherlibrary.TheeasiestwaytodefinethenewPackagevariantistouse
thePACKAGEcommanddirectlyintheDeviceEditor.
Aftersearchingalllibraries,eitherintheLibrariesbranchofthetreeviewin
the Control Panel or with the help of the search function of the ADD
commandintheLayoutEditor(onlythere,notintheSchematic,onecan
search for Packages), it is possible to Drag&Drop the Package from the
ControlPaneldirectlyintothelibrary.Asanalternativeyoucouldusethe
PACKAGEcommand.
Open the library (here: my_lib.lbr from paragraph 8.2) that contains the
DeviceyouwanttodefinethenewPackagevariantfor.Forexample,bythe
menuFile/Open/LibraryoftheControlPanel.
ClicktheEditaDeviceiconandselecttheDevice54*1032Afromthemenu.
TheDeviceEditoropens.

Defining the Package Variant


ThenewvariantshouldbenamedTest.ThePackagemusthaveaminimum
of14padsbecausebothGatestogetherhave14pins.Asanexample,wetake
theSO14Packagefromthesmdipc.lbrlibrary.
IfControlPanelandLibraryEditorwindowarearrangedsidebyside,select
theSO14PackageandDrag&DropitintotheopenedLibraryEditorwindow.
After releasing the mouse button you will be asked for the new Package
variantname.EnteritandconfirmitbyclickingOK.Thenewvariantisnow
showninthePackagelist.
ItisalsopossibletodefinethePackagevariantintheDeviceEditordirectly
withthePACKAGEcommand.
Typeinthecommandline:
274

8.15 Creating New Package Variants


PACKAGE SO14@smd-ipc.lbr TEST
Orincludethepath(ifnecessary):
PAC SO14@d:\eagle\lbr\smd-ipc.lbr TEST
If the path contains spaces include the path name in single quotes, for
example:
PAC 'SO14@\With Spaces\smd-ipc.lbr' TEST
Nowonthelower rightoftheDeviceEditorwindowanewentry forthe
PackageSO14andthevariantnameTESTappears.
On the left a black exclamation mark on yellow ground is shown which
indicatesthattherearenoconnectionsbetweenpinsandpadsdefinedyet.

DeviceEditor:ListofPackageVariants

ThePACKAGEcommandcopiesthecompletePackagedefinitionintothe
currentlibraryandmakesavailablethenewvariantwiththegivenname
fortheDevice.
Ifyoudecidetoeraseanewlydefinedvariant,youcandothiswiththe
UNDOfunction(asfaraspossible)orbyusingthecontextmenuofthe
Packageentry(rightmouseclick,Deleteentry).

Connect Command
ClicktheConnectbuttonnow.TheConnectwindowopens.Connectpinswith
padsbyclickingonthepinandpadentriesbelongingtogetherasdescribedin
paragraph8.2.
Itisalsopossibletoadaptthepin/padconnectionsfromanalreadyexisting
Package variant. In our example the assignment does not differ from the
DIL14Package.ThereforeselecttheentryDIL14fromtheCopyfrom:combo
275

8 Component Design Explained through Examples


box.
AfterclickingOKtheCONNECTcommandisfinished.

Defining Technologies
TheDevice 54*1032A isavailableintwotechnologies(ALSandAS).These
stillhavetobesetupforthenewPackagevariant.
SelectthePackagevariantTestfromthelistonthelowerrightoftheDevice
Editor window. A click onto Technologies in the description field opens a
window.Clickthe New buttonandsetuptechnologyALSwithafollowing
clickontoOK,andASagainwithafollowingclickontoOK.Bothentriesare
shownwithatagnow.AfurtherclickontotheOKbuttonclosesthewindow
again.

Save
ThedefinitionofthePackagevariantisfinished.Nowitistimetosavethe
library.

Using a Modified Package from Another Library


IfthereisnoappropriatebutasimilarPackageavailableinanotherlibrary
youshouldcopythePackageinthecurrentlibraryfirst,thenmodifyit,and
useitafterwardsasnewvariantfortheDevice.

Copying the Package


WewanttouseaPackagenamed SOP14 fromthe smdipc.lbr libraryhere.
ThisPackageshouldgetanewname,MYSOP14,inthelibrarymy_lib.lbr.
Using the COPY command
TypeinthecommandlineoftheLibraryEditorwindow(itdoesnotmatter
whicheditormodeisactive)thefollowing:
COPY SOP14@smd-ipc.lbr MYSOP14
Orwiththewholepath:
COPY SOP14@d:\eagle\lbr\smd-ipc.lbr MYSOP14
Ifthepathcontainsspacesusesinglequotesforit,forexample:
COPY 'SOP14@\P A T H \smd-ipc.lbr' MYSOP14
The Package Editor window opens and the Package can be modified as
needed.
In the Control Panel
FirstofallopenaLibraryEditorwindowwiththelibrarythatshouldcontain
thenewPackage(File/Open/Library).Itisnotnecessaryto
selectacertaineditingmode.NowswitchtotheControlPanel(e.g.Window
menu)andexpandtheLibrariesbranchofthetreeview.Choosethelibrary
whichcontainstherequestedPackageandselectit.Ontherighthalfofthe
ControlPanelapreviewofthePackageisvisiblenow.

276

8.15 Creating New Package Variants


IftheControlPanelandtheLibraryEditorwindowarearrangedinaway
thatbothwindowsarevisibleyoucanmovethePackageintotheLibrary
windowbykeepingtheleftmousebuttonpressed.Afterreleasingthemouse
button(Drag&Drop)theLibraryEditorwillbeinthePackageeditingmode.
ThePackageisshownthere.
Alternativelyyoucouldusearightmouseclicktoopenthecontextmenuof
thePackageentryinthetreeview.Select CopytoLibrarynow.TheLibrary
Editorneedsnottobevisible.
NowthePackagecanbemodified.ThePackagenameisadoptedfromthe
sourcelibrary.TochangethePackagenameusetheRENAMEcommand.
Don'tforgettosavethelibrary.

Defining the Variant


WewanttodefineafurthervariantforourexampleDevice.Switchtothe
Device editing mode,for example, bythe menu Libraries/Device.The Edit
window opens. Select the entry 54*1032A. Click OK to open the editor
window.
UsetheNewbuttontodefineanewvariant.SelectthePackageMYSOP14in
theselectiondialogand enter, forexample, TEST2 as variant name.After
clickingOKanewentryisshowninthePackagelist.
To complete the definition execute the CONNECT command and define
Technologies(asdescribedinthepreviousparagraph)now.

8.16 Defining Packages in Any Rotation


Componentscanbedefinedinanyrotationwitharesolutionof0.1degrees
inthePackageEditor.UsuallythePackageisdefinedinnormalpositionfirst
and rotated afterwards as a whole. The definition of Packages has been
already explained in thischapter. Here we only wanttoelaborate onthe
rotationofPackages.
Packages can be defined in any rotation! Schematic Symbols can be
rotatedin90degreesstepsonly!

Rotating a Package as a Whole


To come back to the example of this chapter, please open the library
my_lib.lbrandeditthePackageLCC20.
Display all layers with DISPLAY ALL to make sure you have all objects
rotated.NowuseGROUP ALLtoselecteverything.
UsetheROTATEcommandtorotatethegroup:
NowclickwiththeleftmouseintotheAngleboxoftheparametertoolbarand
typeintherequestedangle.Thenusearightmouseclickintothegroupto

277

8 Component Design Explained through Examples


definetherotationpoint.
ThePackageisshownnowinthegivenangle.
Alternativelyyoucanworkwiththecommandline:
ROTATE R22.5 (> 0 0)
rotates,forexample,thepreviouslyselectedgroup22.5furtheraroundthe
point (0 0). The > sign (right angle bracket) within the parenthesis for
coordinatescausestherotationofthewholegroup(asarightmouseclickat
thepoint(00)woulddo).

Packages with Radial Pad Arrangement


ItispossibletoworkwithpolarcoordinatestoplacepadsorSMDsinaradial
arrangement.Setasuitablereferencepoint,forexample,inthecenterofthe
Package with the MARK command first. The command line shows now
additionalinformationaboutthecursorposition.

PackageEditor:RelativeandPolarCoordinatesDisplay
Valuesmarkedwithan R are relativevaluesreferringtothepreviouslyset
reference point. The leading P indicates polar values referring to the
referencepoint.
Example:
Threepadsaretobeplacedonthecircumferenceofacirclewitharadiusof
50mm.Thecenterofthepartisatposition(00).
GRID MM;
MARK (0 0);
PAD '1' (P 50 0);
PAD '2' (P 50 120);
PAD '3' (P 50 240);
Dependingontheusedpadshapeitmaybeusefultoplacethepadsrotated
(forexampleforLongpadsorSMDs).
Itispossibletoentertheangledirectlyintheparametertoolbarorinthe
commandlinewhilethePADorSMDcommandisactive.
Example:
GRID MM ;
MARK (0 0);
PAD '2' LONG R120 (P 50 120) ;

278

8.17 Library and Part Management

8.17 Library and Part Management


Copying of Library Elements
Within a Library
IfyouwanttouseaSymboloraPackagewhichalreadyexistsinarelated
mannerforaDevicedefinitionyoucancopyitwithinthelibrarywiththe
commands GROUP, COPY, and PASTE. Afterwards it can be modified as
requested.
Thefollowingsectionsexplaineverysinglestepwiththehelpofanexample
Packagetakenfromlinear.lbr.
Open Library
Use the menu File/Open/Library in the Control Panel to open the library
linear.lbr orselecttheentry Open fromitscontextmenuofthetreeview's
expandedLibrariesbranch.
Edit Existing Element
Openthe Edit windowwith Library/Package andselectthePackage DIL08.
AfterclickingOKitisshowninthePackageEditorwindow.
UseDISPLAYtoshowalllayers.
Draw a frame around all objects to be copied with GROUP or type
GROUP ALLinthecommandline.
NowclicktheCOPYicon.Thegroupwillbecopiedintotheclipboard.
Define New Element
ClicktheEditapackageiconintheactiontoolbar.
EnterthenameDIL08TESTintheNewfieldoftheEditwindowandconfirm
withOK.
ClickthePASTEiconfollowedbyaclickatthedrawing'sreferencepoint.The
Packagewillbeplaced.
Nowitcanbemodifiedasrequested.
ItispossibletoCOPYandPASTEwithcoordinatesinordertomoveagroup
by a certain value in the coordinates system. This may be valuable for
elementsthathavebeendrawninthewronggrid.Syntax:
COPY (0 0);
PASTE (10 0);
Thegroupwillbemovedbyavalueof10(gridunits)inxdirection.
ThisprocedurecanbeappliedtoSymbolstoo!
Devicescan'tbecopiedwithinalibrary!

279

8 Component Design Explained through Examples


From One Library into Another
Devices
IfthereisaproperDeviceorDevicesetthatyouwanttouseinyourcurrent
libraryyoucancopyitintwodifferentways.
IntheControlPanel:
Move(with Drag&Drop)therequestedDevicesetfromtheControlPanel's
treeviewintotheopenedLibraryEditorwindow.ThecompleteDeviceset
withSymbol(s)andPackage(s)willbecopiedandnewlydefined.
AsanalternativeyoucouldusetheentryCopytoLibraryinthecontextmenu
oftheDeviceentry.
WiththeCOPYcommand:
Type,forexample,
COPY 75130@751xx.lbr
orwiththewholepath
COPY 75130@d:\eagle\lbr\751xx.lbr
inthecommandline,theDevice75130fromlibrary751xx.lbriscopiedinto
thecurrentlyopenedlibrary.
Ifthepathcontainsspacesusesinglequotesforit,forexample:
COPY '75130@d:\P A T H\751xx.lbr'
IftheDeviceshouldbestoredinthecurrentlibraryunderanewnamesimply
enterit,likehere:
COPY 75130@751xx.lbr 75130NEW
Symbols
AsSymbolsarenotshownin thetree view oftheControlPanel itisnot
possibletocopythemfromthereintotheLibraryEditor.
Symbolsarecopiedfromonelibraryintoanotherthesamewayasonewould
do it within the same library. Therefore we use the commands GROUP,
COPY,andPASTE(seepreviousparagraph).
TheonlydifferencetocopyingaSymbolwithinalibraryisthatyouhaveto
open the other library (File/Open) after COPY. Then you define a new
Symbolthatmayhavethesameoranothernameasbefore.
Inshort:
OPENthesourcelibraryandEDITtheSymbol
DISPLAYalllayers
SelectallobjectswithGROUPALL
ClickontoCOPY
OPENyourtargetlibrarywithFile/Open
EDITanewSymbol
UsePASTEtoplaceit
Savelibrary
280

8.17 Library and Part Management


Packages
TheproceduretocopyPackagesisnearlythesameastocopyDevices.
Either move (with Drag&Drop) the requested Package from the Control
Panel's tree view into the opened Library Editor window. The complete
Package will be copied and newly defined in the current library. As an
alternativeyoucouldusetheentryCopytoLibraryinthecontextmenuofthe
Packageentry.
OrusetheCOPYcommand.Type,forexample,
COPY DIL16@751xx.lbr
inthecommandline,thePackageDIL16fromlibrary751xx.lbriscopiedinto
the currently opened library. If the library is not in the current working
directoryyouhavetoenterthewholepath,asforexample,in:
COPY DIL16@\eagle\mylbr\751xx.lbr
Ifthepathcontainsspacesusesinglequotesforit:
COPY 'DIL16@D:\P A T H \mylbr\751xx.lbr'
If the Packageshould bestored in thecurrent library under anew name
simplyenteritdirectlyinthecommandline:
COPY DIL16@\eagle\mylbr\751xx.lbr DIL16NEW
ThePackageisstoredwiththenewnameDIL16NEWnow.
IfyouwanttocopyaPackagethatalreadyexistswiththesamenameinthe
targetlibrarythePackagewillbesimplyreplaced.
IfthePackageisalreadyusedinaDeviceandthepositionorthenameofone
ormorepads/SMDschanges,EAGLEpromptsamessageinwhichmodethe
pads/SMDs aretobe replaced.This procedure canalsobe cancelled.The
Packageremainsunchangedthen.
Iftheenumerationandpositionofthepadsareunchangedbuttheorderis,
EAGLEwill askyoufortheappropriateupdatemode.Dependingonyour
selectionthepin/padconnectionsoftheDevicemaychange(seeCONNECT
command).

RequestingtheUpdateMode

281

8 Component Design Explained through Examples


Composition of Your own Libraries
Thepreviouslymentionedmethodstocopylibraryelementsmakeitveryeasy
tocomposeyourownlibrarieswithselectedcontents.
ProvidedtheControlPanelandtheLibraryEditorwindowarearrangedina
mannerthatbotharevisibleonthescreenatthesametime,itisveryeasyto
makeuserdefinedlibrarieswhilebrowsingthroughthelibrarycontentsin
the Control Panel. Simply use Drag&Drop or the context menu Copy to
LibraryofthecurrentDeviceorPackage.

Removing and Renaming Library Elements


Devices, Symbols, and Packages can be removed from a library with the
REMOVE command. Defining a new library element can't be cancelled by
UNDO.
Example:
YouwouldliketoremovethePackagenamedDIL16.
Openthemenu Library/Remove....Adialogwindowopenswhere youcan
enterthenameoftheelementtobedeleted.
Thiscanbedonealsoatthecommandline:
REMOVE DIL16;
PackagesandSymbolscanberemovedonlyiftheyarenotusedinoneofthe
library'sDevices.Inthiscasethemessage Packageisinuse!orSymbolisin
use!appears.RemovethecorrespondingDevicefirstordeletetheparticular
PackageorSymbolintheDevice(set).
Wouldyouliketochangethenameofanelementinyourlibrary?Thenuse
theRENAMEcommand.
Switch to the Package editing mode so that the element that should be
renamedisshownfirstandopenthemenuLibrary/Rename.Adialogwindow
openswhereyoucanenterthenewnameoftheelement.
Thiscanalsobedoneatthecommandline:
RENAME DIL16 DIL-16;
ThePackageDIL16getsthenewnameDIL16.
TheDevice,Symbol,orPackagenamemayalsobegivenwithitsextension
(.dev,.sym,.pac),forexample:
REMOVE DIL16.PAC
Inthiscaseitisnotnecessarytoswitchtotherelatededitingmodebefore.

Update Packages in Libraries


AsalreadymentionedinthesectionCopyingofLibraryElementsitispossible
to copy Packages from one library into another one. An already existing
Packageisreplacedinthatcase.
282

8.17 Library and Part Management


EachlibrarycontainsPackageswhichareneededforDevicedefinitions.In
many libraries identical types of Packages can be found. To keep them
uniformoveralllibrariesitispossibletoreplaceallPackagesofalibrarywith
thoseofanotherlibrarywiththehelpoftheUPDATEcommand.Anexisting
Packagewiththepropernamewillbereplacedbythecurrentdefinition.
Ifyouhave,forexample,specialrequirementsforPackagesyoucoulddefine
theminacustombuiltPackageorSMDlibrary.TheUPDATEcommandcould
transferthemtootherlibraries.
Thereforeopenthelibrarytobeupdatedandselect Library/Update....Now
selectthelibrarywhichyouwanttotakethePackagesfrom.
HavingfinishedtheupdateEAGLEreportsinthestatusbar:
Update:finishedlibrarymodified!
Iftherewasnothingtoreplace:Update:finishednothingtodo.
Itisalsopossibletousethecommandlineforthisprocedure.
IfyouwanttoupdateyourlibrarywithPackagesfrom,forexample,
refpackages.lbr,type:
UPDATE ref-packages.lbr
TotransferPackagesfromdifferentlibraries,typeinoneafteranother:
UPDATE ref-packages.lbr rcl.lbr smd-special.lbr
ToupdateasinglePackage,typeinthePackagename:
UPDATE SO14@ref-packages
Theextension.lbrisnotnecessary.Youmayalsousethewholelibrarypath.
Seepage281forfurtherinformation.

283

8 Component Design Explained through Examples

This
page
hasbeen
leftfree
intentionally.

284

Chapter 9
Preparing Manufacturing Data
Data output for board manufacturing is made with the help of the CAM
Processor.PCBmanufacturerusuallyworkwithdrilldatainExcellonformat
andplotdatain Gerber format.Howtogeneratesuchdataandwhichdata
you have to pass on to your PCB manufacturer will be explained in this
chapter.
AlotofPCBmanufacturersgeneratethesedatawithEAGLEbythemselves.
Insuchacaseyouhavetopassontheboardfileonlyandyouneednotcare
aboutdatageneration.YouwillfindlinkstosuchfirmsonourInternetpages.
Withthehelpof pcbservice.ulp youwillbedirectedto element14.com and
mayhaveanofferofpartnersfromFarnell/Newarkformanufacturingyour
printed circuit board. Based on your layout and the Design Rules, key
parametersformanufacturing,likeboardsize,minimumdrillsize,andsoon
aredetermined.
Your design should be complete and have passed a DRC successfully. By
clickingontothelinkintheULPdialogwindowyouwillbedirectedtothe
quotesiteofelement14,wheretheseparameterswillbetransferred,aswell
(loginnecessary).Withafewstepsyougetaquoteformanufacturingyour
board.
If,however, yourboardmakerisnotsetuptoprocessEAGLEboardfiles
directly, you will have to supply them with a set of files. What will be
requiredwillbediscussedinthefollowingsections.
AdditionalusefulUserLanguagePrograms(ULPs)areavailableonCadSoft's
Internetpages.Theycanbeused,forexample,forthegenerationofglue
mask data, for the calculation of milling contours, or for data regarding
automaticmountingandtestingequipment.

9.1 Which Data do we Need for Board


Manufacture?
ThePCBmanufacturer requiresspecificinformationpertainingtoeach step
in the manufacturing process of your board. This special information is
describedinafilecontainingplotand/ordrillinginformation.
Forexample,onefileforeachsignallayer,forthesilkscreen,forthesolder
285

9 Preparing Manufacturing Data


stopmask,thecreamframe,foragoldapplication,foragluemask(forSMT
devices),orformillingdataregardingcutoutsintheboard.
Doublesidedboardswithpartsontopandbottomsiderequireasilkscreen
onbothsides,orincaseofSMTdevices,acreamframeoragluemaskfor
eachside.
Additionallytheboardmanufacturerneedsdrillingdatainaseparatefile.
Ifyouwantamilledprototypeboard,millingcontourshavetobecalculated
first,andgeneratedinaspecificdataformatforfabricationmillingmachines.
Ifyouwanttohavethepartsautomaticallymounted,youneedadditional
filesinappropriatedataformatthatdepictcentroidandrotationalangular
information.
Abillofmaterialsoralegendforthedrillsymbolscanbehelpful,too.

Gerber Plot Data


AllPCBmanufacturersuseGerberformat.TherearetwooptionsofGerber
formatavailable,ExtendedGerberformat,alsoknownasGerberRS274X(in
shortRS274X),whichisthemostcommonlyusedtodayinindustry.
TheCAMProcessoroffersthisdeviceoptionasGERBER_RS274X.
ItmaybethecasethatthePCBmanufacturerworkswiththesecondoption
RS274D. This will require the generation of data with the devices
GERBERAUTOandGERBERoftheCAMProcessor.
Gerberdata(RS274D)basicallyconsistoftwoparts:
ThesocalledAperturefileorWheelfile,aspecialtooltable,andtheplotdata
thatcontaincoordinatesandplottinginformationfortheGerberplotter.
PleaseinquirewhichformatyourPCBmanufacturerprefers.Themore
convenienttouseisExtendedGerber,RS274X.

GERBER_RS274X
ThisdevicegeneratesfilesinExtendedGerberformat(RS274X)wherethe
aperturetableisintegratedintheoutputfile.SimplygenerateGerberfiles
with the GERBER_RS274X device and pass them on to your board
manufacturer.ThisisthemostefficientandeasiestwaytogenerateGerber
data.
TheExtendedGerberdeviceGERBER_RS274Xhasaresolutionof1/100,000
ofanInch(dataformat:2.5,inch).
Alternatives:
GERBER_RS274X_24
1/10.000inch,dataformat2.4,inch
GERBER_RS274X_26
1/1.000.000inch,dataformat2.6,inch
GERBER_RS274X_33MM 1/1000mm,dataformat3.3,mm

286

9.1 Which Data do we Need for Board Manufacture?


GERBERAUTO and GERBER
The prior RS274D format works with a separate aperture file which is
necessarytogenerateallGerberfilesyouwillneedforboardmanufacturing.
Firstyouhavetogeneratetheaperturetable(wheelfile)withGERBERAUTO.
ThisfileisatooltablewhichdefinestheshapeandthesizeoftheGerber
plotter's apertures (tools). This table must contain the whole aperture
definitionweneedforgeneratingallGerberfilesthatdescribetheboard.
For generating the Gerber files with the GERBER device, we refer to the
previouslygeneratedaperturefile,madewithGERBERAUTO.
GERBER and GERBERAUTO have a resolution of 1/10.000 of an Inch.
Exceptionsarethedevices GERBERAUTO_23 and GERBER_23.Theyhavea
lowerresolutionof1/1,000ofanInch(dataformat2.3,inch).

Drill Data
Thegenerationof drilldataisverysimilartothegenerationofplotdata.
Typicalformatsusedinindustryare Excellon or Sieb&Meyer1000 or 3000.
TheyaresupportedbytheCAMProcessor.ThemostcommononeisExcellon.
Thesimplestcaseistogenerateonecommondrilldatafileforalldrillholes.
Ifyouhavetodistinguish platedfrom nonplateddrillholes,twodrilldata
filesmustbegenerated.EAGLEdifferentiatesbetweenplateddrillsofPads
andViasinlayer44,Drills,andnonplatedholesinlayer45,Holes,whichare
placedbytheHOLEcommand.
IfyouhavetogeneratedrilldataforamultilayerboardthatusesBlindand
Buriedviaswithdifferentvialengthsthatresultindifferentdrillingdepths,
theCAMProcessortakescareonthisautomatically.Foreachvialengthit
generatesaseparatedrilldatafile.
Furtherinformationaboutthiscanbefoundinchapter9.5frompage301on.

EXCELLON
UsingthisdevicetheCAMProcessorgeneratesadrillfilethatcontainsthe
drilltableandthedrillcoordinates.Thisfileformatisthemostcommonin
theindustryandwillberecognizedbymostboardmanufacturers.
ThedefaultresolutionoftheEXCELLONdeviceis1/100,000ofanInch,no
leadingzeros(dataformat:2.5,Inch).
Alternatives:
EXCELLON_24
EXCELLON_26
EXCELLON_33MM

1/10.000inch,dataformat:2.4,inch
1/1.000.000inch,dataformat:2.6,inch
1/1.000mm,dataformat:3.3,mm

EXCELLON_RACK
Thisdevicecanbeused,ifyourboardmanufacturerinsistsontwoseparate
files.Adrilltable(rackfile)andthedrilldatafile.Thiswasdefaultinprior
EAGLEversions.Defaultdataformatis2.4,Inch.

287

9 Preparing Manufacturing Data


InthefirststeponehastogeneratethedrilltableintheLayoutEditorwith
thehelpoftheUserLanguageprogram drillcfg.ulp,andreferstothisdrill
table when generating drill data with the CAM Processor. The board
manufacturergetstwofilesthen,drilldataanddrilltable.
Ifyouhavetodistinguishbetweenplatedandnonplateddrillingsyouhave
tosupplyonedrilltableandtwodrilldatafiles(oneforlayerDrills,onefor
layerHoles).

SM1000 and SM3000


ThesedevicesgeneratedrilldatainSieb&Meyer1000orinSieb&Meyer3000
format.SM1000hasaresolutionof1/100mm,SM30001/1000mm.
DataoutputisexactlythesameasitiswithEXCELLON_RACK.Firstyouhave
togeneratethedrilltablewith drillcfg.ulp,thenusetheCAMProcessorto
generatedrilldata.

Further Drill Data Devices


TheCAMProcessorsupportstwofurtherdevicesfordrilldatageneration.
GERBDRL generatesGerberdrillcode.Hereweneed aseparatedrilltable
(RUNdrillcfg.ulp),asitiswithEXCELLON_RACK.
SMS68isafurtherdrilldatadevicethatgeneratesaHPGLcode.

Prototype Manufacture With a Milling Machine


WiththehelpofvariousUserLanguageprogramsyoucangenerateoutline
dataformillingaprototypeboard.

outlines.ulp
Asimpleexampleforcontourdatacalculationisoutlines.ulp.Startitwiththe
RUNcommand.Selectthelayerforwhichoutlinedatashallbegenerated,
define thediameter ofthemillingtool(Width),and selecttheoutputfile
format(ScriptorHPGL)intheULP'sdialogwindow.
TheScriptfilecontainingtheoutlinedatacanbeimportedintoEAGLEwith
theSCRIPTcommand.Thusit'spossibletovisualizethecalculatedcontours
intheLayoutEditor.Youcanevenmodifythem,ifnecessary.
Finally,themillingdataoutputismadewiththeCAMProcessor.Selectthe
layerwherethecontoursaretobedrawninanduse,forexample,theHPGL,
thePS(Postscript)oroneoftheGerberdevicesfortheoutput.
Furtherinformationcanbefoundinthehelpfunction,Outlinedata.

mill-outlines.ulp
AnotherUserLanguageprogramthatcalculatesoutlineanddrilldataismill
outlines.ulp.Itoffersvariousconfigurationparameters.Simplystartitwith
theRUNcommandintheLayoutEditor.ConsulttheULPsintegratedhelp
functionfordetails.

288

9.1 Which Data do we Need for Board Manufacture?


This ULP exports HPGL formatted data (further formats are planned) or
generates a Script file which can be imported into the layout again. The
millingcontourscanbeviewed,orevenmodified,ifrequired.Generatethe
milling data with the CAM Processor and one of its devices, like Gerber,
HPGLorPSthen.

Film Generation Using PostScript Files


A highquality alternative to Gerber is the data generation for PostScript
raster image recorders. The exposed film serves as master for board
manufacturing.
Withthe PS driver,theCAMProcessorgeneratesfilesinPostScriptformat.
Thesefilescanbeprocesseddirectlybyappropriateservicecompanies(most
ofwhichoperateintheprintindustry).
ForPostScriptrecordersthe Width and Height parametersshouldbesetto
veryhighvalues(e.g.100x100inches),sothatthedrawingisnotspread
overseveralpages.
ForgeneratingPostscriptfilesyouhavetoselecttheproperlayers,thesame
way it is performed for Gerber data generation. Use these files for the
generationofyourartworkatyourparticularPCBsubcontractor.
Films that relate to the bottom side are usually output in mirrored form
(MirroroptionintheCAMProcessor).Indoingsothecoatingofthefoilrests
directlyonthecopperlayeroftheboardwhichistobeexposed.
The EPS driver generates Encapsulated PostScript files. They can be
processedwithDesktopPublishingprograms.

Printing on a Film
Forboardsoflimitedcomplexity,onecanusealaserorinkjetprinterand
printonatransparentfoilwiththePRINTcommand.Thismethodisused,for
example,byhobbyistsandresults inashorter fabricationtimeandaless
expensiveboardfabricationprocess.
ThelayersthataredisplayedintheLayoutEditorwhileprintingwillappear
onthefilm.ChecktheoptionsBlackandSolidintheprintdialog.
Thedrillsofpadsandviasarevisibleontheprintout.Thiswillallowaneasy
visual indication of where you have to drill manually on the board.
Experienceshowsthattheopeningofapadoraviashouldnotbetoobigto
allowforagoodcenteringofthedrillbit.Thisissuecanbesolvedwiththe
help of an User Language program, named drillaid.ulp. Start it before
printing,andletitdrawaringinsideeachpadandviainaseparatelayer.
Theinnerdiameterofthisringcanbedefinedandisusuallysetto0.3mm.Of
course,youhavetodisplaythisadditionallayerforprintingonthefilm.

289

9 Preparing Manufacturing Data

Data for Pick-and-place Machines and In-circuit


Testers
EAGLE includes some ULPs which create data for various automatic
placement machines and incircuit testers that are typically used by PCB
manufacturers.
The description of an ULP can be viewed in the User Language Programs
branch ofthetree view ofthe ControlPanel byselecting oneoftheULP
entrieswiththemouse.Thedescribingtextappearsontherightsideofthe
ControlPanelwindow.It'salsopossibletoedittheULPfilewithatexteditor.
Thedescriptionusuallyiswritteninthefileheader.
ULPsforpickandplacedata(selection):
mount.ulp

Generatesonefilewithcoordinatesof
thecenteredpartorigins

mountsmd.ulp

CenteredoriginsforSMTdevices;onefilefor
topandonefileforbottomside

ULPsforcircuittester(selection):
dif40.ulp

DIF4.0formatfromDigitaltest

fabmaster.ulp

FabmasterformatFATFREV11.1

gencad.ulp

GenCADformatforTeradyne/GenRad
incircuittester

unidat.ulp

UNIDATformat

Execute the RUN command in the Layout Editor window to start the
particularULP.
NotealsothewiderangeofprogramsthataremadeavailableontheCadSoft
webserverhttp://www.cadsoftusa.com/download.htm,ULPdirectory.

Documentation
ManydocumentationitemscanbegeneratedwiththeaidofUserLanguage
programs.Notealsothewiderangeofprogramsthataremadeavailableon
ourwebserver.Thebom.ulp,theprogramforgeneratingabillofmaterials,
hasbeenusedasabasisforlotsofusercontributedULPs.

Parts List
Thepartslistcanbecreatedbybom.ulp.StartitfromtheSchematicEditor,
using the RUN command. The Bill Of Material window with the parts
summaryopensfirst.

290

9.1 Which Data do we Need for Board Manufacture?

bom.ulp:Dialogwindow

It
ispossibletoimportadditionalinformationfromadatabasefileintotheparts
list (Load), or to create a new database with its own properties such as
manufacturer,storesnumber,materialnumberorprice(New).
You can obtain further details about the current version of the ULP by
clickingthehelpbutton.
Asimple parts list canalso becreated from a boardor schematic by
meansoftheEXPORTcommand(Partlistoption).

Drill Plan
Printingadrillplanenablesyoutocheckthedrillholesandtheirdiameters.
Itshowsanindividualsymbolforeachdiameterofhole,via,andpadusedin
yourdesign.EAGLEuses19differentsymbols:18ofthemareassignedtoa
certaindiameter; one()appears,ifnosymbolhasbeendefined forthe
diameterofthishole.Thesymbolsappearinlayer44,Drills,atthepositions
wherepadsorviasareplaced,andinlayer45,Holes,atthepositionswhere
holesareplaced.
TherelationbetweendiametersandsymbolsisdefinedthroughtheLayout
Editor'sOptions/Set/Drilldialog.
ThebuttonsNew,Change,DeleteandAddcanbeusedtocreateanewtable,
tomodifycertainentries,deletethemortoaddnewones.
The Set button extracts all the hole diameters from the layout and
automaticallyassignsthemtoadrillsymbolnumber.ThevaluesofDiameter
291

9 Preparing Manufacturing Data

Configurationofthedrillsymbols
and Widthdeterminethediameterandlinethicknessofthedrillsymbolon
thescreenandtheprintout.
Theimageaboveshowsthatdrillsymbol1isassignedtoadrilldiameterof
0.01inch.Inthefollowingimageyoucanseehowtherelatedsymboldrawn
inlayer44,Drills,or45,Holes,lookslike.Thesymbolnumber1lookslikea
pluscharacter(+).

Assignmentofthedrillsymbols
The dill symbol assignment is stored in the userspecific file eaglerc.usr
(.eaglercforLinuxandMac).

Drill Legend
Documentingthedrillsymbolassignmentisquitesimplewiththehelpofa
handyUserLanguageprogramnameddrilllegend.ulp.
292

9.1 Which Data do we Need for Board Manufacture?


InthefirststepweletEAGLEgeneratethedrillsymbolassignmentforthe
currentlayoutwiththeSetbuttonintheOptions/Set/DrillSymbolsmenu.
Nowwestart drilllegend.ulp.Itdrawsatablewiththeproperdrillsymbol
assignmentandthedrillsymbolsattheirpositionsintheboardinthenewly
generated layer 144. For printing, it can be helpful to display layer 20,
Dimensions,additionally.
Ifyouwanttodeletethisall,simplyuseGROUPandDELETEinlayer144.

Assembly Variants
The CAM Processor basically generates data for the assembly variant, the
board is saved with. The status bar of the CAM Processors shows the
assemblyvariantassoonastheboardfileisloaded.
Ifyouhavetocreatedataforanotherassemblyvariant,werecommendto
selectthisvariantintheschematiceditorandsaveschematicandboardin
thisvariant.NowstarttheCAMProcessoragain.
IfyouprefertotheCAMProcessorfromaCommandPromptwindowora
Terminalwindow(eagleX)youhavetospecifythecommandlineoptionA
inordertoselecttheassemblyvariant.Informationabouttheseoptionscan
befoundintheAppendixbeginningwithpage315.

9.2 Rules that Save Time and Money


Each layer should without fail be uniquely identified (e.g. CS for
ComponentSide,BSforBottomSide).
Itmaybewisetousefiducialorcropmarkswhichcanbedefinedin
layer49, Reference.ThiswillalloweasyalignmentofPCBgenerated
films for both inspection and fabrication. When generating
manufacturingdata,thislayerhastobeactiveadditionallywithall
signallayers.Pleasecontactyouboardmanufacturerconcerningthis
matter. Fiducials can be found in marks.lbr. A minimum of three
fiducials or crop marks (three corners) is required for proper film
alignmentreference.
Forcostreasonsyoushould,ifatallpossible,avoidtracksthatnarrow
tobelow8mil.
Usuallythecontouroftheboardisdrawninlayer20,Dimension.But
itisalsopossibletodrawanglesatthecornerstodelimittheboardin
eachsignallayer.Pleasecontactyourboardmanufacturerwhatthey
prefer.
If your board has milled edges, please contact your board
manufacturer to clarify in which layer these contours have to be
drawn.Seealsopage300.

293

9 Preparing Manufacturing Data


Youshouldalwaysleaveatleast2mm(about80mil)around the
edge of the board free of copper. This is especially important for
multilayerboardstoavoidinternalshortsbetweentheselayers.
Inthecaseofsupplylayersonmultilayerboards,whichareplotted
inverse,youdothisbydrawingawirearoundtheedgeoftheboard.
Thiswillactasacopperkeepoutinthisarea.
Pleasetakecareofthewirewidthforpolygons.Itshouldnotbeset
toofineoreven0.Thesereducedwirewidthsresultinhugefilesizes
andcanleadtoproblemsforboardmanufacturing,aswell.
AsalreadymentionedinthesectionoftheTEXTcommand,textsin
copperlayersoughttobewritteninvectorfont.Soyoucanreallybe
sure that the text on your board looks the same as it does in the
LayoutEditorwindow.
Toplaysafe,youcouldactivatetheoptions Alwaysvector font and
Persistent inthisdrawing inthe Options/User Interface menubefore
passingonyourboardfiletotheboardmanufacturer.
Forthesakeofcompletenesswewanttopointouthereagainthatall
questionsconcerninglayersetup,layerthickness,anddrilldiameter
formultilayerboardswithBlind,Buried,orMicroviashavetobepre
examined.
Supply an informational text file to your PCB manufacturer that
contains information about specific features in the board. For
example,informationaboutusedlayers,millingcontours,andsoon.
Thissavestimeandavoidstrouble.

9.3 Quick Guide for Data Output


The CAM Processor provides an automated job mechanism aiding in the
creationoftheoutputdataforaboard.Itispossibletogeneratealldatabya
singlemouseclick.
TheControlPanel'streeview(CAMJobs branch)listsalljobsandshowsa
briefdescription.
IfyouarenotyetfamiliarwiththeuseoftheCAMProcessor,pleasescroll
backtothechapteraboutTheCAMProcessoronpage84.Thereyouwilllearn
aboutthebasicoperationoftheCAMProcessor.
Thepredefined jobs gerb274x.cam andgerber.cam aredesignedfor a
twolayerboardwhichhascomponentsonthetopsideonly.Theywill
generatefilesforthesignallayers,thesilkscreenforthecomponentside,
andthesolderstopmaskfortopandbottom.

Job gerb274x.cam
This job can be used to generate manufacturing data in Extended Gerber
format.
294

9.3 Quick Guide for Data Output


Proceedasfollows:
StarttheCAMProcessor,forexample,withtheCAMProcessoriconin
theLayoutEditororwiththeFile/CAMProcessormenu.
LoadtheboardintotheCAMProcessor(File/Open/Board)ifitwasnot
loadedautomaticallyduringthestartsequence.
Loadthepredefinedjobgerb274x.camwiththeFile/Open/Jobmenu.
Now click Process Job. EAGLE generates five files, one by one,
automaticallywhichyouhavetopassontotheboardmanufacturer.
EachGerberfilecontainstheaperture tableandtherespectiveplot
data.
Thefollowingfileswillbegenerated:
%N.cmp

Componentside

%N.sol

Solderside

%N.plc

Silkscreencomponentside

%N.stc

Solderstopmaskcomponentside

%N.sts

Solderstopmasksolderside

%N.gpi

Infofile,notneededhere

%Nistheplaceholderfortheboardfilenamewithoutitsextension.
Ifotherlayersarealsotobegenerated,e.g.silkscreenforthebottomside,or
asoldercreammask,theGerberjobcanbeextendedwithmodificationsas
required.Extendingthejobisdiscussedlaterinthischapter.

Job excellon.cam
The easiest way to generate drill data is to use the predefined CAM job
excellon.cam,usedwiththeCAMProcessorafilethatcontainsdrilldataand
therespectivedrilltablewillbegeneratedautomatically.Thisjobdoesnot
distinguishbetweenthelayers Drills and Holes.Bothwillbeoutputintoa
commonfile.Usuallyalldrillingswillbeplatedthroughthen.
Proceedasfollows:
StarttheCAMProcessor(forexample File/CAMProcessor menu)in
theLayoutEditor.
LoadtheboardintotheCAMProcessor(File/Open/Board),ifithas
notbeenloadedautomaticallyduringthestartsequence.
295

9 Preparing Manufacturing Data


Loadthepredefinedjobexcellon.cam,e.g.withFile/Open/Job.
Executethejobwithamouseclickon ProcessJob.Drilldataoutput
startsnow.
Excellon.camdoesnotdistinguishbetweenplatedthroughdrillsandnon
platedthroughholes!
Thefollowingfileswillbegenerated:
%N.drd

Drilldata

%N.dri

Infofile,forboardmanufacturer,
ifrequired

CAMProcessor:Generatedrilldatawiththeexcellon.camjob
Thedefaultunitforthedrilltableisinch.Ifthedrilltablewouldbepreferred
inMillimetresthedevicedefinitioncanbechangedinthefileeagle.def.More
detailsconcerningthiscanbefoundinthesectionUnitsforapertureanddrill
tables,beginningwithpage311.
Excellon.cam can be used for multilayer boards, as well as for those with
Blind, Buried or Micro vias. In this case several drill data files will be
generated.Seechapter9.5fordetails.
296

9.3 Quick Guide for Data Output

Job gerber.cam
If your board manufacturer can not handle Extended Gerber format and
expectsGerber data with a separate aperture file, use the job gerber.cam.
Thesefilescanbecreatedwiththedevices GERBERAUTO and GERBER and
generatesdatainRS274Dformat.
Howtoproceed:
StarttheCAMProcessor,forexample,withtheCAMProcessoriconin
theLayoutEditororwiththeFile/CAMProcessormenu.
LoadtheboardintotheCAMProcessor(File/Open/Board)ifitwasnot
loadedautomaticallyduringthestartsequence.
Loadthepredefinedjobgerber.camwiththeFile/Open/Jobmenu.
Nowclick ProcessJob.EAGLEautomaticallygeneratessixfileswhich
youhavetopassontotheboardmanufacturer.FiveGerberplotfiles
andonecommonaperturetable.
Inthefirststepanaperturetable%N.whlisgenerated.Twomessages
appear,whichyouconfirmwithOK.

Messagesingerber.cam
The left message is generated by the entry in the Prompt field, and
remindsyoutodeletethetemporaryfile%N.$$$createdwhengenerating
theaperturetableafterthejobisdone.
Themessageontherightadvisesyouthatmorethanonesignallayerare
active atthesametime.Normally onlyonesignallayer isactivewhile
outputisgenerated.However,whengeneratingthewheel,allthelayers
needtobeactiveatthesametimetoformacommonaperturetablefor
theGerberoutput.
Thefollowingfileswillbesubsequentlyoutput:
%N.whl

Aperturefile(Wheel)

%N.cmp

Componentside

%N.sol

Solderside

%N.plc

Silkscreencomponentside

%N.stc

Solderstopmaskcomponentside

%N.sts

Solderstopmasksolderside
297

9 Preparing Manufacturing Data

%N.$$$

Temporaryfile,pleasedeleteit

%N.gpi

Infofile,notneededhere

9.4 Which Files do I Need for my Board?


The previous part of this chapter told you a lot about the basics of data
generationandhowtousepredefinedjobfilesfordefaulttwolayerboards.
Inthissectionyouwillfindasummaryoffilesusuallygeneratedforboard
manufacturing.

Files List
TheoutputfilesoftheCAMjobsdifferintheirfileextensions.Youare,of
course,freetouseunequivocalnamesofyourown.
TheCAMProcessorallowstheuseofsomeplaceholdersforthegenerationof
outputfilenames.Usuallytheoutputfilenameconsistsofthenameofthe
board file plus a special file extension. For the board file name without
extensionweusetheplaceholder%N.Write,forexample,intheOutputFile
field:%N.cmp.Thiswillbeexpandedwiththenameofthelayoutfilethatis
loadedplustheextension(here:boardname.cmp).
Inthefollowingtable %N alsostandsforthenameofthecurrentlyloaded
boardfilethatisusedtogeneratemanufacturingdatafrom.
Filename

Selectedlayers

Description

Signallayers

%N.cmp

1Top,17Pads,18Vias

Componentside(top)

%N.sol

16Bottom,17Pads,
18Vias

Solderside(bottom)

Innerlayers

298

%N.ly2

2Route2,17Pads,18
Vias

Innerlayer2

%N.ly3

3Route3,17Pads,18
Vias

Innerlayer3

.....

.....

.....

9.4 Which Files do I Need for my Board?

%N.l15

15Route15,17Pads,
18Vias

Innerlayer15

Silkscreen

%N.plc

21tPlace,25tNames,
possibly20Dimension(*)

Silkscreencomponent
side

%N.pls

22bPlace,26bNames
possibly20Dimension(*)

Silkscreensolderside

Solderstopmask

%N.stc

29tStop

Solderstopcomponent
side

%N.sts

30bStop

Solderstopsolderside

Creamframe(forSMTdevices)

%N.crc
%N.crs

31tCream

Creamframe
componentside

32bCream

Creamframesolder
side

Millingcontoursforopenings,oblongholes...

%N.mill
%N.dim

46Milling(**)

Platedmillingcontours

20Dimension(**)

Nonplatedmilling
cont.

Finishingmask(e.g.goldcoating)

%N.fic

33tFinish

Finishingcomponent
side

%N.fis

34bFinish

Finishingsolderside

Gluemask(forlargerSMTdevices)

%N.glc

35tGlue

Gluemaskcomponent
side

299

9 Preparing Manufacturing Data

%N.gls

36bGlue

Gluemasksolderside

44Drills,45Holes

Alldrillings

Drilldata

%N.drd

Distinguishingplatedfromnonplateddrillings

%N.drd

44Drills

Plateddrillings

%N.hol

45Holes

Nonplateddrillings

(*)Pleasecheckwithyourboardmanufacturerwhetheryouhavetooutput
theboardcontourinlayer20inaseparatefileoryouareallowedtocombine
itwiththoselayers.
(**) Ifthereareadditional millededgesintheboard,youshouldcontact
yourboardmanufacturerandaskthemwhichlayerstheypreferformilling
contours.

Placeholders for Output File Name Generation


%D{xxx}

xxxstandsforastringthatisinsertedonlyinto
thedatafilename

%E

fileextensionoftheloadedfile,withoutthe'.'

%H

homedirectoryoftheuser

%I{xxx}

xxxstandsforastringthatisinsertedonlyinto
theInfofilename

%L

layerrangeforblind&buriedvias

%N

nameoftheloadedfilewithoutpathand
extension

%P

directorypathoftheloadedBoardorSchematic
file

%%

thecharacter'%'

Theseplaceholdersmustbewritteninuppercaseletters!

300

9.4 Which Files do I Need for my Board?


Hints Concerning File Extensions:
cmpstandsforcomponentside,theuppersideoftheboard,solforthesolder
(bottom)side.Itmakessensetochoosethefirsttwolettersaccordingthe
active layers. The third one can be c or s for belonging to component or
solderside.
Ofcourseyouarefreeinnamingyourfilesinanymanneryouwish!
Pleaseensurewhendefiningajobthattheextensionsoftheoutputfiles
areuniqueandthereforedistinguishable.

9.5 Peculiarities of Multilayer Boards


Incaseofboardswithinner layersonehastoknowhowtheselayersare
definedinordertogeneratepropermanufacturingdata.Isitaninnerlayer
thatcontainstracksandpolygons,asitisinToporBottomlayer?Orisita
supplylayerthatcanbeidentifiedbythe$characterinfrontofthelayer
name?

Inner Layers
Innerlayersaretreatedthesameastheoutersignallayers.Togetherwiththe
signallayer,thelayersPadsandViashavetobeactived.
IftheLayerSetupallowsBlindandBuriedvias,thecombinationofonesignal
layerandtheViaslayeroutputsonlythoseviasthatbelongtothissignal
layer.
IfthereisonlytheViaslayeractive(nosignallayer),theCAMProcessor
willoutputallviasoftheboard!

Drill Data for Multilayer Boards With Blind and Buried


Vias
TheCAM Processor generates onedrill data fileforeachvia length fora
layoutthatusesBlindandBuriedvias.
Thedrilldatafileextension.drdisexpandedbythevialengthspecification.If
thereare,forexample,viasfromlayer1to2,theoutputfileextensionwillbe
.drd.0102.
Thelayerspecificationcanbemovedtoanotherpositionwiththehelpofthe
wildcard%L.Writing,forexample,intheFileboxoftheCAMProcessor%N.
%L.drdresultsinanoutputfilenamedboardname.0102.drd.
Padsandtroughholeviaswillbewrittenintoanoutputfilewithextension
.drd.0116.Ifyouplacedholes(HOLEcommand)inthelayoutandtheHoles
layerisactiveforoutput,theCAMProcessorwritesthisdataalsointothefile
withextension.drd.0116.
301

9 Preparing Manufacturing Data


Passonallthesefilestoyourboardmanufacturer.
ProvidedyoudidnotusetheEXCELLONdevicewhichcombinesdrilltable
anddrillcoordinatesinacommonfile,yourboardhouseadditionallyneeds
therackfilename.drlwhichisgeneratedbydrillcfg.ulp.

9.6 Set Output Parameters


ThissectiondescribesthesettingoftheparametersintheCAMProcessorfor
theoutputofaboardoraschematic.
LoadtheschematicorboardfilefromtheCAMProcessor's File/Openmenu,
andsettheparameters.
TheCAMProcessorwindowisdividedintosections(Output,Job,Style,Layer,
Offset andsoon).Somesections,like Emulate, Tolerance, Pen or Page,are
usedbyandthereforedisplayedwithcertaindevicesonly.

CAMProcessor:Soldersidesectionofthegerber.camjob
Output:
Selectthedriverforthedesiredoutputdeviceoroutputformatinthe
Devicecombobox.
Entertheoutputpathandfilenameinthe File fieldorsimplyclick
ontotheFilebuttonanduseitsdialog.
If you want to output a file on a particular drive, place the drive
identifieror,ifappropriate,thepathinfrontofthefilenameending.
For instance, under Windows, d:\%N.cmp would place the file
boardname.cmp intherootdirectoryofdriveD.Thisalsoappliesto
302

9.6 Set Output Parameters


the Linux version, so that, for example, /dev/hdc2/%N.cmp, would
placethefileondrivehdc2.
%HcanbeusedaswildcardfortheHomedirectory,%Pfortheloaded
file'sdirectorypath.
Ifoutputistogodirectlytoa plotter, enter thenameoftheprint
queuethatisconnectedtothecorrespondingcomputerinterfacein
UNCnotation,e.g.\\Servername\Plottername.
DependingonthechosendeviceitmaybeaskedforWheel(aperture
table)orRack(drilltable).Selectpathandfilebyclickingthebutton.
Layerselection:
Selectthelayersthatshouldbeoutputintoacommonfilebyclicking
theappropriatelayernumber.
Click the menu Layer/Deselect all to uncheck all the layers first.
Layer/showselecteddisplaysonlythecurrentlyselectedlayers.
Somedevices(likeHPGLorcertainplotterdevices)allowyoutoselect
acolororpennumberinanadditionalcolumn.
Style:
Mirror: Mirrorstheoutput.
Itcanbeusefultomirroralloutputsthatrefertothebottom
sideoftheboard.
Rotate: Rotatestheoutputby90degrees.
Upsidedown: Rotatestheoutputby180degrees.
WhencombinedwithRotate,thedrawingisrotated
byatotalof270degrees.
Pos.Coords.: Avoidsnegativecoordinatevaluesfortheoutput.
Thedrawingwillbemovednearthecoordinate'saxis,
evenifitisalreadyinthepositivecoordinatesrange.
Negativevaluescanleadtoerrorswithalotofdevices!
Thisoptionshouldbesetonalwaysbydefault.
Switchingitoff,transfersthecoordinatevaluesfrom
theLayoutEditorunchanged.
Quickplot: Draftoutputwhichshowsonlytheoutlinesofobjects.
Thisoptionisavailableforcertaindevices,likeHPGL
andvariousplotters.
Optimize: Activatestheoptimizationofthedrawingsequencefor
plotters.Shouldbesetonbydefault.
FillPads: Thisoptionisalwaysseton.OnlythedevicesPSand
EPSallowyoutoswitchoffthisoption.Thedrillholes
forpadswillbevisibleontheoutput(asitiswiththe
PRINTcommand).
Job:

303

9 Preparing Manufacturing Data


IfyouareonthewaytodefineaCAMjobthatconsistsofseveral
sectionsitisusefultonamethem.IntheSectionline,itispossibleto
enterasectionnamewhichwillbeshownalsointhetababove.
If,forexample,youassignthesectionnameWheel:GenerateAperture
File, only the title Wheel is visible as a tab name. The additional
descriptioncanbereadinthesectionline.Thecolonendsthetitlein
thetab.
In case you wish to display a message box on the screen before
executingthissection,enterspecialmessagetextinthePromptfield.
Forexample: Pleaseinsertanewsheetofpaper!Theoutputdoesnot
continueuntilconfirmationofthismessage.
Offset:
Defineanoffsetinxandydirection.
ThevaluescanbegiveninInchesorMillimetres,forexample,15mm
or0.5inch.
Tolerance:
TolerancesforDrawandFlashaperturesarenecessaryfordevicesthat
useanaperturefile,likeGERBERorGERBER_23.Usuallyoneallowsa
toleranceof1%inallfields.
Thisisnecessarytocompensatesmallroundingerrorsthatcanarise
duringtheconversionfrommmtoinchvaluesandviceversaasthe
aperturetableisgenerated.
Devicesfordrilldatagenerationthatuseaseparatedrilltable(rack
file) invoke a Drill entry. A tolerance of 2.5% is enough to
compensate for rounding errors that possibly can arise during the
conversionfrommmtoinch.
Emulate:
Ifanaperturewiththeexactvalueisnotavailableintheaperturefile,
youcanallow Aperture emulation.TheCAMProcessorisallowedto
usesmallerdrawingaperturesforemulation.Plottingtimeandcosts
will increase, and therefore you should try to avoid aperture
emulation.
Arcswithflatendings(CHANGECAPFLAT)arealwaysemulatedfor
Gerber output, which means that they are drawn with small lines.
Arcswithroundendings(CHANGECAPROUND),however,not.
Ifyourlayoutcontainsobjectsthatarerotatedinanyangle,youhaveto
activateapertureemulation.Certainpadshapesmustbedrawnwitha
smallerroundaperture.
Page:

304

9.6 Set Output Parameters


DefinetheHeightandWidthofthesheetyouwanttoploton.Values
areinInchesbydefault.ValuescanalsobegiveninMillimetres,like
297mm.
Pen:
TheDiameteroftheplottingpenisgiveninhere.Thevaluehastobe
inMillimetres.
For plotters that support adjustable pen Velocity you can define a
valuegivenincm/s(centimetrespersecond).Novaluehereresultsin
adefaultvaluegivenbytheplotter.
Sheet:
Selectthesheetoftheschematicyouwanttooutput.

9.7 Automating the Output with CAM


Processor Jobs
Defining a New CAM Job
AJobconsistsofoneormoresectionsthatallowyoutogenerateafullsetof
manufacturingdatawithonlyafewmouseclicks.Asectionisagroupof
settings, as described above in the Set Output Parameters chapter, which
definestheoutputofonefile.
Defineajobasfollows:
StarttheCAMProcessor.
Nojobisloadedatfirst,unlessthereisafilecalled eagle.caminthe
cam directory or an existing job is called up automatically by an
EAGLEprojectfile.
Ifhasnotalreadybeendone,loadtheboardfilewhichyouwantto
definethejobfor(alsopossibleforschematics).
Itis bestthatyou load anexisting job,for example gerb274x.cam,
throughtheCAMProcessor'sFile/Open/Jobmenu.
Savethisjobunderanewnamewith File/Savejob...Sotheoriginal
jobfileremainsunchanged.
ClicktheAddbutton.
Thecurrentlyactivesectionwithallitsparametersettingsiscopied
now.
EnteranewdescriptivetextintheSectionline.
If you wish to get a message shown before executing this section,
enteraspecifictextpromptinthePromptline.
Setallparametersnow:
Device, the layers for the output, the output File, a Scale factor, if
needed,theStyleoptions(Mirror,Rotate,Upsidedown...).

305

9 Preparing Manufacturing Data


Definefurthersectionsinthesamewayusingdifferentnames.
Veryimportant: Firstuse Add tocreateanewsection,thensetthe
parameters.
Deleteasection,ifneeded,byclickingtheDelbutton.
Saveallthesectionsofyournewjobasajobfileunderanameof
yourchoicewithFile/Savejob...
Allthesectionsofthejobwillbeexecutedautomaticallyoneafteranotherif
youclickthe Processjob button.Onespecific(thecurrentlyshown)section
willbeexecutedifyouclicktheProcesssectionbutton.
TheDescriptionbuttonallowsadescriptivetextoftheCAMjobthatwillbe
displayedintheControlPanel.

Extending gerber.cam Job for Multilayer Boards


Thegerber.camjobcanbeusedasthebasisofthejobformultilayerboards.It
mustsimplybeextendedfortheadditionalinnerlayers.
Example:
YouwanttooutputthefilesforaboardwithSMDcomponentsonthetop
andbottomsides.Theboardhastwoadditionalinner layers.Layer2and
layer15whichisnamedVCC.
Youneedsilkscreenprintsfortheupperandlowersides,solderstopmasks,
andmasksforthesoldercreamforbothsides.
BeforeyoustarttochangetheCAMjobyoushouldsavethejobunderanew
namethroughtheFile/Savejobas..menu.
Proceedasdescribedintheprevioussection.TheCAMjobthencontainsthe
followingsections:
New

Outputfile

Selectedlayers

Description

1,2,15,16,17,18,20,
21,22,25,26,29,30,
31,32

Generatewheelfile
.whl
*modifiedlayer
selection

%N.cmp

1Top,17Pads,18Vias

Componentside

%N.ly2

2Route2,17Pads,18
Vias

Innerlayer2

%N.l15

15VCC,17Pads,18Vias

Innerlayer15

%N.sol

16Bottom,17Pads,
18Vias

Solderside

* %N.$$$

306

9.7 Automating the Output with CAM Processor Jobs


%N.plc

21tPlace,25tNames,
20Dimension

Silkscreencomponent
side

%N.pls

22bPlace,26bNames
20Dimension

Silkscreensolderside

%N.stc

29tStop

Solderstopmaskcomp.
side

%N.sts

30bStop

Solderstopmasksolder
side

%N.crc

31tCream

Creamframecomp.side

%N.crs

32bCream

Creamframesolderside

Check once more whether all the necessary layers for the creation of the
aperturetableareactiveinthefirstsection.Theoutputfilegeneratedinthe
firstsectioncannotbeused.Forthisreason,thefile boardname.$$$ should
bedeleted.
Forinnerlayers,youalwayshavetoactivatethelayersPadsandVias!

Error Message: Apertures Missing


If the error message APERTURES MISSING NO PLOTFILE HAS BEEN
PRODUCEDappearsafterstartingthemodifiedCAMJob,theGerberinfofile
boardname.gpicontainsinformationaboutthereasonoftheproblem.
Theerrorcouldpossiblybenotallaperturesweredefinedorsomecouldnot
befoundinthetableduetomissingtolerancesettings.
EnsureallusedlayerswereactivatedintheGenerateaWheelfilesection?
Itcouldalsobethecasethattherearepartsplacedinanyanglewithpads
thatdon'thavearoundshapeinthelayout.Youhavetoactivatetheaperture
emulationthentohaveasuccessfulfilecreation.

Gerber Info Files


TheCAMProcessorgeneratesforeachGerberplotfilecreatedanadditional
Gerberinfofilewiththeextension.gpi.Thistextfileinformsyouaboutused
apertures, the data format of the Gerber device, about possible aperture
emulationsortolerances,andsoon.
IfyoudefineajobforGerberoutputwithdatafilesthatusetheextensions
proposed in the table above, the info file will be overwritten with each
succeedingsection.

307

9 Preparing Manufacturing Data


If your board manufacturer or your plot service wants to have these
additional information files (they are typically not necessary), use the
%I{xxx}placeholderasfollows:
ForOutputFileenter

%N.xxx%I{.info}

Here%Nstandsfortheboardname,xxxstandsforanycharactersforthefile
extension, %I{.info} generatesanadditionalextension .info fortheGerber
infofiles.
Theoutputfilesgeneratedwilllooklikethis:
Gerberfile:
Infofile:

boardname.xxx
boardname.xxx.info

Example:
Theboardmyboard.brdisloaded.TheFilefieldcontains%N.cmp%I{.info}.
The output file is called myboard.cmp, and the info file is named
myboard.cmp.info.
Thefileswillbewrittenintothesamedirectoryastheboardfileis.

Drill Data Generation with Separate Rack File


Ifyoupreferdrilldatainanotherdataformat,forexampleSieb&Meyer1000
or3000(SM1000,SM3000)ortheExcellonformatwithaseparaterackfile
(EXCELLON_RACK),adrilltableisrequiredfirst.

Define a Drill Configuration (Rack) File


Thisfileisusuallycreatedbydrillcfg.ulp(RUNcommand)starteddirectlyin
theLayoutEditorwindowandwillbenamedboardname.drl.
Itisofcoursealsopossibletodefineadrilltablewiththeaidofatexteditor.
For data generation enter the table's path and file name in the CAM
Processor'sRackfield.
Exampleofadrillconfigurationfile:
T01 0.010
T02 0.016
T03 0.032
T04 0.040
T05 0.050
T06 0.070

Alldimensionsaregivenhereininches.Itisalsopossibletoenterthevalues
withtheirunit,e.g.0.010inor0.8mm.Commentsindrillconfigurationfiles
maybeusedandareidentifiedbyasemicolon,whichmaystandatthestart
ofalineorbeprecededbyaspace.

Define Job for Drill Data Output


StarttheCAMProcessor
Loadthepredefinedjobexcellon.cam,e.g.withFile/Open/Job.

308

9.7 Automating the Output with CAM Processor Jobs


Changetheoutput Device to EXCELLON_RACK, SM1000 or SM3000
andchecktheparameters.Layers44, Drills,and45, Holes,mustbe
selected only.Nootherlayers!Usethe Layers/showselectedmenuto
getasummaryoftheactivelayers.

If you want to have separate files for plated and nonplated


drillings,selecthereLayer44,Drills,onlyandinsertafurthersection
thatoutputslayer45, Holes,inaseparatefilewiththe Add button
afterthefollowingitem.
Checkwithyourboardmanufacturertoseeifthisisthemethodthey
prefer.
AfterchangingtheoutputdevicetheCAMProcessorrequiresa Rack
fileasatoolguide. Typein .drl orclickthe Rackbuttonandchoose
thepathtoyourrackfileinthefiledialog.

Intheeventyouwishtodistinguishplatedandnonplatedholes:
Addanewsectionwhichoutputsonlylayer45,Holes,intoasecond
drillfilewithmodifiedfilename.Possibly.holforholes.
SavethejobfileviaFile/Savejobwithanewname.
A toleranceof 2.5%shouldbeallowedfordrilldiameterselectionin
ordertocompensateroundingerrorsthatpossiblycanariseduringthe
conversionfrommmtoinchandviceversainthedrilltable.

Drill Info File


Thefilename.driisgeneratedwitheachdrilldataoutput.Itcontainsthelist
ofusedtoolsandfurtherinformationaboutthedataformat.
IftheerrormessageDRILLSMISSINGNOPLOTFILEHASBEENPRODUCED
appears,theinfofilecontainsinformationwhichdrilldiametercouldnotbe
foundinthedrilltable.Addthemissingdiameterinthedrilltablewithatext
editororcheckthegivenvaluesfortolerances.
Theinfofileiswrittenintothesamedirectoryastheoutputfile.Youmay
sendthisfiletoyourPCBmanufacturer,ifrequested.

9.8 Device Driver Definition in eagle.def


Outputdevicedriversaredefinedintheeagle.deftextfile.Hereyouwillfind
alltheinformationthatisneededforthecreationofyourowndevicedriver.
Thebestwayistocopytheblockforanoutputdeviceofthesamegeneral
category,andthenaltertheparameterswherenecessary.
Thefileeagle.defcanbefoundintheeagle/bindirectory.

Creating Your Own Device Driver


Pleaseuseatexteditorthatdoesnotintroduceanycontrolcodesintothe
file.
309

9 Preparing Manufacturing Data


Example 1: Gerber(auto) device, Millimetre
[GERBER_MM33]
Type = PhotoPlotter
Long = "Gerber photoplotter"
Init = "G01*\nX000000Y000000D02*\n"
Reset = "X000000Y000000D02*\nM02*\n"
ResX = 25400
ResY = 25400
Wheel = ""
Move = "X%06dY%06dD02*\n" ; (x, y)
Draw = "X%06dY%06dD01*\n" ; (x, y)
Flash = "X%06dY%06dD03*\n" ; (x, y)
Units = mm
Decimals = 4
Aperture = "%s*\n" ; (Aperture code)
Info = "Plotfile Info: \n" \
"\n" \
"Coordinate Format : 3.3 \n" \
"Coordinate Units : 1/1000mm \n" \
"Data Mode : Absolute \n" \
"Zero Suppression : None \n" \
"End Of Block : * \n" \
"\n"
[GERBERAUTO_MM33]
@GERBER_MM33
Long = "With automatic wheel file generation"
Wheel = "" ; avoids message!
AutoAperture = "D%d"; (Aperture number)
FirstAperture = 10
MaxApertureSize = 2.0

Example 2: EXCELLON Device, Output with Leading Zeros


[EXCELLON-LZ]
Type
= DrillStation
Long
= "Excellon drill station"
Init
= "%%\nM48\nM72\n"
Reset
= "M30\n"
ResX
= 10000
ResY
= 10000
;Rack
= ""
DrillSize = "%sC%0.4f\n" ; (Tool code, tool size)
AutoDrill = "T%02d"
; (Tool number)
FirstDrill = 1
BeginData = "%%\n"
Units
= Inch
Decimals = 0
Select
= "%s\n"
; (Drill code)
Drill
= "X%06.0fY%06.0f\n"
; (x, y)
Info
= "Drill File Info:\n"\
"\n"\
" Data Mode
: Absolute\n"\
" Units
: 1/10000 Inch\n"\
"\n"

310

9.8 Device Driver Definition in eagle.def

Units in the Aperture and Drill Table


When automatically generated with the GERBERAUTO driver, theaperture
tablecontainsvaluesininches.
Thisisalsothecaseforthedrilltablewhichisautomaticallywrittenintothe
drilldatafilewiththeoutputdeviceEXCELLON.
If yourPCBmanufacturer insistsonmmunits foraperture sizesanddrill
diameters, you can achieve this by altering the GERBER or GERBERAUTO
respectivelyfortheEXCELLONdriver.
Use a text editor that does not introduce any control codes to edit the
eagle.deffile,lookfortheline
[GERBER]

or
[GERBERAUTO]

andadd/editinthissectionthelines
Units = mm
Decimals = 4
Inordertochangethedrilltableunitslookfortheline
[EXCELLON]

andchange:

Units = Inch

to
Units = mm

9.9 Gerber Files for Photoplotters with Fixed


Aperture Wheels
Thissectiongoesintomoredetailonthedefinition oftheaperture table.
SomeboardmanufacturersmayperhapsstillbeusingaGerberplotterthat
workswithafixedaperturewheel.Insuchacaseitisnecessarytoadaptthe
aperturetabletotherestrictedfacilitiesoftheGerberplotter.FilesforGerber
photoplotters with fixed aperture wheels are generated with the GERBER
driver.Itisessentialtoconferwithyourphotoplotserviceaheadoftime,so
astoadjustEAGLEtotheavailableapertures.Theaperturetablehastobe
definedmanually.
Therearevarioustypesofapertures.Theydifferinsizeandshape.Themost
commonarecircle,octagon,andsquare.Thedrawingaperture(Draw)used
fortracksisnormallyaroundaperture.
Youmustspecifytheapertureconfigurationbeforeyoucangeneratefilesfor
afixedaperturewheelphotoplotter.Todothis,entertheconfigurationfile
forapertures name.whl e.g.withtheEAGLETextEditor,andthenloadthis
fileintotheCAMProcessorbyclickingthe Wheel buttonafterselectingthe
GERBERdevicedriver(seeSetOutputParametersbeginningwithpage302).

311

9 Preparing Manufacturing Data

Defining the Aperture Table (Wheel)


TheCAMProcessordistinguishes Draw aperturesfrom Flash apertures.The
first typeisusedtodrawobjects(e.g.tracks).Thesecondtypeisusedto
generate symbols (e.g. pads) by a light flash. Only if draw apertures are
definedcantheplotterdrawlines.Therefore,iftheplotterdoesn'tdistinguish
between drawand flash apertures, youmustadditionally define round or
octagonalaperturesasdrawapertures.
Thefollowingaperturesareavailable:
Name
Dimension
Draw
Round
Square
Octagon
Rectangle
Oval

diameter
diameter
length
diameter
length-X x width-Y
diameter-X x diameter-Y

UseofapertureshapesintheCAMProcessor:
Draw
draws wires and emulates apertures
Round
draws round pads and vias
Square
draws square pads, SMDs and vias
Octagon
draws octagonal pads and vias with
the same X- and Y-dimensions
Rectangle draws rectangles and SMDs
Oval
draws pads with different X- and
Y-dimensions
Apertureconfigurationfileexample:
D020 round 0.004
D033 round 0.059
D052 square 0.059
D105 oval
0.090 x 0.030
D101 rectangle 0.075 x 0.060
D110 draw
0.004
D111 draw
0.005
The D code determines the tool number, then follows the aperture shape
afteratleastoneblankcharacter,thenthedimensionsaredefined.Allvalues
defaulttoinches,unlessaunitisadded,forexample0.010inor0.8mm.
Commentsaremarkedwithsemicolonsatthebeginningofaline,orwitha
semicolonfollowingablankcharacter.

Aperture Emulation
If objects exist in a drawing which is not compatible with the available
aperturesizes,itispossibletoemulatethedesireddimensionsbyselecting
the Emulate Apertures option. The CAM Processor then selects smaller
aperturestoemulatedimensionswhicharenotmatchedbyaperturesizes.
Emulationresultsinlongerplottimesandhigherfilmcosts,soitshouldbe
avoidedwheneverpossible.
Thefilename.gpiindicateswhichaperturesareemulated.

312

Chapter 10
Appendix
10.1 Layers and their Usage
In Layout and Package Editor
1 Top
2 Route2
3 Route3
4 Route4
5 Route5
6 Route6
7 Route7
8 Route8
9 Route9
10 Route10
11 Route11
12 Route12
13 Route13
14 Route14
15 Route15
16 Bottom
17 Pads
18 Vias
19 Unrouted
20 Dimension
21 tPlace
22 bPlace
23 tOrigins
24 bOrigins
25 tNames
26 bNames
27 tValues
28 bValues
29 tStop
30 bStop
31 tCream
32 bCream
33 tFinish
34 bFinish
35 tGlue
36 bGlue
37 tTest
38 bTest
39 tKeepout
40 bKeepout
41 tRestrict
42 bRestrict
43 vRestrict
44 Drills

Tracks, top side


Inner layer
Inner layer
Inner layer
Inner layer
Inner layer
Inner layer
Inner layer
Inner layer
Inner layer
Inner layer
Inner layer
Inner layer
Inner layer
Inner layer
Tracks, bottom side
Pads (through-hole)
Vias (through all layers)
Airlines (rubber bands)
Board outlines (circles for holes) *)
Silk screen, top side
Silk screen, bottom side
Origins, top side (generated autom.)
Origins, bottom side (generated autom.)
Service print, top side (component NAME)
Service print, bottom s. (component NAME)
Component VALUE, top side
Component VALUE, bottom side
Solder stop mask, top side (gen. autom.)
Solder stop mask, bottom side (gen. Autom.)
Solder cream, top side
Solder cream, bottom side
Finish, top side
Finish, bottom side
Glue mask, top side
Glue mask, bottom side
Test and adjustment information, top side
Test and adjustment inf., bottom side
Restricted areas for components, top side
Restricted areas for components, bottom s.
Restricted areas for copper, top side
Restricted areas for copper, bottom side
Restricted areas for vias
Conducting through-holes

313

10 Appendix
45 Holes
46 Milling
47 Measures
48 Document
49 Reference
51 tDocu
52 bDocu

Non-conducting holes
Milling
Measures
Documentation
Reference marks
Detailed top screen print
Detailed bottom screen print

In Schematic, Symbol, and Device Editor


90 Modules
Module instances and ports
91 Nets
Nets
92 Busses
Busses
93 Pins
Connection points for symbols with additional information
94 Symbols
Shapes of component s
95 Names
Names of component symbols
96 Values
Values/component types
97 Info
Additional information/hints
98 Guide
Guiding lines for symbol alignment
*) Holes generate circles with their diameter in this layer.
They are used to place restrictions on the Autorouter.

Layers can be used with their names or their numbers. Names can be
changedwiththeLAYERcommandorintheDISPLAYmenu.Thefunctionsof
thespeciallayersremain.
Ifyouwanttocreateyourownlayers,pleaseuselayernumbersabove100.
UsetheDISPLAYmenutocreatenewlayers(Newbutton)ortypetheLAYER
commandonthecommandline.Ifyouwanttocreate,forexample,layer
200,Remarks,typein:
LAYER 200 Remarks
TosetupcolorandfillstyleofthislayerusetheDISPLAYcommand.

10.2 EAGLE Files


EAGLEusesthefollowingfiletypes:
Name
Type of file
*.brd Layout
*.sch Schematic
*.lbr Library
*.ulp User Language Program
*.scr Script file
*.txt Text file (also other suffixes)
*.dru Design Rules
*.ctl Control parameter for the Autorouter
*.pro
Autorouter protocol file
*.job Autorouter job
*.b$$
Backup file of brd after finishing
the Autorouter
*.cam CAM Processor job
*.b#x
Backup file of BRD (x = 1..9)
*.s#x Backup file of SCH (x = 1..9)
*.l#x
Backup file of LBR (x = 1..9)
*.b##
Automatic backup file of BRD
*.s##
Automatic backup file of SCH
*.l##
Automatic backup file of LBR

314

10.2 EAGLE Files


EAGLEforLinuxonlycreatesandrecognizeslowercasecharactersinfile
endings!

10.3 EAGLE Options at a Glance


Inordertooutputmanufacturingdata,forinstance,withtheCAMProcessor,
EAGLEcanbestarteddirectlyfromaterminalwindowunderLinuxandMac,
orfromaconsolewindowunderMSWindows.
SinceWindowsprogramsgiveuptheirconnectiontotheconsoletheyhave
beenstartedfrom,youcanusethefileeaglecon.exe(locatedintheeagle\bin
subdirectoryofyourinstallation)ifyouwanttoruntheCAMProcessorfrom
abatchfile.
This version of EAGLE is exactly the same as the eagle.exe, except thatit
doesn'tdisconnectfromtheconsole.
Typeeaglecon?foralistofCAMProcessoroptions.
Thefollowingoptionsarepermitted:
-A
-C
-Dxxx
-Exxx
-Fxxx
-N+
-O+
-Pxxx
-Rxxx
-Sxxx
-Uxxx
-Wxxx
-X-c+
-dxxx
-e-f+
-hxxx
-m-oxxx
-pxxx
-q-r-sxxx
-vxxx
-u-wxxx
-xxxx
-yxxx

Where:

Assembly variant
Execute a given EAGLE Command
Draw tolerance (0.1 = 10 %)
Drill tolerance (0.1 = 10 %)
Flash tolerance (0.1 = 10 %)
Suppress message prompts
Optimize pen movement
Plotter pen (layer=pen)
Drill rack file
Script file
Location of eaglerc file
Aperture wheel file
Execute CAM Processor
Positive coordinates
Device (-d? for list)
Emulate apertures
Fill pads
Page height (inch)
Mirror output
Output filename/channel
Pen diameter (mm)
Quick plot
Rotate output 90 degrees
Scale factor
Pen velocity
Rotate output 180 degrees
Page width (inch)
Offset X (inch)
Offset Y (inch)

xxx stands for further data, e.g. file name as with


-W or a decimal number as with -s.
Examples:
-W /home/user/eagle/project/aperture.whl
-s 1.25
- Default for option is off
+ Default for option is on
Example:
-e Aperture Emulation on
-e+ ditto

315

10 Appendix
-e- Aperture Emulation off
Flag options (e.g. -e) can be used without repeating the '-' character:
-em
Aperture emulation on, mirror output
Defining tolerance values:
If there is no sign, the value applies to either direction,
+ signifies a positive tolerance,
- a negative tolerance.
-D0.10 adjusts the draw tolerance to 10 %
-D+0.1 -D-0.05 adjusts the draw tolerance to +10 % and -5 %

Notesontheindividualoptions:
A

Specifythenameofanassemblyvariant
StarttheCAMProcessor(X)withthisoptioninorder
togeneratedataforaspecialassemblyvariant.Ifyoudo
notuseA,EAGLEcreatesdataforthedefaultvariant.

Executeacommand
AfterloadinganEAGLEfilethegivencommandwillbe
executedintheEditorwindow'scommandline.
Seealsohelpfunction,CommandLineOptions.

DrawTolerance(0.1=10%):
Default:0

DrillTolerance(0.1=10%):
Default:0

FlashTolerance(0.1=10%):
Default:0

Suppressmessages:
Thisoptionsuppresseswarningsorotherinformationintheconsole
window(DOSbox,Linuxconsole). ThusCAMjobsrunwithout
interruption.Default:off

RouteOptimizing:
Withthisoptiontherouteoptimizingfortheplottercan
beturnedonandoff.Default:on

PlotterPen(layer=pen):
Ifyouuseacolorpenplotter,youcandeterminewhichlayer
istobedrawninwhichcolor.Example:P1=0P15=1

DrillRackFile:
Withthisoptionyoudefinethepathtoafilewiththedrill
configurationtable.

ScriptFile:
Whenopeningtheeditorwindow,EAGLEexecutesthe
eagle.scrfile.Thisoptionallowsadifferentnameordirectory
tobeselectedforthescriptfile.Thescriptfileisnotreadby
theCAMProcessor.

316

10.3 EAGLE Options at a Glance


U

UserSettingsFile:
Thisoptioncanbeusedtodefinethelocationoftheeaglercfile
whereEAGLEstoresusersettings.Thefilecanhaveanyname.
IncaseyouareworkingwithEAGLEbetaversionsandyouwantto
keepthingsseparatefromtheofficialreleases,youshouldstart
EAGLEwiththisoption.

ApertureWheelFile:
Thisoptiondefinesthepathtothewheelfilewhichshould
beused.

CallscommandlineversionoftheCAMProcessor

PositiveCoordinates:
IfthisoptionissettheCAMProcessorcreatesdatawithoutnegative
coordinates.Thedrawingismoved tothezerocoordinates.
Thisoptioncanbeturnedoffwiththeoptionc.
Pleasebecarefulwiththisoption,especiallyifyouusemirrored
androtateddrawings,becausenegativecoordinatesnormally
causeproblems.Default:on

Device:
Thisoptiondeterminestheoutputdriver.
eagle -d? displaysalistoftheavailabledrivers

EmulateApertures:
Ifthisoptionisselected,aperturesthatdonotexistare
emulatedwithsmallerapertures.Default:off

FillPads:
ThisoptioncanonlyworkwithgenericdeviceslikePostscript.
Default:onforalldevices

PageHeight(inch):
Printableregionintheydirection(ininches).TheYdirection
isthedirectioninwhichthepaperistransported.Seealso
thewparameter.

MirrorOutput:
Default:off.

OutputFileName

PenDiameter[mm]:
EAGLEusesthePendiametermeasurementtocalculatethe
numberoflinesrequiredwhenareasaretobefilled.Default:0

QuickPlot:
Generatesadraftorfastoutput,whichonlyprintstheframesof
theobjects.Default:off

RotateOutput:
Rotatestheoutputby90degrees.Default:off

ScaleFactor:
Thosedeviceswhichcannotchangetheirscalefactor(inthe
menuoftheCAMProcessor),haveascalefactorof1.Default:1
317

10 Appendix
u

RotateOutputby180degrees:
Incombinationwithr+onecanrotateby270degrees.Default:off

PenVelocityincm/s:
Thisoptionisforpenplotterssupportingdifferentspeeds.Toselect
aplotter'sdefaultspeed,useavalueof0.Default:0

PageWidth(inch):
Printableareainxdirection.Seealsoh.

OffsetX(Inch):
Thisoptioncanbeusedtomovetheoriginofthedrawing.
Default:0

OffsetY(Inch):
Default:0

Exampleforstartingeaglecon.exe:
eaglecon -X -dgerber -Waperture.whl -oboard.sol -D-0.1
name.brd pad via bottom
ThisgeneratesaGerberfileboard.solwhichcontainsdataofthelayersPads,
Vias,andBottom.Drawaperturesmayhaveanegativetoleranceupto10%.
Allparametershavetobewritteninacommonline!
Pathsthatincludespacecharacters,mustbesetintosinglequotes!

10.4 Configuration of the Text Menu


Withthehelpofascriptfile(e.g.menu.scr)youcanconfigureyourowntext
menu.
# Command Menu Setup
#
# This is an example that shows how to set up a complex
# command menu, including submenus and command aliases.
MENU '[designlink22.png] Search and order {\
General : Run designlink-order.ulp -general; |\
Schematic : Run designlink-order.ulp; \
}' \
'Grid { \
Metric { \
Fine : Grid mm 0.1; | \
Coarse : Grid mm 1; \
}| \
Imperial { \
Fine : Grid inch 0.001; | \
Coarse : Grid inch 0.1; \
}| \
On : Grid On; | \

318

10.4 Configuration of the Text Menu


Off : Grid Off; \
}' \
'Display { \
Top : Display None Top Pads Vias Dim; | \
Bottom : Display None Bot Pads Vias Dim; | \
Placeplan { \
Top : Display None tPlace Dim; | \
Bottom : Display None bPlace Dim; \
}\
}' \

'' \
'Fit : Window Fit;' \
Add Delete Move ';' Edit Quit \
;

Thebackslash\attheendofalineshowsthatacommandcontinuesinthe
next line. Here the MENU command runs from the first line after the
commenttothelastline.
Thepipesign|hastobeusedifacommandwithinbraces{}isfollowedby
anothercommand.
The MENU command can handle small images as shown in the example
abovewithdesignlink22.png.Theimagesareexpectedtobeintheeagle/bin
folderbydefault.Itisalsopossibletouseapathwiththeimagename.

Textmenufrommenu.scrintheLayoutEditor

10.5 Text Variables


Text variable
>NAME
>VALUE
>PART
>GATE

Meaning
Component name (eventually + gate name) 1)
Component value/type 1)
Component name 2)
Gate name
2)

>MODULE
>SHEET

Module name (only on module sheets)


Sheet number of a circuit diagram in the form
of, for example: 1/3
3)
>SHEET_TOTAL
Sheet number in a hierarchical schematic in the form of
>SHEETNR_TOTAL/>SHEETS_TOTAL
>SHEETS
Total number of sheets 3)
>SHEETS_TOTAL Total number of sheets including the module sheets
>SHEETNR
Current sheet number 3)
>SHEETNR_TOTAL Current sheet number including the module sheets
>ASSEMBLY_VARIANT
>DRAWING_NAME

Name of assembly variant


Drawing name

319

10 Appendix
>LAST_DATE_TIME
>PLOT_DATE_TIME

Time of the last modification


Time of the plot creation

1) Only for package and symbol


2) Only for symbol
3) Only for symbol or circuit diagram

All texts starting with the character >, will be interpreted as placeholder
textsforattributes.SeeATTRIBUTEcommand.

10.6 Options for Experts in eaglerc


Theuserspecificfileeaglerc.usrforWindowsand.eaglercforLinuxandMac
storesvarioussettingsdefinedduringthework withEAGLE.Amongthem
youfindsomeexpertsettingsthatcanbeadjustedinthisfiledirectly.The
mostimportantofthemarelistedhere.
Sinceversion5.2itispossibletochangetheseparameterswiththehelpof
the SETcommandinthecommandline.Pleaseseethehelpfunctionabout
theSETcommandfordetails.

CAM Processor Suppress Drills/Holes Warning


IfyouwanttosuppressthewarningthatyoushouldactivatetheDrillsand
the Holes layer for generating Drill data, write the following line in the
eaglercfile
Warning.Cam.DrillsAndHolesConcurrent = "0"

Change Component Value Warning


Someusersdon'twantthewarningmessageaboutapartnothavingauser
definablevalue,sothiswarningcanbedisabledbyappendingtheline
Warning.PartHasNoUserDefinableValue = "0"

tothefile.

Consistency Check
In order to handle Board/Schematic pairs that have only minor
inconsistencies, theuser canenablea dialog thatallows himtoforce the
editortoperformForward&BackAnnotation,eveniftheERCdetectsthatthe
filesareinconsistent.Thiscanbedonebyappendingtheline:
Erc.AllowUserOverrideConsistencyCheck = "1"

PLEASENOTETHATYOUAREDOINGTHISATYOUROWNRISK!!!
Ifthefilesgetcorruptedintheprocess,theremaybenothinganybody
candotorecoverthem.Afterall,theERCdidstatethatthefileswere
inconsistent!

Delete Wire Joints


IfyouabsolutelyinsistonhavingtheDELETEcommanddeletewirejoints
withoutpressingtheCtrlkey,youcanappendtheline
320

10.6 Options for Experts in eaglerc


Cmd.Delete.WireJointsWithoutCtrl = "1"

tothefile.

Device Name as Value for all Components


Someusersalwayswanttousethedevicenameaspart value,evenifthe
partneedsausersuppliedvalue.Thosewhowantthiscanappendtheline
Sch.Cmd.Add.AlwaysUseDeviceNameAsValue = "1"

tothefile.

Disable Ctrl for Radius Mode


Ifyoudon'tlikethespecialmodeinwiredrawingcommandsthatallowsfor
thedefinitionofanarcradiusbypressingtheCtrlkeywhenplacingthewire,
youcanaddtheline
Cmd.Wire.IgnoreCtrlForRadiusMode = "1"

tothefile.Thiswillturnthisfeatureoffforallcommandsthatdrawwires.

Group Selection
Sincethecontextmenufunctionontherightmousebuttoninterfereswith
theselectionofgroups,agroupisnowselectedwithCtrlplusrightmouse
button.Ifyouwanttohavetheoldmethodofselectinggroupsback,youcan
addtheline
Option.ToggleCtrlForGroupSelectionAndContextMenu = "1"

tothefile.Thiswillallowselectinggroupswiththerightmousebuttononly
andrequireCtrlplusrightmousebuttonforcontextmenus.

Load Matching File Automatically


If youhaveaboardand schematiceditorwindowopenandloadanother
board(orschematic)inoneofthesewindows,andifthatotherdrawinghas
a matchingschematic(orboard),EAGLEaskswhetherthatotherdrawing
shallalsobeloaded.Bysetting
Option.AutoLoadMatchingDrawingFile = "1"

thisquerywillbesuppressed.

Name of Net, Busses, Signals and Polygons


Ifanetconsistsofmorethanonesegment,theNAMEcommandbydefault
actsonlyupontheselectedsegment.Inordertorenametheentirenetset
Cmd.Name.RenameEntireNetByDefault = "1"

Thisparameteralsoappliestobusses.

Ifasignalcontainsa polygon,andtheNAMEcommandisappliedtothat
polygon,bydefaultonlythepolygongetsrenamed.Setting
Cmd.Name.RenameEntireSignalByDefault = "1"

makestheNAMEcommandactupontheentiresignalbydefault.

Open Project
The automatic opening of the project folder at program start (or when
activating a project by clicking onto its gray button) can be disabled by
appendingtheline
321

10 Appendix
ControlPanel.View.AutoOpenProjectFolder = "0"

tothefile.

Panning Drawing Window


PanningcanbedonewiththeCtrlbutton(asinpreviousversions)bywriting
Interface.UseCtrlForPanning = "1"

intothefile.Note,though,thattheCtrlkeyisnowusedforspecialfunctions
insomecommands,sowhenusingthesespecialfunctions(likeselectingan
object at its origin in MOVE) with this parameter enabled you may
inadvertentlypanyourdrawingwindow.

Polygon Edges as Continuous Lines


If you don't like the way unprocessed polygons display their edges (as
dottedlines),youcanaddtheline
Option.DrawUnprocessedPolygonEdgesContinuous = "1"

Theedgesofpolygonswillbedisplayedascontinuouslinesthen.

Reposition of the Mouse Cursor


NormallyEAGLEdoesnotautomaticallypositionthemousecursor.However,
ifyoupreferthecursortoberepositionedtothepointwhereithasbeen
beforeacontextmenuinthedrawingeditorwasopened,addtheline:
Option.RepositionMouseCursorAfterContextMenu = "1"

Units in Dialogs
Theautomaticunitdeterminationindialoginputfieldscanbecontrolledby
appendingtheline
Interface.PreferredUnit = "x"

tothefile,where"x"canbe
"0"forautomaticunitdetermination(default)
"1"forimperialunits
"2"formetricunits.

322

10.7 Error Messages

10.7 Error Messages


When Loading a File
Restring smaller than in older version

Paddiameterchanged
InEAGLEversionprior4.0thepaddiameterhasbeenfixedinthePackage
definition.Duetothegiven valuesintheDesign Rulesthepaddiameters
havechanged.
Pleasecheckand,ifrequired,changetheRestringsettings.RuntheDesign
RuleCheckinanyratetorecognizepossibleclearanceerrors.

Library objects with the same names

Updatereport:Objectswiththesamename
TheTextEditorshowsthismessageifyouattempttoloadanolderfile(BRD
orSCH)thatcontainsdifferentversionsofalibraryelement.Inthiscaseit
added @1, @2, @3... to the names of the Devices so that they can be
identified.
ThismessagecanalsoappearifyouuseCOPYandPASTEcommands.

323

10 Appendix
Pad, Via Replaced with a Hole
InolderversionsofEAGLEitwaspossibletodefinepadsinwhichthehole
diameterwaslargerthanthepaddiameter.Thisisnolongerpermitted.
Ifyouattempttoloadalibraryfilethatwascreatedwithanearlierversion
andthatcontainssuchapad,thefollowingmessageappears:

Updatereport:Viareplacedwithhole
The pad or via is automatically converted into a hole, provided it is not
connectedbyCONNECTtoapininoneofthelibrary'sDevices.
Ifthereispadthathasaconnectiontoapin(itisdefinedinthelibrary),the
followingmessageappears:
InthatcasetheLibraryfilemustbemanuallyeditedinordertocorrectthe
pad.Thenyoucanupdatetheboardfilewiththenewlibrarydefinition.

324

10.7 Error Messages

Updatereport:Padreplacedwithahole

Skipped unsuitable objects


Ifthismessageisshown,whileyouareloadingafileorcopyingobjectswith
COPY and PASTE from one file into another, the data structure contains
objectsthatdonotbelongtothecurrentfiletypeandcan'tbedisplayed.For
example,atextorrectanglethathasanonorthogonalangleandisplacedin
auserdefinedlayer(above100)intheLayouteditorwhichshouldbepasted
intoaschematic.TheSchematiceditordoesn'tallownonorthognalangles
andthereforecan'tdisplaysuchanobject.
Thismessagecouldbepromptedaswell,ifthefile'soriginisoneofthefirst
EAGLE versions. The file can be used without problems nevertheless. The
datastructureiscleanedupautomaticallywhileloadingit.

Can't Update File


IfthismessageappearswhenloadinganEAGLEfilethatwasmadewitha
versionearlierthan2.60itisnecessaryfirsttoconvertthefile.

Updateerror:Fileolderthanversion2.6
Theprogramupdate26.exe,whichislocatedintheeagle/bindirectory,isused
forthispurpose.

325

10 Appendix
Copy the file that is to be converted into the directory containing both
update26.exe and the file layers.new. Then open a DOS window under
Windows,andchangeintothisdirectory.Typethecommand:
update26 dateiname.ext
Thefileisconverted,afterwhichitcanbereadbythenewversionofEAGLE.
Iftheconversionissuccessful,themessageintheDOSboxis:ok...
Ifthemessage Please define replacement for layer xxxinlayers.new should
appear, it means that you have defined your own layers in
layout/schematic/library.
Because of the new layer structure used since version 2.6, a new layer
number(greaterthan100)mustbeassigned.
Thisrequiresyoutoeditthefilelayers.newusingasimpletexteditor,adding,
forexample,anewlayernumberasthelastlineofthefile.
If,forinstance,youhaveusedlayer55,andwanttogiveitnumber105,
enter:
55 105

In a Library
Package/Symbol is in use
IfaPackageorSymbolisalreadyusedinaDevice,nopadsorpinswhichare
alreadyreferencedtoapinorpadwiththehelpoftheCONNECTcomand,
maybedeleted.InsuchacaseEAGLEshowsthefollowingmessages:

ErrorwhileeditingPackageorSymbol
ButitisallowedtoCHANGEorNAMEsuchpinsorpads.It'salsopossibleto
add further pins/pads with the PIN or PAD/SMD command and you are
allowedtoDELETEpins/padswhicharenotreferenced viatheCONNECT
command.
Thismessagealsoappears,ifyoutrytoremovethewholePackage/Symbol
fromthelibrarywiththeREMOVEcommand.Youhavetodeletethewhole
DeviceorthePackagevariantorsymbolintheDevicebefore.

326

10.7 Error Messages

In the CAM Processor


Polygon may cause extremely large plot data

Polygonswithwidth0
Thismessageappears,ifyouselectedalayerintheCAMProcessorwhich
containsasignalpolygoninthelayoutwhoselinethicknessislessthanthe
resolutionoftheselectedoutputdriver(Device).
Inordertoavoidunnecessarylargeplotfilesyoushouldassignahighervalue
tothepolygon'slinewidth(CHANGEwidth).

In the Light, Free Trial or Standard Edition


Can't perform the requested action

Light/Standardlimits
This message is shown if the limits of the Light, Free Trial or Standard
Editionareexceeded.Thiscanbethecase,forexample,ifyouwanttoplace
apartoutsidetheLayoutsizelimits,ifyouwanttostarttheAutorouter,or
setparametersfortheFollowmerouter,althoughtherearepartsoutsidethe
Layoutlimits,oryouwanttodefineanotallowedinnerlayer.

10.8 EAGLE License Agreement


This license agreement ('License') is a legal agreement between you
('Licensee' or 'you') and CadSoft Computer GmbH of Pleidolfweg 15,
Pleiskirchen,D84568,Germany('Licensor'or'we')forthisEAGLEsoftware
product ('Software'), which includes computer software and any data
suppliedwithit(suchaselectronicmanualsortutorials)('Documentation').

327

10 Appendix
BYCLICKINGONTHE'YES'OR'AGREE'BUTTONBELOWYOUAGREETO
THETERMSOFTHISLICENSE(INCLUDINGTHERELEVANTSCHEDULES
TOIT)WHICHWILLBINDYOUANDANYONEWHOUSESTHECOPYOF
EAGLELICENSEDTOYOU. IFYOUDONOTAGREETOTHETERMSOF
THISLICENSE,WEAREUNWILLINGTOLICENSETHESOFTWARETOYOU.
YOUSHOULDNOTINTHISEVENTCLICKTHE'YES'OR'AGREE'BUTTON
ANDTHEINSTALLATIONPROCESSWILLNOTCONTINUE..
1.GRANTANDSCOPEOFLICENSE
1.1InconsiderationofyouragreeingtoabidebythetermsofthisLicense,
theLicensorherebygrantstoyouanonexclusive,nontransferablelicenseto
usetheSoftwareandtheDocumentationonthetermsofthisLicense.
1.2ThetermsonwhichyouarelicensedtousetheSoftwarevaryaccording
totheeditionlicensedtoyou.PleaseseetheSchedulestothisLicenseforany
termsapplicabletotheSoftwareeditionlicensedtoyouwhichareinaddition
tooramendthosesetoutbelow.TheSchedule relevant totheeditionof
EAGLElicensedtoyou(ineachcasethe'ApplicableSchedule')willformpart
ofthisLicense.Intheeventofanyconflictbetweenconditions1to14ofthis
LicenseandtheprovisionsoftheApplicableSchedule,theprovisionsofthe
ApplicableSchedulewillprevail.
1.3Youmay:
(a)usetheSoftwareforyourpurposesonly,either:
(i)ononecomputeriftheLicenseisasingleuserlicenseortheSoftwareis
forsingleuse;or
(ii)iftheLicenseisamultiuserlicense,bythenumberofconcurrentusers
agreedbetweenyouandus
provided that, in either case and save where prohibited in the Applicable
Schedule,theSoftwaremaybeinstalledonmorethanonecomputerorfile
serversimultaneouslyprovidedthatitisnotusedconcurrentlyonmorethan
thenumberofcomputersforwhichuseislicensedinaccordancewith(i)or
(ii)above,whicheverisappropriate.
(b)transfertheSoftwarefromonecomputertoanotherprovideditisused
onlyonthenumberofcomputersforwhichuseislicensedinaccordancewith
condition1.3(a);
(c)makeuponecopyoftheSoftwareforbackuppurposesonly,provided
thatthisisnecessaryfortheactivitiespermittedundercondition2.1;
(d)receiveanduseanyfreesupplementarysoftwarecodeorupdateofthe
Software incorporating "patches" and corrections of errors as may be
providedbyusfromtimetotime;
(e)useanyDocumentationinsupportoftheusepermittedundercondition
1.2..
2.LICENSEE'SUNDERTAKINGS
328

10.8 EAGLE License Agreement


2.1ExceptasexpresslysetoutinthisLicenseoraspermittedbyanylocal
law,youundertake:
(a)nottocopytheSoftwareorDocumentationexceptwheresuchcopyingis
incidentaltonormaluseoftheSoftware, orwhere itisnecessary forthe
purposeofbackup;
(b) not to rent, lease, sublicense, loan, translate, merge, adapt, vary or
modifytheSoftwareorDocumentation;
(c)nottomakealterationsto,ormodificationsof,thewholeoranypartof
theSoftware,norpermittheSoftwareoranypartofittobecombinedwith,
orbecomeincorporatedin,anyotherprograms;
(d) not to disassemble, decompile, reverse engineer or create derivative
worksbasedonthewholeoranypartoftheSoftwarenorattempttodoany
such thing except to the extent that such actions cannot be prohibited
becausetheyareessentialforthepurposeofachievinginteroperabilityofthe
Softwarewithanothersoftwareprogram,andprovidedthattheinformation
obtainedbyyouduringsuchactivities:
(i)isusedonlyforthepurposeofachievinginteroperabilityoftheSoftware
withanothersoftwareprogram;and
(ii) is notunnecessarily disclosed or communicated without the Licensor's
priorwrittenconsenttoanythirdparty;and
(iii)isnotusedtocreateanysoftwarewhichissubstantiallysimilartothe
Software;
(e)tokeepallcopiesoftheSoftwaresecureandtomaintainaccurateandup
todaterecordsofthenumberandlocationsofallcopiesoftheSoftware;
(f)tosuperviseandcontroluseoftheSoftwareandensurethattheSoftware
isonlyusedinaccordancewiththetermsofthisLicense;
(g)toincludethecopyrightnoticeoftheLicensoronallcopies(entireor
partial)youmakeoftheSoftwareonanymedium;
(h) to replace the current version of the Software with any updated or
upgraded version or any new release provided by the Licensor under the
termsofthisLicenseimmediatelyonreceipt;and
(i)nottoprovideorotherwisemakeavailabletheSoftwareinwholeorin
part(includingbutnotlimitedtoprogramlistings,objectandsourceprogram
listings,objectcodeandsourcecode),inanyformtoanyperson(otherthan,
inthecaseofamultiuserlicenseonly,suchnumberofyouremployeesor
authorisedrepresentativesasarepermittedtousetheSoftwareatanytime
under the terms of this License) without prior written consent from the
Licensor.
2.2 The Licensor may at any time request you to provide a certificate of
confirmationofyourcompliancewiththetermsofthisLicenseandyouwill
providesuchcertificateonrequest.

329

10 Appendix
3.SUPPORT
As any support provided for the Software is provided free of charge, we
provide only such support forit as we see fitand thatsupport may vary
according to the edition of the Software licensed to you. The extent of
supportprovided(ifany)isdetailedonourwebsiteorthoseofourassociated
companies.Wereservetherighttochangethesupportprovidedorthemeans
bywhichitmaybeaccessedorremovethesupportaltogetheratanytime
withoutnotice.
4.INTELLECTUALPROPERTYRIGHTS
4.1YouacknowledgethatallintellectualpropertyrightsintheSoftwareand
theDocumentationanywhereintheworldbelongtotheLicensor,thatrights
intheSoftwarearelicensed(notsold)toyou,andthatyouhavenorightsin,
orto,theSoftwareortheDocumentationotherthantherighttousethemin
accordancewiththetermsofthisLicense.
4.2YouacknowledgethatyouhavenorighttohaveaccesstotheSoftwarein
sourcecodeformorinunlockedcodingorwithcomments.
4.3 The integrity of this Software is protected by technical protection
measures(TPM)sothattheintellectualpropertyrights,includingcopyright,
in the Software of the Licensor are not misappropriated. You must not
attemptinanywaytoremoveorcircumventanysuchTPM,norapplyor
manufactureforsaleorhire,import,distribute,sellorletforhire,offeror
exposeforsaleorhire,advertiseforsaleorhireorhaveinyourpossession
forprivateorcommercialpurposesanymeansthesoleintendedpurposeof
whichistofacilitatetheunauthorisedremovalorcircumventionofsuchTPM.
5.LIMITEDWARRANTY
5.1Furtherdetailsastotheextentofanywarrantyapplicabletotheedition
oftheSoftwarelicensedtoyouareassetoutintheSchedulerelevanttothat
edition.
5.2 Save as may be set out in the Applicable Schedule, we make no
representationorwarrantyastothesuitabilityorfitnessforpurposeofthe
Software,whetheryourpurposeoranyotherandregardlessofwhetherthat
purposehasbeendisclosedtousandsaveasabove,wemakenowarranties
or representations as to the Software or the Documentation or as to the
performance, accuracy, quality, condition, completeness, compliance with
statement or description of either of them and all such warranties and
representationsareexcludedtothefullestextentpermittedbylaw.
5.3Youacknowledgethat:
(a) the Software has not been developed to meet your individual
requirements,andthatitisthereforeyourresponsibilitytoensurethatthe
facilitiesandfunctionsoftheSoftware asdescribedintheDocumentation
meetyourrequirements;and

330

10.8 EAGLE License Agreement


(b)thattheSoftwaremaynotbefreeofbugsorerrors,andyouagreethat
theexistenceofminorerrorsshallnotconstituteabreachofthisLicense.
5.4Itisyourresponsibilitytoensure thatyoumakeregularandfrequent
backupsofalldesigns,filesandotherworkproducedwithSoftware.Asset
outbelow,wecanacceptnoliabilityforanylossofdesigns,filesorother
data.
6.LICENSOR'SLIABILITY
6.1NothinginthisLicenseshalllimitorexcludetheliabilityofeitherparty
fordeathorpersonalinjuryresultingfromnegligence,fraudorfraudulent
misrepresentation.
6.2Subjecttocondition6.1,theLicensor'sliabilityforlossessufferedbyyou
arisingoutoforinconnectionwiththisLicense(includinganyliabilityfor
theactsoromissionsofitsemployees,agentsandsubcontractors),however
such losses may arise, whether in contract, tort (including negligence),
misrepresentationorotherwise,shallbelimitedassetoutintheApplicable
Scheduleandshallinanyeventexcludeanyliabilityfor:
(a)lossofincome;
(b)lossofbusinessprofitsorcontracts;
(c)businessinterruption;
(d)lossoftheuseofmoneyoranticipatedsavings;
(e)lossofinformation,dataordesigns;
(f)lossofopportunity,goodwillorreputation;
(g)lossof,damagetoorcorruptionofdata;or
(h)anyindirectorconsequentiallossordamageofanykind
evenifsuchlosses,claimsordamagesresultfromtheLicensor'sdeliberate
personalrepudiatorybreachofthisLicenseandallandanysuchliabilityis
herebyexpresslyexcludedtothefullestextentpermittedbylaw.
6.3 This License sets out the full extent of the Licensor's obligations and
liabilitiesinrespectofthesupplyoftheSoftwareandDocumentation. In
particular, there are no conditions, warranties, representations or other
terms, express or implied, that are binding on the Licensor except as
specificallystatedinthisLicense.Anycondition,warranty,representationor
othertermconcerningthesupplyoftheSoftwareandDocumentationwhich
might otherwise be implied into, or incorporated in, this License, or any
collateralcontract,whetherbystatute,commonlaworotherwise,ishereby
excludedtothefullestextentpermittedbylaw.
6.4Anyreferencetolossorliabilityarisingoutoforinconnectionwiththis
Licenseshallbedeemedtoincludeanyloss,claim,liabilityordamagearising
outoforinconnectionwiththeSoftware,itsavailabilityorotherwise,its
performance,operability,functionalityorinconnectionwiththelossofany
designs, data or information or the accuracy or validity of any designs
producedusingtheSoftware.
331

10 Appendix
7.TERMINATION
7.1TheLicensormayterminatethisLicenseimmediatelybywrittennoticeto
youifyoucommitamaterialorpersistentbreachofthisLicensewhichyou
fail to remedy (if remediable) within 14 days after the service of written
noticerequiringyoutodoso.
7.2Uponterminationforanyreason:
(a)allrightsgrantedtoyouunderthisLicenseshallcease;
(b)youmustceaseallactivitiesauthorisedbythisLicense;and
(c)youmustimmediatelydeleteorremovetheSoftwarefromallcomputer
equipment in your possession, and immediately destroy or return to the
Licensor(attheLicensor's option)allcopiesoftheSoftware theninyour
possession,custodyorcontroland,inthecaseofdestruction,certifytothe
Licensorthatyouhavedoneso.
8.TRANSFEROFRIGHTSANDOBLIGATIONS
8.1ThisLicenseisbindingonyouandus,andonourrespectivesuccessors
andassigns.
8.2Youmaynottransfer,assign,chargeorotherwisedisposeofthisLicense,
oranyofyourrightsorobligationsarisingunderit,withoutourpriorwritten
consent.
8.3Wemaytransfer,assign,charge,subcontractorotherwisedisposeofthis
License, or any of our rights or obligations arising under it, at any time
duringthetermoftheLicense.
9.NOTICES
AllnoticesgivenbyyoutousmustbegiventoCadSoftComputerGmbHat
Pleidolfweg 15, Pleiskirchen, Germany. We may give notice to you in
accordancewiththeApplicableSchedule.Noticewillbedeemedreceivedand
properlyservedimmediatelywhenpostedontheWebsitesoranyofthem,24
hoursafteranemailissent,orthreedaysafterthedateofpostingofany
letter.Inprovingtheserviceofanynotice,itwillbesufficienttoprove,inthe
caseofaletter,thatsuchletterwasproperlyaddressed,stampedandplaced
inthepostand,inthecaseofanemail,thatsuchemailwassenttothe
specifiedemailaddressoftheaddressee.
10.EVENTSOUTSIDEOURCONTROL
10.1Wewillnotbeliableorresponsibleforanyfailuretoperform,ordelay
in performance of, any of our obligations under this License or any
unavailabilityoftheSoftwarethatiscausedbyeventsoutsideourreasonable
control(ForceMajeureEvent).
332

10.8 EAGLE License Agreement


10.2AForceMajeureEventincludesanyact,event,nonhappening,omission
oraccidentbeyondourreasonablecontrolandincludesinparticular(without
limitation)thefollowing:
(a)strikes,lockoutsorotherindustrialaction;
(b) civil commotion, riot, invasion, terrorist attack or threat of terrorist
attack,war(whetherdeclaredornot)orthreatorpreparationforwar;
(c)fire,explosion,storm,flood,earthquake,subsidence,epidemicorother
naturaldisaster;
(d)impossibilityoftheuseofrailways,shipping,aircraft,motortransportor
othermeansofpublicorprivatetransport;
(e)impossibilityoftheuseofpublicorprivatetelecommunicationsnetworks
or
(f) the acts, decrees, legislation, regulations or restrictions of any
government.
11.WAIVER
11.1Ifwefail,atanytimeduringthetermofthisLicense,toinsistupon
strictperformanceofanyofyourobligationsunderthisLicense,orifwefail
toexerciseanyoftherightsorremediestowhichweareentitledunderthis
License,thisshallnotconstituteawaiverofsuchrightsorremediesandshall
notrelieveyoufromcompliancewithsuchobligations.
11.2 A waiver by us of any default shall not constitute a waiver of any
subsequentdefault.
11.3Nowaiverbyusofanyofthesetermsandconditionsshallbeeffective
unlessitisexpresslystatedtobeawaiverandiscommunicatedtoyouin
writing.
12.SEVERABILITY
IfanyofthetermsofthisLicensearedeterminedbyanycompetentauthority
tobeinvalid,unlawfulorunenforceabletoanyextent,suchterm,condition
or provision will to that extent be severed from the remaining terms,
conditionsandprovisionswhichwillcontinuetobevalidtothefullestextent
permittedbylaw.
13.ENTIREAGREEMENT
13.1ThisLicenseandanydocumentexpresslyreferredtoinitrepresentsthe
entireagreementbetweenusinrelationtothelicensingoftheSoftwareand
Documentation and supersedes any prior agreement, understanding or
arrangementbetweenus,whetheroralorinwriting.

333

10 Appendix
13.2Weeachacknowledgethat,inenteringintothisLicense,neitherofus
hasreliedonanyrepresentation,undertakingorpromisegivenbytheother
orbeimpliedfromanythingsaidorwritteninnegotiationsbetweenusprior
toenteringintothisLicenseexceptasexpresslystatedinthisLicense.
13.3Neitherofusshallhaveanyremedyinrespectofanyuntruestatement
madebytheother,whetherorallyorinwriting,priortothedateweentered
intothisLicense(unlesssuchuntruestatementwasmadefraudulently)and
theotherparty'sonlyremedyshallbeforbreachofcontractasprovidedin
thesetermsandconditions.
14.LAWANDJURISDICTION
ThisLicense,itssubjectmatteroritsformation(includingnoncontractual
disputesorclaims)shallbegovernedbyandconstruedinaccordancewith
GermanlawandsubmittedtothenonexclusivejurisdictionoftheGerman
courts.
SCHEDULE1
CONDITIONS APPLICABLE TO THE LIGHT, STANDARD AND
PROFESSIONAL EDITIONS OF EAGLE (TOGETHER WITH ANY OTHER
COMMERCIALEDITIONOFEAGLEISSUEDBYUSFROMTIMETOTIMETO
WHICHTHEFOLLOWINGSCHEDULESDONOTAPPLY)
1ReferenceinthisSchedule1totheSoftwareisreferencetothecommercial
editionofEAGLElicensedtoyou.
2 The Licensor warrants that for a period of 30 days from the date of
installation ('Warranty Period') the Software will, when properly used,
perform substantially in accordance with the functions described in the
Documentation(providedthattheSoftwareisproperlyusedonthecomputer
andwiththeoperatingsystemforwhichitwasdesigned,asspecifiedbyus)
andtheDocumentationcorrectlydescribestheoperationoftheSoftwarein
allmaterialrespects.
3If,withintheWarrantyPeriod,younotifytheLicensorinwritingofany
defectorfaultintheSoftware inconsequenceofwhichitfailstoperform
substantiallyinaccordancewiththeDocumentation,andsuchdefectorfault
does not result from you having amended the Software or used it in
contraventionofthetermsofthisLicense,theLicensorwill,atitssoleoption,
eitherrepairorreplacetheSoftware,providedthatyoumakeavailableall
theinformationthatmaybenecessary tohelptheLicensortoremedythe
defect or fault, including sufficient information to enable the Licensor to
recreatethedefectorfault.
4 Subject to condition 6.1 and 6.2 of the License above, the Licensor's
maximumaggregateliabilityunderorinconnectionwiththisLicense,orany
collateral contract, whether in contract, tort (including negligence) or
otherwise,shallbelimitedtoasumequaltotheamountreceivedbyusby
wayoflicensefeefortheSoftware.
334

10.8 EAGLE License Agreement


5 Subject to condition 6.1 and 6.2 of the License and clause 4 of this
Schedule 1 above, the Licensor's liability for infringement of thirdparty
intellectualpropertyrightsshallbelimitedtobreachesofrightssubsistingin
theUSAand/orGermany.
6NoticeinconnectionwiththisLicensemaybegivenbyustoyouateither
theemail,faxorpostaladdressyouprovidedtousorourrepresentativeat
thetimeoforderoftheSoftwareorwheresuchinformationisgenericand
not specific to you by displaying on our website or that of any of our
associatedcompaniesorundertakings.
SCHEDULE2
CONDITIONSAPPLICABLETOTHEFreeTrialEDITIONONLY
1 The Free Trial edition requires access to the internet to operate. The
computer on which the Free Trial edition is run must have access to the
internetoneachoccasiononwhichyoulaunchEAGLEinorderfortheFree
Trial edition to open and operate. Reference in this Schedule 2 to the
SoftwareisreferencetotheFreeTrialeditionofEAGLE.
2AlllicensesoftheFreeTrialeditionareforsingleuseonly.TheFreeTrial
editionmaybedownloadedtoandusedonlyonthecomputerlicensedtorun
theSoftwareatthetimeyouactivatedtheFreeTrialedition..
3TheFreeTrialeditionislicensedforuseforevaluationornotforprofit
purposesonly.'Evaluation'allowsyoutousetheSoftwareinacommercial
environmentbutpurelyforthepurposesofevaluatingthefunctionalityand
suitabilityforyourpurposesoftheSoftware.'Notforprofit'allowsyoutouse
theSoftwareforpersonaluseorinthecourseofyourstudiesifyouarein
educationorforanyothernotforprofitaim.InnocasemusttheSoftwarebe
used in order to generate revenue (whether directly or by way of costs
savings).
4ThislicenseoftheSoftwareisforaperiodofsixty(60)daysfromthedate
ofitsdownloadbyyou.Onexpiryofthissixty(60)dayperiod,thislicense
andyourrighttousetheSoftwareunderitshallceaseandtheSoftwareshall
cease to operate. At that time you should delete the Software from any
computer onto which it is loaded. You may apply to download and be
licensedtousetheFreeTrialeditionunderthetermsofaseparatelicense
betweenyouandusatanytimeaftertheexpiryofthislicensebutwemay
applyrestrictionsas tothefrequency with which suchdownloadsmaybe
availableandmayamend,revise,supplementorremovethoserestrictions
from time to time. We shall endeavour to publish the terms of those
restrictions on our website or those of our associated companies or
undertakings or any other website(s) on which we make the Software
availablebutshallhavenoliabilitytoyouintheeventthatwedonotdoso
for any reason and failing to do so shall not affect the efficacy of those
restrictions.
5YouacknowledgethattheSoftwareislicensedtoyoufreeofchargeand
thataccordinglywemakenorepresentationorwarrantyasto:
335

10 Appendix
(i) the suitability or fitness for purpose of the Software, whether your
purpose or any other and regardless of whether that purpose has been
disclosedtous;
(ii)theperformanceorfunctionalityoftheSoftware,whetherinaccordance
with any statements made, materials published or the Documentation or
otherwise;
(iii) the availability or functionality of any server or system to allow
registrationfor,downloadorcommunicationwiththeSoftware;
(iv) whether the Software infringes theintellectual property rights of any
thirdpartyanywhereintheworld.
6YoufurtheracknowledgethattheSoftwarewillnotoperatewithoutaccess
to the internet, such that the Software is able to communicate with our
servers,andthatitisyourresponsibilitytoensurethatyouhavesuchaccess
atalltimeswhenstartingtheSoftware;andthatthataccessisadequateand
uninterruptedthroughoutthestartupprocess.
7NoticeinconnectionwiththisLicensemaybegivenbyustoyouateither
theemailorpostaladdressyouprovidedtousorourrepresentativewhen
registering to receive the Software or by displaying such notice on our
websiteorthatofanyofourassociatedcompaniesorundertakingsorany
otherwebsite(s)onwhichwemaketheSoftwareavailable.
SCHEDULE3
CONDITIONSAPPLICABLETOTHEFREEWAREEDITIONONLY
1ReferenceinthisSchedule3totheSoftwareisreferencetotheFreeware
editionofEAGLE.
2AlllicensesoftheFreewareeditionareforsingleuseonly.
3TheFreeware editionislicensed foruseforevaluationornotforprofit
purposesonly.'Evaluation'allowsyoutousetheSoftwareinacommercial
environmentbutpurelyforthepurposesofevaluatingthefunctionalityand
suitabilityforyourpurposesoftheSoftware.'Notforprofit'allowsyoutouse
theSoftwareforpersonaluseorinthecourseofyourstudiesifyouarein
educationorforanyothernotforprofitaim.InnocasemusttheSoftwarebe
used in order to generate revenue (whether directly or by way of costs
savings).TheFreewareeditionmayalsobeusedbyaPCBmanufacturerto
determine productiondata necessary forthemanufacture ofaPCBwhere
thatPCBmanufacturerhasbeencommissionedbythethirdpartydesignerof
thatPCBtoproduceaPCBtothatdesignonhisorherbehalf.
4YouacknowledgethattheSoftwareislicensedtoyoufreeofchargeand
thataccordinglywemakenorepresentationorwarrantyasto:
(i) the suitability or fitness for purpose of the Software, whether your
purpose or any other and regardless of whether that purpose has been
disclosedtous;
(ii)theperformanceorfunctionalityoftheSoftware,whetherinaccordance
with any statements made, materials published or the Documentation or
336

10.8 EAGLE License Agreement


otherwise;
(iii)whether the Software infringes the intellectual property rights ofany
thirdpartyanywhereintheworld.
6NoticeinconnectionwiththisLicensemaybegivenbyustoyouorby
displaying such notice on our websites or that of any of our associated
companiesorundertakings.

337

10 Appendix

This
page
hasbeen
leftfree
intentionally.

338

Index

A
Action toolbar
50, 53
Addlevel
258
Always
266, 267
Can
266
Must
266
Next
266
Request
266
Airwire
22
Calculate
76
Display/hide
76
Alias
97
Deleting
98
Alpha blending
108
Alt-X
44, 64
Aperture
311
Aperture File
286
Attributes
Defining
61, 128, 261
External device
265
For elements
129
Global
128
Search
117
VALUE
256
Automatic Naming
99
Autorouter
76
Backup
213
Blind vias
175
Bus router
199
Continue existing job
208
Control file, ctl
216
Control parameter
208
Controlling
198
Cost factors
208
Cutout polygon
204
Design rules
200
Features
197
Hints
217
Information
213
Interruption
213
Layer selection
202
Load settings
206
Log file
215
Memory requirement
202
Menu
205
Micro via
212
Min. distance, clearance
200

Min. routing grid


Module
Multilayer board
Net classes
Optimization
Placement grid
Polygon
Polygons as supply
Preferred direction
Restarting
Restricted area
Ripup/Retry
Routing grid
Routing pass
Save settings
Select signals
Single-sided boards
Smds and supply layer
Status display
TopRouter
Track width
Unreachable Smd

197
34
202
200
199
200
211
212
203, 205
208
203
211
201
199
206
206
217
218
213
199
200
202, 203

B
Background color
Backup files
Beep
Bill of material
Blind via
Blind via ratio
Blind, Buried via
Bmp file
Board
Arrange components
Attributes, global
Creating
Cut-out
Cutouts
Design Rules
Draw outline
Layer setup
Lock component
Multilayer
Multiple board
Placement grid
Prior considerations
Quotation

108
46, 314
110
290
22
147
174
102
155
158
153
272
155
144
154
145
71
172
192
153
143
285

339

Index
Routing manually
Board Manufacture
Bubble help
Buried via
Bus
End automatically
Naming

161
285
48, 51
22
111
125, 321

C
CAM Job
Define drill job
Description
Excellon.cam
Extending gerber.cam
gerb274x.cam
gerber.cam
Output parameter
CAM Processor
Assembly variants
Choose pen number
Component side
Cream frame
Creating device driver
Drill data
EPS output
Error: Apertures missing
Error: Drills missing
Extremely large plot data
File extensions
Fill Pads
Finish mask
Glue mask
HPGL
Inner layer
Job
Load job file
Milling contours
Plotter
Pos. Coords.
PostScript
Prompt
Save time and money
Section name
Silk screen
Solder stop
Start
Start from batch
Tolerance
UNC notation
Vias

340

308
306
295
306
294
297
302
84
293
303
298
299
309
287, 300
289
307
309
327
301
303
299
299
103
298
305
85
299
303
303
289
297
293
304
299
299
53, 85
315
304
303
301

Caption
Circle
Filled
Clearance
Cmd key
Color
Background
Settings
Command
Activating
Language
Line
Parameters
Text menu
Toolbar
Commands
ADD
ARC
ASSIGN
ATTRIBUTE
AUTO
BOARD
BUS
CHANGE
CIRCLE
CLASS
CLOSE
CONNECT
COPY
CUT
DELETE
DESCRIPTION
DIMENSION
DISPLAY
DRC
EDIT
ERC
ERRORS
EXPORT
FRAME
GATESWAP
GRID
GROUP
HELP
HOLE
INFO
INVOKE
JUNCTION
LABEL
LAYER
LOCK
MARK
MEANDER
MENU

190
268
146
91
48
107
87
91
50, 87
52
318
51
58, 70, 82, 231
60, 74
62, 89, 105
61, 75, 83
76
53, 153
60, 125
57, 70, 83, 227
60, 74, 91, 94
62, 123
62
83, 232, 253
56, 69, 276
62
57, 70
80, 84
61, 75
55, 67, 97
76, 166
63, 79, 116
62, 76, 131
77, 167
63, 91, 101
63, 270
58, 232
52
57, 69
51
75, 88, 268
55, 67, 148
59, 118
61, 121
61, 121
63, 314
71
56, 68, 278
72, 185
63, 105

Index
MIRROR
56, 69, 88, 158, 272
MITER
59, 72
MODULE
62
MOVE
56, 68, 88
NAME
58, 71, 83
NET
61, 120
OPEN
64
OPTIMIZE
72
PACKAGE
64, 83, 274
PAD
80, 224
PASTE
57, 70, 135
PIN
95, 228
PINSWAP
58, 71
POLYGON
60, 74, 163
PORT
62
PREFIX
83, 233
PRINT
64, 189
QUIT
64
RATSNEST
76
RECT
60, 74
REDO
54
REMOVE
64, 79, 116, 282
RENAME
79, 282
REPLACE
58, 71, 160
RIPUP
73, 162
ROTATE
57, 69, 156, 277
ROUTE
72, 161
RUN
53
SCRIPT
53, 100
SET
64, 105, 320
SHOW
55, 67
SIGNAL
75
SMASH
59, 71, 118, 157
SMD
80, 224, 243
SPLIT
59, 72
TECHNOLOGY
64, 83, 255
TEXT
60, 73
UNDO
54
UPDATE
65, 182, 283
USE
53, 235
VALUE
58, 71, 83, 233
VARIANT
65
VIA
75, 88, 180
WINDOW
53
WIRE
59, 73
WRITE
65
Component
Add from library
58
Attribute
129
Changing Technology
160
Copying by Drag&Drop
280
Create symbol
227
Creating
82, 223
Cross-reference
269
Description
227
Editing
182

External
265
Keepout
227
Labeling
226
Lock
71
Name
226
On both sides
158
On bottom side
224, 272
Output list
101
Package editor
226
Placement grid in board
153
Prefix
233
Replace device
160
Replace package
158
Replacing
58
Rotation
156
Searching
116
Separate name/value
59, 71
Update
182
Value
58, 71, 226
Without package
265
Configuration
Commands
105
eagle.scr
112
eaglerc, eaglerc.usr
113, 320
Location of eaglerc
317
of EAGLE
105
User interface
105
Connector
267
Consistency
Check
62, 76, 104, 131
Indicator
196
Loss of c.
193
Contact cross reference
>CONTACT_XREF
122
>XREF
269
Context menu
43, 88
Configure
106
Control Panel
39
Options menu
45
Search in tree
45
Control parameters
208
Coordinates
Display
50, 56, 68
Entering
93
Modifier
95
Polar
94, 278
Relative
94, 278
Select group
95
Copper plane
163
Copying SCH/BRD
134
Core
22, 174
Cost factors
208

341

Index
Cream mask
Cross reference
For contacts
For nets
Specify format
Ctrl key
Current units
Cursor appearance
Cutout-Polygon

151
122, 269
61, 121
123
91
96
48
173

D
Data output
Date/time stamp
Delete
All signals
Wire bend
Design Rule Check
Approve errors
Correcting errors
Fonts
Meaning of errors
Restricted areas
Show errors
Wire styles
Design Rules
Clearance
Definition
Layer setup
Options
Restring
Designlink interface
Desktop Publishing
Device
Assign Package
Attributes
Build Device Set
Copying
Creating
Delete
Description
Driver
Editing
External
Gate names
Open/Edit
Placeholder in name
Prefix
Remove from LBR

342

85
271
101
70
22, 76
169
166
153
169
153
77
172
42, 144
146
76
146
145
147
120
289
22
232
261
251
280
231
78
234
309
79, 81
265
232, 252
182
251
233
282

Rename
Replacing
Technologies
Value on/off
Device Set
Differential Pair
Dimensioning
Directories
Distance
Documentation
Export image
Print
Documentation field
Drag&Drop
Draw lines
Drawing area
Alias
Display last
Panning
Drawing frame
Drawing name
DRC
See Design Rule Check
Drill
Diameter
Legend
Non-plated
Plan
Plated
Symbols
Drill data
Blind/buried vias
Configuration file
drillcfg.ulp
Error: Drills missing
EXCELLON
EXCELLON_RACK
Info file
Leading zeros
Multilayer boards
Rack
Separate rack file
SM1000
SM1000/SM3000
SM3000
Tolerance
Units
Dxf data export

78
58, 160
255
83, 233
22
183
75
45
147
40, 290
102
225
271
39
59
98
54
53
116, 270
271
22
166
22
268
292
287
291
287
292
287
301
308
308
309
287
308
309
310
301
308
308
288
308
288
309
311
103

Index

E
eagle.def
309, 311
eagle.epf
114
eagle.scr
112
eaglecon.exe
315
eaglerc, eaglerc.usr
113, 317, 320
Edition
Light
37
Professional
34
Standard
36
Electrical Rule Check
22, 62, 131
Approve errors
132
Electrical schematic
269
Electrical Schematic
122
Elongation
150
Encapsulated PostScript
289
Environment variable
46
ERC
22
Error messages
CAM Processor
327
Correcting
166
DRC - Meaning of
169
File prior version 2.60
325
In a library
326
Loading a file
323
excellon.cam
308
Exclamation mark
196
Exit program
44
Expert options
320
Export
Libraries
103
Export data
100

F
Fiducials
File
Backup
Edit
Import
Load SCH/BRD query
New
Open
Print

293
314
63
135
321
43
44, 53
53

Save
53
Film Generation
289
Fixing hole
268
Follow-me Router
22, 218
Font
Checking
153, 171
No vector error
170
Persistent in drawing
47
Typeface
60, 73
Vector
47
Forbidden area
160
Forward&Back Annotation
22, 104
Consistency indicator
196
Consistency lost
193
Free Trial
37
Function keys
62, 89, 105

G
Gate
Hidden supply
Name
Place particular
Gateswap
Gerber
Extending gerber.cam
Fixed aperture wheel
Units
Gerber device
RS-274D
RS274X
Gerber output
Aperture configuration
Aperture types
Arc
Draw aperture
Emulate aperture
Emulation
Error: Apertures missing
Flash aperture
GERBER
gerber.cam
GERBERAUTO
Info files
Messages gerber.cam
Resolution
Wheel
Wheel, example file
Gestures

22, 251
118
251
59
126
306
311
311
286
286
312
312
304
312
304
312
307
312
297
297
297
307
297
286
311
312
48

343

Index
GND symbol
Graphic format
Graphics data
Import
Grid
Alias definition
Alternative grid
Check
Menu
Min. visible size
Pad placement
Group
Define
Move
Move to sheet
Rotate

260
102
104
96
98
96
153
96
111
224
57, 69
56
56
277

H
Help function
Hierarchical Schematic
Hierarchy
Part names in Layout
History function
Hole
Diameter
Min. diameter
HOME variable
Hyperlinks
In descriptions

49, 51
136
141
88
23
268
147
46
234

I
Icons
Classic Style
5.6Import
ACCEL-ASCII
In-circuit tester
Inner layer
Installation
Internet connection
Invalid Polygon

344

48
100
101
290
172
25
120
170

J
Job
Junction
Set automatically

297, 305
111

K
Keepout

170, 227

L
Language setting
31
Layer
Abuse
170
Alias definition
97
Available
106
Creating
63
Display/hide
55, 67
Hide unused
106
Inner
172
Qty. of signal layers
145
Setup
145, 173, 175
Stack
23, 174
Thickness
146, 176
Usage
313
Layout Editor
33, 66
Layout Editor
Description
154
Length Balance
185
Length tolerance
186
Library
Attributes
261
Composition of your own
282
Copy elements
279
Copying by Drag&Drop
280
Create new
237
Description
235
Device creating
231
Device without package
265
Export
103
Extracting
182
Important comments
21
List contents
101
Open
64
Output script file
102

Index
Package creating
Package variants
Remove element
Rename element
Search for elements
Summary
Symbol creating
Table of contents
Update
Update Package
Updating older files
Use
Library Editor
License
Extending
Multiple Users
New Installation
License agreement
Light edition
Line
Type
Logo import

224
252
282
282
116
40
227
78
182
282
29
41, 53
77
29
30
25
327
34
24
73
104

M
Magnetic pads
Meander
Menu
Configure Text menu
Contents parameter menu
Menu bar
Merge SCH/BRD
Message
Automatic confirmation
Micro Via
Definition
Restring, diameter
Set in SMD
Milling
Contour
Cutout in board
Prototype board
Milling machine
Module
Prefix for instance
Module instance
Port
Module sheets

162
185
318
106
50
134
107
23, 181
147
181
272
155
288
288
23
138
23
139

Order
Modules
Assembly variants
Mounting hole
Mouse click
Right click
Mouse keys
Mouse wheel zoom
Multi-channel device
Multilayer boards
4-Layer
6-Layer
8-Layer
Blind, Buried vias
Through vias
Via display

139
142
75, 268
93
95
65
48
135
172
175
177
179
174
173
175

N
Name
Automatic naming
Forbidden characters
Length
Net
Connection point
Cross reference
Naming
Net classes
Netlist
Netscript

99
99
99
23
61
61, 121
321
123
101
101

O
Object
Move
Properties
Show properties
Oblong holes
Offset
Output
Drawing
Image

56, 68
55, 67
48
272
141
63, 64
102

345

Index

P
Package
Arbitrary pad shape
Assigning
Changing
Copying
Creating new variant
Delete
Delete variant
Description
Editing
In use
New
Open/Edit
Radial pad arrangement
Remove from LBR
Rename
Rename variant
Replacing
Rotation
Search for P.
Update in LBR
Variants
Pad
Appearance in Editor
Arbitrary shapes
Aspect ratio
Automatic naming
Change shape
Diameter
Diameter in inner layer
Display mode
Display name in board
First
Form
Layer color
Magnetic pads
Oblong hole
Offset pad
Radial arrangement
Restring, Diameter
Shapes
Solder stop mask
Stop flag
Thermals flag
Palette
Panelize boards
Panning
Parameter toolbar
Parts list
Paste buffer

346

23
273
232
159
276, 279
274
78
275
227
79
326
80
182
278
282
78, 282
252
71
277
117
281
252
23
151
273
150
99
227
224
149
111
111, 239
150, 238
150
151
162
272
150
278
147
238
151
239
151, 238
108
192
53
50, 52
101, 290
62

Path specifications
Pbm file
PDF output
Pgm file
Photoplotters
Pick-and-place data
Pin
Automatic naming
Connection point
Direction
Function
Inverted signal
Labeling
Length
Name
Orientation
Properties
Same names
Superimposed
Swap
Visible
Pin/Pad connection
Pin/Pad list
Pinswap
Placeholder
For attributes
>CONTACT_XREF
>DRAWING_NAME
>GATE
>LAST_DATE_TIME
>MODULE
>NAME
>PART
>PLOT_DATE_TIME
>SHEET
>SHEET_TOTAL
>SHEETNR
>SHEETNR_TOTAL
>SHEETS
>SHEETS_TOTAL
>VALUE
Placeholder texts
Plated-through hole
Png file
Polar coords.
Polygon
Calculation on/off
Cutout
Invalid
Isolate
Naming

46
102
191
102
311
290
23
99
121, 230
229
228
248
229
229
230
228
228
258
134
58, 71
229
232, 254
101
126
264
122, 271
271
265
271
319
230, 265
265
271
271
319
271
319
271
319
230, 265
319
75
102
278
111
75
165
165
321

Index
Orphans
165
Outline mode after Ratsnest
166
Pour
164
Rank
164
Restricted area
173
Spacing
165
Thermal connector width
165
Thermals
165
Width
164
Port
23
Direction
139
Eigenschaften ndern
141
Export bus
139
Port definition
139
PostScript
289
Power supply
127
Ppm graphic file
102
Prefix
83
Prepreg
23, 174
Print out
Date/time
271
Drawing
189
Options
190
Page limit
190
PDF file
191
Printing
64
Product information
49
Product registration
49
Professional edition
34
Project
Close
44
Create new
43, 114
Directory
45
Edit Description
43
File, eagle.epf
114
Mangement
42
Open recent p.
44
Prototype Manufacture
288
Proxy server
120

R
Rack file
Ratsnest
Registration
Relative coords.
Relay

23, 308
23
49
278
266

Repetition points
Restricted area
Cutout polygon
For components
Inner layer
Restring
RGB value
Roundness
Rubber band

93
160, 268
74
227
164, 173
23, 147
107
149
22

S
Schematic
Checking
Create sheet
Creating
Delete sheet
Draw nets
Drawing frame
Duplicate section
Editor
Global attributes
Grid
Hierarchical sch.
Merge different
More than one sheet
New sheet
Points to note
Remove sheet
Sheet preview
Sheet preview on/off
Sort sheets
Various supply voltages
Script files
Comments
defaultcolors.scr
Syntax
Search in Libraries
Select factor
Selecting objects
Serial number
Sheet
Delete
Max. number of
New
Sorting
Signal
Differential Pair
Display name

131
53
115
64
120
116
134
33
128
116
136
134
133
116
134
53
51
133
133
127
100
101
110
90
116
111
65
49
116
33
116
51, 133
23
183
161

347

Index
Length
185
Measuring length
186
Silkscreen
225
SMD
Arbitrary shapes
273
Automatic naming
99
Cream flag
244
Define size
243
Parameter
224
Placement
243
Round shape
243
Roundness
149
Solder cream mask
151
Solder stop mask
151
Stop flag
244
Thermals flag
151, 244
Snap length
111
Solder cream mask
151
Special characters
99
Standard edition
34
Status line
51
Stop frame
151
Superimposed pins
134
Supply
Addlevel for gates
266
Autorouting supply layer
212
Invisible pins
257
Layer with polygons
172
Symbol
23, 127, 260
Various voltages
127
Voltages
257
Swaplevel
58, 126, 230
Symbol
24
Copying
279
Creating
227
Delete
78
Description
230
Editing
79, 80
In use
326
Labeling
265
New
81
Open/Edit
182
Power supply
249
Remove from LBR
282
Rename
78

T
Technologies

348

255

Technology
Changing
160
Termination
Of command
54
Text
Alignment
60
Bar over text
99
Change size
60, 73
Editor
86
Font
60, 73
HTML text
227
In copper layer
294
Inverted in copper layer
74
Menu
63, 105, 318
Min. visible size
111
Ratio
226
Separate from component
157
Special characters
99
Spin flag
156
Upside down
157, 240
Variables
271, 319
Vertical t.
48
Thermal symbol
In polygon
165, 172
In supply layer
151
Tif graphic file
102
Title bar
50
Tool tips
51
TopRouter
199
Track
Bend mode
163
Decompose
162
Delete all
70
Min. width
147
Set width automatically
111
Smooth wire bends
163
Tree view
Extended mode
45
Update
45

U
UNC notation
Undo buffer
Undo/redo
list
Unsmash texts
Update
Check for Update

31
110
54
72
49

Index
designlink-lbr.ulp
User guidance
User interface
User Interface
Classic icon style
User Language
User Language Program
bom.ulp
Calculate milling contour
designlink-order.ulp
dif40.ulp
drill-legend.ulp
drillcfg.ulp.
dxf.ulp
fabmaster.ulp
gencad.ulp
List of all
mill-outlines.ulp
mount.ulp
mountsmd.ulp
outlines.ulp
pcb-service.ulp
Start ULP
unidat.ulp

120
48
47
48
24, 103
290
288
120
290
292
302
103
290
290
42
288
290
290
288
285
53
290

V
Value
Placeholder text in package
Placeholder text in symbol
V. for Device
V. is always Device name
Warning
Variable
$EAGLEDIR
$HOME
Variant
Creating new
Delete
Using modified one
Vector font
Checking
Via
Appearance in Editor

240
248
255
321
320
46
46
274
275
276
47
153
24
151

Blind
174
Blind via ratio
147, 181
Buried
174
Diameter display with INFO
148
Diameter in inner layer
149
Layer color
151
Length
180
Limit
152
Micro via
175, 181
Restricted area
161
Restring, Diameter
147
Shape in inner layer
150
Solder stop
152
Thermal symbol
151

W
Wheel file
Wheel mouse
Legacy wheel mode
Window
Fetch into foreground
Menu
Number
Store position
Wire
Bend mode
Style

24
48
48
90
49
49
48
24
163
73

X
Xbm graphic file
Xpm graphic file
XREF label

102
102
122

Z
Zoom factor limit
Zoom in/out

48
53

349

Das könnte Ihnen auch gefallen