Download as pdf or txt
Download as pdf or txt
You are on page 1of 318

EAGLE

EASILY APPLICABLE GRAPHICAL LAYOUT EDITOR

Manual Version 5

5th Edition
00112570

Copyright 2010 CadSoft Computer

All Rights Reserved

How to reach us Phone: Fax: E-mail: Web: Office Hours are: Mon Thu: Fri: +1 954-237-0932 +1 954-237-0968 support@cadsoftusa.com http://www.cadsoftusa.com

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

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

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

EAGLELICENSEAGREEMENT
Thisisalegalagreementbetweenyou,theenduser,andCadSoftComputer,which marketssoftwareproductsunderthetrademarkEAGLE.CadSoftComputershallbe referred toin this Agreement asCadSoft.If youdonot agreetotheterms of this Agreement,promptlyreturnthediskettepackageandaccompanyingitems(including writtenmaterialsandcontainers)totheplaceyouobtainedthemforafullrefund. USEOFTHISPRODUCTCONSTITUTESYOURACCEPTANCEOFTHESETERMSAND CONDITIONSANDYOURAGREEMENTTOABIDEBYTHEM.

GrantofLicense
CadSoftgrantstoyoutherighttouseonecopyoftheaccompanyingEAGLEsoftware programandanyandallupdates thatyoumayreceive (theSoftware) onasingle computerorworkstation.Youmay,however,installtheSoftwareonmorethanone computeroronafileserverprovidedyoudonotoperatetheSoftwareonmorethan onecomputerorworkstationatatime.

Copyright
TheSoftwareisownedbyCadSoftandisprotectedbyUnitedStatescopyrightlaws andinternationaltreatyprovisions.Therefore,youmusttreattheSoftwarelikeany othercopyrightedmaterial(e.g.,abookormusicalrecording).Youmaynotcopythe writtenmaterialsaccompanyingtheSoftware.

OtherRestrictions
YoumaynotrentorleasetheSoftware,butyoumaytransferyourstandalonecopyof theSoftwareandaccompanyingwrittenmaterialsonapermanentbasisprovidedyou retainnocopies andtherecipient agrees tothetermsofthisAgreement.Anysuch transfermustincludeallupdatesandpriorversionsoftheSoftwareandaccompanying writtenmaterials,andnoticemustbegivenbyyoutoCadSoftthatsuchtransferhas taken place. You may not reverse engineer, decompile, disassemble, or create derivative works based on the Software for any purpose other than creating an adaptationtotheSoftwareasanessentialstepinitsutilizationforyourownuse.You acknowledge Cadsoft's claim that the Software embodies valuable trade secrets proprietarytoCadSoft;youmaynotdiscloseanyinformationregardingtheinternal operationsoftheSoftwaretoothers.

LIMITEDWARRANTY
CadSoftwarrantstheaccompanyingSoftwareanddocumentationtobefreeofdefects in materials and workmanship for a period of ninety (90) days from thepurchase date.TheentireandexclusiveliabilityandremedyforbreachofthisLimitedWarranty shallbe,atCadsoft'soption,either(a)returnofthepricepaidor(b)replacementof defective Software and/or documentation provided the Software and/or documentationisreturnedtoCadSoftwithacopyofyourreceipt.Cadsoft'sliability shallnotincludeorextendtoanyclaimfororrighttorecoveranyotherdamages, including butnotlimitedto,lossofprofit,dataoruseoftheSoftware,orspecial, incidentalorconsequentialdamagesorothersimilarclaims,evenifCadSofthasbeen specifically advised of the possibility of such damages. In no event will Cadsoft's liability for any damages to you or any other person ever exceed the lower of suggestedlistpriceoractualpricepaidforthelicensetousetheSoftware,regardless ofanyformoftheclaim. TO THEEXTENT PERMITTED UNDER APPLICABLE LAW, CadSoft DISCLAIMS ALL OTHERWARRANTIES,EXPRESSORIMPLIED,INCLUDINGBUTNOTLIMITEDTO, ANYIMPLIEDWARRANTYOFMERCHANTABILITYORFITNESSFORAPARTICULAR PURPOSE. SPECIFICALLY, CadSoft MAKES NO REPRESENTATION OR WARRANTY THATTHESOFTWAREISFITFORANYPARTICULARPURPOSE,ANDANYIMPLIED WARRANTY OFMERCHANTABILITY ISLIMITEDTOTHENINETYDAYDURATION OF THE LIMITED WARRANTY COVERING THE SOFTWARE AND PHYSICAL DOCUMENTATION ONLY, AND IS OTHERWISE EXPRESSLY AND SPECIFICALLY DISCLAIMED. THISLIMITEDWARRANTYGIVESYOUSPECIFICLEGALRIGHTS;YOUMAYHAVE OTHERS WHICH MAY VARY FROM STATE TO STATE. SOME STATES DO NOT ALLOWTHEEXCLUSIONOFINCIDENTALORCONSEQUENTIALDAMAGES,ORTHE LIMITATION ONHOWLONG AN IMPLIEDWARRANTY LASTS,SOSOME OF THE ABOVEMAYNOTAPPLYTOYOU.

GOVERNINGLAWANDGENERALPROVISIONS
ThisLicenseandLimitedWarrantyshallbeconstrued,interpretedandgovernedby the laws of the State of Florida, U.S.A. If any provision is found void, invalid or unenforceable,itwillnotaffectthevalidityofthebalanceofthisLicenseandLimited Warranty which shall remain valid and enforceable according to its terms. If any remedy,hereunder,isdeterminedtohavefailedofitsessentialpurpose,alllimitations ofliabilityandexclusionsofdamagessetforthhereinshallremaininfullforceand effect.ThisLicenseandLimitedWarrantymayonlybemodifiedinwriting,signedby youandaspecificallyauthorizedrepresentativeofCadSoft.Allrightsnotspecifically grantedinthisLicenseAgreementarereservedbyCadSoft.

U.S.GOVERNMENTRESTRICTEDRIGHTS
The Software and documentation are provided with RESTRICTED RIGHTS. Use, duplicationordisclosurebytheU.S.Governmentissubjecttorestrictionsassetforth in subparagraph (c)(1)(ii) oftheRights In Technical Data andComputer Software clauseat252.2277013.Contractor/manufacturer isCadSoftComputer,19620Pines Blvd.Suite217,PembrokePines,Florida33029,U.S.A.

TableofContents
Chapter1 Introduction................................................................................21
1.1WhatisinthisManual?................................................................21 1.2GeneralCommentsAboutEAGLEComponentLibraries..............22 1.3TechnicalTerms............................................................................22

Chapter2 Installation..................................................................................25
2.1WhatYouNeed.............................................................................25 2.2NewInstallations..........................................................................25
Windows......................................................................................26 Linux............................................................................................26 MacOSX......................................................................................27

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

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

Chapter3 EAGLEModulesandEditions......................................................33
3.1EAGLEModules............................................................................33
TheLayoutEditor.........................................................................33 SchematicEditor..........................................................................33 Autorouter....................................................................................34

3.2DifferentEditions..........................................................................34
ProfessionalEdition......................................................................34 General......................................................................................34 LayoutEditor.............................................................................35 SchematicEditor........................................................................35 AutorouterModule.....................................................................36

Table of Contents
StandardEdition..........................................................................36 LightEdition.................................................................................36

Chapter4 AFirstLookatEAGLE.................................................................37
4.1TheControlPanel.........................................................................37
LibrarySummary..........................................................................38 DesignRules.................................................................................40 UserLanguagePrograms,Scripts,CAMJobs................................40 Projects.........................................................................................40 MenuBar......................................................................................41 FileMenu...................................................................................41 ViewMenu.................................................................................42 OptionsMenu............................................................................43 WindowMenu...........................................................................46 HelpMenu.................................................................................46

4.2TheSchematicEditorWindow.....................................................47
HowYouObtainDetailedInformationAboutaCommand...........48 BubbleHelpAndToolTips........................................................48 HelpFunction...........................................................................49 CommandParameters..................................................................49 GRID.........................................................................................50 TheActionToolbar.......................................................................50 USE...........................................................................................50 SCRIPT......................................................................................51 RUN..........................................................................................51 WINDOW..................................................................................51 UNDO/REDO............................................................................51 StopIcon...................................................................................51 GoIcon......................................................................................51 TheCommandToolbarofTheSchematicEditor..........................51 INFO.........................................................................................51 SHOW.......................................................................................52 DISPLAY....................................................................................52 MARK........................................................................................52 MOVE........................................................................................52 COPY.........................................................................................53 MIRROR....................................................................................53 ROTATE....................................................................................53 GROUP......................................................................................53 CHANGE...................................................................................54 CUT...........................................................................................54 6

Table of Contents
PASTE.......................................................................................54 DELETE.....................................................................................54 ADD..........................................................................................55 PINSWAP..................................................................................55 GATESWAP...............................................................................55 REPLACE...................................................................................55 NAME........................................................................................55 VALUE.......................................................................................55 SMASH......................................................................................55 MITER.......................................................................................56 SPLIT........................................................................................56 INVOKE.....................................................................................56 WIRE.........................................................................................56 TEXT.........................................................................................57 CIRCLE......................................................................................57 ARC...........................................................................................57 RECT.........................................................................................57 POLYGON.................................................................................57 BUS...........................................................................................57 NET...........................................................................................57 JUNCTION................................................................................57 LABEL.......................................................................................58 ATTRIBUTE...............................................................................58 ERC...........................................................................................58 CommandsNotAvailableintheCommandToolbar.....................59 ASSIGN......................................................................................59 CLASS........................................................................................59 CLOSE........................................................................................59 EDIT...........................................................................................59 FRAME.......................................................................................59 EXPORT.....................................................................................59 LAYER........................................................................................59 MENU........................................................................................60 OPEN.........................................................................................60 PACKAGE...................................................................................60 PRINT........................................................................................60 QUIT..........................................................................................60 REMOVE....................................................................................60 SET............................................................................................60 TECHNOLOGY...........................................................................61 UPDATE.....................................................................................61 WRITE........................................................................................61 7

Table of Contents
MouseKeys..................................................................................61 SelectingNeighbouringObjects.................................................61

4.3TheLayoutEditorWindow...........................................................62
TheCommandsontheLayoutCommandToolbar.......................63 INFO.........................................................................................63 SHOW.......................................................................................63 DISPLAY....................................................................................63 MARK........................................................................................63 MOVE........................................................................................63 COPY.........................................................................................64 MIRROR....................................................................................64 ROTATE....................................................................................64 GROUP......................................................................................64 CHANGE...................................................................................65 CUT...........................................................................................65 PASTE.......................................................................................65 DELETE.....................................................................................65 ADD..........................................................................................66 PINSWAP..................................................................................66 REPLACE...................................................................................66 LOCK.........................................................................................66 NAME........................................................................................66 VALUE.......................................................................................66 SMASH......................................................................................67 MITER.......................................................................................67 SPLIT........................................................................................67 OPTIMIZE.................................................................................67 ROUTE......................................................................................67 RIPUP........................................................................................68 WIRE.........................................................................................68 TEXT.........................................................................................68 CIRCLE......................................................................................69 ARC...........................................................................................69 RECT.........................................................................................69 POLYGON.................................................................................69 VIA............................................................................................70 SIGNAL.....................................................................................70 HOLE........................................................................................70 ATTRIBUTE...............................................................................70 RATSNEST................................................................................70 AUTO........................................................................................70 ERC...........................................................................................71 8

Table of Contents
DRC...........................................................................................71 ERRORS....................................................................................71

4.4TheLibraryEditorWindow..........................................................71
LoadorRenamePackage,Symbol,orDevice...............................72 EDIT..........................................................................................72 REMOVE....................................................................................72 RENAME....................................................................................73 ThePackageEditingMode...........................................................73 DesignNewPackage..................................................................73 PAD...........................................................................................73 SMD..........................................................................................73 TheSymbolEditingMode............................................................74 DesignaNewSymbol................................................................74 PIN............................................................................................74 TheDeviceEditingmode..............................................................74 CreateActualComponentsfromSymbolsandPackages............75 ADD..........................................................................................76 NAME........................................................................................76 CHANGE...................................................................................76 PACKAGE...................................................................................76 CONNECT..................................................................................76 PREFIX.......................................................................................76 VALUE........................................................................................76 TECHNOLOGY...........................................................................77 ATTRIBUTE...............................................................................77 DESCRIPTION............................................................................77

4.5TheCAMProcessor.......................................................................77
GenerateData..............................................................................78 StartingtheCAMProcessor........................................................78 LoadJobFile..............................................................................79 LoadBoard.................................................................................79 SetOutputParameters...............................................................79 StartOutput...............................................................................79 DefineNewJob..........................................................................79

4.6TheTextEditorWindow..............................................................79

Chapter5 PrinciplesforWorkingwithEAGLE.............................................81
5.1CommandInputPossibilities........................................................81

Table of Contents
ActivateCommandandSelectObject...........................................81 CommandLine.............................................................................81 HistoryFunction...........................................................................82 TheContextMenu........................................................................82 FunctionKeys...............................................................................83 ScriptFiles....................................................................................85 MixedInput..................................................................................85

5.2TheEAGLECommandLanguage..................................................85
TypographicalConventions..........................................................86 EnterkeyandSemicolon............................................................86 BoldTypeorUpperCase............................................................86 LowerCase.................................................................................86 Underscore.................................................................................86 Spaces........................................................................................87 AlternativeParameters...............................................................87 RepetitionPoints........................................................................87 MouseClick................................................................................87 EnteringCoordinatesasText.......................................................88 Relativevalues:..........................................................................88 Polarvalues:..............................................................................88 RightMouseClick:.....................................................................89 Modifier:....................................................................................89

5.3GridsandtheCurrentUnits..........................................................90 5.4AliasesforDISPLAY,GRID,andWINDOW...................................91
Example:DISPLAYAlias...............................................................92 Example:GRIDAlias....................................................................92 Example:WINDOWAlias.............................................................92 Editing,Renaming,DeletingofanAlias.......................................93

5.5NamesandAutomaticNaming.....................................................93
Length..........................................................................................93 ForbiddenandSpecialCharacters................................................94 AutomaticNaming.......................................................................94

5.6ImportandExportofData............................................................94
ScriptFilesandDataImport.........................................................95 FileExportUsingtheEXPORTCommand....................................95 DIRECTORY...............................................................................95 NETLIST.....................................................................................95 NETSCRIPT................................................................................96 PARTLIST...................................................................................96 PINLIST......................................................................................96 SCRIPT.......................................................................................96 10

Table of Contents
IMAGE........................................................................................96

5.7TheEAGLEUserLanguage...........................................................97 5.8Forward&BackAnnotation...........................................................98 5.9ConfiguringEAGLEIndividually...................................................99


ConfigurationCommands.............................................................99 TheMenuOptions/Set(SETCommand)....................................100 DisplayCertainLayersOnly.....................................................100 ContentsofTheParameterMenus...........................................100 ColorSettings.............................................................................100 MiscellaneousSETOptions........................................................103 Theeagle.scrFile........................................................................105 TheeaglercFile..........................................................................106 EAGLEProjectFile......................................................................107

Chapter6 FromSchematictoFinishedBoard...........................................109
6.1CreatingtheSchematicDiagram................................................109
OpentheSchematicDiagram.....................................................110 SettheGrid................................................................................110 PlaceSymbols.............................................................................110 LoadDrawingFrame................................................................110 PlaceCircuitSymbols(Gates)..................................................112 HiddenSupplyGates................................................................112 DeviceswithSeveralGates......................................................113 WiringtheSchematicDiagram...................................................114 DrawNets(NET).....................................................................114 DefiningCrossReferencesforNets..........................................114 CrossReferencesforContacts..................................................116 SpecifyingNetClasses..............................................................117 Drawingabus(BUS)...............................................................118 PinswapandGateswap...............................................................119 PowerSupply.............................................................................120 DefineAttributes........................................................................121 GlobalAttributes......................................................................121 AttributesforElements............................................................122 ERCCheckandCorrectSchematic...........................................124 OrganizeSchematicSheets........................................................126 PointstoNotefortheSchematicEditor......................................127 SuperimposedPins...................................................................127 OpenPinswhenMOVEing.......................................................127 MergeDifferentSchematics.....................................................127

6.2ConsiderationsPriortoCreatingaBoard...................................127
11

Table of Contents
CheckingtheComponentLibraries.............................................127 AgreementwiththeBoardManufacturer...................................128 SpecifyingtheDesignRules.......................................................128 GeneralPrinciples....................................................................129 Layers.......................................................................................130 MinimumClearanceandDistance............................................131 Sizes.........................................................................................132 Restring(PadandViaDiameter).............................................132 Shapes......................................................................................134 Supply......................................................................................136 Masks.......................................................................................137 Misc..........................................................................................138

6.3CreateBoard...............................................................................139
WithouttheSchematicEditor.....................................................140 SpecifytheBoardOutline...........................................................140 ArrangeComponents..................................................................142 AttributesforComponentsandGlobalAttributes.......................144 BoardswithComponentsonBothSides.....................................144 ExchangingPackages..................................................................144 PACKAGECommand................................................................145 REPLACEcommand.................................................................146 ChangingtheTechnology...........................................................146 DefineForbiddenAreas..............................................................146 RoutingPlacingTracksManually............................................147 DefiningaCopperPlanewithPOLYGON...................................149

6.4DRCCheckingtheLayoutandCorrectingErrors.....................152
TheDRCErrorsWindow............................................................154 ErrorMessagesandtheirMeaning.............................................155

6.5MultilayerBoards.......................................................................158
InnerLayer.................................................................................159 SignalLayers............................................................................159 SupplyLayerswithPolygonsandMorethanOneSignal.........159 PowerSupplyLayerwithOneSignal.......................................159 SupplyLayersandAutorouter..................................................161 MultilayerBoardswithThroughVias.........................................161 LayerSetup..............................................................................161 MultilayerwithBlindandBuriedVias........................................162 Disambiguation........................................................................162 DisplayingVias.........................................................................163 LayerSetup..............................................................................163 HintsForWorkingWithBlind,Buried,andMicroVias............168 12

Table of Contents
MicroViaASpecialCaseofBlindVia.....................................169

6.6UpdatingComponents(LibraryUpdate)....................................170 6.7PrintOutSchematicandLayout.................................................171
SettingsofthePrintDialog........................................................171

6.8CombiningSmallCircuitBoardsonaCommonPanel...............174 6.9ConsistencyLostbetweenSchematicandLayout......................175

Chapter7 TheAutorouter..........................................................................177
7.1BasicFeatures.............................................................................177 7.2WhatCanbeExpectedfromtheAutorouter..............................177 7.3ControllingtheAutorouter.........................................................178
BusRouter..................................................................................178 RoutingPass...............................................................................179 Optimization..............................................................................179

7.4WhatHastobeDefinedBeforeAutorouting..............................179
DesignRules...............................................................................179 TrackWidthandNetClasses......................................................179 Grid............................................................................................180 PlacementGrid........................................................................180 RoutingGrid............................................................................180 MemoryRequirement.................................................................181 Layer..........................................................................................182 PreferredDirections...................................................................182 RestrictedAreasfortheAutorouter............................................183 CostFactorsandOtherControlParameters...............................183

7.5TheAutorouterMenu.................................................................183 7.6HowtheCostFactorsInfluencetheRoutingProcess.................186
LayerCosts.................................................................................187 cfBase.xx:0..20........................................................................187 Costs...........................................................................................187 cfVia:0..99...............................................................................187 cfNonPref:0..10.......................................................................187 cfChangeDir:0..25...................................................................188 cfOrthStep,cfDiagStep.............................................................188 cfExtdStep:0..30......................................................................188 cfBonusStep,cfMalusStep:1..3................................................188 cfPadImpact,cfSmdImpact:0..10.............................................188 cfBusImpact:0..10...................................................................189 cfHugging:0..5........................................................................189 cfAvoid0..10............................................................................189 13

Table of Contents
cfPolygon0..30........................................................................189 Maximum...................................................................................189 mnVia0..30.............................................................................189 mnSegments0..9999...............................................................189 mnExtdSteps0..9999...............................................................189

7.7NumberofRipup/RetryAttempts..............................................190 7.8RoutingMultiLayerBoards........................................................190
SupplyLayers.............................................................................190 PolygonsasSupplyLayers..........................................................191

7.9BackupandInterruptionofRouting...........................................191 7.10InformationfortheUser...........................................................192
StatusDisplay.............................................................................192 Logfile.......................................................................................193

7.11ParametersofaControlFile.....................................................193 7.12PracticalHints...........................................................................195
General.......................................................................................195 SingleSidedBoards...................................................................195 SMDBoardsWithSupplyLayers................................................195 Whatcanbedoneifnotallsignalsarerouted?..........................196

7.13TheFollowmeRouter..............................................................196
PartialandFullMode.................................................................196 Configuration.............................................................................197 RoutingParameters....................................................................198 Notes..........................................................................................199

Chapter8 ComponentDesignExplainedthroughExamples.....................201
8.1DefinitionofaSimpleResistor...................................................201
ResistorPackage.........................................................................202 DefineaNewPackage..............................................................202 SettheGrid..............................................................................202 SolderPads..............................................................................202 PadName.................................................................................203 SilkscreenandDocumentationPrint........................................203 Labeling...................................................................................204 Restrictedareaforcomponents................................................205 Description...............................................................................205 Note.........................................................................................205 ResistorSymbol..........................................................................205 DefineaNewSymbol...............................................................205 SettheGrid..............................................................................206 14

Table of Contents
PlacethePins...........................................................................206 PinNames................................................................................208 SchematicSymbol....................................................................208 ResistorDevice...........................................................................209 DefineaNewDevice................................................................209 Selecting,NamingandConfiguringSymbols...........................209 SelectingthePackage...............................................................210 ConnectionsBetweenPinsandPads........................................210 DefinePrefix............................................................................211 Value........................................................................................211 Description...............................................................................212 Save.........................................................................................212 LibraryDescription.....................................................................212 UseLibrary.................................................................................213

8.2DefiningaComplexDevice.........................................................213
CreatingaNewLibrary..............................................................215 DrawingthePinLeadedPackage...............................................215 SettheGrid..............................................................................216 PlacePads................................................................................216 PadName.................................................................................217 DrawtheSilkScreenSymbol...................................................217 PackageNameandPackageValue...........................................217 AreasForbiddentoComponents..............................................218 Description...............................................................................218 Save.........................................................................................219 DefiningtheSMDPackage.........................................................219 SettheGrid..............................................................................220 PlacingSMDSolderPads.........................................................221 SMDNames.............................................................................222 DrawtheSilkScreen................................................................223 PackageNameandPackageValue...........................................223 AreaForbiddentoComponents................................................224 LocatingPoint(Origin)............................................................224 Description...............................................................................224 Save.........................................................................................224 DefiningtheLogicSymbolfortheSchematicDiagram...............225 ChecktheGrid.........................................................................226 PlacethePins...........................................................................226 PinName.................................................................................227 DrawtheSymbol......................................................................227 PlaceholdersforNAMEandVALUE..........................................227 Save.........................................................................................227 15

Table of Contents
DefiningaPowerSupplySymbol...............................................228 ChecktheGrid.........................................................................228 PlacethePins...........................................................................228 PinName.................................................................................229 PlaceholdersforNAMEandVALUE..........................................229 AssociatingthePackagesandSymbolstoFormaDeviceSet.....229 SelectSymbols.........................................................................230 NamingtheGates.....................................................................230 SpecifyAddlevelandSwaplevel...............................................231 ChoosingthePackageVariants................................................231 TheConnectCommand............................................................232 DefiningTechnologies..............................................................233 SpecifyingthePrefix................................................................234 Value........................................................................................234 Description...............................................................................235 Save.........................................................................................235

8.3SupplyVoltages..........................................................................236
ComponentPowerSupplyPins...................................................236 InvisibleSupplyPins................................................................236 PinswiththeSameNames.........................................................237

8.4SupplySymbols..........................................................................238 8.5Attributes....................................................................................240
DefineAttributes........................................................................240 DisplayAttributes.......................................................................242 PlaceholdersinSymbolandPackage.......................................243

8.6LabelingofSchematicSymbols..................................................243 8.7MoreabouttheAddlevelParameter...........................................244
Summary....................................................................................244 Relay:CoilandFirstContactmustbePlaced.............................245 Connector:SomeConnectionPinscanbeOmitted....................245 ConnectorwithFixingHoleandRestrictedArea........................246

8.8DefiningComponentswithContactCrossReferences................247
DefineSymbol............................................................................247 DefineDevice.............................................................................248 DefinePackage...........................................................................248

8.9DrawingFrames..........................................................................249 8.10ComponentsontheSolderSide...............................................250 8.11ComponentswithOblongHoles...............................................251 8.12CreatingNewPackageVariants................................................251


PackagefromAnotherLibrary....................................................251 DefiningthePackageVariant...................................................252 16

Table of Contents
ConnectCommand...................................................................253 DefiningTechnologies..............................................................253 Save.........................................................................................254 UsingaModifiedPackagefromAnotherLibrary........................254 CopyingthePackage................................................................254 DefiningtheVariant.................................................................255

8.13DefiningPackagesinAnyRotation...........................................255
RotatingaPackageasaWhole...................................................255 PackageswithRadialPadArrangement.....................................256

8.14LibraryandPartManagement..................................................256
CopyingofLibraryElements......................................................256 WithinaLibrary.......................................................................256 FromOneLibraryintoAnother................................................257 CompositionofYourownLibraries..........................................259 RemovingandRenamingLibraryElements................................260 UpdatePackagesinLibraries......................................................260

Chapter9 PreparingManufacturingData..................................................263
9.1WhichDatadoweNeedforBoardManufacture?......................263
GerberPlotData.........................................................................264 GERBER_RS274X.....................................................................264 GERBERAUTOandGERBER....................................................264 DrillData....................................................................................265 EXCELLON...............................................................................265 EXCELLON_RACK....................................................................265 SM1000andSM3000..............................................................265 FurtherDrillDataDevices........................................................266 PrototypeManufactureWithaMillingMachine.........................266 outlines.ulp..............................................................................266 milloutlines.ulp.......................................................................266 FilmGenerationUsingPostScriptFiles.......................................266 PrintingonaFilm.......................................................................267 DataforPickandplaceMachinesandIncircuitTesters............267 Documentation...........................................................................268 PartsList..................................................................................268 DrillPlan..................................................................................269 DrillLegend.............................................................................270

9.2RulesthatSaveTimeandMoney...............................................271 9.3QuickGuideforDataOutput......................................................272

17

Table of Contents
Jobgerb274x.cam......................................................................272 Jobexcellon.cam........................................................................273 Jobgerber.cam...........................................................................274

9.4WhichFilesdoINeedformyBoard?.........................................275
FilesList.....................................................................................276 PlaceholdersforOutputFileNameGeneration........................278 HintsConcerningFileExtensions:............................................279

9.5PeculiaritiesofMultilayerBoards...............................................279
SimpleInnerLayers....................................................................279 SupplyLayer...............................................................................279 DrillDataforMultilayerBoardsWithBlindandBuriedVias......280

9.6SetOutputParameters...............................................................280 9.7AutomatingtheOutputwithCAMProcessorJobs.....................284
DefiningaNewCAMJob...........................................................284 Extendinggerber.camJobforMultilayerBoards........................285 ErrorMessage:AperturesMissing..............................................286 GerberInfoFiles.........................................................................286 DrillDataGenerationwithSeparateRackFile...........................287 DefineaDrillConfiguration(Rack)File...................................287 DefineJobforDrillDataOutput..............................................287 DrillInfoFile............................................................................288

9.8DeviceDriverDefinitionineagle.def..........................................288
CreatingYourOwnDeviceDriver..............................................288 Example1:Gerber(auto)device,Millimetre...........................288 Example2:EXCELLONDevice,OutputwithLeadingZeros.....289 UnitsintheApertureandDrillTable.........................................289

9.9GerberFilesforPhotoplotterswithFixedApertureWheels.......290
DefiningtheApertureTable(Wheel).........................................290 ApertureEmulation....................................................................292

Chapter10 Appendix...................................................................................293
10.1LayersandtheirUsage.............................................................293
InLayoutandPackageEditor.....................................................293 InSchematic,Symbol,andDeviceEditor...................................294

10.2EAGLEFiles..............................................................................294 10.3EAGLEOptionsataGlance......................................................295 10.4ConfigurationoftheTextMenu...............................................299 10.5TextVariables...........................................................................300 10.6OptionsforExpertsineaglerc..................................................300


ChangeComponentValueWarning........................................300 18

Table of Contents
ConsistencyCheck....................................................................300 DeleteWireJoints....................................................................301 DeviceNameasValueforallComponents...............................301 DisableCtrlforRadiusMode...................................................301 GroupSelection.......................................................................301 OpenProject............................................................................301 PanningDrawingWindow.......................................................301 PolygonEdgesasContinuousLines.........................................302 RepositionoftheMouseCursor...............................................302 UnitsinDialogs........................................................................302

10.7ErrorMessage...........................................................................303
WhenLoadingaFile...................................................................303 Restringsmallerthaninolderversion.....................................303 Libraryobjectswiththesamenames.......................................303 Pad,ViaReplacedwithaHole.................................................304 Skippedunsuitableobjects.......................................................305 Can'tUpdateFile......................................................................305 InaLibrary.................................................................................306 Package/Symbolisinuse.........................................................306 IntheCAMProcessor.................................................................307 Polygonmaycauseextremelylargeplotdata..........................307 IntheLightorStandardEdition.................................................307 Can'tperformtherequestedaction..........................................307

19

Table of Contents

This page hasbeen leftfree intentionally.

20

Chapter 1 Introduction
ThismanualdescribestheuseoftheEAGLEsoftwareanditsbasicprinciples. Theorderofchaptersfollowsthetypicalprocessfromdrawingaschematicto areadytouselayout.

1.1 What is in this Manual?


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

21

1 Introduction
Appendix Listsusefuladditionalinformationandexplainssomeerrormessages EAGLEpromptsincertainsituations. Foraquick,handsonintroduction,refertotheEAGLETutorial.Pleaseread thetutorialforabetterunderstandingbeforeworkingwiththemanual. Anybody who has already been working with a priorversion ofEAGLE is advisedtoreadthefileUPDATEunderLinuxandMacorUPDATE.TXTunder Windows.Itcontainsadescriptionofallthedifferencesfromearlierversions. Thisfileislocatedintheeagle/docdirectory.Pleasereaditbeforeyoustart workingwiththenewEAGLE. Informationthatwasnotavailableorthathasbeenchanged sincefinishing 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.

1.2 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, thathavenotyet been officiallyreleased,canbe found on CadSoft's internet site in the download section of www.cadsoftusa.com.

1.3 Technical Terms


Inthismanual,inthehelpfunction,andinEAGLEitselfwefrequentlyuse sometechnicaltermsthatshouldbeexplainedhereinafewwords. Airwire: Unroutedconnectiononaboard,displayedintheunroutedlayer(=rubber band). 22

1.3 Technical Terms


AnnulusSymbol: Anisolationringthatwillbedrawninasupplylayerorinacopperfilled area. 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: ConsistsofDevices thatusethesameSymbolsfortheSchematicbuthave differentPackagevariantsortechnologies. Drill: Platedthroughdrillinginthelayout(inpadsandvias) ElectricalRuleCheck(ERC): EAGLEcanidentifytheviolationofcertainelectricalrules(e.g.iftwooutputs areconnected)withtheERC.Italsocheckstheconsistencyoftheschematic andthelayout. FollowmeRouter: ThemanualROUTEcommandoffersanoperatingmodethatcalculatesand displays the connection of a selected signal automatically. The current position ofthe mousecursordetermines thetraceoftheconnection.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). 23

1 Introduction
LayerStack: Currentnumberandorderofcopperandisolationlayerswhichareusedto buildupaprintedcircuitboard. Microvia: Aplatedthroughhole(likeBlindvia)witharelativelysmalldrilldiameter whichconnectsanouterlayerwiththenextreachableinnerlayer. Net: Electricalconnectioninaschematic. Package: Componentfootprintstoredinalibrary. Pad: ThroughholepadassociatedwithaPackage. Pin: ConnectionpointonaSchematicSymbol. 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 hole for changing the layer of a track.See also Micro via, Blindvia,andBuriedvia. Wheel: Aperture configuration file. Generated with Gerber data for board manufacturing. Wire: Electricalconnectioninaboard,ora line(since linesaredrawnwiththe WIREcommand). 24

Chapter 2 Installation
2.1 What You Need
For installing EAGLE you need to have an EAGLE installation file, your personalinstallationcode,andtheappropriatelicensefile. Ifyouhaveaskedforanupgradeforanexistingcurrentinstallationorforan extensionofyourlicense,youdon'thavetoinstallEAGLEanew.Yournew installationcode 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 New Installations


On the CadSoft website you will always find the newest installation files. Keep ready your personal license data, consisting of your license file license.keyandtheinstallationcode. The installation routine determines depending on the operating systems' language used whether EAGLE will be installed in English or in German language. AnyrecentinformationaboutinstallationmaybefoundintheREADMEfiles.

25

2 Installation

Windows
EAGLEforWindowsisavailableasaselfextractingarchive,whichisnamed, forexample, eaglewin5.7.0.exe.Doubleclickthisfileandthe WinZipSelf Extractorwindow willappear. Theinstallationroutinestartswithextracting thefilesfromthearchive.ClicktheSetupbuttontobegin. Theversionnumberinthefilenamemay,dependingonthecurrentversion, differ. Nowtheactualinstallationstarts.Followtheinstructionsstepbystep. AttheendofthisprocessyouwillbeaskedhowyouwanttolicenseEAGLE: UseLicensefile ThisimpliesthatyouhavealreadyboughtanEAGLElicense.Inthiscase thefollowingdialogasksyouforthepathtoyourlicensefile license.key andforyourpersonalinstallationcodewhichyouhavegotfromCadSoft. RunasFreeware EAGLEwillbelicensedwiththelimitsoftheLightEdition.It'spossibleto upgradetoapurchasedlicensewithoutreinstallationatanytime. Don'tlicensenow postponesthelicensingonthefirstEAGLEstart. The Windows Start menu now contains in the Programs section the new entry EAGLELayoutEditor5.7.0.Tutorialandmanualinpdffileformatare alsopartoftheinstallation. UninstallingEAGLEcanbedonebyusualmeansofyouroperatingsystem usingWindowsuninstalltools.

Linux
EAGLEforLinuxisavailableasselfextractingshellscriptwithsetupdialog. YoumayinstalltheprogramasRoot/AdministratororasanormalUser. Initiatetheinstallationprocessinafilemanagerwithadoubleclickonthe shellscriptfileeaglelin5.7.0.run. Pleasecheck,whetherthefileismarkedasexecutablebefore.Ifthisisnotthe case, you could, for example, use the chmod command in the console to changeitsattributes. Youcanstarttheshellscriptformtheconsole,aswell,bytyping: /path_to_file/eagle-lin-5.7.0.run Theversionnumberinthefilenamemaydiffer,dependingonthecurrently availableEAGLEversion. Theinstallationroutinestartswithextractingthefilesfromthearchive.Then theactualinstallationprocessstarts.Followtheinstructionsstepbystep. AttheendyouwillbeaskedhowyouwanttolicenseEAGLE: 26

2.2 New Installations


UseLicensefile ThisimpliesthatyouhavealreadyboughtanEAGLElicense. Inthiscase thefollowingdialogasksyouforthepathtoyourlicensefile license.key andforyourpersonalinstallationcodewhichyouhavegotfromCadSoft. RunasFreeware EAGLEwillbelicensedwiththelimitsoftheLightEdition.It'spossibleto upgradetoapurchasedlicensewithoutreinstallationatanytime. Don'tlicensenow postponesthelicensingonthefirstEAGLEstart. TostartEAGLE,executebin/eagleintheinstallationdirectory. Tutorialandmanualinpdffileformatarealsopartoftheinstallation.They canbefoundinthedocdirectoryoftheEAGLEinstallation. DeletetheentireEAGLEdirectory,ifyouwanttouninstallEAGLE.

Mac OS X
EAGLEforMacOSXisavailableasUniversalBinaryandworksonPowerPC and on Intel based computers. In order to start the installation process doubleclickontotheiconthatrepresentstheEAGLEarchivewhichisnamed, forexample,eaglemac5.7.0.zip.Thearchivewillbeextractedautomatically. A new folder icon named eaglemac5.7.0.pkg will appear on the Desktop now.Clickitwiththemouseandtheinstallationprocessstarts. Theversionnumberinthefilenamemaydiffer,dependingonthecurrent EAGLEversion. Followtheinstructionsstepbystep. ConfirmtheEAGLESoftwareLicenseAgreementbyclickingContinue,ifyou agreewithit.Ifnot,youcanaborttheinstallationbyclickingthe Goback button. ThenextstepsetsuptheEAGLEdestinationfolderandpossiblyadestination volume. Byclicking Continue youacceptthesuggesteddirectory.Clickthe Choose buttonandyoumayselectanyotherlocationfortheEAGLEfolder. After confirming the installation path the files are copied into the EAGLE folder. Afterfinishing theinstallationyou areabletostartEAGLEbyclickingthe EAGLEiconintheFinder'sApplications/EAGLEentry. While starting EAGLE forthefirst time, youwill beasked howtolicense EAGLE: UseLicensefile ThisimpliesthatyouhavealreadyboughtanEAGLElicense.Inthiscase the following dialog asks for the path to your personal license file license.key and for your personal installation code you have got from CadSoft. 27

2 Installation
RunasFreeware EAGLEwillbelicensedwiththelimitsoftheLightEdition.It'spossibleto upgradetoapurchasedlicensewithoutreinstallationatanytime. Tutorialandmanualinpdffileformatarepartoftheinstallationandare locatedinthedocfolderoftheEAGLEinstallation. IncaseyouwanttouninstallEAGLEfromyourcomputer,simplydeletethe EAGLEentryinthetheFinder'sApplicationsfolder.

2.3 Updating an Older Version


Forreasonsofsafetyitisgoodpracticetocreateabackupofyourprevious databeforeproceeding! Please read the file update.txt in the EAGLE/doc directory, in order to familiarize yourself with the changes in the new version of the program. AdditionalnotesoninstallinganupdatemaybefoundinthelatestREADME files. You should follow the same procedure described in the section on New Installationsonpage25.ThenewEAGLEreleasewillbeinstalledintoanew folderwithitssubfoldersforLibraries,Scriptfiles,UserLanguagePrograms andsoon. AfterstartingEAGLEforthefirsttime,pleasecheckthepathsettingsinthe ControlPanel'sOptions/Directories..menu. ThepathsettingsaretakenfromtheEAGLEconfigurationfileeaglerc(.usr),if existing, from a previous EAGLE version installed. Modify the settings if necessary.Thevariable$EAGLEDIRstandsforthecurrentEAGLEinstallation directory.

Notes on Library Files


Allfiles from previousversions canbe usedwith thenewEAGLEversion. Please check which library files are in use, and available for the ADD command.TomakesurethatyouareworkingwiththoseofthenewEAGLE versionyoushould,forexampleintheSchematicEditor,typethefollowing commandinthecommandline USE -* Thisremovesalllibrariesfromthebuffer.Thentype USE * toloadalllibrariesofthecurrentlygivendirectoryorotherdirectories. Theinformation about libraries in use is stored in the eagle.epf fileofthe currentlyactiveproject.

28

2.3 Updating an Older Version


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. Filesfromearlierversionscanbeuseddirectlywiththecurrentone.In casethefilesweremadewithaversionpriortoEAGLE2.60youhaveto convertthemwithaprogramnamedUpdate26.exe.Detailedinformation aboutthiscanbefoundonpage305.

2.4 Changing or Extending the License


If you are changing your license you will receive new installation code togetherwithanewlicensefilelicense.key. Run EAGLE, and select the item Product Registration intheControl Panel underthe Help menu.Youwillnowbeaskedforthepathtothe license.key file.Chooseitandthentype,inthesecondline,yourpersonalinstallation code.ThenclickOK.

29

2 Installation

TheLicenseDialog
Theprogramhasnowbeenrelicensed.Youcancallupthelicensedataat any time in the EAGLE Control Panel by means of the Help/Product Informationmenu. Soyou can upgrade an already installed LightEditionwithaProfessional Edition,forexample.

2.5 Multiple User Licenses


Multipleuserlicensesmaybeinstalledseparatelyondifferentcomputers,or maybe usedina networkwithinthe scope ofthe licenseconditions.The installationprocedureinanetworkisgenerallythesameasthatonastand alone computer, and is described in the section on New Installations on page25.

Notes for Installing in a Network


Theuserrightsofmultipleuserlicensesdifferfromthoseofthesingleuser version.Thesoftwareitselfdoesnotcontainanyspecialnetworkmechanism, andcanthereforebeusedonmostnetworks. Atypicalinstallationmaybeperformedasthefollowing: TheEAGLEprogramisinstalledonaserver. Library,design,ULP,projectandotherdirectoriescanbefreelychosen. After installation, EAGLE is started and licensed from one of the workstations.ThisrequireswriteaccessinthesubdirectorybinoftheEAGLE directory. The license file eagle.key that has been created is not changed againaftertheinstallation.Writeaccessisnolongerrequired. EAGLEcannowbecalledfromalltheotherworkstations. PleaseensurethatalltheworkstationscallEAGLEinthesamewayaswas usedwhenlicensing. Aprivateworkingdirectory(localoronthenetwork)cannowbesetupfor eachcomputer.Auserspecificconfigurationfile(eaglerc.usrunderWindows, or .eaglerc under Linux orMac OS X) is located inthisdirectory.Further subdirectoriescanthen,forinstance,containindividualprojects. 30

2.5 Multiple User Licenses


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 installationcodeandthepathtothelicensefilelicense.key. Thisprocedureisrecommended,forinstance,formultipleuserlicensesfor3 to5userswhowillonlyworkatspecificcomputers. Innetwork situations it is suggested that allusers accessonelocationfor Library,ULP,Script,etc.Thisshouldbeasinglenetworklocationfolder.This precautionisrecommendedbecauseanycustomDevice,ULP,Scriptcreated byoneusercannowbeutilizedbytheentireteam.

Special Instructions Under Windows


Path Information
It has been found tobe helpful to use theserver namesin UNCnotation whengivingthepath forcallingEAGLE,ratherthanthedriveletters. For example: \\netservername\eagle\bin\eagle.exe

Different Operating Systems at the Working Computers


IfnetworkcomputershavingdifferentWindowssystemsareinuse,itisfirst necessarytoperformaninstallationasdescribedabove. Thefollowingsituationcanarise: Allthecomputersthatareusing,forinstance,WindowsXPcanrunEAGLE. Computers with Windows 2000, however, cannot. In order to be able to operate the computers running Windows 2000 as well, copy the files eagle.exeandeagle.key,locatedintheeagle\bindirectoryontheserver,to,for instance, eaglexp.exe and eaglexp.key.Nowstartallthecomputersthatrun WindowsXP,usingthecommand EAGLEXP ThenstartEAGLEfromacomputerwithWindows2000,andlicenseitagain withtheinstallationcodeandthelicensefile.Theeagle.keyfileisthenvalid foralltheWindows2000computers.Theprogramisrunwith EAGLE You need write authorization for the eagle\bin directory to perform the copyingandlicensing!

31

2 Installation

This page hasbeen leftfree intentionally.

32

Chapter 3 EAGLE Modules and Editions


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

The Layout Editor


TheLayoutEditor,whichallowsyoutodesignPrintedCircuitBoards(PCBs) comes with the Library 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
The Schematic Editor without Layout Editor is applicable for drawing electrical wiring diagrams (connection scheme, contact plans...). The SchematicEditorcomes,aswellastheLayoutEditor,withthefullLibrary EditorfordesigningSymbolsfortheSchematicandPackagesfortheLayout, withtheCAMProcessor,andtheTextEditor.YoucanalsouseUserLanguage programsandScriptfiles. IfyouwanttodrawSchematicdiagramsforelectronicsystemsyoushould haveSchematicandLayout Editor. Youcangeneratetheassociatedcircuit board at any time with a mouseclick. EAGLE thenchangestotheLayout Editor,wherethepackagesareplacednexttoanemptyboardconnectedvia airwires(rubberbands).FromhereyoucangoondesigningwiththeLayout Editorasusual.Schematicandlayoutareautomaticallykeptconsistentby EAGLE (Forward&Back Annotation). Schematic diagrams can consist of a maximum of 999 sheets in the Professional Edition (99 sheets in the Standard Edition). On the left side of the Schematic Editor window the previewofthesheetsisdisplayed.

33

3 EAGLE Modules and Editions

Autorouter
YoucanroutetheairwiresautomaticallyifyouowntheAutoroutermodule. You can choose single nets, groups of nets or all nets for the automatic routing pass. The program will handle various network classes having differenttrackwidthsandminimumclearances. TheAutorouteralsoservesasbasicengineoftheFollowmerouter.Thisisan advancedoperatingmodeoftheROUTEcommandformanualrouting,which calculatesanddisplaysthetraceofaselectedsignalautomatically.

3.2 Different Editions


EAGLE offers various performance/price categories (editions) called Light, Standard,and Professional.Thefacilitiesmentionedinthismanualalways refertotheProfessionaledition.

Professional Edition
General
maximumdrawingarea64x64inches resolution1/10,000mm(0.1microns) mmorinchgrid upto255drawinglayers command(Script)files ClikeUserLanguagefordataexportandimportandthe realizationofselfdefinedcommands easylibraryediting compositionofselfdefinedlibrarieswithalreadyexisting elementsbyDrag&Drop easygenerationofnewPackagevariantsfromotherlibrariesby Drag&Drop freerotationofpackagevariants(0.1degreesteps) librarybrowserandpowerfulcomponentsearchfunction technologysupport(e.g.74L00,74LS00..) Easydefinitionoflabelleddrawingframes freedefinableattributes,applicableforDevicesintheLibrary andinSchematicorLayout integratedPDFdataexportfunction exportfunctionforgraphicfiles(BMP,TIF,PNG...) printoutsviatheOS'sprinterdriverswithprintpreview partlistgenerationwithdatabasesupport(bom.ulp) Drag&DropintheControlPanel 34

3.2 Different Editions


contextmenuwithobjectspecificcommandsforallobjects,available througharightmouseclick propertiesofobjectscanbeaccessedandeditedviacontextmenu automaticbackupfunction

Layout Editor
fullSMDsupport supportofBlindandBuriedvias rotationofobjectsinarbitraryangles(0.1degreesteps) componentscanbelockedagainstmoving textscanbeplacedinanyorientation dynamiccalculationofsignallineswhileroutingthelayout magneticpadsfunction trackscanbelayedoutwithroundedcornersinanyradius miteringtosmoothwirejoints DesignRuleCheckforboardlayouts(checkse.g.overlaps, measuresofpadsortracks) copperpouring(groundplains) Packagevariantssupport userdefinable,freeprogrammableUserLanguagetogeneratedatafor mountingmachines,testequipments,millingmachinesoranyother dataformat outputofmanufacturingdataforpenplotters,photoplottersand drillingmachineswiththeCAMProcessor

Schematic Editor
upto999sheetsperschematic iconpreviewforsheets sortingschematicsheetsbyDrag&Drop crossreferencesfornets automaticgenerationofcontactcrossreferences simplecopyingofparts replacefunctionforpartswithoutlossofconsistencybetween schematicandlayout OnlineForward&BackAnnotationbetweenschematicandboard automaticboardgeneration automaticgenerationofsupplysignals ElectricalRuleCheck(errorcheckintheSchematicandconsistency checkbetweenSchematicandLayout)

35

3 EAGLE Modules and Editions Autorouter Module


fullyintegratedintobasicprogram usesthesetofDesignRulesyoudefinedforthelayout changebetweenmanualandautomaticroutingatanytime basicenginefortheFollowmerouter,atoolthatsupports youinmanualrouting;thetraceofaselectedsignalwillbe calculatedautomatically ripup&retryalgorithm userdefinablestrategy(bycostfactors) routinggriddownto0.8mil(0.02mm) noplacementrestrictions upto16signallayers(withuserdefinablepreferreddirections) upto14supplylayers fullsupportofBlindandBuriedvias takesintoconsiderationvariousnetclasses

Standard Edition
ComparedtotheProfessionalEditionthefollowingrestrictionsapplytothe StandardEditionintheLayoutEditor: Thelayoutareaisrestrictedtoamaximumof160x100mm (about6.3x3.9inches).Outsidethisareaitisnotpossibletoplace Packagesanddrawsignals. Amaximumnumberof4signallayersareallowed(top,bottom, and2innerlayer). Aschematiccanconsistofamaximumof99sheets.

Light Edition
ThefollowingrestrictionsapplytotheEAGLELightVersion: Theboardareaisrestrictedto100x80mm(about3.9x3.2inches). OutsidethisareaitisnotpossibletoplacePackagesanddrawsignals. Onlytwosignallayerscanbeused(noinnerlayers). Aschematiccanconsistofonlyonesinglesheet. Largerlayoutsandschematicscanbeprintedwiththe smallereditions.The CAMprocessorcangeneratemanufacturingdataaswell.

36

Chapter 4 A First Look at EAGLE


4.1 The Control Panel
The Control Panel normally appears after starting EAGLE, and this is the program'scontrolcenter.AllthefilesspecifictoEAGLEaremanagedhere, and some basic settings can be made. It is similar to the familiar file managersusedbyawidevarietyofapplicationsandoperatingsystems.Each EAGLEfileisdisplayedinthetreeviewbymeansofasmallsymbol. Acontextmenuisopenedbyclickingwiththemouseonanentryinthetree view. This allows you, depending on the object, to carry out a variety of actions(rename,copy,print,open,createnewetc.). The Control Panel supports Drag&Drop. This can also be done between differentprograms.Youcan,forinstance,copyfiles,movethem,orcreate linksonthedesktop.UserLanguageprogramsorscriptfilesthatarepulled withtheaidofthemouseoutoftheControlPanelandintoaneditorwindow are started automatically. If, for instance, you pull a board file with the mouseintotheLayoutEditor,thefileisopened. Thetreestructureprovidesaquickoverviewofthelibraries,DesignRules, UserLanguageprograms,scriptfiles,CAMjobsandprojects.Speciallibraries, text,manufacturinganddocumentationfilescanbelongtoaprojectaswell asschematicdiagramsandlayouts. Thefirsttimeitiscalled,theControlPanelwillappearverymuchasshown inthefollowingdiagram. If anobjectis selectedinthetree view, further relevantinformationisdisplayedintherighthandpartofthewindow. Simplyclickontovariousfoldersandfilesinordertoexperimentwiththe ControlPanel'sfacilities.

37

4 A First Look at EAGLE

ControlPanel:Ontheright,thedescriptionoftheRCLlibrary

Library Summary
The possibility of displaying the contents of the libraries is particularly interesting.ItprovidesaveryrapidoverviewoftheavailableDevices. Expand the Libraries entry, andyou can see the availablelibraries. Inthe Descriptionfieldyoucanseeabriefdescriptionofthecontents.Ifalibraryis selected, youwill see more extensive informationaboutthelibrary inthe righthandpartoftheControlPanel.Ifyouthenexpandalibraryentrynow, the contents will be displayed together with a short description of each element.DevicesandPackagesaremarkedwithasmallicon. Nowselect,forexample,aDevice: ThedescriptionoftheDeviceandagraphicalrepresentationofitappearon theright. TheavailablePackage andtechnologyvariantsarelisted.Ifyou clickontooneofthePackageversions,thePackagepreviewshownabovewill change. 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 38

4.1 The Control Panel


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

ControlPanel:LibrarysummarywithDeviceview

39

4 A First Look at EAGLE

Design Rules
SpecialDesignRulescanbespecifiedinEAGLEtogoverntheboarddesign. Thesecanbesavedasdatasetsinspecialfiles(*.dru). Theparameter set that is togovern thecurrent projectisspecifiedinthe DesignRules branchofthetreeview.Ifnodatahasbeenprovidedforthe Design Rules (DRC command), EAGLE will itself provide parameters. The markingtotherightofthefileentryspecifiesthedefaultparametersetfor thecurrentproject. The layout willbe checkedbytheDRCinaccordance withthesecriteria.FurtherinformationabouttheDRCandtheDesignRules isfoundstartingonpage128.

User Language Programs, Scripts, CAM Jobs


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

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

40

4.1 The Control Panel


If the projectfile wasgenerated byanotherEAGLEversionthancurrently used,youwillbeasked,ifitisallowedtooverwritethefile. Newprojectsare created byclickingtherightmousebuttonontoafolder 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
The context menu contains the Edit Description item. Adescriptionofthe projectcanbeenteredhere,andthisisthendisplayedintheDescriptionbox.

Menu Bar
TheControlPanelallowsvariousactionstobeexecutedandsettingsmade throughpulldownmenusthatareexplainedbelow.

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

4 A First Look at EAGLE


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

View Menu
Refresh Thecontentsofthetreeviewareupdated.

42

4.1 The Control Panel


Sort Thecontentsofthetreeviewwillbesortedbynameorbytype.

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

ThedirectoriesdialogintheOptionsmenu
Type the path directly into the corresponding box, or select the desired directorybyclickingtheBrowsebutton. Thedefaultsettingscanbeseeninthediagramabove.$EAGLEDIRstandsfor theinstallation'sEAGLEdirectory. You may also use $HOME for your home directory under Linux. Under Windows it is possible to define this environment variable wit the SET command. Ifa HOMEvariablehasnotbeensetwithinthe Environmentvariable,then underWindowsEAGLEwillsuggestthedirectoryApplicationData. ThisdirectoryisdefinedintheWindowsregistryin: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVers ion\Explorer\Shell Folders\AppData Inthisfolderyoucanalsofindtheuserspecificconfigurationfileeaglerc.usr. Itisofcoursealsopossibletospecifypathswithanabsoluteformat. 43

4 A First Look at EAGLE


TheHOMEvariablemustnotpointtotherootdirectoryofadrive! Backup Whenfilesaresaved,EAGLEcreatesbackupcopiesofthepreviousfiles.The maximum backup level field allows you to enter the maximum number of backup copies (default: 9). Backup files have different file extensions, enumeratedsequentially.Schematicfilesreceivetheending s#x,boardfiles b#x,andlibraryfiles l#x.xcanrunfrom1to9.Thefilewith x=1isthe newestone. Theautomaticbackupfunctionalsopermitsthebackuptobescheduled.The timeinterval can bebetween 1 and 60 minutes (default: 5minutes).The backupfileshavetheendingsb##,s##andl##respectively. AllthesebackupfilescanbefurtherprocessedinEAGLEiftheyarerenamed andgiventheusualfileendings(brd,sch,lbr).

Backupdialog
If the option to Automatically save project file is chosen, your project is automaticallysavedwhenyouclosethecurrentprojectorleavetheprogram. User Interface TheUserInterfacedialogallowstheappearanceoftheeditorwindowsfor thelayout,schematicdiagramandlibrarytobeadjustedtoyourpreferences. YoucanalsoaccessthismenufromtheEditorwindows. IntheControlsboxyouspecifywhichobjectsaretobedisplayedintheeditor window.IfyoudeactivatealltheControls,onlythecommandlinewillremain forentry.Thismaximizesthefreeareaavailableforthedrawing.

44

4.1 The Control Panel

SettingsfortheUserInterface
TheoptionAlwaysvectorfontshowsandprintstextswiththebuiltinvector font, independently from the originally used font. Using the Vector font guaranteesthattheoutputwithaprinterortheCAMProcessorisexactlythe sameasshownintheeditorwindow.Fontsotherthanvectorfontdependon thesystems'settingsandcannotbecontrolledbyEAGLE.Theoutputofnon vectorfontsmaydifferfromtheeditor'sview. Opening the User Interface dialog from one of the Editor windows (for example,theLayoutEditor)theAlwaysvectorfontoptionoffersanadditional itemPersistentinthisdrawing.SettingthisoptioncausesEAGLEtosavethe 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.1Micron(0.004mil)gridwillbecomevisible. Ifyouareworkingwithawheelmouse,youcanzoominandoutbyturning themousewheel.Mousewheelzoomdeterminesthezoomfactor.Thevalue0 switchesthisfunctionoff.Thewheelisusedforscrollingthen. ThefieldExternaltexteditorallowsyoutospecifyanalternativeforthebuilt inEAGLEtexteditor.Furtherdetailsonthiscanbefoundinthehelpfunction inthesectionEditorwindows/Texteditor.

45

4 A First Look at EAGLE


The background color and the appearance of the drawing cursor can be separately adjusted forthelayoutand theschematicdiagrameditors. The backgroundmaybeblack,whiteorshowninanyothercolor(Colored).The backgroundcolordefinitionisdescribedonpage100. Thecursorcanbedisplayedoptionallyassmallcrossoraslargecrosshairs. ThecheckboxesintheHelpareaallowtoswitchonoroffthepopuptextsfor thecommandicons(Bubblehelp)andthehelptextsforthecommandsinthe statusline(Userguidance). Selectingthe Userguidance checkboxdisplays,additioninformationabout theselected object,likethenetorsignalname,thenetclass,orthepart's nameandvalue(withNET,MOVE,ROUTE,SHOW...),instructionsaboutthe possiblemouseactionsinthestatusbaroftheeditorwindow. Window Positions Hereyoucan storethepositionsandthesizesofthecurrentlyopenEditor windows.EachfilethatwillbeopenedfromnowonappearsinitsEditor windowatthegivenpositionandsizeparametersthatwerestored. Ifyoudeletethestoredpositionsagain,EAGLEdeterminesthelocationofan Editorwindowandusesafixedsizeforit,whichisthedefaultsetting.

Window Menu
FromtheWindowmenuyoucanchoosethewindow(schematic,board,etc.) tobe displayed in the foreground. The number ontheleftisthewindow number.ItallowsyoutochooseawindowwhencombinedwiththeAltkey (e.g.Alt+1selectswindow1). Thecombination Alt+0 canbeusedanywhereintheprogramtobringthe ControlPanelintotheforeground. ThefunctionalityofAlt+window_numberissupportedintheWindows andintheLinuxversiononly.

Help Menu
TheHelpmenucontainsanitemforcallingthehelpfunction,aswellasitems for installing a new license (Product registration) and getting information abouttheprogramversionetc.(Productinformation). Product registration TheregistrationdialogiscalledautomaticallywhenyoustartEAGLEthefirst time.Ifyouwanttoinstallanupgradeyoumuststartthisdialogfromthe Help menu, and then enter the necessary information according to the License/Product Registration sectionofthehelpfunction.Alleditorwindows havetobeclosedbefore.ReadthenotesinthechapterInstallationformore information.

46

4.1 The Control Panel


Check for Update By default EAGLE checks for newer EAGLE versions on the CadSoft web server.Incasethereisanewerversionavailableyouwillbeinformedbya message window. EAGLE informs you about a new software release, but won'tdownloaditautomatically. Clickthe Configure buttontoletEAGLElookforthesoftwareversion daily, weekly,ornever.IfyouareworkingwithaProxyserver,typeinit'sname.In case you are interested in the newest beta version, you can activate this check,too. Product information Ifyoucontactourtechnicalsupportyoushouldprovidetheinformationyou willfindunderthismenuitem.

4.2 The Schematic Editor Window


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

TheSchematicEditor

47

4 A First Look at EAGLE


Ifyouwanttocreateaschematicdiagramstraightawayinanewproject,you may for example click with the right mouse button onto a project in the Projects entryofthetreeview, andselectthe Newproject optionfromthe contextmenu.Thenewprojectreceivesaname.Thenclickontothisentry with the right mouse button. Now select New/Schematic from the context menu. Anewschematicopensinthisprojectdirectory. Ontopyouwillseethetitlebar,whichcontainsthefilename,andthenthe menubar,andtheactiontoolbar. Below the action toolbar there is the parameter toolbar, which contains differenticons,dependingontheactivecommand. Abovetheworkingareayouwillfindthecoordinatedisplayontheleft,with the commandline,wherecommandscanbeenteredintextformat,tothe rightofit. EAGLEacceptscommandsindifferentbutequivalentways:asmouseclicks, textviakeyboard,orfromcommand(script)files. 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. Ifyouselect the command,a short noteappears belowinthestatusline, indicatingwhatwouldnormallybeexpectedasthenextaction.Forinstance, ifyouclickontotheWIREicon,thestatuslinewilldisplaytheinstruction: Leftclicktostartwire. ThesefunctionscanbeactivatedorcancelledintheControlPanelbymeans oftheOptions/UserInterfacemenu. 48

4.2 The Schematic Editor Window Help Function


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

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

EAGLEHelpwindow

Command Parameters
AnumberofEAGLEcommandsneedadditionalparameters.Refertothehelp pagesforadescriptionofthetextualentryofparameters(viacommandline orscriptfile).

49

4 A First Look at EAGLE


Mostoftheparameterscanbeenteredbyclickingtheappropriateiconsin theparametertoolbar,whichchangesaccording totheselectedcommand. Theseiconsalsoshowbubblehelpexplanations. This is how the parameter toolbar appears when the NET command is activated.

ParametertoolbaroftheNETcommand
OntheleftistheGRIDiconforsettingthegridpitch.Totherightarebuttons forthebendmode(SETWIRE_BEND)ofthenetline,followedbythemiter radius for smoothing line joints with the options straightorrounded (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 Libraries orofitssubfolderscontainstheentries Usealland Usenone foraquickandsimpleselection/deselectionofalllibraries(ofthefolder). Thiscommandhastobeusedinscriptfilesinordertochoosethelibraryyou wanttotakepartsfrom.

50

4.2 The Schematic Editor Window SCRIPT


Execute a script file. This enables you to execute any command sequence withafewmouseclicks. Arightclickontotheiconshowsalistofrecentlyexecutedscriptfiles.

RUN
StartaUserLanguageprogram(ULP). Arightclickontotheiconshowsamenuthatcontainsalistofrecentlyused UserLanguagePrograms.

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

UNDO/REDO
These commands allow you to cancel previous commands and to execute commandswhichhavepreviouslybeencancelled.Defaultfunctionkeys: F9 andF10.

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
Shows theproperties of the selected object. Ifyouknowthenameofthe object,youcanuseitasaparameterinthecommandline.Dependingonthe selectedobjectsomeofthepropertiescanbealteredinthisdialog. 51

4 A First Look at EAGLE 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.

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

MOVE
Moveanyvisibleobject.Therightmousebuttonrotatestheobjectwhileitis attachedtothemousecursor. Ifyoumoveanetoverapin, noelectricalconnectionwillbeestablished.If youmovethepinofaGateoveranetoranotherpin,anelectricalconnection willbecreated.

52

4.2 The Schematic Editor Window


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. COPYcanbeusedwithgroupsandworksthesameasitwouldbewithCUT andPASTEwithinadrawing.Thecontentofthegroupdoesnotgotothe clipboardofyouroperatingsystem!

MIRROR
Mirrorobjects.

ROTATE
Rotateobjectsby90degrees(alsopossiblewithMOVE).

GROUP
Define agroupwhichcanthenbemoved,rotated,orcopiedwithCUTand PASTEtoanotherdrawingorwhosepropertiesaretobechanged.Afterthe iconhasbeenclicked,arectangulargroupcanbedefinedbyholdingdown theleftmousebuttonanddraggingthecursortothediagonalcornerofthe rectangle.Ifyouwanttodefineagroupbyapolygon,usetheleftmouse buttontodeterminethecornersofthepolygon.Thenclicktherightmouse buttontoclosethepolygon. GROUPALLinthecommandlineselectsallobjectsonthecurrentsheet,if therespectivelayersaredisplayed. Thefollowingcommand(ROTATE,CHANGE,MOVE...)hastobeappliedto thegroupwiththerightmousebuttonwhilethekeyispressed. ExceptionisCUT:Herealeftmouseclickisexpected.

53

4 A First Look at EAGLE


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.

CUT
Transfer the objects of a previously defined group into the paste buffer. Activate the CUT command and click with the left mousebutton into the grouptosetareferencepoint. Allothercommandsthatcanbeexecutedwithagroupexpectarightmouse clickwhiletheCtrlkeyispressed. NotidenticaltotheWindowscutfunction!

PASTE
Insertobjectsfromthepastebufferintothedrawing.Restrictions:seehelp function. NotidenticaltotheWindowspastefunction.

DELETE
Deletevisibleobjects. Alsoin combinationwithGROUPcommand.Ifagrouphasbeendefined,it canbedeletedwiththerightmousebuttonwhiletheCtrlkeyispressed. TheDELETEcommanddeletesanentirepartintheSchematicwhenclicking ontoaGatewiththeShiftkeypressed.Inthatcase,thetracksconnectedto thePackageintheboard,ifalreadyexisting,willstayunchanged. ClickingontoanetorbuswirewiththeShiftkeypresseddeletestheentire netorbussegment.

54

4.2 The Schematic Editor Window ADD


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

PINSWAP
Swap twonetsconnectedtoequivalentpinsofaDevice,providedthepins havebeendefinedwiththesameSwaplevel.

GATESWAP
SwaptwoequivalentGatesofaDevice,providedtheGateshavebeendefined withthesameSwaplevel.InEAGLEterminology,aGateisapartofaDevice whichcanbeindividuallyplacedonaschematic(e.g.onetransistorfroma transistorarray).

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

NAME
Givenamestocomponents,nets,orbuses.

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

SMASH
Separatename,value,and,ifany,attributetextsfromaDevice,sothatthey canbeplacedindividually.Thesizeofdetached(smashed)textscanalsobe individuallychanged.AlsoincombinationwithGROUP.Ifagroupisdefined, youcansmashitwitharightmouseclickwhiletheCtrlkeyispressed. UseDELETEtohidesmashedtexts.

55

4 A First Look at EAGLE


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. Themiterradius influences some wire bends, too(seehelpfunction:SET command,Wire_Bend).

SPLIT
Insertanangleintoawireornet.

INVOKE
DevicesthatconsistofmorethanoneSymbols(Gates)canbefetchedGateby Gate,forexampleincertainorder(GateDbeforeGateC),ifwanted. INVOKEcanalsobeused tofetchpowersupplyGatesthatdonotappear 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. Pleasenotetheparticularitiesincombinationwiththe Ctrl and Shift keyin thehelpfunction: Ifyoupress,forexample,theCtrlkeywhilestartingtodrawawire,thewire beginsexactlyattheendofanalreadyexistingwirenearby.Evenifthiswire isnotinthecurrentlysetgrid.Wirewidth,styleandlayerwillbeadopted fromthealreadyexistingwire.

56

4.2 The Schematic Editor Window TEXT


Placingtext.Use CHANGESIZEtoaltertheheightofthetext.Ifthetextis usingavectorfont,CHANGERATIOwillalterthethickness.CHANGETEXT isusedtoalterthetextitself.CHANGE FONTaltersthe typeface.Youcan changelabeltextsbyassigningadifferentnametothebusortoanetby meansoftheNAMEcommand.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.

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.

57

4 A First Look at EAGLE 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 location of the object you should use a drawing frame with classificationsforcolumnsandrows. Suchframescanbedefinedwiththe FRAMEcommand.Thelibraryframes.lbralreadycontainssuchframes.

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

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

58

4.2 The Schematic Editor Window

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 classspecifiesthe widthofatrack,theclearancefromneighbouringsignals,andthediameter ofviasfortheAutorouterandtheROUTEcommand.Thesesettingsarealso usedinpolygons.Seealsopage117.

CLOSE
Textcommandforclosinganeditorwindow(File/Close).

EDIT
Textcommandfor loadingafileoralibraryobject.Youcan,forinstance, loadaboardfromtheSchematicEditor(EDITname.brd).

FRAME
DefineadrawingframefortheSchematic(Draw/Frame).Alsopossiblefora boarddrawing.

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

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 its two additionalinnersignallayers,youhavetocreatetheselayerswiththeLAYER commandfirst: LAYER 2 Route2 LAYER 15 Route15 59

4 A First Look at EAGLE MENU


Specifies the contents of the text menu. See also the example in the appendix.Thetextmenucanbemadevisiblewiththeaidof Options/User Interface.Seehelpfunctionfordetails.

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
Deletefilesorschematicsheets. REMOVE .S3 forinstance,deletessheet3oftheloadedschematic.

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

60

4.2 The Schematic Editor Window TECHNOLOGY


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

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

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 determins the zooming in/out factor per 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 highlighted objectwith the left mouse button,orproceedtothenextone with the right mouse button. The status bar of the editor window shows information about the preselected object. See also help function (SET command,SELECT_FACTOR).

61

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. Allof thecommandscan alsobereached throughthepulldown menusinthemenubar.Thisalsoapplies,ofcourse,totheSchematicand LayoutEditorwindows.

62

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. OnlythosesignallayersthataredefinedintheLayersetupareshown. SeeAppendixforthemeaningofthelayers. TheDISPLAYcommandsupportssocalledaliases.Thisallowsyoutoname certain combinations of layers and use it as a parameter with the LAYER command. Aquick changefromone view toanotherlayercombinationis possiblewiththiscommand. DISPLAYLASTswitchestothelastdisplayedlayercombination. DetailedinformationabouttheDISPLAYcommandcanbefoundinthehelp function.

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. TheMOVEcommandcannotconnectsignalsevenifawire(trace)ismoved overanotherwireorapad.UseROUTEorWIREtoroutesignals.

63

4 A First Look at EAGLE


KeepingtheCtrlkeypressedwhileselectinganobjectselectsitinaparticular manner. Pleaseconsult the helpfunction fordetails(CRICLE,ARC,WIRE, MOVE,ROUTEetc.). Formovinggroups,pleaseseeMOVEintheSchematicEditorsection.

COPY
Copypartsandotherobjects. Whencopyingobjects,anewnamewillbeassigned,butthevaluewillbe retained.Whencopyingasinglewire,thecopywillhavethesamename. COPYcanbeusedwithgroupsandworksthesameasitwouldbewithCUT andPASTEwithinadrawing.

MIRROR
Mirrorobjects.Componentscanbeplacedontheoppositesideoftheboard byusingtheMIRRORcommand.

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

GROUP
Define agroupwhichcanthen bemoved,rotated,orcopiedwithCUTand 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. TobesurethatallobjectsareselectedDISPLAYALLlayersbefore.Onthe otherhand,deselectingspecificlayerscanexcludecertainobjectsfromthe selection. Further information about GROUP can be found in the section about the SchematicEditorandinthehelpfunction. 64

4.3 The Layout Editor Window 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.

CUT
Transfertheobjectsofapreviouslydefinedgroupintothepastebuffer. Activate the CUT command and click with the left mousebuttoninto the grouptosetareferencepoint. Allothercommandsexecutedwithagroupexpectarightmouseclickwhile theCtrlkeyispressed. NotidenticaltotheWindowscutfunction.

PASTE
Insertobjectsfromthepastebufferintothedrawing.Restrictions:seehelp. NotidenticaltotheWindowspastefunction.

DELETE
Deletevisibleobjects. Ifagrouphasbeendefined,itcanbedeletedwiththe right mousebutton whiletheCtrlkeyispressed. DELETESIGNALSinthecommandlineerasesall tracksandsignalsinthe layout,providedthereisnoconsistentschematicloaded. TheDELETEcommanddeletesanentirepolygonwhenclickingonapolygon wirewiththeShiftkeypressed. KeepingtheCtrl keypressedwhileclickingwiththeleftmousebuttonona 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.

65

4 A First Look at EAGLE ADD


Addlibraryelementstothedrawing.Itoffersaconvenientsearchfunction forPackageshere.USEspecifieswhichlibrariesareavailable. ArightclickontotheADDiconopensapopupmenuthatcontainsalistof recentlyplacedDevices.

PINSWAP
Swaptwosignalsconnectedtoequivalentpadsofacomponent,providedthe pinshavebeendefinedwiththesameSwaplevel.

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.

66

4.3 The Layout Editor Window SMASH


Separatename,value,andattribute(ifany)textsfromaDevice,sothatthey canbeplacedindividually.Thesizeofdetached(smashed)textscanalsobe individuallychanged. AlsoincombinationwithGROUP.Ifagroupisdefined,youcansmashitwith arightmouseclickwhiletheCtrlkeyispressed. UsetheDELETEcommandtohidesmashedtexts. Keep the Shift key pressed while using the SMASH command in order to unsmashtexts.Theyarenoteditableanymoreandappearattheiroriginal positionsafterawindowrefresh(alsopossiblewith unSmashinthecontext 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 you want to change, for example, the layer fora sectionof an already routedtrack,youcaninserttwowirebendswiththeSPLITcommandand change thelayerof thenewly created segmentwiththeCHANGELAYER. EAGLEwillsetviasautomaticallyatthepositionofthewirebends. YoucanusetheSPLITcommandforaquickreroutingofanalreadyexisting track.Clickontothetracktoinsertawirebend.Nowmovethemouseand route it anew. To remove the previous track use the RIPUP command or DELETEincombinationwiththeCtrlkey.

OPTIMIZE
Joinswiresegmentsinasignallayerwhichlieinonestraightline.

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

4 A First Look at EAGLE


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. Using signal names inthe command line allows youtoripuponlycertain 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.CHANGEFONTaltersthetypeface. Theoption Alwaysvector font (Options/UserInterface)showsandprintsall textsinvectorfont,regardlessofwhichfontisactuallysetforaparticular text. 68

4.3 The Layout Editor Window


Ifyouwanttohaveinvertedtextinacopperlayer,youhavetoenterthetext inthelayers41,tRestrict,or42,bRestrict,anddrawacopperplaneinTopor Bottom layer around the text with the POLYGON command. The polygon keepstherestrictedareas(whichisthetext)freefromcopper. 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
Drawapolygon. Polygonsinthesignallayersaretreatedassignals.Theykeepanadjustable distancetoobjectsbelongingtoothersignals(copperpouring,floodfill).This enables you to realize different signal areas on the same layer and make isolatedregionsforyourdesign. Thecontourofapolygonintheoutlinemodeisdisplayedasadottedline. ThePOLYGONcommandcreatesrestrictedareasfortheAutorouter/Follow merouter,ifusedinthelayerstRestrict,bRestrict,orvRestrict,. ForotherpossibilitiesofthePOLYGONcommandseehelp.

69

4 A First Look at EAGLE 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.

RATSNEST
Calculatetheshortestairwirespossibleandtherealmode(filled)displayof polygons. UsetheRATSNESTcommandwithasignalnameinordertocalculateand displayor hideacertain airwire. 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. IfyoutypeAUTO FOLLOWMEinthecommand line,the Autorouter Setup windowopensinthefollowmemode,whichallowstosettheparametersfor thefollowmerouteronly. 70

4.3 The Layout Editor Window ERC


Performaconsistencycheckforschematicandboard.

DRC
DefineDesignRulesandperformDesignRuleCheck.

ERRORS
Showerrors found by theDRC.Ifyouhaven'talreadyprocessedaDesign RuleCheckfortheboard,itwillbedoneautomaticallybeforeshowingthe errorlist,ifthereareanyerrorsfound. TherearefurthercommandsfortheLayoutEditor,astheyareinthe Schematic,thatarenotavailableintheCommandMenu.Pleasetakea lookatthesectionbeginningwithpage 59.Mostofthemarevalidin SchematicandLayout.

4.4 The Library Editor Window


TheLibrary Editorwindowopens when youloadalibrary forcreatingor editing components. A library normally has three different elements: Packages,SymbolsandDevices. APackageisaDevice'shousing,aswillbeusedintheLayoutEditor (ontheboard). TheSymbolcontainsthewayinwhichtheDevicewillbeshowninthe schematic. TheDevicerepresentsthelinkbetweenone(ormore)Symbol(s)and aPackage.HerewedefinetheconnectionbetweenapinofaSymbol andthereferringpadofthePackage. WecallitaDevicesetifthecomponentexistsinmorethanone Packageand/ortechnologyvariant. EvenifyoudonothavetheSchematicEditor,youcanstillcreateandedit SymbolsandDevices. Alibraryneednotcontainonlyrealcomponents.Groundorsupplysymbols aswellasdrawingframescanalsobestoredasDevicesinalibrary.These Symbolsdonotnormallycontainanypins. TherearealsolibrariesthatonlycontainPackages.Theselibrariescanonly beusedintheLayoutEditor. Extensiveexamplesofthedefinitionoflibraryelementsaretobefoundina section entitled Component Design Explained through Examples, starting on page201inthismanual. Whenalibraryisloadedthefollowingwindowappearsfirst: 71

4 A First Look at EAGLE

LibraryEditorwindow:Noelementhasyetbeenloaded

Load or Rename Package, Symbol, or Device


Thefollowingcommandsareimportantfornavigatingwithinalibrary:

EDIT
LoadDeviceorPackage(ifyouonlyhavetheLayoutEditor)forediting.

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

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

72

4.4 The Library Editor Window RENAME


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

The Package Editing Mode


Thedefinitionofacomponentisdescribed brieflybelow.Thereisamore extensiveguideintheComponentDesignExplainedthroughExamplessection. Theiconsavailableinthecommandtoolbarareequivalenttotheidentical iconsoftheSchematicorLayoutEditor.

Design New Package


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

PAD
Placethepadofaconventional(throughhole)component. Thepadcomeswithaplatedthroughdrillthatgoesthroughallsignallayers. The pad shape can be round, square, octagonorlong in the outer 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 thestring>NAMEinlayer25,tNames,servingasatextvariable containingthenameofthecomponent,

73

4 A First Look at EAGLE


thestring>VALUEinlayer27,tValues,servingasatextvariable containingthevalueofthecomponent. UsetheDESCRIPTIONcommandtoaddadescriptionforthePackage. HTMLtextformatcanbeusedforthis.Youwillfindfurtherinformationin thehelppages.

The Symbol Editing Mode


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

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

Design a New Symbol


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

PIN
Placepins. Youcanadjustthepinparameters(name,direction,function,length,visible, Swaplevel)intheparametertoolbarwhilethePINcommandisactive,orlater withtheCHANGEcommand.Thepinparametersareexplainedstartingon page 206 and in the help pages under the keyword PIN. Pin names are changedusingtheNAMEcommand. UsetheTEXTcommandtoplace thestring>NAMEinlayer25,tNames,servingasatextvariable containingthenameofthecomponent, thestring>VALUEinlayer27,tValues,servingasatextvariable containingthevalueofthecomponent.

The Device Editing mode


ComponentsaredefinedasDevices.IntheDeviceeditingmodeyoudonot drawanything,butyoudefinethefollowing: whichPackagevariantisused, whichSymbol(s)is/areused(calledGatewithintheDevice), whichnamesareprovidedfortheGates(e.g.A,B), 74

4.4 The Library Editor Window


whichtechnologiesareavailable(e.g.74L00,74LS00,74HCT00), iftheDeviceshouldhaveadditionaluserdefinableattributes, ifthereareequivalentGateswhichcanbeinterchanged(Swaplevel), howtheGatebehaveswhenaddedtoaschematic(Addlevel), theprefixforthecomponentname,ifaprefixisused, ifthevalueofthecomponentcanbechangedorifthevalueshouldbe fixedtotheDevicename, whichpinsrelatetothepadsofthePackage(CONNECTcommand) whetheradescriptionforthiscomponentshouldbestoredinthe library. Thefollowingdiagramshowsthefullydefined7400DevicewithfourNAND gatesandasupplygateinvariousPackageandtechnologyversions. Ifyouclickontooneofthegateswiththerightmousebutton,thecontext menuwiththeexecutablecommandspopsup.Furthermoreyoucandisplay thePropertiesofthegate.ClickonEditSymboltoopentheSymbolEditor.

DeviceEditorwindow

Create Actual Components from Symbols and Packages


Switch totheDevice editing modeby clickingthe Device icon in the actiontoolbar.TypeintheDevicenameandconfirmthequestionCreatenew device'devicename'?withYes. 75

4 A First Look at EAGLE


UsethefollowingcommandstocreateaDevice.

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

NAME
ChangeGatename.

CHANGE
ChangeSwaplevelorAddlevel.

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

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

4.4 The Library Editor Window TECHNOLOGY


If necessary, various technologies canbe defined,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.

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

4.5 The CAM Processor


ManufacturingdataisgeneratedbymeansoftheCAMProcessor.Anumber ofdriversforthedataoutputareavailable.Thedriversaredefinedinthefile eagle.def,whichcanbeeditedwithanyTextEditor. Outputtomatrixprinters,however,isnotcreatedwiththeCAMProcessor butwithaPRINTcommand. TheEAGLElicenseconditionsallowyoutogivetheCAMProcessortoyour boardmanufacturer.YouonlyneedtosupplythemwithacopyoftheEAGLE Light Edition. TheCAMProcessorofEAGLE Lightrunswithoutlimitation. Alternatively,EAGLELightcanbedownloadedfromCadSoft'swebserver.

77

4 A First Look at EAGLE

TheCAMProcessor
TheCAMProcessorcanalsobestarteddirectlyfromthecommandline.A numberofcommandlineparameterscanbepassedtoitwhenitiscalled. Thesearelistedintheappendix. Pleasedonotpassonyourpersonalinstallationcode!Thisispunishable bylaw!

Generate Data
Starting the CAM Processor
TherearedifferentwaystostarttheCAMProcessor: YoucandothisdirectlyfromtheLayoutorSchematicEditorwindowwith the CAM Processor icon in the action toolbar or through the menu File/CAM Processor. The current schematic or board will be loaded automaticallyfromtheControlPanelbyclickingononeoftheentriesinthe Tree View's CAM Jobs branch. Then the selected CAM Job will be loaded automatically.Youstillhavetoloadtheschematicorboardfromwhichyou want to make the CAM Processor manufacturing data from through the File/Openmenubyusingthecommandprompt(Windowscommandprompt, Terminal or Console window) without graphical user interface. Particular informationcanbefoundintheappendixchapteraboutEAGLEOptions. 78

4.5 The CAM Processor Load Job File


A job defines the sequence of several output steps in an automatic data creation task. You can, for example, use a jobtogenerate 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(seepage280).

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

Define New Job


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

4.6 The Text Editor Window


EAGLEcontainsasimpleTextEditor. 79

4 A First Look at EAGLE


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.

TheTextEditor
In case you prefer an external text editor, define theprogram call in the ControlPanel'sorinoneoftheEditorwindow'sOption/Userinterfacemenu, External texteditor. Ifyou wanttopreventEAGLEtostartanytexteditor automatically,typeinaminussign''intheExternaltexteditorline.Clearthe lineforthebuiltinEAGLEtexteditor. Pleasenotefurtherinformationabouttheusageofanexternaltexteditorin thehelpfunction,sectionEditorwindows/TextEditor.

80

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. A detailed description of the EAGLE commandscanbefoundonthehelp pages.

Activate Command and Select Object


TheclassicalwayofworkingwithEAGLEistoactivatethecommandfirst, andthenchoosetheobjectyouwanttohaveitexecutedon.Forexample, firstactivatetheMOVEcommandbyclickingtheiconinthecommandmenu orselecting the command inone ofthe menus,andfinallyclickontothe objectyouwanttomove.

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

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


Anotherwayof usingEAGLEistowork with theobjectspecificcommand 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.

82

5.1 Command Input Possibilities

ThecontextmenuforaDeviceintheSchematic

Function Keys
Textsmaybeallocatedtothefunctionkeysandtocombinationsofthosekeys withAlt,Ctrl andShift(forMacOSXadditionally Cmd),ifnotoccupiedby theoperatingsystemoraLinuxWindowManager(forexampleF1forhelp). Ifafunctionkeyispressed,thiscorrespondstothetextbeingtypedinviathe keyboard.Sinceevery commandiscapableofbeingenteredastext,every command,togetherwithcertainparameters, canbeassignedtoafunction key.Evenwholesequencesofcommandscanbeassignedtoafunctionkeyin thisway. Thecommand ASSIGN displays the current function key assignments. Changes to the key assignmentscanbecarriedoutintheassignwindow. TheNewbuttoncanbeusedtodefineanewkeyassignment.AclickontoDel will delete a marked entry, while Change alters anexistingdefinition. OK closesthedialogandsavesthedefinitions,whileCancelabortsthedialog. These settings can also be made via the Options/Assign menu in the SchematicorLayoutEditor.

83

5 Principles for Working with EAGLE

ThedialogfortheASSIGNcommand
TopredefinecertainassignmentsyoucanalsousetheASSIGNcommandin thefileeagle.scr(seepage105). 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.

84

5.1 Command Input Possibilities

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. ManyUserLanguageprograms(ULP)createscriptfilesthatcanbereadin ordertomodifyalayoutoraschematic. EAGLEoutputsanentirelibrary,forinstance,asascriptfilewiththeaidof the EXPORT command(Netscript option).Thisfilecanbemodifiedwitha texteditor,afterwhichitcanbereadinagain.Thisallowschangestobe madetoalibraryquiteeasily. 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.

85

5 Principles for Working with EAGLE

Typographical Conventions
Enter key and Semicolon
IfEAGLEcommandsareenteredviathecommandlinetheyarefinishedwith theEnterkey.Insomecasesacommandmusthaveasemicolonattheend,so thatEAGLEknowsthattherearenomoreparameters.Itisagoodideato closeallcommandsinascriptfilewithasemicolon. TheuseoftheEnterkeyissymbolizedatmanyplaceswithinthishandbook withthesign. 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: 86

5.2 The EAGLE Command Language


SET COLOR_LAYER BOTTOM BLUE

Spaces
Whereveraspaceispermissible,anynumberofspacescanbeused.

Alternative Parameters
The|charactermeansthattheparametersarealternatives.Forexample: Syntax: SET BEEP ON | OFF Input: SET BEEP ON or SET BEEP OFF Thebeep,whichistriggeredbycertainactions,isswitchedonoroff.

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

Mouse Click
Thefollowingsign usually means thatat thispointinthecommandan objectistobeclickedwiththeleftmousebutton. Forexample: MOVE Input: MOVE (or Mouse click Mouse click Mouse click and so on. click the icon) on the first object to be moved on the destination on the second object to be moved

87

5 Principles for Working with EAGLE


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

88

5.2 The EAGLE Command Language


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.

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

89

5 Principles for Working with EAGLE


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

5.3 Grids and the Current Units


EAGLEperformsitsinternalcalculationsusingabasicgridsizeof 1/10000mm(0.1micron).Anymultipleofthatcanbesetastheworking grid. Microns,mils,inchesandmmcanbeusedfortheunit.Thecurrentunitas setwiththeGRIDcommandappliestoallvalues. Youshouldalwaysusethepreset0.1inchgridforschematicdiagrams! This grid should also be used when defining Symbols in the Library Editor! Whenstartingthedesignofcircuitboardsorlibrariesitpaystogiveprior thoughttothequestionofwhichgridsize(orsizes)willbeusedasabasis. Forexample,itisonlytheoriginofaPackagethatwillbepulledontothe board'splacementgrid.AllotherobjectsconstitutingthePackage(suchas pads)areplacedrelativetothatpointontheboard,justasitwasdefinedin thelibrary. Thebasicruleforboardsis:alwaysmakethegridasbigaspossibleand assmallasnecessary. Various grid sizes can be presetin the eagle.scr filefordifferent typesof editorwindows(seepage99). ThecurrentgridSizeissetinthegridmenu.Theunitschoseninthecombo boxareused. The Multiple option indicates how many grid lines are displayed. If, for instance,thevalue5isenteredatMultiple,everyfifthlinewillbedisplayed.

90

5.3 Grids and the Current Units

TheGridmenu
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. Stylespecifiesthewayitisdisplayed:LinesorDots. TheoptionsOnandOffunderDisplayswitchthegriddisplayonoroff. Finestsetsthefinestgridthatispossible. 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. SeealsothehintsconcerningColorsettingsonpage100.

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

5 Principles for Working with EAGLE

Example: DISPLAY Alias


DisplaythelayersyouwanttoseeintheLayoutEditorwiththe DISPLAYcommand,forexampleTop,Pads,Vias,andDimension RightclickontotheDISPLAYicon 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. andapopupmenuappears

Example: GRID Alias


The how to and the function of a grid alias is exactly the same as it is explainedfortheDISPLAYcommand.Settheappropriategridinoneofthe Editor windows, rightclick onto the GRID icon 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. ,and select the New..

Example: WINDOW Alias


TheWINDOWcommandallowsyoutodefineanaliasforacertainpartofthe drawingarea.Aliaseshelpyoutonavigatecomfortablyfromonelocationto anotherinyourdrawing.ThedefinitionofaWINDOWaliasissimilartothe DISPLAYaliasasdescribedabove: Selecttheappropriatedisplaywindowinthedrawing

92

5.4 Aliases for DISPLAY, GRID, and WINDOW


RightclickontotheSelecticonoftheWINDOWcommand 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. to

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.

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.

93

5 Principles for Working with EAGLE

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: 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' fetches four NAND gates with thenames A, B, C and D. Ifthegenerated namereachesZ,thennameswiththedefaultprefixwillagainbegenerated (e.g.G$1).

5.6 Import and Export of Data


EAGLEprovidesanumberoftoolsfordataexchange. Scriptfilesforimporting Theexportcommandforexporting 94

5.6 Import and Export of Data


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; ANetscript ofthissortcaneasilybecreatedfromtheschematicdiagramby theEXPORTcommand. Youwillgetafurtherimpressionofthepowerofimporting,ifyououtputa library with the EXPORT command (Script option). The script file that is generated provides an instructive example for the syntax of the script language.Itcanbeexaminedwithanytexteditor.IfSCRIPTisthenusedto readthisfileintoanemptylibrary,anewlibraryfilewillbecreated. Commentscanbeincludedfollowinga#character. TheexecutionofascriptfilecanbestoppedbyclickingtheStopiconinthe actiontoolbar.

File Export Using the EXPORT Command


TheEXPORTcommandhasthefollowingmodes:

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

NETLIST
Outputsa netlistforthecurrentlyloadedschematicorboardinanEAGLE specificformat.Itcanbeusedtochecktheconnectionsinadrawing.

95

5 Principles for Working with EAGLE


TherearealsoavailableseveralUserLanguageprogramsthatallowtoexport variousnetlistformats.PleasetakealookintoCadSoft'sDownloadareain theweb:http://www.cadsoftusa.com/download.htm.

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

PARTLIST
Outputsacomponentlistfortheschematicorboard.

PINLIST
Outputsapin/padlistfortheschematicorboard,listingtheconnectednets.

SCRIPT
Outputsthecurrentlyloadedlibraryintheformofascriptfile. This script can be modified with a text editor in order to generate, for example,auserdefinedlibrary,ortocopypartsofonelibraryintoanother. Themodifiedscriptfilecanbeimportedintoaneworanalreadyexisting librarywiththehelpoftheSCRIPTcommand. ThescriptfilealsoservesasagoodexamplefortheEAGLEcommandsyntax. Inorderto avoidlossof precision the grid unit in thescriptfileissetto Millimetres.

IMAGE
TheoptionImageallowsyoutogeneratefilesinvariousgraphicformats. Thefollowingformatsareavailable: bmp png pbm pgm ppm tif xbm xpm WindowsBitmapfile PortableNetworkGraphicsfile PortableBitmapfile PortableGrayscaleBitmapfile PortablePixelmapfile TagImagefile XBitmapfile XPixmapfile

96

5.6 Import and Export of Data

Settingsforgraphicfileoutput ClicktheBrowsebutton,selecttheoutputpath,andtypeinthegraphicfile namewithitsextension.Thefileextensiondeterminesthegraphicfiletype.


Togenerate ablackand white imageactivatetheoption Monochrome.To maketheimageavailableviathesystem'sclipboardsettheClipboardoption. The Resolution canbesetindotsperinch.Theresulting ImageSize willbe showninthelowestfield. The Area field allows aselectionof Full or Window. Full printsthewhole drawing,whereas Window printsthecurrentlyintheEditorwindowvisible partofthedrawing. Further graphic formats, like HPGL, Postscript (PS), or Encapsulated Postscript(EPS),canbegeneratedwiththehelpoftheCAMProcessor. The User Language Program dxf.ulp generates Dxf data. The PRINT commandsupportsPDFoutput.

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. Theprogram examples included (*.ulp) willprovidesomeinsightintothe capacity ofthe UserLanguage. Theyarelocatedinyourinstallation'sULP directory.AdescriptionofthewayinwhichaULPworksislocatedinthefile header.ThisisalsodisplayedintheControlPanelorintheusageboxwhen the program is called. User Language programs must be written ina text editorthatdoesnotaddanycontrolcodes.

97

5 Principles for Working with EAGLE


AULPisstarted withtheRUNcommand, or bydraggingaULPfromthe ControlPanelintoaneditorwindow(Drag&Drop).Tocanceltheexecution ofanULPclicktheStopicon. EAGLE prompts a message in the status bar, Run: finished, if the User Languageprogramhasbeenended. The language is described in detail in the EAGLE help pages, under the keywordUserLanguage. TypicalapplicationsforULPs: Creatingpartslistsinvariousformats. Seealsopage268. Outputingraphicalformats. Dataoutputforcomponentinsertionmachines,incircuittestersetc. Linkingtoanexternaldatabase. Manipulationofthesilkscreenprint,thesolderstopmask,andsoon. Importofgraphicdatafiles(forexampleimportbmp.ulpforlogosor thelike) AlotofvaluableULPscanbefoundonourwebpages.Simplytakealook athttp://www.cadsoftusa.com/download.htm.

5.8 Forward&Back Annotation


A schematic file and the associated board file are logically linked by automatic Forward&Back Annotation. This ensures 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.Ifa netisplaced,thesignallines are simultaneously 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.

98

5.8 Forward&Back Annotation


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

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. Thisalso applies,ofcourse,toschematic diagramandlibraryfiles.

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

5 Principles for Working with EAGLE

The Menu Options/Set (SET Command)


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

Display Certain Layers Only


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

Contents of The Parameter Menus


TheparametermenusforWidth,Diameter,Drill,SMD,Size,Isolate,Spacing, andMiter,whichareavailableforexamplethroughtheCHANGEcommand, canbeconfiguredandfilledwithanyvaluesbytheSETcommand.Simplylist thevalues,separatedbyblanks,inthecommandline. ExamplefortheMitermenu: SET MITER_MENU 0.1 0.2 0.3 0.4 0.5 0.6 1 1.5 2 3 4; TheunitsofthegivenvaluesaredeterminedbythecurrentlyusedGRIDin theEditorwindow.Amaximumnumberof16entriesisallowed. ExamplefortheSMDmenu: SET SMD_MENU 1.2mm 2.0mm 0.5mm 0.9mm 0.1in 0.14in; Foreachentryofthethreevaluepairstheunitisgivendirectly.Amaximum numberof16valuepairsisallowed. ThevaluesinthemenusarealwaysshowninthecurrentlyselectedGRID unit. WritetheSETcommandinthefile eagle.scr tomakeitdefaultforallyou projects. ToreturntotheEAGLEdefaultsettingsuseforexamplefortheWidthmenu: SET WIDTH_MENU ;

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

5.9 Configuring EAGLE Individually

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

101

5 Principles for Working with EAGLE

Colorwindow:Definingcolors
The image above shows four further pairs of colors (normal and corresponding highlight color vertically arranged). In order to change the colorpaletteforaneditorwindowselecttheappropriate Backgroundinthe menuOptions/UserInterface. Youshouldalwaysdefineatleastonepairofcolors:anormalcolorand itsrelatedhighlightcolor. Alternatively, thecolordefinitionand changeofpalettecanbemadeina 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.

102

5.9 Configuring EAGLE Individually


ThecolorassignmentforlayersisdonewiththeDISPLAYcommandorwith SETCOLOR_LAYER. SET COLOR_LAYER 16 4 defines,forexample,thecolornumber4forlayer16. MoredetailsaboutthesyntaxcanbefoundintheSETcommand'shelp. Ifyouprefertousethedefaultcolorvaluesagain,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/redobuffer.Default:on. Optimizing: Enablestheautomaticremovalofbendsinstraightlines.Default:on. 103

5 Principles for Working with EAGLE


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

5.9 Configuring EAGLE Individually


forinstanceswitchesoffpolygoncalculationfortheRATSNESTcommand. The help system provides you with more instructions about the SET command.

The eagle.scr File


Thescriptfileeagle.scrisautomaticallyexecutedwhenaneditorwindowis openedorwhenanewschematicdiagram,boardorlibraryfileiscreated, unlessaprojectfileexists. Itisfirstlookedforinthecurrentprojectdirectory.Ifnofileofthisname existsthere,itislookedforinthedirectorythatisenteredintheScriptboxin theOptions/Directoriesdialog. Thisfilecancontainallthosecommandsthataretobecarriedoutwhenever aneditorwindow(otherthantheTextEditor)isopened. The SCH,BRD and LBR labelsindicatethosesegmentswithinthefilewhich 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 themso thatthesettingsin eagle.scr areadopted.Itis,asanalternative, possiblesimplytoreadthefileeagle.scrthroughtheSCRIPTcommand. Commentscanbeincludedinascriptfilebyprecedingthemwith#. Exampleofaneagle.scrfile:
# This file can be used to configure the editor windows. Assign Assign Assign Assign A+F3 A+F4 A+F7 A+F8 'Window 4;'; 'Window 0.25;'; 'Grid mm;'; 'Grid inch;';

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;

105

5 Principles for Working with EAGLE


Change width 0.01; Change drill 0.024; Change size 0.07; SCH: Grid Default; Change Width 0.006; #Menu Add Bus Change Copy Delete Display Gateswap \ #Grid Group Invoke Junction Label Move Name Net \ #Pinswap Quit Script Show Split Value Window ';' \ #Wire Write Edit; LBR: #Menu Close Export Open Script Write ';' Edit; DEV: Grid Default; #Menu Add Change Copy Connect Delete Display Export \ #Grid Move Name Package Prefix Quit Script Show \ #Value Window ';' Write Edit; SYM: Display all; Grid Default On; Change Width 0.010; #Menu Arc Change Copy Cut 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)

106

5.9 Configuring EAGLE Individually


EAGLE looks for the configuration file in various locations in the given sequenceandexecutesthem(ifexisting): <prgdir>/eaglerc /etc/eaglerc $HOME/.eaglerc $HOME/eaglerc.usr Thesefilesshouldnotbeedited. WiththehelpofvariousUserLanguageprogramsitisalsopossibletodefine settingsinEAGLE.Visitourwebsite: http://www.cadsoftusa.com/download.htm. (Linux,Mac,Windows) (Linux,Mac) (Linux,Mac) (Windows)

EAGLE Project File


Ifanewprojectiscreated(byclickingtherightmousebuttononanentryin the Projects branch of the tree view and thenselecting New/Project inthe contextmenuintheControlPanel),adirectoryisfirstcreatedwhichhasthe nameoftheproject.Aneagle.epf configurationfileisautomaticallycreated ineveryprojectdirectory. EAGLE takes note of changes to object properties that are madewith the CHANGEcommandduringeditingandthecontentsofthe Width, Diameter, andSizemenusintheprojectfile. Italsocontainsinformationaboutthelibrariesinuseforthisproject. Thepositionandcontentsoftheactivewindowsatthetimetheprogramis closedarealsosavedhere.Thisassumesthatthe Automaticallysaveproject fileoptionunderOptions/BackupintheControlPanelisactive.Thisstatewill berecreatedthenexttimetheprogramstarts. Thosewhohavepreviouslyworkedonprojectswith EAGLE3.5x canmost easilyadaptthemtothestructurethatappliesfromVersion4.0onwardsas follows: Createadirectorywiththeprojectname Copytheoldprojectfileunderthenameeagle.epfintothisdirectory Copyallthefilesbelongingtotheprojectintothisdirectory The path that leads to these project directories isspecified intheControl PanelunderOptions/Directories/Projects. Aprojectwillbeopenedautomatically,ifyoustartEAGLEdirectlywithan eagle.epffileorwithaprojectnamethatexistsasfolderinthegivenproject path.

107

5 Principles for Working with EAGLE

This page hasbeen leftfree intentionally.

108

Chapter 6 From Schematic to Finished Board


Thischapterillustratestheusualroutefromdrawingtheschematicdiagram tothemanuallyroutedlayout.ParticularfeaturesoftheSchematicorLayout Editor will be explained at various points. TheuseoftheAutorouter, the Followmerouter,andtheoutputofmanufacturingdatawillbedescribedin subsequentchapters.

Werecommendtocreateaproject(folder)first.Detailscanbefoundon page41.

6.1 Creating the Schematic Diagram


Theusualprocedureisasfollows: Devicesaretakenfromexistinglibrariesandplacedonthedrawingarea.The connectingpoints(pins)ontheDevices arethenjoinedbynets(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.

109

6 From Schematic to Finished Board

Open the Schematic Diagram


YoufirststartfromtheControlPanel.Fromhereyouopenaneworexisting schematicdiagram,forinstancebymeansofthe File/Open ortheFile/New menus,orwithadoubleclickonaschematicdiagramfileinthedirectory tree.Theschematicdiagrameditorappears. Createmoreschematicsheetsifneeded.Forthatpurpose,openthecombo boxintheactiontoolbarwithamouseclick,andselecttheNew.Anewsheet willbegenerated(seepage50).Anotherwaytogetasecondsheetistotype in EDIT .S2 onthe command line. If, however, you do not infactwantthepage,the entiresheetisdeletedwith REMOVE .S2

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

Load Drawing Frame


It is helpful first to place a frame. The ADD command is used to select Devicesfromthelibraries. WhentheADDiconisclicked,theADDdialogopens. Itshowsall the libraries thatare madeavailablewith theUSEcommand, first.Youcanexpandthelibraryentriesforsearchingelementsmanuallyor youcanusethesearchfunction. Aletterformatframeistobeused.EnterthesearchkeyletterintheSearch line at the lower left, and press the Enter key. Thesearchresult showsa number of entries from frames.lbr. If you select one of the entries (LETTER_P),apreviewisshownontheright,providedthePreviewoptionis active.DisablingtheoptionDescriptionexcludesthepart'sdescriptivetexts. IntheSchematicEditoryouaresearchingforDevicenamesandtermsof theDevicedescription,intheLayoutEditorforPackagenamesandterms ofthePackagedescription!

110

6.1 Creating the Schematic Diagram


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:Resultsfromthesearchkeyletter 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). IfacertainlibraryshouldnotbelistedintheADDdialoganymore,selectthe library name in the tree and click the Drop button. Now it is not in use anymore. DrawingframesaredefinedwiththeFRAMEcommand. Thiscanbedoneinalibrary,wheretheframecanbecombinedwitha document field. EAGLE can also use the FRAME command in the SchematicaswellastheBoardEditor.Detailsaboutdefiningadrawing 111

6 From Schematic to Finished Board


framecanbefoundonpage249.

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. Repeatedcircuitrycanbereproducedintheschematicdiagramwiththeaid oftheGROUP,CUTandPASTEcommands.Firstmakesurethatallthelayers aremadevisible(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 desiredGateintheINVOKEwindow,thenplaceit.Thenjointhesupplygate tothedesirednet.

112

6.1 Creating the Schematic Diagram

INVOKE:GatePistobeplaced

Devices with Several Gates


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

113

6 From Schematic to Finished Board

Wiring the Schematic Diagram


Draw Nets (NET)
TheNETcommanddefinestheconnectionsbetweenthepins.Netsbeginand endattheconnectionpointsofapin.Thisisvisiblewhenlayer93, Pins,is displayed(DISPLAYcommand). Netsarealwaysgivenanautomaticallygeneratedname.Thiscanbechanged bymeansoftheNAMEcommand.Netswiththesamenameareconnectedto one another, regardless of whether or not they appear continuous onthe drawing.Thisappliesevenwhentheyappearondifferentsheets. Ifanetistakentoanothernet,abus,orapinconnectingpoint,thenetline endsthereandisconnected.Ifnoconnectionismadewhenthenetisplaced, thenet line continues to be attached to the mouse.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 pins and nets will be highlighted. If a Gate 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 rightor bottomborderof thedrawing, thecrossreferenceshowsthenext higherpagenumber.Ifthelabelpointstotheleftortopborder,theprevious pagesaretakenintoconsideration.Inthecasethatthenetisonlyavailable 114

6.1 Creating the Schematic Diagram


ononesheet,thiscrossreferenceisshown,independentlyfromtherotation ofthelabel. Ifthenetisonlyonthecurrentsheet,onlythenetnameandpossiblythe label's frame around it is shown. This depends on the Xref label format definitionwhichcanbedoneinthemenuOptions/Set/Misc(canbedefined viaSET,too). The XREF option can be activated in the parameter toolbar of the LABEL commandorafterplacingthelabelwithCHANGEXREFON. Thefollowingplaceholdersfordefiningthelabelformatareallowed: %F %N %S %C %R enablesdrawingaflagborderaroundthelabel thenameofthenet thenextsheetnumber thecolumnonthenextsheet therowonthenextsheet

The default format string is %F%N/%S.%C%R. Apart from the defined placeholdersyoucanalsouseanyotherASCIIcharacters.If%Cor%Risused andthereisnoframeonthatsheet,theywilldisplayaquestionmark'?'.See alsopage249.

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

115

6 From Schematic to Finished Board 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. 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

116

6.1 Creating the Schematic Diagram 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 arevalid.Youcanuseuptoeightnetclasses.

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.

117

6 From Schematic to Finished Board

Netclasses:TheClearanceMatrix
To return to the simple view, click the << button. This is only possible, however,iftherearenovaluesdefinedinthematrix. ThenetclassescanbechangedlaterbymeansoftheCHANGEcommand(the Classoption)intheSchematicandintheLayoutEditor. NetclassdefinitioncanbedoneintheLayoutEditor,aswell.

Drawing a bus (BUS)


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

118

6.1 Creating the Schematic Diagram

Busmenu
Theindexofapartialbusnamemayrunfrom0to511. ThehelpfunctiongivesfurtherinformationabouttheBUScommand.

Pinswap and Gateswap


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

Swaplevel:Pinslayerisvisible
Inputpins1and2haveSwaplevel 1,sotheycanbeexchangedwithone another.Theoutputpin,3,whichhasSwaplevel0,cannotbeexchanged. 119

6 From Schematic to Finished Board


YoucanfindtheSwaplevelofaGatebymeansoftheINFOcommand,for example,typeinthecommandlineINFO IC2A.Alternativelyviathecontext menu,Propertiesentry.

Power Supply
PinsdefinedashavingthedirectionPwrareautomaticallywiredup.Thisis true,eveniftheassociatedpowergatehasnotexplicitlybeenfetchedinto theschematic.ThenameofthePwrpindeterminesthenameofthevoltage line.ThisisalreadyfixedbythedefinitionoftheSymbolsinthelibrary. If nets are connected to a Device's Pwr pins, then these pins are not automaticallywired.Theyarejoinedinsteadtotheconnectednet. ForeveryPwrpintheremustbeatleastonepinwiththesamenamebutthe direction Sup (asupplypin).Theremustbeoneoneverysheet.TheseSup pinsarefetchedintotheschematicintheformofpowersupplysymbols,and aredefinedasDevices inalibrary(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?

120

6.1 Creating the Schematic Diagram


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

Ifthelastsupplypinofanetisdeleted,thenetwillgetanautomatically generatedname,likeN$1.

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.

121

6 From Schematic to Finished Board Attributes for Elements


TheATTRIBUTEcommand allows you todefine attributesfor Devices.An attributeconsistsoftheattributenameanditsvaluethatmayprovideany information.Iftherealreadyexistsanattributethathasbeendefinedinthe library,youmayalterthevalueintheschematic.

Attributedialog
ClickingtheATTRIBUTE icon andthenontoaDeviceopensadialog

window.Itliststhepart'sattributesalreadydefinedintheschematicorinthe library. TheimageaboveshowstheattributesDISTRIBUTOR,IDNUMBER,andTEMP forpartR1.Theiconsontherightindicatewheretheattributecomesform: globallyintheSchematic globallyintheLayout intheLibrary'sDeviceEditor fortheelementintheSchematic forthePackageintheLayout Thethreeattributesoftheexampledialogabovecomefromthelibrary. Attributes thataredefinedin theLayoutEditor arenotshowninthe SchematicEditor.AnewlydefinedattributeintheSchematicadoptsthe valueofanalreadyexistingattributeintheLayout. Defining a New Attribute ClickontotheNewbuttontodefineanewattributeintheschematic.Inthe followingdialogyoucandefineName,Value,andtheDisplaymode. Inthisimagetheattribute'snameisTOLERANCE,itsvalueis1%.

122

6.1 Creating the Schematic Diagram

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

6 From Schematic to Finished Board

Attributedialogwithdifferentattributes
GrayedtextintheAttibutes'dialogindicatesthatitcan'tbechangedorrather theelement'sattributevaluewasdefinedasconstantinthelibrary. Theiconsinformyouabouttheattribute'soriginanditscurrentstatus.Move themousecursorontooneoftheiconstoletEAGLEdisplaytooltiptextsto explain its meaning, provided the Bubble help in Options/User interface is active. More details on defining attributes can be found in the library chapter beginningwithpage240.

ERC Check and Correct Schematic


A schematic diagram must be checked with the aid of the Electrical Rule Check(ERC),whenthedesignoftheschematicdiagramhasbeencompleted, ifnotbefore.Itisactuallyagoodideatorunthe(ERC)manytimesduring yourdesignprocesstocatcherrorsimmediately.TostarttheElectricalRule CheckclickontotheERCiconinthecommandmenu intheToolsmenu. AlltheerrorsandwarningsarelistedintheERCErrorwindow.Errorsare markedwitharedicon,warningswithayellowicon. Inthecaseofacorrespondingboardfile,theERCalsocheckstheconsistency betweenschematicandboard.Iftherearenodifferences,ERCreportsBoard andschematicareconsistent.Otherwise theERCErrorswindowcontainsa branchwithConsistencyerrors.Forfurtherinformationonthisseepage175. Itispossibletosorttheerrorsandwarnings,ascendingordescending,by errortypesorsheetnumbers.clickontothecolumnheaders Type or Sheet therefore. ortheentryErc...

124

6.1 Creating the Schematic Diagram

TheERCErrorswindow
Ifyouselectanentryinthe Errors orWarnings branch,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 windowlistsapprovederrors orwarningsonly,itwon'topen automaticallyafterrunningtheElectricalRuleCheckagain.Thestatuslineof theSchematicEditor,however,willshowthefollowinghint: ERC:2approvederrors/warnings Movinganentryfromonebranchintotheother,markstheschematicfileas changedandnotsaved.

125

6 From Schematic to Finished Board


Whilecorrectingtheerrorintheboard,theERCErrorswindowmayremain open. After correcting an error or warning you can mark the entry as Processed in the error list by clicking onto the Processed button. The error/warning icon turns gray now. Entries marked as processed will be rememberedaslongasyoudon'tstartERCagain.ReopeningtheERCErrors windowwiththeERRORS 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. command,showsthesamestatusasyouleft

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 menuinorderto switchon/offthe sheet preview. Adding, removing, and reordering schematic sheets clears the UNDO/REDObuffer. 126

6.1 Creating the Schematic Diagram


Whenswitchingbetweenschematicsheets,thecurrentzoomlevelofeach sheetwillbemaintained.

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.

Merge Different Schematics


ThecommandsGROUP,CUT,andPASTEcanbeusedtocopyaschematicor partsofitintoanotherone.Todothisopenaschematic,displayalllayers (DISPLAYALL),selectallobjectsthatshouldbecopiedwithGROUP,activate theCUTcommand,andleftclickintothedrawing.Openanotherschematic nowandusethePASTEcommand. WhileinsertingagroupEAGLEcheckstheobjects'namesandcomparesthem withthosealreadyexistingintheschematic.Iftherearematchestheaffected objectstobeinsertedgetnewunequivocalnames. This works also with board files, provided there is no consistent schematicavailable.

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

127

6 From Schematic to Finished Board


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(seepage158) clearancevaluesbetweendifferentpotentials parametersconcerningsolderstopmaskandcreamframe Youwill save yourself time and money if you takethesestipulationsinto accountingoodtime.Youwillfindmoredetailsonthisinthesectiononthe PreparingofManufacturingData(Chapter9).

Specifying the Design Rules


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

128

6.2 Considerations Prior to Creating a Board

DRC:AdjustingtheDesignRules

General Principles
Thefirsttimethatyoucallthisdialog,theDesignRulesareprovidedbythe program.Ifnecessary,adjustthevaluestosuityouroryourBoardhouse's requirements. The Apply buttonstoresthevaluesthatarecurrentlysetinthelayoutfile. ChangestovariousDesignRules,likethesettingsconcerningtheRestring, areimmediatelydisplayedintheLayoutEditorafterclickingApply. TheDesignRulescanbesavedinaspecialDesignRulesfile(*.dru)bythe useoftheSaveas..button.Soyoucaneasilyusethissetofrulesforanother board. ToapplyasetofDesignRulestoaboard,youcandragany dru fileofthe Design Rules branch of the tree view inthe ControlPanel intotheLayout EditorwindoworclicktheLoad.. buttoninthe File taboftheDesignRules window. Edit Description.. can be used to alter the descriptive text for the current parameterset.ThedescriptionusuallyappearsintheFiletab,ascanbeseen intheimageabove.HTMLtextcanbeused.Youwillfindnotesonthisinthe helpsystem. The Design Rules dialog offers a range of different options that can be selectedthroughthetabs.Theoptionsinclude: File Layers ManagetheDesignRules Numberofcopperlayers,structureofmultilayer boards,kindandlengthofvias,thicknessofcopper andisolationlayers 129

6 From Schematic to Finished Board


Clearance Distancesbetweenobjectsinthesignallayers representingsignalsthatmaybedifferentorthesame Distance Sizes Restring Shapes Supply Mask Misc Distancesfromtheboardedgeandbetweenholes Minimumtrackwidthandholediameter,particularly forMicroandBlindvias WidthoftheremainingringatPadsand(Micro)viasand thediameterofThermalandAnnulussymbolsinsupplylayers ShapesofPadsandSMDs Thermalandinsulationsymbolsinsupplylayers Valuesforsolderstopandsoldercreammasks Additionalchecks

Mostparametersareexplainedwiththehelpofasmallimage.Assoonas youclickintoaparameterline,theassociateddisplayappears.

Layers
Definethenumberofsignallayersandthekindofvias(BlindorBuriedvias) here.WiththehelpofamathematicalexpressionintheSetuplinetheproper structure ofthe board, theappropriate combinationofcoresandprepregs andtheresultingfacilitiesforviascanbedefined.

DesignRules:LayerSetup
In most cases (for simple two or more layer boards) the vias are drilled throughalllayers.Theimageaboveshowsthedefaultsetupforatwolayer board.Theexpression(1*16)definesonecorewithlayers1and16,which

130

6.2 Considerations Prior to Creating a Board


can be connected with vias. Parenthesis around the expression define throughhole(continuous)vias. Basicexamples: 1layer: 16 Onlylayer16,novias.

4layers,viasthroughalllayers: (1*2+3*16) Twocoresareaffiliatedwitheachother. 6layers,viasthroughalllayers: (1*2+3*4+5*16) Threecoresareaffiliatedwitheachother. ThefieldsforCopperandIsolationareusedtodefinethethicknessofcopper andisolationlayers.Thesesettingsareonlyrelevantforcomplexmultilayer boardsthatuseBlindorMicrovias. ThecommandsDISPLAY,LAYER,WIRE,andROUTEworkonlywiththose signallayersdefinedintheLayerSetup. FurtherinformationandexamplesabouttheLayersetupcanbefoundinthe sectionMultilayerBoardsbeginningwithpage158. LoadingaboardfilethatwasmadewithanolderversioncausesEAGLE tocheckwhichsignal layerscontainwires.Theselayersappearinthe layersetup.Pleaseadjustitifnecessary.

Minimum Clearance and Distance


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

131

6 From Schematic to Finished Board 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).

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. TherestingsettingsalsoaffectthediameterofThermalandAnnulussymbols insupplylayers,providedtheRestringflag(intheDesignRules'Supply tab) issetforThermal/Annulussymbols. As soon as you change a parameter and click the Apply button you can directlyseetheeffectsinthelayout.Ifyouwanttousedifferentvaluesfor the upper and lower layer (or different shapes, see Shapes tab), it is recommended to set thelayer color for layers 17, Pads,and18, Vias,the 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:

132

6.2 Considerations Prior to Creating a Board

DisplayingViapropertieswithINFO
Predefinedvalue(byCHANGEDIAMETER): Actualcalculateddiameterintheouterlayers: Actualcalculateddiameterintheinnerlayers: 0.7 0.9 0.8

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

133

6 From Schematic to Finished 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 for SMD pads. The value can be between0%(norounding)and100%(maximumrounding). AsquareSMDhasbeenplacedinsteadofanoblongoneonthefarrightof the diagram. After assigning the property Roundness = 100 %, the SMD becomesround.

134

6.2 Considerations Prior to Creating a Board

Roundness:0102550100[%].Right:100%,square
Pads: Thisiswheretheformofthepadsisspecified.Itispossibletogivedifferent settingsforthetopandbottomlayers. The As in library option adopts the form defined in the Package Editor. ClickingonApplyshowsthechangeimmediatelyintheLayoutEditor. PadsandViaswithininnerlayersarealwaysround,nomatterwhatthey areinToporBottomlayer.Thediameterisdeterminedbytherestring settings. ProvidedapadwasgiventheFirstflaginthelibraryonecanspecifyacertain shapeforallthosepadsinthelayout. ElongationdefinestheaspectratiooflengthtowidthofLongandOffsetpads (seeimage).Thevalueisgiveninpercent.Clickwiththemouseintothefield LongorOffsetandtheimageontheleftshowsthecorrespondingcalculation rule. 100%isequivalenttoanaspectratioof2:1.0%resultsinanormaloctagon padwithanaspectratioof1:1.Themaximumis200%(ratio4:1).

DesignRules:Adjustingpadshapes

135

6 From Schematic to Finished Board


NotesonthedisplayintheLayoutEditor: 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
Specifies the settings for Thermal and Annulus symbols. These special symbolsaregeneratedinsupplylayersthatarecreatedautomatically(layer namestartingwitha$sign). EAGLE calculates the required dimensions for Annulus and Thermal apertures based on the pad's drill diameter and theAnnulus andThermal parameterssetintheDesignRules: Gap defines thegapbetweentheinsulationbridgesonaThermalsymbol. Thespecificationismadeasa%oftheholediameter,andisconstrainedby maximumandminimumvalues. The Isolate values for Thermal and Annulus determine the width of the thermalbridgeorring. TheRestringoptiondetermineswhethertheinsulationbridgeoftheThermal symbolshouldbedrawnimmediatelyattheedgeoftheholeoratadistance fromtheholegivenbytherestringvalue(Restringtab,Innersetting). Ifthe Restring optionfor Annulus isdeactivated,afilledcircleisgenerated insteadoftheAnnulusring.Thisisthedefaultsetting. The isolate value for Thermal also applies to polygons. It determines the distancebetweenapolygonandtherestringofthepadorviathatisjoinedto thepolygonthroughaThermalsymbol. 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. Calculationsforautomaticallycreatedsymbolsinsupplylayers: Annulus: 136

6.2 Considerations Prior to Creating a Board


Inner diameter = pad hole diameter + 2 * restring Outer diameter = max(pad-hole diameter, inner diameter) + 2*isolate

Default:restring=0(fullyfilled),isolate=20(mil). Thermal:
Inner diameter = pad hole diameter + 2 * restring Outer diameter = inner diameter + 2 * isolate

Isolate

Gap

Restring

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.

137

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 thePackage definitionforbids EAGLEtogenerateasolderstopmaskora 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: 138

6.2 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. If restricted areas and copper objects are defined in a common Package, EAGLEdoesnotcheckthemagainsteachother. Defaultsetting:on.

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

139

6 From Schematic to Finished Board


Ifyoualreadygeneratedaboardfromyourschematicandcontinueplacing componentsintheschematic,thereferringpackagesintheboardareplaced inthecurrentgridsettingoftheLayoutEditor. If,forexample,theSchematicisloadedandeditedwithouttheLayout, consistencycanbelost.TheForward&BackAnnotationEnginenolonger functions.Differencesmustthenberectifiedmanuallywiththeaidofthe errormessagesprovidedbytheERC(seepage175).

Without the Schematic Editor


IfyouworkwithoutaSchematicEditor,youmustgenerateanewboardfile, placethePackageswiththeADDcommandanddefinetheconnectionswith theSIGNALcommand. Tounderstandthisprocess,pleasereadthesectiononPlacingComponentson page110,andthesectiononSpecifyingNetClasses onpage117.Thesetwo pointsapplytotheLayoutEditoraswellastotheSchematicEditor. YouarealsoallowedtodefineattributesintheLayoutEditor.Pleasereadthe chapteraboutdefiningAttributesbeginningwithpage121. 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:

140

6.3 Create Board

Boardcommand:Createthelayoutfromtheschematic
The Devices are automatically placed at the left of the board. The board outlineisdrawnasasimplelineinlayer20, Dimension.Theoutlineofan eurocard is displayed in the Professional and Standard editions, a half eurocardintheLightedition. Ifyouwish,you mayalter thesizeorshapeoftheemptyboardwiththe MOVEandSPLITcommands.Pleasenotethehintsinthehelpfunctionfor WIREandMITER.It'seasilypossibletodrawroundoutlines,too. Youcanalsodeletetheoutlineandplaceaframefromalibrary(suchas 19inch.lbr)withADD. 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.

141

6 From Schematic to Finished Board

Arrange Components
Drag the various components to the desired positions. Use the MOVE commandforthispurpose.Devicescanbeclickedondirectly,oraddressed byname. Ifyoutype,forexample, MOVE R14 inthecommandline,theDevicenamedR14willbeattachedtothemouse cursor,andcanbeplaced. Precisepositioningresultsfrominputsuchas: MOVE R14 (0.25 2.50) R14'slocatingpointisnowlocatedatthesecoordinates. KeeptheCtrlkeypressedwhileselectingacomponentinordertoletits origin jump atthe mousecursor and move it onto thecurrently used grid. AgroupofDevicescanbetransposedbycombiningtheGROUPandMOVE commands.ClickontotheGROUPiconandthendrawaframearoundthe desiredelements,clickMOVE,andthenclickwithinthegroupwiththeright mousebuttoninordertoselectit.Withaclickoftheleftmousebuttonyou canplacethegroupatthedesiredlocation. ROTATE,oraclickwiththerightmousebuttonwhiletheMOVEcommandis activeturnsaDevicethrough90degrees.Thisalsoappliestogroups. Inorder to place a component in any angle you mayspecifythe rotation directly with the ADD command or later with ROTATE or MOVE in the parametertoolbar.

ParametertoolbarforROTATE,MOVE,ADD,COPY,TEXT
NexttotheAngleboxarethebuttonsfortheSpinandMirrorflag. Thelefthand Spin iconisselected ,ifthespinflagisnotset(default).

Thismeansthattextsaredisplayedalwaysreadablefromtherightorfrom thebottomsideofthedrawing. IfthespinflagisactivaetherighthandSpinnedicon textscanbedisplayedinanyrotation,alsoupsidedown. ismarkedthe

142

6.3 Create Board


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

143

6 From Schematic to Finished Board


Ifthetextforthenameorthevalueislocatedawkwardly, separatethem fromtheDevicewithSMASHandmovethemtowhateverpositionyouprefer withMOVE.AtthesametimeEAGLEshowsalinefromthetext'soriginto thebelongingobject.ClickingwithDELETEoneitherofthetextsmakesit invisible. ActivatetheSMASHcommand,holddownthe Shift key,andclickontothe componenttohavethetextsdisplayedattheiroriginalpositionsagain.They arenolongereditableandunsmashed,again.Anotherwaytoarchivethisis todeactivatetheoptionSmashedinthecontextmenu'sPropertiesentry. PleasekeepinmindthattheCAMProcessoralwaysusesvectorfontfor generatingmanufacturingdata. Werecommendtowritetextsinthelayoutalwaysinvectorfont(atleast inthesignallayers).Ifyoudosotheshowntextmeetsexactlyreality. Furtherinformationcanbefoundonpages45and157.

Attributes for Components and Global Attributes


If you want to assign any further information than name and value to a componentintheBoard,youcandothiswiththeATTRIBUTEcommand. ThedefinitionofattributesforacomponentcanbemadeintheSchematicas wellasintheboardfile.IfBack&ForwardAnnotationisactive,anyattribute changewillaffectbothfiles,schematicandboard. Globalattributesarenotvalidforsinglecomponentsbutforthewholeboard. TheycanbedefinedinBoardandSchematicseparately. You will find more information about this in the Creating the Schematic chapteronpage121.

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.

144

6.3 Create Board PACKAGE Command


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

CHANGEpackagedialog
IftheShowalltechnologies optionisactive,thePackageversionsforallthe technologiesavailableforthisDevicearedisplayed.Ifthisoptionisnotactive youwillonlyseePackagesthataredefinedintheselectedtechnology. ThePackagecanalsobeexchangedfromwithintheschematicdiagram. Devicesthatdon'thavealternativePackagevariantsdefined,canbemodified in the Library Editor. Add further Package variants asneeded andupdate your drawing with the new library definition. See page 231 Choosing the PackageVariantsforfurtherinformation. IfyouchangethePackagevariantofaDevicewhichyougaveanewvalue with the help of the VALUE command, althoughithasbeen defined with VALUEOff,thevaluewillremainunchanged.Seealsopage76. IfyouwouldliketochangethePackagevariantforseveralidenticalparts, youcandothisinthecommandline. DefineaGROUPwithallpartsthatshallgetanewPackagevariant,first. Nowtypeinthecommandline CHANGE PACKAGE 'new-device-name' andclickwithCtrl+rightmousebuttonintothedrawing. ThenameofthenewPackagevarianthastobeenclosedininvertedcommas.

145

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. The old and 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 is identical to the onedescribed before in whichPackageformsareexchangedusingPACKAGE.

Define Forbidden Areas


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

6.3 Create Board


regionsaretestedbytheDesignRuleCheckandtakenintoconsiderationby theAutorouter/Followmerouter. Layer43, vRestrict,isfordrawingrestrictedareaswheretheAutorouteror theFollowmeroutermaynotsetvias.vRestrictregionsarenotexaminedby theDRC.

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 generatesanewairwirefromthispositionthen(seealsohelpfunctionfor ROUTE). 147

6 From Schematic to Finished Board


Airwireswithlengthof0(forexample,fromToptoBottomlayer)aredrawn asacrossinlayer19,Unrouted. Endingawireatthesamepositionwhereanotherwireofthesamesignalbut inanotherlayeralreadyexistsandpressingthe Shift keyatthesametime causesEAGLEtoplaceavia.Otherwiseitwon't. IfyouintendtodesignamultilayerboardanduseBlindandBuriedorMicro vias,pleasenotethedetails(alsofortheVIAcommand)inthesectionabout MultilayerBoardsbeginningatpage158. 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/Misc menu as described on page Fehler: Referenz nicht gefunden. Use RIPUP ifyouwanttoconvertthewholeorpartofatrackoraviathat 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 ;

148

6.3 Create Board


converts all signals (that are visible in the editor) into airwires. To truly includeeverytrack,allthelayersinwhichtrackshavebeendrawnmustbe visible(DISPLAY). Ifyouwanttousewiresasarcsortrytosmooththewirebendsseethehints concerning the MITER command in the help function. The miter radius determines how the wire joints are mitered. A positive value generates a rounding,anegativeoneastraightline.Themiterradiusinfluencessome bendmodi(0,1,3,4;seeSETcommand)andisshownadditionallyinthe parametertoolbarofthecommandsSPLIT,ROUTE,WIRE,andPOLYGON. WhileWIREorROUTEisactiveitispossibletoclickthroughthepreviously mentioned wirebends(bendmodes)with therightmousebutton.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 (as specified in the Design Rules) are joined tothecopperplane through Thermalsymbols. Elements notcarryingthissignalarekeptataspecified distance. RATSNEST calculates and displays the surface area of allpolygonsin the layout.IfyoucallRATSNESTwithasignalname,forexample RATSNEST GND ; 149

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). Rank: Overlapping polygons must not create any shortcircuits. Rank can thereforebeusedtodeterminewhichpolygonsaretobesubtractedfrom others. A polygon with rank = 1 has the highest priority intheLayout Editor,nootherpolygondrawninthelayoutiseversubtractedfromit, whileonewithrank=6hasthelowestpriority.Assoonasthereisan overlap with a higher rank, the appropriate area is cut out from the polygonwithrank=6.Polygonswiththesamerankarecomparedbythe DRC. The rank property works only for polygons with different signals. For overlappingpolygonswiththesamesignalnameitiswithouteffect.They willbedrawnoneovertheother.

150

6.3 Create Board


PolygonsthatarecreatedinthePackageEditorcanbeassignedrank0or 7.Rank=0hashighestpriorityandwillnotbeoverwritten(i.e.obscured by polygons in the layout). Polygons with rank = 7 will always be overwrittenbyoverlappingpolygonsofrank1to6inthelayout. Amongotheruses,rank=7allowsasurfacemountpadtobesurrounded by a polygon (thereby making the polygon electrically the same as the surfacemountpad) that is, inturn, swallowed by a copperplane and is thereforeespeciallyusefulforgroundedheatsinks. Spacing: IftheoptionHatchischosenforPour,thisvaluedeterminesthespacingof thegridlines. Isolate: Definesthevaluethatthepolygonmustmaintainwithrespecttoallother objectsnotpartofitssignal.Ifhighervaluesaredefinedforspecialobjects intheDesignRulesornetclasses,thehighervaluesapply. InthecaseofpolygonswithdifferentRanks, Isolate alwaysreferstothe drawncontourwhichisshownintheoutlinemodeofthepolygon,evenif thecalculatedpolygonhasgotanothercontour,forexample,duetoawire thatsupersedesthepolygon.Theactualclearancecanbecomegreaterthan thegivenIsolatevalue. Thermals: Determines whether pads in the polygon are connected via Thermal symbols,orarecompletelyconnectedtothecopperplane.Thisalsoapplies tovias,assumingthattheoptionhasbeenactivatedintheDesignRules. The widthofthe thermalconnectorsiscalculatedasthehalfofthepad's drilldiameter.Thewidthhastobeinthelimitsofaminimumofthewire widthandamaximumoftwicethewirewidthofthepolygon. Thelength of thethermal connectors is definedbythe Isolate valuefor ThermalsintheDesignRules'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 151

6 From Schematic to Finished Board


notdrawnmorethanonce(overlapping)anywhere,andthatthepolygon outlinedoesnotcrossoveritself.ItisnotpossibleforEAGLEtocompute thecontentsoftheareainthiscase. An error message 'Signalname' contains an invalidpolygon! is issued, andtheRATSNESTcommandisaborted. Ifthis message appears, the outline of the polygonmustbecorrected. 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 and the polygon's name. Probably the polygon's filling is not abletoreachoneoftheobjectsthatshouldbeconnectedwithitssignal. RenamingapolygonwiththeNAMEcommand,connectsitwithanother signal!

6.4 DRC Checking the Layout and Correcting Errors


TheDesignRuleCheck(DRC)iscarriedoutattheendoftheboarddesign,if notbefore.IfyouhavenotyetspecifiedanyDesignRulesforthelayout,this isyourlastopportunity.SeethesectiononSpecifyingtheDesignRules from page 128. To start theDesign Rule Check click ontotheDRCiconin the commandtoolbar ortheentryDRC...inthemenuTools.

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

152

6.4 DRC Checking the Layout and Correcting Errors

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

153

6 From Schematic to Finished Board

The DRC Errors Window


IftheDesignRuleCheckfindserrors,anerrorwindowopensautomatically. Itlistsalltheerrorsfound.Thewindowcanbeopenedatanytimebymeans oftheERRORScommand.

DRCErrorslistintheLayoutEditor
Eacherrorismarkedwithanerrorpolygon.Itssizetellsyou,forexamplein thecase of a clearanceerror, about how much thelimitisexceeded.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.

154

6.4 DRC Checking the Layout and Correcting Errors


Theerrorsdialogshowsonlyerrorsthatoccurinthecurrentlydisplayed layers. Incaseyouzoomedintothedrawingandthereisonlyapartialviewofthe board, you can click the option Centered. The currently selected error is showninthemiddleofthedrawingwindownow.Ifyouprefertohavethe Centered optiondeactivatedforbrowsingtheerrorlist,youarenevertheless able tocenteranerrorinthemiddleof thedrawingareabypressingthe Enterkey. Whilecorrectingtheerrorontheboard,theDRCErrorswindowmayremain opened.AftercorrectingoneerroryoucanmarkitasProcessedintheerror listbyclickingontotheProcessedbutton.Therederroriconturnsgraynow. Insomesituationsitmaybethecasethatyouwanttotolerateanerror.Use theApprovebuttonforthis.TheerrorentrywillberemovedfromtheErrors branchandappearintheApprovedbranchandtheerrorpolygonisnolonger shownintheLayoutEditor. Ifyouwanttotreatanalreadyapprovederrorasaquitenormalerror,select itintheApproved branch,andclickontotheDisapprovebutton.Nowitisa memberoftheErrorsbranchagain. ClickingtheClearallbuttondoesnotdeleteapprovederrors.Theyremainin theApprovedbranch. Moving an entry from one branch into the other, marks theboard fileas changedandnotsaved. EAGLE's minimumresolution is1/10.000 Millimetre. Thatiswhythe DRCcanreportonlydistanceandclearanceerrorswhicharelargerthan 1/10.000mm.

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 155

6 From Schematic to Finished Board


checking. Inadditionthe Isolate valuewillbetakenintoconsiderationforpolygons withthesamerankandpolygonswhicharedefinedasapartofaPackage. Todeactivatetheclearancecheckbetweenobjectsthatbelongtothesame signal,usethevalue0forSamesignalsintheClearancetab. Micro Vias are treated like wires. The clearance value for wire to wire appliesinthiscase. Dimension: DistanceviolationbetweenSMDs,pads,andconnectedcopperobjectsand adimensionline(drawninLayer20,Dimension),liketheboard'soutlines. Defined through the value for Copper/Dimension in the Design Rules' Distancetab. SettingthevalueCopper/Dimensionto0deactivatesthischeck. Inthiscasepolygonsdonotkeepaminimumdistancetoobjectsinlayer 20,Dimension,andholes! TheDRCwillnotcheckifholesareplacedontracksthen! DrillDistance: Distanceviolation betweenholes. Defined by thevalue 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. Incasetherearewires connectedtopadsorviasinaSupplylayer,the 156

6.4 DRC Checking the Layout and Correcting Errors


DesignRuleCheckreportsthiserrormessage,aswell.Youarenotallowed todrawsignalsinSupplylayers. LayerSetup: Thiserrorisshownifanobjectinalayerisfoundthatisnotdefinedbythe Layersetup.ThesameforviasthatdonotfollowthesettingsoftheLayer setup,forexample,ifaviahasanillegallength(Blind/Buriedvias). IfthereisasupplylayerdefinedandthislayerisnotusedintheLayer Setup,EAGLEreportsthiserror,aswell. MicroViaSize: ThedrilldiameterofthemicroviaissmallerthanthevaluegivenforMin. MicroViaintheSizestab. NoVectorFont: Thefont check(DesignRules, Misc tab)recognizestextinasignallayer whichisnotwritteninEAGLE'sinternalvectorfont. If you want to generate manufacturing data with the help of the CAM Processor the texts, at least in the signal 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 defaultsettingis off, becauseassoonastroughholeandsurfacemount partsareusedtogetherit'snoteasilypossibletofindareasonablecommon grid.Thecheckissetoffbydefault. Overlap: DRC reports this error as soon as two copper elements with different signalstoucheachother.

157

6 From Schematic to Finished Board


Restrict: Awiredrawninlayer1,Top,or16,Bottom,oravialiesinarestrictedarea whichisdefinedinlayer41or42,t/bRestrict. IfrestrictedareasandcopperobjectsaredefinedinacommonPackage,the DRCdoesnotcheckthem! StopMask: Iftherearesilkscreenobjectsdrawninlayers21,25,27forcomponentson the Top layer, and22, 26, and 28 for componentsontheBottomlayer overlappingtheareaofasolderstopsymbolgeneratedinlayer29and30, theDRCreportsaStopmaskerror. Youhavetodisplaythecorrespondinglayerstoactivatethischeck! Pleasekeepinmindthatthischeckalwaystakesthevectorfontasbasisfor the calculation of the required space. This is the font type the CAM Processorusesformanufacturingdatageneration. 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.5 Multilayer Boards


Youcandevelop multilayer boardswithEAGLE.Todothis,youuseoneor moreinnerlayers(Route2toRoute15)aswellasthelayersTopandBottom forthetopandundersides.Youdisplaytheselayerswhenrouting. Beforestartingtheroutingofthelayoutyoushouldbeawareofthenumber ofsignallayerstouse,ifviasshouldgothroughalllayers,orifyouhave,due tothecomplexityofthelayout,toworkwithBlind,BuriedorMicrovias.In thiscaseyoureallyoughttocontactyourboardmanufacturertoinformyou aboutthepossiblestructureoftheboardandthecoststobeexpected. Alsothinkabouthowtousetheinnerlayers:Asanormalinnersignallayer orasasupplylayer?Onthis,forexample,dependreasonablevialengthsthat havetobedefinedintheLayerSetup.

158

6.5 Multilayer Boards

Inner Layer
InnerlayersareusedthesamewayastheouterlayersTopandBottom.They canbefilledwithcopperareas(polygons)aswell.Aspecialstatushavethe socalledsupplylayerswhicharegeneratedautomatically. BeforeusinginnerlayersyoumustdefinethemintheDesignRules,Layers Tab.Moredetailscanbefoundinthefollowingsectionsandonpage130.

Signal Layers
YouusetheROUTEcommandasusualtoplacetracksinthoseinnerlayers which are provided for signals. Eagle will itselfensure thatthetracksare connectedbywayofplatedthroughholestotheappropriatesignalsinthe outerlayers.ThesettingsoftheLayersetupintheDesignRulesapplyforthis procedure.

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 151).Youcanalsospecifywhetherornotviasaretobe connectedthroughThermals.Theminimumclearancesfromobjectscarrying other signals specified in the Design Rules are maintained (Clearance and Distance tabs).Changesareshowninthelayoutwhenthepolygonisnext computed(RATSNESTcommand). Inthiswayyoucanalsocreatelayersinwhichseveralareasarefilledwith differentsignals.Inthatcaseyoucanassigndifferentranks(priorities)for thepolygons.Therankpropertydetermineswhichpolygonissubtractedfrom othersiftheyoverlap.Rank=1signifiesthehighestpriorityinthelayout; nothing will be subtracted from such a polygon (with the exception of polygonswithrank=0,drawnasapartofaPackageinthePackageEditor). Rank = 6 signifies the lowest priority. Polygons with the same rank are comparedbytheDRC. PleasereadthenotesregardingpolygonsinthesectiononDefiningaCopper Planeonpage149. Donotchoosethewirewidthforpolygonstoofine!Thiscanleadtohuge amountsofplotdataandproblemsforthemanufacturingprocess.

Power Supply Layer with One Signal


Apowersupplylayerwithonesignalisimplementedbyrenamingoneofthe Route2...15 layers in such a way that the new name consists of the correspondingsignalnameprefixedbya$sign.If,forexample,thesignal

159

6 From Schematic to Finished Board


calledGNDistoberealizedasapowersupplylayer,thenalayerisspecified ashavingthename$GND. ForthispurposeyouactivatetheDISPLAYcommand.Selectlayer2fromthe menuwiththemouse.ThenclickonChangebutton. Enterthesignalnameforthelayer,andactivatetheSupplylayercheckbox. If the layer is to be visible in the layout immediately, then click also the Displayedcheckbox. ThesyntaxfortheLAYERcommandinthecommandlinecorrespondingto thisexamplewouldbe: LAYER 2 $GND This specifies that layer number 2 (previously known as Route2) is henceforthknownas$GND,andthatitwillbetreatedasapowersupply layer.

Changelayerproperties

TheDisplaymenu

TheDISPLAYmenushowsonlythoselayersdefinedintheLayerSetupof

160

6.5 Multilayer Boards


theDesignRules! PadsareconnectedtopowersupplylayerswithwhatareknownasThermal symbols,orareisolatedwithAnnulussymbols.Thermalsymbolsusuallyjust havefourthinbridgesasaconductiveconnectiontothethroughplatedhole. Theyareusedbecausethehighthermalconductionofacontinuouscopper planewouldresultinthepadbeingnolongersolderable.Theshapeandsize oftheAnnulusandThermalsymbolsarespecifiedintheDesignRules(DRC command,Supplytab). Tokeeptheboardedgesfreeofcopperdrawanisolatingwirearoundthe layout.Thisavoidspossibleshortcircuitsbetweenadjacent(supply)layers.If youwanttousetheAutorouter, however, thesewiresmustnotbedrawn untiltheroutingprocesshasbeenfinished. Automaticallygeneratedsupply layershavetobedisabledintheAutorouter/Followmesetup. Supplylayersaredisplayedandplottedinversely! Noadditionalsignalsorsignalpolygonsmaybedrawnintheselayers. Thatwouldleadinevitablytoanunusablecircuitboard!

Supply Layers and Autorouter


TheAutoroutertakesintoaccountallinnerlayers,andsodeliversthefullset ofpatternsformultilayerboards.ItconnectsSMDpadstoinnerlayerswith vias. Assumedonlyviasthatcanconnectalllayers(fromlayer1to16)areused (throughvias),thepreferreddirectionfortheAutorouterhastobesettoN/A forpowersupplylayers(thismeansthelayerisnotavailableforrouting). Thisisonlypossibleforlayersthatdonotcontainanywires. Ifyouareusing,amongviasthroughalllayers,Blind,Buried,orMicrovias theAutoroutercan'tworkwithsupplylayers.Inthatcaseyouhavetochange thesupplylayerintoaninnerlayerwithpolygon: Therefore deselect the Supply flag in the Change window of the DISPLAY menuanddrawapolygonintheinnerlayer.Thepolygonhastobegiventhe nameofthesupplysignal.

Multilayer Boards with Through Vias


Thistypeshouldbepreferredifpossible.Viasgothroughallsignallayersand willbedrilledattheendoftheproductionprocess.Theproductioncostsare relativelymoderate.

Layer Setup
Thesettingsconcerninglayercompositionandnumberofsignallayersare madeintheDesignRules,Layerstab,Setup.Seepage130. 161

6 From Schematic to Finished Board


Forthroughviasthesetupisverysimple.Noconsiderationsaboutthickness ofcopperandisolationlayersarenecessary. Simply join two layers by an asterisk (like 1*2 or 3*16) toonecore and combine several cores. This is symbolized by a plus character (like in 1*2+3*4).Theisolationlayerbetweentwocopperlayersiscalledprepreg. Toexpressthepossibilitytohaveviasthroughalllayersthewholeexpression issetintoparenthesis. Examples: 4layers: 6layers: 8layers: (1*2+3*16) (1*2+3*4+5*16) (1*2+3*4+5*6+7*16)

Hereviasalwayshavethelength116.Theyarereachablefromalllayers (seealsothehelpfunctionforVIA).

Multilayer with Blind and Buried Vias


In high density boards it is often necessary to use Blind and Buried vias. Thesekindsofviasdon'tconnectalllayers,butareonlyreachablefroma certain number oflayers. How these layers areconnecteddependsonthe manufacturingprocessoftheboardwhichhastobedeterminedintheLayer setupintheDesignRules. Pleasecontactyourboardhousebeforestartingyourwork!Checkwhich Layer Setup is suitablefor your purpose and whatthemanufacturing 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 162

6.5 Multilayer Boards


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 orafterthebracket.Theexample3:[1+2+3*14+15+16]allowsBlindvias fromlayer1to3. Blindviasmaybeshorterthandefined.Inthisexampleyouareallowedto useviasfromlayer1to2.TheAutorouterisalsoallowedtouseshorterBlind vias. MicroVia: ThemicroviaisaspecialcaseofaBlindvia.Ithasamaximumdepthofone layerandaverysmalldrilldiameter.Seepage169.

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,3and16areused. Boardstructure:Onecoreinside,outsideprepregs. Connections:12(blindvias),23(buriedvias)and116(throughvias) Thesetupexpressionlookslikethis: [2:(1+(2*3)+16)] Explanation: 2*3 Layers2and3formthecore. 163

6 From Schematic to Finished Board


(2*3) Parenthesisallowburiedviasfrom2to3. (1+(2*3)+16) Onbothsidesofthecorecopperlayersarepressedon withprepregs. Theouterparenthesisdefinecontinuousviasfrom116. [2:(1+(2*3)+16)] Insquarebracketsandseparatedbyacolonblindviasaredefined. Herefromlayer1to2. ThefollowingimageshowstherelatedsetupexpressionintheLayerstabof theDesignRules.

Example1:LayerSetupfora4layerBoard
Blindviashavetokeepacertainratioofviadepthtodrilldiameter.Forthis reasonitisnecessarytospecifyvaluesforthelayerthickness. Thesevaluesaregivenbyyourboardhouse!Youaresupposedtocontactitin eithercasebeforestartingthelayout! Type inthe values inthe Copper (thickness of copperlayer)and Isolation (thicknessofisolationlayer)fieldsasshownintheimage.Thetotalthickness oftheboardisshownbelowtheCopperandIsolationfields. Example2: Layers1,2,3,and16areused. Boardstructure:Onecoreinside,outsideprepregs. Connections:12,316(blindvias),116(throughvias) Setupexpression: 164

6.5 Multilayer Boards


[2:(1+2*3+16):3] Explanation: 2*3 Layers2and3formthecore. 1+2*3+16 Onbothsidesofthecorecopperlayersarepressedon withprepregs. (1+2*3+16) Theouterparenthesisdefinethroughviasfrom116. [2:(1+2*3+16):3] Insquarebracketsandseparatedbyacolonblindviasaredefined. Herefromlayer1to2and16to3.

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

6 From Schematic to Finished Board


(2*3)+(4*5) Twocoreswithburiedviasarepressedtogether. 1+(2*3)+(4*5)+16 Thislayerstackiscoveredwithouterlayers1and16whichare isolatedwithprepregs. (1+(2*3)+(4*5)+16) Thewholeexpressioninparenthesisdefinesthroughviasfrom116.

Example3:LayerSetupfora6layerBoard
Thevaluesforlayerthicknessforcopperandisolationusedintheseexamples arefictive.Pleasecontactyourboardhousetogettheallowedvalues. Example4: Layers1,2,3,4,5,and16areused. Boardstructure:Onecore,oneachsidetwoprepregs. Connections:34(buriedvias),24(blindviasininnerlayerstack), 116(throughvias) Setupexpression: (1+[4:2+(3*4)+5]+16) Explanation: 2+(3*4)+5 Thecorewithburiedvias.Oneprepregoneachside. [4:2+(3*4)+5] Blindviasfromlayer2to4. 166

6.5 Multilayer Boards


1+[4:2+(3*4)+5]+16 Onthislayerstackaprepregoneachsideispressedon. (1+[4:2+(3*4)+5]+16) Parenthesisallowthroughviasfrom1to16.

Example4:BlindViasintheinnerlayerstack

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

6 From Schematic to Finished Board


[3:(1+(2*3)+(4*5)+(6*7)+16):6] Blindviasfrom13and166.

Example5:LayerSetupforan8layerboard

Hints For Working With Blind, Buried, and Micro Vias


VIA command DependingontheLayersetupviascanhavedifferentlengths.Theparameter toolbar of the VIA command shows all available lengthsinthe Layer box. When routing manually (ROUTE command) EAGLE takes the shortest possiblevialengthinordertochangelayers.Itisalsopossiblethatviasatthe samepositionareelongated. ThevialengthcanbechangedwiththeCHANGEVIAcommand.Selectthe valuefromtheaccordingmenuandclicktheviawiththeleftmousebutton. Alternativelyusethecommandline: CHANGE VIA 2-7 andaclickontotheviachangesthelengthfromlayer2to7. IfthegivenvialengthisnotdefinedintheLayersetupitwillbeelongatedto thenextpossiblelengthor,ifthisisnotpossible,anerrormessagewillbe generated. VIA 'GND' 1-4 (1.05 2) placesaviathatbelongstothesignalGNDandreachesfromlayer1to4at position(1.052). 168

6.5 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. Autorouter TheAutoroutersupportsBlindandBuriedvias. IfyoudecidetousetheAutorouterforamultilayerboardthatusesBlindand Buried vias it is notallowed to work with automaticallygenerated supply layers(seepage159).Inthiscaseinnerlayerscanbedefinedwiththehelp ofpolygons. Already existing supply layers can be transformed into layers with supply polygonsby renamingthelayer(no$characteratthebeginningofthename), removingpossiblyexistingisolationwires, drawingapolygoncoveringthewholelayout,and namingthepolygonwiththefavouredsignalname.

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

6 From Schematic to Finished Board


ThediameterofmicroviasissetintheRestringtaboftheDesignRules. Ifyouchangethelayerfromanoutertothenextinneronewhileyouare routing a track out of a SMD, EAGLE automatically places a Micro via, providedtheDesignRulesallowit.Seealso TheAutoroutercan'tsetMicrovias!

6.6 Updating Components (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/Update causesallthecomponentsinaprojecttobe 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: 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.

170

6.6 Updating Components (Library Update)


ChangingaDevice'sprefixinthelibrarydoesnotupdatethepartnames ofalreadyplacedelementsinyourdrawing. IfForward&Back Annotationisactive,thecomponentsarereplacedinthe schematicdiagramandinthelayoutatthesametime. Youwillfindfurtherinformationontheprogram'shelppages. Afteranylibraryupdate,pleasecarryoutbothanERContheschematic andaDRConthelayout! Individualcomponentscan,forinstance,beupdatedwiththeaidoftheADD command.IfyouuseADDtofetchamodifiedcomponentfromalibrary,you willbeaskedwhetheralltheolderdefinitionsofthistypeshouldbeupdated. Aftertheupdateyoucandeletethecomponentthatyoujustfetched. AgainhereitiswisetocarryoutanERCandaDRCaftertheupdate!

6.7 Print Out Schematic and Layout


Schematicdiagrams,boardsandalsolibraryelementscanbeprintedoutwith thePRINTcommand. UsingDISPLAYyoushouldfirstselectthelayersthatyouwanttoprint. Thebasicruleis:Ifyoucanseeitintheeditor,youwillseeitonthe print. Exceptionstotheruleaboveare: Origincrossesfortexts Gridlinesorgriddots Polygonsthatcan'tbecalculatedbyRATSNESTandthereforeonly showtheircontoursintheLayoutEditor ErrorpolygonsoftheDesignRuleCheck

Settings of the Print Dialog


Whentheprintericonontheactiontoolbar 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. 171 isclicked,thePRINTdialog

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 is setto 0,theprinter willusewhatever numberofpagesis 172

6.7 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. Itis possible to select which sheets from a schematicdiagramareprinted usingtheSheetsbox.ThisonlyappearsintheSchematicEditor.Thisselection alsodetermineswhichsheetisshowninthepreview. 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,selecttheNoDrills optionforthe Displaymode bywayofthemenu itemOptions/Set/Misc. GeneratingPDFandPostscriptfiles Ifyouwanttogeneratea PDFfile(resolution1200dpi)ora Postscript file fromyourdrawing,clickontothesmallselectionbuttoninthe Printer line andchoosetheoptionPrinttofile(PDF)orPrinttofile(Postscript).Gotothe Output file line then and specify path and name of the PDF or Postscript outputfile. AlltextsthatarenotwritteninEAGLEvectorfontaresearchableinthePDF filebymeansofyourPDFviewer. VisibilityandSequenceofPrintedLayers EAGLEprintsitslayersinacertainsequence,oneovertheother.Ifyouare using,forexample,selfdefinedlayersthatarehiddenbyotherlayersinthe printout,youcanuseaSETcommandoptionSETOption.LayerSequence forbringingthemintotheforeground,oringeneral,fordefiningthelayer printingsequence.ThisaffectsprintingintoaPDForPostscriptfile,aswell. DetailsaboutthiscanbefoundinthehelpfunctionoftheSETcommand, Help/Editorcommands/SET.

173

6 From Schematic to Finished Board


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

6.8 Combining Small Circuit Boards on a Common Panel


Inorder to save costs, it may be worth supplying, forexample, asmaller boardtotheboardmanufacturerintheformofamultipleboard.Soyoucan haveseveralboardsmadeinonestep. You can reproduce the layout or combine different layouts to create a multiple board with the GROUP, CUT and PASTE commands.Please note 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. ActivateCUTandleftclickwiththemouseintothedrawingarea. EditanewboardfilewithFile/New. UsePASTEtoplacethelayoutasoftenaswanted.Shouldthe situationarise,itispossibletospecifyanorientationforthegroup beforefixingit.

174

6.8 Combining Small Circuit Boards on a Common Panel


PleasemakesurethatthenewboardhasthesamesetofDesignRules astheoriginalboardfilehas.ItispossibletoexportDesignRulesinto afile(*.dru)andthenimportitintoanotherboardfile(Edit/Design rulesmenu,Filetab). Savethenewboardfile. Tellyourboardhousethattheyhavetouselayers125/126insteadof 25/26. Thiswayyoucanalsocombineboardsfromdifferentprojects. InthecasetheboardhasSupplylayers,youhavetocheckthenamesof the power signals. For example, the signal GND will be displayed as GND1,GND2andsoon.TheconnectionstotheSupplylayer$GNDno longerexist.YouhavetonamethesignalswiththeiroriginalnameGND again.

6.9 Consistency Lost between Schematic and Layout


Itisveryimportantduringthedesignthatthecontentoftheschematicand thelayoutexactlycorrespondtoallowfordesign congruency.Eagleusesa Forward&Back annotation toperform this task.General informationabout thiscanbefoundinthechapteraboutForward&BackAnnotationbeginning withpage98. 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.

ConsistencylossbetweenSchematicandLayout
EAGLEwillpromptawarningassoonasyouwanttoswitchtothereferring fileorstartthisprojectagain.

175

6 From Schematic to Finished Board


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. LaunchtheERCeverytimeachangehasbeenmadefordesignverification andtogetanoverviewofprogress.Alldifferencesarecleared,ifERCreports consistency. Now the Annotation will work again and the board and schematicareagaininlockstepwitheachother. Don'tforgettosavethefilesnowandremembertoleavebothfilesloaded simultaneouslyallthetime.

Thedifferencesaremarkedinbotheditorwindows

176

Chapter 7 The Autorouter


7.1 Basic Features
Anyroutinggrid(min.0.02mm) Anyplacementgrid(min.0.1micron) SMDsareroutedonbothsides Thewholedrawingareacanbetheroutingarea(providedenough memoryisavailable) Thestrategyisselectedviacontrolparameters Simultaneousroutingofvarioussignalclasseswithvarioustrack widthsandminimumclearances Commondataset(DesignRules)fortheDesignRuleCheckandthe Autorouter Multilayercapability(upto16layerscanberoutedsimultaneously, notonlyinpairs) SupportofBlindandBuriedvias Thepreferredtrackdirectioncanbesetindependentlyforeachlayer: horizontalandvertical,true45/135degrees(importantforinner layers!) Ripupandretryfor100%routingstrategy Optimizationpassestoreduceviasandsmoothtrackpaths Preroutedtracksarenotchanged ServesabasisfortheFollowmerouter,aspecialoperatingmode oftheROUTEcommandthatallowsautomaticroutingofselected signals

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% 177

7 The Autorouter
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. Those who expect an Autorouter to supply a perfect board without some manual helpwillbedisappointed. The user mustcontributehisideasand 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 specify specialminimum clearances, trackwidthsandtheholediametersforviascarryingparticularsignals. Thereisalsoarangeofspecialcostfactorsandcontrolparametersthatcan bechangedviatheAutoroutermenu.Theyaffecttheroutegiventotracks duringautomaticrouting.Defaultvaluesareprovidedbytheprogram.The controlparametersaresavedintheBRDfilewhenthelayoutissaved.You canalsosavethesevaluesinanAutoroutercontrolfile(*.ctl).Thisallowsa particularsetofparameterstobeusedfordifferentlayouts.NeitherDesign Rulesnorthedataforvariousnetclassesarepartofthecontrolfile. Aroutingprocessinvolvesanumberofseparatebasicsteps:

Bus Router
Normallythebusrouterstartsfirst. Itdealswithsignalswhichcanberoutedinthepreferreddirectionwithonly slightdeviationinxandydirectionallowed.Thebusroutertakesonlythose signalsintoconsiderationthatbelongtonetclass0. Thisstepmaybeomitted.

178

7.3 Controlling the Autorouter


Buses, asunderstoodbytheAutorouter,areconnectionswhichcanbe laidasstraightlinesinthexorydirectionwithonlyafewdeviations. Ithasnothingincommonwithbusesinthemeaningofelectronics,for example,addressbusesorthelike.

Routing Pass
Theactualroutingpassisthenstarted,usingparameterswhichmakea100% routingaslikelyaspossible.Alargenumberofviasaredeliberatelyallowed toavoidpathsbecomingblocked.

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.

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

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 117 for informationaboutthedefinitionofnetclasses. Ifnospecialnetclassesaredefined,thevaluesfromtheDesignRulesapply. Thevalue Minimumwidth inthe Sizes tabdeterminesthetrackwidth,the valuesfor minimumclearances/distancesaretakenfromthe Clearance and 179

7 The Autorouter
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).

Routing Grid
PleasenotethattheAutoroutergridhastobesetintheAUTOcommand's AutorouterSetupWindow,Generaltab,RoutingGrid.Thisisnotthesameas thecurrentlyusedgridintheLayoutEditorwindowthatyouhaveselected withtheGRIDcommand. 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.

180

7.4 What Has to be Defined Before Autorouting

Trackpatternswithdifferentplacementgrids
Theexampleabovemayclarifythesituation: Forthecomponentontheleft,thepadsareplacedontheroutinggrid.Two trackscanberoutedbetweentwopads.Thepadsofthecomponentinthe middle are not on the routing grid, and therefore only one track can be routedbetweenthem. OntherightyouseetheexceptionfromtheruleshownforSMDpads,which areplacedbetweentherouting grid lines sothatonetrackcanberouted betweenthem. Whenchoosingthegrid,pleasealsoensurethateachpadcoversatleastone gridpoint.OtherwiseitcanhappenthattheAutorouterisunabletoroutea signal, even though there is enough space to route it. In this case the 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.

Memory Requirement
Theamountofroutingmemoryrequireddependsinthefirstplaceonthe selectedroutinggrid,theareaoftheboardandthenumberofsignallayersin whichtracksarerouted. Thestaticmemoryrequirement(inbytes)foraboardcanbecalculatedas follows: number of grid points x number of signal layers x 2 181

7 The Autorouter
Notethatasupplylayergeneratedbygivingtheappropriatename($name) doesnotoccupyanyautoroutingmemory.Ontheotherhand,asupplylayer thathas been created with the aid of one or morepolygonsconsumes as muchroutingmemoryasanyothersignallayer. Space is also required for dynamicdata, in additiontothestaticmemory requirement.Thedynamicdatarequireinaveryroughestimateabout10% upto100% (in some cases even more!) of the staticvalue. 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. Innerlayers areconvertedto supplylayers iftheyarerenamedto $name, wherenameisavalidsignalname.Theselayersarenotrouted. Supplylayerswithmorethanonesignalcanbeimplementedwithpolygons. Theselayersaretreatedasnormalsignallayers. Inthecaseofboardsthataresocomplexthatitisnotcertainwhetherthey canbewiredontwosides,itishelpfultodefinethemasmultilayerboards, andtosetveryhighcostsfortheinnerlayers.ThiswillcausetheAutorouter toavoidtheinnerlayersandtoplaceasmanyconnectionsaspossibleinthe outerlayers.Itcan,however,makeuseofaninnerlayerwhennecessary. ThesesettingsaremadeintheAutoroutermenu(seepage183). TheautoroutershowsthemessageUnreachableSMDinlayer...,ifalayerthat containsSMDsisnotactive.ClickingOKstartstheautorouternevertheless.If youwanttochangetheautoroutersetupclickCancel.

Preferred Directions
On the two outside layers the preferred directions arenormallyset to90 degreesfromeachother.Fortheinnerlayersitmaybeusefultochoose45 and135degreestocoverdiagonalconnections.Beforesettingthepreferred directionitiswellworthexaminingtheboard(basedontheairwires)tosee 182

7.4 What Has to be Defined Before Autorouting


if one direction offers advantages for a certain side of the board. This is particularlylikelytobethecaseforSMDboards. Pleasealsofollowthepreferreddirection whenpreplacingtracks.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. An area drawn in layer 20 can also be used asarestricted regionforall signals.Itshould,however,benotedthatthisareashouldbedeletedbefore sendingtheboardformanufacture,sincelayer20isusuallyoutputduring thegenerationofmanufacturingdata.

Cost Factors and Other Control Parameters


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

7.5 The Autorouter Menu


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

7 The Autorouter

Autoroutersetup:Generalsettings(Generaltab)
Thisiswhereyouspecifythelayersthatmaybeusedforroutingandwhich preferred directions apply. Click in the appropriate combo box with the mouse,andselectthedesiredvalue. Settingthepreferreddirections: horizontal | / \ * N/A vertical diagonal at 45 diagonal at 135 none Layer not active

Define a suitable Routing grid and select the shape of the throughplated holes(Viashape). YoumayusetheLoad...andSaveas....buttonstoloadadifferentparameter setfromanAutoroutercontrolfile(*.ctl)ortosavethecurrentsettingsfor furtherprojects. Younowmakethesettingsfortheindividualroutingsteps.Clickontothe correspondingtabandmakeanysettingsyoumaywant. TheFollowmetabisnotrelevantfortheAutorouterpassitself.Youmay, however,definethesettingsfortheFollowmerouterinthistab,because itusessomeoftheAutorouterparameters,too.Moredetailsaboutthe Followmeroutercanbefoundinalatersectionofthischapter.

184

7.5 The Autorouter Menu

Autoroutersetup:SettingsfortheRoutepass
The parameters in the Layer costs, Costs and Maximum groups can be differentforeachpass.Furtherinformationaboutthiscanbefoundinthe nextsection. TheActivecheckboxspecifieswhetherthisstepshouldbeexecutedornot. AdditionaloptimizationpassescanbeinsertedwiththeAddbutton. Clicking onto the Select button allows certain signals to be selected for autorouting. Select these with a mouse click onto the respective airwires. ThenstarttheAutorouterwithaclickonthetrafficlighticonintheaction toolbar. Itis,alternatively,possibletoenterthesignalnamesonthecommandline. Examples: VCC GND ; ThesignalsVCCandGNDwillberouted. ThesemicolonattheendofthelinestartstheAutorouterimmediately.Itis alternativelypossibletoclickonthetrafficlighticon. Ifyoutypeinthecommandline ! VCC GND ; allsignalsexceptVCCandGNDwillberouted. Youmayusewildcardsforthesignalselection,aswell.Allowedis * ? [] whichmatchesanynumberofanycharacters. whichmatchesexactlyonecharacter. whichmatchesanyofthecharactersbetweenthebrackets, forexample[af],forallcharactersfromatof.

185

7 The Autorouter
TheAutorouterisstartedforallthesignalsthathavenotyetbeenlaidby clickingontheOKbutton. The Cancel menuiteminterruptstheAUTOcommandwithoutstoringany changes. Youarenotallowedtomakeanychangestotheparameters,ifyouwantto restartaninterruptedroutingjob.UsetheContinueexistingjobcheckboxto decidewhetheryouwanttocontinuewithanexistingjob,orwhetheryou wanttochoosenewsettingsfortheremainingunroutedsignals. Endjobendstheautoroutingjobandloadsthepreviousroutingresult.

Autoroutersetup:Restartinganinterruptedjob

7.6 How the Cost Factors Influence the Routing Process


Valuesbetween0..99 arepossibleforeach 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.

186

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

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.Onlyselectthisvalueifyouarecertainthatthisbehaviorisreally wanted.

187

7 The Autorouter cfChangeDir: 0..25


Controlshowoftenthedirectionischanged.Alowvaluemeansmanybends areallowedwithinatrack.Ahighvalueproducesvirtuallystraighttracks.

cfOrthStep, cfDiagStep
Implementstherulethatthehypotenuseofarightangledtriangleisshorter thanthesumoftheothertwosides.Thedefaultvaluesare2and3.That means that the costs for the route using the two other sides are2+2,as against3forthehypotenuse.Theseparametersshouldbealteredwithgreat care!

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

cfBonusStep, cfMalusStep: 1..3


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

cfPadImpact, cfSmdImpact: 0..10


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

188

7.6 How the Cost Factors Influence the Routing Process cfBusImpact: 0..10
Controls whether the ideal line is followed for bus connections (see also cfPadImpact).Ahighvalueensuresthatthedirectlinebetweenstartandend pointisfollowed.Onlyimportantforbusrouting.

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, it won't be taken into consideration at all. cfPolygon doesnotplayaroleforsuchpolygons.

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

mnSegments 0..9999
Determinesthemaximumnumberofwirepiecesinoneconnectingtrack.

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

189

7 The Autorouter

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. Asarule,highparametervaluesallowformanyripupsbutresultinincreased computingtimes. Tounderstandthemeaningoftheparameters youneedtoknowhowthe routerworks. Tobeginwiththetracksareroutedoneaftertheotheruntilnootherpath canbefound.Assoonasthissituationoccurs,therouterremovesuptothe maximumnumberofalreadyroutedtracks(thisnumberhasbeendefined with mnRipupLevel)toroutethenewtrack.Ifthereareeighttracksinthe way,forexample,itcanonlyroutethenewtrackifmnRipupLevelisatleast eight. Afterroutingthenewtrack,theroutertriestorerouteallthetrackswhich wereremoved.Itmayhappenthatanewripupsequencemustbestartedto reroute one of these tracks. Therouter isthen tworipupsequences 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


Therearetwodifferentwaysofimplementingsupplylayers. Supplylayerswitha$signatthestartofthelayername Supplylayerswithpolygons

Supply Layers
Thedefinitionofsupply layers hasalready been describedintheprevious chapteronpage159. Thefollowingpointsmustbeconsideredwhenautorouting: Thelayernamespecifiesthesignalthatiscarriedbythislayer.The layer$VCC,forexample,onlycarriestheVCCsignal. Thelayerisrepresentedwithaninversedisplay. 190

7.8 Routing Multi-Layer Boards


Thelayerisnotactiveduringautorouting(settingN/Ainthe Autoroutersetup,Generaltab). Afterrouting,youshoulddrawanisolationwirearoundthelayout. Thispreventsshortcircuitsattheedgesoftheboard. Noothersignalsorpolygonsmaybedrawn! TheAutoroutercan'tusesupplylayersincombinationwithBlindand Buriedvias.Useinnerlayerswithpolygonsinstead! TheAutoroutercannotsetMicrovias! The Autorouter is allowed to set Blind vias thatareshorter than the maximumdepthdefinedintheLayerSetup.

Polygons as Supply Layers


Itispossiblewithpolygonstocreatesupplylayersthatcontainmorethanone supply voltage, and a few individual wires as well. Please note the instructions on page 158, Ground Planes and Supply Layers with Several Signals.Thesearenotthekindofsupplylayeridentifiedbya$inthename, butareinfactordinarylayers. DefinethepolygonsbeforerunningtheAutorouter. Givetheappropriatesignalnamestothepolygons. UsetheRATSNESTcommandtoletEAGLEcalculatethepolygon. Selectthepreferreddirectionsandbasecosts(cfBase)forthelayerin theAutoroutersetup.AhighervalueofcfBaseforthepolygonlayer causestheAutoroutertoavoidtheselayersmorestrongly. Afterrouting,checkthatthepolygonstillconnectsallthesignal points.Itispossiblethatthepolygonwasdividedasasignalwaslaid. RATSNESTrecomputespolygons,andissuesthemessage Ratsnest:Nothingtodo!,ifeverythingisinorder.

7.9 Backup and Interruption of Routing


As, with complex layouts, the routing process may take several hours, a backup is carried out at intervals (approx. every 10 minutes). The file name.jobalwayscontainsthelaststatusofthejob.Ifthejobisinterruptedfor anyreason(powerfailureetc.)thecomputertimeinvestedsofarisnotlost, sinceyoucanrecallthestatussavedinname.job.Loadyourboardfileinthe LayoutEditor,andthenenter: AUTO;

191

7 The Autorouter
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 name.job file also remainsintactandcanberecalled.Thismaybeusefulwhenyouhavestarted acomplexjobonaslowcomputerandwanttocontinuewithitonafast computerassoonasoneisavailable. Pleasenotethatchangingtheparametersbeforerecallingwillnotinfluence thejob, since itwillhavebeensavedtogetherwiththeparameters which werevalidatthetimeoftheinitialAutorouterstart. WhentheAutorouterhasfinished,theroutedboardissavedas name.b$$. Youcanrenameitto name.brd anduseit,forinstance,ifapowerfailure occurredaftertheautoroutingrunandyoucouldnotsavetheboardfile.This fileisdeletedautomaticallyaftertheboardhasbeensaved.

7.10 Information for the User


Status Display
Duringtherouting,theAutorouterdisplaysinformationontheactualrouting resultinthestatusbar.

Autorouter:StatusBar
Thedisplayedvalueshavethefollowingmeaning: Route: Resultin%(hithertomaximum,bestdata) Vias: Numberofviasinthelayout Conn: NumberofConnectionstotal/found/not routable Connectionsheremeans2pointconnections. Ripup: NumberofRipups/current RipupLevel/cur. RipupTotal Numberofripups: Thisindicatesthenumberofconnections thathavealreadybeenrouted duringtheforegoingroutingprocedurethathavebeen(canbe)removedin ordertobeabletoroutenewsignals.

192

7.10 Information for the User


CurrentRipupLevel: This indicates the number of connections that have been removed or convertedinairwiresinordertolaythetrackforthecurrentsignal. CurrentRipupTotal: Afterasignal'srouteshavebeenrippedupitcanbebrokendownintoa largenumberoftwopointconnections.Theseconnectionsarethenrouted again. This variable indicates the number ofsuchtwopointconnections 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 00.06.32 0 0 0 238 178 100.0 % Optimize2 00.06.15 0 0 0 238 140 100.0 % Optimize3 00.06.01 0 0 0 238 134 100.0 % Optimize4 00.05.55 0 0 0 238 128 100.0 %

Time per pass: 00.00.21 00.08.44 Number of Ripups: 0 32 max. Level: 0 1 max. Total: 0 31 Routed: Vias: Resolution: 16 0 6.7 % 238 338 100.0 %

Final: 100.0 % finished

7.11 Parameters of a Control File


We see here how the individual parameters in an Autorouter control file (name.ctl)areused.
Parameter RoutingGrid = Default Meaning 50Mil Grid used by the Autorouter for tracks and via-holes Cost factors for...

193

7 The Autorouter
cfVia cfNonPref cfChangeDir cfOrthStep cfDiagStep cfExtdStep cfBonusStep cfMalusStep cfPadImpact cfSmdImpact cfBusImpact cfHugging cfAvoid cfPolygon cfBase.1 cfBase.2 ... cfBase.15 cfBase.16 = = = = = = = = = = = = = = = = = = 8 5 2 2 3 30 1 1 4 4 4 3 4 10 0 1 1 0 Maximum number of... Vias per connection Wire segments per connection Steps 45 deg. against preferred direction 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 Vias Not using preferred direction Changing direction 0 or 90 deg. Step 45 or 135 deg. Step Deviation 45 deg. against preferred direction Step in bonus area Step in handicap area Pad influence on surrounding area SMD influence on surrounding area Leaving ideal bus direction Wire hugging Previously used areas during ripup Avoiding polygons Basic costs for a step in the given layer

mnVias mnSegments mnExtdSteps mnRipupLevel mnRipupSteps mnRipupTotal

= 20 = 9999 = 9999 = 100 = 300 = 200

tpViaShape PrefDir.1 PrefDir.2 PrefDir.15 PrefDir.16

= Round = = = = | 0 0 -

194

7.12 Practical Hints

7.12 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! TheAutoroutercan'tsetBlindandBuriedviasifinnerlayersaredefined asSupplylayers!

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.

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

7 The Autorouter
Now switch off the bus router and all the optimization passes in the Autoroutersetup.Onlytheroutingremainsactive.Alterthefollowingcost factors: cfVia = 0 Vias are welcome mnVia = 1 mnSegments = 2..8 Max. one via per connection Fewer tracks in Top/Bottom Short tracks cfBase.1/16 = 30..99

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. This procedure is identical for both types of supply layer (automatically generatedsupplylayer,orasupplylayergeneratedwithpolygons).

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/RetryAttemptsonpage190.

7.13 The Follow-me Router


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

Partial and Full Mode


TostarttheFollowmerouter,activatetheROUTEcommandandselectthe wirebendmode8or9fromtheparametertoolbar.

ParametertoolbaroftheROUTEcommand
196

7.13 The Follow-me Router


After clicking onto an airwire, EAGLE calculates an appropriate trace and displaystheconnection.Moveingthemousecursorwillchangethecurrent trace.Traceprocessingdependsonthecomplexityofthelayoutandmaylast somemoments.Itisrecommendednottomovethemousecursoruntilthe connectionisdisplayed. If you select wire bend mode 8 , the socalled partial mode, EAGLE calculatesthetraceoftheselectedsignal,beginningwiththemousecursor positiontothenearerendoftheairwire,anddisplayit.Fixtheresultwitha mouseclick.Theremainingpartoftheairwirewillbecalculateddynamically. Thismeans,thattheairwiremaypointtoanotherobjectthatbelongstothe signal,dependingonthecurrentmousecursorposition. Withwirebendmode9 ,thefull mode,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 thelayerat the current position. Itcould alsobeadviceabletoadjustthe Design Rules. Please keep in mind that restricted areas in the layers t/bRestrict orwiresinthe Dimension layercanhinderEAGLEtoestablisha connection.

Configuration
TheFollowmerouterrespectsDesignRulessettings: ValuesforClearance,Distance,andSizewillbetakeninconsideration,aswell asparticularvaluesfornetclasses,ifdefined.Pleasebesurethatthe Layer setupintheLayerstabisproperlyset. ThecurrentgridsettingintheLayouteditorservesasroutinggrid.Usethe GRIDcommandinordertochangeit.Ifthereisalreadyasignalassignedto mousecursor,dropit,andselectitagain.Otherwisethegridchangedoesnot affecttheconnection. 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

197

7 The Autorouter
forwirewidthandviadrilldiameterfromtheDesignRulesandfromthenet classesassoonasanairwireisselected.

Routing Parameters
ParametersthataffecttheroutingstrategyaresetbyclickingontotheAUTO icon ,whichisavailableintheparametertoolbarafterenteringoneofthe followme modes. Click this icon in order to open the known Autorouter Setupwindow.TherearetwotabsthataffecttheFollowmerouter: General andFollowme. TheBussestabandtheOptimizetabsarealsoavailable,butyoucan'tmodify theirvalues.TheyareonlyforAutorouteruse. Alternativelyyoucanopenthissetupwindowfromthecommandline.Type: AUTO FOLLOWME SelecttheGeneral tabfordefiningpreferreddirectionsforthesignallayers. Theydeterminethemaindirectionofsignalwiresinthislayer.

Followmerouter:Definingpreferreddirections
Checkthepossibleoptionsonpage184. Itispossibletochoose N/Anotavailableforasignallayer.TheFollow merouterignoressuchalayer.Objectsthatarealreadydrawninthislayer won'tbetakenintoconsideration.Thismayleadtocollisionsandresultin DesignRuleCheckerrors.TheFollowmerouterexplicitelywarnsyouthat suchproblemscanappear. Supplylayers,however,mustbesetN/A.Suchlayersaregenerallyforbidden forsignalwires.

198

7.13 The Follow-me Router


SettingsthatconcernroutingmodalitiesaremadeintheFollowmetab: LayerCostscontroltheusageofeachlayer.Thehigherthevalue(from0up to99),themorethelayerisavoided.

Followmerouter:Settingroutingparameters
Theeffectsoftheseparametersareexplainedinsection7.6,beginningwith page186. IntheMaximum section,youcandefinethenumberofViastheroutermay useforoneconnection.Ifthisvalueissetto0,theFollowmerouterisnot allowedtosetviasautomatically.However,youareabletomanuallysetavia bychangingthelayer. The value for Segments defines the maximum numberofwire segments a connectionmayconsistof.Ifyouchooseittoosmall,itmayhappenthatno connectionwillbeestablished.

Notes
TheFollowmeroutersupportsroundandoctagonviashapesonly.Square shapedviasarenotpossible. If you are working in Full mode, the Followme router works in both directions independently, beginning with the mouse cursor position. So it could happen that the router places two vias very close to or even overlappingeachothernearthecurrentpositionofthemousecursor.Inthis case move the mouse cursorslightly, until theviasareoptimizedandthe tracelooksgood. It'srecommendedtodrawaDimension lineinlayer20inordertolimitthe boardareaandthereforerequiredtimeandmemory.

199

7 The Autorouter
Dependingonthecomplexityofyourdesign,itmaybewisetoincreasethe costfactorfor Vias anddecreaseitfor NonPref.Thisavoidsfrequentlayer changes.

200

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 73 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. Startingatpage256hintsconcerninglibraryandDevicemanagementcanbe found.Howtocreatemyownlibrary?Howtocopyelementsfromonelibrary intoanother? FirstattemptsateditingPackages,Symbols,orDevicesmayresultintheneed todeletevarious library elements. Todothis,usetheREMOVEcommand (seepage260).

8.1 Definition of a Simple Resistor


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

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). This value 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 not be recognized, 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 MIRROR command. This moves the objectsin all the t.. layersintothecorrespondingb..layers.

202

8.1 Definition of a Simple Resistor


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

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

Silkscreen and Documentation Print


NowusethecommandsWIRE,ARC,CIRCLE,RECT, andPOLYGONtodrawthesilkscreenSymbolinlayer21, tPlace.Thislayer containswhatwillbeprintedontheboard.Itisuptoyouhowmuchdetail yougivetotheSymbol.Setafinergridsizeifithelps. Taketheinformationprovidedin library.txt asaguidelineforthedesignof 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.

203

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.

204

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, you click on the Description box. Textcanthenbeentered inthe lowerpartofthewindowwhichthenopens.HTMLtextcanbeused.Thisisa syntaxsomewhatsimilartoHTML,whichpermitsformattingofthetext.You willfinddetailedinformationinthehelpsystemunderHTMLText. 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.

205

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

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

206

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 brightlyif they areconnected. If apin with length0isused,orifitwas drawnasalinewiththeWIREcommand,itcannotbedisplayedbrightly. Visible Thenextfouriconsintheparametertoolbarspecifywhetherthepinsareto be labeled with pin names, pad names, both or neither. The diagram illustratesanexampleinwhichpinnamesareshowninsideandpadnames outside.Thelocationofthelabelrelativetothepinisfixed.Thetextheightis alsofixed(at60mil).

Pinlabeling
Direction TheDirectionparameterspecifiesthelogicaldirectionofthesignalflow: NC In Out I/O OC Hiz Pas Pwr Sup Notconnected Input Output Input/output OpenCollectororOpenDrain Highimpedanceoutput Passive(resistors,etc.) Powerpin(powersupplyinput) Powersupplyoutputforgroundandsupplysymbols

TheElectricalRuleCheckexecutes,dependingonthepindirection,various checks.Itexpectsforthedirection NC In Out anotconnectedpin anetconnectedtothispinandnotonlyInpins connectedtothisnet notonlyOutpinsconnectedtothenet,noSuporOC 207

8 Component Design Explained through Examples


OC Pwr I/O,Hiz,Pas pinatthesamenet noOutpinatthesamenet aSuppinsetforthisnet nospecialchecks

ThePwrandSupdirectionsareusedfortheautomaticconnectionofsupply voltages(seepage238). Swaplevel TheSwaplevelisanumberbetween0and255.Thenumber0meansthatthe pin cannot be exchanged for another pin in the same Gate. Any number biggerthan0meansthatpinscanbeexchangedforotherpinswhichhave thesameSwaplevelandaredefinedwithinthesameSymbol.Thepinscanbe swappedintheschematicorintheboardwiththePINSWAPcommand. 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,asdescribedonpage93alsooperates.

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

208

8.1 Definition of a Simple Resistor

TheSymbolEditor

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

Selecting, Naming and Configuring Symbols


ThepreviouslydefinedresistorSymbolisfetchedintotheDevicewith theADDcommand. If a Device consists of several schematic Symbols which can be placed independentlyofoneanotherinthecircuit(inEAGLEtheseareknownas Gates),theneachGateistobeindividuallybroughtintotheschematicwith theADDcommand. SetanAddlevelofNextandaSwaplevelof0intheparametertoolbar,and then place the Gate near the origin. There arefurther explanationsabout Addlevelfrompage244on. 209

8 Component Design Explained through Examples


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

Selecting the Package


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

ThePackageselection

Connections Between Pins and Pads


With the CONNECT command you specify which pins are taken to which packagepads.

210

8.1 Definition of a Simple Resistor

TheCONNECTwindow
TheresistorgateinthisexampleisautomaticallyidentifiedasG$1,forwhich reasonthepinsG$1.1andG$1.2ofthisgateappearinthePincolumn. ThetwoconnectionsofthehousingarelistedinthePadcolumn.Markapin andtheassociatedpad,andclickonConnect. If you want to undo a connection that you have made, mark it in the ConnectioncolumnandclickDisconnect. Clickingonacolumn'sheaderbarchangesthesortingsequence. FinishtheCONNECTcommandbyclickingonOK.

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

Value
On: Off: Youareallowedtochangethevalueintheschematic(forexample forresistors).Withoutavaluethepartwillnotbespecifiedexactly. ThevaluewillbegeneratedfromtheDevicenameandincludes technologyandPackagevariant(e.g.74LS00N),ifavailable. Alsorecommendedforsupplysymbols.

211

8 Component Design Explained through Examples

TheDeviceEditor:Fullydefinedresistor

Description
ClickontheDescriptioninthedescriptionbox.Youcanenteradescriptionof the component here. The search facility of the ADD command in the schematicdiagramwillsearchthroughthistext. YoucanuseHTMLText,asinthePackagedescription.Youwillfindnotes aboutthisinthehelpsystemunderthekeywordHTMLText. Itcanlooklikethis: <b>R-10</b> <p> Resistor 10mm package

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

Library Description
NotonlyPackagesandDevicescanhave descriptions,buttheLibraryasa wholecanhaveoneaswell.ThisdescriptionisshownintheControlPanelas soonasyouexpandtheLibrariesbranchoftheTreeviewandselectalibrary entrythere. 212

8.1 Definition of a Simple Resistor


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

213

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.

214

8.2 Defining a Complex Device

Creating a New Library


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

Drawing the Pin-Leaded Package


ThecomponentismanufacturedinapinleadedPackage.ThisisaDIL14 housingwithapinspacingof2.54mm(0.1inch)andawidthof7.62mm (0.3inch). If there isasuitablePackage in another library,itcanbecopiedintothe currentlibrary.Anewdefinitionwouldnotbenecessary.

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

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, Shapes tab,optionFirst,inordertomarkitasthenumber'1'padof thePackage. 216

8.2 Defining a Complex Device


Setting the Thermals flag off prevents generating a Thermal symbol in a copperarea. CHANGE STOPOFFprevents automaticsolderstopmaskgenerationfora pad.

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

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). The standard width(CHANGE WIDTH)forlines inthescreen printis8milor4mil,dependingonthesizeofthecomponent. Itisalsopossibletocreateanadditionalandratherbetterlookingsilkscreen for documentation purposes in layer 51, tDocu. This may indeed cover solderedareas,sinceitisnotoutputalongwiththemanufacturingdata.

Package Name and Package Value


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

217

8 Component Design Explained through Examples


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

Areas Forbidden to Components


Inlayer39, tKeepout,youshouldcreatearestrictedareaoverthe whole component using the RECT command or draw 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.

218

8.2 Defining a Complex Device

PackageEditorwithDIL14

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

Defining the SMD Package


Thesecondtypeofhousingforthiscomponentmaybeseeninthefollowing scaledrawing.

219

8 Component Design Explained through Examples

SMDpackage,FKversion
Thesizeofthesolderingareasistobe0.8mmx2.0mm.TheSMD1,at0.8 mmx3.4mm,islarger. Click again onto the Edit apackage icon, andenter thenameofthe PackageintheNewboxintheeditmenu.ThePackageistobecalledLCC20. ClickOKandconfirmthequestionCreatenewpackage'LCC20'?byanswering Yes.

Set the Grid


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

220

8.2 Defining a Complex Device Placing SMD Solder Pads


SMDdevicesaregenerallydefinedonthetopoftheboard;SMDsare thereforealwaysinlayer1,Top. Ifyoudowanttohavecomponentsonthesolderside,theitemisifneeded reflectedontheboardwiththeMIRRORcommand.Seealsothesectionon page250. Beginbyplacing5SMDsatadistanceof1,27mmfromeachotherintwo horizontalrowsclosetothecoordinateorigin.Sincethevalue0.8x2.0isnot containedintheSMDmenu,thismustbeenteredas0.82.0,eitheronthe commandlineorintheSMDboxontheparametertoolbar. ClickthereforeontotheSMDicon,andtype 0.8 2 inthe command line. Createtwo vertical rowsaswell. TheSMDscanbe rotatedin90degreeincrementswiththerightmousebutton.

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

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 tothelayers with thecorresponding functions,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. Ifyou havetodesign alarger area, for exampleacooling plate,that exceedsthelimitsoftheSMDcommand,youcandrawaPOLYGONthat coversmoreorlesstheSMD.Pleasekeepinmind,thatyouhavetoadjust the masks for solder stop and cream frame in the layer tStop and tCream,too.TheDRCwillreportanoverlaperroratthisposition,which youcanapprove.

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

222

8.2 Defining a Complex Device


UsetheNAMEcommandtoadjustthenamestomatchthespecifications ofthedatasheet. ItisalternativelypossibletoassignnamesastheSMDsarebeingplaced,if thecomponenthasalargenumberofpadswithsequentialnumbers.Select theSMDcommand,typeinthenameofthefirstSMD,e.g.'1',andplacethe padsinthecorrectsequence.Thesinglequotemarksmustbeenteredonthe commandline. SeealsothesectiononNamesandAutomaticNamingonpage93. 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 ata suitablelocation.Thetextscanbeseparatedandrelocatedatalaterstage usingSMASHandMOVE. Werecommendtowritethesetextsinvectorfont.Soyoucanbesurethat it looks exactly the same on the printed boardas it is in the Layout Editor.

223

8 Component Design Explained through Examples Area Forbidden to Components


Inlayer39,tKeepout,youshouldcreateaforbiddenareaoverthe whole component (RECT command) or draw aframearound thePackage withtheWIREcommand.ThisallowstheDRCtocheckwhethercomponents onyourboardaretooclose,orevenoverlapping.

Locating Point (Origin)


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

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

Save
Pleasedonotforgettosavethelibraryfromtimetotime!

224

8.2 Defining a Complex Device

ThefullydefinedLCC20

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

Defining the Logic Symbol for the Schematic Diagram


OurDevicecontainsfourORgates,eachhavingtwoinputsandoneoutput. WefirstcreateanORsymbol.

225

8 Component Design Explained through Examples

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

Check the Grid


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

Place the Pins


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

226

8.2 Defining a Complex Device Pin Name


YouassignpinnameswiththeNAMEcommand.InourSymbolthetwo inputpinsarenamedAandB,andtheoutputpinisnamedY. Pinscarrying invertedsignals(activelow)canbedisplayedwithabarover thenametext.Anexclamationmarkstartsandendsthebar.Examplescanbe foundinthehelpfunctionoftheTEXTcommand.

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.

Save
Thisisagoodmomenttosavetheworkthatyouhavedonesofar. Supposed you found a Symbol that is exactly the one you need use GROUP,CUT,andPASTEtocopy itintothecurrentlibrary.Seealso page258.

227

8 Component Design Explained through Examples

TheSymbolEditor:Logicsymbol(Americanrepresentation)

Defining a Power Supply Symbol


Twopinsareneeded forthesupply voltage.Thesearekeptinaseparate Symbol,sincetheywillnotinitiallybevisibleintheschematicdiagram. ClickontotheEditasymbol icon.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. BothpinsaregivenPWRastheirdirection.Todothis,clickwiththemouse onCHANGE,selecttheDirectionoption,andchoosePWR.Nowclickontothe twopinstoassignthisproperty.

228

8.2 Defining a Complex Device


Thegreenpinlabelisupdated,andnowshowsPwr0.Itisonlyvisiblewhen layer93,Pins,isactive!

Pin Name
You use the NAME command to give thetwo pinsthenamesofthe signalsthattheyaretocarry.Inthiscase,theseareGNDandVCC. Forreasonsofappearance,thepinpropertyVisibleissettoPadintheSymbol shownbelow,andthepinlabelhasbeenplacedonlayer95, Names,using TEXT.

Placeholders for NAME and VALUE


Forthecomponentlabeling,usetheTEXTcommandintheschematic diagramtowrite >NAME

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

Associating the Packages and Symbols to Form a Device Set


Wenowcometothefinalstep,thedefinitionoftheDeviceset.ADeviceset isanassociationofSymbolsandPackagevariantstoformrealcomponents 229

8 Component Design Explained through Examples


ADevicesetconsistsofseveralDevices,whichusethesameSymbolsforthe schematicbutdifferenttechnologiesorPackagevariants. DefiningaDevicesetoraDeviceconsistsessentiallyofthefollowingsteps: SelectSymbol(s),namethemandspecifyproperties AssignPackage(s)orspecifyvariants SpecifytheassignmentofpinstopadsusingtheCONNECTcommand Definetechnologies(ifdesired/necessary) Stateprefixandvalue DescribetheDevice ClickontotheEditadevice icon.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. ItisneverthelesshelpfultoassignindividualGatenameswhencomponents arecomposedofanumberofGates.TodistinguishtheindividualORgates, youusetheNAMEcommandtoaltertheGatenames.AssignthenamesA,B, CandD,andnamethepowersupplygateP.

230

8.2 Defining a Complex Device Specify Addlevel and Swaplevel


The Addlevel can be used to specify how the gates are placed in the schematicdiagrambytheADDcommand.YoucanseethecurrentAddlevel foreachGatewrittenaboveleftinlayer93,Pins. AssigntheAddlevelNextforGatesAtoD,andtheAddlevelRequestto thepowersupplygate.DothisbyclickingontotheCHANGEicon,selecting theAddlevelentry,andthenselectingthedesiredvalueforagate.Thenclick ontheGateyouwanttochange. ThismeansthatassoonasthefirstORgatehasbeenplacedontheschematic diagram,thenextoneisattachedtothemousecursor.All4gatescanbe placedoneafteranother.Thepowergatedoesnotautomaticallyappear.You can,however,fetchitintotheschematicdiagramifnecessary,bymakinguse oftheINVOKEcommand. TheparameterADDLEVELisdescribedinfulldetailinthesectionentitled MoreAbouttheAddlevelParameteronpage244. TheSwapleveldetermineswhetheraDevice'sgatescanbeswappedwithin theschematicdiagram.Thevaluethatiscurrentlysetis liketheAddlevel displayedaboveleftinlayer93, Pins,foreachgate.Thedefaultvalueis0, meaningthatthegatesmay not beexchanged.TheSwaplevelcanhavea valuefrom0to255.GateswiththesameSwaplevelcanbeexchangedwith oneanother. OurDeviceconsistsoffouridenticalGatesthatmaybeswapped.Clickonto CHANGE,selecttheSwaplevelentry,andenterthevalue1.Clickonthefour ORgates.Theinformationtextinlayer93,Pins,changescorrespondingly.

Choosing the Package Variants


In the Device Editor window, click the New button at the lower right. A windowopensthatdisplaysthePackagesdefinedinthislibrary.Selectthe DIL14packageandgivetheversionnameJ.ClickOK. Repeatthisprocedure,selecttheLCC20,andgivetheversionnameFK. InthelistontherightyouwillnowseethechosenPackagevariants,witha simplerepresentationoftheselectedPackageaboveit. ClickingonaPackagevariantentrywiththerightmousebuttonwillopena contextmenu.Thisallowsvariantstobedeleted,renamedornewlycreated, Technologies to be defined, the CONNECT command to be called, or the Packageeditortobeopened. Bothentriesaremarkedbyayellowsymbolwithanexclamationmark.This meansthattheassignmentofpinsandpadshasnotyetbeen(fully)carried out. Supposed you don't find the appropriate Package variant in the current library you may use Packages from another library. Use the PACKAGE commandtocopythePackageintothecurrentvariantandtodefineanew 231

8 Component Design Explained through Examples


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

ThiscommandcopiesthePackagenamed DIL14 fromrefpackages.lbr into thecurrentlibrary.SimultaneouslythevariantJisgeneratedfortheDevice. Seealsopage251.

The Connect Command

Thepinassignmentforthe
packages This must be the most important step in the library definition. CONNECT assignseachpintoapad.Thewayinwhichnetsintheschematicdiagram areconvertedintosignallinesinthelayoutisdefinedhere.Eachnetatapin createsasignallineatapad.Thepinassignmentforthe541032isspecified inthedatasheet.Checktheconnectsinthelibrarywithcare.Errorsthatmay passunnoticedherecanmakethelayoutuseless. SelecttheJversionfromthePackagelistandclicktheCONNECTbutton.The connectwindowopens.

232

8.2 Defining a Complex Device

CONNECTdialog
Thelistofpinsisontheleft,andthepadsareinthecenter.Clickontoapin entry,andselecttheassociatedpad.Bothentriesarenowmarked.Youjoin themwith theconnectbutton.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 to the right of bothPackagevariants, and this indicates that connection is complete. This isonly true when every pinis connectedtoapad. Onepinhastobeconnectedtoexactlyonepad! Itisnotpossibletoconnectseveralpinswithacommonpad! A Device may contain more pads than pins, but not the other way around! PinswithdirectionNC(notconnected)mustbeconnectedtoapad,as well!

Defining Technologies
Asnotedabove,the541032istobeusedintwodifferenttechnologies AS and ALS. By including a * as a placeholder in the Device name we have alreadytakenthefirststeptowardsthis.Intheschematicdiagramthecode 233

8 Component Design Explained through Examples


forthechosentechnologywillappearinsteadofthe*.Thedatasheetshows thatbothtechnologiesareavailableinbothPackages. SelecttheJPackagefromthelistontherightoftheDeviceEditorwindow. ThenclickontoTechnologiesinthedescriptionbox.Thetechnologieswindow opens.DefinethetechnologyintheNewline,andconfirmtheentrywithOK. Whentheentry hasbeencompleted,the AS and ALS entriesareactivated withatick.

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

Specifying the Prefix


Theprefix of the Device name is defined simply by clickingon the Prefix button.ICistobeenteredinthisexample.

Value
ThesettingofvaluedetermineswhethertheVALUEcommandcanbeusedto alterthevalueoftheDeviceintheschematicdiagramandinthelayout. On: Off: Youareallowedtochangethevalueintheschematic(forexample forresistors).Definingthevalueisnecessarytospecifythepart. ThevaluewillbegeneratedfromtheDevicenamewhichcan includetechnologyandPackagevariantname(e.g.74LS00N).

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

234

8.2 Defining a Complex Device 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!

235

8 Component Design Explained through Examples

8.3 Supply Voltages


Component Power Supply Pins
Thecomponents'supplypinsaretobegiventhedirectionPwrintheSymbol definition. The pin name determines the name of the supply signal. Pins whose direction is Pwr and which have the same name are automatically wiredtogether(evenwhennonetlineisshownexplicitly).Whetherthepins arevisibleintheschematicdiagram or are fetchedbymeansofahidden 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)
ThetwoinputpinsarecalledI0 andI1andaredefinedashavingdirection In,Swaplevel1,visiblePinandfunctionNone. Theoutputpiniscalled O andisdefinedwithdirection Out,Swaplevel 0, visiblePin,andfunctionDot. Now define the supply gate with the name PWRN, and the following properties:

236

8.3 Supply Voltages

Powergate
ThetwopinsarecalledGNDandVCC.TheyaredefinedwithdirectionPwr, Swaplevel0,functionNone,andvisiblePad. Nowcreatethe7400DeviceintheDeviceEditor: SpecifythePackagewithPACKAGE(whichmustalreadybepresentinthe library)andusePREFIXtospecifythenameprefixasIC. UsetheADDcommandtoplacethe7400Symbolfourtimes,withAddlevel beingsettoNextandSwaplevelto1.ThenlabeltheGatesasA,B,CandD withtheNAMEcommand. TheAddlevelofNextmeansthatastheseGatesareplacedintotheschematic, they will be used in that sequence, i.e., the sequence inwhich theywere fetchedintotheDevice. ThenplacethePWRNSymbolonce,usingAddlevelRequestandSwaplevel0. NamethisGateP. AddlevelRequestspecifiestwothings: Thesupplygatewillonlybefetchedintotheschematicifrequested, i.e.withtheINVOKEcommand.TheADDcommandwillonlybeable toplaceNANDgates. Thesupplygatewillnotbeincludedwhennamesareallocatedtothe schematic.WhereasanICwithtwoNextGatesappearsinthe schematicassomethinglikeIC1AandIC1B,anICwithoneNextGate andoneRequestGatewillonlybeidentifiedasIC1. So use the CONNECT command to define the housing pads to which the supplypinsareconnected.

Pins with the Same Names


If you want to define components having several power pinsofthesame name,let'ssupposethatthreepinsarealltobecalledGND,thenproceedas follows: 237

8 Component Design Explained through Examples


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

8.4 Supply Symbols


Supplysymbols,suchasmightbeusedintheschematicforgroundorVCC, aredefinedasDeviceswithoutaPackage.Theyareneededfortheautomatic wiringofsupplynets(seepage120). 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.).

238

8.4 Supply Symbols

SupplysymbolforGND
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 239

8 Component Design Explained through Examples

8.5 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 attributes forthePackagevariant N,whichisthe DIL14 Package.ThereforeclickontoentryDIL14(VariantN)inthePackageliston therighthandsideoftheDeviceEditorwindow.NowclicktheATTRIBUTE command icon in the menu bar or onto the text Attributes in the descriptionwindowbelowthe representation of theDevice.Thefollowing Attributewindowwillappear.

Attributes'dialog
ThisdialoginitiallyshowstheTechnologiesavailableforthePackagevariant N.ClickingtheNewbuttonopenstheNewAttributewindow.Pleaseenter,for example,Heightfortheattribute's nameand0.16infortheattribute'svalue. Thelinebelowdetermineswhetheritisallowedtomodifythevalueofthe attribute(variable)ornot(constant)inthedrawing.Select constant inour examplehere. NowyouhavestilltodefineforwhichTechnologiestheattributeshouldbe valid:forthecurrentlyselectedoneonly(current)orforall.Selectallhere. ClicktheOKbuttonandthenewattributeisshowninthelistnow.

240

8.5 Attributes

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

TheDistributorfieldforLSisselected
Clickontothe Change buttonnow.Thewindowforchangingtheproperties oftheattributeopens.Setthefollowingoptions: Name:DistributorValue:Millerexclusively,constantTechnologies:current ClicktheOKbutton,andtheexceptionfortheLStechnologyisdefined.This valuecannotbealteredintheSchematic/Layout. TheChangedialogallowsthreepossibilitiesintheTechnologiesfield:current, same,all.Thismeansthatthecurrentlychangedpropertieswillbevalidfor the currently selected (current), for all the technologies with the same 241

8 Component Design Explained through Examples


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

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 orLayout Editor, it would bringalong its attributesandtheirvalues. The attributes are not visible in the drawing and can be check with the ATTRIBUTEScommand. InformationabouthowtodisplayattributesinSchematicorLayoutcanbe foundonpage123inthismanual. 242

8.5 Attributes 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 Symbolor Package with the TEXT command.Suchaplaceholdertextbeginswiththe>character,asitiswith >nameand>value.Forourexampleattributeswedefinedabove,youhave towrite: >Distributor >Height >Remarks Place this text at asuitable location inthe SymbolorPackageEditorand 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. Seepage123fordetailsaboutdisplayoptionsofattributes.

8.6 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. Inthefirstcaseallthesymbolsarelabeledwith>NAME.Inthesecondcase, thesymbolofthefirstgateislabeledwith>PARTand>GATE,theother threewith>GATEonly.

243

8 Component Design Explained through Examples

Labelingofaschematicsymbol

8.7 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 244

8.7 More about the Addlevel Parameter


inthenameofthepartintheschematic.TheRequestGate'sname,however willconsistofPrefix+Number+Gatename,forexample,IC1P.

Relay: Coil and First Contact must be Placed


Arelaywiththreecontactsistobedesigned,ofwhichtypicallyonlythefirst contactwillbeused. DefinethecoilandonecontactastheirownSymbols.IntheDevice,givethe coilandthefirstcontacttheAddlevelMust.Alltheothercontactsaregiven theAddlevelCan. IftherelayisfetchedintotheschematicwiththeADDcommand,thecoiland thefirstcontactareplaced.Ifanothercontactistobeplaced,thiscanbe donewiththeINVOKEcommand.Thecoilcannotbedeletedonitsown.It disappears when allthecontactshavebeendeleted(beginning withthose definedwithAddlevelCan).

Relaywithonecoilandthreecontacts

Connector: Some Connection Pins can be Omitted


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

245

8 Component Design Explained through Examples

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

ConnectorsymbolfortheSchematic
Then fetch the Symbol ten times into a newly created Device, settingthe AddlevelineachcasetoAlways,andusetheCONNECTcommandtocreate theconnectionsbetweentheSMDsandthepins.Whenyounowfetchthis Deviceintoaschematic,alltheconnectionsappearassoonasitisplaced. IndividualconnectionscanberemovedwithDELETE.

AfterADD,alltheconnectionsarevisibleintheschematic

Connector with Fixing Hole and Restricted Area


Aconnectoristobedefinedhavingfixingholes.Onthesolderside(bottom), theAutoroutermustavoidbringingtracksclosertotheholesthanacertain distance.

246

8.7 More about the Addlevel Parameter

Fixingholeswithrestrictedareas
Thedrillholesareplaced,withthedesired diameter,onthePackageusing the HOLE command. The drilling diameter canberetrospectively changed withCHANGEDRILL. TheforbiddenareafortheAutorouter/Followmerouterisdefinedinlayer 42, bRestrict, using the CIRCLE command. Forreasons of representational claritythecircleisshownherewithanonzerowidth.Circleswhosewidthis 0arefilled.InthiscaseithasnoeffectontheAutorouter,sinceitmaynot routewithinthecircleineithercase.Theseforbiddenareasarealsotaken intoaccountbyapolygoninlayer16,Bottom.

8.8 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) 247

8 Component Design Explained through Examples


Arrangethepinsinverticaldirection,i.e.theyarepointingupor 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 xcoordinate0.ThelowerpinoftheGateshouldbelocated completelyinthepositivecoordinatesrange.Theycoordinateis typically0.1inch. Eachfurthercontactgateisplacedtotherightofthefirstoneatthe sameycoordinate(thesameheight). ThedistancebetweenthecontactgatesintheDeviceEditorfinally determinesthedistanceofthecontactsinthegraphicalrepresentation ofthecontactcrossreferencesintheSchematic.Thecontactgateswill berotatedby90andalignedverticallyonebyonethere. ThecoilgatemaybeplacedanywhereintheDevicedrawing.The AddlevelforthisGatemustbeMust. 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.

248

8.9 Drawing Frames

8.9 Drawing Frames


It may be true that drawing frames are notcomponents,buttheycanbe defined for schematics as Devices with neither Packages nor pins. Such Devices inEAGLE's frames librarycontainaSymbolconsistingmerely ofa 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). Istheframealreadydefinedbutyouwanttochangeitsproperties? ThenusetheCHANGEcommandwithitsoptionsBorder,RowsandColumns todeterminetheframe'spositionofthelabellinganditsnumberofrowsor columns. Duetothespecialnatureoftheframeobject,itdoesn'thavearotationof itsown! TheFRAMEcommandisalsoavailableinSchematicorBoard.Butitis commonpracticetodefineadrawingframeintheLibrary. The library frames.lbr also contains documentation fields you can use togetherwithaframe.Ofcourseyouareallowedtodrawyourown. Thetext variables >DRAWING_NAME, >LAST_DATE_TIME and >SHEETare contained,aswellassomefixedtext.Thedrawing'sfilename,dateandtime ofthelastchangeappearatthesepointstogetherwiththesheetnumberin theschematic(e.g.,2/3=sheet2of3).

249

8 Component Design Explained through Examples


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 references.Moredetailsaboutthiscanbefoundinthehelpfunctioninthe sectionContactcrossreferences.

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

250

8.10 Components on the Solder Side


If one of the commands ADD, COPY, MOVE, or PASTE is active the componentcanbemirroredbyclickingthemiddlemousebutton.

8.11 Components with Oblong Holes


Iftheboardmanufacturerhavetomilloblongholes,youhavetodrawthe millingcontourofoblongholesinaseparatelayer.Usuallythisislayer46, Milling. Themillingcontourforcomponentsthatneedoblongholescanbedrawn withWIRE(andpossiblyARC)withaveryfinewirewidthnearoreven0in thePackageEditor.Takeapadthathasadrilldiameterwhichliesinsidethe millingcontour,orSMDs,forexampleinTopandBottomlayer,asbasisfor theoblonghole. In case of a multilayer board you should drawa WIREin theused 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.

8.12 Creating New Package Variants


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

Package from Another Library


InthemostfavourablecaseyoucanuseanalreadyexistingPackagefrom anotherlibrary.TheeasiestwaytodefinethenewPackagevariantistouse thePACKAGEcommanddirectlyintheDeviceEditor. 251

8 Component Design Explained through Examples


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

Defining the Package Variant


ThenewvariantshouldbenamedTest.ThePackagemusthaveaminimum of14padsbecausebothGatestogetherhave14pins.Asanexample,wetake theSO14Packagefromthesmdipc.lbrlibrary. IfControlPanelandLibraryEditorwindowarearrangedsidebyside,select theSO14PackageandDrag&DropitintotheopenedLibraryEditorwindow. After releasing the mouse button you will be asked for the new Package variantname.EnteritandconfirmitbyclickingOK.Thenewvariantisnow showninthePackagelist. ItisalsopossibletodefinethePackagevariantintheDeviceEditordirectly withthePACKAGEcommand. Typeinthecommandline: 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 Now onthelower rightoftheDevice Editorwindowanew entry forthe PackageSO14andthevariantnameTESTappears. On the left a black exclamation mark on yellow ground is shown which indicatesthattherearenoconnectionsbetweenpinsandpadsdefinedyet.

252

8.12 Creating New Package Variants

DeviceEditor:ListofPackageVariants

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

Connect Command
ClicktheConnectbuttonnow.TheConnectwindowopens.Connectpinswith padsbyclickingonthepinandpadentriesbelongingtogetherasdescribedin paragraph8.2. Itisalsopossibletoadaptthepin/padconnectionsfromanalreadyexisting Package variant. In our example the assignment does not differ from the DIL14Package.ThereforeselecttheentryDIL14fromtheCopyfrom:combo 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 253

8 Component Design Explained through Examples


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. IftheControlPanelandtheLibraryEditorwindowarearrangedinaway thatboth windows are visible youcanmove the Packageinto theLibrary windowbykeepingtheleftmousebuttonpressed.Afterreleasingthemouse button(Drag&Drop)theLibraryEditorwillbeinthePackageeditingmode. ThePackageisshownthere. Alternativelyyoucouldusearightmouseclicktoopenthecontextmenuof thePackageentryinthetreeview.Select CopytoLibrarynow.TheLibrary Editorneedsnottobevisible. NowthePackagecanbemodified.ThePackagenameisadoptedfromthe sourcelibrary.TochangethePackagenameusetheRENAMEcommand. 254

8.12 Creating New Package Variants


Don'tforgettosavethelibrary.

Defining the Variant


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

8.13 Defining Packages in Any Rotation


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

Rotating a Package as a Whole


To come back to the example of this chapter, please open the library my_lib.lbrandeditthePackageLCC20. Display all layers with DISPLAY ALL to make sure you have all objects rotated.NowuseGROUP ALLtoselecteverything. UsetheROTATEcommandtorotatethegroup: NowclickwiththeleftmouseintotheAngleboxoftheparametertoolbarand typeintherequestedangle.Thenusearightmouseclickintothegroupto 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).

255

8 Component Design Explained through Examples

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

8.14 Library and Part Management


Copying of Library Elements
Within a Library
IfyouwanttouseaSymboloraPackagewhichalreadyexistsinarelated mannerforaDevicedefinitionyoucancopyitwithinthelibrarywiththe commands GROUP, CUT, and PASTE. Afterwards it can be modified as requested. Thefollowingsectionsexplaineverysinglestepwiththehelpofanexample Packagetakenfromlinear.lbr.

256

8.14 Library and Part Management


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. NowclicktheCUTiconfollowedbyaleftmouseclickintothegroup. AlternativelyyoumayenterareferencepointinthecommandlineforCUT, asforexample: CUT (0 0) ; Define New Element ClicktheEditapackageiconintheactiontoolbar. EnterthenameDIL08TESTintheNewfieldoftheEditwindowandconfirm withOK. ClickthePASTEiconfollowedbyaclickatthedrawing'sreferencepoint.The Packagewillbeplaced. Oruseagainthecommandline: PASTE (0 0) ; Nowitcanbemodifiedasrequested. ThegivencoordinatesforCUTandPASTEcanbeusedtomoveagroupbya certainvalueinthecoordinatessystem.Thismaybevaluableforelements thathavebeendrawninthewronggrid. ThisprocedurecanbeappliedtoSymbolstoo! Devicescan'tbecopiedwithinalibrary!

From One Library into Another


Devices IfthereisaproperDeviceorDevicesetthatyouwanttouseinyourcurrent libraryyoucancopyitintwodifferentways. IntheControlPanel: Move(with Drag&Drop)therequestedDevicesetfromtheControlPanel's treeviewintotheopenedLibraryEditorwindow.ThecompleteDeviceset withSymbol(s)andPackage(s)willbecopiedandnewlydefined. AsanalternativeyoucouldusetheentryCopytoLibraryinthecontextmenu oftheDeviceentry. 257

8 Component Design Explained through Examples


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 AsSymbols are not shownin thetree view of theControlPanel itisnot possibletocopythemfromthereintotheLibraryEditor. Symbolsarecopiedfromonelibraryintoanotherthesamewayasonewould doitwithinthesamelibrary.ThereforeweusethecommandsGROUP,CUT, andPASTE(seepreviousparagraph). TheonlydifferencetocopyingaSymbolwithinalibraryisthatyouhaveto opentheotherlibrary(File/Open)afterCUTandclickintothegroup.Then youdefineanewSymbolthatmayhavethesameoranothernameasbefore. Inshort: OPENthesourcelibraryandEDITtheSymbol DISPLAYalllayers SelectallobjectswithGROUPALL UseCUTandleftmouseclickintothegrouptosetareferencepoint OPENyourtargetlibrarywithFile/Open EDITanewSymbol UsePASTEtoplaceit Savelibrary Packages TheproceduretocopyPackagesisnearlythesameastocopyDevices. Either move (with Drag&Drop) the requested Package from the Control Panel's tree view into the opened Library Editor window. The complete Package will be copied and newly defined in the current library. As an alternativeyoucouldusetheentryCopytoLibraryinthecontextmenuofthe Packageentry. OrusetheCOPYcommand.Type,forexample, COPY DIL16@751xx.lbr 258

8.14 Library and Part Management


inthecommandline,thePackageDIL16fromlibrary751xx.lbriscopiedinto the currently opened library. If the library is not in the current working directoryyouhavetoenterthewholepath,asforexample,in: COPY DIL16@\eagle\mylbr\751xx.lbr Ifthepathcontainsspacesusesinglequotesforit: COPY 'DIL16@D:\P A T H \mylbr\751xx.lbr' If the Package should be stored in the current library under anew name simplyenteritdirectlyinthecommandline: COPY DIL16@\eagle\mylbr\751xx.lbr DIL16NEW ThePackageisstoredwiththenewnameDIL16NEWnow. IfyouwanttocopyaPackagethatalreadyexistswiththesamenameinthe targetlibrarythePackagewillbesimplyreplaced. IfthePackageisalreadyusedinaDeviceandthepositionorthenameofone ormorepads/SMDschanges,EAGLEpromptsamessageinwhichmodethe pads/SMDs are to be replaced. This procedure canalsobe cancelled.The Packageremainsunchangedthen. Iftheenumerationandpositionofthepadsareunchangedbuttheorderis, EAGLEwill askyou forthe appropriate updatemode.Dependingonyour selectionthepin/padconnectionsoftheDevicemaychange(seeCONNECT command).

RequestingtheUpdateMode

Composition of Your own Libraries


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

8 Component Design Explained through Examples

Removing and Renaming Library Elements


Devices, Symbols, and Packages can be removed from a library with the REMOVE command. Defining a new library element can't be cancelled by UNDO. Example: YouwouldliketoremovethePackagenamedDIL16. Open the menu Library/Remove.... A dialogwindowopenswhere 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 thoseofanotherlibrarywiththehelpoftheUPDATEcommand.Anexisting Packagewiththepropernamewillbereplacedbythecurrentdefinition. Ifyouhave,forexample,specialrequirementsforPackagesyoucoulddefine theminacustombuiltPackageorSMDlibrary.TheUPDATEcommandcould transferthemtootherlibraries.

260

8.14 Library and Part Management


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

261

8 Component Design Explained through Examples

This page hasbeen leftfree intentionally.

262

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. If, however, yourboardmaker isnotsetuptoprocessEAGLEboardfiles directly, you will have to supply them with a set of files. What will be requiredwillbediscussedinthefollowingsections. AdditionalusefulUserLanguagePrograms(ULPs)areavailableonCadSoft's Internet pages.Theycanbeused, for example,forthegenerationofglue mask data, for the calculation of milling contours, or for data regarding automaticmountingandtestingequipment.

9.1 Which Data do we Need for Board Manufacture?


ThePCBmanufacturer requiresspecificinformationpertainingtoeach step in the manufacturing process of your board. This special information is describedinafilecontainingplotand/ordrillinginformation. Forexample,onefileforeachsignallayer,forthesilkscreen,forthesolder stopmask,thecreamframe,foragoldapplication,foragluemask(forSMT devices),orformillingdataregardingcutoutsintheboard. Doublesidedboardswithpartsontopandbottomsiderequireasilkscreen onbothsides,orincaseofSMTdevices,acreamframeoragluemaskfor eachside. Additionallytheboardmanufacturerneedsdrillingdatainaseparatefile. Ifyouwantamilledprototypeboard,millingcontourshavetobecalculated first,andgeneratedinaspecificdataformatforfabricationmillingmachines.

263

9 Preparing Manufacturing Data


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. TheGerberdevicesoftheCAMProcessor(RS274XandRS274D)havea resolutionof1/10,000ofanInch(dataformat:2.4,inches). Exceptionsarethedevices GERBERAUTO_23 and GERBER_23.Theyhavea lower resolution of 1/1,000 of an Inch (data format 2.3, inches). GERBER_RS274X_25offersahigherresolutionof1/100,000ofanInch(data format:2.5,inches) PleaseinquirewhichformatyourPCBmanufacturerprefers.Themore convenienttouseisExtendedGerber,RS274X.

GERBER_RS274X
ThisdevicegeneratesfilesinExtendedGerberformat(RS274X)wherethe aperturetableisintegratedintheoutputfile.SimplygenerateGerberfiles with the GERBER_RS274X device and pass them on to your board manufacturer.ThisisthemostefficientandeasiestwaytogenerateGerber data.

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.

264

9.1 Which Data do we Need for Board Manufacture?

Drill Data
Thegenerationof drilldata isverysimilartothegenerationofplotdata. 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.5frompage279on.

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

EXCELLON_RACK
Thisdevicecanbeused,ifyourboardmanufacturerinsistsontwoseparate files.Adrilltable(rackfile)andthedrilldatafile.Thiswasdefaultinprior EAGLEversions. InthefirststeponehastogeneratethedrilltableintheLayoutEditorwith 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.

265

9 Preparing Manufacturing Data Further Drill Data Devices


TheCAMProcessorsupportstwofurtherdevicesfordrilldatageneration. GERBDRL generates Gerber drillcode.Hereweneed aseparatedrilltable (RUNdrillcfg.ulp),asitiswithEXCELLON_RACK. SMS68isafurtherdrilldatadevicethatgeneratesaHPGLcode.

Prototype Manufacture With a Milling Machine


WiththehelpofvariousUserLanguageprogramsyoucangenerateoutline dataformillingaprototypeboard.

outlines.ulp
Asimpleexampleforcontourdatacalculationisoutlines.ulp.Startitwiththe RUNcommand.Selectthelayerforwhichoutlinedatashallbegenerated, define thediameter of the milling tool(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. This ULP exports HPGL formatted data (further formats are planned) or generates a Script file which can be imported into the layout again. The millingcontourscanbeviewed,orevenmodified,ifrequired.Generatethe milling data with the CAM Processor and one of its devices, like Gerber, HPGLorPSthen.

Film Generation Using PostScript Files


A highquality alternative to Gerber is the data generation for PostScript raster image recorders. The exposed film serves as master for board manufacturing. Withthe PS driver,theCAMProcessorgeneratesfilesinPostScriptformat. Thesefilescanbeprocesseddirectlybyappropriateservicecompanies(most ofwhichoperateintheprintindustry). ForPostScriptrecordersthe Width and Height parametersshouldbesetto veryhighvalues(e.g.100x100inches),sothatthedrawingisnotspread overseveralpages. 266

9.1 Which Data do we Need for Board Manufacture?


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, by hobbyists and results in a shorter fabricationtimeandaless expensiveboardfabricationprocess. ThelayersthataredisplayedintheLayoutEditorwhileprintingwillappear onthefilm.ChecktheoptionsBlackandSolidintheprintdialog. Thedrillsofpadsandviasarevisibleontheprintout.Thiswillallowaneasy visual indication of where you have to drill manually on the board. Experienceshowsthattheopeningofapadoraviashouldnotbetoobigto allowforagoodcenteringofthedrillbit.Thisissuecanbesolvedwiththe help of an User Language program, named drillaid.ulp. Start it before printing,andletitdrawaringinsideeachpadandviainaseparatelayer. Theinnerdiameterofthisringcanbedefinedandisusuallysetto0.3mm.Of course,youhavetodisplaythisadditionallayerforprintingonthefilm.

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 of the tree view of the Control Panel byselecting oneoftheULP entrieswiththemouse.Thedescribingtextappearsontherightsideofthe ControlPanelwindow.It'salsopossibletoedittheULPfilewithatexteditor. Thedescriptionusuallyiswritteninthefileheader.

267

9 Preparing Manufacturing Data


ULPsforpickandplacedata(selection): mount.ulp mountsmd.ulp Generatesonefilewithcoordinatesof thecenteredpartorigins CenteredoriginsforSMTdevices;onefilefor topandonefileforbottomside DIF4.0formatfromDigitaltest FabmasterformatFATFREV11.1 GenCADformatforTeradyne/GenRad incircuittester UNIDATformat

ULPsforcircuittester(selection): dif40.ulp fabmaster.ulp gencad.ulp unidat.ulp

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

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

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

268

9.1 Which Data do we Need for Board Manufacture?

bom.ulp:Dialogwindow
Itispossibletoimportadditionalinformationfromadatabasefileintothe partslist(Load),ortocreateanewdatabasewithitsownpropertiessuchas manufacturer,storesnumber,materialnumberorprice(New). You can obtain further details about the current version of the ULP by clickingthehelpbutton. A simple parts list can also be created from a boardor schematic by meansoftheEXPORTcommand(Partlistoption).

Drill Plan
Printingadrillplanenablesyoutocheckthedrillholesandtheirdiameters. Itshowsanindividualsymbolforeachdiameterofhole,via,andpadusedin yourdesign.EAGLEuses19differentsymbols:18ofthemareassignedtoa certain diameter; one () appears, if no symbolhasbeendefined 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 269

9 Preparing Manufacturing Data

Configurationofthedrillsymbols
and Width determinethediameterandlinethicknessofthedrillsymbolon 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. 270

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.

9.2 Rules that Save Time and Money


Eachlayershouldwithoutfailbeuniquelyidentified(e.g.CSfor ComponentSide,BSforBottomSide). Itmaybewisetousefiducialorcropmarkswhichcanbedefinedin layer49,Reference.ThiswillalloweasyalignmentofPCBgenerated filmsforbothinspectionandfabrication.Whengenerating manufacturingdata,thislayerhastobeactiveadditionallywithall signallayers.Pleasecontactyouboardmanufacturerconcerningthis matter.Fiducialscanbefoundinmarks.lbr.Aminimumofthree fiducialsorcropmarks(threecorners)isrequiredforproperfilm alignmentreference. Forcostreasonsyoushould,ifatallpossible,avoidtracksthatnarrow tobelow8mil. Usuallythecontouroftheboardisdrawninlayer20,Dimension.But itisalsopossibletodrawanglesatthecornerstodelimittheboardin eachsignallayer.Pleasecontactyourboardmanufacturerwhatthey prefer. Ifyourboardhasmillededges,pleasecontactyourboard manufacturertoclarifyinwhichlayerthesecontourshavetobe drawn.Seealsopage278. Youshouldalwaysleaveatleast2mm(about80mil)aroundthe edgeoftheboardfreeofcopper.Thisisespeciallyimportantfor multilayerboardstoavoidinternalshortsbetweentheselayers. Inthecaseofsupplylayersonmultilayerboards,whichareplotted inverse,youdothisbydrawingawirearoundtheedgeoftheboard. Thiswillactasacopperkeepoutinthisarea. Pleasetakecareofthewirewidthforpolygons.Itshouldnotbeset toofineoreven0.Thesereducedwirewidthsresultinhugefilesizes andcanleadtoproblemsforboardmanufacturing,aswell. AsalreadymentionedinthesectionoftheTEXTcommand,textsin copperlayersoughttobewritteninvectorfont.Soyoucanreallybe surethatthetextonyourboardlooksthesameasitdoesinthe LayoutEditorwindow. Toplaysafe,youcouldactivatetheoptionsAlwaysvectorfontand PersistentinthisdrawingintheOptions/UserInterfacemenubefore passingonyourboardfiletotheboardmanufacturer. 271

9 Preparing Manufacturing Data


Forthesakeofcompletenesswewanttopointouthereagainthatall questionsconcerninglayersetup,layerthickness,anddrilldiameter formultilayerboardswithBlind,Buried,orMicroviashavetobepre examined. SupplyaninformationaltextfiletoyourPCBmanufacturerthat containsinformationaboutspecificfeaturesintheboard.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 backtothechapteraboutTheCAMProcessoronpage77.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. Proceedasfollows: StarttheCAMProcessor,forexample,withtheCAMProcessoriconin theLayoutEditororwiththeFile/CAMProcessormenu. LoadtheboardintotheCAMProcessor(File/Open/Board)ifitwasnot loadedautomaticallyduringthestartsequence. Loadthepredefinedjobgerb274x.camwiththeFile/Open/Jobmenu. NowclickProcessJob.EAGLEgeneratesfivefiles,onebyone, automaticallywhichyouhavetopassontotheboardmanufacturer. EachGerberfilecontainstheaperturetableandtherespectiveplot data. Thefollowingfileswillbegenerated: %N.cmp Componentside

272

9.3 Quick Guide for Data Output


%N.sol %N.plc %N.stc %N.sts Solderside Silkscreencomponentside Solderstopmaskcomponentside 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(forexampleFile/CAMProcessormenu)in theLayoutEditor. LoadtheboardintotheCAMProcessor(File/Open/Board),ifithas notbeenloadedautomaticallyduringthestartsequence. Loadthepredefinedjobexcellon.cam,e.g.withFile/Open/Job. ExecutethejobwithamouseclickonProcessJob.Drilldataoutput startsnow. Excellon.camdoesnotdistinguishbetweenplatedthroughdrillsandnon platedthroughholes! Thefollowingfileswillbegenerated: %N.drd %N.dri Drilldata Infofile,forboardmanufacturer, ifrequired

273

9 Preparing Manufacturing Data

CAMProcessor:Generatedrilldatawiththeexcellon.camjob
Thedefaultunitforthedrilltableisinch.Ifthedrilltablewouldbepreferred inMillimetresthedevicedefinitioncanbechangedinthefileeagle.def.More detailsconcerningthiscanbefoundinthesectionUnitsforapertureanddrill tables,beginningwithpage289. 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.

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. NowclickProcessJob.EAGLEautomaticallygeneratessixfileswhich youhavetopassontotheboardmanufacturer.FiveGerberplotfiles andonecommonaperturetable. 274

9.3 Quick Guide for Data Output


Inthefirststepanaperturetable%N.whlisgenerated.Twomessages appear,whichyouconfirmwithOK.

Messagesingerber.cam
TheleftmessageisgeneratedbytheentryinthePromptfield,and remindsyoutodeletethetemporaryfile%N.$$$createdwhengenerating theaperturetableafterthejobisdone. Themessageontherightadvisesyouthatmorethanonesignallayerare activeatthesametime.Normallyonlyonesignallayerisactivewhile outputisgenerated.However,whengeneratingthewheel,allthelayers needtobeactiveatthesametimetoformacommonaperturetablefor theGerberoutput. Thefollowingfileswillbesubsequentlyoutput: %N.whl %N.cmp %N.sol %N.plc %N.stc %N.sts %N.$$$ %N.gpi Temporaryfile,pleasedeleteit Infofile,notneededhere Aperturefile(Wheel) Componentside Solderside Silkscreencomponentside Solderstopmaskcomponentside Solderstopmasksolderside

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.

275

9 Preparing Manufacturing Data

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 Signallayers %N.cmp %N.sol 1Top,17Pads,18Vias 16Bottom,17Pads, 18Vias Componentside(top) Solderside(bottom) Selectedlayers Description

Innerlayers %N.ly2 2Route2,17Pads,18 Vias 3Route3,17Pads,18 Vias ..... 15Route15,17Pads, 18Vias Innerlayer2 Innerlayer3 ..... Innerlayer15

%N.ly3 .....

%N.l15

Specialcase:InnerlayerasSupplylayer(e.g.:Layer2$GND,Layer15 $VCC) %N.ly2 ..... %N.l15 2$GND ..... 15$VCC Supplylayer$GND .... Supplylayer$VCC

Silkscreen

276

9.4 Which Files do I Need for my Board?


%N.plc %N.pls 21tPlace,25tNames, possibly20Dimension(*) 22bPlace,26bNames possibly20Dimension(*) Silkscreencomponent side Silkscreensolderside

Solderstopmask %N.stc %N.sts 29tStop 30bStop Solderstopcomponent side Solderstopsolderside

Creamframe(forSMTdevices) %N.crc %N.crs 31tCream 32bCream Creamframe componentside Creamframesolder side

Millingcontoursforopenings,oblongholes... %N.mill %N.dim 46Milling(**) 20Dimension(**) Platedmillingcontours Nonplatedmilling cont.

Finishingmask(e.g.goldcoating) %N.fic %N.fis 33tFinish 34bFinish Finishingcomponent side Finishingsolderside

Gluemask(forlargerSMTdevices) %N.glc %N.gls 35tGlue 36bGlue Gluemaskcomponent side Gluemasksolderside

Drilldata %N.drd 44Drills,45Holes Alldrillings 277

9 Preparing Manufacturing Data


Distinguishingplatedfromnonplateddrillings %N.drd %N.hol 44Drills 45Holes Plateddrillings Nonplateddrillings

(*)Pleasecheckwithyourboardmanufacturerwhetheryouhavetooutput theboardcontourinlayer20inaseparatefileoryouareallowedtocombine itwiththoselayers. (**) Ifthereareadditional millededgesintheboard,youshouldcontact yourboardmanufacturerandaskthemwhichlayerstheypreferformilling contours. Pleasenotethattherearedifferencesbetweennormalinnerlayersand supplylayers: Normalinnerlayers(possiblywithpolygons)aretreatedthesameasTop orBottomlayer;youhavetooutputthemwithPadsandViastogether. Supplylayers,however,arenotcombinedwithanyfurtherlayer!

Placeholders for Output File Name Generation


%D{xxx} %E %H %I{xxx} %L %N %P %% xxxstandsforastringthatisinsertedonlyinto thedatafilename fileextensionoftheloadedfile,withoutthe'.' homedirectoryoftheuser xxxstandsforastringthatisinsertedonlyinto theInfofilename layerrangeforblind&buriedvias nameoftheloadedfilewithoutpathand extension directorypathoftheloadedBoardorSchematic file thecharacter'%'

Theseplaceholdersmustbewritteninuppercaseletters!

278

9.4 Which Files do I Need for my Board? Hints Concerning File Extensions:
cmpstandsforcomponentside,theuppersideoftheboard,solforthesolder (bottom)side.Itmakessensetochoosethefirsttwolettersaccordingthe active layers. The third one can be c or s for belonging to component or solderside. Ofcourseyouarefreeinnamingyourfilesinanymanneryouwish! Pleaseensurewhendefiningajobthattheextensionsoftheoutputfiles areuniqueandthereforedistinguishable.

9.5 Peculiarities of Multilayer Boards


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

Simple Inner Layers


The normal inner layers are treated the same as the outer signal layers. Togetherwiththesignallayer,thelayersPadsandViasareactive. IftheLayerSetupallowsBlindandBuriedvias,thecombinationofone signallayerandtheViaslayeroutputsonlythoseviasthatbelongtothis signallayer. IfthereisonlytheViaslayeractive(nosignallayer),theCAMProcessor willoutputallviasoftheboard!

Supply Layer
Whengeneratingmanufacturingdatafor supplylayers,forexample$GND, youmustnotactivatethelayersPadsandVias. Isolationrings, calledAnnulus symbols,andthermalreliefs(Thermals)are generated automatically in a Supply layer. They havenothing incommon withpadsorviasofnormalsignallayers. ASupplylayerisdisplayedand outputinverted. SupplylayersareneveroutputwithPadsandVias!

279

9 Preparing Manufacturing Data

Drill Data for Multilayer Boards With Blind and Buried Vias
TheCAM Processor generates one drill data file 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. 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.

280

9.6 Set Output Parameters

CAMProcessor:Soldersidesectionofthegerber.camjob
Output: Selectthedriverforthedesiredoutputdeviceoroutputformatinthe Devicecombobox. EntertheoutputpathandfilenameintheFilefieldorsimplyclick ontotheFilebuttonanduseitsdialog. Ifyouwanttooutputafileonaparticulardrive,placethedrive identifieror,ifappropriate,thepathinfrontofthefilenameending. Forinstance,underWindows,d:\%N.cmpwouldplacethefile boardname.cmpintherootdirectoryofdriveD.Thisalsoappliesto theLinuxversion,sothat,forexample,/dev/hdc2/%N.cmp,would placethefileondrivehdc2. %HcanbeusedaswildcardfortheHomedirectory,%Pfortheloaded file'sdirectorypath. Ifoutputistogodirectlytoaplotter,enterthenameoftheprint queuethatisconnectedtothecorrespondingcomputerinterfacein UNCnotation,e.g.\\Servername\Plottername. DependingonthechosendeviceitmaybeaskedforWheel(aperture table)orRack(drilltable).Selectpathandfilebyclickingthebutton. Layerselection: Selectthelayersthatshouldbeoutputintoacommonfilebyclicking theappropriatelayernumber. ClickthemenuLayer/Deselectalltouncheckallthelayersfirst. Layer/showselecteddisplaysonlythecurrentlyselectedlayers. 281

9 Preparing Manufacturing Data


Somedevices(likeHPGLorcertainplotterdevices)allowyoutoselect acolororpennumberinanadditionalcolumn. Style: Mirror: Mirrorstheoutput. Itcanbeusefultomirroralloutputsthatrefertothe bottomsideoftheboard. Rotatestheoutputby90degrees.

Rotate:

Upsidedown: Rotatestheoutputby180degrees. WhencombinedwithRotate,thedrawingisrotated byatotalof270degrees. Pos.Coords.: Avoidsnegativecoordinatevaluesfortheoutput. Thedrawingwillbemovednearthecoordinate'saxis, evenifitisalreadyinthepositivecoordinatesrange. Negativevaluescanleadtoerrorswithalotofdevices! Thisoptionshouldbesetonalwaysbydefault. Switchingitoff,transfersthecoordinatevaluesfrom theLayoutEditorunchanged. Quickplot: Draftoutputwhichshowsonlytheoutlinesofobjects. Thisoptionisavailableforcertaindevices,likeHPGL andvariousplotters. Activatestheoptimizationofthedrawingsequencefor plotters.Shouldbesetonbydefault. Thisoptionisalwaysseton.OnlythedevicesPSand EPSallowyoutoswitchoffthisoption.Thedrillholes forpadswillbevisibleontheoutput(asitiswiththe PRINTcommand).

Optimize: FillPads:

Job: IfyouareonthewaytodefineaCAMjobthatconsistsofseveral sectionsitisusefultonamethem.IntheSectionline,itispossibleto enterasectionnamewhichwillbeshownalsointhetababove. If,forexample,youassignthesectionnameWheel:GenerateAperture File,onlythetitleWheelisvisibleasatabname.Theadditional descriptioncanbereadinthesectionline.Thecolonendsthetitlein thetab. Incaseyouwishtodisplayamessageboxonthescreenbefore executingthissection,enterspecialmessagetextinthePromptfield. Forexample:Pleaseinsertanewsheetofpaper!Theoutputdoesnot continueuntilconfirmationofthismessage. Offset: Defineanoffsetinxandydirection. ThevaluescanbegiveninInchesorMillimetres,forexample,15mm or0.5inch.

282

9.6 Set Output Parameters


Tolerance: TolerancesforDrawandFlashaperturesarenecessaryfordevicesthat useanaperturefile,likeGERBERorGERBER_23.Usuallyoneallowsa toleranceof1%inallfields. Thisisnecessarytocompensatesmallroundingerrorsthatcanarise duringtheconversionfrommmtoinchvaluesandviceversaasthe aperturetableisgenerated. Devicesfordrilldatagenerationthatuseaseparatedrilltable(rack file)invokeaDrillentry.Atoleranceof2.5%isenoughto compensateforroundingerrorsthatpossiblycanariseduringthe conversionfrommmtoinch. Emulate: Ifanaperturewiththeexactvalueisnotavailableintheaperturefile, youcanallowApertureemulation.TheCAMProcessorisallowedto usesmallerdrawingaperturesforemulation.Plottingtimeandcosts willincrease,andthereforeyoushouldtrytoavoidaperture emulation. ThermalandAnnulusaperturesdrawninSupplylayerswillbe emulatedwithDrawapertures,iftheoptionsThermalsandAnnulus arechecked. Arcswithflatendings(CHANGECAPFLAT)arealwaysemulatedfor Gerberoutput,whichmeansthattheyaredrawnwithsmalllines. Arcswithroundendings(CHANGECAPROUND),however,not. Ifyourlayoutcontainsobjectsthatarerotatedinanyangle,youhaveto activateapertureemulation.Certainpadshapesmustbedrawnwitha smallerroundaperture. Page: DefinetheHeightandWidthofthesheetyouwanttoploton.Values areinInchesbydefault.ValuescanalsobegiveninMillimetres,like 297mm. Pen: TheDiameteroftheplottingpenisgiveninhere.Thevaluehastobe inMillimetres. ForplottersthatsupportadjustablepenVelocityyoucandefinea valuegivenincm/s(centimetrespersecond).Novaluehereresultsin adefaultvaluegivenbytheplotter. Sheet: Selectthesheetoftheschematicyouwanttooutput.

283

9 Preparing Manufacturing Data

9.7 Automating the Output with CAM Processor Jobs


Defining a New CAM Job
AJobconsistsofoneormoresectionsthatallowyoutogenerateafullsetof manufacturing data withonlyafewmouseclicks. Asectionisagroupof settings, as described above in the Set Output Parameters chapter, which definestheoutputofonefile. Defineajobasfollows: StarttheCAMProcessor. Nojobisloadedatfirst,unlessthereisafilecalledeagle.caminthe camdirectoryoranexistingjobiscalledupautomaticallybyan EAGLEprojectfile. Ifhasnotalreadybeendone,loadtheboardfilewhichyouwantto definethejobfor(alsopossibleforschematics). Itisbestthatyouloadanexistingjob,forexamplegerb274x.cam, throughtheCAMProcessor'sFile/Open/Jobmenu. SavethisjobunderanewnamewithFile/Savejob...Sotheoriginal jobfileremainsunchanged. ClicktheAddbutton. Thecurrentlyactivesectionwithallitsparametersettingsiscopied now. EnteranewdescriptivetextintheSectionline. Ifyouwishtogetamessageshownbeforeexecutingthissection, enteraspecifictextpromptinthePromptline. Setallparametersnow: Device,thelayersfortheoutput,theoutputFile,aScalefactor,if needed,theStyleoptions(Mirror,Rotate,Upsidedown...). Definefurthersectionsinthesamewayusingdifferentnames. Veryimportant:FirstuseAddtocreateanewsection,thensetthe parameters. Deleteasection,ifneeded,byclickingtheDelbutton. Saveallthesectionsofyournewjobasajobfileunderanameof yourchoicewithFile/Savejob... Allthesectionsofthejobwillbeexecutedautomaticallyoneafteranotherif youclickthe Processjob button.Onespecific(thecurrentlyshown)section willbeexecutedifyouclicktheProcesssectionbutton. TheDescription buttonallowsadescriptivetextoftheCAMjobthatwillbe displayedintheControlPanel.

284

9.7 Automating the Output with CAM Processor Jobs

Extending gerber.cam Job for Multilayer Boards


Thegerber.camjobcanbeusedasthebasisofthejobformultilayerboards.It mustsimplybeextendedfortheadditionalinnerlayers. Example: YouwanttooutputthefilesforaboardwithSMDcomponentsonthetop andbottomsides,asupplylayer$GND inLayer2,andanotherinnerlayer withapolygonVCCinLayer15(whichisrenamedtoVCC). Youneedsilkscreenprintsfortheupperandlowersides,solderstopmasks, andmasksforthesoldercreamforbothsides. BeforeyoustarttochangetheCAMjobyoushouldsavethejobunderanew namethroughtheFile/Savejobas..menu. Proceedasdescribedintheprevioussection.TheCAMjobthencontainsthe followingsections: New Outputfile Selectedlayers 1,2,15,16,17,18,20, 21,22,25,26,29,30, 31,32 1Top,17Pads,18Vias 2$GND 15VCC,17Pads,18Vias 16Bottom,17Pads, 18Vias 21tPlace,25tNames, 20Dimension 22bPlace,26bNames 20Dimension 29tStop 30bStop 31tCream 32bCream Description Generatewheelfile .whl *modifiedlayer selection Componentside Supplylayer Innerlayer15 Solderside Silkscreencomponent side Silkscreensolderside Solderstopmaskcomp. side Solderstopmasksolder side Creamframecomp.side Creamframesolderside 285

* %N.$$$
%N.cmp

%N.ly2 %N.l15 %N.sol %N.plc

%N.pls
%N.stc %N.sts

%N.crc %N.crs

9 Preparing Manufacturing Data


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

Activate only the signal layer for the output of Supply layers (here $GND)!NoPadsandnoViaslayer! Incase of other inner layers that may contain polygons, youhaveto activatethelayersPadsandVias!

Error Message: Apertures Missing


IftheerrormessageAPERTURESMISSINGNOPLOTFILEHASBEEN 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. 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} generates anadditionalextension .info fortheGerber infofiles. Theoutputfilesgeneratedwilllooklikethis: Gerberfile: Infofile: boardname.xxx boardname.xxx.info

286

9.7 Automating the Output with CAM Processor Jobs


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

Drill Data Generation with Separate Rack File


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

Define a Drill Configuration (Rack) File


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

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

Define Job for Drill Data Output


StarttheCAMProcessor Loadthepredefinedjobexcellon.cam,e.g.withFile/Open/Job. ChangetheoutputDevicetoEXCELLON_RACK,SM1000orSM3000 andchecktheparameters.Layers44,Drills,and45,Holes,mustbe selectedonly.Nootherlayers!UsetheLayers/showselectedmenuto getasummaryoftheactivelayers.

Ifyouwanttohaveseparatefilesforplatedandnonplated drillings,selecthereLayer44,Drills,onlyandinsertafurthersection thatoutputslayer45,Holes,inaseparatefilewiththeAddbutton afterthefollowingitem. Checkwithyourboardmanufacturertoseeifthisisthemethodthey prefer. AfterchangingtheoutputdevicetheCAMProcessorrequiresaRack fileasatoolguide.Typein.drlorclicktheRackbuttonandchoose thepathtoyourrackfileinthefiledialog. 287

9 Preparing Manufacturing Data

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.

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)

288

9.8 Device Driver Definition in eagle.def


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"

Units in the Aperture and Drill Table


When automatically generated with the GERBERAUTO driver, theaperture tablecontainsvaluesininches. Thisisalsothecaseforthedrilltablewhichisautomaticallywrittenintothe drilldatafilewiththeoutputdeviceEXCELLON. If your PCB manufacturer insists on mm units foraperture sizesanddrill diameters, you can achieve this by altering the GERBER or GERBERAUTO respectivelyfortheEXCELLONdriver.

289

9 Preparing Manufacturing Data


Use a text editor that does not introduce any control codes to edit the eagle.deffile,lookfortheline
[GERBER]

or
[GERBERAUTO]

andadd/editinthissectionthelines Units = mm Decimals = 4 Inordertochangethedrilltableunitslookfortheline


[EXCELLON]

andchange:
Units = Inch

to
Units = mm

9.9 Gerber Files for Photoplotters with Fixed Aperture Wheels


Thissection goes into 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 common are circle, octagon, square, Thermal and Annulus symbols. The drawingaperture(Draw)usedfortracksisnormallyaroundaperture. Youmustspecifytheapertureconfigurationbeforeyoucangeneratefilesfor afixedaperturewheelphotoplotter.Todothis,entertheconfigurationfile forapertures name.whl e.g.withtheEAGLETextEditor,andthenloadthis fileintotheCAMProcessorbyclickingthe Wheel buttonafterselectingthe GERBERdevicedriver(seeSetOutputParametersbeginningwithpage280).

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 draw and flash apertures, you must additionally define round or octagonalaperturesasdrawapertures. 290

9.9 Gerber Files for Photoplotters with Fixed Aperture Wheels


Thefollowingaperturesareavailable:
Name Draw Round Square length Octagon Rectangle Oval Annulus Thermal Dimension diameter diameter diameter length-X x width-Y diameter-X x diameter-Y outside diameter x inside diam. outside diameter x inside diam.

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 Annulus draws isolation rings in a supply layer Thermal draws connections in a supply layer

Apertureconfigurationfileexample:
D001 D002 D017 D020 D033 D040 D052 D054 D057 D105 D100 D101 D110 D111 Annulus Annulus Annulus round round square 0.004 square 0.059 thermal thermal oval rectangle rectangle draw draw 0.004 x 0.000 0.005 x 0.000 0.063 x 0.000 0.004 0.059 0.090 0.120 0.090 0.060 0.075 0.004 0.005 x x x x x 0.060 0.080 0.030 0.075 0.060

The D code determines the tool number, then follows the aperture shape afteratleastoneblankcharacter,thenthedimensionsaredefined. Allvaluesdefaulttoinches,unlessaunitisadded,forexample0.010inor 0.8mm. Commentsaremarkedwithsemicolonsatthebeginningofaline,orwitha semicolonfollowingablankcharacter.

291

9 Preparing Manufacturing Data

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. ThermalorAnnulusaperturesinSupplylayersareonlyemulatedwithDraw aperturesiftheEmulateThermalorEmulateAnnulusoptions,respectively,is activated. Thefilename.gpiindicateswhichaperturesareemulated.

292

Chapter 10 Appendix
10.1 Layers and their Usage
In Layout and Package Editor
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 Top Tracks, top side Route2 Inner layer (signal or supply) Route3 Inner layer (signal or supply) Route4 Inner layer (signal or supply) Route5 Inner layer (signal or supply) Route6 Inner layer (signal or supply) Route7 Inner layer (signal or supply) Route8 Inner layer (signal or supply) Route9 Inner layer (signal or supply) Route10 Inner layer (signal or supply) Route11 Inner layer (signal or supply) Route12 Inner layer (signal or supply) Route13 Inner layer (signal or supply) Route14 Inner layer (signal or supply) Route15 Inner layer (signal or supply) Bottom Tracks, bottom side Pads Pads (through-hole) Vias Vias (through all layers) Unrouted Airlines (rubber bands) Dimension Board outlines (circles for holes) *) tPlace Silk screen, top side bPlace Silk screen, bottom side tOrigins Origins, top side (generated autom.) bOrigins Origins, bottom side (generated autom.) tNames Service print, top side (component NAME) bNames Service print, bottom s. (component NAME) tValues Component VALUE, top side bValues Component VALUE, bottom side tStop Solder stop mask, top side (gen. autom.) bStop Solder stop mask, bottom side (gen. Autom.) tCream Solder cream, top side bCream Solder cream, bottom side tFinish Finish, top side bFinish Finish, bottom side tGlue Glue mask, top side bGlue Glue mask, bottom side tTest Test and adjustment information, top side bTest Test and adjustment inf., bottom side tKeepout Restricted areas for components, top side

293

10 Appendix
40 41 42 43 44 45 46 47 48 49 51 52 bKeepout tRestrict bRestrict vRestrict Drills Holes Milling Measures Document Reference tDocu bDocu Restricted areas for components, bottom s. Restricted areas for copper, top side Restricted areas for copper, bottom side Restricted areas for vias Conducting through-holes Non-conducting holes Milling Measures Documentation Reference marks Detailed top screen print Detailed bottom screen print

In Schematic, Symbol, and Device Editor


91 Nets 92 Busses 93 Pins 94 95 96 97 98 Symbols Names Values Info Guide Nets Busses Connection points for component symbols with additional information Shapes of component s Names of component symbols Values/component types Additional information/hints 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 commandon thecommandline. Ifyou wanttocreate,forexample,layer 200,Remarks,typein: LAYER 200 Remarks TosetupcolorandfillstyleofthislayerusetheDISPLAYcommand.

10.2 EAGLE Files


EAGLEusesthefollowingfiletypes:
Name *.brd *.sch *.lbr *.ulp *.scr *.txt *.dru *.ctl *.pro Type of file Layout Schematic Library User Language Program Script file Text file (also other suffixes) Design Rules Control parameter for the Autorouter Autorouter protocol file

294

10.2 EAGLE Files


*.job *.b$$ *.cam *.b#x *.s#x *.l#x *.b## *.s## *.l## Autorouter job Backup file of brd after finishing the Autorouter CAM Processor job Backup file of BRD (x Backup file of SCH (x Backup file of LBR (x Automatic backup file Automatic backup file Automatic backup file = 1..9) = 1..9) = 1..9) of BRD of SCH of LBR

EAGLEforLinuxonlycreatesandrecognizeslowercasecharactersinfile endings!

10.3 EAGLE Options at a Glance


Inordertooutputmanufacturingdata,forinstance,withtheCAMProcessor, EAGLEcanbestarteddirectlyfromaterminalwindowunderLinuxandMac, orfromaconsolewindowunderMSWindows. SinceWindowsprogramsgiveuptheirconnectiontotheconsoletheyhave beenstartedfrom,youcanusethefileeaglecon.exe(locatedintheeagle\bin subdirectoryofyourinstallation)ifyouwanttoruntheCAMProcessorfrom abatchfile. This version of EAGLE is exactly the same as the eagle.exe, except thatit doesn'tdisconnectfromtheconsole. Typeeaglecon?foralistofCAMProcessoroptions. Thefollowingoptionsarepermitted:
-C -Dxxx -Exxx -Fxxx -N+ -O+ -Pxxx -Rxxx -Sxxx -Wxxx -X-a-c+ -dxxx -e-f+ -hxxx -m-oxxx -pxxx -q-r-sxxx 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 Aperture wheel file Execute CAM Processor Emulate annulus 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

295

10 Appendix
-t-vxxx -u-wxxx -xxxx -yxxx emulate Thermal Pen velocity rotate output 180 degrees Page width (inch) Offset X (inch) Offset Y (inch)

Where:
xxx stands for further data, e.g. file name as with -W or a decimal number as with -s. Examples: -W /home/user/eagle/project/aperture.whl -s 1.25 - Default for option is off + Default for option is on Example: -e Aperture Emulation on -e+ ditto -e- Aperture Emulation off Flag options (e.g. -e) can be used without repeating the '-' character: -eatm Aperture emulation on, annulus and thermal emulation on, mirror output -ea-t+ Aperture emulation on, NO annulus emulation, thermal emulation on Defining tolerance values: If there is no sign, the value applies to either direction, + signifies a positive tolerance, a negative tolerance. adjusts the draw tolerance to 10 % adjusts the draw tolerance to +10 % and -5 %

-D0.10 -D+0.1 -D-0.05

Notesontheindividualoptions: C Executeacommand AfterloadinganEAGLEfilethegivencommandwillbe executedintheEditorwindow'scommandline. Seealsohelpfunction,CommandLineOptions. DrawTolerance(0.1=10%): Default:0 DrillTolerance(0.1=10%): Default:0 FlashTolerance(0.1=10%): Default:0

D E F

296

10.3 EAGLE Options at a Glance


N Suppressmessages: Thisoptionsuppresseswarningsorotherinformationintheconsole window(DOSbox,Linuxconsole). ThusCAMjobsrunwithout interruption.Default:off RouteOptimizing: Withthisoptiontherouteoptimizingfortheplottercan beturnedonandoff.Default:on PlotterPen(layer=pen): Ifyouuseacolorpenplotter,youcandeterminewhichlayer istobedrawninwhichcolor.Example:P1=0P15=1 DrillRackFile: Withthisoptionyoudefinethepathtoafilewiththedrill configurationtable. ScriptFile: Whenopeningtheeditorwindow,EAGLEexecutesthe eagle.scrfile.Thisoptionallowsadifferentnameordirectory tobeselectedforthescriptfile.Thescriptfileisnotreadby theCAMProcessor. ApertureWheelFile: Thisoptiondefinesthepathtothewheelfilewhichshould beused. CallscommandlineversionoftheCAMProcessor AnnulusSymbolEmulation: Default:off PositiveCoordinates: IfthisoptionissettheCAMProcessorcreatesdatawithoutnegative coordinates.Thedrawingismoved tothezerocoordinates. Thisoptioncanbeturnedoffwiththeoptionc. Pleasebecarefulwiththisoption,especiallyifyouusemirrored androtateddrawings,becausenegativecoordinatesnormally causeproblems.Default:on Device: Thisoptiondeterminestheoutputdriver. eagle -d? displaysalistoftheavailabledrivers EmulateApertures: Ifthisoptionisselected,aperturesthatdonotexistare emulatedwithsmallerapertures.Ifthisoptionisturnedoff, noaperturesareemulated.ThermalorAnnulusaperturesare notemulatedeither.Default:off FillPads: ThisoptioncanonlyworkwithgenericdeviceslikePostscript. Default:onforalldevices

X a c

297

10 Appendix
h PageHeight(inch): Printableregionintheydirection(ininches).TheYdirection isthedirectioninwhichthepaperistransported.Seealso thewparameter. MirrorOutput: Default:off. OutputFileName PenDiameter[mm]: EAGLEusesthePendiametermeasurementtocalculatethe numberoflinesrequiredwhenareasaretobefilled.Default:0 QuickPlot: Generatesadraftorfastoutput,whichonlyprintstheframesof theobjects.Default:off RotateOutput: Rotatestheoutputby90degrees.Default:off ScaleFactor: Thosedeviceswhichcannotchangetheirscalefactor(inthe menuoftheCAMProcessor),haveascalefactorof1.Default:1 EmulateThermals: Worksonlyincombinationwithe+.Default:off RotateOutputby180degrees: Incombinationwithr+onecanrotateby270degrees.Default:off PenVelocityincm/s: Thisoptionisforpenplotterssupportingdifferentspeeds.Toselect aplotter'sdefaultspeed,useavalueof0.Default:0 PageWidth(inch): Printableareainxdirection.Seealsoh. OffsetX(Inch): Thisoptioncanbeusedtomovetheoriginofthedrawing. Default:0 OffsetY(Inch): Default:0

m o p

r s

t u v

w x

Exampleforstartingeaglecon.exe: eaglecon -X -dgerber -Waperture.whl -oboard.sol -D-0.1 name.brd pad via bottom ThisgeneratesaGerberfileboard.solwhichcontainsdataofthelayersPads, Vias,andBottom.Drawaperturesmayhaveanegativetoleranceupto10%. Allparametershavetobewritteninacommonline! Pathsthatincludespacecharacters,mustbesetintosinglequotes!

298

10.4 Configuration of the Text Menu

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 'Grid { \ Metric { \ Fine : Grid mm 0.1; | \ Coarse : Grid mm 1; \ } | \ Imperial { \ Fine : Grid inch 0.001; | \ Coarse : Grid inch 0.1; \ } | \ On : Grid On; | \ Off : Grid Off; \ }' \ 'Display { \ Top : Display None Top Pads Vias Dim; | \ Bottom : Display None Bot Pads Vias Dim; | \ Placeplan { \ Top : Display None tPlace Dim; | \ Bottom : Display None bPlace Dim; \ } \ }' \ '' \ 'Fit : Window Fit;' \ Add Delete Move ';' Edit Quit \ ;

Thebackslash\attheendofalineshowsthatacommandcontinuesinthe next line. Here the MENU command runs from the first line after the commenttothelastline. Thepipesign|hastobeusedifacommandwithinbraces{}isfollowedby anothercommand.

Textmenufrommenu.scrintheLayoutEditor

299

10 Appendix

10.5 Text Variables


Text variable >NAME >VALUE >PART >GATE >SHEET >SHEETS >SHEETNR >DRAWING_NAME >LAST_DATE_TIME >PLOT_DATE_TIME Meaning Component name (eventually + gate name) 1) Component value/type 1) Component name 2) Gate name 2) Sheet number of a circuit diagram in the form of, for example 1/3 3) Total nu>SHEETNRmber of sheets 3) Current sheet number 3) 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 stores various settings defined during the work withEAGLE.Amongthem youfindsomeexpertsettingsthatcanbeadjustedinthisfiledirectly.The mostimportantofthemarelistedhere. Sinceversion5.2itispossibletochangetheseparameterswiththehelpof the SET commandinthecommandline.Pleaseseethehelpfunctionabout theSETcommandfordetails.

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, the user can enable a dialog that allows him toforce the editortoperformForward&BackAnnotation,eveniftheERCdetectsthatthe filesareinconsistent.Thiscanbedonebyappendingtheline:
Erc.AllowUserOverrideConsistencyCheck = "1"

300

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.

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 301

10 Appendix
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, ifyou preferthecursortobe repositionedtothe pointwhereithasbeen beforeacontextmenuinthedrawingeditorwasopened,addtheline:
Option.RepositionMouseCursorAfterContextMenu = "1"

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

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

302

10.7 Error Message

10.7 Error Message


When Loading a File
Restring smaller than in older version

Paddiameterchanged
InEAGLEversionprior4.0thepaddiameterhasbeenfixedinthePackage definition. Duetothegiven values intheDesign Rulesthepaddiameters havechanged. Pleasecheckand,ifrequired,changetheRestringsettings.RuntheDesign RuleCheckinanyratetorecognizepossibleclearanceerrors.

Library objects with the same names

Updatereport:Objectswiththesamename
TheTextEditorshowsthismessageifyouattempttoloadanolderfile(BRD orSCH)thatcontainsdifferentversionsofalibraryelement.Inthiscaseit added @1, @2, @3... to the names of the Devices so that they can be identified. ThismessagecanalsoappearifyouuseCUTandPASTEcommands.

303

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.

304

10.7 Error Message

Updatereport:Padreplacedwithahole

Skipped unsuitable objects


Ifthismessageisshown,whileyouareloadingafileorcopyingobjectswith CUT and PASTE from one file into another, the data structure contains objectsthatdonotbelongtothecurrentfiletypeandcan'tbedisplayed.For example,atextorrectanglethathasanonorthogonalangleandisplacedin auserdefinedlayer(above100)intheLayouteditorwhichshouldbepasted intoa schematic.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.

305

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... Ifthe message Please define replacement for layer xxx inlayers.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.

306

10.7 Error Message

In the CAM Processor


Polygon may cause extremely large plot data

Polygonswithwidth0
Thismessageappears,ifyouselectedalayerintheCAMProcessorwhich containsasignalpolygoninthelayoutwhoselinethicknessislessthanthe resolutionoftheselectedoutputdriver(Device). Inordertoavoidunnecessarylargeplotfilesyoushouldassignahighervalue tothepolygon'slinewidth(CHANGEwidth).

In the Light or Standard Edition


Can't perform the requested action

Light/Standardlimits
This message is shown if the limits of the Light or Standard Edition are exceeded. This can be the case, for example, if you want to place a part outside the Layout size limits, if you want to start the Autorouter, orset parameters for the Followme router, althoughtherearepartsoutsidethe Layoutlimits,oryouwanttodefineanotallowedinnerlayer.

307

10 Appendix

This page hasbeen leftfree intentionally.

308

Index

A
Action toolbar Addlevel Always Can Must Next Request Airwire Calculate Display/hide Alias Deleting Alpha blending Alt-X Annulus symbol Dimension In supply layer Annulus Symbol Aperture Aperture File Attributes Defining For elements Global Automatic Naming Autorouter Backup Blind vias Bus router Continue existing job Control file, ctl Control parameter Controlling Cost factors Design rules Features Hints Information Interruption Layer selection Load settings Log file Memory requirement Menu Micro via 48, 50 237 244, 246 244 244, 245 244 244 22 70 70 91 93 101 42, 60 136 136 23 290 264 58, 121, 240 122 121 93 70 191 163 178 186 193 186 178 186 179 177 195 192 191 182 184 193 181 183 191

Min. distance, clearance 179 Min. routing grid 177 Module 34 Multilayer board 182 Net classes 179 Optimization 179 Placement grid 180 Polygon 189 Polygons as supply 191 Preferred direction 182, 184 Restarting 186 Restricted area 183 Ripup/Retry 190 Routing grid 180 Routing pass 179 Save settings 184 Select signals 185 Single-sided boards 195 Smds and supply layer 195 Status display 192 Supply layer 161, 182, 190 Track width 179 Unreachable Smd 181, 182

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 101 44, 295 103 268 23 132 162 96 142 144 139 251 141 128 140 130 66 158 174 139

309

Index
Prior considerations Routing manually Board Manufacture Bubble help Buried via 127 147 263 46, 48 23 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 DISPLAY DRC EDIT ERC ERRORS EXPORT FRAME GATESWAP GRID GROUP HELP HOLE INFO INVOKE JUNCTION LABEL LAYER LOCK MARK MENU MENU MIRROR MITER

247 131 85 46 100 81 85 48, 81 49 299 48 55, 66, 76, 209 57, 69 59, 83, 99 58, 70, 77 70 50, 139 57, 118 54, 65, 76, 205 57, 69, 85, 89 59, 117 59 76, 210, 232 53, 64, 254 54, 65 54, 65 74, 77 52, 63, 92 71, 152 59, 72, 110 58, 71, 124 71, 154 59, 85, 95 59, 249 55, 210 50 53, 64 49 70, 82, 247 51, 63, 132 56, 112 57, 114 58, 114 59, 294 66 52, 63, 256 60 99 53, 64, 82, 144, 250 56, 67

C
CAM Job Define drill job Description Excellon.cam Extending gerber.cam gerb274x.cam gerber.cam Output parameter CAM Processor 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 Supply layer Tolerance UNC notation Vias Caption 287 284 273 285 272 274 280 77 282 276 277 288 265, 277 267 286 288 307 279 282 277 277 97 276 284 79 277 281 282 266 275 271 282 277 277 50, 78 295 276, 286 283 281 279 282 172

310

Index
MOVE 52, 63, 82 NAME 55, 66, 76 NET 57, 114 OPEN 60 OPTIMIZE 67 PACKAGE 60, 76, 252 PAD 73, 202 PASTE 54, 65 PIN 90, 206 PINSWAP 55, 66 POLYGON 57, 69, 149 PREFIX 76, 211 PRINT 60, 171 QUIT 60 RATSNEST 70 RECT 57, 69 REDO 51 REMOVE 60, 72, 110, 260 RENAME 73, 260 REPLACE 55, 66, 146 RIPUP 68, 148 ROTATE 53, 64, 143, 255 ROUTE 67, 147 RUN 51 SCRIPT 51, 95 SET 60, 100, 300 SHOW 52, 63 SIGNAL 70 SMASH 55, 67, 112, 144 SMD 73, 202, 221 SPLIT 56, 67 TECHNOLOGY 61, 77, 234 TEXT 57, 68 UNDO 51 UPDATE 61, 170, 260 USE 50, 213 VALUE 55, 66, 76, 211 VIA 70, 82, 168 WINDOW 51 WIRE 56, 68 WRITE 61 Component Add from library 55 Attribute 122 Changing Technology 146 Copying by Drag&Drop 257 Create symbol 205 Creating 75, 201 Cross-reference 247 Description 205 Keepout 205 Labeling 204 Lock 66 Name 204 On both sides 144 On bottom side 202, 250 Output list 96 Package editor 204 Placement grid in board 139 Prefix 211 Replace device 146 Replace package 144 Replacing 55 Rotation 142 Separate name/value 55, 67 Update 170 Value 55, 66, 204 Configuration Commands 99 eagle.scr 105 eaglerc, eaglerc.usr 106, 300 of EAGLE 99 User interface 99 Connector 245 Consistency check 58, 71, 99, 124 Consistency lost 175 Contact cross reference >CONTACT_XREF 116 >XREF 247 Context menu 41, 82 Control Panel 37 Options menu 43 Control parameters 186 Coordinates Display 48, 52, 63 Entering 88 Modifier 89 Polar 88, 256 Relative 88, 256 Select group 89 Copper plane 149 Core 23, 162 Cost factors 186 Cream mask 137 Cross reference For contacts 116, 247 For nets 58, 114 Specify format 116 Ctrl key 85 Current units 90 Cursor appearance 46

311

Index

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 Desktop Publishing Device Assign Package Attributes Build Device Set Copying Creating Delete Description Driver Editing Gate names Placeholder in name Prefix Remove from LBR Rename Replacing Technologies Value on/off Device Set Directories Distance Documentation Documentation Export image Print Documentation field Drag&Drop Draw lines 78 249 96 65 23, 71 155 152 139 155 139 71 158 40, 128 131 71 130 129 132 267 23 210 240 229 257 209 72 212 288 72, 74 210 230 211 260 73 55, 146 234 76, 211 23 43 131 268 96 203 249 37 56

Drawing area Alias Display last Panning Drawing frame Drawing name DRC See Design Rule Check Drill Diameter Legend Non-plated Plan Plated Symbols Drill data Blind/buried vias Configuration file drillcfg.ulp Error: Drills missing EXCELLON EXCELLON_RACK Info file Leading zeros Multilayer boards Rack Separate rack file SM1000 SM1000/SM3000 SM3000 Tolerance Units Dxf data export

92 51 51 110, 249 249 23 152 23 247 270 265 269 265 270 265 280 287 287 288 265 287 288 289 280 287 287 265 287 265 288 289 97

E
eagle.def eagle.epf eagle.scr eaglecon.exe eaglerc, eaglerc.usr Edition Light Professional Standard Electrical Rule Check Approve errors Electrical schematic Electrical Schematic 288, 290 107 105 295 106, 300 36 34 36 23, 58, 124 125 247 116

312

Index
Elongation Encapsulated PostScript Environment variable ERC Error messages CAM Processor Correcting DRC - Meaning of File prior version 2.60 In a library Loading a file excellon.cam Exit program Expert options Export data 135 267 43 23 307 152 155 305 306 303 287 42 300 94 Place particular Gateswap Gerber Extending gerber.cam Fixed aperture wheel Supply layer Units Gerber device RS-274D RS274X Gerber output Annulus aperture 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 Supply layers Wheel Wheel, example file 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 56 119 285 290 279 289 264 264 283 290 290 283 290 283 292 286 290 274 274 274 286 275 264 279 290 291 238 96 98 90 92 91 139 91 104 202 53, 64 53 53 255

F
Fiducials File Backup Edit New Open Print Save Film Generation Fixing hole Follow-me Router Font Checking No vector error Persistent in drawing Typeface Vector Forbidden area Forward&Back Annotation Consistency lost Function keys 271 295 59 41 42, 50 50 50 266 246 23, 196 139, 157 157 45 57, 68 45 146 23, 98 175 59, 83, 99

G
Gate Gate Hidden supply 23, 230 112

H
Help function History function 46, 49 82

313

Index
Hole Diameter Min. diameter HOME variable 23 247 132 43 Attributes Composition of your own Copy elements Copying by Drag&Drop Create new Description Device creating Drop Important comments List contents Open Output script file Package creating Package variants Remove element Rename element Search for elements Summary Symbol creating Update Update Package Updating older files Use Library Editor License Extending Multiple Users New Installation Light edition Line Type Logo import 240 259 256 257 215 212 209 111 22 95 60 96 202 231 260 260 110 38 205 170 260 29 39, 50 71 29 30 25 34 24 68 98

I
Import In-circuit tester Inner layer Installation Invalid Polygon 94 267 159 25 156

J
Job Junction Set automatically 274, 284 104

K
Keepout 156, 205

L
Layer Abuse Alias definition Available Creating Display/hide Hide unused Inner Power supply Qty. of signal layers Setup Signal Stack Thickness Usage Layout Editor Library 156 92 100 59 52, 63 100 159 159 130 130, 161, 163 159 24, 162 131, 164 293 33, 62

M
Magnetic pads Menu Configure Text menu Contents parameter menu Menu bar Micro Via Definition Restring, diameter Set in SMD Milling Contour Cutout in board Prototype board Milling machine Mounting hole 148 299 100 48 24, 169 132 169 251 141 266 266 70, 246

314

Index
Mouse click Right click Mouse keys Mouse wheel zoom Multilayer boards 4-Layer 6-Layer 8-Layer Blind, Buried vias Through vias Via display 87 89 61 45 158 163 165 167 162 161 163 Description Editing In use New Radial pad arrangement Remove from LBR Rename Rename variant Replacing Rotation Update in LBR Variants Pad Appearance in Editor Aspect ratio Automatic naming Change shape Diameter Diameter in inner layer Display mode Display name in board First Form Layer color Magnetic pads Oblong hole Offset pad Radial arrangement Restring, Diameter Shapes Solder stop mask Stop flag Thermals flag Palette Panelize boards Panning Parameter toolbar Parts list Paste buffer Path specifications Pbm file PDF output Pgm file Photoplotters Pick-and-place data Pin Automatic naming Connection point Direction Function Inverted signal Labeling 205 72, 73 306 73 256 260 73, 260 231 66 255 259 231 24 136 135 93 205 202 134 104 104, 217 135, 216 135 136 148 251 135 256 132 216 137 217 137, 217 101 174 51 48, 50 96, 268 54, 65 43 96 173 96 290 267 24 94 114, 208 207 206 227 207

N
Name Automatic naming Forbidden characters Length Net Connection point Cross reference Net classes Netlist Netscript 94 94 93 24 57 58, 114 117 95 96

O
Object Move Properties Show properties Oblong holes Output Drawing Image 52, 63 51, 63 46 251 59, 60 96

P
Package Assigning Changing Copying Creating new variant Delete Delete variant 24 210 145 254, 256 251 72 253

315

Index
Length Name Orientation Properties Same names Superimposed Swap Visible Pin/Pad connection Pin/Pad list Pinswap Placeholder For attributes >CONTACT_XREF >DRAWING_NAME >GATE >LAST_DATE_TIME >NAME >PART >PLOT_DATE_TIME >SHEET >SHEETNR >SHEETS >VALUE Placeholder texts Plated-through hole Png file Polar coords. Polygon Calculation on/off Invalid Isolate Orphans Outline mode after Ratsnest Pour Rank Spacing Thermal connector width Thermals Width Postscript PostScript Power supply Power supply layer Ppm graphic file Prefix Prepreg Print out Date/time Drawing Options 207 208 206 206 237 127 55, 66 207 210, 233 96 119 243 116, 250 249 243 249 208, 243 243 250 249 250 250 208, 243 300 70 96 256 104 152 151 151 152 150 150 151 151 151 150 173 266 120 159 96 76 24, 162 250 171 172 Page limit PDF file Printing Product information Product registration Professional edition Project Close Create new Directory Edit Description File, eagle.epf Mangement Open recent p. Prototype Manufacture 172 173 60 47 46 34 42 41, 107 43 41 107 40 42 266

R
Rack file Ratsnest Registration Relative coords. Relay Repetition points Restricted area Restricted area For components Restring RGB value Roundness Rubber band 24, 287 24 46 256 245 87 146, 246 205 24, 132 100 135 22

S
Schematic Checking Create sheet Creating Delete sheet Draw nets Drawing frame Editor Global attributes Grid Merge 124 50 109 60 114 110 33 121 110 127

316

Index
More than one sheet 126 New sheet 110 Points to note 127 Remove sheet 50 Sheet preview 48 Sheet preview on/off 126 Sort sheets 126 Various supply voltages 120 Script files 95 Comments 95 defaultcolors.scr 103 Syntax 85 Select factor 104 Selecting objects 61 Serial number 47 Sheet Delete 110 Max. number of 33 New 110 Sorting 48, 126 Signal 24 Display name 147 Signal layer 159 Silkscreen 203 SMD Automatic naming 94 Cream flag 222 Define size 221 Parameter 202 Placement 221 Round shape 221 Roundness 134 Solder cream mask 137 Solder stop mask 137 Stop flag 222 Thermals flag 137, 222 Snap length 104 Solder cream mask 137 Special characters 94 Standard edition 34 Status line 48 Stop frame 137 Superimposed pins 127 Supply Addlevel for gates 244 Autorouting supply layer 190 Invisible pins 236 Layer with polygons 159 Symbol 24, 120, 238 Various voltages 120 Voltages 236 Swaplevel Symbol Copying Creating Delete Editing In use Labeling New Power supply Remove from LBR Rename 55, 119, 208 24 256 205 72 72, 74 306 243 74 228 260 73

T
Technologies 233 Technology Changing 146 Termination Of command 51 Text Bar over text 94 Change size 57, 68 Editor 79 Font 57, 68 HTML text 205 In copper layer 271 Inverted in copper layer 69 Menu 60, 99, 299 Min. visible size 104 Ratio 204 Separate from component 144 Special characters 94 Spin flag 142 Upside down 143, 218 Variables 249, 300 Thermal symbol Dimension 136 In polygon 151, 159 In supply layer 136, 161 Tif graphic file 96 Title bar 48 Tool tips 48 Track Bend mode 149 Decompose 148 Delete all 65 Min. width 132 Set width automatically 104 Smooth wire bends 149

317

Index
Tree view Update Delete 253 Using modified one 254 Vector font 45 Checking 139 Via 24 Appearance in Editor 136 Blind 163 Blind via ratio 132, 169 Buried 162 Diameter display with INFO 132 Diameter in inner layer 134 Layer color 136 Length 168 Limit 138 Micro via 163, 169 Restring, Diameter 132 Shape in inner layer 135 Solder stop 138 Thermal symbol 136

42

U
UNC notation Undo buffer Unsmash texts Update Check for Update User guidance User interface User Language User Language Program bom.ulp Calculate milling contour cam2dxf.ulp cam2print.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 Start ULP unidat.ulp 31 103 67 47 46 44 24, 97 268 266 174 174 268 270 280 97 268 268 40 266 268 268 266 51 268

W
Wheel file Wheel mouse Window Fetch into foreground Menu Number Store position Wire Bend mode Style 24 45 84 46 46 46 24 149 68

V
Value Placeholder text in package Placeholder text in symbol V. for Device V. is always Device name Warning Variable $EAGLEDIR $HOME Variant Creating new 218 227 234 301 300 43 43 251

X
Xbm graphic file Xpm graphic file XREF label 96 96 115

Z
Zoom factor limit Zoom in/out 45 51

318

You might also like