Вы находитесь на странице: 1из 341

EAGLE

EASILY APPLICABLE GRAPHICAL LAYOUT EDITOR

Manual
Version 7

8th Edition
6811770

Copyright 2016 CadSoft Computer GmbH


All Rights Reserved

How to reach us
Phone:
+1 954 362-5227
Support Hotline:+1 954 362-5228
E-mail:
support@cadsoftusa.com
Web:
http://www.cadsoft.io
Office Hours are:
Mon Thu:
Fri:

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

Autodesk CadSoft
15800 Pines Blvd. Suite 338
Pembroke Pines, Florida 33027
U.S.A.

This software and documentation are copyrighted by CadSoft, 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.
Specifications subject to change without notice.
Copyright 1988-2016 CadSoft. 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.
Printing this manual for your personal use is allowed.

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
NewNamesfortheEAGLEEditions............................................20
ManufacturingandMechanicalDataExport...............................20
DisplaySignalNamesinBoard....................................................20
ChangeswithUSE.......................................................................21
ExportofColorSettings..............................................................21
FreewareandLightEdition.........................................................21
FileLocking.................................................................................21
AuthenticationforProxyServers.................................................21
ScalableIcons..............................................................................21
MakeEdition...............................................................................21
LibraryEditorImprovements.......................................................21
CAMJob......................................................................................21
TableofContentsintheLibraryEditor.......................................22
ImprovedTreeViewintheControlPanel...................................22
HierarchicalSchematicDesign....................................................22
NewIconDesign.........................................................................22
Autorouter...................................................................................22
NewCommands..........................................................................22

1.3GeneralCommentsAboutEAGLEComponentLibraries..............23
1.4TechnicalTerms............................................................................23

Chapter2Installation................................................................27
2.1WhatYouNeed.............................................................................27
2.2SystemRequirements...................................................................27
2.3InstallationoftheEAGLEpackage................................................28
Windows.....................................................................................28
Linux...........................................................................................28
MacOSX.....................................................................................29

2.4UpdatinganOlderVersion...........................................................30
FirstBackup,ThenInstall...........................................................30
NotesonLibraryFiles..................................................................31
InCaseofChangesintheFileDataStructure.............................31

2.5ChangingorExtendingtheLicense..............................................32
2.6MultipleUserLicenses..................................................................32

Table of Contents
NotesforInstallinginaNetwork.................................................32
SpecialInstructionsUnderWindows...........................................33
PathInformation.......................................................................33
DifferentOperatingSystemsattheWorkingComputers...........33

2.7LanguageSettings.........................................................................34
Windows.....................................................................................34
LinuxandMacOSX....................................................................34

Chapter3EAGLEModulesandEditions.....................................35
3.1EAGLEModules............................................................................35
TheLayoutEditor........................................................................35
SchematicEditor.........................................................................35
Autorouter...................................................................................36

3.2DifferentEditions..........................................................................36
UltimateEdition..........................................................................36
General.....................................................................................36
LayoutEditor............................................................................37
SchematicEditor.......................................................................37
AutorouterModule....................................................................38
PremiumEdition.........................................................................38
MakerEdition..............................................................................39
StandardEdition.........................................................................39

Chapter4AFirstLookatEAGLE................................................41
4.1TheControlPanel.........................................................................41
Documentation............................................................................42
LibrarySummary.........................................................................42
DesignRules................................................................................44
UserLanguagePrograms,Scripts,CAMJobs...............................44
Projects........................................................................................44
MenuBar.....................................................................................45
FileMenu..................................................................................46
ViewMenu................................................................................47
OptionsMenu...........................................................................47
WindowMenu..........................................................................51
HelpMenu................................................................................51

4.2TheSchematicEditorWindow.....................................................52
HowYouObtainDetailedInformationAboutaCommand..........53
BubbleHelpAndToolTips.......................................................53
HelpFunction..........................................................................53
CommandParameters.................................................................54
GRID........................................................................................55
4

Table of Contents
TheActionToolbar......................................................................55
USE..........................................................................................55
SCRIPT.....................................................................................55
RUN.........................................................................................55
WINDOW.................................................................................56
UNDO/REDO...........................................................................56
StopIcon..................................................................................57
GoIcon.....................................................................................57
TheCommandToolbarofTheSchematicEditor.........................57
INFO........................................................................................57
SHOW......................................................................................57
DISPLAY...................................................................................57
MARK.......................................................................................58
MOVE.......................................................................................58
COPY........................................................................................58
MIRROR...................................................................................58
ROTATE...................................................................................59
GROUP.....................................................................................59
CHANGE..................................................................................59
PASTE......................................................................................59
DELETE....................................................................................59
ADD.........................................................................................60
PINSWAP.................................................................................60
GATESWAP..............................................................................60
REPLACE..................................................................................60
NAME.......................................................................................60
VALUE......................................................................................60
SMASH.....................................................................................61
MITER......................................................................................61
SPLIT.......................................................................................61
INVOKE....................................................................................61
WIRE........................................................................................61
TEXT........................................................................................62
CIRCLE.....................................................................................62
ARC..........................................................................................62
RECT........................................................................................62
POLYGON................................................................................62
BUS..........................................................................................62
NET..........................................................................................63
JUNCTION...............................................................................63
LABEL......................................................................................63
ATTRIBUTE..............................................................................63
5

Table of Contents
DIMENSION.............................................................................63
MODULE..................................................................................64
PORT........................................................................................64
ERC..........................................................................................64
CommandsNotAvailableintheCommandToolbar....................64
ASSIGN.....................................................................................64
CLASS.......................................................................................64
CLOSE.......................................................................................64
CUT...........................................................................................64
EDIT..........................................................................................65
FRAME......................................................................................65
EXPORT....................................................................................65
LAYER.......................................................................................65
MENU.......................................................................................65
OPEN........................................................................................66
PACKAGE..................................................................................66
PRINT.......................................................................................66
QUIT.........................................................................................66
REMOVE...................................................................................66
SET...........................................................................................66
TECHNOLOGY..........................................................................66
UPDATE....................................................................................67
VARIANT...................................................................................67
WRITE.......................................................................................67
MouseKeys.................................................................................67
SelectingNeighbouringObjects................................................67

4.3TheLayoutEditorWindow...........................................................68
TheCommandsontheLayoutCommandToolbar......................69
INFO........................................................................................69
SHOW......................................................................................69
DISPLAY...................................................................................69
MARK.......................................................................................70
MOVE.......................................................................................70
COPY........................................................................................71
MIRROR...................................................................................71
ROTATE...................................................................................71
GROUP.....................................................................................71
CHANGE..................................................................................72
PASTE......................................................................................72
DELETE....................................................................................72
ADD.........................................................................................72
PINSWAP.................................................................................73
6

Table of Contents
REPLACE..................................................................................73
LOCK........................................................................................73
NAME.......................................................................................73
VALUE......................................................................................73
SMASH.....................................................................................73
MITER......................................................................................74
SPLIT.......................................................................................74
OPTIMIZE................................................................................74
MEANDER................................................................................74
ROUTE.....................................................................................74
RIPUP.......................................................................................75
WIRE........................................................................................75
TEXT........................................................................................75
CIRCLE.....................................................................................76
ARC..........................................................................................76
RECT........................................................................................76
POLYGON................................................................................76
VIA...........................................................................................77
SIGNAL....................................................................................77
HOLE.......................................................................................77
ATTRIBUTE..............................................................................77
DIMENSION.............................................................................77
RATSNEST...............................................................................78
AUTO.......................................................................................78
ERC..........................................................................................78
DRC..........................................................................................78
ERRORS...................................................................................79

4.4TheLibraryEditorWindow..........................................................79
TableOfContents........................................................................79
ImportantIconsintheLibraryEditor..........................................81
ThePackageEditingMode..........................................................81
DesignNewPackage.................................................................82
PAD..........................................................................................82
SMD.........................................................................................82
TheSymbolEditingMode...........................................................82
DesignaNewSymbol...............................................................83
PIN...........................................................................................83
TheDeviceEditingmode.............................................................83
CreateActualComponentsfromSymbolsandPackages...........84
ADD.........................................................................................84
NAME.......................................................................................85
CHANGE..................................................................................85
7

Table of Contents
PACKAGE..................................................................................85
CONNECT.................................................................................85
PREFIX......................................................................................85
VALUE.......................................................................................85
TECHNOLOGY..........................................................................85
ATTRIBUTE..............................................................................85
DESCRIPTION...........................................................................86

4.5TheCAMProcessor.......................................................................86
GenerateData.............................................................................87
StartingtheCAMProcessor.......................................................87
LoadJobFile.............................................................................87
LoadBoard................................................................................87
SetOutputParameters..............................................................87
StartOutput..............................................................................87
DefineNewJob.........................................................................88

4.6TheTextEditorWindow..............................................................88

Chapter5PrinciplesforWorkingwithEAGLE...........................89
5.1CommandInputPossibilities........................................................89
ActivateCommandandSelectObject..........................................89
CommandLine............................................................................89
HistoryFunction..........................................................................90
TheContextMenu.......................................................................90
FunctionKeys..............................................................................91
ScriptFiles...................................................................................92
MixedInput.................................................................................93

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

5.3GridsandtheCurrentUnits..........................................................98
8

Table of Contents
5.4AliasesforDISPLAY,GRID,andWINDOW...................................99
Example:DISPLAYAlias..............................................................99
Example:GRIDAlias.................................................................100
Example:WINDOWAlias..........................................................100
Editing,Renaming,DeletingofanAlias....................................100

5.5NamesandAutomaticNaming...................................................101
Length.......................................................................................101
ForbiddenandSpecialCharacters.............................................101
AutomaticNaming....................................................................101

5.6ImportandExportofData..........................................................102
ScriptFilesandDataImport......................................................102
FileExportUsingtheEXPORTCommand.................................103
DIRECTORY............................................................................103
NETLIST..................................................................................103
NETSCRIPT.............................................................................103
PARTLIST................................................................................103
PINLIST...................................................................................103
SCRIPT....................................................................................104
IMAGE.....................................................................................104
LIBRARIES..............................................................................105

5.7TheEAGLEUserLanguage.........................................................105
5.8Forward&BackAnnotation.........................................................106
5.9ConfiguringEAGLEIndividually.................................................107
ConfigurationCommands..........................................................107
TheMenuOptions/Set(SETCommand)...................................107
DisplayCertainLayersOnly....................................................108
ContextMenuEntries.............................................................108
ContentsofTheParameterMenus..........................................108
ConfirmMessageDialogsAutomatically.................................109
ColorSettings............................................................................109
MiscellaneousSETOptions.......................................................112
Theeagle.scrFile.......................................................................114
TheeaglercFile.........................................................................115
EAGLEProjectFile.....................................................................116

Chapter6FromSchematictoFinishedBoard..........................117
6.1CreatingtheSchematicDiagram................................................117
OpentheSchematicDiagram....................................................117
SettheGrid...............................................................................118
PlaceSymbols............................................................................118
LoadDrawingFrame...............................................................118
9

Table of Contents
PlaceCircuitSymbols(Gates).................................................120
HiddenSupplyGates...............................................................120
DeviceswithSeveralGates.....................................................121
DesignlinkAccesstoFarnell'sOnlineProductDatabase.......122
WiringtheSchematicDiagram..................................................122
DrawNets(NET)....................................................................122
DefiningCrossReferencesforNets.........................................123
CrossReferencesforContacts.................................................124
SpecifyingNetClasses.............................................................125
Drawingabus(BUS)..............................................................127
PinswapandGateswap..............................................................128
PowerSupply............................................................................129
DefineAttributes.......................................................................130
GlobalAttributes.....................................................................130
AttributesforElements...........................................................131
ERCCheckandCorrectSchematic.........................................133
OrganizeSchematicSheets.......................................................135
PointstoNotefortheSchematicEditor.....................................136
SuperimposedPins..................................................................136
OpenPinswhenMOVEing......................................................136
DuplicatingaSectionoftheSchematic.....................................136
WithConsistentLayout...........................................................136
MergeDifferentSchematicFiles................................................136
WithConsistentLayout...........................................................137
MultiChannelDevices............................................................137

6.2TheHierarchicalSchematic........................................................138
CreatingaModule.....................................................................139
DefinePorts...............................................................................141
UsingModuleInstances.............................................................142
ResultingComponentNamesintheLayout...............................143
ModulInstanceName:PartName...............................................143
Offset......................................................................................143
AssemblyVariantsforModules.................................................144
SpecialFeaturesbetweenSchematicandLayout......................144
SHOWcommand.....................................................................144
Consistency.............................................................................144

6.3ConsiderationsPriortoCreatingaBoard...................................145
CheckingtheComponentLibraries............................................145
AgreementwiththeBoardManufacturer..................................145
SpecifyingtheDesignRules......................................................146
GeneralPrinciples...................................................................146
10

Table of Contents
Layers......................................................................................147
MinimumClearanceandDistance...........................................148
Sizes........................................................................................149
Restring(PadandViaDiameter)............................................149
Shapes.....................................................................................151
Supply.....................................................................................153
Masks......................................................................................153
Misc.........................................................................................154

6.4CreateBoard...............................................................................155
WithouttheSchematicEditor....................................................156
SpecifytheBoardOutline..........................................................156
ArrangeComponents.................................................................157
AttributesforComponentsandGlobalAttributes......................160
BoardswithComponentsonBothSides....................................160
ExchangingPackages.................................................................160
PACKAGECommand...............................................................160
REPLACEcommand................................................................162
ChangingtheTechnology..........................................................162
DefineForbiddenAreas.............................................................162
RoutingPlacingTracksManually...........................................163
DefiningaCopperPlanewithPOLYGON..................................165

6.5DRCCheckingtheLayoutandCorrectingErrors.....................168
TheDRCErrorsWindow...........................................................169
ErrorMessagesandtheirMeaning............................................171

6.6MultilayerBoards.......................................................................174
InnerLayer................................................................................174
SupplyLayerswithPolygonsandMorethanOneSignal........174
RestictedAreasForPolygons..................................................175
MultilayerBoardswithThroughVias........................................175
LayerSetup.............................................................................175
MultilayerwithBlindandBuriedVias.......................................176
Disambiguation.......................................................................176
DisplayingVias........................................................................177
LayerSetup.............................................................................177
HintsForWorkingWithBlind,Buried,andMicroVias...........182
MicroViaASpecialCaseofBlindVia....................................183

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

6.8DifferentialPairsAndMeanders.................................................185

11

Table of Contents
RoutingDifferentialPairs..........................................................185
Meanders...................................................................................187
LengthBalanceforaDifferentialPair.....................................187
SpecifyingaCertainLength....................................................187
SymmetricandAsymmetricMeanders....................................187
LengthToleranceDisplay........................................................188

6.9AssemblyVariants.......................................................................189
CreatingAssemblyVariants.......................................................189
AssemblyVariantsandCAMProcessor......................................190

6.10PrintOutSchematicandLayout...............................................191
SettingsofthePrintDialog.......................................................191

6.11CombiningSmallCircuitBoardsonaCommonPanel.............194
6.12ConsistencyLostbetweenSchematicandLayout.....................195
CriteriaForConsistency............................................................197
ConsistencyIndicator................................................................198

Chapter7TheAutorouter........................................................199
7.1BasicFeatures.............................................................................199
7.2WhatCanbeExpectedfromtheAutorouter..............................200
7.3ControllingtheAutorouter.........................................................200
BusRouter.................................................................................201
RoutingPass..............................................................................201
TopRouter.................................................................................201
Optimization.............................................................................201

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

7.5TheAutorouterMenu.................................................................207
AutorouterMainSetup..............................................................207
RoutingVariantsDialog............................................................208

7.6HowtheCostFactorsInfluencetheRoutingProcess.................210
LayerCosts................................................................................211
cfBase.xx:0..20.......................................................................211
12

Table of Contents
Costs..........................................................................................211
cfVia:0..99..............................................................................211
cfNonPref:0..10......................................................................211
cfChangeDir:0..25..................................................................211
cfOrthStep,cfDiagStep............................................................212
cfExtdStep:0..30.....................................................................212
cfBonusStep,cfMalusStep:1..3...............................................212
cfPadImpact,cfSmdImpact:0..10............................................212
cfBusImpact:0..10..................................................................212
cfHugging:0..5.......................................................................213
cfAvoid0..10...........................................................................213
cfPolygon0..30.......................................................................213
Maximum..................................................................................213
mnVia0..30............................................................................213
mnSegments0..9999..............................................................213
mnExtdSteps0..9999..............................................................213

7.7NumberofRipup/RetryAttempts..............................................213
7.8RoutingMultiLayerBoardswithPolygons................................214
7.9BackupandInterruptionofRouting...........................................215
7.10InformationfortheUser...........................................................215
StatusDisplay............................................................................215
Logfile......................................................................................217

7.11EvaluatetheResults.................................................................217
7.12ParametersofaControlFile.....................................................218
7.13PracticalHints...........................................................................219
General......................................................................................219
SingleSidedBoards..................................................................219
SMDBoardsWithSupplyLayers...............................................220
Whatcanbedoneifnotallsignalsarerouted?.........................220

7.14TheFollowmeRouter..............................................................220
PartialandFullMode................................................................221
Configuration............................................................................221
RoutingParameters...................................................................222
Notes.........................................................................................223

Chapter8ComponentDesignExplainedthroughExamples....225
8.1DefinitionofaSimpleResistor...................................................225
ResistorPackage........................................................................226
DefineaNewPackage.............................................................226
SettheGrid.............................................................................226
SolderPads.............................................................................226
13

Table of Contents
PadName................................................................................227
SilkscreenandDocumentationPrint.......................................227
Labeling..................................................................................228
Restrictedareaforcomponents...............................................229
Description..............................................................................229
Note........................................................................................229
ResistorSymbol.........................................................................229
DefineaNewSymbol..............................................................229
SettheGrid.............................................................................230
PlacethePins..........................................................................230
PinNames...............................................................................232
SchematicSymbol...................................................................232
Description..............................................................................232
ResistorDevice..........................................................................233
DefineaNewDevice...............................................................233
Selecting,NamingandConfiguringSymbols..........................233
SelectingthePackage..............................................................234
ConnectionsBetweenPinsandPads.......................................234
DefinePrefix...........................................................................235
Value.......................................................................................235
Description..............................................................................236
Save........................................................................................236
LibraryDescription....................................................................237
UseLibrary................................................................................237

8.2DefiningaComplexDevice.........................................................237
CreatingaNewLibrary.............................................................239
DrawingthePinLeadedPackage..............................................239
SettheGrid.............................................................................240
PlacePads...............................................................................240
PadName................................................................................241
DrawtheSilkScreenSymbol..................................................241
PackageNameandPackageValue..........................................241
AreasForbiddentoComponents.............................................242
Description..............................................................................242
Save........................................................................................243
DefiningtheSMDPackage........................................................243
SettheGrid.............................................................................244
PlacingSMDSolderPads........................................................245
SMDNames............................................................................246
DrawtheSilkScreen...............................................................247
PackageNameandPackageValue..........................................247
AreaForbiddentoComponents...............................................247
14

Table of Contents
LocatingPoint(Origin)...........................................................248
Description..............................................................................248
Save........................................................................................248
DefiningtheLogicSymbolfortheSchematicDiagram..............249
ChecktheGrid........................................................................249
PlacethePins..........................................................................249
PinName................................................................................250
DrawtheSymbol....................................................................250
PlaceholdersforNAMEandVALUE.........................................250
Description..............................................................................250
Save........................................................................................250
DefiningaPowerSupplySymbol..............................................251
ChecktheGrid........................................................................251
PlacethePins..........................................................................251
PinName................................................................................252
PlaceholdersforNAMEandVALUE.........................................252
AssociatingthePackagesandSymbolstoFormaDeviceSet....253
SelectSymbols........................................................................253
NamingtheGates....................................................................253
SpecifyAddlevelandSwaplevel..............................................254
ChoosingthePackageVariants...............................................254
TheConnectCommand...........................................................255
DefiningTechnologies.............................................................257
SpecifyingthePrefix...............................................................257
Value.......................................................................................257
Description..............................................................................258
Save........................................................................................258

8.3SupplyVoltages..........................................................................259
ComponentPowerSupplyPins..................................................259
InvisibleSupplyPins...............................................................259
PinswiththeSameNames........................................................260

8.4OnePinMultiplePadsConnections.........................................261
8.5SupplySymbols..........................................................................262
8.6Attributes....................................................................................263
DefineAttributes.......................................................................263
DisplayAttributes......................................................................266
PlaceholdersinSymbolandPackage......................................266

8.7ExternalDeviceswithoutPackages............................................267
8.8LabelingofSchematicSymbols..................................................267
8.9MoreabouttheAddlevelParameter...........................................268

15

Table of Contents
Summary...................................................................................268
Relay:CoilandFirstContactmustbePlaced............................268
Connector:SomeConnectionPinscanbeOmitted...................269
ConnectorwithFixingHoleandRestrictedArea.......................270

8.10DefiningComponentswithContactCrossReferences..............271
DefineSymbol...........................................................................271
DefineDevice............................................................................271
DefinePackage..........................................................................272

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

8.16DefiningPackagesinAnyRotation...........................................279
RotatingaPackageasaWhole..................................................279
PackageswithRadialPadArrangement....................................280

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

Chapter9PreparingManufacturingData................................287
9.1WhichDatadoweNeedforBoardManufacture?......................287
GerberPlotData........................................................................288
GERBER_RS274X....................................................................288
GERBERAUTOandGERBER...................................................289
DrillData...................................................................................289
EXCELLON..............................................................................289
EXCELLON_RACK...................................................................289
SM1000andSM3000.............................................................290
16

Table of Contents
FurtherDrillDataDevices.......................................................290
PrototypeManufactureWithaMillingMachine........................290
outlines.ulp.............................................................................290
milloutlines.ulp......................................................................290
FilmGenerationUsingPostScriptFiles......................................291
PrintingonaFilm......................................................................291
DataforPickandplaceMachinesandIncircuitTesters...........292
Documentation..........................................................................292
PartsList.................................................................................292
DrillPlan.................................................................................293
DrillLegend............................................................................294
AssemblyVariants.....................................................................295

9.2RulesthatSaveTimeandMoney...............................................295
9.3QuickGuideforDataOutput......................................................296
Jobgerb274x.cam.....................................................................296
Jobexcellon.cam.......................................................................297
Jobgerber.cam..........................................................................299

9.4WhichFilesdoINeedformyBoard?.........................................300
FilesList....................................................................................300
PlaceholdersforOutputFileNameGeneration.......................302
HintsConcerningFileExtensions:...........................................303

9.5PeculiaritiesofMultilayerBoards...............................................303
InnerLayers..............................................................................303
DrillDataforMultilayerBoardsWithBlindandBuriedVias.....303

9.6SetOutputParameters...............................................................304
9.7AutomatingtheOutputwithCAMProcessorJobs.....................307
DefiningaNewCAMJob..........................................................307
Extendinggerber.camJobforMultilayerBoards.......................308
ErrorMessage:AperturesMissing.............................................309
GerberInfoFiles........................................................................309
DrillDataGenerationwithSeparateRackFile..........................310
DefineaDrillConfiguration(Rack)File..................................310
DefineJobforDrillDataOutput.............................................310
DrillInfoFile...........................................................................311

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

9.9GerberFilesforPhotoplotterswithFixedApertureWheels.......313

17

Table of Contents
DefiningtheApertureTable(Wheel)........................................314
ApertureEmulation...................................................................314

Chapter10Appendix................................................................315
10.1LayersandtheirUsage.............................................................315
InLayoutandPackageEditor....................................................315
InSchematic,Symbol,andDeviceEditor..................................316

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

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

Index........................................................................................331

18

Chapter 1
Introduction
ThismanualdescribestheuseoftheEAGLEsoftwareanditsbasicprinciples.
Theorderofchaptersfollowsthetypicalprocessfromdrawingaschematicto
areadytouselayout.

1.1 What is in this Manual?


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

19

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

1.2 Important Changes


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

New Names for the EAGLE Editions


V7.7 According to the Autodesk products the EAGLE Editions get new
names. The previous Professional Edition becomes Ultimate, Standard
becomesPremium,andtheprevioiusLightEditionisnamedStandardnow.
The Freeware continues as EAGLE Express. Make Personal is now called
Maker.ThepreviousMakeProwillnolongerbeoffered.

Manufacturing and Mechanical Data Export


V7.7Two new buttons(MAKE andMCAD)intheActiontoolbarofthe
Layout Editor allow to generate manufacturing data respectively create
mechanical(3D)datafromyourdesign.BothoutputsaregeneratedbyULPs
(manufacturing.ulpandecadio.ulp).

Display Signal Names in Board


V7.7IntheLayoutEditorthesignalnamesaredisplayedinsidethetrack.

20

1.2 Important Changes

Changes with USE


V7.6TheUSEcommandforusinglibrariescanbeaccessedthroughtwo
buttonsUSEandunUSEintheADDdialog.ItisalsoallowedtounUSEa
libraryinthecommandlinewithUSEexample.lbr.

Export of Color Settings


V7.6 Added exppalette.ulp for exporting the color palettes to an
EAGLEscript.

Freeware and Light Edition


V7.5TheseEditionsnowsupporttwosheetsperschematic.

File Locking
V7.5EachfilethatcanbeloadedinanEAGLEeditorwindow,nowwillbe
lockedforexclusiveeditingbydefault.ThispreventsanotherEAGLEusercan
unintentionallymodifyanalreadyloadedfile.Canbeswitchedon/offinthe
menuOptionsintheEAGLEControlPanel.

Authentication for Proxy Servers


V7.5Theproxysettingsnowallowtoprovideausernameandoptionalan
encryptedpassword.

Scalable Icons
V7.5ThesizeofthecurrentEAGLEiconsisscalablenow.Theiconsare
storedintheeaglex.x.x/bin/iconsfolderassvggraphicfiles.

Make Edition
V7.4AnewlicenseMakeProisavailablethatoffersflexibleboardsize.See
chapter3.2fordetails(deprecatedinV7.7).

Library Editor Improvements


V7.4FromnowonitisalsopossibletocopySymbolswithinalibraryand
fromonelibraryintoanother.
ThecontextmenuofanobjectdisplayedinTableofContentsofaLibrary
nowcontainsanentryDuplicate.

CAM Job
V7.4AnewCAMjobfilegerb274xmilldrill.camhasbeenadded.Itcreates
Gerberdataforatwolayerboardincludingmillingcontours(ifany)inlayer
46,Milling,anddrilldatainEXCELLONformatinonejob.

21

1 Introduction

Table of Contents in the Library Editor


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

Improved Tree View in the Control Panel


V7.3Thetree view hasanewbranchDocumentationthatallowsdirect
accesstomanualsanddocumentation.TheLibrariesbranchnowshowsthe
Symbols.PackagesandSymbolsareshowinseparatefoldersnow.Additional
files,likePDF,JPG,BMPareshowninthetreeview.

Hierarchical Schematic Design


V7.0Itispossibletocreateastructuredschematicthatcontainssubunits,
called modules. Modules are smaller parts of a schematic, which will be
represented in the main level of the schematic by module instances. The
individual module instances are represented as simple symbols (blocks).
Moduleinstancesareconnectedbynetsviaports.Thehierarchicalstructure
canhaveanarbitrarydepth.

New Icon Design


V7.0TheuserinterfaceofEAGLEshowsupwithanewsetoficons,which
isshownbydefault.Itispossibletoswitchbetweenthenewandtheclassic
design.

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

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

Definitionofaportforamoduleinstance

1.3 General Comments About EAGLE Component Libraries

1.3 General Comments About EAGLE


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

1.4 Technical Terms


Inthismanual,inthehelpfunction,andinEAGLEitselfwefrequentlyuse
sometechnicaltermsthatshouldbeexplainedhereinafewwords.
Airwire:
Unroutedconnectiononaboard,displayedintheunroutedlayer(=rubber
band).
BlindVia:
Aplatedthroughholeforchangingthelayerofatrackwhichhasnotbeen
drilledthroughalllayersintheproductionprocessofamultilayerboard.
BuriedVia:
Aplatedtroughhole,whichhasbeendrilledthroughthecurrentlayerstack
intheproductionprocesslikeanormal(through)via,butdoesnotconnect
alllayersofthewholeboard.
Core:
Twocopperlayersappliedtoasolidsubstrate.
DesignRuleCheck(DRC):
EAGLEcanidentifytheviolationofcertainDesignRules(e.g.iftwodifferent
tracksoverlaporaretooclose)withtheDRC.
Device:
Afullydefinedelementinalibrary.ConsistsofatleastonePackageandone
Symbol.
DeviceSet:
ConsistsofDevicesthatusethesameSymbolsfortheSchematicbuthave
differentPackagevariantsortechnologies.

23

1 Introduction
Drill:
Platedthroughdrillinginthelayout(inpadsandvias)
ElectricalRuleCheck(ERC):
EAGLEcanidentifytheviolationofcertainelectricalrules(e.g.iftwooutputs
areconnected)withtheERC.Italsocheckstheconsistencyoftheschematic
andthelayout.
FollowmeRouter:
ThemanualROUTEcommandoffersanoperatingmodethatcalculatesand
displays the connection of a selected signal automatically. The current
positionofthemousecursordeterminesthetraceoftheconnection.Only
availablewiththeAutoroutermodule.
Forward&BackAnnotation:
Transformsalltheactionsonemakesinaschematiconlineintothelayout
(andwithlimitationsfromlayoutintoschematic).Bothfilesareconsistentall
thetime.
Gate:
ThetermGateisusedinthismanualforapartofacomponentwhichcanbe
individually placed on a schematic. This can be one Gate of a TTL
component, one contact pair in a relay, or an individual resistor from a
resistorarray.
Hole:
Nonplatedthroughdrillinginthelayout(e.g.amountinghole).
LayerStack:
Currentnumberandorderofcopperandisolationlayerswhichareusedto
buildupaprintedcircuitboard.
Microvia:
Aplatedthroughhole(likeBlindvia)witharelativelysmalldrilldiameter
whichconnectsanouterlayerwiththenextreachableinnerlayer.
Module:
Asubunitofthehierarchicalschematicthatcontainsasmallerpartofthe
schematic
Moduleinstance:
A simple symbol in a superior level in the hierarchical schematic that
representstheusageofamodule.
Net:
Electricalconnectioninaschematic.
Package:
Componentfootprintstoredinalibrary.
Pad:
ThroughholepadassociatedwithaPackage.
Pin:
ConnectionpointonaSchematicSymbol.

24

1.4 Technical Terms


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:
Platedthrough holeforchangingthe layer ofatrack.See also Micro via,
Blindvia,andBuriedvia.
Wheel:
Aperture configuration file. Generated with Gerber data for board
manufacturing.
Wire:
Electricalconnectioninaboard,ora line(sincelinesaredrawnwiththe
WIREcommand).

25

1 Introduction

This
page
hasbeen
leftfree
intentionally.

26

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

2.2 System Requirements


EAGLE is a powerful graphics editor for designing PCboard layouts and
schematics.EAGLEisavailableina32bitandina64bitversion.Choosethe
appropriateinstallationpackageaccordingthearchitectureofyouroperating
system.InordertorunEAGLEthefollowingisrequired:
Windows7,ornewer
Linuxbasedonkernel2.6forIntelcomputers,X11withaminimum
colordepthof8bpp,thefollowingruntimelibraries:libssl.so.1.0.0,
libcrypto.so.1.0.0,andCUPSforprinting
MacOSXversion10.8oraboveforIntelcomputer,
aminimumgraphicsresolutionof1024x768pixels,
preferablya3buttonwheelmouse.

27

2 Installation

2.3 Installation of the EAGLE package


On theCadSoftwebsite youwill alwaysfind the newest installationfiles.
FirstdownloadthecurrentEAGLEpackageaccordingyouroperatingsystem
fromtheCadSoftwebsite.EAGLEisavailableforWindows,LinuxandMac
OSXin32bitand64bitpackages.
Afterinstallation,youdecidehowtouseEAGLE:InafreeversionasExpress
oraslicensedsoftwarewiththemodulesspecifiedinyourorderandina
corresponding number of users and edition. In this case keep ready your
personallicensedata,consistingofyourlicensefile "serialnumber".key and
theinstallationcode.

Windows
EAGLEforWindowsisavailableasaselfextractingarchive,whichisnamed,
forexample,eaglewin327.7.0.exeoreaglewin647.7.0.exe.Doubleclickthis
fileandtheWinZipSelfExtractorwindowwillappear.Theinstallationroutine
startswith extractingthefilesfrom thearchive.Click the Setup buttonto
begintheinstallationroutine.
Theversionnumberinthefilenamemay,dependingonthecurrentversion,
differ.
Nowtheactualinstallationstarts.Followtheinstructionsstepbystep.
AttheendofthisprocessyouwillbeaskedhowyouprefertolicenseEAGLE:
UseLicensefile
ThisimpliesthatyouhavealreadyboughtanEAGLElicense.Inthiscase
the following dialog asks you for the path to your license file
"serialnumber".keyandforyourpersonalinstallationcodewhichyouhave
gotfromCadSoft.
RunasEAGLEExpress
EAGLEwillbelicensedwiththelimitsoftheStandardEdition.It'spossible
toupgradetoapurchasedlicensewithoutreinstallationatanytime.
Don'tlicensenow
postponesthelicensingonthefirstEAGLEstart.
TheWindowsStartmenuortheAppViewnowcontainsanewentryEAGLE
LayoutEditor7.7.0.TutorialandmanualinPDFfileformatarealsopartof
theinstallation.
UninstallingEAGLEcanbedonebyusualmeansofyouroperatingsystem
usingWindowsuninstalltools.

Linux
EAGLEforLinuxisavailableasselfextractingshellscriptwithsetupdialog.
YoumayinstalltheprogramasRoot/AdministratororasanormalUser.

28

2.3 Installation of the EAGLE package


Initiatetheinstallationprocessinafilemanagerwithadoubleclickonthe
shell script file eaglelin327.7.0.run or eaglelin647.7.0.run depending on
thearchitectureofyourLinuxdistribution.
Pleasecheck,whetherthefileismarkedasexecutablebefore.Ifthisisnotthe
case, you could, for example, use the chmod command in the console to
changeitsattributes.
Youcanstarttheshellscriptformtheconsole,aswell,bytyping:
/path_to_file/eagle-lin64-7.7.0.run
Theversionnumberinthefilenamemaydiffer,dependingonthecurrently
availableEAGLEversion.
Theinstallationroutinestartswithextractingthefilesfromthearchive.Then
theactualinstallationprocessstarts.Followtheinstructionsstepbystep.
AttheendyouwillbeaskedhowyouwanttolicenseEAGLE:
UseLicensefile
ThisimpliesthatyouhavealreadyboughtanEAGLElicense.Inthiscase
the following dialog asks you for the path to your license file
"serialnumber".keyandforyourpersonalinstallationcodewhichyouhave
gotfromCadSoft.
RunasEAGLEExpress
EAGLEwillbelicensedwiththelimitsoftheStandardEdition.It'spossible
toupgradetoapurchasedlicensewithoutreinstallationatanytime.
Don'tlicensenow
postponesthelicensingonthefirstEAGLEstart.
TostartEAGLE,executebin/eagleintheinstallationdirectory.
TutorialandmanualinPDFfileformatarealsopartoftheinstallation.They
arestoredinthesubfolderdocoftheEAGLEinstallationandcanbeaccessed
directlyintheDocumentationbranchofthetreeviewintheControlPanel.
DeletetheentireEAGLEdirectory,ifyouwanttouninstallEAGLE.

Mac OS X
In order to start the installation process doubleclick onto the icon that
represents the EAGLE archive which is named eaglemac647.7.0.zip. The
archive will be extracted automatically. A new folder icon named eagle
mac647.7.0.pkgwillappearontheDesktopnow.Clickitwiththemouseand
theinstallationprocessstarts.
Theversionnumberinthefilenamemaydiffer,dependingonthecurrent
EAGLEversion.
Followtheinstructionsstepbystep.
ConfirmtheEAGLESoftwareLicenseAgreementbyclickingContinue,ifyou
agreewithit.Ifnot,youcanaborttheinstallationbyclickingthe Goback
button.
ThenextstepsetsuptheEAGLEdestinationfolderandpossiblyadestination
29

2 Installation
volume.Byclicking Continue youacceptthesuggesteddirectory.Clickthe
Choose buttonandyoumayselectanyotherlocationfortheEAGLEfolder.
After confirming the installation path the files are copied into the EAGLE
folder.
AfterfinishingtheinstallationyouareabletostartEAGLEbyclickingthe
EAGLEiconintheFinder'sApplications/EAGLEentry.
Whilestarting EAGLEforthefirsttime,youwillbeaskedhowtolicense
EAGLE:
UseLicensefile
ThisimpliesthatyouhavealreadyboughtanEAGLElicense.Inthiscase
the following dialog asks for the path to your personal license file
serialnumber.key and for your personal installation code you have got
fromCadSoft.
RunasEAGLEExpress
EAGLEwillbelicensedwiththelimitsoftheStandardEdition.It'spossible
toupgradetoapurchasedlicensewithoutreinstallationatanytime.
TutorialandmanualinPDFfileformatarepartoftheinstallationandare
locatedinthedocfolderoftheEAGLEinstallation.
IncaseyouwanttouninstallEAGLEfromyourcomputer,simplydeletethe
EAGLEentryintheFinder'sApplicationsfolder.

2.4 Updating an Older Version


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

30

2.4 Updating an Older Version

Notes on Library Files


AllfilesfrompreviousversionscanbeusedwiththenewEAGLEversion.
Please check which library files are in use, and available for the ADD
command.TomakesurethatyouareworkingwiththoseofthenewEAGLE
versionyoushould,forexampleintheSchematicEditor,typethefollowing
commandinthecommandline
USE -*
Thisremovesalllibrariesfromthebuffer.Thentype
USE *
toloadalllibrariesofthecurrentlygivendirectoryorotherdirectories.
Theinformationaboutlibraries inuse isstoredinthe eagle.epf fileofthe
currentlyactiveproject.
IfyouhaveaddednewDevicestoexistinglibraries,youshouldrenameand
copytheselibrariestoaseparatefoldertoavoidoverwriting,muddlingup
fileswithnewerorolderones,andintheworstcaseloosingyourworkprior
toupdating.ThissameruleholdstrueforULPsandScriptfilesaswell.

In Case of Changes in the File Data Structure


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

31

2 Installation

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

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

2.6 Multiple User Licenses


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

Notes for Installing in a Network


Theuserrightsofmultipleuserlicensesdifferfromthoseofthesingleuser
version.Thesoftwareitselfdoesnotcontainanyspecialnetworkmechanism,
andcanthereforebeusedonmostnetworks.
Atypicalinstallationmaybeperformedasthefollowing:
TheEAGLEprogramisinstalledonaserver.Library,design,ULP,projectand
otherdirectoriescanbefreelychosen.
After installation, EAGLE is started and licensed from one of the
workstations.ThisrequireswriteaccessinthesubdirectorybinoftheEAGLE
directory. The license file eagle.key that has been created is not changed
againaftertheinstallation.Writeaccessisnolongerrequired.

32

2.6 Multiple User Licenses


EAGLEcannowbecalledfromalltheotherworkstations.
PleaseensurethatalltheworkstationscallEAGLEinthesamewayaswas
usedwhenlicensing.
Aprivateworkingdirectory(localoronthenetwork)cannowbesetupfor
eachcomputer.Auserspecificconfigurationfile(eaglerc.usrunderWindows,
or .eaglerc under Linux orMacOSX)islocated inthisdirectory.Further
subdirectoriescanthen,forinstance,containindividualprojects.
Alternatively it is possible for each computer on which EAGLE is to be
availabletohaveaseparatelicense.Inthiscase,copytheeagle.keyfilethat
wascreatedintheEAGLEprogramdirectory(eagle/bin)intothecomputer's
private working directory. When first starting the program, enter the
installationcodeandthepathtothelicensefile"serialnumber".key.
Thisprocedureisrecommended,forinstance,formultipleuserlicensesfor3
to5userswhowillonlyworkatspecificcomputers.
Innetwork situationsitissuggested thatallusers accessonelocationfor
Library,ULP,Script,etc.Thisshouldbeasinglenetworklocationfolder.This
precautionisrecommendedbecauseanycustomDevice,ULP,Scriptcreated
byoneusercannowbeutilizedbytheentireteam.

Special Instructions Under Windows


Path Information
Ithasbeenfound tobehelpful tousetheserver namesin UNCnotation
whengivingthepathforcallingEAGLE,rather thanthedriveletters.For
example:
\\netservername\eagle\bin\eagle.exe

Different Operating Systems at the Working Computers


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

2 Installation

2.7 Language Settings


EAGLE decidesduetotheoperating systems'language which 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.Forenglish languagethevalueistypicallysetto
en_US or en_GB. For german language the value should be set to de_DE,
de_CH,orde_AT.IncaseyouwouldliketouseabatchfiletostartEAGLE,it
couldlooklikethis:
SET LANG=en_GB
cd C:\Program files\eagle-7.x.x
start \bin\eagle.exe

Thisisofuse,ifthereareotherapplicationsthatreactontheLANGvariable.
ThebatchaffectsEAGLE,only.

Linux and Mac OS X


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

EAGLEisplannedtosupportmoreandmorelanguages.Pleaserefertothe
fileUPDATE.txtforinformationaboutcurrentlysupportedlanguages.

34

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 withtheLibrary Editor,the Computer Aided Manufacturing (CAM)
Processor, and the Text Editor. With the Library Editor you can already
design Packages (footprints), Symbols and Devices (for a schematic). The
CAM Processor is the program which generates the output data for the
productionofthePCB(e.g.Gerberordrillfiles).ItisalsopossibletouseUser
LanguageprogramsandScriptfiles.

Schematic Editor
IfyouwanttodrawSchematicdiagramsforelectronicsystemsyoushould
haveSchematicandLayout Editor.Youcangeneratetheassociatedcircuit
board atanytimewith amouseclick.EAGLEthen changestotheLayout
Editor,wherethepackagesareplacednexttoanemptyboardconnected
viaairwires (rubberbands).Fromhereyoucangoondesigningwiththe
Layout Editor as usual. Schematic and layout are automatically kept
consistent byEAGLE(Forward&BackAnnotation).Schematicdiagramscan
consistofamaximumof999sheetsintheProfessionalEdition(99sheetsin
theStandardEdition).OntheleftsideoftheSchematicEditorwindowthe
previewofthesheetsisdisplayed.
TheSchematicEditorisalsoapplicablefordrawingsimpleelectricalwiring
diagrams(connectionscheme,contactplans...).

35

3 EAGLE Modules and Editions

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

3.2 Different Editions


EAGLE offers various performance/price categories (editions) called
Standard, Premium, and Ultimate.Thefacilitiesmentioned inthismanual
alwaysrefertotheProfessionaledition.

Ultimate 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
36

3.2 Different Editions


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

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

Schematic Editor
Schematicscanbedesignedinahierarchicalstructure:modulesare
representedbymoduleinstancesandconnectedthroughportsinthe
topleveloftheschematic.
thehierarchycanreachanydepth
37

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

Premium Edition
Compared to the Ultimate Edition the following restrictions apply to the
Premium(formerStandard)Edition:

38

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.

Maker Edition
ThefollowingrestrictionsapplytotheMakerEdition:
Thelayoutareaislimitedto160x100mm(about6.3x4inch),which
correspondstoafullEurocard.
A maximum number of 6 signal layers are allowed (Top, Route2,
Route3,Route14,Route15,Bottom).
TheSchematiccanhaveamaximumof99sheets.
Fornoncommercialuseonly.

Standard Edition
ThefollowingrestrictionsapplytotheStandard(formerLight)Edition:
Theboardareaisrestrictedto100x80mm(about3.9x3.2inches).
OutsidethisareaitisnotpossibletoplacePackagesanddrawsignals.
Onlytwosignallayerscanbeused(noinnerlayers).
Aschematiccanconsistoftwosheets.
Largerlayoutsandschematicscanbeprintedwiththe smallereditions.The
CAMprocessorcangeneratemanufacturingdataaswell.

39

3 EAGLE Modules and Editions

This
page
hasbeen
leftfree
intentionally.

40

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

41

4 A First Look at EAGLE

ControlPanel:Ontheright,thedescriptionoftheRCLlibrary

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

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

42

4.1 The Control Panel


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
Drag&Drop.IfithasmorethanonePackageversion,theADDdialogopens
automatically,sothatthedesiredPackagecanbeselected.
Thegreenmarkerbehindthelibraryentryindicatesthatthislibraryisinuse.
Thismeansthatitcanbeusedinthecurrentproject.Devicesinthislibrary
willbeexaminedbythesearchfunctionintheADDdialogoftheschematic
diagram or of the layout. This makes them available for the project. The
librarywillnotbeexaminedifthemarkingisgray.

ControlPanel:LibrarysummarywithDeviceview
IfstartingEAGLEwithoutaproject(noeagle.epffileisread,theprojecthas
beenclosedbeforeexitingEAGLElasttime)andcreatinganewproject
( File/New/Project) all libraries will be in use automatically. However,
openinganalreadyexistingproject,whereonlycertainlibrariesare inuse
beforecreatingthenewproject,willadoptthisselection.
IftheLibraryEditorwindowisopen,youcanDrag&DropacompleteDevice
setorPackagedefinitionfromtheControlPanelintothelibrarywindow.This
way you can copy it from one library into another. If the target library

43

4 A First Look at EAGLE


already contains an element with the same name, it will be updated
automatically.

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

User Language Programs, Scripts, CAM Jobs


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

Projects
Thevariousprojectsare managedfromtheControlPanel.Aclickontothe
Projects entrydisplaysvariousfolders.Thesearelocatedunderthepathset
underOptions/Directories/Projects.Itisallowedtodefinemorethanonepath
there.
Aprojectusuallyconsistsofafolderwhichrepresentstheprojectbyitsname
andtheproject'sconfigurationfile eagle.epf.Thefolderusuallycontainsall
files that belong to your project, for example, schematic and board file,
speciallibraryfiles,scriptfilesandsoon.
Projectdirectoriesthatcontaintheprojectfileeagle.epfwillbemarkedwitha
specialfoldericon

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.

44

4.1 The Control Panel


WhileclosingaprojectthesettingsofthecurrentlyopenedEditorwindows
willbestoredinthecorrespondingprojectfile eagle.epf,providedthatthe
optionAutomaticallysaveprojectfileissetintheOptions/Backupmenu.
Iftheprojectfilewasgenerated byanotherEAGLEversionthancurrently
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.
YoucanalsousetheFile/Open/ProjectortheFile/New/Projectmenutoopen
orcreateanewproject.

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

Menu Bar
TheControlPanelallowsvariousactionstobeexecutedandsettingsmade
throughpulldownmenusthatareexplainedbelow.

45

4 A First Look at EAGLE


File Menu
TheFilemenucontainsthefollowingitems:
New
Createsanewlayout(board),schematic,library,CAMjob,ULP,scriptortext
file.TheProjectoptioncreatesanewproject.Thisinitiallyconsistssimplyofa
newdirectoryinwhichthefilesforanewprojectarehandled.Thesewill
consist as a rule of the schematic diagram and layout,possibly of special
libraries,scriptfiles,UserLanguageprograms,documentationfilesetc.and
ofthefileeagle.epf,inwhichprojectspecificsettingsarestored.
Thedefaultdirectoriesforthevariousfiletypesaredefinedinthe
Options/Directoriesmenu.
CAMjobsaredefinitionsforgeneratingoutputdatawiththeCAMProcessor.
Script and ULP files are text files containing command sequences in the
EAGLE command language or the EAGLE User Language. They can be
created and edited with the EAGLE Text Editor or with an external text
editor.
Open
Opensanexistingfileofthetypesmentionedabove.
Open recent projects
Listsrecentlyusedprojects.
Save all
Allchangedfilesaresaved.Thecurrentsettingsfortheprojectaresavedin
thefileeagle.epf,eveniftheoptionAutomaticallysaveprojectfileinthemenu
Options/Backup...isswitchedoff.Userspecificsettingsarestoredinthefile
eaglerc.usr(Windows)or.eaglerc(Linux/Mac).
Close project
Theprojectwillbeclosed.Projectspecificsettingsaresavedinthe
eagle.epffileofthecurrentprojectdirectory.
Onceyouhaveoverwrittenaprojectfilefromanolderversion(before6.0)
thedimensionvalueswillbestoredinadifferentformat.Ifyouthenload
suchafilewithanoldversionofEAGLE,allmenuentries(likewirewidthsor
drilldiameters)willfallbacktotheirdefaultvalues.
Exit
Theprogramisterminated.WhenEAGLEisstartedagain,thelastprogram
status is restored, i.e. the windows and other working environment
parameters appear unchanged. If there was no project loaded only the
ControlPanelwillbeopenednexttime.
ThecurrentstatusisalsosavedwhenyouleaveEAGLEwithAltXfromany
programpart.

46

4.1 The Control Panel


IfyouhavedeactivatedthePulldownmenuoftheEditorwindowswith
the Options/User interface menu, Alt+X won't work. Use the QUIT
commandinstead.YoucouldevenassigntheQUITcommandtoAlt+X
withthehelpoftheASSIGNcommand.

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

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

4 A First Look at EAGLE

ThedirectoriesdialogintheOptionsmenu
Type the path directly into the corresponding box, or select the desired
directorybyclickingtheBrowsebutton.
Thedefaultsettingscanbeseeninthediagramabove.$EAGLEDIRstandsfor
theinstallation'sEAGLEdirectory.
You may also use $HOME for your home directory under Linux. Under
Windowsitispossibletodefinethisenvironment variableintheWindows
ControlPanel,Systemsettings.Ifa HOMEvariablehasnotbeensetwithin
the Environment variable, then under Windows EAGLE will suggest the
directoryApplicationData.
ThisdirectoryisdefinedintheWindowsregistryin:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVers
ion\Explorer\Shell Folders\AppData
Inthisfolderyoucanalsofindtheuserspecificconfigurationfileeaglerc.usr.
UnderWindows7/8/10thisistypically
C:\Users\your_account_name\AppData\Roaming\CadSoft\EAGLE
Itisofcoursealsopossibletospecifypathswithanabsoluteformat.
TheHOMEvariablemustnotpointtotherootdirectoryofadrive!
Backup/Locking
Whenfilesaresaved,EAGLEcreatesbackupcopiesofthepreviousfiles.The
maximum backup level field allows you to enter the maximum number of
backup copies (default: 9). Backup files have different file extensions,
enumeratedsequentially.Schematicfilesreceivetheending s#x,boardfiles
b#x,andlibraryfilesl#x.xcanrunfrom1to9.Thefilewith x=1isthe
newestone.
Theautomaticbackupfunctionalsopermitsthebackuptobescheduled.The
timeinterval canbebetween 1and 60 minutes (default: 5minutes).The
backupfileshavetheendingsb##,s##andl##respectively.
AllthesebackupfilescanbefurtherprocessedinEAGLEiftheyarerenamed
andgiventheusualfileendings(brd,sch,lbr).
48

4.1 The Control Panel

Backupdialog
If the option to Automatically save project file is chosen, your project is
automaticallysavedwhenyouclosethecurrentprojectorleavetheprogram.
Enable file locking is setonbydefault. Foreach file edited in oneofthe
EAGLEeditorwindows,EAGLEcreatesalockfilename.lck.IfanotherEAGLE
usertriestoopenoneofthealreadylockedfiles,adialogwindowthatoffers
variousoptionspopsup.
User Interface
TheUserInterfacedialogallowstheappearanceoftheeditorwindowsfor
thelayout,schematicdiagramandlibrarytobeadjustedtoyourpreferences.
YoucanalsoaccessthismenufromtheEditorwindows.

SettingsfortheUserInterface
IntheControlsboxyouspecifywhichobjectsaretobedisplayedintheeditor
window.IfyoudeactivatealltheControls,onlythecommandlinewillremain
forentry.Thismaximizesthefreeareaavailableforthedrawing.

49

4 A First Look at EAGLE


TheoptionAlwaysvectorfontshowsandprintstextswiththebuiltinvector
font, independently from the originally used font. Using the Vector font
guaranteesthattheoutputwithaprinterortheCAMProcessorisexactlythe
sameasshownintheeditorwindow.Fontsotherthanvectorfontdependon
thesystems'settingsandcannotbecontrolledbyEAGLE.Theoutputofnon
vectorfontsmaydifferfromtheeditor'sview.
Opening the User Interface dialog from one of the Editor windows (for
example,theLayoutEditor)theAlwaysvectorfontoptionoffersanadditional
itemPersistentinthisdrawing.SettingthisoptioncausesEAGLEtosavethe
Alwaysvectorfontsettinginthecurrentdrawingfile.Soyoucanbequitesure
thatthelayoutwillbeshownwithvectorfontatanother'spersoncomputer
(forexample,ataboardhouse).
Pleaseseethehelpfunctionfordetails(TEXTcommand).
Limit zoomfactor limitsthemaximumzoomfactorinaneditorwindow.At
maximum zoom level the width of the drawing is about one Millimetre
(approx. 40 mil). Switching off this option allows you to zoom until the
0.003125Microngridwillbecomevisible.
Ifyouareworkingwithawheelmouse,youcanzoominandoutbyturning
themousewheel.Mousewheelzoomdeterminesthezoomfactor.Thevalue0
switchesthisfunctionoff.Thewheelisusedforscrollingthen.
EAGLE alsosupportstheuse of twofingerpan gestures ontrack pads for
navigatingandzooming.IfyouactivatetheLegacymousewheelmodeoption,
themousewheelworksasitwasinpreviousEAGLEversions.Thegestures
arenolongersupportedthen.
ThefieldExternaltexteditorallowsyoutospecifyanalternativeforthebuilt
inEAGLEtexteditor.Furtherdetailsonthiscanbefoundinthehelpfunction
inthesectionEditorwindows/Texteditor.
The background color and the appearance of the drawing cursor can be
separately adjusted forthelayoutand theschematicdiagrameditors. The
backgroundmaybeblack,whiteorshowninanyothercolor(Colored).The
backgroundcolordefinitionisdescribedonpage109.
Thecursorcanbedisplayedoptionallyassmallcrossoraslargecrosshairs.
ThesectionVerticaltextletsyoudecidewhethertextshouldbereadablefrom
the right hand side upwards (Up) or from the left hand side downwards
(Down)inyourdrawings.
ThecheckboxesintheHelpareaallowtoswitchonoroffthepopuptextsfor
thecommandicons(Bubblehelp)andthehelptextsforthecommandsinthe
statusline(Userguidance).
Selectingthe Userguidance checkboxdisplays,additioninformationabout
theselected object,likethenetorsignalname,thenetclass,orthepart's
nameandvalue(withNET,MOVE,ROUTE,SHOW...),instructionsaboutthe
possiblemouseactionsinthestatusbaroftheeditorwindow.
EAGLEVersion7hasanewlook.Thecommandiconsandothersymbolscan
beusedinthepreviousdesignbyselectingtheoptionClassicIconStyle.
50

4.1 The Control Panel


Iconsizecanbeusedforscalingthenewicons.Thevalueisinpixels.Itisnot
possibletoscaletheiconsoftheClassiciconstyle.
Window Positions
Hereyoucan storethepositionsandthesizesofthecurrentlyopenEditor
windows.EachfilethatwillbeopenedfromnowonappearsinitsEditor
windowatthegivenpositionandsizeparametersthatwerestored.
Ifyoudeletethestoredpositionsagain,EAGLEdeterminesthelocationofan
Editorwindowandusesafixedsizeforit,whichisthedefaultsetting.

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

Help Menu
TheHelpmenucontainsanitemforcallingthehelpfunction,aswellasitems
for installing a new license (Product registration) and getting information
abouttheprogramversionetc.(Productinformation).
Product registration
TheregistrationdialogiscalledautomaticallywhenyoustartEAGLEthefirst
time.Ifyouwanttoinstallanupgradeyoumuststartthisdialogfromthe
Help menu, and then enter the necessary information according to the
License/Product Registrationsectionofthehelpfunction.Alleditorwindows
havetobeclosedbefore.ReadthenotesinthechapterInstallationformore
information.
Check for Update
By default EAGLE checks for newer EAGLE versions on the CadSoft web
server.Incasethereisanewerversionavailableyouwillbeinformedbya
message window. EAGLE informs you about a new software release, but
won'tdownloaditautomatically.
Clickthe Configure buttontoletEAGLElookforthesoftwareversion daily,
weekly, or never.Incaseyouareinterestedinthenewestbetaversion,you
canactivatethischeck,too.
If you are working with a proxy server, type in it's name and port. If
necessary, you can add a user name and a password for the proxy. The
passwordcanoptionallybestoredencrypted.
51

4 A First Look at EAGLE


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.
Thiswillopenaschematicwiththename untitled.schinthecurrentproject
directory.

TheSchematicEditor
Ifyouwanttocreateaschematicdiagramstraightawayinanewproject,you
may for example click with the right mouse button onto a project in the
Projects entryofthetreeview,andselectthe Newproject optionfromthe
contextmenu.Thenewprojectreceivesaname.Thenclickontothisentry
with the right mouse button. Now select New/Schematic from the context
menu.
Anewschematicopensinthisprojectdirectory.
52

4.2 The Schematic Editor Window


Ontopyouwillseethetitlebar,whichcontainsthefilename,andthenthe
menubar,andtheactiontoolbar.
Below the action toolbar there is the parameter toolbar, which contains
differenticons,dependingontheactivecommand.
Abovetheworkingareayouwillfindthecoordinatedisplayontheleft,with
the commandline,wherecommandscanbeenteredintextformat,tothe
rightofit.
EAGLEacceptscommandsindifferentbutequivalentways:asmouseclicks,
textviakeyboard,orfromcommand(script)files.
Ontheleftoftheworkspaceyoufindthecommandtoolbar,whichcontains
mostoftheSchematicEditor'scommands.
In the status line, at the bottom of the screen, instructions for the user
appear,ifacommandisactive.
Ontheleftyouyoucanseethepreviewoftheschematicsheets.Youcansort
thesheetsviaDrag&Drop.
EachofthetoolbarscanbedisplayedorhiddenusingOptions/UserInterface.
Itisalsopossibletorearrangethetoolbarswithincertainlimitswiththeaid
ofthemouse.Thecommandtoolbar,forinstance,canalsobeplacedonthe
right,ortheactionandparametertoolbarscanbeplacedtogetheronone
line.

How You Obtain Detailed Information About a


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

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

53

4 A First Look at EAGLE


inthecommandline.ThecharactersymbolizestheEnterkey.
ThecontentsoftheEAGLEHelpisstoredinasingleHTMLfileandcanbe
viewed for examplewith a webbrowser, aswell. Italsooffers afulltext
search.
AftertypinginasearchtermintheFindline,EAGLEhelpnolongershowsall
pages but only the pages containing this expression. The keys F3 and
Shift+F3allowyoutogotothenextorpreviouslocation.Eachsearchterm
foundwillbemarked.Greenindicatingthecurrentlyfoundterm,yellowfor
allothers.

EAGLEHelpwindow

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

ParametertoolbaroftheNETcommand
54

4.2 The Schematic Editor Window


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

GRID
Thisiconisavailableatanytime.Itisusedtoadjustthegridandtoselectthe
currentunit.InEAGLE,anyvaluerelatestothecurrentunit.
ArightclickontotheiconopensapopupmenuthatcontainstheentryLast.
Soyoucanswitchbacktothepreviouslychosengridsetting.TheNew...entry
allowstodefinesocalledAliases.Moreaboutthisinchapter5.

The Action Toolbar


Thistoolbariscomposedofthefollowingicons:

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

Load,remove,orcreateanewschematicsheet.

USE
SelectlibrarieswhichwillbetakenintoconsiderationbytheADDdialog.Can
alsobedonewiththe Library/Use menuitemorbyclickingthemarkersin
theLibrariesbranchoftheControlPanel'streeview.Thecontextmenuofthe
entry Librariesorofitssubfolderscontainstheentries Usealland Usenone
foraquickandsimpleselection/deselectionofalllibraries(ofthefolder).
Thiscommandhastobeusedinscriptfilesinordertochoosethelibraryyou
wanttotakepartsfrom.

SCRIPT
Execute ascriptfile. Thisenables youto execute any command sequence
withafewmouseclicks.
Arightclickontotheiconshowsalistofrecentlyexecutedscriptfiles.

RUN
StartaUserLanguageprogram(ULP).
Arightclickontotheiconshowsamenuthatcontainsalistofrecentlyused
UserLanguagePrograms.
55

4 A First Look at EAGLE


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

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

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

56

4.2 The Schematic Editor Window


Stop Icon
TerminatestheexecutionofEAGLEcommands(Edit/Stopcommand).

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

The Command Toolbar of The Schematic Editor


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

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

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

57

4 A First Look at EAGLE


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

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

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

MIRROR
Mirrorobjects.

58

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.
Ifyouliketoaddfurthergroupstoanalreadyexistingone,pressthe Shift
keyanddefinethefirstcorneroftheselectionareawithamouseclick.
Incaseyouwanttoaddanobjecttoorremoveitfromthegroup,pressthe
Ctrlkeyandclickontotheobjectinquestion.
PressCtrl+Shifttotogglethemembershipofanobjectanditshierarchically
superiorobjects:Clickingforexample,onanetsegmentintheSchematic
invertsthegroupmembershipofthewholenet.

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

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

DELETE
Deletevisibleobjects.
AlsoincombinationwithGROUPcommand.Ifagrouphasbeendefined,it
canbedeletedwiththerightmousebuttonwhiletheCtrlkeyispressed.
59

4 A First Look at EAGLE


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

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

PINSWAP
Swap twonetsconnectedtoequivalentpinsofaDevice,providedthepins
havebeendefinedwiththesameSwaplevel.
Apinthatisconnectedtoseveralpadscan'tbeswapped.

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

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

NAME
Givenamestocomponents,nets,orbuses.

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

4.2 The Schematic Editor Window


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

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

SPLIT
Insertanangleintoawireornet.

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

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

61

4 A First Look at EAGLE


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

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

CIRCLE
Drawacircle.Circleswithawidthof0aredrawnasfilledcircles.

ARC
Drawanarc(alsopossiblewithWIRE).
CHANGECAPFLAT|ROUNDdefinesstraightorroundedendsforarcs.

RECT
Drawarectangle.

POLYGON
Drawapolygon(copperareasinanyshape).

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

4.2 The Schematic Editor Window


ALABELshowsthesynonymATBUS.ThebuscontainsthenetsA0toA31,B0
toB31,RESETandCLOCK.

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

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

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

ATTRIBUTE
Definesanattributeforacomponent. Attributesarefreedefinableandcan
containanyinformation.
Throughthemenu Edit/Globalattributes..youcandefineattributesthatare
validforallcomponentsrespectivelyforthewholeschematic.

DIMENSION
Canbeusedtodrawdimensionlines.
Itispossibletodimensionobjectsdrawnintheschematicoryoucanstart
dimensioningatanypositionintheschematicwithCtrl+leftmouseclick.

63

4 A First Look at EAGLE


PleaselookintothedescriptionoftheDIMENSIONcommandinthesection
abouttheLayoutEditorwindowformoredetails.

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

PORT
ThePORTcommanddefinesaninterfacebetweenthenetsinsideamodule
andthehigherschematiclevel.Portsbelongtomoduleinstancesandcanbe
connectedtonets,similartopinsofcomponents.

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

Commands Not Available in the Command Toolbar


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

ASSIGN
Assignfunctionkeys.
ThemostconvenientwayofdoingthisistousetheOptions/Assignmenu.

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

CLOSE
Textcommandforclosinganeditorwindow(File/Close).

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

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.

65

4 A First Look at EAGLE


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

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

PRINT
Calluptheprintdialogwiththe printericonintheactiontoolbar

or

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

QUIT
QuitEAGLE.IdenticalwiththemenuitemFile/ExitorAltX.

REMOVE
Deletefilesorschematicormodulesheets.
REMOVE .S3
forinstance,deletessheet3oftheloadedschematic.

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

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

4.2 The Schematic Editor Window


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

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

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 menu determines thezoomingin/outfactorper
step.Thevalueissetto1.2bydefault.
Selectingavalueof0allowsyoutousethewheelforscrolling.
Keepthemousewheelorthemiddlemousebuttonpressedforpanning.
MouseclicksincombinationwiththeShift,Ctrl,andAltkeycanhavevarious
functions,forexample,whileselectingobjectswithMOVEorwhiledrawing
lineswithWIRE.
The help section on Keyboard and Mouse and the help of the referring
commandgivesyoumoredetails.

Selecting Neighbouring Objects


If one of two objects which are very close together is to be selected, the
individualobjectsarehighlightedoneaftertheother.Theusercanselectthe
highlightedobjectwiththeleftmousebutton,orproceedtothenext one
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).
67

4 A First Look at EAGLE

4.3 The Layout Editor Window


TheLayoutEditorwindowopenswhenyouopenanexistingboardfileor
createanewboard.IfyouowntheSchematicEditoryouwillnormallydraw
aschematicfirstandthengeneratetheboardfilewiththeBOARDcommand,
orbyclickingtheBoardicon.

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

68

4.3 The Layout Editor Window

The Commands on the Layout Command Toolbar


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

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

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

69

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.

70

4.3 The Layout Editor Window


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

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

MIRROR
Mirrorobjects.Componentscanbeplacedontheoppositesideoftheboard
byusingtheMIRRORcommand.

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

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

4 A First Look at EAGLE


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

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

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

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

ADD
Addlibraryelementstothedrawing.Itoffersaconvenientsearchfunction
forPackageshere.USEspecifieswhichlibrariesareavailable.

72

4.3 The Layout Editor Window


ArightclickontotheADDiconopensapopupmenuthatcontainsalistof
recentlyplacedDevices.

PINSWAP
Swaptwosignalsconnectedtoequivalentpadsofacomponent,providedthe
pinshavebeendefinedwiththesameSwaplevel.
Apinthatisconnectedtoseveralpadscan'tbeswapped.

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

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

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

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

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

4 A First Look at EAGLE


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

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

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

OPTIMIZE
Joinswiresegmentsinasignallayerwhichlieinonestraightline.

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

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

4.3 The Layout Editor Window


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

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

Moreinformationcanbefoundinthehelpfunction.

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

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

TEXT
Placingtext.Use CHANGESIZEtoaltertheheightofthetext.Ifthetextis
usingavectorfont,CHANGERATIOwillalterthethickness.CHANGETEXT
isusedtoalterthetextitself.CHANGE FONTaltersthe typeface.CHANGE
ALIGNdefinesthealignment(thelocationoftheorigin)ofthetext.
Theoption Alwaysvector font (Options/UserInterface)showsandprintsall

75

4 A First Look at EAGLE


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

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

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

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

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

4.3 The Layout Editor Window


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

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

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

HOLE
Defineamountinghole(notplatedthrough).

ATTRIBUTE
Definesanattributeforacomponent.
Throughthemenu Edit/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

77

4 A First Look at EAGLE


CHANGEDunit

decidesaboutthemeasurementunit,
theprecision,
andaboutshowingorhidingtheunit.

CHANGEDline

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

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

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

ERC
Performaconsistencycheckforschematicandboard.

DRC
DefineDesignRulesandperformDesignRuleCheck.
TypingDRC*intothecommandlineopenstheDesignRuleswindowwhere
youcancheckandadjustyoursettingsandclosethedialogwindowagain
withoutstartingtheDesignRuleCheck.

78

4.3 The Layout Editor Window


ERRORS
Showerrors foundbytheDRC.Ifyouhaven'talreadyprocessedaDesign
RuleCheckfortheboard,itwillbedoneautomaticallybeforeshowingthe
errorlist,ifthereareanyerrorsfound.
Therearefurthercommandsfor theLayoutEditor,astheyareinthe
Schematic,thatarenotavailableintheCommandMenu.Pleasetakea
lookatthesectionbeginningwithpage 64.Mostofthemarevalidin
SchematicandLayout.

4.4 The Library Editor Window


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

Table Of Contents
Whenalibraryisloadedthefollowingwindowappearsfirst:

79

4 A First Look at EAGLE

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

80

4.4 The Library Editor Window

ALibrarie'sTableofContents:Optionsofthecontextmenu

Important Icons in the Library Editor


LoadDeviceorPackage(ifyouonlyhavetheLayoutEditor)forediting.

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

The Package Editing Mode


Thedefinitionofacomponentisdescribedbrieflybelow.Thereisamore
extensiveguideintheComponentDesignExplainedthroughExamplessection.
Theiconsavailableinthecommandtoolbarareequivalenttotheidentical
iconsoftheSchematicorLayoutEditor.

81

4 A First Look at EAGLE


Design New Package
YouchangeintoPackageeditingmodethroughthePackageicon

inthe

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

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

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

The Symbol Editing Mode


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

82

4.4 The Library Editor Window


YounowchangeintoSymboleditingmodethroughtheSymbolicon

in

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

Design a New Symbol


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

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

The Device Editing mode


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

4 A First Look at EAGLE


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

DeviceEditorwindow

Create Actual Components from Symbols and Packages


Switch totheDevice editing modebyclickingthe Device icon

inthe

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

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

4.4 The Library Editor Window


NAME
ChangeGatename.

CHANGE
ChangeSwaplevelorAddlevel.

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

CONNECT
Definewhichpins(Gate)relatetowhichpads(Package).

PREFIX
Provideprefixforthecomponentnameintheschematic(e.g.Rforresistors).

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

TECHNOLOGY
Ifnecessary, varioustechnologiescanbedefined,forexample, foralogic
component.ClickonTechnologiestherefore.

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

85

4 A First Look at EAGLE


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

4.5 The CAM Processor


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

TheCAMProcessor
TheCAMProcessorcanalsobestarteddirectlyfromthecommandline.A
numberofcommandlineparameterscanbepassedtoitwhenitiscalled.
Thesearelistedintheappendix.

86

4.5 The CAM Processor

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

in the action toolbar or through the menu

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


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

Load Job File


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

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

Set Output Parameters


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

Start Output
Ifyouwanttoexecutethejobwhichhasbeenloaded,clicktheProcessJob
button.Ifyoujustwanttogetanoutputusingthecurrentlyvisibleparameter
settings,clicktheProcessSectionbutton.

87

4 A First Look at EAGLE


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

4.6 The Text Editor Window


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

88

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 descriptionoftheEAGLE commandscanbefound onthehelp
pages.

Activate Command and Select Object


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

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

5 Principles for Working with EAGLE


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

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

The Context Menu


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

90

5.1 Command Input Possibilities

ThecontextmenuforaDeviceintheSchematic

Function Keys
Textsmaybeallocatedtothefunctionkeysandtocombinationsofthosekeys
with Alt,Ctrland Shift(forMacOSXadditionally Cmd),ifnotoccupiedby
theoperatingsystemoraLinuxWindowManager(forexampleF1forhelp).
Ifafunctionkeyispressed,thiscorrespondstothetextbeingtypedinviathe
keyboard.Sinceeverycommandiscapableofbeingentered astext,every
command,togetherwithcertainparameters,canbeassignedtoafunction
key.Evenwholesequencesofcommandscanbeassignedtoafunctionkeyin
thisway.
Thecommand
ASSIGN
displays the current function key assignments. Changes to the key
assignmentscanbecarriedoutintheassignwindow.
TheNewbuttoncanbeusedtodefineanewkeyassignment.Aclickonto Del
will delete amarked entry,while Change altersanexisting definition. OK
closesthedialogandsavesthedefinitions,whileCancelabortsthedialog.
These settings can also be made via the Options/Assign menu in the
SchematicorLayoutEditor.
TopredefinecertainassignmentsyoucanalsousetheASSIGNcommandin
thefileeagle.scr(seepage114).

91

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

5.1 Command Input Possibilities


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

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

5.2 The EAGLE Command Language


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

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

5 Principles for Working with EAGLE


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

Bold Type or Upper Case


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

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

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

Spaces
Whereveraspaceispermissible,anynumberofspacescanbeused.

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

5.2 The EAGLE Command Language


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

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

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

Entering Coordinates as Text


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

95

5 Principles for Working with EAGLE


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

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

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

96

5.2 The EAGLE Command Language


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

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

97

5 Principles for Working with EAGLE

5.3 Grids and the Current Units


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

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

5.3 Grids and the Current Units


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

5.4 Aliases for DISPLAY, GRID, and WINDOW


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

Example: DISPLAY Alias


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

andapopupmenuappears

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

5 Principles for Working with EAGLE

Example: GRID Alias


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

,and select the New..

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

Example: WINDOW Alias


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

to

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

Editing, Renaming, Deleting of an Alias


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

100

5.4 Aliases for DISPLAY, GRID, and WINDOW

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

5.5 Names and Automatic Naming


Length
NamesinEAGLEcanhaveanydesiredlength.Thereisnolimit.

Forbidden and Special Characters


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

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

5 Principles for Working with EAGLE


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

5.6 Import and Export of Data


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

Script Files and Data Import


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

5.6 Import and Export of Data


Youwillgetafurtherimpressionofthepowerofimporting,ifyououtputa
librarywiththeEXPORTcommandintoascriptfile(File/Export/Script).The
scriptfilethatisgeneratedprovidesaninstructiveexampleforthesyntaxof
thescriptlanguage.Itcanbeexaminedwithanytexteditor.IfSCRIPTis
thenusedtoreadthisfileintoanemptylibrary,anewlibraryfilewillbe
created.
Commentscanbeincludedfollowinga#character.
TheexecutionofascriptfilecanbestoppedbyclickingtheStopiconinthe
actiontoolbar.
TheFile/ImportmenuoffersaPCAD/Altium/Protelimportoption.Filesthat
are saved in the ACCELASCII data formatcanbetransferred into EAGLE.
Furtherinformationisdisplayedwhenyoustartthisfunction.

File Export Using the EXPORT Command


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

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

NETLIST
Outputsa netlistforthecurrentlyloadedschematicorboardinanEAGLE
specificformat.Itcanbeusedtochecktheconnectionsinadrawing.
TherearealsoavailableseveralUserLanguageprogramsthatallowtoexport
variousnetlistformats.PleasetakealookintoCadSoft'sDownloadareain
theweb:https://cadsoft.io/resources/

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

PARTLIST
Outputsacomponentlistfortheschematicorboard.

PINLIST
Outputsapin/padlistfortheschematicorboard,listingtheconnectednets.

103

5 Principles for Working with EAGLE


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

IMAGE
TheoptionImageallowsyoutogeneratefilesinvariousgraphicformats.
Thefollowingformatsareavailable:
bmp

WindowsBitmapfile

png

PortableNetworkGraphicsfile

pbm

PortableBitmapfile

pgm

PortableGrayscaleBitmapfile

ppm

PortablePixelmapfile

tif

TagImagefile

xbm

XBitmapfile

xpm

XPixmapfile

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

104

5.6 Import and Export of Data


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

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

5.7 The EAGLE User Language


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

5 Principles for Working with EAGLE


Creatingpartslistsinvariousformats.
Seealsopage292.
Outputingraphicalformats.
Dataoutputforcomponentinsertionmachines,incircuittestersetc.
Linkingtoanexternaldatabase.
Manipulationofthesilkscreenprint,thesolderstopmask,andsoon.
Importofgraphicdatafiles(forexampleimportbmp.ulpforlogosor
thelike)
AlotofvaluableULPscanbefoundonourwebpages.Simplytakealook
athttps://cadsoft.io/resources/.

5.8 Forward&Back Annotation


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

,thetwofiles

are consistent. Every action performed on the schematic diagram is


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

106

5.9 Configuring EAGLE Individually

5.9 Configuring EAGLE Individually


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

Configuration Commands
Mostoftheoptionsareusuallysetbymeansofthe Options menusofthe
individualEAGLEeditorwindows.
TheControlPanelallowssettingstobemadeforDirectories,fileBackupand
the appearance of the editor window (User interface). These options are
describedinthechapterontheControlPanelunderthe
Optionsmenuheading,startingonpage47.
ThroughtheUserinterfacesettingsitispossibletoselecttheiconbasedmenu
oraconfigurabletextmenu.
The MENU command allows the text menu to be given a hierarchical
configurationbymeansofascriptfile.Thereisanexampleofthisinthe
appendix.
TheOptionsmenuintheeditorwindowsforschematicdiagrams,layoutsand
librariescontains,inadditiontotheUserinterfaceitem,twofurtherentries:
AssignandSet.
The ASSIGN command alters and displays the assignment ofthe function
keys.Youwillfindinformationaboutthisonpage91.
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
informationaboutthisstartsonpage98.

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
107

5 Principles for Working with EAGLE


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

Context Menu Entries


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

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

text
commands

isthemenutextentry
isthecommandsequence,thatisexecutedafterclicking
ontothemenuentry

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

Contents of The Parameter Menus


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

108

5.9 Configuring EAGLE Individually


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

Confirm Message Dialogs Automatically


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

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

109

5 Principles for Working with EAGLE

Settingswindow:Colorsettings
IfyouprefertheoldrasterOPbehaviourofpreviousEAGLEversionsonblack
background, deactivate the Use alphablending check box.In thiscase the
alphavalueisignoredwhenusingablackbackground.Colorsaremixednow
usinganORfunction.
BydefaultEAGLEuses64values.Eightcolorsfollowedbyfurthereightso
calledhighlightcolors.
Thefirstentryofthepalettedeterminesthebackgroundcolor.Inthewhite
palette,however,itisnotpossibletochangethebackgroundcolorbecause
it'sneededforprintouts,whichnormallyaremadeonwhitepaper.
TheimageaboveshowsthreebuttonsinthePalettecolumn.Clickononeof
them.Forexample,thebuttonfor Colored Background.The Color window
opensnow.
Ontheleftan8x8matrixisvisible.Therearealternatingeight'normal'
colorswiththeircorrespondingeighthighlightcolors.Acolorofthepaletteat
positionxcanbegiventhecorrespondinghighlightcoloratpositionx+8.
Inordertodefinenewvaluesselectaboxofthematrixandadjustthenew
colorwiththehelpofthecolorselectionareaandthesaturationbaronthe
right.ClickSetColortoapplyyourcolor.Nowselectanewcolorboxinthe
matrixandrepeattheprocedureforthenextcolor.
Youmayalsoentervaluesfor Red, Green, Blue or Hue, Sat, Val and Alpha
channeldirectly.
Alphachannel determinesthetransparencyofthecolor.Thevalue0means
thecoloristotallytransparent(invisible),themaximumvalue255standsfor
nontransparent.Forprintoutsthevalueofthealphachannelissetto255for
eachcolor.

110

5.9 Configuring EAGLE Individually

Colorwindow:Definingcolors
In order to change the color palette for an editor window select the
appropriateBackgroundinthemenuOptions/UserInterface.
Youshouldalwaysdefineatleastonepairofcolors:anormalcolorand
itsrelatedhighlightcolor.
Alternatively,thecolordefinitionandchangeofpalettecanbemadeina
scriptfileorinthecommandline.
SET PALETTE <index> <rgb>
definesacolorforthecurrentlyusedpalette,wherethevalueforthealpha
channelandthecolorvaluehastobegivenhexadecimal.Indexstandsforthe
colornumber,rgbforthevaluesforalphachannel,thecolorsred,blue,and
green.Example:
SET PALETTE 16 0xB4FFFF0
setsthecolornumber16toyellow,whichcorrespondstothedecimalRGB
value 255 255 0 which is hexadecimal FF FF 00. The first byte B4
determinesthevalueofthealphachannel(decimal180).
Hexadecimalvaluesaremarkedbyaleading0x.
Toactivatetheblackcolorpalettetypeinthecommandline:
SET PALETTE BLACK
Thenewpalettewillbecomevisibleafterrefreshingthedrawingareawith
theWINDOWcommand.
ThecolorassignmentforlayersisdonewiththeDISPLAYcommandorwith
SETCOLOR_LAYER.
SET COLOR_LAYER 16 4
defines,forexample,thecolornumber4forlayer16.
111

5 Principles for Working with EAGLE


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/redobufferofthecurrenteditorwindow.Incase
youareworkingwithaconsistentschematic/layoutpair,thissettingisvalid
forbotheditorwindows.Default:on.
Optimizing:
Enablestheautomaticremovalofbendsinstraightlines.Default:on.
Ratsnestprocessespolygons:
Thecontentsofpolygonswillbe calculatedwiththeRATSNESTcommand.
Default:on.
112

5.9 Configuring EAGLE Individually


Displaypadnames:
PadnamesaredisplayedintheLayoutorPackageEditor.Default:off.
Displayvialengths:
Thelengthofavia(startlayerendlayer)willbedisplayedintheLayout
Editor.Default:off.
Displaydrills:
Pads/viasareshownwithadrillholeorwithoutit.Default:on.
Autoendnetandbus:
Ifplacinganetonapinorabusthenetdropsfromthemousecursor.
Default:on.
Autosetjunction:
Endinganetonanothernetajunctionwillbesetautomatically.
Default:on.
Autosetroutewidthanddrill:
Ifthisoptionisactive,theFollowmeRouterusesthevaluesforwirewidth
andviadrilldiametergivenbytheDesignRulesorthenetclassesforthe
tracks.Thesevalueswillbesetautomaticallyassoonasyouareclickingonto
asignalwire.
Ifthisoptionisswitchedoff,EAGLEwilltakethevalueyouhavesetwith,for
example,thepreviousCHANGEWIDTHcommand.
Min.visibletextsize:
Onlytextswiththegivenminimumsizearedisplayed.
Default:3pixels.
Min.visiblegridsize:
Grid lines/dotswhicharecloserthanthegiven minimumdistanceareno
longerdisplayedonthescreen.Default:5pixels.
Catchfactor:
Withinthisradiusamouseclickcanreachobjects.Setthevalueto0inorder
toswitchthislimitationoff.Soyoucanreachevenobjectsthatareplacedfar
beyondtheareaofthecurrentlydisplayedwindow.Default:5%oftheheight
ofthecurrentdisplaywindow.
Selectfactor:
Withinthisradius(givenin%oftheheightofthecurrentdrawingwindow)
EAGLEoffersobjectsforselection.Default:2%.
Snaplength:
DefinestheradiusofthemagneticpadsfunctionofpadsandSMDs.
IfyouarelayingtrackswiththeROUTEcommandandapproachapadora
SMD beyond the given value that is to say the dynamically calculated
airwirebecomesshorterthanthegivenradiusthewirewillbesnappedto
thepads/SMDscenter.Defaultvalue:20mil.
AllSEToptionscanbeusedinthecommandline.Entering
SET POLYGON_RATSNEST OFF or,inshort SET POLY OFF
113

5 Principles for Working with EAGLE


forinstance,switchesoffpolygoncalculationfortheRATSNESTcommand.
ThehelpfunctionoffersadditionalinstructionsabouttheSETcommand.

The eagle.scr File


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

114

5.9 Configuring EAGLE Individually


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

The eaglerc File


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

(Linux,Mac,Windows)

/etc/eaglerc

(Linux,Mac)

$HOME/.eaglerc

(Linux,Mac)

$HOME/eaglerc.usr

(Windows)
115

5 Principles for Working with EAGLE


Thesefilesshouldnotbeedited.
ItispossibletostartEAGLEwiththecommandlineoptionUwhichcanbe
usedtodefinethelocationoftheeaglercfile.Thiscanbeusefulincaseyou
areworkingwithdifferentEAGLEreleasesandwanttokeepthingsseparate.
WiththehelpofvariousUserLanguageprogramsitisalsopossibletodefine
settingsinEAGLE.Visitourwebsite:http://www.cadsoft.io

EAGLE Project File


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

116

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

6.1 Creating the Schematic Diagram


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

Open the Schematic Diagram


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

6 From Schematic to Finished Board


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

Set the Grid


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

Place Symbols
Firstyouhavetomakeavailablethelibrariesyouwanttotakeelementsfrom
withtheUSEcommand.Onlylibrarieswhichareinusewillberecognizedby
theADDcommandanditssearchfunction.Moreinformationconcerningthe
USEcommandcanbefoundonpage55.

Load Drawing Frame


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

6.1 Creating the Schematic Diagram


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

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

6 From Schematic to Finished Board


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

Place Circuit Symbols (Gates)


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

Hidden Supply Gates


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

120

6.1 Creating the Schematic Diagram


desiredGateintheINVOKEwindow,thenplaceit.Thenjointhesupplygate
tothedesirednet.

INVOKE:GatePistobeplaced

Devices with Several Gates


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

121

6 From Schematic to Finished Board


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

tobegin.Thisiconisshownnextto

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

Wiring the Schematic Diagram


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

6.1 Creating the Schematic Diagram


Netsarealwaysgivenanautomaticallygeneratedname.Thiscanbechanged
bymeansoftheNAMEcommand.Netswiththesamenameareconnectedto
one another, regardless of whether ornot they appear continuous onthe
drawing.Thisappliesevenwhentheyappearondifferentsheets.
Ifanetistakentoanothernet,abus,orapinconnectingpoint,thenetline
endsthereandisconnected.Ifnoconnectionismadewhenthenetisplaced,
thenet line continues tobeattached tothemouse.Thisbehavior canbe
changedthroughtheOptions/Set/Miscmenu(usingtheAutoendnetandbus
option).Ifthisoptionisdeactivated,adoubleclickisneededtoendanet.
Netsareshownonlayer91,Nets.
Netsmustendexactlyatapinconnectingpointinordertobejoined.Anetis
notjoinedtothepinifitendssomewhereonthepinline.
EAGLEwillinformyouabouttheresultingnetnameorofferaselectionof
possiblenamesifyouareconnectingdifferentnets.
TheJUNCTIONcommandisusedtomarkconnectionsonnetsthatcrossone
another.Junctionsareplacedbydefault.Thisoption,(Autosetjunction),can
alsobedeactivatedthroughtheOptions/Set/Miscmenu.
NetsmustbedrawnwiththeNETcommand,notwiththeWIREcommand.
DonotcopynetlineswiththeCOPYcommand.Ifyoudothis,thenewnet
lineswon'tgetnewnetnames.Thiscouldresultinunwantedconnections.
IftheMOVEcommandisusedtomoveanetoveranothernet,oroverapin,
noelectricalconnectioniscreated.
To check this, you can click the net with the SHOW command. All the
connected pinsand nets will behighlighted. If aGate ismoved, the nets
connectedtoitwillbedraggedalong.
A simple identifier (without XREF option, see next section about Cross
References)canbeplacedonanetwiththeLABELcommand.Providedyou
havedefinedafineralternativegrid,labelscanbearrangedcomfortablyin
thefinergridwiththeAltkeypressed.

Defining Cross-References for Nets


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

6 From Schematic to Finished Board


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

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

Cross-References for Contacts


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

124

6.1 Creating the Schematic Diagram


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

ElectricalSchematicwithcontactcrossreference

Specifying Net Classes


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

125

6 From Schematic to Finished Board

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

126

6.1 Creating the Schematic Diagram

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

Drawing a bus (BUS)


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

127

6 From Schematic to Finished Board

Busmenu
Theindexofapartialbusnamemayrunfrom0to511.
ThehelpfunctiongivesfurtherinformationabouttheBUScommand.

Pinswap and Gateswap


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

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

128

6.1 Creating the Schematic Diagram

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

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

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

129

6 From Schematic to Finished Board


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

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

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

130

6.1 Creating the Schematic Diagram


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

Attributedialog
ClickingtheATTRIBUTE

iconandthenontoaDeviceopensadialog

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

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

131

6 From Schematic to Finished Board

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

132

6.1 Creating the Schematic Diagram

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

ERC Check and Correct Schematic


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

ortheentryErc...

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

133

6 From Schematic to Finished Board

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

6.1 Creating the Schematic Diagram


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

command,showsthesamestatusasyouleft

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

Organize Schematic Sheets


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

135

6 From Schematic to Finished Board

Points to Note for the Schematic Editor


Superimposed Pins
Pinswillbeconnectediftheconnectionpointofanunconnectedpinisplaced
ontotheconnectionpointofanotherpin.Pinswillnotbeconnectedifyou
placeapinthatisalreadyconnectedtoanetlineontoanotherpin.

Open Pins when MOVEing


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

Duplicating a Section of the Schematic


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

With Consistent Layout


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

Merge Different Schematic Files


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

6.1 Creating the Schematic Diagram

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

With Consistent Layout


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

Multi-Channel Devices
Thisfunctionalitycanbeusedtoeasilycreatemultichanneldevices:

137

6 From Schematic to Finished Board


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

6.2 The Hierarchical Schematic


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

138

6.2 The Hierarchical Schematic

Creating a Module
Click ontotheMODULE icon

tocreateamodule.TheModuleDialog

opens.Typeintheline New: thenameofthemodule,forexampleFILTER.


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

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

139

6 From Schematic to Finished Board


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

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

6.2 The Hierarchical Schematic


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

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

andthenclickthemoduleinstancefortheportto

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

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

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

141

6 From Schematic to Finished Board


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

SelecttheModuleNetforthePort
Theconnectionpointoftheportisdisplayedthesamewayasforpinsof
componentsinlayer93,Pins.

ModuleInstancewithPorts;ontheright:PropertiesDialog

Using Module Instances


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

142

6.2 The Hierarchical Schematic

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

Resulting Component Names in the Layout


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

ModulInstanceName:PartName
SupposedacomponentwiththenameC1isusedinthemoduleFILTERSand
alsousedinamodulenamedPOWERSUPPLY.
Ifthesemodulesarerepresentedbytwomoduleinstancesintheschematic
(Filter1 and Powersupply1),theresulting component names ontheboard
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.
143

6 From Schematic to Finished Board


Theoffsetcanbedefinedonlyformoduleinstancesonmainschematiclevel
andappliesonlytocomponents.Incaseofcomponentsandnetsindeeper
levelsthemoduleinstancenameisalwaysprefixed.
Theoffsethastobeamultipleof100.Itisspecifiedinthepropertiesdialog
of the module instance or directly with the MODULE command in the
commandline.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
AssemblyVariantsbeginningwithpage189.
Moduleassemblyvariantsarelimitedtothemoduleparts.Moduleassembly
variantscanbeusedviathemoduleinstance.Foreachmoduleinstancea
specificmoduleassemblyvariantcanbeselected.
Thereisnodirectswitchingbetweenassemblyvariantsinamodule,butthe
element'svalue,populatestateandattributesintheboardaresetfollowing
thechosenvariantinthecorrespondingmoduleinstance.
Ifusedonschematicmainlevel,theVARIANTcommandworksfortheparts
onmainlevelasitisinnonhierarchicalschematics.
Theassemblyvariantdefinitionsarenowkeptonlyintheschematic.
Forstandaloneboards,assemblyvariants arenolongersupported,butit's
possibletosetthe populateoptionofelementswiththeCHANGEcommand
orinthepropertiesdialog.

Special Features between Schematic and Layout


SHOW command
Showexecutedonamoduleinstancedisplaysallassociatedcomponentsand
signalsinthelayoutgeneratedbythismoduleinstance.
ClickonacomponentinamoduleandEAGLEshowsallcomponentsinthe
boardthataregeneratedbythemultipleuseofamodulethereareseveral
moduleinstancesthatrepresentthesamemoduleintheschematic.

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

144

6.2 The Hierarchical Schematic


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

6.3 Considerations Prior to Creating a Board


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

Agreement with the Board Manufacturer


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

6 From Schematic to Finished Board


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

Specifying the Design Rules


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

DRC:AdjustingtheDesignRules

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

146

6.3 Considerations Prior to Creating a Board


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

ManagetheDesignRules

Layers

Numberofcopperlayers,structureofmultilayer
boards,kindandlengthofvias,thicknessofcopper
andisolationlayers

Clearance Distancesbetweenobjectsinthesignallayers
representingsignalsthatmaybedifferentorthesame
Distance

Distancesfromtheboardedgeandbetweenholes

Sizes

Minimumtrackwidthandholediameter,particularly
forMicroandBlindvias

Restring

WidthoftheremainingringatPadsand(Micro)vias

Shapes

ShapesofPadsandSMDs

Supply

Thermalsymbolsincopperplains

Mask

Valuesforsolderstopandsoldercreammasks

Misc

Additionalchecks

Mostparametersareexplainedwiththehelpofasmallimage.Assoonas
youclickintoaparameterline,theassociateddisplayappears.

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

147

6 From Schematic to Finished Board

DesignRules:LayerSetup
Basicexamples:
1layer:
16

Onlylayer16,novias.

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

Minimum Clearance and Distance


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

148

6.3 Considerations Prior to Creating a Board


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,thevaluesforClearanceandforthedrill
diameterofvias(Drill),definedbymeansoftheCLASScommand,aretaken
intoconsideration,providedthesevaluesarehigherthanthosegiveninthe
DesignRules(ClearanceandMinimumDrillintheSizestab).

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

Restring (Pad and Via Diameter)


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

149

6 From Schematic to Finished Board


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

DisplayingViapropertieswithINFO
Predefinedvalue(byCHANGEDIAMETER):
Actualcalculateddiameterintheouterlayers:
Actualcalculateddiameterintheinnerlayers:

0.7
0.9
0.8

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

6.3 Considerations Prior to Creating a Board

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

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

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

6 From Schematic to Finished Board


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

DesignRules:Adjustingpadshapes
NotesonthedisplayintheLayoutEditor:

152

6.3 Considerations Prior to Creating a Board


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

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

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

153

6 From Schematic to Finished Board

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

Misc
Hereyoucanselect/deselectvariouscheckswhicharemadebytheDesign
RuleCheck:
154

6.3 Considerations Prior to Creating a Board


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

6.4 Create Board


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

6 From Schematic to Finished Board


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

Without the Schematic Editor


IfyouworkwithoutaSchematicEditor,youmustgenerateanewboardfile,
placethePackageswiththeADDcommandanddefinetheconnectionswith
theSIGNALcommand.
Tounderstandthisprocess,pleasereadthesectiononPlacingComponentson
page118,andthesectiononSpecifyingNetClasses onpage125.Thesetwo
pointsapplytotheLayoutEditoraswellastotheSchematicEditor.
YouarealsoallowedtodefineattributesintheLayoutEditor.Pleasereadthe
chapteraboutdefiningAttributesbeginningwithpage130.
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:

156

6.4 Create Board

Boardcommand:Createthelayoutfromtheschematic
TheDevicesareautomaticallyplacedattheleftoftheboard.
The board outline can be drawn as a simple narrow line in layer 20,
DimensionwiththeWIREcommand.
It's easily possible todraw round outlines, too.Therefore use the CIRCLE
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,
MOVE R14
157

6 From Schematic to Finished Board


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

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

,ifthespinflagisnotset(default).

Thismeansthattextsaredisplayedalwaysreadablefromtherightorfrom
thebottomsideofthedrawing.
IfthespinflagisactivaetherighthandSpinnedicon

ismarkedthe

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

158

6.4 Create Board


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

159

6 From Schematic to Finished Board


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

Attributes for Components and Global Attributes


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

Boards with Components on Both Sides


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

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

PACKAGE Command
Itisassumedthatthelayoutandtheschematicdiagramare consistent and
theDevicehasbeendefinedwithmorethanonePackagevariant.

160

6.4 Create Board


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

CHANGEpackagedialog
IftheShowalltechnologiesoptionisactive,thePackageversionsforallthe
technologiesavailableforthisDevicearedisplayed.Ifthisoptionisnotactive
youwillonlyseePackagesthataredefinedintheselectedtechnology.
ThePackagecanalsobeexchangedfromwithintheschematicdiagram.
Devicesthatdon'thavealternativePackagevariantsdefined,canbemodified
in theLibraryEditor.Addfurther Packagevariants asneeded and update
your drawing with the new library definition. See page 254 Choosing the
PackageVariantsforfurtherinformation.
IfyouchangethePackagevariantofaDevicewhichyougaveanewvalue
with the help ofthe VALUE command,although ithasbeen defined with
VALUEOff,thevaluewillremainunchanged.Seealsopage85.
IfyouwouldliketochangethePackagevariantforseveralidenticalparts,
youcandothisinthecommandline.
DefineaGROUPwithallpartsthatshallgetanewPackagevariant,first.
Nowtypeinthecommandline
CHANGE PACKAGE 'new-device-name'
andclickwithCtrl+rightmousebuttonintothedrawing.
ThenameofthenewPackagevarianthastobeenclosedininvertedcommas.

161

6 From Schematic to Finished Board


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

Changing the Technology


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

Define Forbidden Areas


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

6.4 Create Board


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

Routing Placing Tracks Manually


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

163

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
MultilayerBoardsbeginningatpage174.
While laying out wires EAGLE calculates the shortest connection to the
closest point of the current signal automatically. This connection is
representedbyanairwire.
PadsandSMDsthatbelongtothecurrentlyroutedsignalhavethesocalled
magneticpadsfunction:
Withinacertainradiusaroundthepadthewirewillbesnappedtothepad's
centerautomatically.Thatistosayassoonasthelengthoftheautomatically
calculatedairwireisshorterthanthegivenvaluefor snaplength,thewire
jumpsintothepad'sorSMD'scenterpoint.Itdoesn'tmatterwhetherthepad
orSMDisexactlyloactedatthecurrentlyusedgrid.Thesnappointisalways
thecenterpoint.
Assoonasyoumovethemousecursorawayfromthispadbeyondthelimits,
theairwirewillbeshownandthewiretoberoutedfollowsthemouseagain.
ThesnaplengthcanbedefinedinthemenuOptions/Set/Misc.Defaultvalue
is20mil.
As the routing proceeds it is helpful to run the RATSNEST command
frequently,inordertorecalculatealltheairwires.
Formorecomplexboardsitmaybeusefultoadjustthe SnapLength inthe
Options/Set/Miscmenuasdescribedonpage113.
Use RIPUPifyouwanttoconvertthewholeorpartofatrackoraviathat
hasbeenlaidbacktoasignalline.Byclickingonatrackitis decomposed
between the nearest bends. If you click on this location again (on the
airwire),thewholesignalbranchbacktothenearestpadsisdecomposed.If
youwanttoundothewholeofthesignal,clickRIPUPandenterthenameof
thesignalonthecommandline.Morethanonemaybeenteredatthesame
time.
Thecommand
RIPUP GND VCC +5V
convertsthethreesignalsGND,VCCand+5Vbacktoairwires.
RIPUP ! GND VCC
ontheotherhandconvertsallsignalsapartfromGNDandVCCtoairwires.
RIPUP ;

164

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 wire bends(bendmodes)withtherightmousebutton.EAGLE
knowstendifferentmodes(0..9)whichareshownasiconsintheparameter
toolbar.Mode8and9arespecialmodesfortheFollowmerouter.Theyare
notavailable,ifyourlicensedoesn'tsupporttheAutoroutermodule.
HoldingdowntheShiftkeywhileclickingtherightmousebuttonreversesthe
directionofselection.
Holding down the Ctrl key allows to toggle between complementary wire
bends.
If you want to have only some wire bends available for the right mouse
button,youcandefinethis,forexample,intheeagle.scrfile.
Supposedyouwanttoworkwithwirebendsnumber2,5,6,and7usethe
followingsyntax:
SET WIRE_BEND @ 2 5 6 7 ;
However,ifyouwanttouseanotherbendmodeyoucanalwayschoseitfrom
theparametertoolbar.
ItisalsopossibletoleavethetracklayingtotheAutorouterwhichhasits
ownchapterinthismanual.
LayingtrackswiththeFollowmerouterisexplainedinasubsectionof
theAutorouterchapter.

Defining a Copper Plane with POLYGON


EAGLEcanfillregionsofaboardwithcopper.Simplydrawthebordersofthe
areawiththePOLYGONcommand.Thepolygonisdisplayedasadottedline
in the outline mode. You give the polygon a signal name, using NAME
followedbyaclickontotheborderofthepolygon.Thenalltheobjectsthat
carrythissignalareconnectedtothepolygon.Bothpadsand,optionally,vias
(asspecified inthe Design Rules)are joined tothecopperplane through
Thermalsymbols.Elementsnotcarryingthissignalarekeptataspecified
distance.
RATSNEST calculates and displays the surface area ofall polygons in the
layout.IfyoucallRATSNESTwithasignalname,forexample
RATSNEST GND ;
165

6 From Schematic to Finished Board


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

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

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
copperobjectsnotpartofitssignalandobjectsin Dimension, tRestrict or
bRestrictlayer.IfhighervaluesaredefinedforspecialsignalsintheDesign
Rulesornetclasses,thehighervaluesapply.
InthecaseofpolygonswithdifferentRanks, Isolate alwaysreferstothe
drawncontourwhichisshownintheoutlinemodeofthepolygon,evenif
thecalculatedpolygonhasgotanothercontour,forexample,duetoawire
thatsupersedesthepolygon.Theactualclearancecanbecomegreaterthan
thegivenIsolatevalue.
Thermals:
Determines whether pads in the polygon are connected via Thermal
symbols,orarecompletelyconnectedtothecopperplane.Thisalsoapplies
tovias,assumingthattheoptionhasbeenactivatedintheDesignRules.
The widthofthe thermalconnectorsiscalculatedasthehalfofthepad's
drilldiameter.Thewidthhastobeinthelimitsofaminimumofthewire
widthandamaximumoftwicethewirewidthofthepolygon.
Thelengthofthethermalconnectorsisdefinedbythe Thermalisolation
valueintheDesignRules'Supplytab.
Don't choose the polygon's width too fine, otherwise the thermal
connectorswon'thandlethecurrentload.
Thisisalsotrueforbottlenecksintheboard!Thepolygon'swirewidth
determinesthesmallestpossiblewidthofthecopperarea.
Orphans:
Determines if a polygon may contain areas (islands) which are not
electricallyconnectedtothepolygon'ssignal.
IfOrphansissetOffsuchunconnectedareaswon'tbedrawn.
Whendrawingapolygon,pleasetakecaretoensurethattheoutlineis
notdrawnmorethanonce(overlapping)anywhere,andthatthepolygon
outlinedoesnotcrossoveritself.ItisnotpossibleforEAGLEtocompute
thecontentsoftheareainthiscase.
Anerror message 'Signalname' contains an invalidpolygon! is issued,
167

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.SeethesectiononSpecifyingtheDesignRules from
page 146.Tostart theDesign RuleCheckclick ontotheDRCiconin the
commandtoolbar

ortheentryDRC...inthemenuTools.

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

168

6.5 DRC Checking the Layout and Correcting Errors

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

The DRC Errors Window


IftheDesignRuleCheckfindserrors,anerrorwindowopensautomatically.
Itlistsalltheerrorsfound.Thewindowcanbeopenedatanytimebymeans
oftheERRORScommand.

169

6 From Schematic to Finished Board

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

6.5 DRC Checking the Layout and Correcting Errors


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

Error Messages and their Meaning


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

6 From Schematic to Finished Board


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

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

173

6 From Schematic to Finished Board


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

6.6 Multilayer Boards


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

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

Supply Layers with Polygons and More than One Signal


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

174

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
Planeonpage165.
Donotchoosethewirewidthforpolygonstoofine!Thiscanleadtohuge
amountsofplotdataandproblemsforthemanufacturingprocess.

Resticted Areas For Polygons


Forcreatingnoncopperareasforpolygonsininnerlayers,youcanuseaso
called cutout polygon. Such a polygon, with the special fill style cutout,
defines an area which issubtracted from allother signal polygonsin this
layer.Acutoutpolygonmaybedrawwithanywirewidth,even0.Compared
tosignalpolygonsacutoutpolygondoesnotcausehugedatawhencreating
manufacturingdata.
Signalpolygonsrespectthewirewidthofthecutoutpolygon.Thedottedline
ofthecontourisalwaysvisible,howeverdoesnotoccurinthemanufacturing
data.

Multilayer Boards with Through Vias


Thistypeshouldbepreferredifpossible.Viasgothroughallsignallayersand
willbedrilledattheendoftheproductionprocess.Theproductioncostsare
relativelymoderate.

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

(1*2+15*16)

6layers:

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

8layers:

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

175

6 From Schematic to Finished Board


Hereviasalwayshavethelength116.Theyarereachablefromalllayers
(seealsothehelpfunctionforVIA).

Multilayer with Blind and Buried Vias


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

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

6.6 Multilayer Boards


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

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

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

6 From Schematic to Finished Board

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

178

6.6 Multilayer Boards


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

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

179

6 From Schematic to Finished Board

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

180

6.6 Multilayer Boards

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

181

6 From Schematic to Finished Board

Example5:LayerSetupforan8layerboard

Hints For Working With Blind, Buried, and Micro Vias


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

182

6.6 Multilayer Boards


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

Micro Via A Special Case of Blind Via


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

183

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

6.7 Editing and Updating Components


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

6.8 Differential Pairs And Meanders


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

6 From Schematic to Finished Board


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

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

6.8 Differential Pairs And Meanders


CoordinatesgiveninthecommandlinewhileroutingaDifferentialPairform
acenterlinealongwhichtheactualsignalwiresareplacedleftandright
withtheproperdistance.

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

Specifying a Certain Length


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

Symmetric and Asymmetric Meanders


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

6 From Schematic to Finished Board


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

Length Tolerance Display

LengthDisplay:Targetlength5.125inch,currentlybothsignals
reached93.3%
The value defined in Design Rules, Misc tab for Max. length difference in
differential pairs is used to select the color when displaying the length
deviationswhiledrawingameander.Ifthepercentageisshowningreen,the
respectivesegmentlieswithinthegiventolerance.Otherwisethepercentage
isdisplayedinred.Thedefaultforthisparameteris10mm.Measuringsignal
lengths
Ifyouclickonasignalwirewiththe Ctrl keypressed,thelengthofthat
signal segment will be measured and displayed on the screen in a little
indicatornearthemousecursor.Youcanusethistomeasurethelengthofa
given signalsegment anditasthetargetlength for meandering an other
segment.
IfyoudothemeasuringwithCtrl+Shiftpressed,themaximumlengthofthis
or any previously selected segments will be taken. This can be used to
determinethemaximumlengthofseveralbussignalsandthenmeandering
eachofthemtothatlength.

188

6.9 Assembly Variants

6.9 Assembly Variants


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

Creating Assembly Variants


Assoonasyouhavefinishedyourproject,oratleasttheschematic,youcan
define assembly variants. The default assembly variant (which is the
schematic/layout you just finished) should already contain all the
componentswhichwillbeusedinthedifferentassemblyvariants.Basedon
the default variant open the Assembly Variants dialog through the menu
entryEdit/Assemblyvariants....Thisdialogshowsallthecomponentswithits
name,value,technology,andthedescriptionofthedevice.
ClickontotheNewbuttoninordertodefineanassemblyvariant.Itwillbe
shownintheAssemblyvariants windowthen.Itsnameisvisibleinthetitle
bar.Belowyoufindthreecolumns:Acheckbox,value,andtechnology.
Ifthecheckboxischecked,thecomponentwillbepopulated.Ifyouwantit
not to be populated, uncheck it. If not populated, the component will be
crossed outin theschematicdrawing. Thisindicates: notavailablein this
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.

189

6 From Schematic to Finished Board

Assemblyvariantswindow

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

Assembly Variants and CAM Processor


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

190

6.9 Assembly Variants


Therecommendedprocedureistosetthevariantintheschematicandsave
schematicandboard.ThenruntheCAMProcessor.
Inboardswithoutschematicitispossibletochangethe Populate optionof
componentsviatheCHANGEcommandorviathepropertiesdialog.

6.10 Print Out Schematic and Layout


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

Settings of the Print Dialog


Whentheprintericonontheactiontoolbar

isclicked,thePRINTdialog

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

191

6 From Schematic to Finished Board

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

6.10 Print Out Schematic and Layout


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

6 From Schematic to Finished Board


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

6.11 Combining Small Circuit Boards on a


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

194

6.12 Consistency Lost between Schematic and Layout

6.12 Consistency Lost between Schematic


and Layout
Itisveryimportantduringthedesignthatthecontentoftheschematicand
thelayoutexactlycorrespondtoallowfor design congruency.Eagleusesa
Forward&Back annotationtoperform thistask.General informationabout
thiscanbefoundinthechapteraboutForward&BackAnnotationbeginning
withpage106.
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.
Incaseyoucloseoneofthetwo editorwindowsEAGLEpromptsaneye
catchingyellowandblackwarningontopofthedrawingareawhichtellsyou
thatForward&BackAnnotationhasbeensevered.Pleasereloadthefileagain.

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

195

6 From Schematic to Finished Board

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

Thedifferencesaremarkedinbotheditorwindows
196

6.12 Consistency Lost between Schematic and Layout


Don'tforgettosavethefilesnowandremembertoleavebothfilesloaded
simultaneouslyallthetime.

Criteria For Consistency


Therearesomerulesthathavetobefulfilledinordertohaveconsistency
betweenschematicandlayoutandtheForward&BackAnnotationworking.In
thefollowinglisttherearementionedthemostimportantitems:

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

Correspondingcomponentshavetohavethesamevalues.

UsetheVALUEcommandinordertoadjustthevalues.

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

Netsintheschematicandsignalsinthelayouthavetobelongto
identicalnetclasses.

CHANGECLASSorusethepropertiesdialogofthenet/signal
inordertoadjustthenetclassesandtheirvaluesforwidth,
clearanceanddrill.

Assemblyvariantsinschematicandboardhavetobeidentical;
Theremustbethesamenumberofvariantsandidenticvariant
names.Additionallythepopulationoptionsofthecomponentshave
tobethesame.

UsetheVARIANTcommandforadjustingthis

Ifthereareattributesdefinedforcomponents,theattributename
andtheattributevaluehavetobethesameinschematicandboard.
Itisallowedtohaveadditionalattributesdefinedinthelayout
editorwhicharenotavailableintheschematic,butnotviceversa.

ChecktheATTRIBUTEcommand
Ifthereareattributesthataredefinedinthelibrary,itmightbe
helpfultousetheREPLACEcommandinordertoreplacesuch
componentsandupdatetheattributeinformation.

197

6 From Schematic to Finished Board

Thedefinitionofthepackageinschematicandboardhastobe
exactlythesame.Therearedifferentoptionsinordertoeliminate
suchdiscrepancies:

UsetheREPLACEcommandinthelayouteditorinorderto
exchangethepackagewithadefinitionthatmatchesthe
packageusedintheschematic.

Exchangeofawholedeviceintheschematiceditorwiththe
REPLACEcommandorreplacementofthecomponentswith
apackagedefinitionusedinthelayouteditor.
Pleasetakecareonattributes,aswell(seeabove).

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

Consistency Indicator
Inthebottomrightcorneroftheeditorwindowyoucanseeanindicatorthat
gives,dependingonitscolor,informationaboutconsistency.
Gray

F&BAnnotationnotpossible
Onlyonefileloaded

Yellow F&BAnnotationnotavailable
SCHandBRDhavedifferentnames
Pink

F&BAnnotationnotactive
SCHandBRDarenotconsistent

Green

F&BAnnotationisactive
SCHandBRDareconsistent

Consistencyindicator
Theexclamationmarkrightoftheconsistencyindicatorremembersyouthat
thedrawingiscurrentlynotsaved.

198

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

7 The Autorouter

7.2 What Can be Expected from the


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

7.3 Controlling the Autorouter


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

7.3 Controlling the Autorouter


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

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

Routing Pass
Theactualroutingpassisthenstarted,usingparameterswhichmakea100%
routingaslikelyaspossible.Alargenumberofviasaredeliberatelyallowed
toavoidpathsbecomingblocked.

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

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

201

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

Track Width and Net Classes


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

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

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

202

7.4 What Has to be Defined Before Autorouting


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

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

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

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

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

7.4 What Has to be Defined Before Autorouting


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

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

Restricted Areas for the Autorouter


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

205

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

Cost Factors and Other Control Parameters


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

206

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.

207

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

Routing Variants Dialog


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

208

7.5 The Autorouter Menu

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

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

209

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

AutorouterMainSetup:Restartinganinterruptedjob
TheAutorouter'sworkcanbeundonebytheUNDOcommand.

7.6 How the Cost Factors Influence the


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

210

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

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

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

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

cfBonusStep, cfMalusStep: 1..3


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

cfPadImpact, cfSmdImpact: 0..10


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

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

212

7.6 How the Cost Factors Influence the Routing Process


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

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

cfPolygon 0..30
IfapolygonhasbeenprocessedwiththeRATSNESTcommandandtherefore
isdisplayedasafilledareabeforeyoustarttheAutorouter,everystepwithin
thepolygonisassociatedwiththisvalue.Alowvaluemakesiteasierforthe
Autoroutertoroutetracesinsidethepolygonarea.Theprobability,however,
thatthepolygonisbrokenintoseveralpiecesishigher.Ahighervaluecauses
theAutoroutertomakefewerconnectionsinsidethepolygon.
IfapolygonisinoutlinemodeandnotprocessedbyRATSNESTbeforeyou
start the Autorouter, itwon't betaken into consideration 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.
213

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

7.8 Routing Multi-Layer Boards with


Polygons
Itispossibletocreatesupplylayerswithpolygonsthatcontainmorethanone
supplyvoltage,andindividualwiresaswell.Pleasenotetheinstructionson
page174,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!

214

7.8 Routing Multi-Layer Boards with Polygons


TheAutorouter is allowed toset Blindvias thatare shorter thanthe
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.jobalwayscontainsthe laststatusofthejobs,where xxstands
forthenumberofthevariant,alwaysbeginningwith00.
Ifthejobisinterruptedforanyreason(powerfailureetc.)thecomputertime
investedsofarisnotlost,sinceyoucanrecallthestatussavedinname.job.
LoadyourboardfileintheLayoutEditor,andthenenter:
AUTO;
Answer the prompt as to whether the Autorouter should recall (Continue
existingjob?)withYes.TheAutorouterwillthencontinuefromthepositionat
whichthejobwaslastsaved(amaximumof10minutesmaybelost).
If the autorouting is interrupted via the stop icon, the files name_xx.job
remainintactandcanberecalled.Thismaybeusefulwhenyouhavestarted
acomplexjobonaslowcomputerandwanttocontinuewithitonafast
computerassoonasoneisavailable.
Pleasenotethatchangingtheparametersbeforerecallingwillnotinfluence
thejob,sinceitwillhavebeensavedtogetherwiththeparameters which
werevalidatthetimeoftheinitialAutorouterstart.
WhentheAutorouterhasfinished,theroutedboardissavedas name.b$$.
Youcanrenameitto name.brd anduseit,forinstance,ifapowerfailure
occurredaftertheautoroutingrunandyoucouldnotsavetheboardfile.This
fileisdeletedautomaticallyaftertheboardhasbeensaved.

7.10 Information for the User


Status Display
Duringtherouting,youarehavetheoptiontoselectdifferentVariantsfrom
thelistandobservetheroutingprogress.

The Autorouter displays information on the actual routing result of the


selectedRoutingvariantinthestatusbar.

215

7 The Autorouter

Autorouter:StatusBar

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

216

7.10 Information for the User


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

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

7.11 Evaluate the Results


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

217

7 The Autorouter

Autorouter:Evaluatingtheroutingresults

7.12 Parameters of a Control File


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

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

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

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

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

=
=

0
1

=
=

1
0

mnVias
mnSegments
mnExtdSteps

=
20
= 9999
= 9999

218

Basic costs for a step in the given layer

Maximum number of...


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

7.12 Parameters of a Control File


mnRipupLevel
mnRipupSteps
mnRipupTotal

=
=
=

100
300
200

tpViaShape

= Round

PrefDir.1
PrefDir.2

=
=

|
0

PrefDir.15
PrefDir.16

=
=

0
-

Ripups per connection


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

7.13 Practical Hints


Thissectionpresentsyouwithsometipsthathave,overaperiodoftime,
beenfoundusefulwhenworkingwiththeAutorouter.
Lookontheseexamplesassignpostssuggestingwaysinwhichaboardcanbe
routed.Noneofthesesuggestionsguaranteesuccess.

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

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

219

7 The Autorouter

SMD Boards With Supply Layers


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

Max. one via per connection

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


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

What can be done if not all signals are routed?


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

7.14 The Follow-me Router


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

7.14 The Follow-me Router

Partial and Full Mode


TostarttheFollowmerouter,activatetheROUTEcommandandselectthe
wirebendmode8or9fromtheparametertoolbar.

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

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

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

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

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

7.14 The Follow-me Router


Thevalue for Segments defines themaximumnumber ofwire segmentsa
connectionmayconsistof.Ifyouchooseittoosmall,itmayhappenthatno
connectionwillbeestablished.

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

223

7 The Autorouter

This
page
hasbeen
leftfree
intentionally.

224

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 81 on. Please read this
paragraphbeforeyoucontinuetoreadthecurrentchapter!
Somepracticalexamplesfollow,fromwhichtheeffectiveapplicationofthe
relevant commands and parameters will be seen. First we will take the
exampleofaresistorandgothroughthewholeprocessofdesigningasimple
component.
Thesecondexampleprovidesafulldescriptionofthedefinitionofacomplex
component,includingvariousPackagevariantsandtechnologies.Afterthat
weshalldiscussthespecialfeatureswhichhavetobetakenintoaccountwith
morecomplicatedcomponents.
Startingatpage281hintsconcerninglibraryandDevicemanagementcanbe
found.Howtocreatemyownlibrary?Howtocopyelementsfromonelibrary
intoanother?
FirstattemptsateditingPackages,Symbols,orDevicesmayresultintheneed
todeletevariouslibraryelements.Todothis,usetheREMOVEcommand
(seepage284).

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

8 Component Design Explained through Examples

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

Set the Grid


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

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

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

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

226

8.1 Definition of a Simple Resistor


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

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

Silkscreen and Documentation Print

NowusethecommandsWIRE,ARC,CIRCLE,RECT,

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

227

8 Component Design Explained through Examples

ThePackageEditor

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

228

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 canthen beentered inthe
lowerpartofthewindowwhichthenopens.HTMLtextcanbeused,which
permitsformattingofthetext.Youwillfinddetailedinformationinthehelp
systemunderHTMLText.
Example:
<b>R-10</b>
<p>
Resistor 10 mm grid.
Keywords from this text can be searched for from the ADD dialog in the
layout.
Donotforgettosavethelibraryfromtimetotime!

Note
The CHANGE command

can be used at a later stage to alter object

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

,clicktheCHANGEcommand,select

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

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

229

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

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

Pinfunctions

230

8.1 Definition of a Simple Resistor


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

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

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

TheElectricalRuleCheckexecutes,dependingonthepindirection,various
checks.Itexpectsforthedirection
231

8 Component Design Explained through Examples


NC
In
Out
OC
Pwr
IO,Hiz,Pas

anotconnectedpin
anetconnectedtothispinandnotonlyInpins
connectedtothisnet
notonlyOutpinsconnectedtothenet,noSuporOC
pinatthesamenet
noOutpinatthesamenet
aSuppinsetforthisnet
nospecialchecks

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

Pin Names
TheNAMEcommandallowsyoutonamepinsaftertheyhavebeenplaced.
Theautomaticnameallocation,asdescribedonpage101alsooperates.

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

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

8.1 Definition of a Simple Resistor

TheSymbolEditor

Resistor Device
Define a New Device
CreatethenewDeviceR10withthisicon.WhenyoulaterusetheADD
commandtofetchthecomponentintotheschematic,youwillselectitby
usingthisname.Itisonlyacoincidencethatinthiscasethenameofthe
PackageandthenameoftheDevicearethesame.
So enter the name R 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.
SetanAddlevelofNextandaSwaplevelof0intheparametertoolbar,and
thenplacetheGatenear theorigin. There are further explanationsabout
Addlevelfrompage268on.
TheSwaplevelofaGatebehavesverymuchliketheSwaplevelofapin.The
valueof0meansthattheGatecannotbeexchangedforanotherGateinthe
Device.Avaluegreaterthan0meansthattheGatecanbeswappedwithin
233

8 Component Design Explained through Examples


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

Selecting the Package


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

ThePackageselection

Connections Between Pins and Pads


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

8.1 Definition of a Simple Resistor

TheCONNECTwindow
ConnectioncolumnandclickDisconnect.
Clickingonacolumn'sheaderbarchangesthesortingsequence.
FinishtheCONNECTcommandbyclickingonOK.

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

Value
On:

Youareallowedtochangethevalueintheschematic(forexample
forresistors).Withoutavaluethepartwillnotbespecifiedexactly.

Off:

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

235

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!

236

8.1 Definition of a Simple Resistor

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

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

8.2 Defining a Complex Device


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

237

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.

238

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 toselectthelibrary youwant, oryouwould
click on the Libraries entry in the Control Panel's tree view, selecting the
desiredlibrarywithaclickoftherightmousebutton.Thiswillopenacontext
menu,oneofwhoseoptionsisOpen.TheLibraryEditorisopened.

Drawing the Pin-Leaded Package


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

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

239

8 Component Design Explained through Examples


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

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

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

8.2 Defining a Complex Device


copperarea.
CHANGE STOPOFFpreventsautomaticsolderstopmaskgenerationfora
pad.

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

Draw the Silk Screen Symbol

Asimplesilkscreensymbolthatistobevisibleon

the board is drawn in layer 21, tPlace. Use the commands WIRE, ARC,
CIRCLE,RECT,andPOLYGON.
Ensurethatitdoesnotcoversolderedareas,sincethiscancauseproblems
whentheboardscometobesoldered.Ifnecessary,usetheGRIDcommandto
set a finer grid or use the Alt key for the alternative grid (see GRID
command).Thestandard width(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

241

8 Component Design Explained through Examples


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

Areas Forbidden to Components

Inlayer39,tKeepout,youshouldcreatearestrictedareaoverthe

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

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

242

8.2 Defining a Complex Device

PackageEditorwithDIL14

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

Defining the SMD Package


Thesecondtypeofhousingforthiscomponentmaybeseeninthefollowing
scaledrawing.

243

8 Component Design Explained through Examples

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

Set the Grid


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

244

8.2 Defining a Complex Device


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

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

8 Component Design Explained through Examples


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

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

8.2 Defining a Complex Device


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

Draw the Silk Screen


Firstsetthegrid

toasuitablevaluesuchas0.254mm(10mil).

Drawthesilkscreenprintinlayer21,tPlace.

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

Package Name and Package Value


Thelabelingnowfollows.UsetheTEXTcommandandwrite
>NAME
inlayer25,tNames,forthenameplaceholder,and
>VALUE
in layer 27, tValues, as the placeholder for the value, and place this at a
suitablelocation.Thetextscanbeseparatedandrelocatedatalaterstage
usingSMASHandMOVE.
Werecommendtowritethesetextsinvectorfont.Soyoucanbesurethat
it looks exactly the same on theprinted boardasit is in theLayout
Editor.

Area Forbidden to Components

Inlayer39,tKeepout,youshouldcreateaforbiddenareaoverthe

wholecomponent (RECT command)ordrawaframearound thePackage


withtheWIREcommand.ThisallowstheDRCtocheckwhethercomponents
onyourboardaretooclose,orevenoverlapping.

247

8 Component Design Explained through Examples


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

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

Save

ThefullydefinedLCC20
Pleasedonotforgettosavethelibraryfromtimetotime!

248

8.2 Defining a Complex Device


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

Defining the Logic Symbol for the Schematic


Diagram
OurDevicecontainsfourORgates,eachhavingtwoinputsandoneoutput.
WefirstcreateanORsymbol.

Logicalappearanceofthe541032

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

Check the Grid


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

Place the Pins


SelectthePINcommand,andplace3pins.Thepinpropertiescanbe
changedbymeansoftheparametertoolbaraslongasthepinisattachedto
themousecursorandhasnotbeenplaced.Ifapinhasalreadybeenplaced,
249

8 Component Design Explained through Examples


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

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

Draw the Symbol


UsetheWIREcommandtodrawtheSymbolinlayer94,Symbols.The
standardlinethicknessfortheSymbolEditoris10mil.Youmayalsochoose
anyotherlinethickness.

Placeholders for NAME and VALUE


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

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

Save
Thisisagoodmomenttosavetheworkthatyouhavedonesofar.
250

8.2 Defining a Complex Device


Supposed you found a Symbol that is exactly the one you need use
GROUP,COPY,andPASTEtocopyitintothecurrentlibrary.Seealso
page282.

TheSymbolEditor:Logicsymbol(Americanrepresentation)

Defining a Power Supply Symbol


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

Check the Grid


Firstcheckthatthegridissettothedefaultvalueof0.1inch.Onlyever
usethisgridwhenplacingpins!

Place the Pins


FetchandplacetwopinswiththePINcommand.Thecoordinateorigin
shouldbesomewherenearthecenteroftheSymbol.
251

8 Component Design Explained through Examples


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

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

Placeholders for NAME and VALUE


Forthecomponentlabelling,usetheTEXTcommandintheschematic
diagramtowrite
>NAME

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

252

8.2 Defining a Complex Device

Associating the Packages and Symbols to Form a


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

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

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

Naming the Gates


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

8 Component Design Explained through Examples


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

Specify Addlevel and Swaplevel


The Addlevel can be used to specify how the gates are placed in the
schematicdiagrambytheADDcommand.YoucanseethecurrentAddlevel
foreachGatewrittenaboveleftinlayer93,Pins.
AssigntheAddlevel NextforGatesAtoD,andtheAddlevelRequestto
thepowersupplygate.DothisbyclickingontotheCHANGEicon,selecting
theAddlevelentry,andthenselectingthedesiredvalueforagate.Thenclick
ontheGateyouwanttochange.
ThismeansthatassoonasthefirstORgatehasbeenplacedontheschematic
diagram,thenextoneisattachedtothemousecursor.All4gatescanbe
placedoneafteranother.Thepowergatedoesnotautomaticallyappear.You
can,however,fetchitintotheschematicdiagramifnecessary,bymakinguse
oftheINVOKEcommand.
TheparameterADDLEVELisdescribedinfulldetailinthesectionentitled
MoreAbouttheAddlevelParameteronpage268.
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.
254

8.2 Defining a Complex Device


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

The Connect Command

Thepinassignmentforthe
packages
This mustbe themostimportantstepin thelibrary definition. CONNECT
assigns each pin to one ore more pads. The way in which nets in the
schematicdiagramareconverted intosignallines inthelayoutisdefined
here.Eachnetatapincreatesasignallineatapad.Thepinassignmentfor
the541032isspecifiedinthedatasheet.Checktheconnectsinthelibrary
withcare.Errorsthatmaypassunnoticedherecanmakethelayoutuseless.
SelecttheJversionfromthePackagelistandclicktheCONNECTbutton.The
connectwindowopens.

255

8 Component Design Explained through Examples

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

256

8.2 Defining a Complex Device


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

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

Specifying the Prefix


TheprefixoftheDevice nameisdefined simply by clickingon the 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
257

8 Component Design Explained through Examples


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

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

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

Save
ThiscompletesdefinitionoftheDeviceset.Ifyouhavenotalreadysavedthe
library,pleasedoitatthisstage!

258

8.3 Supply Voltages

8.3 Supply Voltages


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

Invisible Supply Pins


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

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

259

8 Component Design Explained through Examples

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

Pins with the Same Names


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

8.3 Supply Voltages


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

8.4 One Pin Multiple Pads Connections


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

Connect:OnepinisconnectedtothreepadsinAnymode
Furtherinformationcanbefoundinthehelp,EditorCommands/CONNECT.

261

8 Component Design Explained through Examples

8.5 Supply Symbols


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

SupplysymbolforGND

262

8.5 Supply Symbols


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 attributesforthePackagevariant N,whichisthe DIL14
Package.ThereforeclickontoentryDIL14(VariantN)inthePackageliston
therighthandsideoftheDeviceEditorwindow.NowclicktheATTRIBUTE
command icon

in the menu bar or onto the text Attributes in the

descriptionwindowbelowtherepresentationoftheDevice.Thefollowing
Attributewindowwillappear.
ThisdialoginitiallyshowstheTechnologiesavailableforthePackagevariant
N.ClickingtheNewbuttonopenstheNewAttributewindow.Pleaseenter,for
example,Heightfortheattribute's nameand0.16infortheattribute'svalue.
Thelinebelowdetermineswhetheritisallowedtomodifythevalueofthe
263

8 Component Design Explained through Examples

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

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

264

8.6 Attributes

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

AlltheAttributesfor74*05,VariantN

265

8 Component Design Explained through Examples


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

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

Placeholders in Symbol and Package


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

266

8.7 External Devices without Packages

8.7 External Devices without Packages


Asocalled ExternalDevice canbeusedtorepresent componentsorobjects
thatneedtoappearintheschematicbutarenotpartoftheboarddesign.
There can be additional components, measurement equipment, cables,
mounting materials and so on. It could be used for testing or simulating
purposes,orforanelectricschematic,aswell.
An external device is created in the library the same way as any other
component.Thesymbolmayhavepinsofany direction. CreatetheDevice
andADDthesymbol(s)asusual.
Formarkingthedeviceasanexternal devicecreatean attributewith the
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

267

8 Component Design Explained through Examples


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

8.9 More about the Addlevel Parameter


TheAddleveloftheGatesthathavebeenfetcheddeterminesthemannerin
whichtheseGatesarefetchedintotheschematic,andunderwhatconditions
itcanbedeletedfromtheschematic.

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

Relay: Coil and First Contact must be Placed


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

268

8.9 More about the Addlevel Parameter

Relaywithonecoilandthreecontacts

Connector: Some Connection Pins can be Omitted


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

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

ConnectorsymbolfortheSchematic
ThenfetchtheSymbolten times into anewly created Device, settingthe
AddlevelineachcasetoAlways,andusetheCONNECTcommandtocreate
theconnectionsbetweentheSMDsandthepins.Whenyounowfetchthis
Deviceintoaschematic,alltheconnectionsappearassoonasitisplaced.
IndividualconnectionscanberemovedwithDELETE.

269

8 Component Design Explained through Examples

AfterADD,alltheconnectionsarevisibleintheschematic

Connector with Fixing Hole and Restricted Area


Aconnectoristobedefinedhavingfixingholes.Onthesolderside(bottom),
theAutoroutermustavoidbringingtracksclosertotheholesthanacertain
distance.

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

270

8.10 Defining Components with Contact Cross-References

8.10 Defining Components with Contact


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

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

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

271

8 Component Design Explained through Examples


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

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

8.11 Drawing Frames


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

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

272

8.11 Drawing Frames


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

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

273

8 Component Design Explained through Examples


references.Moredetailsaboutthiscanbefoundinthehelpfunctioninthe
sectionContactcrossreferences.

8.12 Components on the Solder Side


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

.Thereforeclickontothecomponentwiththemouse

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

8.13 Components with Oblong Holes


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

274

8.14 Arbitrary Pad Shapes

8.14 Arbitrary Pad Shapes


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

275

8 Component Design Explained through Examples

8.15 Creating New Package Variants


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

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.Incasethereisalreadyapackagewith
thesamenameinyourlibrary,itwillbeupdatedwiththecopiedpackage
automatically.AsanalternativeyoucouldusethePACKAGEcommand.
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.
276

8.15 Creating New Package Variants


Typeinthecommandline:
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
NowonthelowerrightoftheDeviceEditorwindowanew entry forthe
PackageSO14andthevariantnameTESTappears.
On the left a black exclamation mark on yellow ground is shown which
indicatesthattherearenoconnectionsbetweenpinsandpadsdefinedyet.

DeviceEditor:ListofPackageVariants

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

Connect Command
ClicktheConnectbuttonnow.TheConnectwindowopens.Connectpinswith
padsbyclickingonthepinandpadentriesbelongingtogetherasdescribedin
paragraph8.2.
Itisalsopossibletoadaptthepin/padconnectionsfromanalreadyexisting
Package variant. In our example the assignment does not differ from the
277

8 Component Design Explained through Examples


DIL14Package.ThereforeselecttheentryDIL14fromtheCopyfrom:combo
box.
AfterclickingOKtheCONNECTcommandisfinished.

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

Save
ThedefinitionofthePackagevariantisfinished.Nowitistimetosavethe
library.

Using a Modified Package from Another Library


IfthereisnoappropriatebutasimilarPackageavailableinanotherlibrary
youshouldcopythePackageinthecurrentlibraryfirst,thenmodifyit,and
useitafterwardsasnewvariantfortheDevice.

Copying the Package


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

8.15 Creating New Package Variants


IftheControlPanelandtheLibraryEditorwindowarearrangedinaway
thatbothwindowsarevisible youcanmovethePackageinto theLibrary
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,forexample, bythemenu Libraries/Device. The Edit
window opens. Select the entry 54*1032A. Click OK to open the editor
window.
UsetheNewbuttontodefineanewvariant.SelectthePackageMYSOP14in
theselectiondialogand enter, forexample, TEST2 as 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
alreadyexplained inthischapter. Here weonlywant toelaborateonthe
rotationofPackages.
Packages can be defined in any rotation! Schematic Symbols can be
rotatedin90degreesstepsonly!

Rotating a Package as a Whole


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

279

8 Component Design Explained through Examples


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

Packages with Radial Pad Arrangement


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

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

280

8.17 Library and Part Management

8.17 Library and Part Management


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

8 Component Design Explained through Examples


Thegroupwillbemovedbyavalueof10(gridunits)inxdirection.
ThisprocedurecanbeappliedtoSymbolstoo!

From One Library into Another


Devices
IfthereisaproperDeviceorDevicesetthatyouwanttouseinyourcurrent
libraryyoucancopyitintwodifferentways.
IntheControlPanel:
Move(with Drag&Drop)therequestedDevicesetfromtheControlPanel's
treeviewintotheopenedLibraryEditorwindow.ThecompleteDeviceset
withSymbol(s)andPackage(s)willbecopiedandnewlydefined.
AsanalternativeyoucouldusetheentryCopytoLibraryinthecontextmenu
oftheDeviceentry.
WiththeCOPYcommand:
Type,forexample,
COPY 75130@751xx.lbr
orwiththewholepath
COPY 75130@d:\eagle\lbr\751xx.lbr
inthecommandline,theDevice75130fromlibrary751xx.lbriscopiedinto
thecurrentlyopenedlibrary.
Ifthepathcontainsspacesusesinglequotesforit,forexample:
COPY '75130@d:\P A T H\751xx.lbr'
IftheDeviceshouldbestoredinthecurrentlibraryunderanewnamesimply
enterit,likehere:
COPY 75130@751xx.lbr 75130NEW
Symbols
Symbols can be copied similar to Devices. Either by Drag&Drop from the
ControlPanelintotheopenLibraryEditorwindoworwiththehelpofthe
contexmenuentryCopytoLibrary.
YoucanalsousetheCOPYcommand,forexample:
COPY diode.sym@npn.lbr diode-new
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,
282

8.17 Library and Part Management


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 thePackageshouldbestored inthe current library under a new name
simplyenteritdirectlyinthecommandline:
COPY DIL16@\eagle\mylbr\751xx.lbr DIL16NEW
ThePackageisstoredwiththenewnameDIL16NEWnow.
IfyouwanttocopyaPackagethatalreadyexistswiththesamenameinthe
targetlibrarythePackagewillbesimplyreplaced.
IfthePackageisalreadyusedinaDeviceandthepositionorthenameofone
ormorepads/SMDschanges,EAGLEpromptsamessageinwhichmodethe
pads/SMDsare tobe replaced.Thisprocedure canalsobecancelled. The
Packageremainsunchangedthen.
Iftheenumerationandpositionofthepadsareunchangedbuttheorderis,
EAGLEwillaskyoufortheappropriateupdatemode.Dependingonyour
selectionthepin/padconnectionsoftheDevicemaychange(seeCONNECT
command).

RequestingtheUpdateMode

Composition of Your own Libraries


Thepreviouslymentionedmethodstocopylibraryelementsmakeitveryeasy
tocomposeyourownlibrarieswithselectedcontents.
ProvidedtheControlPanelandtheLibraryEditorwindowarearrangedina
mannerthatbotharevisibleonthescreenatthesametime,itisveryeasyto
makeuserdefinedlibrarieswhilebrowsingthroughthelibrarycontentsin
the Control Panel. Simply use Drag&Drop or the context menu Copy to
LibraryofthecurrentDeviceorPackage.
283

8 Component Design Explained through Examples

Removing and Renaming Library Elements


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

Update Packages in Libraries


AsalreadymentionedinthesectionCopyingofLibraryElementsitispossible
to copy Packages from one library into another one. An already existing
Packageisreplacedinthatcase.
EachlibrarycontainsPackageswhichareneededforDevicedefinitions.In
many libraries identical types of Packages can be found. To keep them
uniformoveralllibrariesitispossibletoreplaceallPackagesofalibrarywith
284

8.17 Library and Part Management


thoseofanotherlibrarywiththehelpoftheUPDATEcommand.Anexisting
Packagewiththepropernamewillbereplacedbythecurrentdefinition.
Ifyouhave,forexample,specialrequirementsforPackagesyoucoulddefine
theminacustombuiltPackageorSMDlibrary.TheUPDATEcommandcould
transferthemtootherlibraries.
Thereforeopenthelibrarytobeupdatedandselect Library/Update....Now
selectthelibrarywhichyouwanttotakethePackagesfrom.
HavingfinishedtheupdateEAGLEreportsinthestatusbar:
Update:finishedlibrarymodified!
Iftherewasnothingtoreplace:Update:finishednothingtodo.
Itisalsopossibletousethecommandlineforthisprocedure.
IfyouwanttoupdateyourlibrarywithPackagesfrom,forexample,
refpackages.lbr,type:
UPDATE ref-packages.lbr
TotransferPackagesfromdifferentlibraries,typeinoneafteranother:
UPDATE ref-packages.lbr rcl.lbr smd-special.lbr
ToupdateasinglePackage,typeinthePackagename:
UPDATE SO14@ref-packages
Theextension.lbrisnotnecessary.Youmayalsousethewholelibrarypath.
Seepage282forfurtherinformation.

285

8 Component Design Explained through Examples

This
page
hasbeen
leftfree
intentionally.

286

Chapter 9
Preparing Manufacturing Data
Data output for board manufacturing is made with the help of the CAM
Processor.PCBmanufacturerusuallyworkwithdrilldatainExcellonformat
andplotdatain Gerber format.Howtogeneratesuchdataandwhichdata
you have to pass on to your PCB manufacturer will be explained in this
chapter.
AlotofPCBmanufacturersgeneratethesedatawithEAGLEbythemselves.
Insuchacaseyouhavetopassontheboardfileonlyandyouneednotcare
aboutdatageneration.YouwillfindlinkstosuchfirmsonourInternetpages.
Withthehelpof pcbservice.ulp youwillbedirectedto element14.com and
mayhavean offerofpartnersfromFarnell/Newarkformanufacturingyour
printed circuit board. Based on your layout and the Design Rules, key
parametersformanufacturing,likeboardsize,minimumdrillsize,andsoon
aredetermined.
Your design should be complete and have passed a DRC successfully. By
clickingontothelinkintheULPdialogwindowyouwillbedirectedtothe
quotesiteofelement14,wheretheseparameterswillbetransferred,aswell
(loginnecessary).Withafewstepsyougetaquoteformanufacturingyour
board.
If,however,yourboardmakerisnotsetuptoprocessEAGLEboardfiles
directly, you will have to supply them with a set of files. What will be
requiredwillbediscussedinthefollowingsections.
AdditionalusefulUserLanguagePrograms(ULPs)areavailableonCadSoft's
Internet pages.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?
ThePCBmanufacturerrequiresspecificinformationpertainingtoeachstep
in the manufacturing process of your board. This special information is
describedinafilecontainingplotand/ordrillinginformation.
Forexample,onefileforeachsignallayer,forthesilkscreen,forthesolder
287

9 Preparing Manufacturing Data


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

Gerber Plot Data


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

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

288

9.1 Which Data do we Need for Board Manufacture?


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

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

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

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

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

289

9 Preparing Manufacturing Data


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

SM1000 and SM3000


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

Further Drill Data Devices


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

Prototype Manufacture With a Milling Machine


WiththehelpofvariousUserLanguageprogramsyoucangenerateoutline
dataformillingaprototypeboard.

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

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

290

9.1 Which Data do we Need for Board Manufacture?


ThisULPexportsforexampleCNCorHPGLformatteddataorgeneratesa
Scriptfilewhichcanbeimportedintothelayoutagain.Themillingcontours
canbeviewed,orevenmodified,ifrequired.Generatethemillingdatawith
theCAMProcessorandoneofitsdevices,likeGerber,HPGLorPSthen.

Film Generation Using PostScript Files


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

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

291

9 Preparing Manufacturing Data

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


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

Generatesonefilewithcoordinatesof
thecenteredpartorigins

mountsmd.ulp

CenteredoriginsforSMTdevices;onefilefor
topandonefileforbottomside

ULPsforcircuittester(selection):
dif40.ulp

DIF4.0formatfromDigitaltest

fabmaster.ulp

FabmasterformatFATFREV11.1

gencad.ulp

GenCADformatforTeradyne/GenRad
incircuittester

unidat.ulp

UNIDATformat

Execute the RUN command in the Layout Editor window to start the
particularULP.
NotealsothewiderangeofprogramsthataremadeavailableontheCadSoft
webserverhttps://cadsoft.io/resources/.

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.

292

9.1 Which Data do we Need for Board Manufacture?

bom.ulp:Dialogwindow

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

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

9 Preparing Manufacturing Data

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

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

Drill Legend
Documentingthedrillsymbolassignmentisquitesimplewiththehelpofa
handyUserLanguageprogramnameddrilllegend.ulp.
294

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.
Forcostreasonsyoushould,ifatallpossible,avoidtracksthatnarrow
tobelow8mil.
Usuallythecontouroftheboardisdrawninlayer20,Dimension.But
itisalsopossibletodrawanglesatthecornerstodelimittheboardin
eachsignallayer.Pleasecontactyourboardmanufacturerwhatthey
prefer.
If your board has milled edges, please contact your board
manufacturer to clarify in which layer these contours have to be
drawn.Seealsopage302.

295

9 Preparing Manufacturing Data


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

9.3 Quick Guide for Data Output


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

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

9.3 Quick Guide for Data Output


Proceedasfollows:
StarttheCAMProcessor,forexample,withtheCAMProcessoriconin
theLayoutEditororwiththeFile/CAMProcessormenu.
LoadtheboardintotheCAMProcessor(File/Open/Board)ifitwasnot
loadedautomaticallyduringthestartsequence.
Loadthepredefinedjobgerb274x.camwiththeFile/Open/Jobmenu.
Now click Process Job. EAGLE generates five files, one by one,
automaticallywhichyouhavetopassontotheboardmanufacturer.
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 use the predefined CAM job
excellon.cam,usedwiththeCAMProcessorafilethatcontainsdrilldataand
therespectivedrilltablewillbegeneratedautomatically.Thisjobdoesnot
distinguishbetweenthelayers Drills and Holes.Bothwillbeoutputintoa
commonfile.Usuallyalldrillingswillbeplatedthroughthen.
Proceedasfollows:
StarttheCAMProcessor(forexample File/CAMProcessor menu)in
theLayoutEditor.
LoadtheboardintotheCAMProcessor(File/Open/Board),ifithas
notbeenloadedautomaticallyduringthestartsequence.
297

9 Preparing Manufacturing Data


Loadthepredefinedjobexcellon.cam,e.g.withFile/Open/Job.
Executethejobwithamouseclickon ProcessJob.Drilldataoutput
startsnow.
Excellon.camdoesnotdistinguishbetweenplatedthroughdrillsandnon
platedthroughholes!
Thefollowingfileswillbegenerated:
%N.drd

Drilldata

%N.dri

Infofile,forboardmanufacturer,
ifrequired

CAMProcessor:Generatedrilldatawiththeexcellon.camjob
Thedefaultunitforthedrilltableisinch.Ifthedrilltablewouldbepreferred
inMillimetresthedevicedefinitioncanbechangedinthefileeagle.def.More
detailsconcerningthiscanbefoundinthesectionUnitsforapertureanddrill
tables,beginningwithpage313.
Excellon.cam can be used for multilayer boards, as well as for those with
Blind, Buried or Micro vias. In this case several drill data files will be
generated.Seechapter9.5fordetails.
298

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 a separate aperture file, use thejob gerber.cam.
Thesefilescanbecreatedwiththedevices GERBERAUTO and GERBER and
generatesdatainRS274Dformat.
Howtoproceed:
StarttheCAMProcessor,forexample,withtheCAMProcessoriconin
theLayoutEditororwiththeFile/CAMProcessormenu.
LoadtheboardintotheCAMProcessor(File/Open/Board)ifitwasnot
loadedautomaticallyduringthestartsequence.
Loadthepredefinedjobgerber.camwiththeFile/Open/Jobmenu.
Nowclick ProcessJob.EAGLEautomaticallygeneratessixfileswhich
youhavetopassontotheboardmanufacturer.FiveGerberplotfiles
andonecommonaperturetable.
Inthefirststepanaperturetable%N.whlisgenerated.Twomessages
appear,whichyouconfirmwithOK.

Messagesingerber.cam
The left message is generated by the entry in the Prompt field, and
remindsyoutodeletethetemporaryfile%N.$$$createdwhengenerating
theaperturetableafterthejobisdone.
Themessageontherightadvisesyouthatmorethanonesignallayerare
activeatthesametime.Normallyonly onesignallayer isactive while
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
299

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

300

%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

301

9 Preparing Manufacturing Data

%N.gls

36bGlue

Gluemasksolderside

44Drills,45Holes

Alldrillings

Drilldata

%N.drd

Distinguishingplatedfromnonplateddrillings

%N.drd

44Drills

Plateddrillings

%N.hol

45Holes

Nonplateddrillings

(*)Pleasecheckwithyourboardmanufacturerwhetheryouhavetooutput
theboardcontourinlayer20inaseparatefileoryouareallowedtocombine
itwiththoselayers.
(**) Ifthereareadditional millededgesintheboard,youshouldcontact
yourboardmanufacturerandaskthemwhichlayerstheypreferformilling
contours.

Placeholders for Output File Name Generation


%D{xxx}

xxxstandsforastringthatisinsertedonlyinto
thedatafilename

%E

fileextensionoftheloadedfile,withoutthe'.'

%H

homedirectoryoftheuser

%I{xxx}

xxxstandsforastringthatisinsertedonlyinto
theInfofilename

%L

layerrangeforblind&buriedvias

%N

nameoftheloadedfilewithoutpathand
extension

%P

directorypathoftheloadedBoardorSchematic
file

%%

thecharacter'%'

Theseplaceholdersmustbewritteninuppercaseletters!

302

9.4 Which Files do I Need for my Board?


Hints Concerning File Extensions:
cmpstandsforcomponentside,theuppersideoftheboard,solforthesolder
(bottom)side.Itmakessensetochoosethefirsttwolettersaccordingthe
active layers. The third one can be c or s for belonging to component or
solderside.
Ofcourseyouarefreeinnamingyourfilesinanymanneryouwish!
Pleaseensurewhendefiningajobthattheextensionsoftheoutputfiles
areuniqueandthereforedistinguishable.

9.5 Peculiarities of Multilayer Boards


Incaseofboardswithinnerlayersonehastoknowhowtheselayersare
definedinordertogeneratepropermanufacturingdata.Isitaninnerlayer
thatcontainstracksandpolygons,asitisinToporBottomlayer?Orisita
supplylayerthatcanbeidentifiedbythe$characterinfrontofthelayer
name?

Inner Layers
Innerlayersaretreatedthesameastheoutersignallayers.Togetherwiththe
signallayer,thelayersPadsandViashavetobeactived.
IftheLayerSetupallowsBlindandBuriedvias,thecombinationofonesignal
layerandtheViaslayeroutputsonlythoseviasthatbelongtothissignal
layer.
IfthereisonlytheViaslayeractive(nosignallayer),theCAMProcessor
willoutputallviasoftheboard!

Drill Data for Multilayer Boards With Blind and Buried


Vias
TheCAMProcessorgenerates one drilldatafile foreach via length fora
layoutthatusesBlindandBuriedvias.
Thedrilldatafileextension.drdisexpandedbythevialengthspecification.If
thereare,forexample,viasfromlayer1to2,theoutputfileextensionwillbe
.drd.0102.
Thelayerspecificationcanbemovedtoanotherpositionwiththehelpofthe
wildcard%L.Writing,forexample,intheFileboxoftheCAMProcessor%N.
%L.drdresultsinanoutputfilenamedboardname.0102.drd.
Padsandtroughholeviaswillbewrittenintoanoutputfilewithextension
.drd.0116.Ifyouplacedholes(HOLEcommand)inthelayoutandtheHoles
layerisactiveforoutput,theCAMProcessorwritesthisdataalsointothefile
withextension.drd.0116.
303

9 Preparing Manufacturing Data


Passonallthesefilestoyourboardmanufacturer.
ProvidedyoudidnotusetheEXCELLONdevicewhichcombinesdrilltable
anddrillcoordinatesinacommonfile,yourboardhouseadditionallyneeds
therackfilename.drlwhichisgeneratedbydrillcfg.ulp.

9.6 Set Output Parameters


ThissectiondescribesthesettingoftheparametersintheCAMProcessorfor
theoutputofaboardoraschematic.
LoadtheschematicorboardfilefromtheCAMProcessor's File/Openmenu,
andsettheparameters.
TheCAMProcessorwindowisdividedintosections(Output,Job,Style,Layer,
Offset andsoon).Somesections,like Emulate, Tolerance, Pen or Page,are
usedbyandthereforedisplayedwithcertaindevicesonly.

CAMProcessor:Soldersidesectionofthegerber.camjob
Output:
Selectthedriverforthedesiredoutputdeviceoroutputformatinthe
Devicecombobox.
Entertheoutputpathandfilenameinthe File fieldorsimplyclick
ontotheFilebuttonanduseitsdialog.
If you want to output a file on a particular drive, place the drive
identifieror,ifappropriate,thepathinfrontofthefilenameending.
For instance, under Windows, d:\%N.cmp would place the file
boardname.cmp intherootdirectoryofdriveD.Thisalsoappliesto
304

9.6 Set Output Parameters


the Linux version, so that, for example, /dev/hdc2/%N.cmp, would
placethefileondrivehdc2.
%HcanbeusedaswildcardfortheHomedirectory,%Pfortheloaded
file'sdirectorypath.
Ifoutputistogodirectly 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.
Somedevices(likeHPGLorcertainplotterdevices)allowyoutoselect
acolororpennumberinanadditionalcolumn.
Style:
Mirror: Mirrorstheoutput.
Itcanbeusefultomirroralloutputsthatrefertothebottom
sideoftheboard.
Rotate: Rotatestheoutputby90degrees.
Upsidedown: Rotatestheoutputby180degrees.
WhencombinedwithRotate,thedrawingisrotated
byatotalof270degrees.
Pos.Coords.: Avoidsnegativecoordinatevaluesfortheoutput.
Thedrawingwillbemovednearthecoordinate'saxis,
evenifitisalreadyinthepositivecoordinatesrange.
Negativevaluescanleadtoerrorswithalotofdevices!
Thisoptionshouldbesetonalwaysbydefault.
Switchingitoff,transfersthecoordinatevaluesfrom
theLayoutEditorunchanged.
Quickplot: Draftoutputwhichshowsonlytheoutlinesofobjects.
Thisoptionisavailableforcertaindevices,likeHPGL
andvariousplotters.
Optimize: Activatestheoptimizationofthedrawingsequencefor
plotters.Shouldbesetonbydefault.
FillPads: Thisoptionisalwaysseton.OnlythedevicesPSand
EPSallowyoutoswitchoffthisoption.Thedrillholes
forpadswillbevisibleontheoutput(asitiswiththe
PRINTcommand).
Job:

305

9 Preparing Manufacturing Data


IfyouareonthewaytodefineaCAMjobthatconsistsofseveral
sectionsitisusefultonamethem.IntheSectionline,itispossibleto
enterasectionnamewhichwillbeshownalsointhetababove.
If,forexample,youassignthesectionnameWheel:GenerateAperture
File, only the title Wheel is visible as a tab name. The additional
descriptioncanbereadinthesectionline.Thecolonendsthetitlein
thetab.
In case you wish to display a message box on the screen before
executingthissection,enterspecialmessagetextinthePromptfield.
Forexample: Pleaseinsertanewsheetofpaper!Theoutputdoesnot
continueuntilconfirmationofthismessage.
Offset:
Defineanoffsetinxandydirection.
ThevaluescanbegiveninInchesorMillimetres,forexample,15mm
or0.5inch.
Tolerance:
TolerancesforDrawandFlashaperturesarenecessaryfordevicesthat
useanaperturefile,likeGERBERorGERBER_23.Usuallyoneallowsa
toleranceof1%inallfields.
Thisisnecessarytocompensatesmallroundingerrorsthatcanarise
duringtheconversionfrommmtoinchvaluesandviceversaasthe
aperturetableisgenerated.
Devicesfordrilldatagenerationthatuseaseparatedrilltable(rack
file) invoke a Drill entry. A tolerance of 2.5% is enough to
compensate for rounding errors that possibly can arise during the
conversionfrommmtoinch.
Emulate:
Ifanaperturewiththeexactvalueisnotavailableintheaperturefile,
youcanallow Aperture emulation.TheCAMProcessorisallowedto
usesmallerdrawingaperturesforemulation.Plottingtimeandcosts
will increase, and therefore you should try to avoid aperture
emulation.
Arcswithflatendings(CHANGECAPFLAT)arealwaysemulatedfor
Gerber output, which means that they are drawn with small lines.
Arcswithroundendings(CHANGECAPROUND),however,not.
Ifyourlayoutcontainsobjectsthatarerotatedinanyangle,youhaveto
activateapertureemulation.Certainpadshapesmustbedrawnwitha
smallerroundaperture.
Page:

306

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
manufacturing datawithonlyafewmouseclicks.Asectionisagroupof
settings, as described above in the Set Output Parameters chapter, which
definestheoutputofonefile.
Defineajobasfollows:
StarttheCAMProcessor.
Nojobisloadedatfirst,unlessthereisafilecalled eagle.caminthe
cam directory or an existing job is called up automatically by an
EAGLEprojectfile.
Ifhasnotalreadybeendone,loadtheboardfilewhichyouwantto
definethejobfor(alsopossibleforschematics).
Itisbestthatyouload anexisting job,forexample 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...).

307

9 Preparing Manufacturing Data


Definefurthersectionsinthesamewayusingdifferentnames.
Veryimportant: Firstuse Add tocreateanewsection,thensetthe
parameters.
Deleteasection,ifneeded,byclickingtheDelbutton.
Saveallthesectionsofyournewjobasajobfileunderanameof
yourchoicewithFile/Savejob...
Allthesectionsofthejobwillbeexecutedautomaticallyoneafteranotherif
youclickthe Processjob button.Onespecific(thecurrentlyshown)section
willbeexecutedifyouclicktheProcesssectionbutton.
TheDescriptionbuttonallowsadescriptivetextoftheCAMjobthatwillbe
displayedintheControlPanel.

Extending gerber.cam Job for Multilayer Boards


Thegerber.camjobcanbeusedasthebasisofthejobformultilayerboards.It
mustsimplybeextendedfortheadditionalinnerlayers.
Example:
YouwanttooutputthefilesforaboardwithSMDcomponentsonthetop
andbottomsides.Theboardhastwoadditionalinner layers.Layer2and
layer15whichisnamedVCC.
Youneedsilkscreenprintsfortheupperandlowersides,solderstopmasks,
andmasksforthesoldercreamforbothsides.
BeforeyoustarttochangetheCAMjobyoushouldsavethejobunderanew
namethroughtheFile/Savejobas..menu.
Proceedasdescribedintheprevioussection.TheCAMjobthencontainsthe
followingsections:
New

Outputfile

Selectedlayers

Description

1,2,15,16,17,18,20,
21,22,25,26,29,30,
31,32

Generatewheelfile
.whl
*modifiedlayer
selection

%N.cmp

1Top,17Pads,18Vias

Componentside

%N.ly2

2Route2,17Pads,18
Vias

Innerlayer2

%N.l15

15VCC,17Pads,18Vias

Innerlayer15

%N.sol

16Bottom,17Pads,
18Vias

Solderside

* %N.$$$

308

9.7 Automating the Output with CAM Processor Jobs


%N.plc

21tPlace,25tNames,
20Dimension

Silkscreencomponent
side

%N.pls

22bPlace,26bNames
20Dimension

Silkscreensolderside

%N.stc

29tStop

Solderstopmaskcomp.
side

%N.sts

30bStop

Solderstopmasksolder
side

%N.crc

31tCream

Creamframecomp.side

%N.crs

32bCream

Creamframesolderside

Check once more whether all the necessary layers for the creation of the
aperturetableareactiveinthefirstsection.Theoutputfilegeneratedinthe
firstsectioncannotbeused.Forthisreason,thefile boardname.$$$ should
bedeleted.
Forinnerlayers,youalwayshavetoactivatethelayersPadsandVias!

Error Message: Apertures Missing


If the error message APERTURES MISSING NO PLOTFILE HAS BEEN
PRODUCEDappearsafterstartingthemodifiedCAMJob,theGerberinfofile
boardname.gpicontainsinformationaboutthereasonoftheproblem.
Theerrorcouldpossiblybenotallaperturesweredefinedorsomecouldnot
befoundinthetableduetomissingtolerancesettings.
EnsureallusedlayerswereactivatedintheGenerateaWheelfilesection?
Itcouldalsobethecasethattherearepartsplacedinanyanglewithpads
thatdon'thavearoundshapeinthelayout.Youhavetoactivatetheaperture
emulationthentohaveasuccessfulfilecreation.

Gerber Info Files


TheCAMProcessorgeneratesforeachGerberplotfilecreatedanadditional
Gerberinfofilewiththeextension.gpi.Thistextfileinformsyouaboutused
apertures, the data format of the Gerber device, about possible aperture
emulationsortolerances,andsoon.
IfyoudefineajobforGerberoutputwithdatafilesthatusetheextensions
proposed in the table above, the info file will be overwritten with each
succeedingsection.

309

9 Preparing Manufacturing Data


If your board manufacturer or your plot service wants to have these
additional information files (they are typically not necessary), use the
%I{xxx}placeholderasfollows:
ForOutputFileenter

%N.xxx%I{.info}

Here%Nstandsfortheboardname,xxxstandsforanycharactersforthefile
extension, %I{.info} generatesanadditionalextension .info fortheGerber
infofiles.
Theoutputfilesgeneratedwilllooklikethis:
Gerberfile:
Infofile:

boardname.xxx
boardname.xxx.info

Example:
Theboardmyboard.brdisloaded.TheFilefieldcontains%N.cmp%I{.info}.
The output file is called myboard.cmp, and the info file is named
myboard.cmp.info.
Thefileswillbewrittenintothesamedirectoryastheboardfileis.

Drill Data Generation with Separate Rack File


Ifyoupreferdrilldatainanotherdataformat,forexampleSieb&Meyer1000
or3000(SM1000,SM3000)ortheExcellonformatwithaseparaterackfile
(EXCELLON_RACK),adrilltableisrequiredfirst.

Define a Drill Configuration (Rack) File


Thisfileisusuallycreatedbydrillcfg.ulp(RUNcommand)starteddirectlyin
theLayoutEditorwindowandwillbenamedboardname.drl.
Itisofcoursealsopossibletodefineadrilltablewiththeaidofatexteditor.
For data generation enter the table's path and file name in the CAM
Processor'sRackfield.
Exampleofadrillconfigurationfile:
T01 0.010
T02 0.016
T03 0.032
T04 0.040
T05 0.050
T06 0.070

Alldimensionsaregivenhereininches.Itisalsopossibletoenterthevalues
withtheirunit,e.g.0.010inor0.8mm.Commentsindrillconfigurationfiles
maybeusedandareidentifiedbyasemicolon,whichmaystandatthestart
ofalineorbeprecededbyaspace.

Define Job for Drill Data Output


StarttheCAMProcessor
Loadthepredefinedjobexcellon.cam,e.g.withFile/Open/Job.

310

9.7 Automating the Output with CAM Processor Jobs


Changetheoutput Device to EXCELLON_RACK, SM1000 or SM3000
andchecktheparameters.Layers44, Drills,and45, Holes,mustbe
selected only.Nootherlayers!Usethe Layers/showselected menuto
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 .drlorclicktheRack buttonandchoose
thepathtoyourrackfileinthefiledialog.

Intheeventyouwishtodistinguishplatedandnonplatedholes:
Addanewsectionwhichoutputsonlylayer45,Holes,intoasecond
drillfilewithmodifiedfilename.Possibly.holforholes.
SavethejobfileviaFile/Savejobwithanewname.
A toleranceof 2.5%shouldbeallowedfordrilldiameterselectionin
ordertocompensateroundingerrorsthatpossiblycanariseduringthe
conversionfrommmtoinchandviceversainthedrilltable.

Drill Info File


Thefilename.driisgeneratedwitheachdrilldataoutput.Itcontainsthelist
ofusedtoolsandfurtherinformationaboutthedataformat.
IftheerrormessageDRILLSMISSINGNOPLOTFILEHASBEENPRODUCED
appears,theinfofilecontainsinformationwhichdrilldiametercouldnotbe
foundinthedrilltable.Addthemissingdiameterinthedrilltablewithatext
editororcheckthegivenvaluesfortolerances.
Theinfofileiswrittenintothesamedirectoryastheoutputfile.Youmay
sendthisfiletoyourPCBmanufacturer,ifrequested.

9.8 Device Driver Definition in eagle.def


Outputdevicedriversaredefinedintheeagle.deftextfile.Hereyouwillfind
alltheinformationthatisneededforthecreationofyourowndevicedriver.
Thebestwayistocopytheblockforanoutputdeviceofthesamegeneral
category,andthenaltertheparameterswherenecessary.
Thefileeagle.defcanbefoundintheeagle/bindirectory.

Creating Your Own Device Driver


Pleaseuseatexteditorthatdoesnotintroduceanycontrolcodesintothe
file.
311

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"

312

9.8 Device Driver Definition in eagle.def

Units in the Aperture and Drill Table


Whenautomatically generated with the GERBERAUTO driver, theaperture
tablecontainsvaluesininches.
Thisisalsothecaseforthedrilltablewhichisautomaticallywrittenintothe
drilldatafilewiththeoutputdeviceEXCELLON.
IfyourPCBmanufacturer insists onmmunits foraperture sizesand drill
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
Thissectiongoesinto moredetailonthedefinitionoftheaperture table.
SomeboardmanufacturersmayperhapsstillbeusingaGerberplotterthat
workswithafixedaperturewheel.Insuchacaseitisnecessarytoadaptthe
aperturetabletotherestrictedfacilitiesoftheGerberplotter.FilesforGerber
photoplotters with fixed aperture wheels are generated with the GERBER
driver.Itisessentialtoconferwithyourphotoplotserviceaheadoftime,so
astoadjustEAGLEtotheavailableapertures.Theaperturetablehastobe
definedmanually.
Therearevarioustypesofapertures.Theydifferinsizeandshape.Themost
commonarecircle,octagon,andsquare.Thedrawingaperture(Draw)used
fortracksisnormallyaroundaperture.
Youmustspecifytheapertureconfigurationbeforeyoucangeneratefilesfor
afixedaperturewheelphotoplotter.Todothis,entertheconfigurationfile
forapertures name.whl e.g.withtheEAGLETextEditor,andthenloadthis
fileintotheCAMProcessorbyclickingthe Wheel buttonafterselectingthe
GERBERdevicedriver(seeSetOutputParametersbeginningwithpage304).

313

9 Preparing Manufacturing Data

Defining the Aperture Table (Wheel)


TheCAMProcessordistinguishes Draw aperturesfrom Flash apertures.The
first typeisusedtodrawobjects(e.g.tracks).Thesecondtypeisusedto
generate symbols (e.g. pads) by a light flash. Only if draw apertures are
definedcantheplotterdrawlines.Therefore,iftheplotterdoesn'tdistinguish
between drawand flash apertures, youmustadditionally define round or
octagonalaperturesasdrawapertures.
Thefollowingaperturesareavailable:
Name
Dimension
Draw
Round
Square
Octagon
Rectangle
Oval

diameter
diameter
length
diameter
length-X x width-Y
diameter-X x diameter-Y

UseofapertureshapesintheCAMProcessor:
Draw
draws wires and emulates apertures
Round
draws round pads and vias
Square
draws square pads, SMDs and vias
Octagon
draws octagonal pads and vias with
the same X- and Y-dimensions
Rectangle draws rectangles and SMDs
Oval
draws pads with different X- and
Y-dimensions
Apertureconfigurationfileexample:
D020 round 0.004
D033 round 0.059
D052 square 0.059
D105 oval
0.090 x 0.030
D101 rectangle 0.075 x 0.060
D110 draw
0.004
D111 draw
0.005
The D code determines the tool number, then follows the aperture shape
afteratleastoneblankcharacter,thenthedimensionsaredefined.Allvalues
defaulttoinches,unlessaunitisadded,forexample0.010inor0.8mm.
Commentsaremarkedwithsemicolonsatthebeginningofaline,orwitha
semicolonfollowingablankcharacter.

Aperture Emulation
If objects exist in a drawing which is not compatible with the available
aperturesizes,itispossibletoemulatethedesireddimensionsbyselecting
the Emulate Apertures option. The CAM Processor then selects smaller
aperturestoemulatedimensionswhicharenotmatchedbyaperturesizes.
Emulationresultsinlongerplottimesandhigherfilmcosts,soitshouldbe
avoidedwheneverpossible.
Thefilename.gpiindicateswhichaperturesareemulated.

314

Chapter 10
Appendix
10.1 Layers and their Usage
In Layout and Package Editor
1 Top
2 Route2
3 Route3
4 Route4
5 Route5
6 Route6
7 Route7
8 Route8
9 Route9
10 Route10
11 Route11
12 Route12
13 Route13
14 Route14
15 Route15
16 Bottom
17 Pads
18 Vias
19 Unrouted
20 Dimension
21 tPlace
22 bPlace
23 tOrigins
24 bOrigins
25 tNames
26 bNames
27 tValues
28 bValues
29 tStop
30 bStop
31 tCream
32 bCream
33 tFinish
34 bFinish
35 tGlue
36 bGlue
37 tTest
38 bTest
39 tKeepout
40 bKeepout
41 tRestrict
42 bRestrict
43 vRestrict
44 Drills

Tracks, top side


Inner layer
Inner layer
Inner layer
Inner layer
Inner layer
Inner layer
Inner layer
Inner layer
Inner layer
Inner layer
Inner layer
Inner layer
Inner layer
Inner layer
Tracks, bottom side
Pads (through-hole)
Vias (through all layers)
Airlines (rubber bands)
Board outlines (circles for holes) *)
Silk screen, top side
Silk screen, bottom side
Origins, top side (generated autom.)
Origins, bottom side (generated autom.)
Service print, top side (component NAME)
Service print, bottom s. (component NAME)
Component VALUE, top side
Component VALUE, bottom side
Solder stop mask, top side (gen. autom.)
Solder stop mask, bottom side (gen. Autom.)
Solder cream, top side
Solder cream, bottom side
Finish, top side
Finish, bottom side
Glue mask, top side
Glue mask, bottom side
Test and adjustment information, top side
Test and adjustment inf., bottom side
Restricted areas for components, top side
Restricted areas for components, bottom s.
Restricted areas for copper, top side
Restricted areas for copper, bottom side
Restricted areas for vias
Conducting through-holes

315

10 Appendix
45 Holes
46 Milling
47 Measures
48 Document
49 Reference
51 tDocu
52 bDocu

Non-conducting holes
Milling
Measures
Documentation
Reference marks
Detailed top screen print
Detailed bottom screen print

In Schematic, Symbol, and Device Editor


90 Modules
Module instances and ports
91 Nets
Nets
92 Busses
Busses
93 Pins
Connection points for symbols with additional information
94 Symbols
Shapes of component s
95 Names
Names of component symbols
96 Values
Values/component types
97 Info
Additional information/hints
98 Guide
Guiding lines for symbol alignment
*) Holes generate circles with their diameter in this layer.
They are used to place restrictions on the Autorouter.

Layers can be used with their names or their numbers. Names can be
changedwiththeLAYERcommandorintheDISPLAYmenu.Thefunctionsof
thespeciallayersremain.
Ifyouwanttocreateyourownlayers,pleaseuselayernumbersabove100.
UsetheDISPLAYmenutocreatenewlayers(Newbutton)ortypetheLAYER
commandonthecommandline.Ifyouwanttocreate,forexample,layer
200,Remarks,typein:
LAYER 200 Remarks
TosetupcolorandfillstyleofthislayerusetheDISPLAYcommand.

10.2 EAGLE Files


EAGLEusesthefollowingfiletypes:
Name
Type of file
*.brd Layout
*.sch Schematic
*.lbr Library
*.ulp User Language Program
*.scr Script file
*.txt Text file (also other suffixes)
*.dru Design Rules
*.ctl Control parameter for the Autorouter
*.pro
Autorouter protocol file
*.job Autorouter job
*.b$$
Backup file of brd after finishing
the Autorouter
*.cam CAM Processor job
*.b#x
Backup file of BRD (x = 1..9)
*.s#x Backup file of SCH (x = 1..9)
*.l#x
Backup file of LBR (x = 1..9)
*.b##
Automatic backup file of BRD
*.s##
Automatic backup file of SCH
*.l##
Automatic backup file of LBR

316

10.2 EAGLE Files


EAGLEforLinuxonlycreatesandrecognizeslowercasecharactersinfile
endings!

10.3 EAGLE Options at a Glance


Inordertooutputmanufacturingdata,forinstance,withtheCAMProcessor,
EAGLEcanbestarteddirectlyfromaterminalwindowunderLinuxandMac,
orfromaconsolewindowunderMSWindows.
SinceWindowsprogramsgiveuptheirconnectiontotheconsoletheyhave
beenstartedfrom,youcanusethefileeaglecon.exe(locatedintheeagle\bin
subdirectoryofyourinstallation)ifyouwanttoruntheCAMProcessorfrom
abatchfile.
This version of EAGLE is exactly the same asthe 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-wxxx
-xxxx
-yxxx

Where:

xxx

Assembly variant
Execute a given EAGLE Command
Draw tolerance (0.1 = 10 %)
Drill tolerance (0.1 = 10 %)
Flash tolerance (0.1 = 10 %)
Suppress message prompts
Optimize pen movement
Plotter pen (layer=pen)
Drill rack file
Script file
Location of eaglerc file
Aperture wheel file
Execute CAM Processor
Positive coordinates
Device (-d? for list)
Emulate apertures
Fill pads
Page height (inch)
Mirror output
Output filename/channel
Pen diameter (mm)
Quick plot
Rotate output 90 degrees
Scale factor
Pen velocity
Rotate output 180 degrees
Page width (inch)
Offset X (inch)
Offset Y (inch)
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

317

10 Appendix
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)withthisoptioninordertogenerate
dataforaspecialassemblyvariant.IfyoudonotuseA,EAGLE
createsdataforthedefaultvariant.

Executeacommand
AfterloadinganEAGLEfilethegivencommandwillbeexecutedin
theEditorwindow'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:
Withthisoptiontherouteoptimizingfortheplottercanbeturned
onandoff.Default:on

PlotterPen(layer=pen):
Ifyouuseacolorpenplotter,youcandeterminewhichlayeristobe
drawninwhichcolor.Example:P1=0P15=1

DrillRackFile:
Withthisoptionyoudefinethepathtoafilewiththedrill
configurationtable.

ScriptFile:
Whenopeningtheeditorwindow,EAGLEexecutestheeagle.scrfile.
Thisoptionallowsadifferentnameordirectorytobeselectedfor
thescriptfile.ThescriptfileisnotreadbytheCAMProcessor.

UserSettingsFile:
Thisoptioncanbeusedtodefinethelocationoftheeaglercfile
whereEAGLEstoresusersettings.Thefilecanhaveanyname.
IncaseyouareworkingwithEAGLEbetaversionsandyouwantto

318

10.3 EAGLE Options at a Glance


keepthingsseparatefromtheofficialreleases,youshouldstart
EAGLEwiththisoption.
W

ApertureWheelFile:
Thisoptiondefinesthepathtothewheelfilewhichshouldbeused.

CallscommandlineversionoftheCAMProcessor

PositiveCoordinates:
IfthisoptionissettheCAMProcessorcreatesdatawithoutnegative
coordinates.Thedrawingismoved tothezerocoordinates.This
optioncanbeturnedoffwiththeoptionc.Pleasebecarefulwith
thisoption,especiallyifyouusemirroredandrotateddrawings,
becausenegativecoordinatesnormallycauseproblems.Default:on

Device:
Thisoptiondeterminestheoutputdriver.eagled? displaysa
listoftheavailabledrivers

EmulateApertures:
Ifthisoptionisselected,aperturesthatdonotexistareemulated
withsmallerapertures.Default:off

FillPads:
ThisoptioncanonlyworkwithgenericdeviceslikePostscript.
Default:onforalldevices

PageHeight(inch):
Printableregionintheydirection(ininches).TheYdirectionisthe
directioninwhichthepaperistransported.Seealsow.

MirrorOutput:
Default:off.

OutputFileName

PenDiameter[mm]:
EAGLEusesthePendiametermeasurementtocalculatethe
numberoflinesrequiredwhenareasaretobefilled.Default:0

QuickPlot:
Generatesadraftorfastoutput,whichonlyprintstheframesof
theobjects.Default:off

RotateOutput:
Rotatestheoutputby90degrees.Default:off

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

RotateOutputby180degrees:
Incombinationwithr+onecanrotateby270degrees.Default:off

PenVelocityincm/s:
Thisoptionisforpenplotterssupportingdifferentspeeds.Toselect
aplotter'sdefaultspeed,useavalueof0.Default:0

319

10 Appendix
w

PageWidth(inch):
Printableareainxdirection.Seealsoh.

OffsetX(Inch):
Thisoptioncanbeusedtomovetheoriginofthedrawing.
Default:0

OffsetY(Inch):
Default:0

Exampleforstartingeaglecon.exe
Gerberdataforsolder(bottom)sideofaboard:
eaglecon.exe -X -dGERBER_RS274X -oname.cmp boardname.brd 1 17 18
Gerberdataforcomponent(top)sideofaboard:
eaglecon.exe -X -dGERBER_RS274X -oname.sol boardname.brd 16 17 18
Gerberdataforsilkscreentopside:
eaglecon.exe -X -dGERBER_RS274X -oname.plc boardname.brd 20 21
Gerberdataforsolderstopmaskcomponentside:
eaglecon.exe -X -dGERBER_RS274X -oname.stc boardname.brd 29
Gerberdataforsolderstopmasksolderside:
eaglecon.exe -X -dGERBER_RS274X -oname.sts boardname.brd 30
Gerberdataforsoldercreammasktop:
eaglecon.exe -X -dGERBER_RS274X -oname.crc boardname.brd 31
DrilldatainExcellonformat:
eaglecon.exe -X -dEXCELLON -oname.drl boardname.brd 44 45
GerberdatageneratedwithanolderGerberdevicewithseparateaperture
file for the solder side of a board. Draw apertures may have a negative
toleranceupto10%.
eaglecon -X -dgerber -Waperture.whl -oboard.sol -D-0.1
name.brd pad via bottom
Allparametershavetobewritteninacommonline!
Pathsthatincludespacecharactersmustbesetintodoublequotes!

10.4 Configuration of the Text Menu


Withthehelpofascriptfile(e.g.menu.scr)youcanconfigureyourowntext
menu.
# Command Menu Setup
#
# This is an example that shows how to set up a complex
# command menu, including submenus and command aliases.
MENU '[designlink22.png] Search and order {\
General : Run designlink-order.ulp -general; |\
Schematic : Run designlink-order.ulp; \
}' \

320

10.4 Configuration of the Text Menu


'Grid { \

Metric { \

Imperial { \

Fine : Grid mm 0.1; | \


Coarse : Grid mm 1; \
}| \

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.

Textmenufrommenu.scrintheLayoutEditor

10.5 Text Variables


Text variable
>NAME
>VALUE
>PART
>GATE

Meaning
Component name (eventually + gate name) 1)
Component value/type 1)
Component name 2)
Gate name
2)

>MODULE

Module name (only on module sheets)

321

10 Appendix
>SHEET

Sheet number of a circuit diagram in the form


of, for example: 1/3
3)
>SHEET_TOTAL
Sheet number in a hierarchical schematic in the form of
>SHEETNR_TOTAL/>SHEETS_TOTAL
>SHEETS
Total number of sheets 3)
>SHEETS_TOTAL Total number of sheets including the module sheets
>SHEETNR
Current sheet number 3)
>SHEETNR_TOTAL Current sheet number including the module sheets
>ASSEMBLY_VARIANT
>DRAWING_NAME
>LAST_DATE_TIME
>PLOT_DATE_TIME

Name of assembly variant


Drawing name
Time of the last modification
Time of the plot creation

1) Only for package and symbol


2) Only for symbol
3) Only for symbol or circuit diagram

All texts starting with the character >, will be interpreted as placeholder
textsforattributes.SeeATTRIBUTEcommand.

10.6 Options for Experts in eaglerc


Theuserspecificfileeaglerc.usrforWindowsand.eaglercforLinuxandMac
storesvarioussettingsdefinedduringthework withEAGLE.Amongthem
youfindsomeexpertsettingsthatcanbeadjustedinthisfiledirectly.The
mostimportantofthemarelistedhere.
Sinceversion5.2itispossibletochangetheseparameterswiththehelpof
the SETcommandinthecommandline.Pleaseseethehelpfunctionabout
theSETcommandfordetails.

CAM Processor Suppress Drills/Holes Warning


IfyouwanttosuppressthewarningthatyoushouldactivatetheDrillsand
the Holes layer for generating Drill data, write the following line in the
eaglercfile
Warning.Cam.DrillsAndHolesConcurrent = "0"

Change Component Value Warning


Someusersdon'twantthewarningmessageaboutapartnothavingauser
definablevalue,sothiswarningcanbedisabledbyappendingtheline
Warning.PartHasNoUserDefinableValue = "0"

tothefile.

Consistency Check
In order to handle Board/Schematic pairs that have only minor
inconsistencies, theuser canenablea dialog thatallows himtoforce the
editortoperformForward&BackAnnotation,eveniftheERCdetectsthatthe
filesareinconsistent.Thiscanbedonebyappendingtheline:
Erc.AllowUserOverrideConsistencyCheck = "1"

322

10.6 Options for Experts in eaglerc


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.

Load Matching File Automatically


Ifyouhaveaboardandschematiceditorwindowopenand loadanother
board(orschematic)inoneofthesewindows,andifthatotherdrawinghas
a matchingschematic(orboard),EAGLEaskswhetherthatotherdrawing
shallalsobeloaded.Bysetting
Option.AutoLoadMatchingDrawingFile = "1"

thisquerywillbesuppressed.

Name of Net, Busses, Signals and Polygons


Ifanetconsistsofmorethanonesegment,the NAMEcommandbydefault
actsonlyupontheselectedsegment.Inordertorenametheentirenetset
Cmd.Name.RenameEntireNetByDefault = "1"

323

10 Appendix
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,
ifyoupreferthecursortoberepositionedtothepointwhereithasbeen
beforeacontextmenuinthedrawingeditorwasopened,addtheline:
Option.RepositionMouseCursorAfterContextMenu = "1"

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

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

324

10.7 Error Messages

10.7 Error Messages


When Loading a File
Restring smaller than in older version

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

Library objects with the same names

Updatereport:Objectswiththesamename
TheTextEditorshowsthismessageifyouattempttoloadanolderfile(BRD
orSCH)thatcontainsdifferentversionsofalibraryelement.Inthiscaseit
added @1, @2, @3... to the names of the Devices so that they can be
identified.
ThismessagecanalsoappearifyouuseCOPYandPASTEcommands.

325

10 Appendix
Pad, Via Replaced with a Hole
InolderversionsofEAGLEitwaspossibletodefinepadsinwhichthehole
diameterwaslargerthanthepaddiameter.Thisisnolongerpermitted.
Ifyouattempttoloadalibraryfilethatwascreatedwithanearlierversion
andthatcontainssuchapad,thefollowingmessageappears:

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

326

10.7 Error Messages

Updatereport:Padreplacedwithahole

Skipped unsuitable objects


Ifthismessageisshown,whileyouareloadingafileorcopyingobjectswith
COPY and PASTE from one file into another, the data structure contains
objectsthatdonotbelongtothecurrentfiletypeandcan'tbedisplayed.For
example,atextorrectanglethathasanonorthogonalangleandisplacedin
auserdefinedlayer(above100)intheLayouteditorwhichshouldbepasted
intoaschematic.TheSchematiceditordoesn'tallownonorthognalangles
andthereforecan'tdisplaysuchanobject.
Thismessagecouldbepromptedaswell,ifthefile'soriginisoneofthefirst
EAGLE versions. The file can be used without problems nevertheless. The
datastructureiscleanedupautomaticallywhileloadingit.

Can't Update File


IfthismessageappearswhenloadinganEAGLEfilethatwasmadewitha
versionearlierthan2.60itisnecessaryfirsttoconvertthefile.

Updateerror:Fileolderthanversion2.6
Theprogramupdate26.exe,whichislocatedintheeagle/bindirectory,isused
forthispurpose.

327

10 Appendix
Copy the file that is to be converted into the directory containing both
update26.exe and the file layers.new. Then open a DOS window under
Windows,andchangeintothisdirectory.Typethecommand:
update26 dateiname.ext
Thefileisconverted,afterwhichitcanbereadbythenewversionofEAGLE.
Iftheconversionissuccessful,themessageintheDOSboxis:ok...
Ifthemessage Please define replacement for layer xxxinlayers.new should
appear, it means that you have defined your own layers in
layout/schematic/library.
Because of the new layer structure used since version 2.6, a new layer
number(greaterthan100)mustbeassigned.
Thisrequiresyoutoeditthefilelayers.newusingasimpletexteditor,adding,
forexample,anewlayernumberasthelastlineofthefile.
If,forinstance,youhaveusedlayer55,andwanttogiveitnumber105,
enter:
55 105

In a Library
Package/Symbol is in use
IfaPackageorSymbolisalreadyusedinaDevice,nopadsorpinswhichare
alreadyreferencedtoapinorpadwiththehelpoftheCONNECTcomand,
maybedeleted.InsuchacaseEAGLEshowsthefollowingmessages:

ErrorwhileeditingPackageorSymbol
ButitisallowedtoCHANGEorNAMEsuchpinsorpads.It'salsopossibleto
add further pins/pads with the PIN or PAD/SMD command and you are
allowedtoDELETEpins/padswhicharenotreferenced viatheCONNECT
command.
Thismessagealsoappears,ifyoutrytoremovethewholePackage/Symbol
fromthelibrarywiththeREMOVEcommand.Youhavetodeletethewhole
DeviceorthePackagevariantorsymbolintheDevicebefore.

328

10.7 Error Messages

In the CAM Processor


Polygon may cause extremely large plot data

Polygonswithwidth0
Thismessageappears,ifyouselectedalayerintheCAMProcessorwhich
containsasignalpolygoninthelayoutwhoselinethicknessislessthanthe
resolutionoftheselectedoutputdriver(Device).
Inordertoavoidunnecessarylargeplotfilesyoushouldassignahighervalue
tothepolygon'slinewidth(CHANGEwidth).

In the Premium or Standard Edition


Can't perform the requested action

Light/Standardlimits
ThismessageisshownifthelimitsofasmallerEditionareexceeded.This
canbethecase,forexample,ifyouwanttoplaceapartoutsidetheLayout
size limits, if you want to start the Autorouter, or set parameters for the
Followmerouter,althoughtherearepartsoutsidetheLayoutlimits,oryou
wanttodefineanotallowedinnerlayer.

329

10 Appendix

This
page
hasbeen
leftfree
intentionally.

330

Index

A
Action toolbar
53, 55
Addlevel
260
Always
268, 269
Can
268
Must
268
Next
268
Request
268
Airwire
23
Calculate
78
Display/hide
78
Alias
99
Deleting
100
Alpha blending
110
Alt-X
46, 66
Aperture
313
Aperture File
288
Attributes
Defining
63, 130, 263
External device
267
For elements
131
Global
130
Search
119
VALUE
258
Automatic Naming
101
Autorouter
78
Backup
215
Blind vias
177
Bus router
201
Continue existing job
210
Control file, ctl
218
Control parameter
210
Controlling
200
Cost factors
210
Cutout polygon
206
Design rules
202
Features
199
Hints
219
Information
215
Interruption
215
Layer selection
204
Load settings
208
Log file
217
Memory requirement
204
Menu
207
Micro via
214
Min. distance, clearance
202

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

199
36
204
202
201
202
213
214
205, 207
210
205
213
203
201
208
208
219
220
215
201
202
204, 205

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

110
48, 316
112
292
23
149
176
104
157
160
155
274
157
146
156
147
73
174
194
155
145
287

331

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

163
287
50, 53
23
113
127, 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

332

310
308
297
308
296
299
304
86
295
305
300
301
311
289, 302
291
309
311
329
303
305
301
301
105
300
307
87
301
305
305
291
299
295
306
301
301
55, 87
317
306
305
303

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

192
270
148
93
50
109
89
93
53, 89
54
320
53
60, 72, 84, 233
62, 76
64, 91, 107
63, 77, 85
78
55, 155
62, 127
59, 72, 85, 229
62, 76, 93, 96
64, 125
64
85, 234, 255
58, 71, 278
64
59, 72
82, 86
63, 77
57, 69, 99
78, 168
65, 81, 118
64, 78, 133
79, 169
65, 93, 103
65, 272
60, 234
55
59, 71
53
77, 90, 270
57, 69, 150
61, 120
63, 123
63, 123
65, 316
73
58, 70, 280
74, 187
65, 107

Index
MIRROR
58, 71, 90, 160, 274
MITER
61, 74
MODULE
64
MOVE
58, 70, 90
NAME
60, 73, 85
NET
63, 122
OPEN
66
OPTIMIZE
74
PACKAGE
66, 85, 276
PAD
82, 226
PASTE
59, 72, 137
PIN
97, 230
PINSWAP
60, 73
POLYGON
62, 76, 165
PORT
64
PREFIX
85, 235
PRINT
66, 191
QUIT
66
RATSNEST
78
RECT
62, 76
REDO
56
REMOVE
66, 81, 118, 284
RENAME
81, 284
REPLACE
60, 73, 162
RIPUP
75, 164
ROTATE
59, 71, 158, 279
ROUTE
74, 163
RUN
55
SCRIPT
55, 102
SET
66, 107, 322
SHOW
57, 69
SIGNAL
77
SMASH
61, 73, 120, 159
SMD
82, 226, 245
SPLIT
61, 74
TECHNOLOGY
66, 85, 257
TEXT
62, 75
UNDO
56
UPDATE
67, 184, 285
USE
55, 237
VALUE
60, 73, 85, 235
VARIANT
67
VIA
77, 90, 182
WINDOW
56
WIRE
61, 75
WRITE
67
Component
Add from library
60
Attribute
131
Changing Technology
162
Copying by Drag&Drop
282
Create symbol
229
Creating
84, 225
Cross-reference
271
Description
229
Editing
184

External
267
Keepout
229
Labeling
228
Lock
73
Name
228
On both sides
160
On bottom side
226, 274
Output list
103
Package editor
228
Placement grid in board
155
Prefix
235
Replace device
162
Replace package
160
Replacing
60
Rotation
158
Searching
118
Separate name/value
61, 73
Update
184
Value
60, 73, 228
Without package
267
Configuration
Commands
107
eagle.scr
114
eaglerc, eaglerc.usr
115, 322
Location of eaglerc
318
of EAGLE
107
User interface
107
Connector
269
Consistency
Check
64, 78, 106, 133
Indicator
198
Loss of c.
195
Contact cross reference
>CONTACT_XREF
124
>XREF
271
Context menu
45, 90
Configure
108
Control Panel
41
Options menu
47
Search in tree
47
Control parameters
210
Coordinates
Display
53, 58, 70
Entering
95
Modifier
97
Polar
96, 280
Relative
96, 280
Select group
97
Copper plane
165
Copying SCH/BRD
136
Core
23, 176
Cost factors
210

333

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

153
124, 271
63, 123
125
93
98
50
175

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

334

87
273
103
72
23, 78
171
168
155
171
155
79
174
44, 146
148
78
148
147
149
122
291
23
234
263
253
282
233
80
236
311
81, 83
267
234, 254
184
253
235
284

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

80
60, 162
257
85, 235
23
185
77
47
149
42, 292
104
227
273
41
61
100
56
56
118, 272
273
23
168
24
270
113
294
289
293
289
294
289
303
310
310
311
289
310
311
312
303
310
310
290
310
290
311
313
105

Index

E
eagle.def
311, 313
eagle.epf
116
eagle.scr
114
eaglecon.exe
317
eaglerc, eaglerc.usr
115, 318, 322
Edition
Maker
39
Premium
38
Standard
39
Ultimate
36
Electrical Rule Check
24, 64, 133
Approve errors
134
Electrical schematic
271
Electrical Schematic
124
Elongation
152
Encapsulated PostScript
291
Environment variable
48
ERC
24
Error messages
CAM Processor
329
Correcting
168
DRC - Meaning of
171
File prior version 2.60
327
In a library
328
Loading a file
325
excellon.cam
310
Exclamation mark
198
Exit program
46
Expert options
322
Export
Libraries
105
Export data
102

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

295
316
65
137
323
46
46, 55

Print
55
Save
55
File Locking
48
Film Generation
291
Fixing hole
270
Follow-me Router
24, 220
Font
Checking
155, 173
No vector error
172
Persistent in drawing
50
Typeface
62, 75
Vector
50
Forbidden area
162
Forward&Back Annotation
24, 106
Consistency indicator
198
Consistency lost
195
Function keys
64, 91, 107

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

24, 253
120
253
61
128
308
313
313
288
288
314
314
306
314
306
314
309
314
299
299
299
309
299
288
313
314

335

Index
Gestures
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

50
262
104
106
98
100
98
155
98
113
226
59, 71
58
58
279

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

51, 53
138
143
90
24
270
149
48
236

I
Icons
Classic Style
Scale size
5.6Import
ACCEL-ASCII
In-circuit tester
Inner layer
Installation
Internet connection
Invalid Polygon

336

50
51
102
103
292
174
27
122
172

J
Job
Junction
Set automatically

299, 307
113

K
Keepout

172, 229

L
Language setting
34
Layer
Abuse
172
Alias definition
99
Available
108
Creating
65
Display/hide
57, 69
Hide unused
108
Inner
174
Qty. of signal layers
147
Setup
147, 175, 177
Stack
24, 176
Thickness
148, 178
Usage
315
Layout Editor
35, 68
Layout Editor
Description
156
Length Balance
187
Length tolerance
188
Library
Attributes
263
Composition of your own
283
Copy elements
281
Copying by Drag&Drop
282
Create new
239
Description
237
Device creating
233
Device without package
267
Export
105
Extracting
184
Important comments
23
List contents
103
Open
66
Output script file
104

Index
Package creating
Package variants
Remove element
Rename element
Search for elements
Summary
Symbol creating
Table of contents
Update
Update Package
Updating older files
Use
Library Editor
License
Extending
Multiple Users
New Installation
Line
Type
Logo import

226
254
284
284
118
42
229
80
184
284
31
43, 55
79
32
32
28
25
75
106

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
Order
Modules

164
187
320
108
53
136
109
24, 183
149
183
274
157
290
290
24
140
24
141
141

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

144
77, 270
95
97
67
50
137
174
177
179
181
176
175
177

N
Name
Automatic naming
Forbidden characters
Length
Net
Connection point
Cross reference
Naming
Net classes
Netlist
Netscript

101
101
101
24
63
63, 123
323
125
103
103

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

58, 70
57, 69
50
274
143
65, 66
104

P
Package

24

337

Index
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 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
Path specifications
Pbm file
PDF output
Pgm file

338

275
234
161
278, 281
276
80
277
229
81
328
82
184
280
284
80, 284
254
73
279
119
283
254
24
153
275
152
101
229
226
151
113, 241
152, 240
152
153
164
274
152
280
149
240
153
241
153, 240
110
194
56
53, 54
103, 292
64
48
104
193
104

Photoplotters
Pick-and-place data
Pin
Automatic naming
Connection point
Direction
Function
Inverted signal
Labeling
Length
Name
Orientation
Properties
Same names
Superimposed
Swap
Visible
Pin/Pad connection
Pin/Pad list
Pinswap
Placeholder
For attributes
>CONTACT_XREF
>DRAWING_NAME
>GATE
>LAST_DATE_TIME
>MODULE
>NAME
>PART
>PLOT_DATE_TIME
>SHEET
>SHEET_TOTAL
>SHEETNR
>SHEETNR_TOTAL
>SHEETS
>SHEETS_TOTAL
>VALUE
Placeholder texts
Plated-through hole
Png file
Polar coords.
Polygon
Calculation on/off
Cutout
Invalid
Isolate
Naming
Orphans
Outline mode after Ratsnest
Pour
Rank
Restricted area
Spacing

313
292
24
101
123, 232
231
230
250
231
231
232
230
230
260
136
60, 73
231
234, 256
103
128
266
124, 273
273
267
273
321
232, 267
267
273
273
322
273
322
273
322
232, 267
321
77
104
280
112
77
167
167
324
167
168
166
166
175
167

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

167
167
166
25
141
143
141
141
291
129
104
85
36
25, 176
273
191
192
192
193
66
52
51
46
45, 116
47
45
116
44
46
290
122
51

R
Rack file
Ratsnest
Registration
Relative coords.
Relay
Repetition points
Restricted area
Cutout polygon
For components

25, 310
25
51
280
268
95
162, 270
76
229

Inner layer
Restring
RGB value
Roundness
Rubber band

166, 175
25, 149
109
151
23

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
Silkscreen
SMD

133
55
117
66
122
118
136
35
130
118
138
136
135
118
136
55
53
135
135
129
102
103
112
92
118
113
67
52
118
35
118
53, 135
25
185
163
187
188
227

339

Index
Arbitrary shapes
275
Automatic naming
101
Cream flag
246
Define size
245
Parameter
226
Placement
245
Round shape
245
Roundness
151
Solder cream mask
153
Solder stop mask
153
Stop flag
246
Thermals flag
153, 246
Snap length
113
Solder cream mask
153
Special characters
101
Standard edition
36
Status line
53
Stop frame
153
Superimposed pins
136
Supply
Addlevel for gates
268
Autorouting supply layer
214
Invisible pins
259
Layer with polygons
174
Symbol
25, 129, 262
Various voltages
129
Voltages
259
Swaplevel
60, 128, 232
Symbol
25
Copying
281
Creating
229
Delete
80
Description
232
Editing
81, 82
In use
328
Labeling
267
New
83
Open/Edit
184
Power supply
251
Remove from LBR
284
Rename
80

T
Technologies
Technology
Changing
Termination
Of command

340

257
162
57

Text
Alignment
62
Bar over text
101
Change size
62, 75
Editor
88
Font
62, 75
HTML text
229
In copper layer
296
Inverted in copper layer
76
Menu
65, 107, 320
Min. visible size
113
Ratio
228
Separate from component
159
Special characters
101
Spin flag
158
Upside down
159, 242
Variables
273, 321
Vertical t.
50
Thermal symbol
In polygon
167, 174
In supply layer
153
Tif graphic file
104
Title bar
53
Tool tips
53
TopRouter
201
Track
Bend mode
165
Decompose
164
Delete all
72
Min. width
149
Set width automatically
113
Smooth wire bends
165
Tree view
Extended mode
47
Update
47

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

36
33
112
56
74
51
122
50
49

Index
User Interface
Classic icon style
User Language
User Language Program
bom.ulp
Calculate milling contour
designlink-order.ulp
dif40.ulp
drill-legend.ulp
drillcfg.ulp.
dxf.ulp
fabmaster.ulp
gencad.ulp
List of all
mill-outlines.ulp
mount.ulp
mountsmd.ulp
outlines.ulp
pcb-service.ulp
Start ULP
unidat.ulp

50
25, 105
292
290
122
292
294
304
105
292
292
44
290
292
292
290
287
55
292

V
Value
Placeholder text in package
242
Placeholder text in symbol
250
V. for Device
257
V. is always Device name
323
Warning
322
Variable
$EAGLEDIR
48
$HOME
48
Variant
Creating new
276
Delete
277
Using modified one
278
Vector font
50
Checking
155
Via
25
Appearance in Editor
153
Blind
176
Blind via ratio
149, 183

Buried
176
Diameter display with INFO
150
Diameter in inner layer
151
Display length
113
Layer color
153
Length
182
Limit
154
Micro via
177, 183
Restricted area
163
Restring, Diameter
149
Shape in inner layer
152
Solder stop
154
Thermal symbol
153

W
Wheel file
Wheel mouse
Legacy wheel mode
Window
Fetch into foreground
Menu
Number
Store position
Wire
Bend mode
Style

25
50
50
92
51
51
51
25
165
75

X
Xbm graphic file
Xpm graphic file
XREF label

104
104
124

Z
Zoom factor limit
Zoom in/out

50
56

341

Вам также может понравиться