White paper Contents Tool-chains vs. Altium’s Platform Approach 1 Transition from Eagle to Altium Designer 2 File Export 2 Eagle Schematic Export 3 Eagle PCB Export 3 Importing the Eagle Designs into Altium 4 Importing the Eagle Libraries into Altium 10 The Altium Designer Environement10 Getting Help 10 Component Linking through Unique IDs 18 See Also 19 Moving to Altium Designer from Eagle Tool-chains vs. Altium’s Platform Approach Traditionally, board-level design, FPGA design, simulation (SPICE and Signal Integrity) and embedded software development have been treated as independent processes or tool-chains. Moving into the future, this point tool approach will increasingly present a barrier to efficient electronic product development. An alternative approach is a unified design platform that allows you combine PCB, FPGA and embedded software development into a single executable. This next generation solution to electronic design has shown to significantly boost productivity when compared to the tool-chain approach. This diagram illustrates the architecture of the software platform. The foundation is a unified data model adjacent to a data management layer. This combination brings significant data management capabilities to the design process. A hierarchical project combines PCB, FPGA and embedded software development into a single view shared by the entire design team. Another advantage of the platform architecture is the inclusion of IP which is fully integrated into the design process. The platform approach eliminates all the tool integration and data management headaches creating more time for product innovation. This document guides you through the process of moving from Eagle to Altium Designer. 1 Transition from Eagle to Altium Designer Even though Altium Designer does not contain a native translation wizard for CadSoft's Eagle® you can still convert complete Eagle® designs, including Eagle® schematics and PCB files using available Eagle® ULP scripts. CadSoft, Eagle ULP scripts (User Language Program) export to an earlier Protel ASCII format which can then be opened in Altium Designer. These scripts use the file extension [*.ulp]. This application note outlines the process of exporting Eagle design data and importing it into Altium Designer. It also covers some differences in the two design environments, which will help you to get a high quality conversion. The translation process will follow these steps which are described in detail in the sections following: 1) Exporting the design data from EAGLE Schematic PCB 2) Creating an Altium Designer PCB project Adjust project settings Perform manual adjustments/cleanup of schematics and PCB 3) Add translated design files to the Altium Designer PCB Project Synchronize Design Data Save revised files File Export Exporting Schematics and PCBs (*.Sch and *.Brd design data) from Eagle to the Protel/Altium Format is quite easy. You simply have to start Eagle, open the desired Eagle project or the individual design file and start the appropriate ULP file from either the menu or from the workspace icons as shown in Figure 1. There are two different ULP files that you need to download. The eagle2ad_sch.ulp is for converting the schematic designs and the export-protelpcb. ulp is for converting the PCB layouts. Both files can be downloaded from the CadSoft website at the following link: http://www.cadsoftusa.com/downloads/user-language-programs/?language=en These scripts can also be located on the AltiumLive forums by searching on ULP. Figure 1. Starting a ULP in Eagle Important Note: these export scripts were not developed by Altium and are not an Altium product. The scripts referred to in this document have been proven to work but note there are other similar scripts in circulation. 2 Eagle Schematic Export To export the schematic(s) Go to File>>Open , Browse to the Eagle "Schematic" to open the desired design file and then go to File>>Run, Browse to the eagle2ad_sch.ulp. The script will generate a separate schematic document for each sheet in your design . The documents will be numbered like those in the original Eagle schematic. NOTE: Altium Designer uses 10mils as the minimum grid in the schematic. Matching this grid setting in the Eagle schematic before running the translation script will yield the best results. Eagle PCB Export To export the Eagle layout Go to File>>Open, Browse to the Eagle "PCB" to open the preferred design file and then go to File>>Run, Browse to the export-protelpcb.ulp to invoke the script. NOTE: before executing the script check the default layer assignment, which is hard coded in the export-protelpcb.ulp script. This can be found in the "Layer Naming" section of the script - see below for code example. If the default layer setup is not suitable then the layer naming section has to be modified to reflect the correct layer stack up/assignment. // Layers Naming B.layers (L) layer [L.number] = L.name; layer [LAYER_TOP] = "TOP"; layer [LAYER_BOTTOM] = "BOTTOM"; layer [LAYER_PADS] = "MULTILAYER"; The layer names listed below are the names to be used in Altium Designer when mapping the layers names in the script: SIGNAL INTERNAL MECHANICAL LAYER PLANES LAYERS MASK LAYERS SILK SCREEN OTHER TOP PLANE 1 MECHANICAL1 TOPPASTE TOP OVERLAY DRILLGUIDE MID1 ... ... BOTTOMPASTE BOTTOMOVERLAY KEEPOUT ... PLANE16 MECHANICAL32 TOPSOLDER DRILLDRAWING BOTTOMSOLDER MULTILAYER MID30 BOTTOM Due to the differences in data structures, watch out for elements that make use of flat caption for track or circle ends. Altium Designer does not support this and will automatically replace them with round captions The ULP will generate a Protel ASCII design file. Altium is capable of importing this directly, but it is recommended to resave the design in the native Altium binary design format. Refer to the "Importing Eagle Designs into Altium" section of this document for step by step instructions. 3 To date the following are known issues regarding the PCB export ULP: 1) There is no Board Header Record 2) The Layer designators in the inner layers are not correctly shown. It is possible to search for these incorrectly shown Layer designators with a text editor (e.g., Notepad) and to replace/rename these discrepancies in the exported ASCII file. (e.g. Route1 –> Mid1) Mid1 is the designator recognized by Altium Designer. 3) After the PCB Import, design rules must be made and checked since the rules are not exported as part of the ASCII file . 4) In some cases plane layers may be omitted. However, these are easy to create in Altium Designer as long as no split planes were present. 5) There are cases where Overlay-Objects from components end up on the wrong layers. You can unlock and select the component primitives, and then change layers for any discrepancies. 6) Some pads may come in as Pad Designator 1. This will have to be corrected if this is ever to map to schematic symbols. However, all primitives for a component are at least grouped into a component. 7) Some tracks may come in without a signal name assignment. They can be identified as tracks as signed to "No Net". 8) The script fails if a percent sign (%) is included in any text (such as a Comment with "1000uF 5%"). This is because the script sends this to Printf() as a format string, which interprets it as the start of a new field for which there is no corresponding parameter passed. Note: Some of these issues may have been addressed in a newer version of the ULP script files. Importing the Eagle Designs into Altium The Schematic and the PCB document(s) generated by the ULP scripts can be directly loaded into and used by Altium Designer. However, these design files are referred to as "Free Documents" and need to be linked together through a PCB project file (.prjPCB) in order to link the schematic and PCB documents together. The set of design documents that make up the project are brought together by the PCB project file. The project file stores all project-relevant settings, including a link to each document in the project, and all project-relevant options. Each document in the project is stored as a separate file, Figure 2. Drill down from the File menu to create a new project. 4 which is linked to the project via a relative reference for files on the same logical drive, or an absolute reference for files on a different logical drive. Outputs generated from the project are also referenced in the project file. The exact set of Project Options stored will depend on the project type. Creating a Altium PCB Project You can create a new project in more than one way. 1) From the File menu, drill down to create a new project. 2) Click on the required entry in the New section of the Files panel. If this panel is not open, click on the System button at the bottom right of the main application window and choose Files from the pop-up menu that appears. Note: that the project file only exists in memory when first created, use the Save or Save As commands to save it with a suitable name in the required location. Configuring PCB Project Options Figure 3. Creating a New Project from the Files Panel Project settings are configured on the Options Tab of the Project Options dialog. You can configure these settings to enable Altium Designer to work/behave in a similar fashion to Eagle. Figure 4. Project Options 5 You can access this from the Projects menu on the main menu bar (Project>>Project Options), or by rightclicking on the project name in the Projects panel. The options available to you include: • Compiler error check settings • Design synchronization settings • Design compiling settings • Location of output files • Multi-channel annotation settings Other project settings stored in the project file include: • Schematic annotation settings • Output settings such as reports, print, Gerber, and so on Note that these are the output settings accessed via the schematic or PCB editor menus, not the output settings defined in an Output Job document Below are recommended changes to be made in the project options: • Uncheck Component Classes and Generate Rooms in the Class Generation Tab. • Set the Net Identifier Scope in the Options Tab to Global. • All other Options can stay with their default setup. After closing the Project Options Dialog the already exported schematic and PCB data has to be added to the project. For doing this right-click on the project in the Projects Panel and choose Add Existing to Project. In the appearing Dialog choose the relevant data and open them. As usual in windows, multiple documents can and should, be chosen at a time. Right click on the project file and Save your changes. Maintaining Schematic Due to some architectural differences between Altium Designer and Eagle some design corrections have to be made manually: Unique IDs Unlike Eagle; Altium Designer links the logical and physical component representations through a Unique ID and not Refdes. These IDs need to be reset in the schematic such that every translated symbol is assigned its own unique instance identifier. To reset the IDs go to Tools>>Convert>>Reset Component Unique IDs in the schematic editor. The synchronization process called Component Links, which associates these IDs between schematic and layout, will be covered later in this document. For more information regarding Component Links refer to Component Linking Through Unique IDs Section in this document. 6 Unwanted T Junctions Nets that are routed over another net in Eagle can be interpreted by the export script as T junctions in the Protel ASCII design file. Altium Designer automatically adds junction points to T-junctions, which creates an unwanted short in the schematic. You can either redraw the net connection or drag the net to remove or correct the short. Floating Net Labels Before synchronizing the schematic and PCB, make sure there are no floating schematic errors. Compiling the project (right mouse-click on the project in the Projects Panel >> Compile) will run the ERC engine, which will check for electrical rule violations and schematic syntax errors. The most common error in Eagle schematics is float net labels. Net labels are treated as separate objects in Altium Designer. You must ensure that the net label object is placed in such a way that it's connected to the net it's associated with. If the net label is placed too far from the net, the net-naming association will not get created, which will cause the floating net label error. Figure 5: Automatic junction causing shortcut Figure 6: Fix for the unintended shortcut If the messages panel does not open automatically, it can be activated over the menu View>>Workspace Panels>>System>> Messages. Figure 7: Floating Net label and corresponding Warning Beside the possible floating net label messages there may be other warnings and/or errors that should be addressed. Refer to the following link for further guidance on resolving schematic compilation warnings/ errors: http://wiki.altium.com/display/ADOH/Project+Compiler+Error+Reference 7 Power Ports You can spend some additional but optional work replacing Power Ports and Schematic Templates (Eagle: frames). In Eagle Power Ports and Frames are traditional library parts, where in Altium Designer these items are treated as special parts. To get rid of additional warnings during the synchronization between schematic and PCB you can replace the Eagle power parts with Altium power ports (Place>>Power Ports) . Removing the Eagle Frame and replacing it with a native Altium schematic template is optional. Maintaining PCB When you open the PCB File the Protel Import Wizard will start automatically. This is because the PCB ULP script exports the data in the Protel ASCII format. Simply follow the instructions; the correct board shape can be adjusted after import as well. Polygons, Rules and component classes are not exported. You will need to redefine these items. Altium Designer assigns a unique ID to every schematic symbol and PCB footprint instance in the design file(s). As mentioned earlier, the link between the schematic and PCB components is accomplished through these identifiers. If design content originates outside of Altium Designer the links between these IDs have never been created. Inside of the PCB layout editor Altium Designer supplies a utility called Component Links to manually link the logical and physical IDs. Figure 8: Protel ASCII database import wizard. To invoke Component links open the PCB design file and go to Project>>Component Links. As long as the schematic and PCB Redfes values match you can use the Add Pairs Matched By >> button and check Designator. Matched Components will appear on the right hand side of the GUI - click the Perform Update Button to link the unique IDs between schematic and layout. Any components left in the Un-Matched Components list on schematic side are usually power and/or ground symbols that were not replaced using the power/gnd ports and/or schematic frames that were not replaced with Altium borders/templates. It is not necessary to provide Unique IDs for these objects, so they may be left unmatched. 8 Figure 9: Linking components, some single components stay After reworking the PCB and making the necessary corrections it's best to save the Protel .pcb ASCII design file in the native Altium binary format. To do this right click on the .pcb file in the Projects Panel and choose Save As. The default file type specified in the Save As dialog should be .PcbDoc, which is the Altium binary design format. Note: It may be necessary to remove the .pcb from the file name before saving. Click OK and the .pcb will be replaced with the new .PcbDoc in the projects panel. Synchronizing Schematics and PCB, save your work Last two steps are synchronizing the project and saving it. The synchronization can be started from the schematic editor (Design>>Update PCB Document ) or the PCB editor (Design>>Import Changes From). After synchronizing the schematic and PCB the Project must be saved. To do so, right-click on all documents showing the red symbol signifying the files with unsaved changes and save them. Figure 10: Unsaved documents 9 Importing the Eagle Libraries into Altium None of the ULP scripts support the translation of Eagle library files (LBR). As a workaround you can create separate Schematic and PCB libraries from imported design files. If you want convert the LBR file from Eagle you need to place all schematic symbols on a schematic page(s) and all the PCB footprints on a Eagle PCB. Export the Eagle schematic and PCB based on the instructions in this document. Once you've imported the design files into Altium Designer use the Design>> Make Schematic Library and Design>>Make PCB Library in the respective editors. The Altium Designer Environment Main article: The Altium Designer Environment, Altium Designer Panels The Altium Designer environment offers a complete electronic product development environment for all areas of design - from schematic capture to the generation of PCB output, as well as complete FPGA design, development and on-chip debugging. The environment is fully customizable, allowing you to set up the workspace to suit the way you work. Consistent selection and editing paradigms across the different editors allow you to easily switch between various designs tasks all within the Altium Designer environment. Perhaps the single biggest difference that you will notice when you start working in Altium Designer is that there is only one application used to create and edit all design files, regardless of the type of file - schematics, PCB, library, text, and so on. No longer will you have to switch between different applications when you want to move from viewing the schematic to the PCB. All the files (also referred to as documents) open in the same executable, each appearing on a separate Document Tab within Altium Designer. As you move from one type of document to another the menus and tool bars automatically switch, giving you the right editing environment for that document. Getting Help Main article: Documentation and Help The best way to learn is through doing! Altium and Altium Designer provide a number of ways to help you do that: • F1 over any object, editor, panel, menu entry or button to open a brief description in the Knowledge Center panel. • Shift+F1 while running a command for a list of shortcuts you can use in that command. • Search the Altium Wiki, either in the Knowledge Center panel or on the Altium Wiki Website. • Visit the TRAININGcenter where you can watch over 100 short training videos, each detailing the exact steps needed to complete a task. 10 AltiumLive In AltiumLive you can share all your thoughts with your industry peers. It is the central place for users of Altium. This includes a complete Ecosystem to deliver content, knowledge and experience of other users to you. Also, it is a place where you have a direct interface to Altium for any feedback like a feature request. With that feedback, we are much better prepared to improve our software in a way the market really requests. • Software: You can download Altium Designer together with a 1 month trial version • Content: You will find content like libraries, design secrets and reference designs • Forum: Discuss your topics with Altium staff and users. • Blogs: What’s new, technical and commercial topics around Altium. • BugCrunch: Report Bugs, request features and vote for implementation Project-Based Design Main article: Project Management The starting point for every design created in Altium Designer is a project file. There are a number of project types supported, each targeting a different final implementation, for example PCB project, Library project, FPGA project, Embedded project, Core Project and Script project. The project file stores links to the actual design documents that are part of the project, as well as project-specific settings. Using this concept, you have additional possibilities like defining rules for PCB design already in Schematic. Also, this is a central storage place for your complete design, e.g. for the design rules. Preferences Main article: Altium Designer Environment Preferences Global Preferences are accessed by selecting DXP»Preferences from the menus. The preferences configured here are stored as part of your installation, they do not travel with the design files. File-specific settings, such as schematic document options and printed circuit board options are accessed via the Design menu in each editor. Multi-Channel Design Main articles: Multi-Channel Design Concepts, Creating a Multi-channel Design There are several multi-channel reference designs available. These include the Multi-Channel Mixer, Peak Detector and Port Switcher. All three designs can be found within AltiumLive Once you have opened one of the examples you should compile it, and then look for the compiled document tabs at the bottom of the schematic editor. Complex hierarchy is the general term used throughout the industry to describe the process of using multiple instances of the same sheet in a schematic hierarchy. Traditionally, a design that included complex hierarchy had to go through a process of 'flattening' or 'expanding' the hierarchy at some point, to uniquely instantiate every component and net. 11 Altium Designer does not need to do this, so this multiple-instantiation capability is referred to as multichannel design instead of complex hierarchy. The ability to be able to make each channel different by passing parameters to it from the parent sheet symbol is also supported, and is referred to as parametric hierarchy. Using parametric hierarchy you can parametrically define the component value, supporting the situation where a component does not have the same value in each channel. Parametric components are defined by declaring their value as a parameter of the sheet symbol above, and then referencing that parameter on the target component. PCB Layout and Design Successful board layouts rely on design systems that unify the design definition with the physical layout and routing. Altium Designer offers such a PCB system which includes a number of familiar features to help you place and route your board. When the PCB Editor is active (i.e,. a PCB document (*.PcbDoc) is open and active) the main application window will contain: • A main design window in which you can start designing, capable of display in both 2D and 3D (shortcut: 2, 3) • Menus and tool bars that are specific to the PCB Editor • Workspace panels that are both global and editor-specific View Configuration and the Layer Stack Manager View Configurations are settings that control many PCB workspace display options for both 2D and 3D environments, and apply to the PCB and PCB Library Editors. The view configuration last used when saving any PCB document is also saved with the file. Select Design»Board Layers & Colors (shortcut: L) from the main menu to open the View Configurations dialog, or switch configurations using the drop Figure 6. The Layer Stack can be easily mandown in the main tool bar, as shown below. To open aged and copied to the Clipboard for docuthe Layer Stack Manager select Design»Layer Stack mentation purposes. Manager (shortcut D, K) from the menus. The Layer Stack Manager dialog shows the current layer stack up of the board. Signal and plane layers can be added, removed, or their order changed. Double-click on an electric or insulation layer to configure layer properties, such as: thickness, net association (plane layers), or the dielectric constant. PCB Board Options - Document Settings All options for the placement grid, measurement units, sheet position, and designator display mode are set in the Board Options dialog. With a PCB document active in the main design window (for this and all of the following context-sensitive dialogs), select Design»Board Options (shortcut D, O) from the menus to open the Board Options dialog. For multi-channel designs, you can select between logical and physical designator display on the PCB in the Board Options dialog. 12 PCB Board Wizard Before you can transfer your design from the Schematic Editor to the PCB Editor, you'll need to have at the very least a blank PCB with at least a board outline. The PCB Board Wizard allows you to easily create a basic PCB design using many industry-standard board outlines as well as create your own custom board sizes. The PCB Board Wizard is launched from the Files panel in the New from template section. At any stage you can use the Back button to check or modify previous pages in the wizard. Interactive Routing Main article: PCB Routing Altium Designer also has different interactive routing modes for interactive routing for single tracks, differential pairs and busses. Modes for interactive routing are not dependent on licensing options, and are all available in the PCB Editor with different routing obstacle avoidance modes: • Ignore obstacles • Push obstacles • Walk around obstacles • Stop at first obstacle • Hug and push obstacles • Follow mouse trail Design Rules Main articles: Design Rules, Creating Design Rules, Design Rule Checking, Scoping Design Rules Altium Designer's PCB Editor is a rules-driven design environment. You can also transfer your favorite design rules from another board. Design rules can be exported from, and imported to, the PCB Rules and Constraints Editor dialog. Figure 7. The PCB Rules and Constraints editor in Altium Designer can be opened in the PCB Editor with the Design > Rules command. 13 Signal Integrity Main articles: Performing Signal Integrity Analyses, Signal Integrity Analysis, Signal Integrity Rules, Signal Integrity Panel In addition to the standard set of design rules for DRC, Altium Designer also supports Signal Integrity analysis, which is integrated directly into the PCB Editor (Tools»Signal Integrity). This includes: • Pre-layout and post-layout Signal Integrity analysis capabilities that you can perform from either the Schematic or the PCB Editors • Evaluate net screening results against predefined tests • Perform reflection and crosstalk analysis on selected nets, and display waveforms • Calculate suitable termination values using the termination advisor for different termination topologies • Impedance driven routing, as well as support for balanced differential pairs • Length tuning by adding accordions to your single ended and differential pairs Mixed-signal Circuit Simulation Main article: Circuit Simulation Mixed-signal circuit simulation is a unified part of the capture process, and is fully integrated with the schematic editing environment. Before you launch the Mixed-signal circuit simulation, make sure that any schematic sheet within the project is open. Simulation models need to be associated with every component in the schematic document before simulation can be launched from the command Design»Simulate»Mixed Sim. Simulation is done for the entire project. You can use the same Schematic for both: Simulation and PCB because of Altium Designer’s unified data model. This integrated simulation environment is fully SPICE compatible and additionally supports PSPICE models. See Also for PCB Design • A great place to start learning about PCB Design is Tutorial - Getting Started with PCB Design • Editing Multiple Objects to learn about editing using the Find Similar Objects functionality • PCB Inspector Panel which displays the common properties of different objects and lets you filter and edit them • Editors, Panels and Object Reference to learn more about the PCB Environment • Preparing the Board for Design Transfer • Situs Auto routing Essentials Compilation - a Cornerstone of Altium Designer Compilation is a cornerstone concept of the Altium Designer environment. Compilation is a process that allows you to harness many powerful design features. When you complete your Eagle schematic design, you are used to generating a net list and importing this insufficient information into your PCB tool. With Altium Designer you do a compilation instead. With that you transfer any available information into the unified database for your project. 14 From here, it is available to any other domain available inside this powerful toolset. For the transfer of data from one domain to the other Altium Designer will offer you an engineering change order process (ECO). With that ECO, you have full control over what should be transferred. When you select Project»Compile Project the compilation process works out the structural relationships between the source schematic (or HDL) documents in the project, then determines the net-level connectivity within each sheet, and finally the connectivity between the sheets. All this component and connective intelligence from your schematics design is written into Altium Designer’s unified internal data structure that can then be used for many post-compilation activities, such as comparing and showing differences between schematics, parameter managing, parametric navigation of your design, cross probing back and forth between the schematics and PCB, and much more. Where are my nets and components from my design? Connectivity is not as explicit in your design as it was before, but rather has to be extracted from the design using the compilation process. This is available through the right-click menu in the Projects panel, or using the Project»Compile Project menu command. Once the design is compiled the sheet-level hierarchy, as well as all the components, nets and buses are displayed in the Navigator Panel. From here you can easily locate any component, bus, net or pin throughout the entire design. And if you hold the Alt key as you click on an object in the Navigator Panel it is highlighted on the PCB as well as the schematic – no longer will you need to inspect net lists to review design connectivity. Configuring Design Connectivity Main article: Connectivity and Multi-Sheet Design Altium Designer supports different types of design connectivity, and this must be set to suit the structure of the design. The type of sheet-to-sheet connectivity is called the Net Identifier Scope. This is defined in the Options tab of the Options for Project dialog and saved with the project. From the Project menu select the Project Options menu command, and go to the Options tab. In the Net Identifier Scope drop down you can select from the following connectivity options: • Automatic (Based on project contents) • Flat (Only ports global) • Hierarchical (Sheet entry <-> port connections) • Global (Net labels and ports global) The Import Wizard handles connectivity automatically through the translation process and will give you the Automatic (Based on project contents) configuration by default. Figure 8. The Net Identifier scope is set in the Options tab of Project Options 15 Hierarchical blocks are mapped as sheet symbols, and they will translate to sheet symbols in Altium Designer. In Automatic mode, the design compiler then looks at the sheet symbols on the top sheet. If there are sheet entries (hierarchical pins) in them, it will assume vertical connectivity, and internally use the Hierarchical option. If there are no sheet symbols on the top sheet, or if there are sheet symbols but they do not include any sheet entries, it will assume horizontal connectivity for which there are two ways that Altium Designer supports this: Flat and Global. In order to determine which of these two options to use, the design compiler looks for ports or off-sheet connectors on the sub sheets. If there are any it uses the Flat option, if there are no ports it uses the Global option. You can easily go back and change the configuration after translation through the Project Options dialog from the Projects menu. Verifying Your Design - Expanded Error Checking Main articles: Project Compiler Error Reference, Compile Errors Panel Another benefit that results from compiling a project in Altium Designer is built-in error reporting. This is completely configurable for your needs and can be done before your project is compiled. Right-click either on the project file and invoke the Project Options command, or also through the Project menu. You may wish to get a better picture of the entire development cycle and how it unfolds from an engineer's perspective by reading An Overview of Electronic Product Development in Altium Designer. Design Synchronization Main article: Finding Differences and Synchronizing Designs Design synchronization is fully integrated in Altium Designer without the need for passing a net list. Synchronization in Altium Designer is also bidirectional, allowing you to make annotation changes and component property updates in both directions between your schematic and PCB, in a single operation. Components and Libraries Main article: Component, Model and Library Concepts Altium Designer supports working directly from the source symbol or model libraries, an ideal approach when the schematic and PCB are designed by separate organizations. The logical symbol is assumed to be the essential starting point of a component. It can be initially defined at minimum as a name in a schematic library to which pins and any graphical symbols or alternative display options needed for implementation may be added. This flexibility allows a component to be represented in different ways during the design and capture process. This may not only be as a logical symbol on the schematic, but also be a footprint on the PCB or even as a SPICE definition for simulation. With Altium Designer 10 a new model is available: Component Libraries, where any component is unique, life cycle managed and version controlled available from your company vault and linked to your company database. 16 With part choices, you can leverage the existing know how from your design teams with the knowledge of the purchase department. E.g. a part becomes obsolete, or your designer allows the purchaser to use a 1% resistor instead of a 5% if he buys this in higher quantities. With the relational database you will immediately see where and how often this part has been used in your company. Where are my libraries? Some Basics on Library Management You'll be able to view your source schematic and PCB library files immediately after translation through the Projects panel. Your translated libraries are automatically grouped into one PCB project. Libraries are installed (added) to the Altium Designer environment, making their components available in all open projects. Display the Libraries panel, from there you can install and remove libraries. Libraries can also be linked to any project, and you can also define project search paths, useful for referencing simulation models. See Enhanced Library Management Using Integrated Libraries for a further discussion on using Integrated Libraries. A Brief Note on Database Linking Main articles: Linking Existing Components to Your Company Database, Using Components Directly from Your Company Database Appreciating the fact that many designers like to link from the components in their electronic design software to their company database, Altium Designer has strong support for linking and transferring database data through the design process and into the Bill of Materials. Two techniques are supported, one where the Altium Designer library symbol holds all model references and also includes links into an external database, the second where the database holds all model references and other company information. While database connections in Altium Designer are set up for MS Access databases (*.mdb files) by default, any OD BC-compliant database can be accessed. Multiple Monitor Support Altium Designer has full support for multiple monitors. If you have multiple monitors on your PC you can easily drag a document or Workspace panel out of Altium Designer and drop it on the second monitor, greatly enhancing your design productivity. Multi-monitor support is configured in Windows. Project Outputs Generating documentation has always been an essential part of your work. If you want to automate your design outputs and therefore make it repeatable, you can leverage this by using the concept of Output Jobs. Output Jobs are a graphical way to batch all of the settings necessary to generate any output. If you have defined them once, generating all of the necessary files with all of the necessary settings is just one mouse-click away. If you implement them into your new document defaults, generating outputs for your next projects will also be one button push away. 17 In Altium Designer 10 output jobs are the basis of our release data management. With that you can standardize your complete release management and make it a push-button solution to make it right the first time. To learn about generating manufacturing output, either using the Output Job Editor or using the Reports menu see Design to Manufacturing To learn about the CAM Editor see Auto-Loading Fabrication Output into the CAM Editor To learn about the built in PDF generation wizard, see Smart PDF available from the File menu and Publish to PDF available in the Output Job Editor Component Linking through Unique IDs Altium Designer uses several methods to connect and synchronize data between the schematic and the PCB. Component reference designators and net connectivity is one way, but a more robust method is through the use of a Unique ID. This is essentially a serial number that is given to a component when it is placed on the schematic, which is then transferred to its corresponding footprint when the schematic data is brought over to the PCB. Figure 9. Unique ID field in schematic Figure 10. Matching Unique ID field in PCB. This allows much greater flexibility in re annotating reference designators, as previous synchronization of the designators is not a requirement; the synchronization is all done via the Unique ID. The ECO process and other synchronization checks can be done much more quickly and easily when the Unique IDs all match. During a “normal” design process starting at the schematic then going to PCB, the Unique IDs are automatically passed so it’s a transparent process for the user. For translated files, however, the Unique IDs do not automatically get synchronized. Not to worry – Altium Designer has a tool to do this for you! In the PCB editor, select Project»Component Links. Clicking the Add Pairs Matched By>> button will link the Unique IDs using various methods – the simplest and default being reference designator matching. Components whose reference designators match will then be placed in the Matched Components column. Clicking Perform Update will change the Unique IDs in the PCB to match those found in the schematic. The dialog will show (on the right side) the components that currently have matching Unique IDs. Those in the left and center columns are unmatched: 18 Clicking the Add Pairs Matched By>> button will link the Unique IDs using various methods – the simplest and default being reference designator matching. Components whose reference designators match will then be placed in the Matched Components column. Clicking Perform Update will change the Unique IDs in the PCB to match those found in the schematic. See Also Below are references to other articles and tutorials in the Altium Designer Documentation Library that talk more about the conceptual information as well as walking you through specific tasks. Remember, you can also browse through the Help contents, and use F1 and What's This at any time in a dialog for more details. • • • • • More PCB project options, refer to the tutorial, Getting Started with PCB Design. More FPGA project options, refer to the tutorial, Tutorial - Getting Started with FPGA Design. Tutorial that steps you through the basics of creating components, read Creating Library Components. Tutorial that steps you through the basics of editing multiple objects, read Editing Multiple Objects. For an overview of Altium Designer's FPGA design, development and debugging capabilities, please read Soft Design. A great place to start your journey through all of the new possibilities is coming with your Altium Designer installation. On the top right of Altium Designer you can find the Home button. From here, you can easily access the Documentation Library in the Tasks area where the “Getting Started with Altium Design Solutions” category will ease your start into a unified future. 19