You are on page 1of 347

EASILY APPLICABLE GRAPHICAL LAYOUT EDITOR

Manual
Version 7

2nd Edition
40811710

Copyright 2014 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-2014 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
HierarchicalSchematicDesign.....................................................20
NewIconDesign..........................................................................20
Autorouter....................................................................................21
NewCommands...........................................................................21

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

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

2.3UpdatinganOlderVersion...........................................................28
NotesonLibraryFiles..................................................................28
InCaseofChangesintheFileDataStructure..............................29

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

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

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

3.2DifferentEditions.........................................................................34
ProfessionalEdition.....................................................................34
General......................................................................................34
LayoutEditor.............................................................................35
SchematicEditor........................................................................35
3

Table of Contents
AutorouterModule....................................................................36
StandardEdition..........................................................................36
FreemiumEdition.........................................................................37
LightEdition.................................................................................37

Chapter4AFirstLookatEAGLE...............................................39
4.1TheControlPanel.........................................................................39
LibrarySummary..........................................................................40
DesignRules.................................................................................41
UserLanguagePrograms,Scripts,CAMJobs................................42
Projects.........................................................................................42
MenuBar......................................................................................43
FileMenu...................................................................................43
ViewMenu.................................................................................44
OptionsMenu............................................................................45
WindowMenu...........................................................................48
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
COPY.........................................................................................56
MIRROR....................................................................................56
ROTATE....................................................................................57
GROUP......................................................................................57
CHANGE...................................................................................57
4

Table of Contents
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
OPEN.........................................................................................64
PACKAGE...................................................................................64
PRINT........................................................................................64
QUIT..........................................................................................64
REMOVE....................................................................................64
5

Table of Contents
SET............................................................................................64
TECHNOLOGY...........................................................................65
UPDATE.....................................................................................65
VARIANT....................................................................................65
WRITE........................................................................................65
MouseKeys...................................................................................65
SelectingNeighbouringObjects.................................................66

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
ARC...........................................................................................74
RECT.........................................................................................74
POLYGON.................................................................................74
VIA............................................................................................75
SIGNAL.....................................................................................75
6

Table of Contents
HOLE........................................................................................75
ATTRIBUTE...............................................................................75
DIMENSION..............................................................................75
RATSNEST................................................................................76
AUTO........................................................................................76
ERC...........................................................................................76
DRC...........................................................................................76
ERRORS....................................................................................77

4.4TheLibraryEditorWindow..........................................................77
LoadorRenamePackage,Symbol,orDevice...............................78
EDIT..........................................................................................78
REMOVE....................................................................................78
RENAME....................................................................................79
ThePackageEditingMode...........................................................79
DesignNewPackage..................................................................79
PAD...........................................................................................79
SMD..........................................................................................79
TheSymbolEditingMode............................................................80
DesignaNewSymbol................................................................80
PIN............................................................................................80
TheDeviceEditingmode.............................................................80
CreateActualComponentsfromSymbolsandPackages............81
ADD..........................................................................................82
NAME........................................................................................82
CHANGE...................................................................................82
PACKAGE...................................................................................82
CONNECT..................................................................................82
PREFIX.......................................................................................82
VALUE........................................................................................82
TECHNOLOGY...........................................................................83
ATTRIBUTE...............................................................................83
DESCRIPTION............................................................................83

4.5TheCAMProcessor.......................................................................83
GenerateData..............................................................................84
StartingtheCAMProcessor........................................................84
LoadJobFile..............................................................................84
LoadBoard.................................................................................85
SetOutputParameters...............................................................85
StartOutput...............................................................................85
DefineNewJob..........................................................................85

4.6TheTextEditorWindow..............................................................85
7

Table of Contents
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.......................................99

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

5.6ImportandExportofData.........................................................100
ScriptFilesandDataImport......................................................100
FileExportUsingtheEXPORTCommand..................................101
DIRECTORY.............................................................................101
NETLIST...................................................................................101
NETSCRIPT..............................................................................101
PARTLIST.................................................................................102
8

Table of Contents
PINLIST....................................................................................102
SCRIPT.....................................................................................102
IMAGE......................................................................................102
LIBRARIES...............................................................................103

5.7TheEAGLEUserLanguage.........................................................103
5.8Forward&BackAnnotation.........................................................104
5.9ConfiguringEAGLEIndividually.................................................105
ConfigurationCommands...........................................................105
TheMenuOptions/Set(SETCommand)....................................106
DisplayCertainLayersOnly.....................................................106
ContextMenuEntries...............................................................106
ContentsofTheParameterMenus...........................................107
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...................................................121
DrawNets(NET).....................................................................121
DefiningCrossReferencesforNets..........................................121
CrossReferencesforContacts..................................................123
SpecifyingNetClasses..............................................................124
Drawingabus(BUS)...............................................................125
PinswapandGateswap...............................................................126
PowerSupply.............................................................................126
DefineAttributes........................................................................127
GlobalAttributes......................................................................127
AttributesforElements............................................................128

Table of Contents
ERCCheckandCorrectSchematic..........................................130
OrganizeSchematicSheets........................................................132
PointstoNotefortheSchematicEditor.....................................133
SuperimposedPins...................................................................133
OpenPinswhenMOVEing.......................................................133
DuplicatingaSectionoftheSchematic......................................133
WithConsistentLayout............................................................133
MergeDifferentSchematicFiles.................................................134
WithConsistentLayout............................................................135
MultiChannelDevices.............................................................135

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

6.3ConsiderationsPriortoCreatingaBoard...................................142
CheckingtheComponentLibraries............................................142
AgreementwiththeBoardManufacturer...................................143
SpecifyingtheDesignRules.......................................................143
GeneralPrinciples....................................................................144
Layers.......................................................................................145
MinimumClearanceandDistance............................................146
Sizes.........................................................................................146
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..........................................................................................220

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...............................................................................231
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...............................................246
LocatingPoint(Origin)............................................................246
Description...............................................................................246
Save.........................................................................................246
DefiningtheLogicSymbolfortheSchematicDiagram..............247
ChecktheGrid.........................................................................248
PlacethePins...........................................................................248
14

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

8.3SupplyVoltages..........................................................................258
ComponentPowerSupplyPins..................................................258
InvisibleSupplyPins................................................................258
PinswiththeSameNames.........................................................259

8.4OnePinMultiplePadsConnections.........................................260
8.5SupplySymbols..........................................................................261
8.6Attributes....................................................................................262
DefineAttributes........................................................................262
DisplayAttributes.......................................................................265
PlaceholdersinSymbolandPackage.......................................265

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

8.10DefiningComponentswithContactCrossReferences..............270

15

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

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

8.16DefiningPackagesinAnyRotation...........................................278
RotatingaPackageasaWhole...................................................278
PackageswithRadialPadArrangement.....................................279

8.17LibraryandPartManagement..................................................280
CopyingofLibraryElements......................................................280
WithinaLibrary.......................................................................280
FromOneLibraryintoAnother................................................281
CompositionofYourownLibraries..........................................283
RemovingandRenamingLibraryElements................................283
UpdatePackagesinLibraries.....................................................284

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......................................288
PrintingonaFilm......................................................................289
DataforPickandplaceMachinesandIncircuitTesters............289
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..............................................................315
10.1LayersandtheirUsage.............................................................315
17

Table of Contents
InLayoutandPackageEditor.....................................................315
InSchematic,Symbol,andDeviceEditor...................................316

10.2EAGLEFiles..............................................................................316
10.3EAGLEOptionsataGlance......................................................317
10.4ConfigurationoftheTextMenu...............................................320
10.5TextVariables...........................................................................322
10.6OptionsforExpertsineaglerc..................................................322
ChangeComponentValueWarning.........................................323
ConsistencyCheck....................................................................323
DeleteWireJoints....................................................................323
DeviceNameasValueforallComponents...............................323
DisableCtrlforRadiusMode...................................................323
GroupSelection.......................................................................323
LoadMatchingFileAutomatically...........................................324
NameofNet,Busses,SignalsandPolygons.............................324
OpenProject............................................................................324
PanningDrawingWindow.......................................................324
PolygonEdgesasContinuousLines.........................................324
RepositionoftheMouseCursor...............................................324
UnitsinDialogs........................................................................325

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

10.8EAGLELicenseAgreement........................................................329

Index...................................................................................... 337

18

Chapter 1
Introduction
ThismanualdescribestheuseoftheEAGLEsoftwareanditsbasicprinciples.
Theorderofchaptersfollowsthetypicalprocessfromdrawingaschematic
toareadytouselayout.

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


Anybody whohasalready beenworkingwithaprior versionofEAGLE is
advisedtoreadthefileUPDATEunderLinuxandMacorUPDATE.TXTunder
Windows. It contains a description of all the differences from earlier
versions.Thisfileislocatedintheeagle/docdirectory.Pleasereaditbefore
youstartworkingwiththenewEAGLE.
Informationthatwasnotavailableorthathasbeenchanged sincefinishing
thismanualisalsodescribedinUPDATEorUPDATE.TXT,or,ifexisting,ina
READMEfile.
Detailed information,especially abouttheEAGLE commandlanguageand
theEAGLEUserLanguage,isavailableonthehelppages.Youcanreacha
basicunderstandingveryquicklybyusingthismanual,andyoucanusethe
convenientsearchfeaturesofthehelpfunctiontoquicklylocatetheanswers
toparticularquestions.
ThemostimportantchangescomparedtothepreviousEAGLEversion5are
mentionedinthechapter.

Hierarchical Schematic Design


In version 7, it is possible to create a structured schematic that contains
subunits,called modules. Modulesaresmallerpartsofaschematic,which
willberepresentedinthemainleveloftheschematicbymoduleinstances.
Theindividualmoduleinstancesarerepresentedassimplesymbols(blocks).
Moduleinstancesareconnectedbynetsviaports.Thehierarchicalstructure
canhaveanarbitrarydepth.

New Icon Design


The user interface of EAGLE shows up with a new setof icons,which is
shownbydefault.Itispossibletoswitchbetweenthenewandtheclassic
design.

20

1.2 Important Changes

Autorouter
TheEAGLEAutorouternowsupportsthecalculationofmultipleautorouter
jobs atatime andtheuseof multicore processors. There arenewsetup
options,suchastheautomaticchoiceoftheroutinggrid,orautomatically
determining the preferred directions in the signal layers. The setting for
effortdeterminesthenumberofcalculatedroutingjobs.Eachoftheproposed
jobscanbecustomized.
Inaddition,thereisthepossibilitytousethesocalledTopRouterasakind
of 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
MODULE

Createamoduleandinsertamoduleinstance
inahierarchicalschematic

PORT

Definitionofaportforamoduleinstance

1.3 General Comments About EAGLE


Component Libraries
The component libraries supplied with EAGLE have been compiled with
greatcareasanadditionalservicetoyou,ourcustomer.However,thelarge
numberofavailablecomponentsandsuppliersofthesecomponentsmeans
thattheoccasionaldiscrepancyisunavoidable. Pleasenote,therefore,that
CadSoft takes no responsibility for the complete accuracy of information
includedinlibraryfiles.
Pleasenotethatlibrariesarenotnecessarilyidenticaltoformerlibrarieswith
thesamename.Therefore,itisadvisabletobackupyouroldlibrariesbefore
installingthenewones.
Additionalnewlibraries,thathavenotyetbeenofficially released,canbe
found on CadSoft's internet site in the download section of
www.cadsoftusa.com.

1.4 Technical Terms


Inthismanual,inthehelpfunction,andinEAGLEitselfwefrequentlyuse
sometechnicaltermsthatshouldbeexplainedhereinafewwords.
Airwire:
Unroutedconnectiononaboard,displayedintheunroutedlayer(=rubber
band).
BlindVia:
Aplatedthroughholeforchangingthelayerofatrackwhichhasnotbeen
drilledthroughalllayersintheproductionprocessofamultilayerboard.

21

1 Introduction
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):
EAGLE can identify the violation of certain electrical rules (e.g. if two
outputsareconnected)withtheERC.Italsocheckstheconsistencyofthe
schematicandthelayout.
FollowmeRouter:
ThemanualROUTEcommandoffersanoperatingmodethatcalculatesand
displays the connection of a selected signal automatically. The current
positionofthemousecursordeterminesthetraceoftheconnection.Only
availablewiththeAutoroutermodule.
Forward&BackAnnotation:
Transformsalltheactionsonemakesinaschematiconlineintothelayout
(andwithlimitationsfromlayoutintoschematic).Bothfilesareconsistent
allthetime.
Gate:
ThetermGateisusedinthismanualforapartofacomponentwhichcanbe
individually placed on a schematic. This can be one Gate of a TTL
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.
22

1.4 Technical Terms


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.
Symbol:
Schematicrepresentationofacomponent,storedinaLibrary.
UserLanguage:
Freelyprogrammable,Clikelanguagefordataimportandexport.
Via:
Platedthroughholefor changingthelayer ofatrack. SeealsoMicrovia,
Blindvia,andBuriedvia.
Wheel:
Aperture configuration file. Generated with Gerber data for board
manufacturing.
23

1 Introduction
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 andits appropriate license file will update yourexisting
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


OntheCadSoftwebsite youwill alwaysfindthe newestinstallation files.
First download the current EAGLE package from the CadSoft web site.
EAGLEisavailableforWindows,LinuxandMacOSX.
Afterinstallation,youdecidehowtouseEAGLE:Inoneofthefreeversions
asFreewareorFreemium,oraslicensedsoftwarewiththemodulesspecified
inyourorderandinacorrespondingnumberofusersandedition.Inthis
casekeep ready yourpersonallicensedata,consistingofyourlicensefile
"serialnumber".keyandtheinstallationcode.

Windows
EAGLEforWindowsisavailableasaselfextractingarchive,whichisnamed,
forexample, eaglewin7.1.0.exe. Doubleclickthisfileandthe WinZipSelf
Extractorwindowwillappear.Theinstallationroutinestartswithextracting
thefilesfromthearchive.ClicktheSetupbuttontobegin.
Theversionnumberinthefilenamemay,dependingonthecurrentversion,
differ.
25

2 Installation
Nowtheactualinstallationstarts.Followtheinstructionsstepbystep.
AttheendofthisprocessyouwillbeaskedhowyouwanttolicenseEAGLE:
UseLicensefile
ThisimpliesthatyouhavealreadyboughtanEAGLElicense.Inthiscase
the following dialog asks you for the path to your license file
"serialnumber".keyandforyourpersonalinstallationcodewhichyouhave
gotfromCadSoft.
UseFreemiumCode
Ifyouregistered at http://www.element14.com/eaglefreemium andgota
Freemiumcode,usethisoption.
RunasFreeware
EAGLEwillbelicensedwiththelimitsoftheLightEdition.It'spossibleto
upgradetoapurchasedlicensewithoutreinstallationatanytime.
Don'tlicensenow
postponesthelicensingonthefirstEAGLEstart.
The Windows Start menu now contains in the Programs section the new
entryEAGLELayoutEditor7.1.0.Tutorialandmanualinpdffileformatare
alsopartoftheinstallation.
UninstallingEAGLEcanbedonebyusualmeansofyouroperatingsystem
usingWindowsuninstalltools.

Linux
EAGLEforLinuxisa32bitapplicationandrequiresequivalent32bit
runtimesystemlibraries.Thesemayneedtobeinstalledbeforebyusing
the package manager. If not all the necessary system libraries are
installedEAGLEwillreportthisduringtheinstallationprocess.
EAGLEforLinuxisavailableasselfextractingshellscriptwithsetupdialog.
YoumayinstalltheprogramasRoot/AdministratororasanormalUser.
Initiatetheinstallationprocessinafilemanagerwithadoubleclickonthe
shellscriptfileeaglelin7.1.0.run.
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.1.0.run
Theversionnumberinthefilenamemaydiffer,dependingonthecurrently
availableEAGLEversion.
Theinstallationroutinestartswithextractingthefilesfromthearchive.Then
theactualinstallationprocessstarts.Followtheinstructionsstepbystep.
26

2.2 Installation of the EAGLE package


AttheendyouwillbeaskedhowyouwanttolicenseEAGLE:
UseLicensefile
ThisimpliesthatyouhavealreadyboughtanEAGLElicense.Inthiscase
the following dialog asks you for the path to your license file
"serialnumber".keyandforyourpersonalinstallationcodewhichyouhave
gotfromCadSoft.
UseFreemiumCode
Ifyouregisteredat http://www.element14.com/eaglefreemium andgota
Freemiumcode,usethisoption.
RunasFreeware
EAGLEwillbelicensedwiththelimitsoftheLightEdition.It'spossibleto
upgradetoapurchasedlicensewithoutreinstallationatanytime.
Don'tlicensenow
postponesthelicensingonthefirstEAGLEstart.
TostartEAGLE,executebin/eagleintheinstallationdirectory.
Tutorialandmanualinpdffileformatarealsopartoftheinstallation.They
canbefoundinthedocdirectoryoftheEAGLEinstallation.
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, eaglemac
7.1.0.zip. The archive will be extracted automatically. A new folder icon
namedeaglemac7.1.0.pkgwillappearontheDesktopnow.Clickitwiththe
mouseandtheinstallationprocessstarts.
Theversionnumberinthefilenamemaydiffer,dependingonthecurrent
EAGLEversion.
Followtheinstructionsstepbystep.
ConfirmtheEAGLESoftwareLicenseAgreementbyclickingContinue,ifyou
agreewithit.Ifnot,youcanaborttheinstallationbyclickingthe Goback
button.
ThenextstepsetsuptheEAGLEdestinationfolderandpossiblyadestination
volume.Byclicking Continue youacceptthesuggesteddirectory.Clickthe
Choose buttonandyoumayselectanyotherlocationfortheEAGLEfolder.
After confirmingtheinstallation paththefiles arecopied into theEAGLE
folder.
Afterfinishingtheinstallation youareabletostartEAGLEbyclickingthe
EAGLEiconintheFinder'sApplications/EAGLEentry.
While startingEAGLE for thefirsttime,youwill beasked howtolicense
EAGLE:

27

2 Installation
UseLicensefile
ThisimpliesthatyouhavealreadyboughtanEAGLElicense.Inthiscase
the following dialog asks for the path to your personal license file
serialnumber.key andfor your personal installation code you havegot
fromCadSoft.
UseFreemiumCode
Ifyouregistered at http://www.element14.com/eaglefreemium andgota
Freemiumcode,usethisoption.
RunasFreeware
EAGLEwillbelicensedwiththelimitsoftheLightEdition.It'spossibleto
upgradetoapurchasedlicensewithoutreinstallationatanytime.
Tutorialandmanualinpdffileformatarepartoftheinstallationandare
locatedinthedocfolderoftheEAGLEinstallation.
IncaseyouwanttouninstallEAGLEfromyourcomputer,simplydeletethe
EAGLEentryinthetheFinder'sApplicationsfolder.

2.3 Updating an Older Version


Forreasonsofsafetyitisgoodpracticetocreateabackupofyourprevious
databeforeproceeding!
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.
You should follow the same procedure described in the section on
Installationonpage25.ThenewEAGLEreleasewillbeinstalledintoanew
folderwithitssubfoldersforLibraries,Scriptfiles,UserLanguagePrograms
andsoon.
AfterstartingEAGLEforthefirsttime,pleasecheckthepathsettingsinthe
ControlPanel'sOptions/Directories..menu.
ThepathsettingsaretakenfromtheEAGLEconfigurationfileeaglerc(.usr),if
existing, from a previous EAGLE version installed. Modify the settings if
necessary.Thevariable$EAGLEDIRstandsforthecurrentEAGLEinstallation
directory.

Notes on Library Files


All filesfrompreviousversionscanbeusedwiththenewEAGLE version.
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.
Theinformation aboutlibraries inuse isstored inthe eagle.epf file ofthe
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
convertthemwithaprogramnamedUpdate26.exe.Detailedinformation
aboutthiscanbefoundonpage327.

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.
Theprogramhasnowbeenrelicensed.Youcancallupthelicensedataat
any time in the EAGLE Control Panel by means of the Help/Product
Informationmenu.
29

2 Installation

TheLicenseDialog
Soyoucanupgradeanalready installed LightEdition withaProfessional
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,projectandotherdirectoriescanbefreelychosen.
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 underLinuxor MacOSX)is located 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
private working directory. When first starting the program, enter the
installationcodeandthepathtothelicensefile"serialnumber".key.
30

2.5 Multiple User Licenses


Thisprocedureisrecommended,forinstance,formultipleuserlicensesfor3
to5userswhowillonlyworkatspecificcomputers.
Innetwork situationsit issuggested thatall usersaccessonelocation for
Library,ULP,Script,etc.Thisshouldbeasinglenetworklocationfolder.This
precautionisrecommendedbecauseanycustomDevice,ULP,Scriptcreated
byoneusercannowbeutilizedbytheentireteam.

Special Instructions Under Windows


Path Information
Ithasbeenfoundto behelpful to usetheservernamesin 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,located inthe eagle\bin directoryontheserver,to,forinstance,
eaglexp.exe and eaglexp.key.NowstartallthecomputersthatrunWindows
XP,usingthecommand
EAGLEXP
ThenstartEAGLE from acomputerwith Windows 7,andlicense it again
withtheinstallationcodeandthelicensefile.Theeagle.keyfileisthenvalid
foralltheWindows7computers.Theprogramisrunwith
EAGLE
You need write authorization for the eagle\bin directory to perform the
copyingandlicensing!

2.6 Language Settings


EAGLE decides dueto theoperatingsystems'languagewhich languageto
use.Ifthesystems'language,forexample,issettogerman,EAGLEwilluse
germanlanguage.Incaseyoudon'tliketheautomaticallyselectedlanguage,
youhavethefollowingpossibilitiestochangeit.

Windows
EAGLE takes care on a variable named LANG. For changing it go to the
WindowsControlPanelwhereyoucandefineenvironmentvariables.Setup
avariablenamedLANG. Forenglishlanguagethevalueistypically setto
en_US or en_GB. For german language the value should be set to de_DE,
31

2 Installation
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)
comes with theLibraryEditor,theComputerAided 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).Itisalsopossibletouse
UserLanguageprogramsandScriptfiles.

Schematic Editor
The Schematic Editor without Layout Editor is applicable for drawing
electrical wiring diagrams (connection scheme, contact plans...). The
SchematicEditorcomes,aswellastheLayoutEditor,withthefullLibrary
EditorfordesigningSymbolsfortheSchematicandPackagesfortheLayout,
with the CAM Processor, and the Text Editor. You can also use User
LanguageprogramsandScriptfiles.
IfyouwanttodrawSchematicdiagramsforelectronicsystemsyoushould
haveSchematicandLayout Editor.Youcangeneratetheassociatedcircuit
board atanytimewith amouseclick. EAGLE thenchangesto theLayout
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
YoucanroutetheairwiresautomaticallyifyouowntheAutoroutermodule.
You can choose single nets, groups of nets or all nets for the automatic
routing pass. The program will handle various network classes having
differenttrackwidthsandminimumclearances.
TheAutorouteralsoservesasbasicengineoftheFollowmerouter.Thisis
anadvancedoperatingmodeoftheROUTEcommandformanualrouting,
whichcalculatesanddisplaysthetraceofaselectedsignalautomatically.

3.2 Different Editions


EAGLE offers variousperformance/price categories (editions) called Light,
Freemium, 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, free programmable User Language to generate data
for mounting machines, test equipments, milling machines or any
otherdataformat
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.

Freemium Edition
The Freemium Edition is a Free Premium, which is available only after
registrationonhttp://www.element14.com/eaglefreemiumandhasthe
followinglimitations:
Theboardareaisrestrictedto100x80mm(about3.9x3.2inches),
whichcorrespondstohalfofaEurocard.
Only4signallayerscanbeused(Top,Route2,Route15,Bottom).
Aschematiccanconsistofamaximumnumberof4sheets.
TheFreemiumlicenseislimitedtoonesingleuserandcomputer,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,dependingon the object,to carryouta variety of
actions(rename,copy,print,open,createnewetc.).
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,DesignRules,
User Language programs, script files, CAM jobs and projects. Special
libraries,text,manufacturinganddocumentationfilescanbelongtoaproject
aswellasschematicdiagramsandlayouts.
Thefirsttimeitiscalled,theControlPanelwillappearverymuchasshown
inthefollowingdiagram.Ifanobject isselected inthetreeview,further
relevantinformation orapreviewisdisplayedintherighthandpartofthe
window.
Simplyclickontovariousfoldersandfilesinordertoexperimentwiththe
ControlPanel'sfacilities.

39

4 A First Look at EAGLE

ControlPanel:Ontheright,thedescriptionoftheRCLlibrary

Library Summary
The possibility of displaying the contents of the libraries is particularly
interesting.ItprovidesaveryrapidoverviewoftheavailableDevices.
Expandthe Libraries entry,andyoucanseetheavailable libraries. Inthe
Descriptionfieldyoucanseeabriefdescriptionofthecontents.Ifalibraryis
selected,youwill seemoreextensiveinformation aboutthelibraryinthe
righthandpartoftheControlPanel.Ifyouthenexpandalibraryentry,the
contentswillbedisplayedtogetherwithashortdescriptionofeachelement.
DevicesandPackagesaremarkedwithasmallicon.
Nowselect,forexample,aDevice:
ThedescriptionoftheDeviceandagraphicalrepresentationofitappearon
theright.Theavailable Packageandtechnologyvariantsarelisted. Ifyou
click ontooneofthePackageversions,thePackagepreview shownabove
willchange.
IfaSchematicEditorwindowisopen,theentryADDwillbeshownrightof
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
40

4.1 The Control Panel


Drag&Drop.IfithasmorethanonePackageversion,theADDdialogopens
automatically,sothatthedesiredPackagecanbeselected.
Thegreenmarkerbehindthelibraryentryindicatesthatthislibraryisinuse.
Thismeansthatitcanbeusedinthecurrentproject.Devicesinthislibrary
willbeexaminedbythesearchfunctionintheADDdialogoftheschematic
diagram or of the layout. This makes them available for the project. The
librarywillnotbeexaminedifthemarkingisgray.
IfstartingEAGLEwithoutaproject(noeagle.epffileisread,theprojecthas
beenclosedbeforeexitingEAGLElasttime)andcreatinganewproject
( File/New/Project) all libraries will be in use automatically. However,
openinganalreadyexistingproject,whereonlycertainlibrariesare inuse
beforecreatingthenewproject,willadoptthisselection.
IftheLibraryEditorwindowisopenyoucanDrag&DropacompleteDevice
setor Packagedefinition from theControl Panelinto thelibrarywindow.
Thiswayyoucancopyitfromonelibraryintoanother.

ControlPanel:LibrarysummarywithDeviceview

Design Rules
SpecialDesignRulescanbespecifiedinEAGLEtogoverntheboarddesign.
Thesecanbesavedasdatasetsinspecialfiles(*.dru).
Theparametersetthatistogovernthecurrentprojectisspecified inthe
DesignRules branchofthetreeview.Ifnodatahasbeenprovided forthe
Design Rules(DRCcommand),EAGLE will itself provide parameters. The
41

4 A First Look at EAGLE


markingtotherightofthefileentryspecifiesthedefaultparametersetfor
thecurrentproject.Thelayoutwill bechecked bytheDRCinaccordance
withthesecriteria.FurtherinformationabouttheDRCandtheDesignRules
isfoundstartingonpage143.

User Language Programs, Scripts, CAM Jobs


These entries show the contentsof 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
Projectsentrydisplaysvariousfolders.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
will bestoredinthecorrespondingprojectfile eagle.epf,provided thatthe
optionAutomaticallysaveprojectfileissetintheOptions/Backupmenu.
Iftheproject filewasgeneratedbyanotherEAGLE versionthancurrently
used,youwillbeasked,ifitisallowedtooverwritethefile.
Newprojectsare createdbyclickingtherightmousebuttonontoafolder
entry in this branch. A context menu opens which permits new files and
directoriestobecreatedandtheindividualprojectstobemanaged.
SelectingtheoptionNew/Projectinvokesanewfolderwhichhastobegiven
theproject'stitle.Theprojectfileeagle.epfwillbecreatedautomatically.

42

4.1 The Control Panel


YoucanalsousetheFile/Open/ProjectortheFile/New/Projectmenutoopen
orcreateanewproject.

Contextmenuforprojectmanagement
Thecontextmenucontainsthe Edit Description item. Adescription ofthe
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.Thisinitiallyconsistssimplyof
anewdirectoryinwhichthefilesforanewprojectarehandled.Thesewill
consist asaruleof theschematic diagram andlayout,possibly ofspecial
libraries,scriptfiles,UserLanguageprograms,documentationfilesetc.and
ofthefileeagle.epf,inwhichprojectspecificsettingsarestored.
Thedefaultdirectoriesforthevariousfiletypesaredefinedinthe
Options/Directoriesmenu.
43

4 A First Look at EAGLE


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(likewirewidths
ordrilldiameters)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.

View Menu
Refresh
Thecontentsofthetreeviewareupdated.

44

4.1 The Control Panel


Search in tree
ThetreeviewoftheControlPanelissearchable.Thismenuentryinvokesa
SearchlinewhichislocatedabovetheControlPanel'sstatusbar.Thesearch
functionlooks exactly for thegivensearchpattern.Ifyouareusingmore
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.

ThedirectoriesdialogintheOptionsmenu
Type the path directly into the corresponding box, or select the desired
directorybyclickingtheBrowsebutton.
Thedefaultsettingscanbeseeninthediagramabove.$EAGLEDIRstandsfor
theinstallation'sEAGLEdirectory.
45

4 A First Look at EAGLE


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 themaximum number of
backup copies (default: 9). Backup files have different file extensions,
enumeratedsequentially.Schematicfilesreceivetheendings#x,boardfiles
b#x,andlibraryfilesl#x.xcanrunfrom1to9.Thefilewithx=1isthe
newestone.
Theautomaticbackupfunctionalsopermitsthebackuptobescheduled.The
timeintervalcanbebetween1and60minutes(default: 5minutes).The
backupfileshavetheendingsb##,s##andl##respectively.
AllthesebackupfilescanbefurtherprocessedinEAGLEiftheyarerenamed
andgiventheusualfileendings(brd,sch,lbr).

Backupdialog
If the option to Automatically save project file is chosen, your project is
automaticallysavedwhenyouclosethecurrentprojectorleavetheprogram.
User Interface
TheUserInterfacedialogallowstheappearanceoftheeditorwindowsfor
thelayout,schematicdiagramandlibrarytobeadjustedtoyourpreferences.
YoucanalsoaccessthismenufromtheEditorwindows.
In the Controls box you specify which objects are to be displayed in the
editorwindow.IfyoudeactivatealltheControls,onlythecommandlinewill
remainforentry.Thismaximizesthefreeareaavailableforthedrawing.
46

4.1 The Control Panel

SettingsfortheUserInterface
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
Alwaysvectorfont settinginthecurrentdrawingfile. Soyoucanbequite
sure that the layout will be shown with vector font at another's person
computer(forexample,ataboardhouse).
Pleaseseethehelpfunctionfordetails(TEXTcommand).
Limitzoomfactorlimitsthemaximumzoomfactorinaneditorwindow.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.Thevalue
0switchesthisfunctionoff.Thewheelisusedforscrollingthen.
EAGLE also supports theuseof twofingerpan gesturesontrack pads for
navigatingandzooming.IfyouactivatetheLegacymousewheelmodeoption,
themousewheelworksasitwasinpreviousEAGLEversions.Thegestures
arenolongersupportedthen.

47

4 A First Look at EAGLE


ThefieldExternaltexteditorallowsyoutospecifyanalternativeforthebuilt
in EAGLE text editor. Further details on this can be found in the help
functioninthesectionEditorwindows/Texteditor.
The background color and the appearance of the drawing cursor can be
separately adjusted for thelayoutandtheschematicdiagrameditors. The
backgroundmaybeblack,whiteorshowninanyothercolor(Colored).The
backgroundcolordefinitionisdescribedonpage107.
Thecursorcanbedisplayedoptionallyassmallcrossoraslargecrosshairs.
The section Vertical text lets you decide whether text should be readable
fromtherighthandsideupwards(Up)orfromthelefthandsidedownwards
(Down)inyourdrawings.
ThecheckboxesintheHelpareaallowtoswitchonoroffthepopuptexts
forthecommandicons(Bubblehelp)andthehelptextsforthecommandsin
thestatusline(Userguidance).
Selectingthe Userguidance checkboxdisplays,additioninformationabout
theselected object,likethenetorsignalname,thenetclass,orthepart's
nameandvalue(withNET,MOVE,ROUTE,SHOW...),instructionsaboutthe
possiblemouseactionsinthestatusbaroftheeditorwindow.
EAGLEVersion7hasanewlook.Thecommandiconsandothersymbolscan
beusedinthepreviousdesignbyselectingtheoptionClassicIconStyle.
Mostoftheillustrationsinthismanualcanstillbeseenintheclassic
iconstyle.
Window Positions
Hereyoucan storethepositionsandthesizesofthecurrentlyopenEditor
windows.EachfilethatwillbeopenedfromnowonappearsinitsEditor
windowatthegivenpositionandsizeparametersthatwerestored.
Ifyoudeletethestoredpositionsagain,EAGLEdeterminesthelocationofan
Editorwindowandusesafixedsizeforit,whichisthedefaultsetting.

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

48

4.1 The Control Panel


Help Menu
The Help menucontainsanitem for calling the help function,aswell as
items for installing a new license (Product registration) and getting
informationabouttheprogramversionetc.(Productinformation).
Product registration
TheregistrationdialogiscalledautomaticallywhenyoustartEAGLEthefirst
time.Ifyouwanttoinstallanupgradeyoumuststartthisdialogfromthe
Help menu, and then enter the necessary information according to the
License/ProductRegistrationsectionofthehelpfunction.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.
Ifyouwanttocreateanewschematic,selectthemenuFile/New/Schematic.
Thiswillopenaschematicwiththenameuntitled.schinthecurrentproject
directory.

49

4 A First Look at EAGLE

TheSchematicEditor
Ifyouwanttocreateaschematicdiagramstraightawayinanewproject,
youmayforexampleclickwiththerightmousebuttonontoaprojectinthe
Projects entryofthetreeview,andselectthe Newproject option fromthe
contextmenu.Thenewprojectreceivesaname.Thenclickontothisentry
with therightmousebutton. Now select New/Schematic fromthe context
menu.
Anewschematicopensinthisprojectdirectory.
Ontopyouwillseethetitlebar,whichcontainsthefilename,andthenthe
menubar,andtheactiontoolbar.
Below the action toolbar there is the parameter toolbar, which contains
differenticons,dependingontheactivecommand.
Abovetheworkingareayouwill findthe coordinatedisplay ontheleft,
withthecommandline,wherecommandscanbeenteredintextformat,to
therightofit.
EAGLEacceptscommandsindifferentbutequivalentways:asmouseclicks,
textviakeyboard,orfromcommand(script)files.
Ontheleftoftheworkspaceyoufindthecommandtoolbar,whichcontains
mostoftheSchematicEditor'scommands.
In the status line, at the bottom of the screen, instructions for the user
appear,ifacommandisactive.
Ontheleftyouyoucanseethe previewoftheschematicsheets.Youcan
sortthesheetsviaDrag&Drop.

50

4.2 The Schematic Editor Window


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.
For example, move the cursor over the WIRE icon. Bubble help with the
wordWireappearsdirectlybythecursor.Theshortdescription,Drawlines,
appearsinthestatusline.
Ifyouselectthecommand,ashortnoteappearsbelow inthestatusline,
indicatingwhatwouldnormallybeexpectedasthenextaction.Forinstance,
ifyouclickontotheWIREicon,thestatuslinewilldisplaytheinstruction:
Leftclicktostartwire.
ThesefunctionscanbeactivatedorcancelledintheControlPanelbymeans
oftheOptions/UserInterfacemenu.

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

inthecommandline.ThecharactersymbolizestheEnterkey.
ThecontentsoftheEAGLEHelpisstoredinasingleHTMLfileandcanbe
viewed for examplewithawebbrowser,aswell. Italso offersafulltext
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,whichchangesaccordingtotheselected command.
Theseiconsalsoshowbubblehelpexplanations.
This is how the parameter toolbar appears when the NET command is
activated.

ParametertoolbaroftheNETcommand
OntheleftistheGRIDiconforsettingthegridpitch.Totherightarebuttons
forthebendmode(SETWIRE_BEND)ofthenetline,followedbythemiter
radiusfor smoothinglinejointswiththeoptions straightor rounded (see
MITERcommand).Nexttothisisthe Style menuwherethetypeoflineis
defined.OnthefarrightisavaluemenuforassigningaNetclass.

GRID
Thisiconisavailableatanytime.Itisusedtoadjustthegridandtoselect
thecurrentunit.InEAGLE,anyvaluerelatestothecurrentunit.
52

4.2 The Schematic Editor Window


Arightclickontotheiconopensapopupmenuthatcontainstheentry Last.
So you can switch back to the previously chosen grid setting. The New...
entryallowstodefinesocalledAliases.Moreaboutthisinchapter5.

The Action Toolbar


Thistoolbariscomposedofthefollowingicons:

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

Load,remove,orcreateanewschematicsheet.

USE
Selectlibrarieswhichwill betakenintoconsideration bytheADDdialog.
CanalsobedonewiththeLibrary/Usemenuitemorbyclickingthemarkers
intheLibrariesbranchoftheControlPanel'streeview.Thecontextmenuof
theentry Libraries orofitssubfolderscontainstheentries Useall and Use
none for a quick and simple selection/deselection of all libraries (of the
folder).
Thiscommandhastobeusedinscriptfilesinordertochoosethelibraryyou
wanttotakepartsfrom.

SCRIPT
Executeascript file. Thisenablesyoutoexecuteanycommandsequence
withafewmouseclicks.
Arightclickontotheiconshowsalistofrecentlyexecutedscriptfiles.

RUN
StartaUserLanguageprogram(ULP).
Arightclickontotheiconshowsamenuthatcontainsalistofrecentlyused
UserLanguagePrograms.

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

53

4 A First Look at EAGLE


moveyourmouse!
WINDOWLASTreturnstothepreviousdisplaywindow.

UNDO/REDO
These commands allow youto cancel previouscommandsandto execute
commandswhichhavepreviouslybeencancelled.Ifyouareworkingwitha
consistent pair of schematic and layout the UNDO/REDO commands now
displayinthestatusbarwhichcommandwasundone/redoneandwhether
the command was originally executed in the board or in the schematic
editor.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/Redowindowshowsthelistofrecentactions.Inparenthesisyou
findinformationhowlongagothiswasdone.Usethemouse,the up/down
keysortheUndoandRedobuttonsinordertoplacethedelimiter.ClickOk
incaseyouaresureyouwanttohaveundonealltheactionslistedbelowthe
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
Showsthepropertiesoftheselected 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, as well. Ctrl + SHOW toggles the show state of the selected
object.
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
you move the pin of a Gate over a net or another pin, an electrical
connectionwillbecreated.
Tomovegroupsofobjects:
DefinethegroupwiththeGROUPcommand,clicktheMOVEicon,pressthe
Ctrlkey,thenclickintothedrawingwiththerightmousebutton,andmove
ittothedesiredlocation.
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
Changethe properties of an object, e.g. the width of a line, the Package
variantorthesizeoftext.Seehelpfordetails.
Anobject'spropertiescanbecheckedandevenchanged,whereapplicable,
bythePropertiesentryofthecontextmenu.Toaccessthecontextmenu,click
ontotheobjectwiththerightmousebutton.

PASTE
Insertobjectsfromthepastebufferintothedrawing.
Itisalsopossibletopastefromafileintoschematicandlayoutdirectly.To
doso,usethePASTEcommandwithafilenameinthecommandlineoruse
themenuentryEdit/Pastefrom...
Forfurtherinformationseehelpfunction.

DELETE
Deletevisibleobjects.
AlsoincombinationwithGROUPcommand.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
Swap two equivalent Gates of a Device, provided the Gates have been
definedwiththesameSwaplevel.InEAGLEterminology,aGateisapartofa
Devicewhichcanbeindividuallyplacedonaschematic(e.g.onetransistor
fromatransistorarray).
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
individually changed. Also in combination with GROUP. If a group is
defined, you can smash it with a right mouse click while the Ctrl key is
pressed.
UseDELETEtohidesmashedtexts.
Keep the Shift key pressed while usingtheSMASHcommand 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.
Themiter radiusinfluencessomewirebends,too (seehelp function:SET
command,Wire_Bend).

SPLIT
Insertanangleintoawireornet.

INVOKE
DevicesthatconsistofmorethanoneSymbols(Gates)canbe fetchedGate
byGate,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
Draw line (this command is called WIRE because it is used to define
electricalconnections,i.e.wires,intheLayoutEditor).Thetypeoflinecan
bechangedwithCHANGESTYLE.Clickingtherightmousebuttonchanges
thebendmode(SETWIRE_BEND).
WIREcanalsobeusedtodrawarcs.
59

4 A First Look at EAGLE


PleasenotetheparticularitiesincombinationwiththeCtrland Shiftkeyin
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.Incasethereis asynonymdefined, aLABELwould show the
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 nameare connected (even if located on
differentsheets).
Netsandpinswhichappeartotheeyetobeconnectedarenotnecessarily
electricallyconnected.PleasecheckwiththeSHOWcommand,theERC,or
byexportinganetlistorpinlist(EXPORTNETLISTorPARTLIST).Seealso
thehelpforMOVE.

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 of the LABEL
commandforthemeaningoftheplaceholdersthatcanbeused.
For aproper location of theobject youshould useadrawingframewith
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 anddefine net classes (Edit/Net classes...). Anetclass specifies the
widthofatrack,theclearancefromneighbouringsignals,andthediameter
ofviasfortheAutorouterandtheROUTEcommand.Thesesettingsarealso
usedinpolygons.Seealsopage124.

CLOSE
Textcommandforclosinganeditorwindow(File/Close).

CUT
Transfer the objects of a previously defined group into the paste buffer.
ActivatetheCUTcommandandclick withthe left mousebuttoninto 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

from the menu item File/Print.... Usually the PRINT command is used to
print schematics or for checking the drawings needed for the PCB
production.
TheactualproductiondataaregeneratedwiththeCAMProcessor.
IfyouwanttooutputyourdrawinginblackandwhitechecktheBlackoption
(andSolid,ifyoudon'twantlayerstobeprintedintheirdifferentfillstyles).
ThecaptiontextissuppressedunlessyoucheckCaption.SetPagelimitto1,
ifyourdrawingistobefittedononepage.Ifyouprefertoprintthecurrently
visibledrawingwindowinsteadofthewholedrawing,selectWindowinstead
ofFullintheAreaoption.

QUIT
QuitEAGLE.IdenticalwiththemenuitemFile/ExitorAltX.

REMOVE
Deletefilesorschematicormodulesheets.
REMOVE .S3
forinstance,deletessheet3oftheloadedschematic.

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

64

4.2 The Schematic Editor Window


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

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
assembled or not, or about different values or technologies of the
componentsusedinthedifferentvariantsoftheproject.Thisfunctioncanbe
reachedthroughtheEdit/Assemblyvariantsmenuorbytypingthecommand
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.

65

4 A First Look at EAGLE


Selecting Neighbouring Objects
If oneof two objects which arevery close together is to beselected, the
individualobjectsarehighlightedoneaftertheother.Theusercanselectthe
highlighted object withtheleftmousebutton,or proceed tothenextone
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).

4.3 The Layout Editor Window


TheLayoutEditor windowopenswhenyouopenanexistingboardfileor
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.All ofthecommandscanalsobereachedthroughthepulldown
66

4.3 The Layout Editor Window


menusinthemenubar.Thisalsoapplies,ofcourse,totheSchematicand
LayoutEditorwindows.

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
theboard canonly beselected if thelayer 23, tOrigins,isdisplayed. The
same appliestocomponentsonthebottomsideoftheboardandlayer24,
bOrigins.
SeeAppendixforthemeaningofthelayers.
TheDISPLAYcommandsupportssocalledaliases.Thisallowsyoutoname
certain combinations of layers anduse it asaparameter with theLAYER
command.Aquickchangefromoneviewtoanotherlayercombinationis
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.
Keeping the Ctrl key pressed while selecting an object selects it in a
particularmanner.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
Rotate objects (also possible with MOVE). Keep the left mouse button
pressedtorotatetheselectedobjectbymovingthemouse.Theparameter
toolbarshowsthecurrentangle.Thiscanbedonewithgroups(GROUPand
rightmousebutton)aswell.
ROTATEcanbeusedwithgroups,aswell.ActivateROTATE,presstheCtrl
keyandclickwiththerightmousebuttonintothedrawingtosetthecenter
ofrotation.Thegroupwillberotatedcounterclockwisebythegivenangle.
Alternatively type in the anglein 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,arectangulargroupcanbedefinedbyholdingdownthe
left 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.Inthiswayanewvaluecan
beconvenientlychosen.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.ThisisalsopossiblewiththeunLock
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,youcansmashit
witharightmouseclickwhiletheCtrlkeyispressed.
UsetheDELETEcommandtohidesmashedtexts.
Keep the Shift key pressed while using the SMASHcommand in order to
unsmashtexts.Theyarenoteditableanymoreandappearattheiroriginal
positionsafterawindowrefresh(alsopossiblewithunSmashinthecontext
menu).
Alternatively you can switch on or off theoption Smashed in thecontext
menu'sPropertiesentry.

MITER
Round off or bevel wire joints (also possible for polygon contours). The
gradeofmiteringisdeterminedbythemiterradius.Positivesignresultsina
roundedjoint,negativesigninabevel.
Themiterradiusinfluencessomewirebendmodes,too(seehelpfunction:
SET,Wire_Bend).

SPLIT
Insertabendintoawire.
Ifyouwanttochange,for example,thelayer for asection ofanalready
routedtrack,youcaninserttwowirebendswiththeSPLITcommandand
changethelayerof thenewlycreated segmentwiththeCHANGELAYER.
EAGLEwillsetviasautomaticallyatthepositionofthewirebends.
YoucanusetheSPLITcommandforaquickreroutingofanalreadyexisting
track.Clickontothetracktoinsertawirebend.Nowmovethemouseand
route it anew. To remove the previous track use the RIPUPcommand 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,also
incombinationwiththeCtrlandShiftkey.
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 CtrlandShiftkeyin
thehelpfunction:
Ifyoupress,forexample,theCtrlkeywhilestartingtodrawawire,thewire
beginsexactlyattheendofanalreadyexistingwirenearby.Evenifthiswire
isnotinthecurrentlysetgrid.Wirewidth,styleandlayerwillbeadopted
fromthealreadyexistingwire.

TEXT
Placingtext.UseCHANGESIZEtoaltertheheightofthetext.Ifthetextis
usingavectorfont,CHANGERATIOwillalterthethickness.CHANGETEXT
isusedtoalterthetextitself.CHANGE FONTaltersthe typeface. CHANGE
ALIGNdefinesthealignment(thelocationoftheorigin)ofthetext.
Theoption Alwaysvectorfont (Options/UserInterface)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
distancetoobjects belongingtoother signals(copper pouring,flood fill).
Thisenablesyoutorealizedifferentsignalareasonthesamelayerandmake
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.
Polygons with special fill style cutout can be used as restricted areas for
signalpolygonsininnerandouterlayers.Suchapolygonwillbesubtracted
fromallothersignalpolygonsinthesamelayer.Thedottedcontourlinewill
alwaysbevisible.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.
WhileRATSNESTisactivethestatusbaroftheLayoutEditor displaysthe
nameofthecurrentlycalculatedsignal.

AUTO
StarttheAutorouter.
IfyoutypeAUTO FOLLOWMEinthecommandline,the AutorouterSetup
windowopensinthefollowmemode,whichallowstosettheparametersfor
thefollowmerouteronly.

ERC
Performaconsistencycheckforschematicandboard.

DRC
DefineDesignRulesandperformDesignRuleCheck.
TypingDRC*intothecommandlineopenstheDesignRuleswindowwhere
youcancheckandadjustyoursettingsandclosethedialogwindowagain
withoutstartingtheDesignRuleCheck.

76

4.3 The Layout Editor Window


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

4.4 The Library Editor Window


TheLibraryEditor window openswhenyouload alibraryforcreatingor
editing components. A library normally has three different elements:
Packages,SymbolsandDevices.
APackageisaDevice'shousing,aswillbeusedintheLayoutEditor
(ontheboard).
TheSymbolcontainsthewayinwhichtheDevicewillbeshownin
theschematic.
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
section entitled Component Design Explained throughExamples,startingon
page223inthismanual.
Whenalibraryisloadedthefollowingwindowappearsfirst:

77

4 A First Look at EAGLE

LibraryEditorwindow:Noelementhasyetbeenloaded

Load or Rename Package, Symbol, or Device


Thefollowingcommandsareimportantfornavigatingwithinalibrary:

EDIT
LoadDeviceorPackage(ifyouonlyhavetheLayoutEditor)forediting.

From the left: Load Device, load Package, load Symbol. These icons are
shownintheactiontoolbar.
Ifyouclickononeoftheseiconswiththerightmousebutton,orlongclick
withtheleftmousebuttonononeofthesesicons,alistwiththerecently
editedobjectswillpopup.

REMOVE
Delete Device/Package/Symbol from library. Available only through the
Library menuorthecommandline.Seehelpfunctionorthechapterabout
LibraryandPartManagementinthismanualformore.

78

4.4 The Library Editor Window


RENAME
Rename Device/Package/Symbol in library. Available only through the
Library menuorthecommandline.Seehelpfunctionorthechapterabout
LibraryandPartManagementinthismanualformore.

The Package Editing Mode


Thedefinitionofacomponentisdescribed brieflybelow.Thereisamore
extensiveguideintheComponentDesignExplainedthroughExamplessection.
Theiconsavailableinthecommandtoolbarareequivalenttotheidentical
iconsoftheSchematicorLayoutEditor.

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,octagonor longintheoutersignal
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.
79

4 A First Look at EAGLE


UsetheDESCRIPTIONcommandtoaddadescriptionforthePackage.
HTMLtextformatcanbeusedforthis.Youwillfindfurtherinformationin
thehelppages.

The Symbol Editing Mode


DefiningaSymbolmeansdefiningapartofaDevicewhichcanbeplaced
individuallyinaschematic.Inthecaseofa74L00thiscouldbeoneNAND
gateandthetwopowerpins,definedasanotherSymbol. Inthecaseofa
resistor,theDevicecontainsonlyoneSymbolwhichistherepresentationof
theresistor.
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) in the parameter toolbar while the PIN command is active, or
laterwiththeCHANGEcommand.Thepinparametersareexplainedstarting
onpage 228 andinthehelppagesunderthekeyword PIN.Pinnamesare
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,
80

4.4 The Library Editor Window


ifthereareequivalentGateswhichcanbeinterchanged(Swaplevel),
howtheGatebehaveswhenaddedtoaschematic(Addlevel),
theprefixforthecomponentname,ifaprefixisused,
ifthevalueofthecomponentcanbechangedorifthevalueshould
befixedtotheDevicename,
whichpinsrelatetothepadsofthePackage(CONNECTcommand)
whether a description for this component should be stored in the
library.
Thefollowingdiagramshowsthefullydefined7400DevicewithfourNAND
gatesandasupplygateinvariousPackageandtechnologyversions.
Ifyouclickontooneofthegateswiththerightmousebutton,thecontext
menuwiththeexecutablecommandspopsup.Furthermoreyoucandisplay
thePropertiesofthegate.ClickonEditSymboltoopentheSymbolEditor.

DeviceEditorwindow

Create Actual Components from Symbols and Packages


Switch totheDeviceeditingmode byclickingthe Device icon

inthe

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

81

4 A First Look at EAGLE


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.

NAME
ChangeGatename.

CHANGE
ChangeSwaplevelorAddlevel.

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

CONNECT
Definewhichpins(Gate)relatetowhichpads(Package).

PREFIX
Provide prefix for the component name in the schematic (e.g. R for
resistors).

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).
Even if Value is Off, the value of a component can be changed. A query
checksifthisactionisintended.
Thealteredvalueofthecomponentremainsunchanged,iftheTechnologyor
the Package version is altered later with CHANGE PACKAGE or CHANGE
TECHNOLOGY.

82

4.4 The Library Editor Window


TECHNOLOGY
Ifnecessary,varioustechnologiescanbedefined,for example,for alogic
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.

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

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.

83

4 A First Look at EAGLE

TheCAMProcessor
TheCAMProcessorcanalsobestarteddirectlyfromthecommandline.A
numberofcommandlineparameterscanbepassedtoitwhenitiscalled.
Thesearelistedintheappendix.

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 CAMJobs branch. Thentheselected CAMJob will beloaded
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,useajob togenerateindividualfiles
containingtheGerberdataforseveralPCBlayers.
84

4.5 The CAM Processor


AjobisloadedwiththeFilemenuoftheCAMProcessororwithadouble
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,clicktheProcessJob
button.Ifyoujustwanttogetanoutputusingthecurrentlyvisibleparameter
settings,clicktheProcessSectionbutton.

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.
85

4 A First Look at EAGLE


WhenintheTextEditor,therightmousebuttoncallsupacontextmenu.

TheTextEditor
Incaseyouprefer anexternal text editor,define theprogramcall inthe
ControlPanel'sorinoneoftheEditorwindow'sOption/Userinterfacemenu,
Externaltexteditor.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 description of theEAGLEcommandscanbefoundonthehelp
pages.

Activate Command and Select Object


TheclassicalwayofworkingwithEAGLEistoactivatethecommandfirst,
andthenchoosetheobjectyouwanttohaveitexecutedon.Forexample,
firstactivatetheMOVEcommandbyclickingtheiconinthecommandmenu
orselectingthecommandinoneofthemenus,andfinally click ontothe
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
Mostcommandscanbeexecutedwhilstdeclaringcoordinatevaluesinthe
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


AnotherwayofusingEAGLEistoworkwiththeobjectspecific command
menu.Inthiscaseyoufirstclickwiththerightmousebuttonontotheobject
andthenyouselectthecommandthatyouwanttohaveexecuted.
The context menu contains all commands that can be executed with the
selected object. Additionally youcandisplay all theobject's properties by
clickingontothePropertiesentry.Someofthemcanbeevenchangeddirectly
inthePropertieswindow.

88

5.1 Command Input Possibilities

ThecontextmenuforaDeviceintheSchematic

Function Keys
Textsmaybeallocated tothefunctionkeysandtocombinationsofthose
keyswithAlt,CtrlandShift(forMacOSXadditionallyCmd),ifnotoccupied
bytheoperatingsystemoraLinuxWindowManager(forexample F1 for
help).Ifafunctionkeyispressed,thiscorrespondstothetextbeingtypedin
viathekeyboard.Sinceeverycommandiscapableofbeingenteredastext,
every command, together with certain parameters, can be assigned to a
function key. Even whole sequences of commands can be assigned to a
functionkeyinthisway.
Thecommand
ASSIGN
displays the current function key assignments. Changes to the key
assignmentscanbecarriedoutintheassignwindow.
TheNewbuttoncanbeusedtodefineanewkeyassignment.AclickontoDel
will deleteamarked entry,while Change altersanexistingdefinition. 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,
andtypographical conventions,whichareimportantforunderstandingthe
descriptions,willbespecified.

Typographical Conventions
Enter key and Semicolon
IfEAGLEcommandsareenteredviathecommandlinetheyarefinishedwith
theEnterkey.Insomecasesacommandmusthaveasemicolonattheend,
sothatEAGLEknowsthattherearenomoreparameters.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 tenthgrid line is visible. The figures1 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
92

5.2 The EAGLE Command Language


Input:
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
Mouse click
Mouse click
Mouse click
and so on.

click the icon)


on the first object to be moved
on the destination
on the second object to be moved

Youcanalsoseefromtheseexampleshowtherepetitionpointsaretobe
understoodinthecontextofmouseclicks.

Entering Coordinates as Text


Theprogramseeseverymouseclickasapairofcoordinates.Ifitisdesired
to enter commands in text form on the command line, then instead of
clickingwiththemouseitispossible toenterthecoordinatesthroughthe
keyboardinthefollowingform:
(xy)

93

5 Principles for Working with EAGLE


where x and y are numbers representing units as selected by the GRID
command.Thetextualinputmethodisnecessaryinparticularforscriptfiles.
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
(2010)isplaced.Theviaislocatedatadistanceof5mminxand12.5mm
inydirectionfromthethispoint.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.Sowe
94

5.2 The EAGLE Command Language


donothavetoworryaboutabsolutevaluesofapointonthecircumference
forthesecondcoordinatespairtodeterminethecircle.

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
C and S cause miscellaneous commands to behave in different manners.
More information can be found in the help function of the respective
command.
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:

95

5 Principles for Working with EAGLE


LAYER TRESTRICT;
RECT (0.5 0.5) (2.5 4) ;

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 sizescanbepresetinthe eagle.scr filefordifferenttypesof
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
96

5.3 Grids and the Current Units


arranging labels in the schematic. If you decide not to place it in the
alternativegridandreleasetheAltkeybeforeplacingit,theobjectstaysin
itsorigingrid.
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)definedcolorsof
thecurrentpalette.
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.
97

5 Principles for Working with EAGLE


UseDISPLAY LASTinthecommandlineortheentryLastoftheDISPLAY's
popupmenuicontoreturntothelastlayerselection.
MoredetailscanbefoundonthehelppageoftheDISPLAYcommand.

Example: GRID Alias


The how to and the function of a grid alias is exactly the same as it is
explainedfortheDISPLAYcommand.Settheappropriategridinoneofthe
Editor windows,rightclick ontotheGRIDicon

,andselect 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


TheWINDOWcommandallowsyoutodefineanaliasforacertainpartof
thedrawingarea.Aliaseshelpyoutonavigatecomfortablyfromonelocation
toanotherinyourdrawing.ThedefinitionofaWINDOWaliasissimilarto
theDISPLAYaliasasdescribedabove:
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

AlternativelyrightclickontotheSelect iconoftheWINDOWcommandand
selecttheentryupper_leftinthepopupmenu.
InaSchematicthatconsistsofmorethanonesheetanaliasisexecuted
alwaysonthecurrentlyactivesheet,independentofwhereitwasdefined
originally.

98

5.4 Aliases for DISPLAY, GRID, and WINDOW

Editing, Renaming, Deleting of an Alias


Inthecaseyouwanttodeleteanalias,youcando thisinthecommand
icon's popup menu. First rightclick onto the command icon to open the
popupmenu.Thenusearightmouseclickontothealiasentry.Thisopensa
contextmenu.ClicktheDeleteoptionthere.

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.
Theexclamationmarkisaspecialcharacterthatstartsandendsabarover
the text. See the help function for the TEXT command for details. If an
exclamationmarkshouldbevisibleinthetext,itneedstobeescapedbya
leadingbackslash.
Inordertohaveabackslashdisplayedinanameortext,youhavetotypeit,
forexamplewiththeNAMEorTEXTcommand,twice.

99

5 Principles for Working with EAGLE

Automatic Naming
IfanameisgiventogetherwithoneofthecommandsPIN,PAD,SMD,NET,
BUS or ADD, then other names will be derived from it as long as the
commandisstillactive.
Thenameissimplytypedintothecommandlinebeforeplacingtheobject
(while it is attached to the mouse). Note that the name must be placed
withinsimplequotationmarks.EntryiscompletedwiththeEnterkey().
Theexamplesillustratehowautomaticnamingfunctions:
ADD DIL14 'U1'
fetchesthreeDIL14PackagestotheboardandnamesthemU1,U2andU3
(correspondstoamouseclick).
PAD OCT '1'
placesfouroctagonalpadswiththenames1,2,3,and4.
If thenameconsists of only onecharacter from A...Z, then the following
objectsreceivethefollowinglettersofthealphabetasnames:
ADD NAND 'A'
fetches four NAND gateswith thenamesA,B,CandD. If thegenerated
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.

100

5.6 Import and Export of Data


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;
ANetscriptofthissortcaneasilybecreatedfromtheschematicdiagramby
theEXPORTcommand (menu File/Export/Netscript)andimported intothe
layout.
Youwillgetafurtherimpressionofthepowerofimporting,ifyououtputa
librarywiththeEXPORTcommandintoascriptfile(File/Export/Script).The
scriptfilethatisgeneratedprovidesaninstructiveexampleforthesyntaxof
thescriptlanguage.Itcanbeexaminedwithanytexteditor. IfSCRIPTis
thenusedtoreadthisfileintoanemptylibrary,anewlibraryfilewillbe
created.
Commentscanbeincludedfollowinga#character.
TheexecutionofascriptfilecanbestoppedbyclickingtheStopiconinthe
actiontoolbar.
TheFile/ImportmenuoffersaPCAD/Altium/Protelimportoption.Filesthat
aresavedinthe ACCELASCII data formatcanbetransferredintoEAGLE.
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
101

5 Principles for Working with EAGLE


fromtheSchematicandimportitwiththeSCRIPTcommandintothelayout.
TheresultisaSchematic/Layoutfilepairwithanidenticalnetlist.

PARTLIST
Outputsacomponentlistfortheschematicorboard.

PINLIST
Outputsapin/padlistfortheschematicorboard,listingtheconnectednets.

SCRIPT
Outputsthecurrentlyloadedlibraryintheformofascriptfile.
This script can be modified with a text editor in order to generate, for
example,auserdefinedlibrary,ortocopypartsofonelibraryintoanother.
Themodifiedscriptfilecanbeimportedintoaneworanalreadyexisting
librarywiththehelpoftheSCRIPTcommand.
ThescriptfilealsoservesasagoodexamplefortheEAGLEcommandsyntax.
Inorder toavoid lossof precision thegrid unitinthescriptfile issetto
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.
102

5.6 Import and Export of Data


Togenerateablackandwhiteimageactivatetheoption Monochrome.To
maketheimageavailableviathesystem'sclipboardsettheClipboardoption.
The Resolutioncanbesetindotsperinch.TheresultingImageSize willbe
showninthelowestfield.
The Area field allowsaselection of Full or Window. Full printsthewhole
drawing,whereasWindow printsthecurrentlyintheEditorwindowvisible
partofthedrawing.
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,
andimportawiderangeofdataintoEAGLE.
ULPscan,forexample,manipulatealayoutfileoralibrarybygenerating
and executing a Script file. The Script file contains all the necessary
commands for the manipulation. The User Language's integrated exit()
functionallowsittoexecutethesecommandsdirectly.
Theprogramexamplesincluded (*.ulp)will providesomeinsightintothe
capacityoftheUserLanguage.Theyarelocatedinyourinstallation'sULP
directory.AdescriptionofthewayinwhichaULPworksislocatedinthefile
header.ThisisalsodisplayedintheControlPanelorintheusageboxwhen
theprogramiscalled.
UserLanguageprogramsmustbewritteninatexteditorthatdoesnotadd
anycontrolcodes.Itmightbeagoodideatouseatexteditorthatsupports
syntaxhighlightingforCprogramminglanguage.Thishelpstounderstand
thestructureofanULP.
Youcandefinean Externaltexteditor inthe Option/UserInterface menuas
yourdefaulteditor.
103

5 Principles for Working with EAGLE


AULPisstartedwiththeRUNcommand,or bydraggingaULPfromthe
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:
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. Thisensuresthattheschematic and
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,thesignallinesaresimultaneouslydrawninthe
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 alwaysbe loaded atthesame time. Otherwise they loose
consistency,andtheannotationcannolongerwork.

104

5.8 Forward&Back Annotation


Ifyouhave,however,onceeditedtheboardortheschematicseparately,the
ElectricalRuleCheck(ERC)willcheckthefilesforconsistencywhentheyare
loaded. Ifinconsistenciesarefound,theERCopensanErrorwindowwith
appropriate messages about the Schematic and the Layout. Section 6.12,
startingwithpage193,showshowtoproceedinsuchacase.

5.9 Configuring EAGLE Individually


Thereareanumberofsettingsthatpermittheprogramtobeadjustedfor
individualneeds.Wedistinguishbetweenprogram,userandprojectspecific
settings.
Basicprogramsettingsthatwillapplytoeveryuserandeverynewproject
are made in the eagle.scr file. Under Windows, personal preferences are
storedinthefileeaglerc.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.
Through the User interface settings it is possible to select the iconbased
menuoraconfigurabletextmenu.
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 anddisplays theassignmentof 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.
105

5 Principles for Working with EAGLE

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

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,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 ;

106

5.9 Configuring EAGLE Individually


Contents of The Parameter Menus
TheparametermenusforWidth,Diameter,Drill,SMD,Size,Isolate,Spacing,
andMiter,whichareavailableforexamplethroughtheCHANGEcommand,
canbeconfiguredandfilledwithanyvaluesbytheSETcommand.Simply
listthevalues,separatedbyblanks,inthecommandline.
ExamplefortheMitermenu:
SET MITER_MENU 0.1 0.2 0.3 0.4 0.5 0.6 1 1.5 2 3 4;
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


Sometimes EAGLE prompts the user with a warning or informational
message and wants to know how to proceed. This may be unwanted for
automaticprocesses,forexample,forexecutingascriptfile.Youcandecide
onhowsuchamessageshallbeanswered.
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 Colorstabcontainssettingsforlayerandbackgroundcolorsandcolors
forgridlinesordots.
107

5 Principles for Working with EAGLE

Settingswindow:Colorsettings
Threecolorpalettesareavailable:forblack,whiteandcoloredbackground.
Eachpaletteallowsamaximumof64colorentries,whichcanbegivenany
valuefortheAlphachannelandanyRGBvalue.
If you prefer the old raster OPbehaviour of previous EAGLE versions on
blackbackground,deactivatetheUse alphablendingcheckbox.Inthiscase
thealphavalueisignoredwhenusingablackbackground.Colorsaremixed
nowusinganORfunction.
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 highlightcolor vertically arranged). Inorder to change the
colorpaletteforaneditorwindowselecttheappropriate Backgroundinthe
menuOptions/UserInterface.
Youshouldalwaysdefineatleastonepairofcolors:anormalcolorand
itsrelatedhighlightcolor.
Alternatively,thecolor definitionandchangeofpalettecanbemadeina
scriptfileorinthecommandline.
SET PALETTE <index> <rgb>
definesacolorforthecurrentlyusedpalette,wherethevalueforthealpha
channelandthecolorvaluehastobegivenhexadecimal.Indexstandsfor
thecolornumber,rgbforthevaluesforalphachannel,thecolorsred,blue,
andgreen.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
andviadrill diametergivenbytheDesignRulesorthenetclassesforthe
tracks.Thesevalueswillbesetautomaticallyassoonasyouareclickingonto
asignalwire.
Ifthisoptionisswitchedoff,EAGLEwilltakethevalueyouhavesetwith,for
example,thepreviousCHANGEWIDTHcommand.
Min.visibletextsize:
Onlytextswiththegivenminimumsizearedisplayed.
Default:3pixels.
Min.visiblegridsize:
Grid lines/dots which arecloser thanthegivenminimumdistance areno
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,itislookedforinthedirectorythatisenteredintheScriptbox
intheOptions/Directoriesdialog.
Thisfilecancontainallthosecommandsthataretobecarriedoutwhenever
aneditorwindow(otherthantheTextEditor)isopened.
TheSCH,BRDandLBRlabelsindicatethosesegmentswithinthefilewhich
areonlytobeexecutediftheSchematic,LayoutorLibraryEditorwindowis
opened.
TheDEV,SYMandPAClabelsindicatethosesegmentswithinthefilewhich
areonly to beexecuted if theDevice,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
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
#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

112

windows.

|\

Move \
\

26 \

5.9 Configuring EAGLE Individually


27 28 39 40 41 42 43 44 45;
Change width 0.01;
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):
113

5 Principles for Working with EAGLE


<prgdir>/eaglerc

(Linux,Mac,Windows)

/etc/eaglerc

(Linux,Mac)

$HOME/.eaglerc

(Linux,Mac)

$HOME/eaglerc.usr

(Windows)

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

EAGLE Project File


Ifanewprojectiscreated(byclickingtherightmousebuttononanentryin
the Projects branchof thetreeview andthenselecting New/Project inthe
contextmenuintheControlPanel),adirectoryisfirstcreatedwhichhasthe
nameoftheproject.Aneagle.epfconfigurationfileisautomaticallycreated
ineveryprojectdirectory.
EAGLE takesnoteofchangestoobject propertiesthataremadewiththe
CHANGEcommandduringeditingandthecontentsoftheWidth,Diameter,
andSizemenusintheprojectfile.
Italsocontainsinformationaboutthelibrariesinuseforthisproject.
Thepositionandcontentsoftheactivewindowsatthetimetheprogramis
closedarealsosavedhere.ThisassumesthattheAutomaticallysaveproject
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
page42.

6.1 Creating the Schematic Diagram


Theusualprocedureisasfollows:
Devicesaretakenfromexistinglibrariesandplaced onthedrawingarea.
The connecting points (pins) on the Devices are then joined by nets
(electrical connections).Netscanhaveanyname,andcanbeassigned to
variousclasses.Powersupplyvoltagesaregenerallyconnectedautomatically.
Inordertodocumentallthesupplyvoltagesintheschematicdiagramitis
necessarytoplaceatleastonesocalledsupplysymbolforeachvoltage.
Schematicdiagramscanconsistofanumberofpages(butnotintheLight
edition).Netsareconnectedacrossallthepagesiftheyhavethesamename.
Itisassumedthatlibrariescontainingtherequiredcomponentsareavailable.
Thedefinitionoflibrariesisdescribedinitsownchapter.
ItispossibleatanytimetocreatealayoutwiththeBOARDcommandor
withthe Board icon.Assoonasalayoutexists,bothfilesmustalwaysbe
loaded at the same time. This is necessary for the association of the
schematicdiagramandtheboardtofunction.Therearefurtherinstructions
aboutthisinthesectiononForward&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,youdo notinfactwantthepage,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


Thegrid of schematicdiagramsshould always be0.1inch,i.e. 2.54mm.
Nets andSymbol connection points (pins) mustlie 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.
Itshowsall thelibrariesthataremadeavailable withtheUSEcommand,
first.Youcanexpandthelibraryentriesforsearchingelementsmanuallyor
youcanusethesearchfunction.
Aletterformatframeistobeused.EnterthesearchkeyletterintheSearch
lineatthelower left,andpressthe Enter key. The searchresultshowsa
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
used as search keys. Wildcards such as * or ? are allowed. A number of
searchkeys,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).

117

6 From Schematic to Finished Board


IfacertainlibraryshouldnotbelistedintheADDdialoganymore,selectthe
library name in the tree and click the Drop button. Now it is not in use
anymore.
DrawingframesaredefinedwiththeFRAMEcommand.
Thiscanbedoneinalibrary,wheretheframecanbecombinedwitha
document field. EAGLE can also use the FRAME command in the
SchematicaswellastheBoardEditor.Detailsaboutdefiningadrawing
framecanbefoundonpage271.

Place Circuit Symbols (Gates)


All further Devices are found and placed by means of the mechanism
described above. You decide a Package variant at this early stage. It can
easilybechangedlaterifitshouldturnoutthatadifferentPackageformis
usedinthelayout.
IfyouhaveplacedaDevicewithADD,andthenwanttoreturntotheADD
dialoginordertochooseanewDevice,pressthe Esc keyorclicktheADD
iconagain.
GivetheDevicesnamesandvalues(NAME,VALUE).
Ifthetextforthenameorthevalueislocated awkwardly,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


Some Devices are defined in the libraries in such a way that the power
supply pins are not visible on the schematic diagram. Visibility is not
necessary,sinceallthepower pinswiththesamenameareautomatically
connected,regardlessofwhetherornottheyarevisible.

118

6.1 Creating the Schematic Diagram


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
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
namedP.IfyouwanttoplacetheGateCfirst,usetheGatenamewiththe
ADDcommand:
ADD 'IC1' 'C' 74AC00@74xx-eu.lbr
SeealsohelpfunctionfortheADDcommand.
AssoonasoneGatehasbeenplaced,thenextoneisattachedtothemouse
(Addlevelis Next).PlaceoneGateafteranotheronthediagram.Whenall
theGatesinoneDevicehavebeenused,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
119

6 From Schematic to Finished Board


selected Gate is shown in the center of the current Schematic Editor
window.

Designlink Access to Farnell's Online Product Database


Withthehelpofdesignlinkorder.ulpyoucandoageneralproductsearchor
a search for all parts of your schematic, check price and availability and
orderdirectly at Farnell/Newark. Foundorder codescanbesavedaspart
attributestheschematic.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,or thereisnomatchattheFarnell/Newarkwebsite,thelist will
marktheordercodeasunknown.Doubleclickontothisentryforstartinga
manualsearch.Assoonasallthecomponentsyouwouldliketoputintothe
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 searchingfor order codes attheFarnell/Newark website. Finally
therewillbecreatedthreeattributes:
>MFformanufacturer,>MPNformanufacturerpartnumber,>OC_FARNELL
orOC_NEWARK fortheordercode.

120

6.1 Creating the Schematic Diagram

Wiring the Schematic Diagram


Draw Nets (NET)
TheNETcommanddefinestheconnectionsbetweenthepins.Netsbeginand
endattheconnectionpointsofapin.Thisisvisiblewhenlayer93,Pins,is
displayed(DISPLAYcommand).
Netsarealwaysgivenanautomaticallygeneratedname.Thiscanbechanged
bymeansoftheNAMEcommand.Netswiththesamenameareconnectedto
one another,regardless of whether or notthey appear continuous on the
drawing.Thisappliesevenwhentheyappearondifferentsheets.
Ifanetistakentoanothernet,abus,orapinconnectingpoint,thenetline
endsthereandisconnected.Ifnoconnectionismadewhenthenetisplaced,
thenetline continuestobeattached tothemouse. This behavior canbe
changedthroughtheOptions/Set/Miscmenu(usingtheAutoendnetandbus
option).Ifthisoptionisdeactivated,adoubleclickisneededtoendanet.
Netsareshownonlayer91,Nets.
Netsmustendexactlyatapinconnectingpointinordertobejoined.Anet
isnotjoinedtothepinifitendssomewhereonthepinline.
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 pinsandnetswill behighlighted. IfaGateismoved,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 shownautomatically. It points to the nextsheet where the net occurs
again.Dependingontherotationofthelabelthecrossreferencereferstoa
previousorafollowingschematicsheet.Ifthelabelitselfgoestowardsthe
rightorbottom border ofthedrawing,thecrossreferenceshowsthenext
higherpagenumber.Ifthelabelpointstotheleftortopborder,theprevious
pagesaretakenintoconsideration.Inthecasethatthenetisonlyavailable
121

6 From Schematic to Finished Board


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).
The XREF option canbeactivated in the parameter toolbar of theLABEL
commandorafterplacingthelabelwithCHANGEXREFON.
Thefollowingplaceholdersfordefiningthelabelformatareallowed:
%F
%N
%S
%C
%R

enablesdrawingaflagborderaroundthelabel
thenameofthenet
thenextsheetnumber
thecolumnonthenextsheet
therowonthenextsheet

The default format string is %F%N/%S.%C%R. Apart from the defined


placeholdersyoucanalsouseanyotherASCIIcharacters.If%Cor%Risused
andthereisnoframeonthatsheet,theywilldisplayaquestionmark'?'.See
alsopage271.

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

122

6.1 Creating the Schematic Diagram


Cross-References for Contacts
In case you are drawing an Electrical Schematic and using, for example,
electromechanical relays,EAGLE candisplay acontactcrossreference. 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.
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

123

6 From Schematic to Finished Board


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.

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.
Theleftcolumn Nr predefinesthenetclassofthenextnetthatisdrawn
withtheNETcommand.Thisselectioncanbemadeintheparametertoolbar
oftheNETcommand,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 returnto the simple view,click the<<button. This is only possible,
however,iftherearenovaluesdefinedinthematrix.Thenetclassescanbe
changedlaterbymeansoftheCHANGEcommand(theClassoption)inthe
SchematicandintheLayoutEditor.
NetclassdefinitioncanbedoneintheLayoutEditor,aswell.

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.

Busmenu
125

6 From Schematic to Finished Board


Theindexofapartialbusnamemayrunfrom0to511.
ThehelpfunctiongivesfurtherinformationabouttheBUScommand.

Pinswap and Gateswap


Pins or Gates that have the same Swaplevel can be exchanged with one
another.Thesepropertiesarespecified eitherwhentheSymbol isdefined
(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, type in the command line INFO IC2A. Alternatively via the
contextmenu,Propertiesentry.

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).TheseDevicesdo not
haveaPackage,sincetheydonotrepresentcomponents.Theyareusedto
representthesupplyvoltagesintheschematicdiagram,asisrequiredbythe
ElectricalRuleCheck(ERC)forthepurposesofitslogicalchecks.

126

6.1 Creating the Schematic Diagram


Various supplyvoltages,suchas0VorGND,whicharetohavethesame
potential (GND, let's say),canbe 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;

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

Define Attributes
Global Attributes
ItispossibletodefineGlobalAttributesinthe Schematic,forexample,for
theauthororaprojectidentificationnumber,thatcanbeplacedanywherein
theschematic,oftenusedinthedocfieldofthedrawingframe.
OpenthedialogthroughtheEdit/GlobalAttributes...menu.Clickthebutton
127

6 From Schematic to Finished Board


NewtodefineanewGlobalAttribute.Itconsistsoftheattribute'snameand
itsvalue.

GlobalAttributes:TheAuthorattributeiscreated
If you want to make a global attribute visible in the schematic, write a
placeholder withtheTEXTcommand.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.Inthiscasetheglobalattribute
willbeshownoneachschematicsheetcontainingthisframe.
GlobalAttributescanbedefinedintheSchematicandLayoutseparately.
MoreinformationonthiscanbefoundintheATTRIBUTEcommand'shelp.

Attributes for Elements


TheATTRIBUTE commandallowsyoutodefineattributesfor Devices. An
attributeconsistsoftheattributenameanditsvaluethatmayprovideany
information.Iftherealreadyexistsanattributethathasbeendefinedinthe
library,youmayalterthevalueintheschematic.

Attributedialog
ClickingtheATTRIBUTE

iconandthenontoaDeviceopensadialog

window.Itliststhepart'sattributesalreadydefinedintheschematicorin
thelibrary.

128

6.1 Creating the Schematic Diagram


TheimageaboveshowstheattributesDISTRIBUTOR,IDNUMBER,andTEMP
forpartR1.Theiconsontherightindicatewheretheattributecomesform:
globallyintheSchematic
globallyintheLayout
intheLibrary'sDeviceEditor
fortheelementintheSchematic
forthePackageintheLayout
Thethreeattributesoftheexampledialogabovecomefromthelibrary.
AttributesthataredefinedintheLayoutEditor arenotshowninthe
SchematicEditor.AnewlydefinedattributeintheSchematicadoptsthe
valueofanalreadyexistingattributeintheLayout.
Defining a New Attribute
ClickontotheNewbuttontodefineanewattributeintheschematic.Inthe
followingdialogyoucandefineName,Value,andtheDisplaymode.

Createandchangeattributes
Inthisimagetheattribute'snameisTOLERANCE,itsvalueis1%.
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
129

6 From Schematic to Finished Board


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 thatindicate the attribute'sstatus. The icons
havethefollowingmeaning:
theyellowiconindicatesthattheattributeinitiallywasdefined
withavariablevalueandthatthevaluehasbeenchanged.
therediconindicatesthatthevalueoftheattributewhichwas
initiallydefinedasconstanthasbeenchangedafteraconfirmation
prompt.
theplainbrowniconindicatesthataglobalattributewas
overwrittenbyapartattribute.Thevalue,however,remained
unchanged.
thebrowniconwiththeunequalsignindicatesthataglobal
attributewasoverwrittenbyapartattributeandthevaluehas
beenchanged.

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

ERC Check and Correct Schematic


Aschematic diagram mustbechecked with theaid ofthe Electrical Rule
Check(ERC),whenthedesignoftheschematicdiagramhasbeencompleted,
ifnotbefore.Itisactuallyagoodideatorunthe(ERC)manytimesduring
130

6.1 Creating the Schematic Diagram


yourdesignprocesstocatcherrorsimmediately.TostarttheElectricalRule
CheckclickontotheERCiconinthecommandmenu

ortheentryErc...

intheToolsmenu.
AlltheerrorsandwarningsarelistedintheERCErrorwindow.Errorsare
markedwitharedicon,warningswithayellowicon.
Inthecaseofacorrespondingboardfile,theERCalsocheckstheconsistency
betweenschematicandboard.Iftherearenodifferences,ERCreportsBoard
andschematicareconsistent.OtherwisetheERCErrorswindow containsa
branchwithConsistencyerrors.Forfurtherinformationonthisseepage193.

TheERCErrorswindow
Itispossibletosorttheerrorsandwarnings,ascendingordescending,by
errortypesorsheetnumbers.clickontothecolumnheaders Type or Sheet
therefore.
IfyouselectanentryintheErrorsor Warningsbranch,alinepointstothe
correspondinglocationintheschematicdiagram.Incaseyouzoomedinto
thedrawing,youcanclicktheoptionCentered.Thecurrentlyselectederroris
showninthemiddleofthedrawingwindownow.
Pleasecheckeacherrorandeverywarning.
Insomesituationsitmaybethecasethatyouwanttotolerateanerrorora
warning.Usethe Approve buttonforthis.Theerror/warningentrywill be
removedfromthe Errors or Warnings branchandappearsinthe Approved
branch.
Ifyouwanttohavethecapabilityofdisplayinganapprovederror/warning
131

6 From Schematic to Finished Board


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
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,for better readability, youcanadd (andalso remove)
sheetswiththehelpofthesheetthumbnails'contextmenu.Clickwiththe
rightmousebuttonontooneofthethumbnailsthatarelocatedontheleft
sideoftheSchematicEditorwindow.
Anewsheetisalwaysaddedasthelastone.

132

6.1 Creating the Schematic Diagram


The schematic sheets can be sorted by dragging and dropping the
thumbnails.Thereforeclickwiththeleftmousebuttononathumbnailand
dragittoitsnewposition.
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 menuinorder toswitchon/offthe sheet
preview.
Whenswitchingbetweenschematicsheets,thecurrentzoomlevelofeach
sheetwillbemaintained.

Points to Note for the Schematic Editor


Superimposed Pins
Pins will be connected if the connection point of an unconnected pin is
placedontotheconnectionpointofanotherpin.Pinswillnotbeconnectedif
youplaceapinthatisalreadyconnectedtoanetlineontoanotherpin.

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.Asusual
thecomponentshavetobearrangedandtheairwiresroutedthen.

133

6 From Schematic to Finished Board

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
list with the original names of the schematic you want to paste, in the
column Old name, and the net names, in the column New name, EAGLE
suggests for this schematic after pasting it into the current drawing. By
clickingonto anentryyoucaninfluencethenetnamesanddecide about
thembyyourself.
Namesofnetsthathavealabelorareconnectedtoasupplypin,willremain
unchangedbydefault.InthePaste...listsuchnetsaremarkedwithiconsthat
wanttotellyouwhat'sthereasonforleavingthisnetnameunchanged.Of
courseyouareallowedtochangesuchanetnameaswell.

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

6.1 Creating the Schematic Diagram


With Consistent Layout
Incaseyouareworkingwithaconsistentpairofschematicandboardfiles,
andyouwanttoimportanotherconsistentschematic/boardpairintoyour
current project via the File/Import/EAGLE drawing... menu, the schematic
will be placed on a new sheet (or several sheets) and the board will be
placedleftofthealreadyexistinglayout.ItcanbemovedwithGROUPand
MOVEafterwards.
Asanalternativetothe File/Import menuandthePASTEcommandwhich
canbeusedinthecommandline,youareallowedtodrag&dropaschematic
oralayoutfromthetreeview'sprojectsbranchoftheControlPanelintoyour
currentlyopenedSchematicorLayoutEditorwindow.

Multi-Channel Devices
Thisfunctionalitycanbeusedtoeasilycreatemultichanneldevices:
Finishtheschematicofonechannelandcreatetheboardofit.Thenarrange
thecomponentsandrouteyourlayout.WhenthisisdoneusePastefrom....
and copy the schematic/layout pair as often as needed into on common
schematic/boardfilepair.
IfyoustartFile/Import/EAGLEdrawing...intheLayoutEditor,thelayoutwill
beattachedtothemousecursorandyoucanplaceitwhereyouwouldlike
tohaveit.Theschematicpartwillbeaddedonanewpageinthecurrent
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
drawn across multiple module pages. The sheets of the modules are
displayed 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.

135

6 From Schematic to Finished Board


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.

Creating a Module
Click ontotheMODULEicon

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;
Each command creates after your confirmation a new module. The
hierarchicalschematicmaycontainanynumberofmodules.
ThepictureshowsanewlycreatedmodulewithnameFILTER.Themodule
sheetisstillempty.Therearenocomponentsandnetsdrawn.
The corresponding module instance has already been placed on the
schematicpageandhasthenameFILTER1.

136

6.2 The Hierarchical Schematic

ModuleInstanceforModuleFilter(yetwithoutportsandcontents)
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.

137

6 From Schematic to Finished Board

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.
Inaddition,youcanseethelistofportsthatconnectsthemodulewithits
environment.
Theorderofthemodulesheetscanbechangedbydrag&dropinthepreview.
Itisalsopossibletomoveaschematicsheetfrommainlevelintoamodule.
Theresultisacorrespondingmodulesheet.
Youcanalsomovesheetsoutofamoduleintomainschematiclevel. But
pleasekeepinmindthatthiscanhaveasignificantimpactonyourdesign
undercertaincircumstances.Ifyouhavealreadystartedtocreatethelayout,
suchanactionmayhaveasignificantimpactonit.
Organizingthesheetsofthemodulecanalsobedoneviathecommandline
usingtheEDITcommand(seehelp).
138

6.2 The Hierarchical Schematic

Define Ports
A Port servesasaninterface for thenetswithinamodule andtheworld
outside.
Atportscanbeconnectedtothemaincircuitdiagramlevelnetworks,the
different module instances or components that are not (ie, on the main
schematiclevel)definedinamodule,connect.
ClickonthePORTicon

andthenclickthemoduleinstancefortheport

to be created. This opens a selection window from which you select the
modulenet,whichshouldbeconnectedviatheporttooutsidethemodule.If
thereisyetnocorrespondingnetpresentinthemodule,youcandefinea
Newname,aswell.Thisnethastobecreatedinthemodulethen!

SelecttheModuleNetforthePort
Click OK.Theportnowisattachedtothemousecursorandcanbemoved
aroundtheborderofthemoduleinstancesymbol.Itcanbeplacedatany
pointthere.Beforeyouplacetheport,choosetheDirectionoftheportinthe
parametertoolbar.
The Direction describes thelogical direction ofsignal flow. There arethe
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.Theconnection
pointoftheportisdisplayedthesamewayasforpinsofcomponentsinlayer
93,Pins.

139

6 From Schematic to Finished Board

ModuleInstancewithPorts;ontheright:PropertiesDialog
Aportcanevenhaveasimple busname,forexamplePA[0..7]. Thenets
PA0...PA7willbeexportedthroughthisbusport.

Using Module Instances


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

ModuleSelection
Placethemoduleinstanceintheschematic.
Amoduleinstancecanbemovedasawhole,forexample,withMOVE.
Do you want to move only one port to another location or change the
Directionoftheport,however,selecttheMOVEorINFO,holddowntheCtrl
keyandclickontheport.
Currentlyitisnotpossibleto changethenameofaport.Pleasedeletethe
portfirstandplaceanewonewithanewnameinstead.
140

6.2 The Hierarchical Schematic


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 andPowersupply1),theresultingcomponentnamesontheboard
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.
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.
141

6 From Schematic to Finished Board


Thereisnodirectswitchingbetweenassemblyvariantsinamodule,butthe
element'svalue,populatestateandattributesintheboardaresetfollowing
thechosenvariantinthecorrespondingmoduleinstance.
Ifusedonschematicmainlevel,theVARIANTcommandworksfortheparts
onmainlevelasitisinnonhierarchicalschematics.
Theassemblyvariantdefinitionsarenowkeptonlyintheschematic.
For standaloneboards,assemblyvariantsarenolongersupported,butit's
possibletosetthepopulateoptionofelementswiththeCHANGEcommand
orinthepropertiesdialog.

Special Features between Schematic and Layout


SHOW command
Showexecutedonamoduleinstancedisplaysallassociatedcomponentsand
signalsinthelayoutgeneratedbythismoduleinstance.
ClickonacomponentinamoduleandEAGLEshowsallcomponentsinthe
boardthataregeneratedbythemultipleuseofamodulethereareseveral
moduleinstancesthatrepresentthesamemoduleintheschematic.

Consistency
To avoid inconsistencies between schematic and board regarding
components and nets and the corresponding signals in the hierarchical
design,somecommandscannotbeexecutedintheLayoutEditor.
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.
142

6.3 Considerations Prior to Creating a Board


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
Youwill saveyourself timeandmoneyif youtakethesestipulationsinto
accountingoodtime.Youwillfindmoredetailsonthisinthesectiononthe
PreparingofManufacturingData(Chapter9).

Specifying the Design Rules


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

143

6 From Schematic to Finished Board

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 drufileofthe
DesignRules branchof thetreeview intheControl PanelintotheLayout
EditorwindoworclicktheLoad..buttonintheFiletaboftheDesignRules
window.
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

144

6.3 Considerations Prior to Creating a Board


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
structureofthe board,theappropriatecombinationofcoresandprepregs
andtheresultingfacilitiesforviascanbedefined.

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


Basicexamples:
1layer:
16

Onlylayer16,novias.

4layers,viasthroughalllayers:
(1*2+3*16)
Twocoresareaffiliatedwitheachother.
6layers,viasthroughalllayers:
(1*2+3*4+5*16)
Three cores are affiliated with each
other.
ThefieldsforCopperandIsolationareusedtodefinethethicknessofcopper
andisolationlayers.Thesesettingsareonlyrelevantforcomplexmultilayer
boardsthatuseBlindorMicrovias.
ThecommandsDISPLAY,LAYER,WIRE,andROUTEworkonlywiththose
signallayersdefinedintheLayerSetup.
FurtherinformationandexamplesabouttheLayersetupcanbefoundinthe
sectionMultilayerBoardsbeginningwithpage172.
LoadingaboardfilethatwasmadewithanolderversioncausesEAGLE
tocheckwhichsignallayerscontainwires.Theselayersappearinthe
layersetup.Pleaseadjustitifnecessary.

Minimum Clearance and Distance


Clearance referstotheminimumdistancesbetweentracks,pads,SMDsand
vias of different signals, and between SMDs, pads and vias of the same
signal.
SettingthevaluesforSamesignalchecksto0,disablestherespectivecheck.
Distance allows settings to be made for the minimum distances between
objectsinlayer20,Dimension,inwhichtheboardoutlineisusuallydrawn,
andbetweenholes.
Settingthevaluefor Copper/Dimension to 0 switches off theminimum
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,thevaluesforClearance andforthe
drilldiameterofvias(Drill),definedbymeansoftheCLASScommand,are
takenintoconsideration,providedthesevaluesarehigherthanthosegiven
intheDesignRules(ClearanceandMinimumDrillintheSizestab).

Sizes
Theminimumvaluesfortrack widthandfor holediameterallowedinthe
layoutareselectedhere.
146

6.3 Considerations Prior to Creating a Board


If additionally netclasses aredefined andvaluesfor 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
thatremainsaroundahole after apad or via hasbeen drilled. Different
selectionscanbemadeforthewidthoftheremainingringintheinnerand
outerlayers.PadsmayalsodifferbetweentheTopandBottomlayers.
Usually the value is expressed as a percentage of the hole diameter.
Minimumandmaximumvaluescanadditionallybespecified.
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
recommended tosetthelayercolor for layers17, Pads,and18, Vias,the
same as the background color (black or white). In this case you can
recognizetherealsizeandshapeofthepad/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:

147

6 From Schematic to Finished Board

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.Itis
alsopossibletospecifyamaximumvalue.
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
Ifyoulike todefinearestringwithafixed width,usethesamevaluefor
minimumandmaximum.Thevalueinpercenthasnoeffectinthiscase.
Diametercheckbox:
Incaseyoudefinedadiameterforapadinthelibraryorforaviainthe
Layout Editor, and you want to have this given diameter taken into
considerationfortheinnerlayers,activatetheDiameteroption.Thiscanbe
ofinterestifapredefinedpadorviadiameterexceedsthevaluecalculated
bytheDesignRules.Otherwisethepador viaintheinnerlayerswouldbe
smaller thanintheouter layers. If youwantpads/vias to havethesame
diameterinalllayers,settheoptionDiameter.
Theoptionissetoff,bydefault,fornewcreatedboards,butwillbesetonfor
boardsthatareupdatedfromversion3.5orpriorbecauseintheseversions
padsandviashadthesamediameterinalllayers.Thustheupdateprocess
doesnotchangetheoriginallayout.
AllthevaluescanalsobegiveninMillimetres(forexample0.2mm).

Shapes
SMDs:
A roundingfactor canbe specified here for SMDpads. The value can be
between0%(norounding)and100%(maximumrounding).
AsquareSMDhasbeenplacedinsteadofanoblongoneonthefarrightof
the diagram. After assigning the property Roundness = 100 %, the SMD
becomesround.

149

6 From Schematic to Finished Board

Roundness:0102550100[%].Right:100%,square
Pads:
Thisiswheretheformofthepadsisspecified.Itispossibletogivedifferent
settingsforthetopandbottomlayers.
The As in library option adopts the form defined in the Package Editor.
ClickingonApplyshowsthechangeimmediatelyintheLayoutEditor.
PadsandViaswithininnerlayersarealwaysround,nomatterwhatthey
areinToporBottomlayer.Thediameterisdeterminedbytherestring
settings.
Provided a pad was given the First flag in the library one can specify a
certainshapeforallthosepadsinthelayout.
ElongationdefinestheaspectratiooflengthtowidthofLongandOffsetpads
(seeimage).Thevalueisgiveninpercent.Click withthemouseintothe
field Long or Offset and the image on the left shows the corresponding
calculationrule.
100%isequivalenttoanaspectratioof2:1.0%resultsinanormaloctagon
padwithanaspectratioof1:1.Themaximumis200%(ratio4:1).

DesignRules:Adjustingpadshapes

150

6.3 Considerations Prior to Creating a Board


NotesonthedisplayintheLayoutEditor:
If padsor viashavedifferentshapesondifferentlayers,theshapesofthe
currentlyvisible(activatedwithDISPLAY)signallayersaredisplayedontop
ofeachother.
Ifthecolorselectedforlayer17,Pads,or18,Vias,is0(whichrepresentsthe
currentbackgroundcolor),thepadsandviasaredisplayedinthecolorand
fillstyleoftheirrespectivelayers.Ifnosignallayerisvisible,padsandvias
arenotdisplayed.
Ifthecolor selectedfor layer17, Pads,or18, Vias,is not thebackground
color andnosignal layers are visible, pads and viasaredisplayed in the
shapeofthetopandbottomlayer.
ThisalsoappliestoprintoutsmadewithPRINT.

Supply
SpecifiesthesettingsforThermalsymbols.
Thevaluefor Thermalisolation determinesthedistancebetweenapolygon
andtherestringofthepadorviathatisjoinedtothepolygonthrougha
Thermalsymbol.
The Generate thermals for vias flag permits Thermal symbols at through
holes.Otherwiseviasarefullyconnectedtothecopperplane.Thisapplies
also for polygons.Butyoucandisable thisoption for individual polygons
with CHANGE THERMALS OFF and a mouse click onto the polygon's
contour.
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,inthecaseofSMDsandpadsoftheform Long
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
thePackagedefinition forbidsEAGLEtogenerateasolder stopmaskora
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 notcheck them againsteach other. Restricted areasthatare
realizedbycutoutpolygonsarenotcheckedbyDRC!
SettingtheDesignRulesiscapturedbytheUNDO/REDOfunction.

6.4 Create Board


Afteryouhavecreatedtheschematic,clicktheBoardicon.
Anemptyboardisgenerated,nexttothecomponentsthataretobeplaced,
joined together by airwires. Supply pins are connected by those signals
which correspond to their name,unlessanothernetisexplicitly joined to
them.
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.

153

6 From Schematic to Finished Board


The board is linked to the schematic by the Forward&Back Annotation
engine provided that both files are always loaded. If both loaded during
editingtheyareguaranteedtoremainconsistent.Alterationsmadeinone
fileareautomaticallycarriedoutintheother.
Ifyoualreadygeneratedaboardfromyourschematicandcontinueplacing
componentsintheschematic,thereferringpackagesintheboardareplaced
inthecurrentgridsettingoftheLayoutEditor.
If,forexample,theSchematicisloadedandeditedwithouttheLayout,
consistencycanbelost.TheForward&BackAnnotationEnginenolonger
functions.Differencesmustthenberectifiedmanuallywiththeaidofthe
errormessagesprovidedbytheERC(seepage193).
IfyouwouldliketoseeadescriptivetextforyourboardfileintheControl
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,andthesectiononSpecifyingNetClassesonpage124.Thesetwo
pointsapplytotheLayoutEditoraswellastotheSchematicEditor.
YouarealsoallowedtodefineattributesintheLayoutEditor.Pleaseread
thechapteraboutdefiningAttributesbeginningwithpage127.
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 draw roundoutlines,too. ThereforeusetheCIRCLE
commandwithasmallwidthnear0.
Youcanalsoplaceaboardcontourfromalibrary(suchas19inch.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,
155

6 From Schematic to Finished Board


MOVE R14
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.
Inorder toplaceacomponentinanyangleyoumayspecify the rotation
directly with the ADD command or later with ROTATE or MOVE in the
parametertoolbar.

ParametertoolbarforROTATE,MOVE,ADD,COPY
NexttotheAngleboxarethebuttonsfortheSpinandMirrorflag.
ThelefthandSpiniconisselected

,ifthespinflagisnotset(default).

Thismeansthattextsaredisplayedalwaysreadablefromtherightorfrom
thebottomsideofthedrawing.
IfthespinflagisactivaetherighthandSpinnedicon

ismarkedthe

textscanbedisplayedinanyrotation,alsoupsidedown.
The Mirror iconsused withcomponentsdeterminewhereacomponentis
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.
Inboardsthatcontainahugenumberofsignalsitmaybeusefultohide
someoftheairwiresordisplayonlyafewofthem.Ifyouwanttohide,for
example,thesignalsVCCandGND,typeinthecommandline
RATSNEST ! VCC GND
ifwanttoseethemallagain,type:
RATSNEST *
MoreinformationaboutthiscanbefoundintheEAGLEhelpsection.
The position of particular Devices can be displayed by typing the Device
nameontothecommandlineorbyclickingdirectlyonanobjectwhilethe
SHOWcommandisactive.
INFO showsdetailed information abouttheselected object. Dependingon
theobjectyouclickedon,someofitspropertiescanbealteredinthedialog.
TheLOCKcommandallowsyoutofixcomponentsontheboard.Theycan't
bemovedanymorethen.Shift+LOCKreleasesthecomponentagain.LOCK
canbeusedwithgroupsaswell.
Ifthetextforthenameorthevalueislocated awkwardly, separatethem
fromtheDevicewithSMASHandmovethemtowhateverpositionyouprefer
withMOVE.AtthesametimeEAGLEshowsalinefromthetext'soriginto
thebelongingobject.ClickingwithDELETEoneitherofthetextsmakesit
invisible.
ActivatetheSMASHcommand,holddownthe Shiftkey,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
attributesfor a component the Schematic, aswell as in the board file. If
Back&ForwardAnnotationisactive,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.
Global attributes are not valid for single components but for the whole
board.TheycanbedefinedinBoardandSchematicseparately.
You will find more information about this in the Creating the Schematic
chapteronpage127.

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,thenyoucanuseeither thePACKAGEorthe
REPLACEcommand,dependingonthesituation.

PACKAGE Command
Itisassumedthatthelayoutandtheschematicdiagramare consistentand
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
technologies available for this Device are displayed. If this option is not
activeyouwillonlyseePackagesthataredefinedintheselectedtechnology.
ThePackagecanalsobeexchangedfromwithintheschematicdiagram.
Devicesthatdon'thavealternativePackagevariantsdefined,canbemodified
intheLibraryEditor. Add furtherPackagevariantsasneeded andupdate
yourdrawingwith thenewlibrary definition. Seepage 253 Choosing the
PackageVariantsforfurtherinformation.
IfyouchangethePackagevariantofaDevicewhichyougaveanewvalue
withthehelp of theVALUE command,althoughithasbeendefined with
VALUEOff,thevaluewillremainunchanged.Seealsopage82.
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.ThewellknownADDdialogwindow openswhereyoucanselect
the new part. Now click onto the partyou wantto have replaced in the
Schematicor Layout.Theold andnew Devicemustbecompatible,which
meansthattheirusedGatesandconnectedpins/padsmustmatch,eitherby
theirnamesortheircoordinates.Otherwisethesubstitutionisnotpossible.
Layout without Schematic
Ifyouhavealayoutwithoutanassociatedschematicdiagram,youexchange
thePackage with theaid of theREPLACE command. REPLACE opensthe
windowthatisfamiliarfromtheADDdialog,inwhichitispossibletosearch
forDevices.WhenthePackagehasbeenchosenyouclickonthepartthatis
tobereplacedinthelayout.
TheREPLACEcommandoperatesintheLayoutEditorintwoways,chosen
withtheSETcommand:
SETREPLACE_SAMENAMES;(default)
SETREPLACE_SAMECOORDS;
ThefirstmodepermitsPackageswhosepadorSMDnamesareidenticalto
beexchanged.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
connected to signals must exist correspondingly in the new Package. The
newPackagecanevenhavefewerconnections,providedthatthiscondition
issatisfied.

Changing the Technology


ItispossibletochangethetechnologyofaDeviceinthelayoutatanytime,
provided there are various technologies defined in the library. Use the
CHANGEcommandwiththeTechnologyoptionorthe Technologycommand
ofthecontextmenu(availablebyclickingontothePackagewiththeright
mousebutton).This procedureisidentical totheonedescribed 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.
Thesignal'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,atafartherposition
onawirethatbelongstothesamesignal),presstheCtrlkeyandandclick
theleftmousebuttonatthepositionwherethewireshouldbegin.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.
FormorecomplexboardsitmaybeusefultoadjusttheSnapLengthinthe
Options/Set/Miscmenuasdescribedonpage111.
UseRIPUPifyouwanttoconvertthewholeorpartofatrackoraviathat
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.
Holdingdownthe Shift keywhileclickingtherightmousebuttonreverses
thedirectionofselection.
Holding down the Ctrl key allows totoggle between complementarywire
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,if youwanttouseanotherbendmodeyoucanalwayschoseit
fromtheparametertoolbar.
ItisalsopossibletoleavethetracklayingtotheAutorouterwhichhasits
ownchapterinthismanual.
LayingtrackswiththeFollowmerouterisexplainedinasubsectionof
theAutorouterchapter.

Defining a Copper Plane with POLYGON


EAGLEcanfillregionsofaboardwithcopper.Simplydrawthebordersof
theareawiththePOLYGONcommand.Thepolygonisdisplayedasadotted
lineintheoutlinemode.Yougivethepolygonasignalname,usingNAME
followedbyaclickontotheborderofthepolygon.Thenalltheobjectsthat
carrythissignalareconnected tothepolygon.Bothpadsand,optionally,
vias(asspecifiedintheDesignRules)arejoinedtothecopperplanethrough
Thermalsymbols.Elementsnotcarryingthissignalarekeptataspecified
distance.
RATSNEST calculates anddisplays thesurface areaofall polygonsinthe
layout.IfyoucallRATSNESTwithasignalname,forexample
RATSNEST GND ;
163

6 From Schematic to Finished Board


onlytheGNDpolygon(s)willbecalculated.Allotherpolygonsinthelayout
willremainunchangedintheoutlinemode.
RIPUP, followed by a click on the polygon border, makes the content
invisibleagain.Ifthereareseveralpolygonsinyourlayout,andyouwantto
havethemdisplayedintheoutlinemodeagain,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.Apolygonwithrank=1hasthehighestpriority 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, or are completely connected to the copper plane. This also
appliestovias,assumingthattheoptionhasbeenactivatedintheDesign
Rules.
Thewidthofthethermalconnectorsiscalculatedasthehalfofthepad'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,
165

6 From Schematic to Finished Board


andtheRATSNESTcommandisaborted.
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.SeethesectiononSpecifyingtheDesignRulesfrom
page 143.To starttheDesignRuleCheck click ontotheDRCiconinthe
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
starttheerrorcheckandifyouwanttoleavetheDRCdialogviathe Cancel
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
thecaseof aclearanceerror,abouthowmuchthelimit isexceeded. 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


abletocenteranerrorinthemiddle ofthedrawingareabypressingthe
Enterkey.
Whilecorrectingtheerrorontheboard,theDRCErrorswindowmayremain
opened.AftercorrectingoneerroryoucanmarkitasProcessedintheerror
listbyclickingontotheProcessedbutton.Therederroriconturnsgraynow.
Insomesituationsitmaybethecasethatyouwanttotolerateanerror.Use
theApprovebuttonforthis.TheerrorentrywillberemovedfromtheErrors
branchandappearintheApprovedbranchandtheerrorpolygonisnolonger
shownintheLayoutEditor.
Ifyouwanttotreatanalreadyapprovederrorasaquitenormalerror,select
itintheApprovedbranch,andclickontotheDisapprovebutton.Nowitisa
memberoftheErrorsbranchagain.
ClickingtheClearallbuttondoesnotdeleteapprovederrors.Theyremainin
theApprovedbranch.
Movinganentry from onebranch into theother,markstheboard file as
changedandnotsaved.
Insomecasesitmightbeusefultoapproveallerrorsthatareshown.Todo
so,selectthesuperiorErrorsentryintheerrorslist.NowtheApprovebutton
willbenamedApproveall.Clickitinordertohaveallerrorsmovedintothe
Approvedlist.Thisisalsofeasibletheotherwayroundfordisapprovingall
errors.

Error Messages and their Meaning


Angle:
Tracksarenotlaid inanangleof0,45,90or135. Thischeckcanbe
switchedonoroffintheDesignRules(Misctab).
Default:off.
BlindViaRatio:
Thelimitoftheratioofvialength(depth)todrilldiameterisexceeded.In
thiscaseyouhavetoadjustthevia'sdrill diameter(DesignRules, Sizes
tab)orthelayerthicknessofyourboard(DesignRules,Layerstab).
Clearance:
Clearance violation between copper objects. The settings of the Design
Rules' Clearance tabandthevaluefor Clearance ofagivennetclassare
takenintoconsideration.Ofthesetwovaluesthehigheroneistakenfor
checking.
InadditiontheIsolatevaluewillbetakenintoconsiderationforpolygons
withthesamerankandpolygonswhicharedefinedasapartofaPackage.
Todeactivatetheclearancecheckbetweenobjectsthatbelongtothesame
signal,usethevalue0forSamesignalsintheClearancetab.
Micro Vias are treated like wires. The clearance valuefor 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:
Distanceviolation betweenholes. Definedbythevalue Drill/Hole inthe
DesignRules(Distancetab).
DrillSize:
Drilldiameterviolationinpads,vias,andholes.Thisvalueisdefinedin
theDesignRules'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.Thischeckisexecutedonlyiflayers39
and40aredisplayedandifthekeepoutareasarealreadydefinedinthe
PackageEditorofthelibrary.
LayerAbuse:
Layer17, Pads,or 18, 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 thetexts,at least in the signal layers,oughtto bewrittenin
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 fontin 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, oravialiesinarestricted
areawhichisdefinedinlayer41or42,t/bRestrict.
IfrestrictedareasandcopperobjectsaredefinedinacommonPackage,
theDRCdoesnotcheckthem!
StopMask:
Iftherearesilkscreenobjectsdrawninlayers21,25,27forcomponentson
theTop layer,and22,26,and28for componentsontheBottomlayer
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.Definedby MinimumWidth
intheDesignRules(Sizestab)or,ifdefined,bythetrackparameterWidth
ofareferringnetclass.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, Supply tab).Thewidthof
theconnectingbridgedependsonthelinethicknesswithwhichthepolygon
isdrawn(seepage165).Youcanalsospecifywhetherornotviasaretobe
connectedthroughThermals.Theminimumclearancesfromobjectscarrying
other signals specified intheDesign Rulesaremaintained (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,
definesanareawhich issubtracted from all other signalpolygonsinthis
layer.Acutoutpolygonmaybedrawwithanywirewidth,even0.Compared
tosignalpolygonsacutoutpolygondoesnotcausehugedatawhencreating
manufacturingdata.
Signalpolygonsrespectthewirewidthofthecutoutpolygon.Thedottedline
ofthecontourisalwaysvisible,howeverdoesnotoccurinthemanufacturing
data.

Multilayer Boards with Through Vias


Thistypeshouldbepreferredifpossible. Viasgothroughallsignallayers
andwillbedrilledattheendoftheproductionprocess.Theproductioncosts
arerelativelymoderate.

Layer Setup
Thesettingsconcerninglayercompositionandnumberofsignallayersare
madeintheDesignRules,Layerstab,Setup.Seepage145.
Forthroughviasthesetupisverysimple.Noconsiderationsaboutthickness
ofcopperandisolationlayersarenecessary.
Simply join two layersbyanasterisk (like 1*2 or 3*16)toonecore and
combine several cores. This is symbolized by a plus character (like in
1*2+3*4).Theisolationlayerbetweentwocopperlayersiscalledprepreg.
To express the possibility to have vias through all layers the whole
expressionissetintoparenthesis.
Examples:
4layers:

(1*2+3*16)

6layers:

(1*2+3*4+5*16)

8layers:

(1*2+3*4+5*6+7*16)

173

6 From Schematic to Finished Board


Hereviasalwayshavethelength116.Theyarereachablefromalllayers
(seealsothehelpfunctionforVIA).

Multilayer with Blind and Buried Vias


Inhighdensity boards it is often necessary to useBlind andBuried vias.
Thesekindsofviasdon'tconnectalllayers,butareonlyreachablefroma
certainnumberoflayers.Howtheselayersareconnected dependsonthe
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)
bypressingfurthercoresandprepregsonthecurrentlayerstack.Iftheviais
notvisibleonthecompletedboardwecallitaburiedvia.
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
be connected with each other. Blind vias have to follow a given ratio of
depthtodrilldiameter.Pleasecontactyourboardhousetogetinformation
aboutthis. Thisratio hastobedefined inthe Sizes tabas Min.BlindVia
Ratio.
174

6.6 Multilayer Boards


Thisisrepresentedbybracketsandthetargetlayermarkedbyacolonbefore
orafterthebracket.Theexample[3:1+2+3*14+15+16]allowsBlindvias
fromlayer1to3.
Blindviasmaybeshorterthandefined.Inthisexampleyouareallowedto
useviasfrom layer 1to2. TheAutorouter is also allowed touseshorter
Blindvias.
MicroVia:
ThemicroviaisaspecialcaseofaBlindvia.Ithasamaximumdepthofone
layerandaverysmalldrilldiameter.Seepage181.

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

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

6 From Schematic to Finished Board

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

176

6.6 Multilayer Boards


[2:(1+2*3+16):3]
Insquarebracketsandseparatedbyacolonblindviasaredefined.
Herefromlayer1to2and16to3.

Example2:LayerSetupfora4layerBoard

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

177

6 From Schematic to Finished Board

Example3:LayerSetupfora6layerBoard
The values for layer thickness for copper and isolation used in these
examples are fictive. Please contact your board house to get the allowed
values.
Example4:
Layers1,2,3,4,5,and16areused.
Boardstructure:Onecore,oneachsidetwoprepregs.
Connections:34(buriedvias),24(blindviasininnerlayerstack),
116(throughvias)
Setupexpression:
(1+[4:2+(3*4)+5]+16)
Explanation:
2+(3*4)+5
Thecorewithburiedvias.Oneprepregoneachside.
[4:2+(3*4)+5]
Blindviasfromlayer2to4.
1+[4:2+(3*4)+5]+16
Onthislayerstackaprepregoneachsideispressedon.
(1+[4:2+(3*4)+5]+16)
Parenthesisallowthroughviasfrom1to16.

178

6.6 Multilayer Boards

Example4:BlindViasintheinnerlayerstack

8-Layer Board
Example5:
Layers1,2,3,4,5,6,7,and16areused.
Boardstructure:Threecores,prepregsoutside.
Connections:13,616(blindvias),23,45,67(buriedvias),
116(throughvias).
Setupexpression:
[3:(1+(2*3)+(4*5)+(6*7)+16):6]
Explanation:
(2*3)+(4*5)+(6*7)
Threecores,eachwithburiedvias,arepressedtogetherand
isolatedwithprepregs.
1+(2*3)+(4*5)+(6*7)+16
Outercopperlayers1and16whichareisolatedthroughprepregs
arepressedontothislayerstack.
(1+(2*3)+(4*5)+(6*7)+16)
Parenthesisallowthroughviasfrom116.
[3:(1+(2*3)+(4*5)+(6*7)+16):6]
Blindviasfrom13and166.

179

6 From Schematic to Finished Board

Example5:LayerSetupforan8layerboard

Hints For Working With Blind, Buried, and Micro Vias


VIA command
DependingontheLayersetupviascanhavedifferentlengths.Theparameter
toolbar oftheVIA commandshowsall available lengthsinthe Layer box.
When routing manually (ROUTE command) EAGLE takes the shortest
possiblevialengthinordertochangelayers.Itisalsopossiblethatviasat
thesamepositionareelongated.
ThevialengthcanbechangedwiththeCHANGEVIAcommand.Selectthe
valuefromtheaccordingmenuandclicktheviawiththeleftmousebutton.
Alternativelyusethecommandline:
CHANGE VIA 2-7
andaclickontotheviachangesthelengthfromlayer2to7.
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
merouterispoweredbythe Autorouterengineandthereforeithasto
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 amicro via is relatively small. Presently theusualvaluesare
about0.1to0.05mm.
FormanufacturingreasonsMicrovias,asBlindvias,havetofollowacertain
Aspectratio ofdepthtodrilldiameter.Thisratiodefinesthemaximumvia
depthforacertaindrilldiameter.
Thepropervaluecanbelearnedfromyourboardhouse.
SetthisvalueintheDesignRules,Sizestab,Min.BlindViaRatio.
Assumedtheboardhousedemandstheratioas1:0.5youhavetoenter 0.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
will be asked whether all the older definitions of this type should be
updated.
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
183

6 From Schematic to Finished Board


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

DifferentialPairfollowsthemousecursor
The first mouse click with the active ROUTE command onto one of the
airwires of the differential pair decides about the starting point of the
parallelrouting.UsuallythepadsorSMDstheairwiresstartfromdon'thave
thenecessarydistanceforparallelrouting,soEAGLEdrawstracesfromthe
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 anarcradius don'twork in Differential Pair
mode.Whenyoustartroutingatanypointofasignal(withCtrl+leftclick)
184

6.8 Differential Pairs And Meanders


youwillroutetheselectedsignalonly,andnottheDifferentialPairthesignal
mightbepartof.
CoordinatesgiveninthecommandlinewhileroutingaDifferentialPairform
acenterlinealongwhichtheactualsignalwiresareplacedleftandright
withtheproperdistance.

Meanders
Length Balance for a Differential Pair
In most cases the traces of a differential pair will have different lengths
althoughyoutriedtoroutetheminparallel. The MEANDER commandcan
beusedtobalancethelengthsofsignalsformingadifferentialpair.Todo
this,activatetheMEANDERcommand,clickontooneofthedifferentialpair
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 segmentsthatform 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
185

6 From Schematic to Finished Board


wires of a differential pair shall not be elongated you can switch to
asymmetric mode by clicking the right mouse button. The actual mouse
positionwilldecidewhichsideofthewirethemeanderextendsto.Movethe
mousearoundtofindtheproperposition.
ThevalueforGapfactorformeandersindifferentialpairswhichcanbesetin
theDesignRules'Misctab,determinesthesizeofthegapbetweenmeander's
loops. Increasingthe valueresultsin bigger gapsbetween the loops. The
factormayhavevaluesfrom1upto20.Default:2.5

Length Tolerance Display


Thevaluedefined inDesignRules, Misc tabfor Max.lengthdifference in
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


Ifyouclick onasignalwirewiththe Ctrl key pressed,thelengthofthat
signal segment will be measured and displayed on the screen in a little
indicatornearthemousecursor.Youcanusethistomeasurethelengthofa
givensignal segmentandit as thetargetlength for meanderinganother
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
assemblyvariantofferstheopportunitytohavecomponentsnotpopulated
ontheboardortousecomponentswithdifferentvaluesorwithdifferent
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.
ClickontotheNewbuttoninordertodefineanassemblyvariant.Itwillbe
shownintheAssemblyvariantswindowthen.Itsnameisvisibleinthetitle
bar.Belowyoufindthreecolumns:Acheckbox,value,andtechnology.
Ifthecheckboxischecked,thecomponentwillbepopulated.Ifyouwantit
notto bepopulated, uncheck it. If notpopulated, thecomponentwill be
crossed outintheschematicdrawing.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 definingassembly 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 seelcted
assemblyvariant.Ifyouuse bom.ulp forcreatingthebillofmaterials,you
canchoosethevariantintheULP'sdialog.Unpopulatedcomponentswillnot
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


Schematic diagrams, boards and also library elements can be printed out
withthePRINTcommand.
UsingDISPLAYyoushouldfirstselectthelayersthatyouwanttoprint.
Thebasicruleis:Ifyoucanseeitintheeditor,youwillseeitonthe
print.
Exceptionstotheruleaboveare:
Origincrossesfortexts
Gridlinesorgriddots
Polygonsthatcan'tbecalculated by RATSNEST andtherefore 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.
IntheScalesectionofthewindowtheScalefactorspecifiesthescaleofthe
drawing.Itmaybeintherangeof0.001and1000.
If Pagelimit issetto0,theprinterwill usewhatevernumberofpagesis
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,andaScalefactor
thatwouldrequestmorethanonepageforprintingtogetamaximumfilling
ofthepage.
Itispossible toselectwhichsheetsfromaschematicdiagramareprinted
using the Sheets box. This only appears in the Schematic Editor. This
selectionalsodetermineswhichsheetisshowninthepreview.
Ifyouactivatetheoption Hierarchy,allthemodulesheetsforeachmodule
instanceusedintheschematicwillbeprintedwiththecorrespondingpart
names,netnamesandassemblyvariants.
Theedgesoftheprintcanbedefinedwiththeaidofthefourentryboxes
under Border.Thevaluesmaybeenteredinmmorininches.Ifyouhave
changed the valuesandwantto usetheprinter 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,selecttheNoDrillsoptionfortheDisplaymodebywayofthemenu
itemOptions/Set/Misc.
GeneratingPDFandPostscriptfiles
Ifyouwanttogeneratea PDFfile(resolution1200dpi)ora Postscript file
fromyourdrawing,clickontothesmallselectionbuttoninthe Printer line
andchoosetheoptionPrinttofile(PDF)orPrinttofile(Postscript).Gotothe
Outputfile line then and specify path and name of the PDF or Postscript
outputfile.
AlltextsthatarenotwritteninEAGLEvectorfontaresearchableinthePDF
filebymeansofyourPDFviewer.
VisibilityandSequenceofPrintedLayers
EAGLEprintsitslayersinacertainsequence,oneovertheother.Ifyouare
using,forexample,selfdefinedlayersthatarehiddenbyotherlayersinthe
printout,youcanuseaSETcommandoptionSETOption.LayerSequence
forbringingthemintotheforeground,oringeneral,fordefiningthelayer
printingsequence.ThisaffectsprintingintoaPDForPostscriptfile,aswell.
191

6 From Schematic to Finished Board


DetailsaboutthiscanbefoundinthehelpfunctionoftheSETcommand,
Help/Editorcommands/SET.
ThePRINTcommandcanalsobegivendirectlyonthecommandline,orcan
berunbyascriptfile.Informationabouttheselectionofoptionsisavailable
onthehelppagesforPRINT.
ForallthosewhohaveexperienceswithEAGLEversionsbefore4.0:
EAGLEcomeswithanUserLanguageProgramnamedcam2print.ulpthat
convertsyourpreviousEAGLE3.5xCAMjobsintoscriptfilesinorderto
usethemwiththePRINTcommand.
AnotherUserLanguageProgram cam2dxf.ulp allowstouseaprevious
CAMjobforgeneratingDXFdata.

6.11 Combining Small Circuit Boards on a


Common Panel
Inorder tosavecosts,itmaybeworthsupplying,for example,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.

192

6.11 Combining Small Circuit Boards on a Common Panel


PleasemakesurethatthenewboardhasthesamesetofDesignRules
astheoriginalboardfilehas.ItispossibletoexportDesignRulesinto
afile(*.dru)andthenimportitintoanotherboardfile(Edit/Design
rulesmenu,Filetab).
Savethenewboardfile.
Tellyourboardhousethattheyhavetouselayers125/126insteadof
25/26.

6.12 Consistency Lost between Schematic


and Layout
Itisveryimportantduringthedesignthatthecontentoftheschematicand
thelayoutexactlycorrespondtoallowfor design congruency.Eagleusesa
Forward&Back annotationtoperformthistask.Generalinformationabout
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.
Incaseyoucloseoneof thetwoeditor windowsEAGLEpromptsaneye
catchingyellow andblackwarningontopofthedrawingareawhichtells
youthatForward&BackAnnotationhasbeensevered.Pleasereloadthefile
again.

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

193

6 From Schematic to Finished Board

ConsistencylossbetweenSchematicandLayout
StarttheElectricalRuleCheck(ERC)immediately.Itcomparesbothfilesand
reportsdifferencesintheERCErrorswindow'sConsistencyErrorsbranch.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 inorder tohaveconsitency
betweenschematicandlayoutandtheForward&BackAnnotationworking.
Inthefollowinglisttherearementionedthemostimportantitems:

Eachcomponentintheschematichastohaveacorresponding
packageinthelayoutandviceversa.Exceptionsaresupply
symbols,elementswithoutcontacts,andcomponentswithan
attributewiththename_EXTERNAL_(forexampleforsimulation
symbols).
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,andusetheREPLACE
command.

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(provided enough
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,therequiredamountoftime
isnotalwaysavailable,andthereforecertainboardswillnotbecompleted
evenbya100%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
uses a gridless algorithm with topological approach. This algorithm
calculatesfirstthecourseofthesignalsandthenusestheoptimizationruns
ofthetraditionalEAGLEAutoroutertomeettheDesignRules.Typically,the
TopRouter requires significantly fewer vias than the traditional EAGLE
Autorouter.Theuserhastheoptiontoselectbothmethodsforaprojectand
eventuallyoptforoneortheotherroutingresult.
Those who expect anAutorouter to supply aperfect board withoutsome
manualhelp will bedisappointed. Theusermustcontributehisideasand
investsomeenergy.Ifhedoes,theAutorouterwillbeavaluabletoolwhich
willgreatlyreduceroutinework.
Working with the EAGLE Autorouter requires that the user places the
components and sets control parameters which influence the routing
strategy.Theseparametersmustbesetcarefullyifthebestresultsaretobe
achieved.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.
Thenetclasses if anyaredefinedspecify special minimumclearances,
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
routingandoptimizationfollowsinorder totrimallthetracestocomply
withthedesignrules.

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.Oncetherouting
jobhasbeencompletedallthetracksareconsideredtohavebeenprerouted,
andmaynolongerbechanged.
Any of the steps mentioned above may be separately activated or
deactivated.

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
parametersinthesectiononSpecifyingtheDesignRulesonpage143.

Track Width and Net Classes


Ifyouhavenotalreadydefinedvariousnetclassesintheschematicdiagram
younowhavetheopportunity,beforerunningtheAutorouter,ofspecifying
whetherparticularsignalsaretobelaidusingspecialtrackwidths,particular
clearancesaretobeobserved,orwhethercertaindrilldiametersaretobe
used for viasfor particular signals. Please consult the help pages (CLASS
command) or the section on Specifying Net Classes on page 124 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,itisnotagood
ideatoplacethecomponentsonagridthatistoofine.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 manytracks 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
simple throughhole layouts. Working with SMD components demands a
finerroutinggrid.
Usualvaluesare25,12.5,10,or5mil.
Please remember that finer routing grids require significantly more
routingmemory.
Withtheautomaticgridselectionoption,theautorouterdeterminesatits
ownheuristicssuitablegridsettingsforeachroutingjobs.

Memory Requirement
Theamountofroutingmemoryrequireddependsinthefirstplaceonthe
selectedroutinggrid,theareaoftheboardandthenumberofsignallayers
inwhichtracksarerouted.
Thestaticmemoryrequirement(inbytes)foraboardcanbecalculatedas
follows:
number of grid points x number of signal layers x 2
Spaceisalsorequired fordynamicdata,in addition tothestatic memory
requirement.Thedynamicdatarequireinaveryroughestimateabout10%
upto100%(insomecasesevenmore!)of thestaticvalue.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,
202

7.4 What Has to be Defined Before Autorouting


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

Preferred Directions
Foreachroutingjobyoucanspecifyindividuallyforeachsignallayeritsown
preferred direction. With thenew Auto settingtheAutorouterwill 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
Anareadrawninlayer 20canalso beusedasarestricted regionfor all
signals.Itshould,however,benotedthatthisareashouldbedeletedbefore
sendingtheboardformanufacture,sincelayer20isusuallyoutputduring
thegenerationofmanufacturingdata.
Cutoutpolygonswhichareused,forexample,ininnerlayersinordertokeep
certainareasof signalpolygonsfreeof copper,arenotrecognized 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.Itmaybeusefultoreducethenumberofthreads
inordernottooccupyallprocessorcoreswiththeEAGLEAutorouter.
YoumayusetheLoad...andSaveas....buttonstoloadadifferentparameter
setfromanAutoroutercontrolfile(*.ctl)ortosavethecurrentsettingsfor
furtherprojects.
Selectthisbyclickingthecorrespondingsignallines.
Clicking onto the Select button allows certain signals to be selected for
autorouting. Select thesewith a mouseclick ontotherespective airwires.
Thenclickonthetrafficlighticonintheactiontoolbarinordertoopenthe
secondpartoftheAutoroutersetup;theroutingvariantsdialog.Thereyou
cancheck theconfiguration of theroutingjobs andchangesomesettings
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.
Thecalculation of theindividual routingvariants(routingjobs)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
Maximum canbesetindividuallyforeachpass(Busses,Route,Optimize1
4).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
Route andthe Optimize passescanbeconfigured separately. Themenuis
splitintothreesections,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
meansthat thecosts for therouteusingthe two 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. A low value means that such sections are allowed while a high
valuetries to avoid them.Incombination withtheparameter mnExtdStep
youcancontrolthelengthofthesetracks.IfmnExtdStep=0,eachgridstep
at 45 degrees to the preferred direction causes costs that are defined in
parameter cfExtdStep.Choosingforexample mnExtdStep =5allowsatrack
torunfivestepsat45degreeswithoutanyadditionalcosts.Eachfurtherstep
causescostsdefinedincfExtdStep.
Inthisway,90degreebendscanbegiven45degreecorners.Settingslike
cfExtdStep =99and mnExtdStep =0should avoid tracks with 45degree
angles.
Thisparameterisonlyrelevanttolayerswhichhaveapreferreddirection.
Recommendation:usealowervaluefortheroutingpass,andahighervalue
fortheoptimization.

cfBonusStep, cfMalusStep: 1..3


Strengthensthedifferentiation between 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),thebadonesperpendiculartoit.
Thismeansthattrackswhichruninthepreferreddirectionareroutedaway
fromthepad/SMD.Withhighvaluesthetrackwillrunasfaraspossiblein
thepreferred direction,butif thevalueis low it mayleavethepreferred
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
starttheAutorouter,it won'tbetakenintoconsideration atall. 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
As a rule, high parameter values allow for many ripups but result in
increasedcomputingtimes.
Tounderstandthemeaningoftheparametersyouneedtoknowhowthe
routerworks.
Tobeginwiththetracksareroutedoneaftertheotheruntilnootherpath
canbefound.Assoonasthissituationoccurs,therouterremovesuptothe
maximumnumberofalreadyroutedtracks(thisnumberhasbeendefined
with mnRipupLevel)toroutethenewtrack.Ifthereareeighttracksinthe
way,forexample,itcanonlyroutethenewtrackifmnRipupLevelisatleast
eight.
Afterroutingthenewtrack,theroutertriestorerouteallthetrackswhich
wereremoved.Itmayhappenthatanewripupsequencemustbestartedto
rerouteoneof thesetracks. Therouteristhentworipupsequencesaway
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
Itis possibletocreatesupplylayerswithpolygonsthatcontainmorethan
onesupplyvoltage,andindividualwiresaswell.Pleasenotetheinstructions
onpage172,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
file name_xx.jobalwayscontainsthelaststatusofthejobs,wherexxstands
forthenumberofthevariant,alwaysbeginningwith00.
Ifthejobisinterruptedforanyreason(powerfailureetc.)thecomputertime
investedsofarisnotlost,sinceyoucanrecallthestatussavedinname.job.
LoadyourboardfileintheLayoutEditor,andthenenter:
AUTO;
Answer the prompt as to whether the Autorouter should recall (Continue
existingjob?)with Yes.TheAutorouterwillthencontinuefromtheposition
atwhichthejobwaslastsaved(amaximumof10minutesmaybelost).
If the autorouting is interrupted via the stop icon, the files name_xx.job
remainintactandcanberecalled.Thismaybeusefulwhenyouhavestarted
acomplex jobonaslowcomputerandwanttocontinuewithitonafast
computerassoonasoneisavailable.
Pleasenotethatchangingtheparametersbeforerecallingwillnotinfluence
thejob,sinceitwill havebeensavedtogetherwiththeparameterswhich
werevalidatthetimeoftheinitialAutorouterstart.
WhentheAutorouterhasfinished,theroutedboardissavedas name.b$$.
Youcanrenameitto name.brd anduseit,forinstance,ifapowerfailure
occurredaftertheautoroutingrunandyoucould notsavetheboardfile.
Thisfileisdeletedautomaticallyaftertheboardhasbeensaved.

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)removed
inordertobeabletoroutenewsignals.
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
Time per pass: 00.00.21 00.08.44 00.06.32
Number of Ripups:
0
32
0
max. Level:
0
1
0
max. Total:
0
31
0
Routed:
16
238
238
Vias:
0
338
178
Resolution:
6.7 % 100.0 %
100.0 %
Final: 100.0 % finished

Optimize2
00.06.15
0
0
0
238
140
100.0 %

Optimize3
00.06.01
0
0
0
238
134
100.0 %

Optimize4
00.05.55
0
0
0
238
128
100.0 %

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.All theotherroutingvariantsand
theirresultswillbediscarded.

215

7 The Autorouter

Autorouter:Evaluatingtheroutingresults

7.12 Parameters of a Control File


We see here how the individual parameters in anAutorouter 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,overaperiod oftime,
beenfoundusefulwhenworkingwiththeAutorouter.
Lookontheseexamplesassignpostssuggestingwaysinwhichaboardcan
berouted.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
result with special parameter settings. Please take a look at the project
named singlesided, which can be found in the eagle/projects/examples
directory.Thisexampleprojectcomeswithvariouscontrolfiles(*. ctl),which
areoptimizedforsinglesidedrouting.
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

Short tracks

2..8

StarttheAutorouter,usingthe Select button,andchoosethesignalstobe


routed.Aftertheroutingpassitispossible,ifappropriate,tooptimizethe
resultmanually.
The rest of the connections are routed after this. Use AUTO to open the
Autorouter setup menu, and load the previous stored control parameters
withtheLoad..button(standard.ctl).Adjustthevaluestoanyspecialwishes
youmayhave,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 anairwire,EAGLE calculates anappropriate traceand
displaystheconnection.Moveingthemousecursorwillchangethecurrent
trace.Traceprocessingdependsonthecomplexityofthelayoutandmaylast
somemoments.Itisrecommendednottomovethemousecursoruntilthe
connectionisdisplayed.
If you select wire bend mode 8
, the socalled partial mode, EAGLE
calculatesthetraceoftheselectedsignal,beginningwiththemousecursor
positiontothenearerendoftheairwire,anddisplayit.Fixtheresultwitha
mouse click. The remaining part of the airwire will be calculated
dynamically.Thismeans,thattheairwiremaypointtoanotherobjectthat
belongstothesignal,dependingonthecurrentmousecursorposition.
Withwirebendmode9
,thefullmode,theFollowmeroutercalculates
thetraceinbothdirectionssimultaneously.Acompleteconnectionwill be
estblished. As soon as you are clicking onto an airwire, EAGLE begins to
calculatethetraceoftheconnectionfromthenearerendoftheairwiretothe
currentmouseposition.Itisnotmandatorythatthefarerendoftheairwire
points always to its original position. Depending on the mouse cursor
positionthisendpointmaydirectyoutoanother(nearer)location.
If it is not possible to draw a connection from the current mouse cursor
position,thecursorturnsintoasmallprohibitionsign.Movethemouseand
trytofindapossiblewayfortheconnection.Maybeitissufficienttochange
thelayeratthecurrentposition.Itcould alsobeadviceable toadjustthe
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.PleasebesurethattheLayer
setupintheLayerstabisproperlyset.
ThecurrentgridsettingintheLayouteditorservesasroutinggrid.Usethe
GRIDcommandinordertochangeit.Ifthereisalreadyasignalassignedto
mousecursor,dropit,andselectitagain.Otherwisethegridchangedoes
notaffecttheconnection.
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/Miscmenuisset,theFollowmerouteradaptsthegivenvalues
forwirewidthandviadrilldiameterfromtheDesignRulesandfromthenet
classesassoonasanairwireisselected.

Routing Parameters
ParametersthataffecttheroutingstrategyaresetbyclickingontotheAUTO
icon
,whichisavailableintheparametertoolbarafterenteringoneof
thefollowmemodes.ClickthisiconinordertoopentheknownAutorouter
Setupwindow.
Alternativelyyoucanopenthissetupwindowfromthecommandline.Type:
AUTO FOLLOWME

Followmerouter:Settingroutingparameters
Theeffectsoftheseparametersareexplainedinsection7.6,beginningwith
page208.
IntheMaximumsection,youcandefinethenumberofViastheroutermay
useforoneconnection.Ifthisvalueissetto0,theFollowmerouterisnot
allowedtosetviasautomatically.However,youareabletomanuallyseta
viabychangingthelayer.
The valuefor Segments definesthemaximum number of wiresegmentsa
connectionmayconsistof.Ifyouchooseittoosmall,itmayhappenthatno
connectionwillbeestablished.

Notes
TheFollowmeroutersupportsroundandoctagonviashapesonly.Square
shapedviasarenotpossible.

220

7.14 The Follow-me Router


If you are working in Full mode, the Followme router works in both
directions independently,beginningwith themousecursor position. So it
could happen that the router places two vias very close to or even
overlappingeachothernearthecurrentpositionofthemousecursor.Inthis
casemovethemousecursor slightly,untiltheviasareoptimized andthe
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
weshall discussthespecial featureswhich havetobetakenintoaccount
withmorecomplicatedcomponents.
Startingatpage280hintsconcerninglibraryandDevicemanagementcanbe
found. How to create my own library? How to copy elements from one
libraryintoanother?
First attempts at editing Packages, Symbols, or Devices may result in the
need to delete various library elements. To do this, use the REMOVE
command(seepage283).

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 paddiameter is auto (respectively 0).This valueshould 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 usingtheMIRRORcommand. This movestheobjects inall 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 this valueis setto 0%(norounding).This valueis
usuallykept,sincethefinalroundnessof SMDsis specified intheDesign
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.
Taketheinformationprovidedinlibrary.txtasaguidelineforthedesignof
components. The line thickness for the silk screen is usually 0.008 inch
(0.2032mm),forsmallercomponents0.004inch(0.1016mm).
Layer51,tDocu,isnotusedtoprintontotheboarditself,butisasupplement
to the graphical presentation which might be used for printed
documentation.Caremustbetakeninlayer21,tPlace,nottocoveranyareas
thataretobesoldered.Amorerealisticappearancecanbegiven,however,
inthetDoculayer,whichisnotsubjecttothislimitation.Intheexampleof
the resistor, the Symbol can be drawn in layer 21, tPlace, but the wires,
whichgooverthepads,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 (inlayer 27, tValues) in those places wherein 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,thevaluecorrespondstowhatwilllaterbe
theDevicename(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,youclick onthe Description box. Text canthenbeenteredinthe
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 ADDdialog 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,andclickonthedrawingsurfacewiththe right
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),withaclock symbol(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
brightly if theyareconnected. If apinwithlength0isused,or ifitwas
drawnasalinewiththeWIREcommand,itcannotbedisplayedbrightly.
Visible
Thenextfouriconsintheparametertoolbarspecifywhetherthepinsareto
be labeled with pin names, pad names, both or neither. The diagram
illustratesanexampleinwhichpinnamesareshowninsideandpadnames
outside.Thelocationofthelabelrelativetothepinisfixed.Thetextheight
isalsofixed(at60mil).

Pinlabeling
Ifyouplanforyourdevicetoconnectonepinwithseveralpadsandyou
choosetheVisibleoptionBoth,thentherewillbeonlyoneofthepadnames
visibleintheschematic(thepadwiththelowestnumber).Thepadname
will be followed by an asterisk (*) in order to mark the multipad
connection.
Direction
TheDirectionparameterspecifiesthelogicaldirectionofthesignalflow:
NC
In
Out
IO
OC
Hiz
Pas
Pwr
Sup

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

229

8 Component Design Explained through Examples


TheElectricalRuleCheckexecutes,dependingonthepindirection,various
checks.Itexpectsforthedirection
NC
In
Out
OC
Pwr
IO,Hiz,Pas

anotconnectedpin
anetconnectedtothispinandnotonlyInpins
connectedtothisnet
notonlyOutpinsconnectedtothenet,noSuporOC
pinatthesamenet
noOutpinatthesamenet
aSuppinsetforthisnet
nospecialchecks

ThePwrandSupdirectionsareusedfortheautomaticconnectionofsupply
voltages(seepage261).
Swaplevel
Swaplevelsetto0meansthatthepincannotbeexchangedforanotherpinin
thesameGate.Anynumberbiggerthan0meansthatpinscanbeexchanged
forotherpinswhichhavethesameSwaplevel andaredefinedwithinthe
sameSymbol.Thepinscanbeswappedintheschematicorintheboardwith
thePINSWAPcommand.
ThetwopinsofaresistorcanhavethesameSwaplevel(e.g.1),sincethey
areinterchangeable.
Ifthelayer93, Pins,isbeingdisplayed,the connectionpointsonnetsare
shownwithgreencircles.TheDirectionandSwaplevelparametersmoreover
(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.

230

8.1 Definition of a Simple Resistor


Description
Clickontothe Descriptionlinkinordertoprovideadescriptivetextforthe
symbol. Youareallowed to useHTMLtagsforformattedtext.Moreinfo
aboutthiscanbefoundinthehelpfunction,HTMLtext.

TheSymbolEditor

Resistor Device
Define a New Device
CreatethenewDeviceR10withthisicon.WhenyoulaterusetheADD
commandtofetchthecomponentintotheschematic,youwill selectitby
usingthisname.Itisonlyacoincidencethatinthiscasethenameofthe
PackageandthenameoftheDevicearethesame.
Soenter the name R on the New line. The Device Editor opensafter 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.
231

8 Component Design Explained through Examples


SetanAddlevelofNextandaSwaplevelof0intheparametertoolbar,and
thenplace theGateneartheorigin. Therearefurtherexplanationsabout
Addlevelfrompage267on.
TheSwaplevelofaGatebehavesverymuchliketheSwaplevelofapin.The
valueof0meansthattheGatecannotbeexchangedforanotherGateinthe
Device.Avaluegreaterthan0meansthattheGatecanbeswappedwithin
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 commandyouspecify which pinsaretaken towhich
packagepads.
232

8.1 Definition of a Simple Resistor

TheCONNECTwindow
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
ConnectioncolumnandclickDisconnect.
Clickingonacolumn'sheaderbarchangesthesortingsequence.
FinishtheCONNECTcommandbyclickingonOK.

Define Prefix
ThePREFIXcommandisusedtospecifyaprefixforaname.Thenameitself
willinitiallybeautomaticallyallocatedintheschematic.Foraresistorthis
would,naturallyenough,be R.Theresistorswillthenbeidentified asR1,
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.Itisalsopossibletomarkalibraryas inUse
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 pinsare not initially visible in the schematic diagram, butcan 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 toselectthelibraryyouwant,or youwould
click on the Libraries entry in theControl Panel'stree view,selecting the
desired library with a click of the right mouse button. This will open a
contextmenu,oneofwhoseoptionsisOpen.TheLibraryEditorisopened.

Drawing the Pin-Leaded Package


ThecomponentismanufacturedinapinleadedPackage.ThisisaDIL14
housingwithapinspacingof2.54mm(0.1inch)andawidthof7.62mm
(0.3inch).
IfthereisasuitablePackageinanotherlibrary,itcanbecopied intothe
currentlibrary.Anewdefinitionwouldnotbenecessary.

DIL14datasheet
Clickontothe Editapackage iconintheactiontoolbar,andenterthe
nameofthePackageintheNewboxoftheEditmenu,whichisDIL14inour
present example. Click OK, and confirm the question Create new package
'DIL14'?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,andplacethesolderpadsinaccordancewith
thespecificationsonthedatasheet.Thepadsshouldbearrangedinsucha
waythatthecoordinateoriginislocatedsomewherenearthecenterofthe
Package.
Eachpadcanhaveindividualpropertiessuchas Shape, Diameter,and Drill
hole diameter. Available shapes are: Square, Round, Octagon, Long, and
Offset(Longwithoffsetdrill).
Selectthedesiredpadshapeandspecifytheholediameter.
The pad diameter usually is defined with the standard value auto
(respectively0),sincethesizeisfinallydeterminedinthelayoutbymeansof
the Design Rules, Restring tab. The pad appears in the library with the
defaultvalueof55mil.
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
select the property and the appropriate value. Then click onto the pads
whosepropertiesaretobealtered.CHANGEcanalsobeappliedtogroups
(using the GROUP command). After the property has been selected, click
insidethegroupwiththerightmousebutton.
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,option First,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 STOPOFFpreventsautomatic solder stop maskgenerationfora
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. All padnamesaredisplayed 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,usetheGRIDcommand
to set a finer grid or use the Alt key for the alternative grid (see GRID
command). Thestandardwidth(CHANGEWIDTH)forlinesinthescreen
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,asthe placeholder for thevalue,and place this at 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 componentusingtheRECT commandor draw aframearoundthe


PackagewithWIRE.ThisallowstheDRCtocheckwhethercomponentson
yourboardaretoocloseorevenoverlapping.

Description
ClickonDescriptioninthedescriptionbox.Awindowopensinwhoselower
part it is possible to enter text, while the formatted appearance of the
descriptionisdisplayedintheupperpart(Headline).Thetextcanbeentered
inHTMLformat.EAGLEworkswithasubsetofHTMLtagsthatallowthe
texttobeformatted.Youwillfinddetailedinformationinthehelpsystem
underHTMLText.
ThedescriptivetextforourDIL14mightlooklikethis:
<b>DIL-14</b>
<p>
14-Pin Dual Inline Plastic Package, Standard Width 300
mil
Itisalsopossibletoadd,forinstance,thereferencedatabook,
the email address of the source or other information here. The search
facilityintheLayoutEditor'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.
Click againontothe Editapackage icon,andenterthenameofthe
PackageintheNewboxintheeditmenu.ThePackageistobecalledLCC
20. Click OK and confirm the question Create new package 'LCC20'? by
answeringYes.

Set the Grid


Adjust thegrid to 0.635 mm (0.025 inch),andlet thegrid 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
page273.
Beginbyplacing5SMDsatadistanceof1,27mmfromeachotherintwo
horizontalrowsclosetothecoordinateorigin.Sincethe value0.8x2.0is
notcontainedintheSMDmenu,thismustbeenteredas0.82.0,eitheron
thecommandlineorintheSMDboxontheparametertoolbar.
ClickthereforeontotheSMDicon,andtype
0.8 2
inthecommandline. Createtwovertical rowsaswell. TheSMDscanbe
rotatedin90degreeincrementswiththerightmousebutton.

PlacingtheSMDs
The Roundness parameter (CHANGE command) specifies whether curves
shouldbegiventothecornersofthesolderpads.Thedefaultvalueis0%,
whichmeansthatthereisnorounding.
Seealsothesectiononpage149.
IfasquareSMDisselected,andifRoundnessisdefinedas100%,theresult
isaroundSMD,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.4isnotcontainedin
themenuasstandard,type
change smd 0.8 3.4
ontothecommandline,thenclicktheSMD.DragitwithMOVEsothatitis
locatedatthecorrectposition.
TheINFOcommandisfirstchoiceforcheckingthepositionsandproperties
ofthesolderpadsandmodifyingthem,ifneeded.
WhenaSMDisplaced(intheToplayer),symbolsforsolderstopandsolder
cream are automatically created in layer 29, tStop,and layer 31, tCream,
respectively.
Ifthecomponentinthelayoutismirroredontothebottomside,theseare
changedto thelayerswiththecorrespondingfunctions,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.
Ifyouhavetodesign alargerarea,for exampleacooling plate,that
exceedsthelimitsoftheSMDcommand,youcandrawaPOLYGONthat
coversmoreorlesstheSMD.Pleasekeepinmind,thatyouhavetoadjust
the masks for solder stop and cream frame in the layer tStop and
tCream,too.TheDRCwillreportanoverlaperroratthisposition,which
youcanapprove.

SMD Names
IfnonamesarevisibleintheSMDpads,clicktheOptions/Set/Miscmenuand
activatetheDisplaypadnamesoption.
Alternativelyyoucantypethefollowingontothecommandline:
set pad_names on

244

8.2 Defining a Complex Device


UsetheNAMEcommandtoadjustthenamestomatchthespecifications
ofthedatasheet.
ItisalternativelypossibletoassignnamesastheSMDsarebeingplaced,if
thecomponenthasalargenumberofpadswithsequentialnumbers.Select
theSMDcommand,typeinthenameofthefirstSMD,e.g.'1',andplacethe
padsinthecorrectsequence.Thesinglequotemarksmustbeenteredonthe
commandline.
SeealsothesectiononNamesandAutomaticNamingonpage99.
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
inlayer 27, tValues,astheplaceholder for thevalue,and place this at a
suitablelocation.Thetextscanbeseparatedandrelocatedatalaterstage
usingSMASHandMOVE.
Werecommendtowritethesetextsinvectorfont.Soyoucanbesurethat
itlooks exactly thesame on theprinted boardas it is in the Layout
Editor.

245

8 Component Design Explained through Examples


Area Forbidden to Components

Inlayer39,tKeepout,youshouldcreateaforbiddenareaoverthe

wholecomponent(RECTcommand)or draw aframearoundthePackage


withtheWIREcommand.ThisallowstheDRCtocheckwhethercomponents
onyourboardaretooclose,orevenoverlapping.

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
Pleasedonotforgettosavethelibraryfromtimetotime!

246

8.2 Defining a Complex Device

ThefullydefinedLCC20

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

Defining the Logic Symbol for the Schematic


Diagram
OurDevicecontainsfourORgates,eachhavingtwoinputsandoneoutput.
WefirstcreateanORsymbol.

247

8 Component Design Explained through Examples

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,
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 whentheexample of theresistor symbol wasexamined (seep.
227).
ThecoordinateoriginshouldbesomewherenearthecenteroftheSymbol,
and,ifpossible,notdirectlyunderapinconnectionpoint.Thismakesiteasy
toselectobjectsintheschematicdiagram.

248

8.2 Defining a Complex Device


Pin Name
YouassignpinnameswiththeNAMEcommand.InourSymbolthetwo
inputpinsarenamedAandB,andtheoutputpinisnamedY.
Pinscarryinginvertedsignals(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
move the texts again in the schematic diagram after using SMASH to
separate it. The Symbol should now have the appearance shown in the
followingdiagram.

Description
Clickontothe Descriptionlinkinordertoprovideadescriptivetextforthe
symbol. Youareallowed to useHTMLtagsforformattedtext.Moreinfo
aboutthiscanbefoundinthehelpfunction,HTMLtext.

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

249

8 Component Design Explained through Examples

TheSymbolEditor:Logicsymbol(Americanrepresentation)

Defining a Power Supply Symbol


Twopinsareneeded forthesupplyvoltage. Thesearekeptinaseparate
Symbol,sincetheywillnotinitiallybevisibleintheschematicdiagram.
ClickontotheEditasymbolicon.EnteranamefortheSymbolonthe
newline,suchasVCCGND,andclick OK.Confirmthequestion Createnew
symbol'VCCGND'?withYes.

Check the Grid


Firstcheckthatthegridissettothedefaultvalueof0.1inch.Onlyever
usethisgridwhenplacingpins!

Place the Pins


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

8.2 Defining a Complex Device


Pin Name
YouusetheNAMEcommandtogivethetwopinsthenamesofthe
signalsthattheyaretocarry.Inthiscase,theseareGNDandVCC.
For reasons of appearance, the pin property Visible is set to Pad in the
Symbolshownbelow,andthepinlabelhasbeenplacedonlayer95,Names,
usingTEXT.

Placeholders for NAME and VALUE


Forthecomponentlabelling,usetheTEXTcommandintheschematic
diagramtowrite
>NAME

TheSymbolEditor:Supplysymbol
inlayer95, Names.Placethetextatasuitablelocation.Noplaceholder is
necessaryforvaluehere.

Associating the Packages and Symbols to Form a


Device Set
Wenowcometothefinalstep,thedefinitionoftheDeviceset.ADeviceset
isanassociationofSymbolsandPackagevariantstoformrealcomponents
ADevicesetconsistsofseveralDevices,whichusethesameSymbolsforthe
schematicbutdifferenttechnologiesorPackagevariants.
251

8 Component Design Explained through Examples


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.
Itisneverthelesshelpfultoassignindividual Gatenameswhencomponents
arecomposedofanumberofGates.TodistinguishtheindividualORgates,
youusetheNAMEcommandtoaltertheGatenames.AssignthenamesA,B,
CandD,andnamethepowersupplygateP.

252

8.2 Defining a Complex Device


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.
This means that as soon as the first OR gate has been placed on the
schematicdiagram,thenextoneisattachedtothemousecursor.All4gates
can be placed one after another. The power gate does not automatically
appear.Youcan,however,fetchitintotheschematicdiagramifnecessary,
bymakinguseoftheINVOKEcommand.
TheparameterADDLEVELisdescribedinfulldetailinthesectionentitled
MoreAbouttheAddlevelParameteronpage267.
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.
Supposed you don't find the appropriate Package variant in the current
library you may use Packages from another library. Use the PACKAGE
commandtocopythePackageintothecurrentvariantandtodefineanew

253

8 Component Design Explained through Examples


variant.
Example:
PACKAGE DIL14@d:\eagle\lbr\ref-packages.lbr

ThiscommandcopiesthePackagenamed DIL14 fromrefpackages.lbr into


thecurrentlibrary.SimultaneouslythevariantJisgeneratedfortheDevice.
Seealsopage275.

The Connect Command

Thepinassignmentforthe
packages
Thismustbethemostimportantstep inthelibrarydefinition. CONNECT
assigns each pin to one ore more pads. The way in which nets in the
schematicdiagramareconvertedintosignallinesinthelayoutisdefined
here.Eachnetatapincreatesasignallineatapad.Thepinassignmentfor
the541032isspecifiedinthedatasheet.Checktheconnectsinthelibrary
withcare.Errorsthatmaypassunnoticedherecanmakethelayoutuseless.
Selectthe J versionfromthePackagelistandclick theCONNECTbutton.
Theconnectwindowopens.

254

8.2 Defining a Complex Device

CONNECTdialog
Thelistofpinsisontheleft,andthepadsareinthecenter.Clickontoapin
entry,andselecttheassociatedpad.Bothentriesarenowmarked.Youjoin
themwiththeconnectbutton.Thispair nowappearsontheright,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.
Thereis nowagreentick to therightof both Packagevariants,andthis
indicatesthatconnection iscomplete. Thisis onlytruewheneverypinis
connectedtoapad.
Itisnotpossibletoconnectseveralpinswithacommonpad!
A Device may contain more pads than pins, but not the other way
around!
PinswithdirectionNC(notconnected)mustbeconnectedtoapad,as
well!
Inthesection 8.4beginningwithpage 260isexplainedhowtousethe
Append buttonoftheConnectdialoginordertoconnectonepinwith
morethanonepad.

255

8 Component Design Explained through Examples


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.
Then click onto Technologies in the description box. The technologies
windowopens.DefinethetechnologyintheNewline,andconfirmtheentry
with OK.Whentheentryhasbeencompleted,the AS and ALS entriesare
activatedwithatick.

TechnologiesforpackagevariantJ
ClosethewindowbyclickingOKagain.
SelecttheFKversionfromthePackagelist.Clickonto Technologies inthe
description box again.Youwill nowseethatASandALSareavailableas
selectionsinthetechnologieswindow.Activatebothofthesebyclickinginto
thesmallboxtotheleft,sothatatickisdisplayed.Finishthedefinitionby
clickingOK.
ThetechnologiesavailablefortheselectedPackageversionarenowlistedin
thedescriptionareaoftheDeviceEditor.

Specifying the Prefix


Theprefix of theDevice nameis defined simply byclicking onthe 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
256

8.2 Defining a Complex Device


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!

257

8 Component Design Explained through Examples

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 andwhich havethe samename areautomatically
wiredtogether(evenwhennonetlineisshownexplicitly).Whetherthepins
arevisible intheschematicdiagramor arefetched bymeansofahidden
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 containingthesupply connectionsis defined. This canbe
demonstratedwiththeexampleofa7400TTLcomponent:
You first define a NAND gate with the name 7400, and the following
propertiesintheSymbolEditor:

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

258

8.3 Supply Voltages

Powergate
ThetwopinsarecalledGNDandVCC.TheyaredefinedwithdirectionPwr,
Swaplevel0,functionNone,andvisiblePad.
Nowcreatethe7400DeviceintheDeviceEditor:
SpecifythePackagewithPACKAGE(whichmustalreadybepresentinthe
library)andusePREFIXtospecifythenameprefixasIC.
UsetheADDcommandtoplacethe7400Symbolfourtimes,withAddlevel
beingsettoNextandSwaplevelto1.ThenlabeltheGatesasA,B,CandD
withtheNAMEcommand.
The Addlevel of Next means that as these Gates are placed into the
schematic,theywill beusedinthatsequence,i.e.,thesequenceinwhich
theywerefetchedintotheDevice.
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.
SousetheCONNECT command to define thehousingpads to which the
supplypinsareconnected.

Pins with the Same Names


If youwanttodefine componentshavingseveral power pinsof thesame
name,let'ssupposethatthreepinsarealltobecalledGND,thenproceedas
follows:
setpindirectionPwrforeachpowerpin
259

8 Component Design Explained through Examples


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

8.4 One Pin Multiple Pads Connections


You are allowed to connect one pin with several pads belonging to a
commonsignal.ThiscanbedonewiththehelpoftheAppendbuttoninthe
connectdialogwindow.
Firstmarkonepinandonepadintheconnectdialogasusualandclickonto
theConnectbutton.Thepin/padconnectionnowappearsintheConnection
column.
Inordertoaddafurtherpadtothisconnectionfirstmarktheconnection,
thenselectthepadinthe Pad column,andclick ontothe Append button.
Repeatthisforfurtherpads,ifnecessary.Thenamesofthepadsappended
nowaredisplayedintheConnectioncolumn.
EAGLEknowstwodifferentwaysofcreatingmultiplepadconnections:
As soon as you establish a multiple pad connection, a special icon is
displayed in the Connections column,located between Pin and Pad list. It
informsyouaboutthemode:AllorAny.
All:Allpadsmustbeconnectedwithtraces.IntheLayouteditoryou
willseeallpadsconnectedwithairwiresyouhavetoroute.
Any:Onlyoneofthepadswillbeconnectedbyanairwireandhasto
berouted.Intheroutingprocessitisuptoyouwhichpadyou
wanttoconnectwithatrace.Inthismodeinternalconnections
ofadevicecanberealized.

Connect:OnepinisconnectedtothreepadsinAnymode
Furtherinformationcanbefoundinthehelp,EditorCommands/CONNECT.

260

8.5 Supply Symbols

8.5 Supply Symbols


Supplysymbols,suchasmightbeusedintheschematicforgroundorVCC,
aredefinedasDeviceswithoutaPackage.Theyareneededfortheautomatic
wiringofsupplynets(seepage126).
Thefollowingdiagramshowsa GNDsymbol asitisdefinedinoneofthe
suppliedEAGLElibraries.
Notethatwhendefiningyourownsupplysymbols,thepinandtheDevice
nameneedtoagree.
Thepinisdefinedwithdirection supandhasthenameGND.Thisspecifies
that the Device containing this Symbol is responsible for the automatic
wiringoftheGNDsignal.Thetextvariableforthevalue(>VALUE)ischosen
forthelabeling.TheDevicealsoreceivesthenameGND.ThusthelabelGND
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

261

8 Component Design Explained through Examples


TheSupplysymbolhasnoPackageassigned!
Ashasbeenexplainedabove,theDevicereceivesthenameofthepinthatis
usedintheSymbol.ThecorrespondingDeviceisdefinedwithAddlevelNext.
IfyousetValueto off youcanbesurethatthelabelingisnotaccidentally
changed.Ontheotherhand,youhavemoreflexibilitywithValuesettoon.
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 attributesfor thePackagevariant N,which isthe DIL14
Package.ThereforeclickontoentryDIL14(VariantN)inthePackageliston
therighthandsideoftheDeviceEditorwindow.NowclicktheATTRIBUTE
command icon

in the menu bar or onto the text Attributes in the

description windowbelow therepresentationoftheDevice.Thefollowing


Attributewindowwillappear.
ThisdialoginitiallyshowstheTechnologiesavailableforthePackagevariant
N.ClickingtheNewbuttonopenstheNewAttributewindow.Pleaseenter,for
example,Heightfortheattribute'snameand0.16infortheattribute'svalue.
Thelinebelowdetermineswhetheritisallowedtomodifythevalueofthe
262

8.6 Attributes

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.

263

8 Component Design Explained through Examples

TheDistributorfieldforLSisselected
ClickontotheChangebuttonnow.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.
ThereforeclickagaintheNewbuttonintheAttributesdialogandmakethe
followingsettings:
Name:RemarksValue:,variableTechnologies:all
ClickOK.Theattributeswindowlookslikethisnow:

AlltheAttributesfor74*05,VariantN

264

8.6 Attributes
Attributeswithafixedvaluearecoloredgrayinthetable.
ThedefinitionofattributesforthePackagevariantNisfinishednow.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,itwould bringalongitsattributesandtheir values.The
attributes are not visible in the drawing and can be check with the
ATTRIBUTEScommand.
InformationabouthowtodisplayattributesinSchematicorLayoutcanbe
foundonpage129inthismanual.

Placeholders in Symbol and Package


Alreadyinthelibraryyoumaydefinewhetheranattributewillbedisplayed
together with the Device in the Schematic or the Package in the Layout.
Simply write aplaceholder text in theSymbol or Package with theTEXT
command.Suchaplaceholdertextbeginswiththe>character,asitiswith
>nameand>value.Forourexampleattributeswedefinedabove,youhave
towrite:
>Distributor
>Height
>Remarks
PlacethistextatasuitablelocationintheSymbol or PackageEditor and
selectaproperlayerforeachtext.Itdoesn'tmatterifyouwriteitwithupper
orlowercaseletters.
Assoonasyouaddapartwithpredefinedattributeplaceholdertextsand
set a value for an attribute in Schematic and Board respectively, the
attribute'svaluewillbedisplayedattheplaceholdertext'slocation.
These texts can be separated from the Device/Package with the SMASH
command.Fromthenonthe Display propertyofthe Attribute dialogtakes
effect.ThepossibleoptionsareOff,Value,Name,orBoth.
Seepage129fordetailsaboutdisplayoptionsofattributes.

265

8 Component Design Explained through Examples

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.
For markingthedevice asanexternaldevice createan attributewiththe
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

266

8.8 Labeling of Schematic Symbols


Inthefirstcaseallthesymbolsarelabeledwith>NAME.Inthesecondcase,
thesymbolofthefirstgateislabeled with>PARTand>GATE,theother
threewith>GATEonly.

8.9 More about the Addlevel Parameter


TheAddleveloftheGatesthathavebeenfetcheddeterminesthemannerin
whichtheseGatesarefetchedintotheschematic,andunderwhatconditions
itcanbedeletedfromtheschematic.

Summary
Next:ForallGatesthatshouldbefetchedinsequence(e.g.theNANDGates
ofa7400).ThisisalsoagoodoptionforDeviceswithasingleGate.The
ADDcommandfirsttakesunused NextGatesfromcomponentswhichexist
onthecurrentsheetbefore"opening"anewcomponent.
Must: For Gates which must be present if some other Gate from the
component is present. Typical example: the coil of a relay. MustGates
cannotbedeletedbeforealltheotherGatesfromthatcomponenthavebeen
deleted.
Can:ForGateswhichareonlyusedasrequired.Inarelaythecontactsmay
bedefinedwithAddlevel Can.Insuchacasetheindividualcontactscanbe
specificallyfetchedwithINVOKE,andcanlaterbedeletedwithDELETE.
Always:ForGateswhichasageneralrulewillbeusedintheschematicas
soonasthecomponentisusedatall.Example:contactsfromamulticontact
relay,of which afew areoccasionally left unused. These contactscanbe
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
RequestGate will be named, for example IC1. The Gate name does not
appearinthenameofthepartintheschematic.The RequestGate'sname,
howeverwillconsistofPrefix+Number+Gatename,forexample,IC1P.

Relay: Coil and First Contact must be Placed


Arelaywiththreecontactsistobedesigned,ofwhichtypicallyonlythefirst
contactwillbeused.
DefinethecoilandonecontactastheirownSymbols.IntheDevice,givethe
coilandthefirstcontacttheAddlevelMust.Alltheothercontactsaregiven
theAddlevelCan.
IftherelayisfetchedintotheschematicwiththeADDcommand,thecoil
andthefirstcontactareplaced.Ifanothercontactistobeplaced,thiscanbe
donewiththeINVOKEcommand.Thecoilcannotbedeletedonitsown.It
disappearswhenallthecontactshavebeendeleted (beginningwiththose
definedwithAddlevelCan).
267

8 Component Design Explained through Examples

Relaywithonecoilandthreecontacts

Connector: Some Connection Pins can be Omitted


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

Packageofacircuitboardconnector
Nowdefineasymbolrepresentingonecontactarea.Setvisibleto Pad,so
thatthenames1to10,definedinthePackage,appearintheschematic.

ConnectorsymbolfortheSchematic
Thenfetch theSymbol tentimes into anewly created Device,settingthe
AddlevelineachcasetoAlways,andusetheCONNECTcommandtocreate
theconnectionsbetweentheSMDsandthepins.Whenyounowfetchthis
Deviceintoaschematic,alltheconnectionsappearassoonasitisplaced.
IndividualconnectionscanberemovedwithDELETE.

268

8.9 More about the Addlevel Parameter

AfterADD,alltheconnectionsarevisibleintheschematic

Connector with Fixing Hole and Restricted Area


Aconnectoristobedefinedhavingfixingholes.Onthesolderside(bottom),
theAutoroutermustavoidbringingtracksclosertotheholesthanacertain
distance.

Fixingholeswithrestrictedareas
Thedrillholesareplaced,withthedesired diameter,onthePackageusing
the HOLE command. The drillingdiameter canberetrospectively changed
withCHANGEDRILL.
TheforbiddenareafortheAutorouter/Followmerouterisdefinedinlayer
42, bRestrict,using theCIRCLE command. For reasonsof representational
claritythecircleisshownherewithanonzerowidth.Circleswhosewidthis
0arefilled.InthiscaseithasnoeffectontheAutorouter,sinceitmaynot
routewithinthecircleineithercase.Theseforbiddenareasarealsotaken
intoaccountbyapolygoninlayer16,Bottom.

269

8 Component Design Explained through Examples

8.10 Defining Components with Contact


Cross-References
Ifyouhavetodesigna componentthatconsistsofacoil gateandseveral
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).
ThedistancebetweenthecontactgatesintheDeviceEditor finally
determines the distance of the contacts in the graphical
representationofthecontactcrossreferencesintheSchematic.The
contactgateswillberotatedby90andalignedverticallyonebyone
there.
Thecoil gatemaybeplaced anywhereintheDevice drawing.The
AddlevelforthisGatemustbeMust.
270

8.10 Defining Components with Contact Cross-References


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


Itmaybetruethat drawingframesarenotcomponents,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.
Adrawingframeisdefinedwiththe FRAME command.Thiscommandcan
befoundintheDraw/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,
forexamplewiththehelpofanULP,ortohavecrossreferencescalculated
automatically(seeLABELcommand).

271

8 Component Design Explained through Examples


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_TIMEand>SHEETare
contained,aswellassomefixedtext.Thedrawing'sfilename,dateandtime
ofthelastchangeappearatthesepointstogetherwiththesheetnumberin
theschematic(e.g.,2/3=sheet2of3).
Inaddition,thefollowingvariablesareavailable:
>PLOT_DATE_TIMEcontainsthedateandtimeofthelastprintout,
>SHEETSshowsthetotalnumberofsheetsintheschematic,
>SHEETNRshowsthecurrentsheetnumber.
All of thesetext variables canbeplaced ontheschematic,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
frames don't have any electrical significance because they are defined
withoutpadsorSMDs.
The variable >CONTACT_XREF has a special meaning for Electrical
Schematics. The position of this text, which is not displayed in the
Schematic,determinesthereservedareafortherepresentationofthecontact

272

8.11 Drawing Frames


crossreferences.Moredetailsaboutthiscanbefoundinthehelpfunctionin
thesectionContactcrossreferences.

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.) andanothersetoflayersrelated tothebottomside(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
millingcontourof oblongholesinaseparatelayer.Usuallythisislayer46,
Milling.
Themillingcontourforcomponentsthatneedoblongholescanbedrawn
withWIRE(andpossiblyARC)withaveryfinewirewidthnearoreven0in
thePackageEditor.Takeapadthathasadrilldiameterwhichliesinsidethe
millingcontour,orSMDs,forexampleinTopandBottomlayer,asbasisfor
theoblonghole.
Incaseof amultilayer board youshould draw aWIREintheusedinner
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.

273

8 Component Design Explained through Examples

8.14 Arbitrary Pad Shapes


Ifyouhavetodefineapackagewithsolderareasthatcan'tbeachievedwith
thedefaultpadshapes,youhavetodrawanarbitrarypadshape.Thiscanbe
donewiththehelp of apolygonor withadditional wires. 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
definingpackagesalwaysonthetop side of aboard,thelayerwe
have to check is 31, tCream. Mask data will be generated
automatically fortheSMDareaonly.Ifthisisnotwhatyouwould
liketohave,simplydrawthemaskmanually.Keepinmindthatitis
possibletoswitchoffautomaticgenerationofmaskdataintheSMD
properties(Creamon/off).
Furtherconditionsfordrawingarbitrarypadshapescanbefoundinthehelp
functionaboutthePADorSMDcommand.
Ifapadwitharbitraryshapeisnotconnectedtoasignal,theDRCwill
reportaClearanceerror,becausethepolygonorwiresthatdefinethe
arbitraryshapecan'tberecognizedasapartofasignal.

274

8.15 Creating New Package Variants

8.15 Creating New Package Variants


MostcomponentsaremanufacturedinvariousPackagevariants.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
253.

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

8 Component Design Explained through Examples


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 rightof theDeviceEditor window anewentryfor the
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
padsbyclickingonthepinandpadentriesbelongingtogetherasdescribed
inparagraph8.2.
Itisalsopossibletoadaptthepin/padconnectionsfromanalreadyexisting
Package variant. In our example the assignment does not differ from the
DIL14Package.ThereforeselecttheentryDIL14fromtheCopyfrom:combo
276

8.15 Creating New Package Variants


box.
AfterclickingOKtheCONNECTcommandisfinished.

Defining Technologies
TheDevice 54*1032Aisavailableintwotechnologies(ALSandAS).These
stillhavetobesetupforthenewPackagevariant.
SelectthePackagevariantTestfromthelistonthelowerrightoftheDevice
Editor window. A click onto Technologies in the description field opensa
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.
277

8 Component Design Explained through Examples


IftheControlPanelandtheLibraryEditorwindowarearrangedinaway
thatboth windowsarevisible youcanmovethePackageintotheLibrary
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,bythemenu Libraries/Device. The Edit
window opens. Select the entry 54*1032A. Click OK to open the editor
window.
UsetheNewbuttontodefineanewvariant.SelectthePackageMYSOP14in
theselection dialog andenter,for example, TEST2 as variantname. 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 inthis chapter. Hereweonly wanttoelaborateonthe
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:
Nowclickwiththeleftmouseintothe Angle boxoftheparametertoolbar
andtypeintherequestedangle.Thenusearightmouseclickintothegroup

278

8.16 Defining Packages in Any Rotation


todefinetherotationpoint.
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


Itis possible to work with polar coordinates toplace pads or SMDs in a
radialarrangement.Setasuitablereferencepoint,forexample,inthecenter
ofthePackagewiththeMARKcommandfirst.Thecommandlineshowsnow
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) ;

279

8 Component Design Explained through Examples

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.
ClickthePASTEiconfollowed byaclick atthedrawing'sreferencepoint.
ThePackagewillbeplaced.
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!

280

8.17 Library and Part Management


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'
If the Device should be stored in the current library under a new name
simplyenterit,likehere:
COPY 75130@751xx.lbr 75130NEW
Symbols
AsSymbolsarenotshowninthetreeview oftheControl Panelitisnot
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
281

8 Component Design Explained through Examples


Savelibrary
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 thePackageshould bestored inthecurrentlibrary under anewname
simplyenteritdirectlyinthecommandline:
COPY DIL16@\eagle\mylbr\751xx.lbr DIL16NEW
ThePackageisstoredwiththenewnameDIL16NEWnow.
IfyouwanttocopyaPackagethatalreadyexistswiththesamenameinthe
targetlibrarythePackagewillbesimplyreplaced.
IfthePackageisalreadyusedinaDeviceandthepositionorthenameof
oneormorepads/SMDschanges,EAGLEpromptsamessageinwhichmode
thepads/SMDsaretobereplaced.Thisprocedurecanalsobecancelled.The
Packageremainsunchangedthen.
Iftheenumerationandpositionofthepadsareunchangedbuttheorderis,
EAGLE will askyoufor theappropriateupdatemode. Dependingonyour
selectionthepin/padconnectionsoftheDevicemaychange(seeCONNECT
command).

282

8.17 Library and Part Management

RequestingtheUpdateMode

Composition of Your own Libraries


The previously mentioned methods to copy library elementsmake it very
easytocomposeyourownlibrarieswithselectedcontents.
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. Defininganewlibrary elementcan'tbecancelled by
UNDO.
Example:
YouwouldliketoremovethePackagenamedDIL16.
Openthemenu Library/Remove....Adialog window openswhereyoucan
enterthenameoftheelementtobedeleted.
Thiscanbedonealsoatthecommandline:
REMOVE DIL16;
PackagesandSymbolscanberemovedonlyiftheyarenotusedinoneofthe
library'sDevices.InthiscasethemessagePackageisinuse!or Symbolisin
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;
283

8 Component Design Explained through Examples


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.
EachlibrarycontainsPackageswhichareneededforDevicedefinitions.In
many libraries identical types of Packages can be found. To keep them
uniformoveralllibrariesitispossible toreplaceallPackagesofalibrary
with those of anotherlibrarywiththehelp of the UPDATE command. An
existing Package with the proper name will be replaced by the current
definition.
Ifyouhave,forexample,specialrequirementsforPackagesyoucoulddefine
them in a custombuilt Package or SMD library. The UPDATE command
couldtransferthemtootherlibraries.
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.
Seepage282forfurtherinformation.

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
about data generation. You will find links to such firms on our Internet
pages.
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
quotesiteof element14,wheretheseparameterswillbetransferred,aswell
(loginnecessary).Withafewstepsyougetaquoteformanufacturingyour
board.
If,however,yourboardmakerisnotsetuptoprocessEAGLE boardfiles
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 requiresspecificinformationpertainingtoeachstep
in the manufacturing process of your board. This special information is
describedinafilecontainingplotand/ordrillinginformation.
285

9 Preparing Manufacturing Data


Forexample,onefileforeachsignallayer,forthesilkscreen,forthesolder
stopmask,thecreamframe,foragoldapplication,foragluemask(forSMT
devices),orformillingdataregardingcutoutsintheboard.
Doublesidedboardswithpartsontopandbottomsiderequireasilkscreen
onbothsides,orincaseofSMTdevices,acreamframeoragluemaskfor
eachside.
Additionallytheboardmanufacturerneedsdrillingdatainaseparatefile.
Ifyouwantamilledprototypeboard,millingcontourshavetobecalculated
first, and generated in a specific data format for fabrication milling
machines.
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.
TheGerber devicesoftheCAMProcessor (RS274XandRS274D)havea
resolutionof1/10,000ofanInch(dataformat:2.4,inches).
Exceptionsarethedevices GERBERAUTO_23 and GERBER_23.Theyhavea
lower resolution of 1/1,000 of an Inch (data format 2.3, inches).
GERBER_RS274X_25offersahigherresolutionof1/100,000ofanInch(data
format:2.5,inches)
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.

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.

Drill Data
Thegenerationof drill dataisverysimilartothegenerationofplotdata.
Typicalformatsusedinindustryare Excellon or Sieb&Meyer1000 or 3000.
TheyaresupportedbytheCAMProcessor.ThemostcommononeisExcellon.
Thesimplestcaseistogenerateonecommondrilldatafileforalldrillholes.
Ifyouhavetodistinguish platedfrom nonplateddrillholes,twodrilldata
filesmustbegenerated.EAGLEdifferentiatesbetweenplateddrillsofPads
andViasinlayer44, Drills,andnonplatedholesinlayer45, Holes,which
areplacedbytheHOLEcommand.
IfyouhavetogeneratedrilldataforamultilayerboardthatusesBlindand
Buriedviaswithdifferentvialengthsthatresultindifferentdrillingdepths,
theCAMProcessortakescareonthisautomatically. Foreachvialengthit
generatesaseparatedrilldatafile.
Furtherinformationaboutthiscanbefoundinchapter 9.5 frompage 301
on.

EXCELLON
UsingthisdevicetheCAMProcessorgeneratesadrillfilethatcontainsthe
drilltableandthedrillcoordinates.Thisfileformatisthemostcommonin
theindustryandwillberecognizedbymostboardmanufacturers.
The default resolution of the EXCELLON device is 1/10,000 inches, no
leadingzeros(dataformat:2.4,Inch).

EXCELLON_RACK
Thisdevicecanbeused,ifyourboardmanufacturerinsistsontwoseparate
files.Adrilltable(rackfile)andthedrilldatafile.Thiswasdefaultinprior
EAGLEversions.
InthefirststeponehastogeneratethedrilltableintheLayoutEditorwith
thehelp oftheUserLanguageprogram drillcfg.ulp,andreferstothisdrill
table when generating drill data with the CAM Processor. The board
manufacturergetstwofilesthen,drilldataanddrilltable.
Ifyouhavetodistinguishbetweenplatedandnonplateddrillingsyouhave
tosupplyonedrilltableandtwodrilldatafiles(oneforlayerDrills,onefor
layerHoles).

287

9 Preparing Manufacturing Data


SM1000 and SM3000
These devices generate drill data in Sieb&Meyer 1000 or in Sieb&Meyer
3000format.SM1000hasaresolutionof1/100mm,SM30001/1000mm.
DataoutputisexactlythesameasitiswithEXCELLON_RACK.Firstyouhave
togeneratethedrill tablewith drillcfg.ulp,thenusetheCAMProcessorto
generatedrilldata.

Further Drill Data Devices


TheCAMProcessorsupportstwofurtherdevicesfordrilldatageneration.
GERBDRL generatesGerberdrill code. Hereweneedaseparatedrill table
(RUNdrillcfg.ulp),asitiswithEXCELLON_RACK.
SMS68isafurtherdrilldatadevicethatgeneratesaHPGLcode.

Prototype Manufacture With a Milling Machine


WiththehelpofvariousUserLanguageprogramsyoucangenerateoutline
dataformillingaprototypeboard.

outlines.ulp
Asimpleexampleforcontourdatacalculationisoutlines.ulp.Startitwiththe
RUNcommand.Selectthelayerforwhichoutlinedatashallbegenerated,
definethediameter ofthemillingtool (Width),andselecttheoutputfile
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.
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.
288

9.1 Which Data do we Need for Board Manufacture?


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,
forexample,byhobbyistsandresultsinashorterfabricationtimeandaless
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.
Ofcourse,youhavetodisplaythisadditionallayerforprintingonthefilm.

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
branchof thetreeview of theControl PanelbyselectingoneoftheULP
entrieswiththemouse.Thedescribingtextappearsontherightsideofthe
Control Panel window. It's also possible to edit the ULP file with a text
editor.Thedescriptionusuallyiswritteninthefileheader.
ULPsforpickandplacedata(selection):
mount.ulp

Generatesonefilewithcoordinatesof
thecenteredpartorigins
289

9 Preparing Manufacturing Data


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
is possible to import additional information from adatabase file into the
partslist(Load),ortocreateanewdatabasewithitsownpropertiessuchas
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,if nosymbol hasbeendefined for the
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
andWidthdeterminethediameterandlinethicknessofthedrillsymbolon
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
befoundintheAppendixbeginningwithpage317.

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.
For cost reasons you should, if at all possible, avoid tracks that
narrowtobelow8mil.
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


Youshould alwaysleaveatleast2mm(about80mil) aroundthe
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 asit does in the
LayoutEditorwindow.
Toplaysafe,youcould activatetheoptions 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
back to thechapterabout TheCAMProcessor onpage 83.Thereyouwill
learnaboutthebasicoperationoftheCAMProcessor.
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)ifitwas
notloadedautomaticallyduringthestartsequence.
Loadthepredefinedjobgerb274x.camwiththeFile/Open/Jobmenu.
Now click Process Job. EAGLE generates five files, one by one,
automaticallywhichyouhavetopassontotheboardmanufacturer.
EachGerberfilecontainstheaperturetableandtherespectiveplot
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 usethe predefined CAMjob
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
The default unit for the drill table is inch. If the drill table would be
preferred in Millimetres the device definition can be changed in the file
eagle.def.Moredetailsconcerningthiscanbefoundinthesection Unitsfor
apertureanddrilltables,beginningwithpage311.
Excellon.cam can be used for multilayer boards, aswell asfor 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
expects Gerber data with aseparateaperturefile,usethejob gerber.cam.
Thesefilescanbecreatedwiththedevices GERBERAUTO and GERBER and
generatesdatainRS274Dformat.
Howtoproceed:
StarttheCAMProcessor,forexample,withtheCAMProcessoriconin
theLayoutEditororwiththeFile/CAMProcessormenu.
LoadtheboardintotheCAMProcessor (File/Open/Board)ifitwas
notloadedautomaticallyduringthestartsequence.
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
activeatthesametime. Normally onlyonesignallayerisactivewhile
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
the board contour in layer 20 in a separate file or you are allowed to
combineitwiththoselayers.
(**) 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. Thethird onecanbe c or s for belongingtocomponentor
solderside.
Ofcourseyouarefreeinnamingyourfilesinanymanneryouwish!
Pleaseensurewhendefiningajobthattheextensionsoftheoutputfiles
areuniqueandthereforedistinguishable.

9.5 Peculiarities of Multilayer Boards


Incaseofboardswithinnerlayersonehastoknowhowtheselayersare
definedinordertogeneratepropermanufacturingdata.Isitaninnerlayer
thatcontainstracksandpolygons,asitisinToporBottomlayer?Orisita
supplylayerthatcanbeidentified bythe$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
TheCAMProcessor generatesonedrill data file foreachvialengthfor a
layoutthatusesBlindandBuriedvias.
Thedrilldatafileextension.drdisexpandedbythevialengthspecification.
Ifthereare,forexample,viasfromlayer1to2,theoutputfileextensionwill
be.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'sFile/Openmenu,
andsettheparameters.
The CAM Processor window is divided into sections (Output, Job, Style,
Layer,Offsetandsoon).Somesections,likeEmulate,Tolerance,PenorPage,
areusedbyandthereforedisplayedwithcertaindevicesonly.

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.
%H can be used as wildcard for the Home directory, %P for the
loadedfile'sdirectorypath.
If outputistogodirectly toa plotter,enterthenameoftheprint
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.
Some devices (like HPGL or certain plotter devices) allow you to
selectacolororpennumberinanadditionalcolumn.
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


IfyouareonthewaytodefineaCAMjob thatconsistsofseveral
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 thatthey aredrawnwith 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. Asection isagroupof
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).
It is bestthatyouload anexistingjob,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.
Itmustsimplybeextendedfortheadditionalinnerlayers.
Example:
YouwanttooutputthefilesforaboardwithSMDcomponentsonthetop
andbottomsides. Theboardhastwoadditionalinnerlayers.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 morewhether all thenecessarylayers 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
T02
T03
T04
T05
T06

0.010
0.016
0.032
0.040
0.050
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!UsetheLayers/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.drlorclicktheRackbuttonandchoose
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.Addthemissingdiameterinthedrill tablewitha
texteditororcheckthegivenvaluesfortolerances.
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


Whenautomatically generatedwiththe GERBERAUTO driver,theaperture
tablecontainsvaluesininches.
Thisisalsothecaseforthedrilltablewhichisautomaticallywrittenintothe
drilldatafilewiththeoutputdeviceEXCELLON.
If yourPCBmanufacturerinsists onmmunitsfor aperturesizesanddrill
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
Thissection goesintomoredetail onthedefinition oftheaperturetable.
SomeboardmanufacturersmayperhapsstillbeusingaGerberplotterthat
workswithafixedaperturewheel.Insuchacaseitisnecessarytoadaptthe
aperture table to the restricted facilities of the Gerber plotter. Files for
Gerber photoplotters with fixed aperture wheels are generated with the
GERBERdriver.Itisessentialtoconferwithyourphotoplotserviceaheadof
time,soastoadjustEAGLEtotheavailableapertures.Theaperturetablehas
tobedefinedmanually.
Therearevarioustypesofapertures.Theydifferinsizeandshape.Themost
commonarecircle,octagon,andsquare.Thedrawingaperture(Draw)used
fortracksisnormallyaroundaperture.
Youmustspecifytheapertureconfigurationbeforeyoucangeneratefilesfor
afixedaperturewheelphotoplotter.Todothis,entertheconfigurationfile
foraperturesname.whle.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
defined can the plotter draw lines. Therefore, if the plotter doesn't
distinguishbetweendrawandflashapertures,youmustadditionallydefine
roundoroctagonalaperturesasdrawapertures.
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
D040 square
0.004
D052 square
0.059
D105 oval
0.090 x 0.030
D100 rectangle 0.060 x 0.075
D101 rectangle 0.075 x 0.060
D110 draw
0.004
D111 draw
0.005
The D code determinesthe tool number, thenfollows theapertureshape
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.
312

9.9 Gerber Files for Photoplotters with Fixed Aperture Wheels


Emulationresultsinlongerplottimesandhigherfilmcosts,soitshouldbe
avoidedwheneverpossible.
Thefilename.gpiindicateswhichaperturesareemulated.

313

9 Preparing Manufacturing Data

This
page
hasbeen
leftfree
intentionally.

314

Chapter 10
Appendix
10.1 Layers and their Usage
In Layout and Package Editor
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39

Top
Tracks, top side
Route2
Inner layer
Route3
Inner layer
Route4
Inner layer
Route5
Inner layer
Route6
Inner layer
Route7
Inner layer
Route8
Inner layer
Route9
Inner layer
Route10
Inner layer
Route11
Inner layer
Route12
Inner layer
Route13
Inner layer
Route14
Inner layer
Route15
Inner layer
Bottom
Tracks, bottom side
Pads
Pads (through-hole)
Vias
Vias (through all layers)
Unrouted Airlines (rubber bands)
Dimension Board outlines (circles for holes) *)
tPlace
Silk screen, top side
bPlace
Silk screen, bottom side
tOrigins Origins, top side (generated autom.)
bOrigins Origins, bottom side (generated autom.)
tNames
Service print, top side (component NAME)
bNames
Service print, bottom s. (component NAME)
tValues
Component VALUE, top side
bValues
Component VALUE, bottom side
tStop
Solder stop mask, top side (gen. autom.)
bStop
Solder stop mask, bottom side (gen. Autom.)
tCream
Solder cream, top side
bCream
Solder cream, bottom side
tFinish
Finish, top side
bFinish
Finish, bottom side
tGlue
Glue mask, top side
bGlue
Glue mask, bottom side
tTest
Test and adjustment information, top side
bTest
Test and adjustment inf., bottom side
tKeepout Restricted areas for components, top side

315

10 Appendix
40
41
42
43
44
45
46
47
48
49
51
52

bKeepout
tRestrict
bRestrict
vRestrict
Drills
Holes
Milling
Measures
Document
Reference
tDocu
bDocu

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
Non-conducting holes
Milling
Measures
Documentation
Reference marks
Detailed top screen print
Detailed bottom screen print

In Schematic, Symbol, and Device Editor


90
91
92
93
94
95
96
97
98
*)

Modules
Nets
Busses
Pins

Module instances and ports


Nets
Busses
Connection points for component symbols
with additional information
Symbols
Shapes of component s
Names
Names of component symbols
Values
Values/component types
Info
Additional information/hints
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
*.brd
*.sch
*.lbr
*.ulp
*.scr
*.txt
*.dru
*.ctl
*.pro
*.job

316

Type of file
Layout
Schematic
Library
User Language Program
Script file
Text file (also other suffixes)
Design Rules
Control parameter for the Autorouter
Autorouter protocol file
Autorouter job

10.2 EAGLE Files


*.b$$
*.cam
*.b#x
*.s#x
*.l#x
*.b##
*.s##
*.l##

Backup file of brd after finishing


the Autorouter
CAM Processor job
Backup file of BRD (x = 1..9)
Backup file of SCH (x = 1..9)
Backup file of LBR (x = 1..9)
Automatic backup file of BRD
Automatic backup file of SCH
Automatic backup file of LBR

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 sameasthe eagle.exe,except that it
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-

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

317

10 Appendix
-wxxx
-xxxx
-yxxx

Page width (inch)


Offset X (inch)
Offset Y (inch)

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

318

10.3 EAGLE Options at a Glance


P

PlotterPen(layer=pen):
Ifyouuseacolorpenplotter,youcandeterminewhichlayer
istobedrawninwhichcolor.Example:P1=0P15=1

DrillRackFile:
Withthisoptionyoudefinethepathtoafilewiththedrill
configurationtable.

ScriptFile:
Whenopeningtheeditorwindow,EAGLEexecutesthe
eagle.scrfile.Thisoptionallowsadifferentnameordirectory
tobeselectedforthescriptfile.Thescriptfileisnotreadby
theCAMProcessor.

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
319

10 Appendix
p

PenDiameter[mm]:
EAGLEusesthePendiametermeasurementtocalculatethe
numberoflinesrequiredwhenareasaretobefilled.Default:0

QuickPlot:
Generatesadraftorfastoutput,whichonlyprintstheframesof
theobjects.Default:off

RotateOutput:
Rotatestheoutputby90degrees.Default:off

ScaleFactor:
Thosedeviceswhichcannotchangetheirscalefactor(inthe
menuoftheCAMProcessor),haveascalefactorof1.Default:1

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.

320

10.4 Configuration of the Text 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; | \
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.

321

10 Appendix

Textmenufrommenu.scrintheLayoutEditor

10.5 Text Variables


Text variable
>NAME
(eventually + gate

Meaning
Component name
name) 1)
Component value/type

>VALUE
1)
>PART
>GATE
>SHEET
circuit diagram

Component name 2)
Gate name 2)
Sheet number of a
in the form of, for

example 1/3 3)
>SHEETS
3)
>SHEETNR
3)

Total number of sheets


Current sheet number

>ASSEMBLY_VARIANT Name of assembly variant


>DRAWING_NAME
Drawing name
>LAST_DATE_TIME Time of the last modification
>PLOT_DATE_TIME Time of the plot creation
1) Only for package and symbol
2) Only for symbol
3) Only for symbol or circuit diagram

All texts startingwith thecharacter >,will beinterpreted asplaceholder


textsforattributes.SeeATTRIBUTEcommand.

10.6 Options for Experts in eaglerc


Theuserspecificfileeaglerc.usrforWindowsand.eaglercforLinuxandMac
storesvarioussettingsdefined duringtheworkwithEAGLE. Amongthem
youfindsomeexpertsettingsthatcanbeadjustedinthisfiledirectly.The
mostimportantofthemarelistedhere.
Sinceversion5.2itispossibletochangetheseparameterswiththehelpof
theSETcommandinthecommandline.Pleaseseethehelpfunctionabout
theSETcommandfordetails.

322

10.6 Options for Experts in eaglerc


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,theusercanenable adialog thatallows himtoforce the
editortoperformForward&BackAnnotation,eveniftheERCdetectsthatthe
filesareinconsistent.Thiscanbedonebyappendingtheline:
Erc.AllowUserOverrideConsistencyCheck = "1"

PLEASENOTETHATYOUAREDOINGTHISATYOUROWNRISK!!!
Ifthefilesgetcorruptedintheprocess,theremaybenothinganybody
candotorecoverthem.Afterall,theERCdidstatethatthefileswere
inconsistent!

Delete Wire Joints


IfyouabsolutelyinsistonhavingtheDELETEcommanddeletewirejoints
withoutpressingtheCtrlkey,youcanappendtheline
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.
323

10 Appendix
Load Matching File Automatically
Ifyouhaveaboardandschematiceditor window openandload another
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
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,
ifyoupreferthecursortoberepositioned tothepointwhereithasbeen
beforeacontextmenuinthedrawingeditorwasopened,addtheline:
Option.RepositionMouseCursorAfterContextMenu = "1"

324

10.6 Options for Experts in eaglerc


Units in Dialogs
Theautomaticunitdeterminationindialoginputfieldscanbecontrolledby
appendingtheline
Interface.PreferredUnit = "x"

tothefile,where"x"canbe
"0"forautomaticunitdetermination(default)
"1"forimperialunits
"2"formetricunits.

10.7 Error Messages


When Loading a File
Restring smaller than in older version

Paddiameterchanged
InEAGLEversionprior4.0thepaddiameterhasbeenfixedinthePackage
definition. DuetothegivenvaluesintheDesignRulesthepaddiameters
havechanged.
Pleasecheckand,ifrequired,changetheRestringsettings.RuntheDesign
RuleCheckinanyratetorecognizepossibleclearanceerrors.

325

10 Appendix
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.

Pad, Via Replaced with a Hole


InolderversionsofEAGLEitwaspossibletodefinepadsinwhichthehole
diameterwaslargerthanthepaddiameter.Thisisnolongerpermitted.
Ifyouattempttoloadalibraryfilethatwascreatedwithanearlierversion
andthatcontainssuchapad,thefollowingmessageappears:

Updatereport:Viareplacedwithhole
326

10.7 Error Messages


The pad or via is automatically converted into a hole, provided it is not
connectedbyCONNECTtoapininoneofthelibrary'sDevices.
Ifthereispadthathasaconnectiontoapin(itisdefinedinthelibrary),the
followingmessageappears:

Updatereport:Padreplacedwithahole
InthatcasetheLibraryfilemustbemanuallyeditedinordertocorrectthe
pad.Thenyoucanupdatetheboardfilewiththenewlibrarydefinition.

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. Thefile canbeused withoutproblems nevertheless. The
datastructureiscleanedupautomaticallywhileloadingit.

Can't Update File


IfthismessageappearswhenloadinganEAGLEfilethatwasmadewitha
versionearlierthan2.60itisnecessaryfirsttoconvertthefile.
The program update26.exe, which is located in the eagle/bin directory, is
usedforthispurpose.

327

10 Appendix

Updateerror:Fileolderthanversion2.6
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 Pleasedefine replacementfor layerxxxinlayers.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.
This requires you to edit the file layers.new using a simple text editor,
adding,forexample,anewlayernumberasthelastlineofthefile.
If,for instance,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/padswhicharenotreferencedviatheCONNECT
command.

328

10.7 Error Messages


Thismessagealsoappears,ifyoutrytoremovethewholePackage/Symbol
fromthelibrarywiththeREMOVEcommand.Youhavetodeletethewhole
DeviceorthePackagevariantorsymbolintheDevicebefore.

In the CAM Processor


Polygon may cause extremely large plot data

Polygonswithwidth0
Thismessageappears,ifyouselected alayerintheCAMProcessor which
containsasignalpolygoninthelayoutwhoselinethicknessislessthanthe
resolutionoftheselectedoutputdriver(Device).
In order to avoid unnecessary large plot files you should assign a higher
valuetothepolygon'slinewidth(CHANGEwidth).

In the Light, Freemium or Standard Edition


Can't perform the requested action

Light/Standardlimits
This message is shown if the limits of the Light, Freemium 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, D-84568,
Germany ('Licensor' or 'we') for this EAGLE software product ('Software'), which
includes computer software and any data supplied with it (such as electronic manuals
or tutorials) ('Documentation').

329

10 Appendix
BY CLICKING ON THE 'YES' OR 'AGREE' BUTTON BELOW YOU AGREE TO THE
TERMS OF THIS LICENSE (INCLUDING THE RELEVANT SCHEDULES TO IT)
WHICH WILL BIND YOU AND ANYONE WHO USES THE COPY OF EAGLE
LICENSED TO YOU. IF YOU DO NOT AGREE TO THE TERMS OF THIS LICENSE,
WE ARE UNWILLING TO LICENSE THE SOFTWARE TO YOU. YOU SHOULD NOT
IN THIS EVENT CLICK THE 'YES' OR 'AGREE' BUTTON AND THE INSTALLATION
PROCESS WILL NOT CONTINUE. .
1. GRANT AND SCOPE OF LICENSE
1.1 In consideration of your agreeing to abide by the terms of this License, the
Licensor hereby grants to you a non-exclusive, non-transferable license to use the
Software and the Documentation on the terms of this License.
1.2 The terms on which you are licensed to use the Software vary according to the
edition licensed to you. Please see the Schedules to this License for any terms
applicable to the Software edition licensed to you which are in addition to or amend
those set out below. The Schedule relevant to the edition of EAGLE licensed to you
(in each case the 'Applicable Schedule') will form part of this License. In the event of
any conflict between conditions 1 to 14 of this License and the provisions of the
Applicable Schedule, the provisions of the Applicable Schedule will prevail.
1.3 You may:
(a) use the Software for your purposes only, either:
(i) on one computer if the License is a single-user license or the Software is for single
use; or
(ii) if the License is a multi-user license, by the number of concurrent users agreed
between you and us
provided that, in either case and save where prohibited in the Applicable Schedule,
the Software may be installed on more than one computer or file server
simultaneously provided that it is not used concurrently on more than the number of
computers for which use is licensed in accordance with (i) or (ii) above, whichever is
appropriate.
(b) transfer the Software from one computer to another provided it is used only on the
number of computers for which use is licensed in accordance with condition 1.3 (a);
(c) make up one copy of the Software for back-up purposes only, provided that this is
necessary for the activities permitted under condition 2.1;
(d) receive and use any free supplementary software code or update of the Software
incorporating "patches" and corrections of errors as may be provided by us from time
to time;
(e) use any Documentation in support of the use permitted under condition 1.2..
2. LICENSEE'S UNDERTAKINGS
2.1 Except as expressly set out in this License or as permitted by any local law, you
undertake:
(a) not to copy the Software or Documentation except where such copying is
incidental to normal use of the Software, or where it is necessary for the purpose of
back-up;
(b) not to rent, lease, sub-license, loan, translate, merge, adapt, vary or modify the
Software or Documentation;
(c) not to make alterations to, or modifications of, the whole or any part of the
Software, nor permit the Software or any part of it to be combined with, or become
incorporated in, any other programs;

330

10.8 EAGLE License Agreement


(d) not to disassemble, decompile, reverse engineer or create derivative works based
on the whole or any part of the Software nor attempt to do any such thing except to
the extent that such actions cannot be prohibited because they are essential for the
purpose of achieving inter-operability of the Software with another software program,
and provided that the information obtained by you during such activities:
(i) is used only for the purpose of achieving inter-operability of the Software with
another software program; and
(ii) is not unnecessarily disclosed or communicated without the Licensor's prior written
consent to any third party; and
(iii) is not used to create any software which is substantially similar to the Software;
(e) to keep all copies of the Software secure and to maintain accurate and up-to-date
records of the number and locations of all copies of the Software;
(f) to supervise and control use of the Software and ensure that the Software is only
used in accordance with the terms of this License;
(g) to include the copyright notice of the Licensor on all copies (entire or partial) you
make of the Software on any medium;
(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 terms of this License
immediately on receipt; and
(i) not to provide or otherwise make available the Software in whole or in part
(including but not limited to program listings, object and source program listings,
object code and source code), in any form to any person (other than, in the case of a
multi-user license only, such number of your employees or authorised representatives
as are permitted to use the Software at any time 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 confirmation
of your compliance with the terms of this License and you will provide such certificate
on request.

3. SUPPORT
As any support provided for the Software is provided free of charge, we provide only
such support for it as we see fit and that support may vary according to the edition of
the Software licensed to you. The extent of support provided (if any) is detailed on our
website or those of our associated companies. We reserve the right to change the
support provided or the means by which it may be accessed or remove the support
altogether at any time without notice.
4. INTELLECTUAL PROPERTY RIGHTS
4.1 You acknowledge that all intellectual property rights in the Software and the
Documentation anywhere in the world belong to the Licensor, that rights in the
Software are licensed (not sold) to you, and that you have no rights in, or to, the
Software or the Documentation other than the right to use them in accordance with
the terms of this License.
4.2 You acknowledge that you have no right to have access to the Software in source
code form or in unlocked coding or with comments.
4.3 The integrity of this Software is protected by technical protection measures (TPM)
so that the intellectual property rights, including copyright, in the Software of the
Licensor are not misappropriated. You must not attempt in any way to remove or
circumvent any such TPM, nor apply or manufacture for sale or hire, import,
distribute, sell or let for hire, offer or expose for sale or hire, advertise for sale or hire

331

10 Appendix
or have in your possession for private or commercial purposes any means the sole
intended purpose of which is to facilitate the unauthorised removal or circumvention of
such TPM.
5. LIMITED WARRANTY
5.1 Further details as to the extent of any warranty applicable to the edition of the
Software licensed to you are as set out in the Schedule relevant to that edition.
5.2 Save as may be set out in the Applicable Schedule, we make no representation
or warranty as to the suitability or fitness for purpose of the Software, whether your
purpose or any other and regardless of whether that purpose has been disclosed to
us and save as above, we make no warranties 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 representations are excluded to the fullest extent permitted by law.
5.3 You acknowledge that:
(a) the Software has not been developed to meet your individual requirements, and
that it is therefore your responsibility to ensure that the facilities and functions of the
Software as described in the Documentation meet your requirements; and
(b) that the Software may not be free of bugs or errors, and you agree that the
existence of minor errors shall not constitute a breach of this License.
5.4 It is your responsibility to ensure that you make regular and frequent back-ups of
all designs, files and other work produced with Software. As set out below, we can
accept no liability for any loss of designs, files or other data.
6. LICENSOR'S LIABILITY
6.1 Nothing in this License shall limit or exclude the liability of either party for death or
personal injury resulting from negligence, fraud or fraudulent misrepresentation.
6.2 Subject to condition 6.1, the Licensor's liability for losses suffered by you arising
out of or in connection with this License (including any liability for the acts or
omissions of its employees, agents and subcontractors), however such losses may
arise, whether in contract, tort (including negligence), misrepresentation or otherwise,
shall be limited as set out in the Applicable Schedule and shall in any event exclude
any liability for:
(a) loss of income;
(b) loss of business profits or contracts;
(c) business interruption;
(d) loss of the use of money or anticipated savings;
(e) loss of information, data or designs;
(f) loss of opportunity, goodwill or reputation;
(g) loss of, damage to or corruption of data; or
(h) any indirect or consequential loss or damage of any kind
even if such losses, claims or damages result from the Licensor's deliberate personal
repudiatory breach of this License and all and any such liability is hereby expressly
excluded to the fullest extent permitted by law.
6.3 This License sets out the full extent of the Licensor's obligations and liabilities in
respect of the supply of the Software and Documentation. In particular, there are no
conditions, warranties, representations or other terms, express or implied, that are
binding on the Licensor except as specifically stated in this License. Any condition,
warranty, representation or other term concerning the supply of the Software and
Documentation which might otherwise be implied into, or incorporated in, this License,

332

10.8 EAGLE License Agreement


or any collateral contract, whether by statute, common law or otherwise, is hereby
excluded to the fullest extent permitted by law.
6.4 Any reference to loss or liability arising out of or in connection with this License
shall be deemed to include any loss, claim, liability or damage arising out of or in
connection with the Software, its availability or otherwise, its performance, operability,
functionality or in connection with the loss of any designs, data or information or the
accuracy or validity of any designs produced using the Software.
7. TERMINATION
7.1 The Licensor may terminate this License immediately by written notice to you if
you commit a material or persistent breach of this License which you fail to remedy (if
remediable) within 14 days after the service of written notice requiring you to do so.
7.2 Upon termination for any reason:
(a) all rights granted to you under this License shall cease;
(b) you must cease all activities authorised by this License; and
(c) you must immediately delete or remove the Software from all computer equipment
in your possession, and immediately destroy or return to the Licensor (at the
Licensor's option) all copies of the Software then in your possession, custody or
control and, in the case of destruction, certify to the Licensor that you have done so.
8. TRANSFER OF RIGHTS AND OBLIGATIONS
8.1 This License is binding on you and us, and on our respective successors and
assigns.
8.2 You may not transfer, assign, charge or otherwise dispose of this License, or any
of your rights or obligations arising under it, without our prior written consent.
8.3 We may transfer, assign, charge, sub-contract or otherwise dispose of this
License, or any of our rights or obligations arising under it, at any time during the term
of the License.
9. NOTICES
All notices given by you to us must be given to CadSoft Computer GmbH at
Pleidolfweg 15, Pleiskirchen, Germany. We may give notice to you in accordance with
the Applicable Schedule. Notice will be deemed received and properly served
immediately when posted on the Websites or any of them, 24 hours after an e-mail is
sent, or three days after the date of posting of any letter. In proving the service of any
notice, it will be sufficient to prove, in the case of a letter, that such letter was properly
addressed, stamped and placed in the post and, in the case of an e-mail, that such email was sent to the specified e-mail address of the addressee.
10. EVENTS OUTSIDE OUR CONTROL
10.1 We will not be liable or responsible for any failure to perform, or delay in
performance of, any of our obligations under this License or any unavailability of the
Software that is caused by events outside our reasonable control (Force Majeure
Event).
10.2 A Force Majeure Event includes any act, event, non-happening, omission or
accident beyond our reasonable control and includes in particular (without limitation)
the following:
(a) strikes, lock-outs or other industrial action;

333

10 Appendix
(b) civil commotion, riot, invasion, terrorist attack or threat of terrorist attack, war
(whether declared or not) or threat or preparation for war;
(c) fire, explosion, storm, flood, earthquake, subsidence, epidemic or other natural
disaster;
(d) impossibility of the use of railways, shipping, aircraft, motor transport or other
means of public or private transport;
(e) impossibility of the use of public or private telecommunications networks or
(f) the acts, decrees, legislation, regulations or restrictions of any government.
11. WAIVER
11.1 If we fail, at any time during the term of this License, to insist upon strict
performance of any of your obligations under this License, or if we fail to exercise any
of the rights or remedies to which we are entitled under this License, this shall not
constitute a waiver of such rights or remedies and shall not relieve you from
compliance with such obligations.
11.2 A waiver by us of any default shall not constitute a waiver of any subsequent
default.
11.3 No waiver by us of any of these terms and conditions shall be effective unless it
is expressly stated to be a waiver and is communicated to you in writing.
12. SEVERABILITY
If any of the terms of this License are determined by any competent authority to be
invalid, unlawful or unenforceable to any extent, such term, condition or provision will
to that extent be severed from the remaining terms, conditions and provisions which
will continue to be valid to the fullest extent permitted by law.
13. ENTIRE AGREEMENT
13.1 This License and any document expressly referred to in it represents the entire
agreement between us in relation to the licensing of the Software and Documentation
and supersedes any prior agreement, understanding or arrangement between us,
whether oral or in writing.
13.2 We each acknowledge that, in entering into this License, neither of us has relied
on any representation, undertaking or promise given by the other or be implied from
anything said or written in negotiations between us prior to entering into this License
except as expressly stated in this License.
13.3 Neither of us shall have any remedy in respect of any untrue statement made by
the other, whether orally or in writing, prior to the date we entered into this License
(unless such untrue statement was made fraudulently) and the other party's only
remedy shall be for breach of contract as provided in these terms and conditions.
14. LAW AND JURISDICTION
This License, its subject matter or its formation (including non-contractual disputes or
claims) shall be governed by and construed in accordance with German law and
submitted to the non-exclusive jurisdiction of the German courts.
SCHEDULE 1
CONDITIONS APPLICABLE TO THE LIGHT, STANDARD AND PROFESSIONAL
EDITIONS OF EAGLE (TOGETHER WITH ANY OTHER COMMERCIAL EDITION OF
EAGLE ISSUED BY US FROM TIME TO TIME TO WHICH THE FOLLOWING
SCHEDULES DO NOT APPLY)

334

10.8 EAGLE License Agreement


1 Reference in this Schedule 1 to the Software is reference to the commercial edition
of EAGLE licensed to you.
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 (provided that the
Software is properly used on the computer and with the operating system for which it
was designed, as specified by us) and the Documentation correctly describes the
operation of the Software in all material respects.
3 If, within the Warranty Period, you notify the Licensor in writing of any defect or fault
in the Software in consequence of which it fails to perform substantially in
accordance with the Documentation, and such defect or fault does not result from you
having amended the Software or used it in contravention of the terms of this License,
the Licensor will, at its sole option, either repair or replace the Software, provided that
you make available all the information that may be necessary to help the Licensor to
remedy the defect or fault, including sufficient information to enable the Licensor to
recreate the defect or fault.
4 Subject to condition 6.1 and 6.2 of the License above, the Licensor's maximum
aggregate liability under or in connection with this License, or any collateral contract,
whether in contract, tort (including negligence) or otherwise, shall be limited to a sum
equal to the amount received by us by way of license fee for the Software.
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 third-party intellectual property rights
shall be limited to breaches of rights subsisting in the USA and/or Germany.
6 Notice in connection with this License may be given by us to you at either the email, fax or postal address you provided to us or our representative at the time of
order of the Software or where such information is generic and not specific to you by
displaying on our website or that of any of our associated companies or undertakings.
SCHEDULE 2
CONDITIONS APPLICABLE TO THE FREEMIUM EDITION ONLY
1 The Freemium edition requires access to the internet to operate. The computer on
which the Freemium edition is run must have access to the internet on each occasion
on which you launch EAGLE in order for the Freemium edition to open and operate.
Reference in this Schedule 2 to the Software is reference to the Freemium edition of
EAGLE.
2 All licenses of the Freemium edition are for single use only. The Freemium edition
may be downloaded to and used only on the computer licensed to run the Software at
the time you activated the Freemium edition..
3 The Freemium edition is licensed for use for evaluation or not for profit purposes
only. 'Evaluation' allows you to use the Software in a commercial environment but
purely for the purposes of evaluating the functionality and suitability for your purposes
of the Software. 'Not for profit' allows you to use the Software for personal use or in
the course of your studies if you are in education or for any other not-for-profit aim. In
no case must the Software be used in order to generate revenue (whether directly or
by way of costs savings).
4 This license of the Software is for a period of sixty (60) days from the date of its
download by you. On expiry of this sixty (60) day period, this license and your right to
use the Software under it shall cease and the Software shall 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 licensed to use the Freemium edition under the terms
of a separate license between you and us at any time after the expiry of this license
but we may apply restrictions as to the frequency with which such downloads may be
available and may amend, revise, supplement or remove those restrictions from time

335

10 Appendix
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 available but shall have no liability to you in the event
that we do not do so for any reason and failing to do so shall not affect the efficacy of
those restrictions.
5 You acknowledge that the Software is licensed to you free of charge and that
accordingly we make no representation or warranty as to:
(i) the suitability or fitness for purpose of the Software, whether your purpose or any
other and regardless of whether that purpose has been disclosed to us;
(ii) the performance or functionality of the Software, whether in accordance with any
statements made, materials published or the Documentation or otherwise;
(iii) the availability or functionality of any server or system to allow registration for,
download or communication with the Software;
(iv) whether the Software infringes the intellectual property rights of any third party
anywhere in the world.
6 You further acknowledge that the Software will not operate without access to the
internet, such that the Software is able to communicate with our servers, and that it is
your responsibility to ensure that you have such access at all times when starting the
Software; and that that access is adequate and uninterrupted throughout the start-up
process.
7 Notice in connection with this License may be given by us to you at either the e-mail
or postal address you provided to us or our representative when registering to receive
the Software or by displaying such notice on our website or that of any of our
associated companies or undertakings or any other website(s) on which we make the
Software available.
SCHEDULE 3
CONDITIONS APPLICABLE TO THE FREEWARE EDITION ONLY
1 Reference in this Schedule 3 to the Software is reference to the Freeware edition of
EAGLE.
2 All licenses of the Freeware edition are for single use only.
3 The Freeware edition is licensed for use for evaluation or not for profit purposes
only. 'Evaluation' allows you to use the Software in a commercial environment but
purely for the purposes of evaluating the functionality and suitability for your purposes
of the Software. 'Not for profit' allows you to use the Software for personal use or in
the course of your studies if you are in education or for any other not-for-profit aim. In
no case must the Software be used in order to generate revenue (whether directly or
by way of costs savings). The Freeware edition may also be used by a PCB
manufacturer to determine production data necessary for the manufacture of a PCB
where that PCB manufacturer has been commissioned by the third party designer of
that PCB to produce a PCB to that design on his or her behalf.
4 You acknowledge that the Software is licensed to you free of charge and that
accordingly we make no representation or warranty as to:
(i) the suitability or fitness for purpose of the Software, whether your purpose or any
other and regardless of whether that purpose has been disclosed to us;
(ii) the performance or functionality of the Software, whether in accordance with any
statements made, materials published or the Documentation or otherwise;
(iii) whether the Software infringes the intellectual property rights of any third party
anywhere in the world.
6 Notice in connection with this License may be given by us to you or by displaying
such notice on our websites or that of any of our associated companies or
undertakings.

336

Index

A
Action toolbar
50, 53
Addlevel
259
Always
267, 268
Can
267
Must
267
Next
267
Request
267
Airwire
21
Calculate
76
Display/hide
76
Alias
97
Deleting
99
Alpha blending
108
Alt-X
44, 64
Aperture
311
Aperture File
286
Attributes
Defining
61, 127, 262
External device
266
For elements
128
Global
127
Search
117
VALUE
257
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, 317
110
290
21
147
174
102
155
158
153
273
155
143
154
145
71
172
192
153
142
285

337

Index
Routing manually
Board Manufacture
Bubble help
Buried via
Bus
End automatically
Naming

161
285
48, 51
22
111
125, 324

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

338

308
306
295
306
294
297
302
83
293
303
298
299
309
287, 300
289
307
309
329
301
303
299
299
103
298
305
84
299
303
303
288
297
293
304
299
299
53, 84
317
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
269
146
91
48
107
87
91
50, 87
52
320
50
58, 70, 82, 231
60, 74
62, 89, 105
61, 75, 83
76
53, 153
60, 125
57, 70, 82, 227
60, 74, 91, 94
62, 124
62
82, 232, 254
56, 69, 277
62
57, 70
80, 83
61, 75
55, 67, 97
76, 166
63, 78, 116
62, 76, 130
77, 167
63, 91, 101
63, 271
58, 232
52
57, 69
51
75, 88, 269
55, 67, 147
59, 119
61, 121
61, 121
63, 316
71
56, 68, 279
72, 185
63, 105

Index
MIRROR
56, 69, 88, 158, 273
MITER
59, 72
MODULE
62
MOVE
56, 68, 88
NAME
58, 71, 82
NET
61, 121
OPEN
64
OPTIMIZE
72
PACKAGE
64, 82, 275
PAD
79, 224
PASTE
57, 70, 134
PIN
95, 228
PINSWAP
58, 71
POLYGON
60, 74, 163
PORT
62
PREFIX
82, 233
PRINT
64, 189
QUIT
64
RATSNEST
76
RECT
60, 74
REDO
54
REMOVE
64, 78, 116, 283
RENAME
79, 283
REPLACE
58, 71, 160
RIPUP
73, 162
ROTATE
57, 69, 156, 278
ROUTE
72, 161
RUN
53
SCRIPT
53, 100
SET
64, 106, 322
SHOW
55, 67
SIGNAL
75
SMASH
59, 71, 118, 157
SMD
79, 224, 243
SPLIT
59, 72
TECHNOLOGY
65, 83, 256
TEXT
60, 73
UNDO
54
UPDATE
65, 182, 284
USE
53, 235
VALUE
58, 71, 82, 233
VARIANT
65
VIA
75, 88, 180
WINDOW
53
WIRE
59, 73
WRITE
65
Component
Add from library
58
Attribute
128
Changing Technology
160
Copying by Drag&Drop
281
Create symbol
227
Creating
81, 223
Cross-reference
270
Description
227
Editing
182

External
266
Keepout
227
Labeling
226
Lock
71
Name
226
On both sides
158
On bottom side
224, 273
Output list
102
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
266
Configuration
Commands
105
eagle.scr
112
eaglerc, eaglerc.usr
113, 322
Location of eaglerc
319
of EAGLE
105
User interface
105
Connector
268
Consistency
Check
62, 76, 105, 131
Indicator
196
Loss of c.
193
Contact cross reference
>CONTACT_XREF
123
>XREF
270
Context menu
42, 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, 279
Relative
94, 279
Select group
95
Copper plane
163
Copying SCH/BRD
133
Core
22, 174
Cost factors
208

339

Index
Cream mask
Cross reference
For contacts
For nets
Specify format
Ctrl key
Current units
Cursor appearance
Cutout-Polygon

151
123, 270
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

340

84
272
101
70
22, 76
169
166
153
169
153
77
172
41, 143
146
76
145
144
147
120
289
22
232
262
251
281
231
78
234
309
78, 80
266
232, 252
182
252
233
283

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

79
58, 160
256
82, 233
22
183
75
45
146
290
102
225
272
39
59
98
54
53
116, 271
272
22
166
22
269
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
317
eaglerc, eaglerc.usr
113, 319, 322
Edition
Freemium
37
Light
37
Professional
34
Standard
36
Electrical Rule Check
22, 62, 130
Approve errors
131
Electrical schematic
270
Electrical Schematic
123
Elongation
150
Encapsulated PostScript
289
Environment variable
46
ERC
22
Error messages
CAM Processor
329
Correcting
166
DRC - Meaning of
169
File prior version 2.60
327
In a library
328
Loading a file
325
excellon.cam
308
Exclamation mark
196
Exit program
44
Expert options
322
Export
Libraries
103
Export data
100

F
Fiducials
File
Backup
Edit
Import
Load SCH/BRD query
New
Open

293
317
63
134
324
43
44, 53

Print
53
Save
53
Film Generation
288
Fixing hole
269
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
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, 252
118
252
59
126
306
311
311
286
286
312
312
304
312
304
312
307
312
297
297
297
307
297
286
311
312
47

341

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

261
102
104
96
98
96
153
96
111
224
57, 69
56
56
278

H
Help function
Hierarchical Schematic
Hierarchy
Part names in Layout
History function
Hole
Diameter
Min. diameter
HOME variable
Hyperlinks
In descriptions

49, 51
135
141
88
22
269
146
46
234

I
5.6Import
ACCEL-ASCII
In-circuit tester
Inner layer
Installation
Internet connection
Invalid Polygon

342

100
101
289
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
22, 174
Thickness
146, 176
Usage
315
Layout Editor
33, 66
Layout Editor
Description
154
Length Balance
185
Length tolerance
186
Library
Attributes
262
Composition of your own
283
Copy elements
280
Copying by Drag&Drop
281
Create new
237
Description
235
Device creating
231
Device without package
266
Drop
118
Export
103
Extracting
182
Important comments
21
List contents
101
Open
64

Index
Output script file
Package creating
Package variants
Remove element
Rename element
Search for elements
Summary
Symbol creating
Update
Update Package
Updating older files
Use
Library Editor
License
Extending
Multiple Users
New Installation
License agreement
Light edition
Line
Type
Logo import

102
224
253
283
283
116
40
227
182
284
29
41, 53
77
29
30
25
329
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
320
107
50
133
107
22, 181
147
181
273
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

138
141
75, 269
93
95
65
47
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

100
99
99
23
61
61, 121
324
124
101
101

O
Object
Move
Properties
Show properties
Oblong holes
Offset
Output
Drawing
Image

56, 68
55, 67
48
273
141
63, 64
102

343

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

344

23
274
232
159
277, 280
275
78
276
227
78, 79
328
79
182
279
283
79, 283
253
71
278
117
282
253
23
151
274
150
99
227
224
149
111
111, 239
150, 238
150
151
162
273
150
279
147
238
151
239
151, 238
108
192
53
50, 52
102, 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
>NAME
>PART
>PLOT_DATE_TIME
>SHEET
>SHEETNR
>SHEETS
>VALUE
Placeholder texts
Plated-through hole
Png file
Polar coords.
Polygon
Calculation on/off
Cutout
Invalid
Isolate
Naming
Orphans
Outline mode after Ratsnest
Pour
Rank

45
102
191
102
311
289
23
100
121, 230
229
228
249
229
229
230
228
228
259
133
58, 71
229
232, 255
102
126
265
123, 272
272
266
272
230, 266
266
272
272
272
272
230, 266
322
75
102
279
111
75
165
165
324
165
166
164
164

Index
Restricted area
Spacing
Thermal connector width
Thermals
Width
Port
Change properties
Direction
Export bus
Port definition
Postscript
PostScript
Power supply
Ppm graphic file
Prefix
Prepreg
Print out
Date/time
Drawing
Options
Page limit
PDF file
Printing
Product information
Product registration
Professional edition
Project
Close
Create new
Directory
Edit Description
File, eagle.epf
Mangement
Open recent p.
Prototype Manufacture
Proxy server

173
165
165
165
164
23
140
139
140
139
191
288
126
102
82
23, 174
272
189
190
190
191
64
49
49
34
44
42, 114
45
43
114
42
44
288
120

R
Rack file
Ratsnest
Registration
Relative coords.
Relay
Repetition points
Restricted area

23, 308
23
49
279
267
93
160, 269

Cutout polygon
For components
Inner layer
Restring
RGB value
Roundness
Rubber band

74
227
164, 173
23, 147
108
150
21

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
Length
Measuring length

130
53
115
64
121
116
133
33
127
116
135
134
132
116
133
53
50
133
133
127
100
101
110
90
116
111
66
49
116
33
116
50, 133
23
183
161
185
186

345

Index
Silkscreen
225
SMD
Arbitrary shapes
274
Automatic naming
100
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
50
Stop frame
151
Superimposed pins
133
Supply
Addlevel for gates
267
Autorouting supply layer
212
Invisible pins
258
Layer with polygons
172
Symbol
23, 127, 261
Various voltages
127
Voltages
258
Swaplevel
58, 126, 230
Symbol
23
Copying
280
Creating
227
Delete
78
Description
231
Editing
78, 80
In use
328
Labeling
266
New
80
Open/Edit
182
Power supply
250
Remove from LBR
283
Rename
79

T
Technologies
Technology
Changing

346

256
160

Termination
Of command
54
Text
Alignment
60
Bar over text
99
Change size
60, 73
Editor
85
Font
60, 73
HTML text
227
In copper layer
294
Inverted in copper layer
74
Menu
63, 105, 320
Min. visible size
111
Ratio
226
Separate from component
157
Special characters
99
Spin flag
156
Upside down
157, 240
Variables
272, 322
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
146
Set width automatically
111
Smooth wire bends
163
Tree view
Update
44

U
UNC notation
Undo buffer
Undo/redo
list
Unsmash texts
Update
Check for Update
designlink-lbr.ulp
User guidance
User interface

31
110
54
72
49
120
48
46

Index
User Language
User Language Program
bom.ulp
Calculate milling contour
cam2dxf.ulp
cam2print.ulp
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

23, 103
290
288
192
192
120
290
292
302
103
290
290
42
288
289
290
288
285
53
290

V
Value
Placeholder text in package
240
Placeholder text in symbol
249
V. for Device
256
V. is always Device name
323
Warning
323
Variable
$EAGLEDIR
45
$HOME
46
Variant
Creating new
275
Delete
276
Using modified one
277
Vector font
47
Checking
153
Via
23
Appearance in Editor
151
Blind
174
Blind via ratio
147, 181

Buried
174
Diameter display with INFO
147
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

23
47
47
90
48
48
48
24
163
73

X
Xbm graphic file
Xpm graphic file
XREF label

102
102
122

Z
Zoom factor limit
Zoom in/out

47
53

347

You might also like