Parent page: More about Components and Libraries
Integrated Libraries reflect Altium Designer's Second Generation component management methodology - namely the Integrated Component model. In this model the higher level component is modeled within the schematic symbol in a Schematic library file. Other models are linked from the symbol and component parameters are added to the symbol. All source libraries - symbol and linked models - are defined within an Integrated Library Package project, which is subsequently compiled into a single file; an Integrated Library, or IntLib.
This document takes a look at the various ways in which an integrated library may be created, as well as placement from, and modification to, such a library.
The key benefits of compiling into an integrated library are:
An Integrated Library Package (*.LibPkg) is a type of Altium Designer project which is used to gather together the set of design documents required to produce an integrated library. Schematic symbols are drawn in the Schematic Library Editor, and model references/links defined for each, along with any parametric information. These are stored across one or more schematic library files. Referenced models can include PCB 2D/3D component models, circuit simulation models, and signal integrity models.
The only document that must be added to the integrated library package is the schematic library (or libraries). The files containing PCB 2D/3D component models and simulation models/sub-circuits can be located in any valid search location - within the project, within files in the Installed Libraries list, or down the search path(s) specified for the package.
The library package is then compiled into a single Integrated Library file (*.IntLib).
In summary, there are essentially four steps to creating an integrated library:
Create a new integrated library package by choosing the File » New » Project command from the main menus. In the New Project dialog that appears, set the Project Type to Integrated Library, specify the name and location for the project, and also its type - Regular, VCS (version controlled), or Managed (as part of an Altium Vault installation) - along with any related options pertinent to that type, as applicable.
After clicking OK, the new, shell library package project will be added to the Projects panel, initially containing no documents.
Create the source schematic library (*.SchLib) containing the components required. For each component, add the required model links and parametric information. There are two ways to create a source schematic library:
With the source schematic library (or libraries) prepared, simply add to the library package, using one of the following methods:
Create the models - referenced by the schematic components - in their corresponding files. So PCB 2D/3D component models in a PCB Library (*.PcbLib), and simulation models and sub-circuits in Model (*.Mdl) and Subcircuit (*.Ckt) files respectively. The most important model will of course be the PCB 2D/3D component model which, like its schematic library counterpart, can be created in two ways:
With the model files defined, they now need to be made available to the library package, so that they can easily be located when required - remember, the models are referenced by (or linked to) the schematic components. Altium Designer has a standard system for making models available, regardless of whether you are building an integrated library package, or working on a schematic design. There are three ways of making models available:
There are advantages to each, so choose the method that best suits your work practices. Different models work better with different approaches too, for example you may not want to see a large number of simulation models listed in the Projects panel when the library package is opened, but may like to see the PCB 2D/3D component model libraries. In this case, define a search path to the folder where the simulation models are stored, and add the PCB library to the library package.
Collectively, these three methods of model availability form the Available Libraries (available to a project), and can all be defined from within the Available Libraries dialog - accessed by clicking the Libraries button at the top-left of the Libraries panel.
The PCB library (and other model files if required) can also be added to the library package directly, using the Add Existing to Project command – available from the main Project menu, or from the right-click menu associated to the library package's entry in the Projects panel.
Defining search paths to model files - from the Search Path tab of the Available Libraries dialog - simply accesses the Search Paths tab of the Options for Integrated Library dialog (Project » Project Options). Simply add one or more paths as required, remembering that models are searched along these paths in order from top to bottom. Click the Refresh List button to verify that the required model files are indeed being found, and adjust a path if necessary.
With the source libraries added to the library package, and any paths to model files defined as required, the package can now be compiled to ultimately generate the integrated library. Like any other project, the compiler for an integrated library package will generate a list of warning and/or error messages - for example, warning of any models that were not found. Additionally, pin mapping errors can be checked, such as mapping instructions to pads 1 and 2 when the actual footprint contains pads A and K!
Prior to running a compilation, it is prudent to browse through and set the error reporting conditions appropriately, on the Error Reporting tab of the Options for Integrated Library dialog.
To proceed with compilation, use the Compile Integrated Library command - either from the main Project menu, or from the right-click menu associated to the library package's entry in the Projects panel. The source libraries and model files are compiled into an integrated library, named after the source library package (<LibraryPackageName>.IntLib). The Compiler will check for violations and any errors or warnings found will be listed in the Messages panel. Fix any problems in the source libraries, and then recompile.
The integrated library is saved in the output folder nominated on the Options tab of the Options for Integrated Library dialog (by default a sub-folder of the project's location: \Project Outputs for <ProjectName>). It is automatically added to the Installed Libraries list (available to all projects) and consequently appears available from the Libraries panel.
An integrated library can also be made directly from constituent project documents (source schematics and PCB document). Simply use the Make Integrated Library command, available from the main Design menu in either Schematic, or PCB Editors.
The process essentially involves:
Related page: Working with Database Libraries
Altium Designer's Database Libraries are an ideal choice if you want your Altium Designer components to be tightly coupled to your company database. If the design needs to leave your company site, or if you prefer to have your designers work from secure integrated libraries, this can be readily achieved. Altium Designer provides the facility to compile an integrated library directly from a database library - either a standard database library (DbLib), or a version-controlled SVN database library (SVNDbLib). In this way, your CAD Librarians can still use database libraries, while your designers use regularly regenerated integrated libraries, working in an 'offline' fashion as it were.
Conversion is performed using the Offline Integrated Library Maker wizard. The process is carried out on a per database table basis, with full control over which tables in the database are considered. A separate integrated library will be generated for each included table.
The process involves the following steps:
Related page: Working with the Content Cart
You also have the ability to acquire components from your local Altium Vault, into an Integrated Library. And when placing components from such an Integrated Library, the actual links are back to the Component Items in the vault. This gives you the ability to effectively use your company's Vault components in an offline fashion, while ensuring the design still maintains a true connection to those components in the source vault. It also ensures that the supply chain information defined for those components - through the use of Part Choice Lists - continues to be used.
From the Content Cart dialog, the process to acquire into an IntLib is as follows:
After generation, the IntLib is added to the Installed Libraries list - part of the Available Libraries for the software, and will be available for use from the Libraries panel.
Placement of components from an integrated library is performed from the Libraries panel. Placement can be made on the active schematic sheet (when browsing the integrated library in Components view) or the active PCB document (when browsing in Components or Footprints views). Placement can be performed in the following ways:
Integrated libraries are used to place components and cannot be edited directly. To make changes to an integrated library, make modifications in the source libraries first and then recompile the library package to generate a fresh integrated library that includes those changes.
To modify an integrated library:
There may be occasion where the source libraries in an integrated library need to be accessed for modification, but for whatever reason, there is no access to the original source library package project by which to do so. This is where another aspect of a single, portable integrated library file, comes into play. Although integrated libraries cannot be edited directly, they can be decompiled back into their constituent source symbol and model libraries.
To do this:
The source schematic and model libraries are extracted and saved in a new folder named after the integrated library's filename - in the folder in which the original integrated library resides.
A library package (<IntegratedLibraryFileName>.LibPkg) is then created and the source schematic and PCB libraries are added to the project, presented in the Projects panel. Simulation model and subcircuit files are not automatically added to the project.