Altium Designer, with its unified design approach, has traditionally used a component model that extends across all aspects of the electronics design process. However, to seamlessly fit the process of electronics design into the encapsulating product development process as a whole, this model needs to evolve - extending to cover other aspects including other design processes (in particular MCAD and Industrial Design), as well as business processes (such as procurement and manufacturing) that intersect with the product development process. This evolved object model is known as the Unified Component Model.
This component model effectively maps the concept of a design component - in the traditional electronics design arena - to the component as seen by the rest of the organization in the bigger 'product arena'. A truly 'Unified Component' model that not only represents the component in the different design domains (Schematic Capture, PCB Layout, Simulation) but also facilitates choices of the desired physical components - real-world manufactured parts - at design-time, offering a significant improvement in terms of procurement cost and time, when manufacturing the assembled product.
Under this modeling paradigm, the design component, as seen by the designer, is separated from the Manufacturer and/or Vendor parts. This information is not defined as part of the component. Instead, Part Choices are used to map the design component to one or more Manufacturer Parts, listed in a Part Catalog, which in turn can be mapped to one or more Vendor parts, allowing the designer to state up-front, what real parts can be used for any given design component used in a design.
These components, along with their part choices, are stored in a managed content server. A managed component (as it is then referred) is stored as a series of revisions of a uniquely-identifiable Component Item. Each revision is lifecycle-managed, providing collections of certified components, authorized to be re-instantiated into new design projects, manufactured into prototypes, or used for production runs. In short, a catalog of components implemented through server-based 'libraries'.
- Company-certified design components - components are released into a managed content server for re-instantiation into a design project. Revision-controlled and lifecycle-managed, a company can authorize the 'set' of components that can be formally used by their designers.
- Design-time choice of physical components - for any given managed component, you can choose which Manufacturer Parts can be used to implement that component when assembling the board.
- Real-time supply-chain information - fed back from the aggregate parts database of the Altium Parts Provider (which itself interfaces to, and gathers the parts from, enabled Suppliers), to let the designer know the current costing and availability of the chosen parts, and from all vendors that sell those chosen parts (as defined in the managed content server's local Part Catalog).
- Use of Component Templates - apply parameter and component taxonomy based templates, so each new component type automatically has the correct BOM-compliant parameter set, in addition to automating the correct naming, revision and lifecycle schemes.
- Where-used Component Traceability - managed components can be traced all the way through usages: if a part goes obsolete, you can explore which designs it was used in to know which ones need to be updated. If a symbol or footprint has an error, you can see all the components that use that symbol and footprint, so you can go ahead and fix them.
- Component Lifecycle Validation - if a component is in an “end of life”, “obsolete”, or “abandoned” state, you will be warned before trying to manufacture boards that use it.
- Direct Component Editing - if a managed component needs to be edited, you can open it for editing directly from within your managed content server. A temporary instance of the Component Editor allows you to edit all aspects of that component, including modifying its referenced domain models, without a file-based document in sight.
The Component Editor
A managed component is defined/edited using the Component Editor. This editor provides two different modes of operation:
- Single Component Editing mode - provides a streamlined interface when defining/editing a single component. This is the default mode when creating a new Component Item, or editing a single revision of an existing Component Item.
- Batch Component Editing mode - provides the interface for defining/editing single/multiple components. You can access this mode by choosing the Tools » Switch to Batch Editor command, from the Component Editor's main menus. This mode is also accessed if you have selected multiple Component Item revisions for editing, from the Explorer panel. Each component definition will have a common set of parameters and links to required domain models. Batch editing comes into its own where it makes sense to manage components as a set, such as a set of chip resistors for example.
Managed Domain Models
From a designer's perspective, a managed component gathers together all information needed to represent that component across all design domains, within a single entity. It could therefore be thought of as a container in this respect. A 'bucket' into which all domain models and parametric information is stored.
In terms of its representation in the various domains, a managed component doesn't contain the domain models themselves, but rather links to the relevant model Items that are also in a managed content server. These links - to Symbol, Footprint and Simulation Model Items - are specified as part of the component.
Use the following links to take a look at the various domain models that can be stored and managed in Concord Pro:
Helping to streamline the creation of your managed components, Altium Designer, in conjunction with your managed content server, supports creating and defining Component Templates. Just as a schematic template can be used to predefine information on schematic sheets that reference it, a component template is referenced by a managed component, and provides predefined settings for use when defining that component.
In particular, component templates have been developed with parametric information firmly in mind, allowing you to define, in a single location, a 'bucket set' of parameters that will be made available to the referencing component. Through the template, you can control which of those parameters are to be made visible, fill-in default values, and even mark those parameters that are required as mandatory. Validation checks are in-place at the time of component release, to ensure compliance.
The Component Template Editor provides the ability to define explicit data types for component parameters defined within a component template (*.CMPT). In addition, these data types are unit-aware, with a range of popular unit prefixes supported. As such, you can enter a parameter's value using a range of formats - such as 2.2k, 2k2, 4M, 2.5GHz - with the server engineered with the requisite smarts to recognize the numerical value behind those entries.
This feature of a component template facilitates targeted searching through the server's Advanced Search facility - a facility that not only allows you to search by component type, but allows you to search smarter, with range searches. Using the power of unit-aware component parameters, you can quickly define a search, for example, to find all capacitors with a capacitance between 47uF and 220uF.
Altium Designer, in conjunction with your managed content server caters for the ability to store component datasheets within that server and, in doing so, link them to target managed components. This allows you to more fully describe and support a component, in a centralized fashion, while reducing the reliance on external storage mediums (shared network drives for example). Storing datasheets next to the very components that need to reference them also means you no longer need to have a live internet connection, to consult a reference document that can often, and frustratingly, disappear without warning at the whim of the hosting website!
One or more datasheets can be attached (uploaded) to a component - essentially creating a link between the component and the datasheet(s) - when creating/editing that component through the Component Editor.
For an existing component in the server, one or more datasheets can be attached (uploaded) through the Explorer panel. While browsing the required component, switch to its Data Sheet aspect view.
In the Supply Chain Area, a procurement specialist often does not know what a particular component in the design represents. What is required, is an indication of what needs to be procured - which physically-manufactured components can be used to implement that design component. The best person to indicate which real-world components can be validly used to implement the design-level components would be the designer. As part of the Unified Component modeling paradigm, Altium caters for exactly that through the concept of making Part Choices.
Part Choices essentially create the mapping from a component in your managed content server, to nominated Manufacturer Parts in that server's local Part Catalog. In other words, Part Choices specify the 'allowed' manufacturer parts that can be used to implement that component on the assembled board. The actual supply chain intelligence - comprising Manufacturer (and part number), Supplier (and part number), Description, Pricing and Availability - is sourced from the server's local Part Catalog and the relevant Part Source.
The designer can feel truly empowered by being able to specify Manufacturer Parts that are truly interchangeable at manufacturing time in the context of any usage of that component in their design - the very essence of true part equivalency. And it is this intelligent mapping of a component, that turns the humble managed component into a truly Unified Component. The unified nature of a managed component, through the chosen part choices made for it, ultimately creates a link from that component, all the way through chosen Manufacturer Part(s), and on to the Vendor (Supplier) Parts that each itself references. From the designer's perspective, the component is hooked directly into the supply chain.
Real-time data is made available - fed back from the relevant parts database - to let the designer know the current costing and availability of the chosen parts, and from all enabled Vendors that sell those chosen parts (as defined in the local Part Catalog). And the procurement specialist can also keep abreast of supply-chain information, as it is made available in the server for each component therein.
A part is no longer available or has suddenly become cost-ineffective? No matter, provision is made for real-time updates to be sent back to the Design Area as soon as a change occurs. With this vital 'heads-up', the designer can take that choice of part out of the associated list of Part Choices for that component and essentially 'off the radar'. And at any time additional new, truly equivalent parts can be added to the list, should something more appropriate, available, and cost-effective come along.
Part Source Configuration
Each managed content server has its own dedicated Part Catalog. This is a managed local part catalog database, dedicated to the management and tracking of manufacturer parts and their associated supplier parts. The catalog is installed as a service (Part Catalog Service), provided through the server platform, and works only with that server.
The local Part Catalog stores items representative of actual Manufacturer Parts, along with one or more items representative of Supplier Parts - the incarnations of those Manufacturer Parts, as sold by the Suppliers/Vendors. Each Supplier Part is a reference to an item in a parts database - either the aggregate parts database of the Altium Parts Provider (which itself interfaces to, and gathers the parts from, enabled Suppliers), or a linked local parts database (ODBC-based).
Key Panels to be Aware of
As part of your day-to-day activities with managed components, you will come to use, and rely on, two particular panels within Altium Designer:
- Components panel - provides a powerful interface with which to interact with all your components - both managed (server-based) and library (file-based). And for your managed components, the panel provides a filter-based parametric (faceted) search capability, for specifying target component parameters. In addition, the panel also offers options to edit a managed component through the Component Editor (in its Single Component Editing mode), view the component in its source server, and perform component management functions such as component creation and cloning, or editing the selected component's Part Choices and Type.
- Manufacturer Part Search panel - provides the ability for you to search for real-world manufactured parts by offering a sophisticated search feature based on categories and parametric filtering. The panel harnesses the manufacturer and supplier data resources of the Altium Parts Provider service to source the most pertinent and up to date component data. A selected manufactured part can be downloaded as a library or acquired to a managed content server, or its parameters and datasheets added to an existing part in the design space. The preferred supplier(s) of that manufactured part may also be selected and added, as Supplier Link parameters, to an existing design part. Acquisition to your own managed content server involves creating a new managed component using the Component Editor in its Single Component Editing mode - pre-filled with information from the search part - and releasing to that server.
Re-use in a Design
Once released and available in the server, components can be re-used in any new design project. In addition, the concept of component certification is made possible as the components are formally revised and lifecycle-managed. This allows the organization to specify the state of its components and what they can be used for (design, prototype, production, etc). From a design perspective, this results in the creation of server-based libraries, containing a formal collection of components that have been company-approved for use in each new design project embarked upon within that company.
The beauty of using certified components in your designs is that when it comes time to change the lifecycle state of your board design, the integrity of the design becomes greater still, since a design can only be released to "Prototype" or "Production" provided the components it uses are also in a corresponding state. Put another way, you wouldn't start to produce that assembled board if the components are only at a "Design" stage!
And, if we take this to the finest level of granularity in the component management arena itself, the system will flag any attempt to promote the lifecycle state of a component in the server if its referenced domain models are not in a corresponding correct state to be able to do so. In other words, a parent component cannot be further in its lifecycle than its child models.
Design using components that have been certified for use.
Placement of managed components can be performed either from the Components panel, or the Explorer panel.
Prior to Placement
Placing a managed component truly is simplicity itself. But before you do anything, first ensure that the schematic sheet (or PCB document) that is to receive the component is open in Altium Designer and is the active document. If documents are open across multiple windows, ensure also that the window containing that active schematic document has focus.
Placement from the Components Panel
Altium Designer supports access to, and placement of managed components from, the Components panel. The panel sources components from the active managed content server (and also any open or installed Library files). The panel offers full details of the selected component (Parameters, Models, Datasheets, Part Choices, etc.,), component comparison, and for managed components, a filter-based parametric search capability for specifying target component parameters.
The Components panel uses the basic search engine functionality and view that is applied in the Manufacturer Part Search panel. While the Manufacturer Part Search panel harnesses the Altium Parts Provider service and focuses on component manufacturer and supplier data searches, the Components panel is populated with ready-to-place components from your managed content server and file-based library sources.
The panel gives a reassuring sense of familiarity for those designers who have regularly used it to search for, browse, and place components from any other library format - such as model libraries, integrated libraries, and database libraries.
Commands available to place a managed component from the panel depend on its mode:
- Narrow Mode - place in one of two ways:
- Select a component and use the Place command from the right-click context menu.
- Click on, drag, and drop the component directly onto the active schematic sheet (or PCB document).
- Wide Mode - place in one of three ways:
- Select a component and use the button at the top-right of the Information pane (accessed by clicking the button)
- Select a component and use the Place command from the right-click context menu.
- Click on, drag, and drop the component directly onto the active schematic sheet (or PCB document).
Placement from the Explorer Panel
While your day-to-day workings with components will typically be through the Components panel, placement can also be performed from the Explorer panel:
- Browse or search for the Component Item you wish to place.
- Right-click on the specific revision of the component required (typically the latest, in which case just right-click directly on the top-level Item entry).
- Choose the Place command.
The component will float attached to the cursor - just pick a ball-park spot on the active schematic sheet (or PCB document) and click to effect placement. You can fine tune and nudge it into its final location at a later stage.
Place a managed component from the Explorer panel, using the dedicated Place command.
For more express placement of your components from the Explorer panel, Altium Designer provides the ability to drag & drop revisions of Component Items directly onto the active schematic document (or PCB document). Browse your managed content server for the required Component Item to be placed. Placement involves a specific revision of that Item, so be sure to expand the main Item entry to list all of its available revisions (click the button at the top-right of the panel and disable the Show only latest option to see all previous revisions). Then click on the required revision and drag an instance of it onto the schematic sheet (or PCB document).
The highly relational structure of the data in a managed content server lends itself to powerful 'where used' capabilities. At any time, you are able to see where a particular child Item is used, in terms of parent Items in the server. So for a given domain model, you can quickly identify which component Items reference it. For a given component Item, you can see which board designs it has been used in, which managed schematic sheets, and so on. Conversely, and from a parent Item's perspective, you are able to quickly browse its children.
The ability to traverse the content of a managed content server in this way can offer great benefit, not least of a time-saving nature. For example, if a component is deprecated or made obsolete for any reason, you can quickly identify and pull-up the schematic sheets and board-level designs in which it is placed, and update and re-release those Items as new revisions using another, equivalent and approved component.
And why re-invent that proverbial wheel, when you can find a component that you need to use and see which designs it has already been used in. If those designs are at a production state, that component has been proven already and is therefore good-to-go. It can be re-used in your next design with assured confidence.
Inspecting from the Components Panel
Select a managed component in the Components panel to view information about where the latest revision of it is currently used, in the Where Used section (if the panel is in its Wide mode, click the button to access the Information pane). The section provides quick-filter information for:
- Projects - the managed projects in which the component has been used. Information is only presented once the project has been released.
- Managed Sheets - the managed schematic sheets on which the component has been used.
Inspecting where a managed component (latest revision) is used, through the Components panel.
Inspecting from the Explorer Panel
The Explorer panel provides a richer experience with respect to the various parent-child relationships that can exist between data items in the server:
- For a parent Item, use the Explorer panel's Children aspect view tab.
Example exploring the children of a revision of a Managed Schematic Sheet Item, using the Children aspect view tab. Notice the information is also available from the Preview aspect view tab.
- For a child Item, use the Explorer panel's Where-used aspect view tab.
Example exploring where revisions of Symbol (top) and Component (bottom) Items are used, using the Where-used aspect view tab.
Managing Managed Components
Having initially placed managed components onto schematic sheets of a board design, there now needs to be some way of updating those component instances, with any changes to their linked source Component Items in the applicable managed content server. In other words, a means by which to keep the design synchronized with the managed entities that it uses.
For example, a Component Item may have been re-released, perhaps reflecting a change to a child model. This results in a new revision of that Component Item. The placed instance of that Item is now using an older revision and you may want to update it to use the latest revision instead. Alternatively, you may have decided to use a different component altogether, and simply need to change the existing component in the design for an alternate one.
There are various methods available by which to manage the components after initial placement into a design.
Single Instance Component Change
Each placed component has a link back to the revision of the Component Item in the server. This information can be found on the Properties panel, when browsing the properties for the selected component.
Each placed instance of a managed component has a link back to the specific revision of that Component Item in the server.
At this lowest, individual component level, the placed instance can be:
- Updated to the latest revision of the existing Component Item, by clicking the button.
Example of updating the same component to its latest revision - hover over the image to see the result.
- Switched out for the latest revision of a different (a replacement) Component Item, by clicking the button, at the right of the Design Item ID field. The Replace Component dialog will appear, presenting all components in your active server. The current component is shown at the top of the list. Search for the replacement component required, select it, then click OK.
Example of replacing the existing component with a different one (an alternate).
Effecting Batch Component Changes - the Item manager
Related page: Managing Items with the Item Manager
Individual component change is great, however it soon becomes tiresome when dealing with a more sizable number of components. For this, you need a single, centralized place from which to effect multiple changes in a batch-like manner. Enter the Item Manager (Tools » Item Manager).
The Item Manager is 'command-central' for synchronizing server-based (or 'managed') design entities - placed on schematic sheets - with the source Items they are linked to in a server. It automatically compiles the schematic project, detects and lists all components, flagging if they are managed or not, and then compares the Item-Revision of each managed component on the schematics against the available revisions of that Item in the server. For each entity, information about the current linked Item is given, in terms of revision, lifecycle state, and the source server in which it resides.
You have full control over which of these managed entities to update, and how. For example:
- Select an individual entry and update it to use the latest revision of the linked Item, or choose to use the latest revision of a completely different Item.
- Select a group of entries that utilize the same linked Item and either update them to the latest revision of that item, or choose to use the latest revision of a completely different Item.
All proposed changes are reflected back in the manager.
Once changes have been set up as required, generate an Engineering Change Order (ECO) and browse the actions that will be taken to implement those changes. Disable any actions if required - you are always in the driving seat! When ready, execute the ECO and the changes will be effected. Fast and efficient, your placed server items are managed with simplistic ease.
The following examples illustrate use of the Item Manager:
- To update multiple components to use the latest revision of the existing Component Item.
- To change a couple of components for the latest revision of a different Component Item - chosen through the Replace Component dialog.
Not only can the Item Manager be used to keep your managed components in your designs in-sync with changes to the source Items in the connected server(s), it is also a powerful tool to aid in the migration of your existing board designs - from using unmanaged design items to using managed, server-based design Items. Once you have migrated your design components to a managed content server, and any schematic sheets (device sheets), you use the Item Manager to 'replace' the existing components and sheet symbols with their newly migrated server-based incarnations. In other words, the components remain the same, from the design perspective, but the source of those components changes.
Changing a Component from a BomDoc
It's not uncommon to identify an issue with a component when the BomDoc is being checked and made ready for ordering the parts. For example, the designer may have forgotten to finalize the selection of a component, or a component has gone EOL and the designer wants to explore the price and availability of potential replacements. While you could resolve this by returning to the schematic and editing the component, selecting a suitable part, then refreshing the BomDoc, ActiveBOM supports performing this directly from within the BomDoc - then pushing that change back to the schematic via an Engineering Change Order.
From within the BomDoc, right-click on the selected component(s) and select the Change <ComponentName> command. The Replace Component dialog will open, from where the replacement component can be searched for. After finding the desired replacement component select it, then click OK. The Engineering Change Order dialog will open, detailing the changes needed to synchronize the schematic with the BomDoc.
Example of component replacement directly from within a BomDoc.
Preventing Deletion of a Component Item if a Revision in Use
If any revision of a Component Item has been used in a design, then that Component Item cannot, by default, be deleted from the managed content server from which it was placed. When you attempt to delete one or more Items, using the Delete Item command from the Explorer panel's right-click context menu, you will still get the Confirm Delete Item dialog, but upon clicking OK, the Delete Item Errors dialog will appear - alerting you to any of the chosen Items that could not be deleted because they are in use.
If a revision of a Component Item is placed within a design, then by default that Item cannot be deleted from the source managed content server.
Migrating Existing Unmanaged Components
Main page: Streamlined Migration of Existing Libraries to Your Managed Content Server
Altium Designer, in conjunction with your managed content server, provides a streamlined, simple process to quickly migrate your existing libraries to that server. The GUI to this process - the Library Migrator view - presents an intuitive flow that takes initial selected libraries, and migrates them to a target managed content server. Catering for all types of libraries relating to older component management methodologies - SCHLIB, PCBLIB, INTLIB, DBLIB, SVNDBLIB - the Library Migrator is the perfect solution to quickly building your company's set of server-based managed components, and the many benefits that such components enjoy (high-integrity, lifecycle management, centralized storage and management, where-used functionality, ease of design resuse). And while the migration process can be configured - giving you enhanced control over how that migration is performed - at its most simplistic, you can accept the default settings and set the migration in motion within a matter of clicks.
All information that is present in an original source library is migrated, in order to arrive at a folder of unified components (managed components that have assigned part choices), with all referenced domain models (schematic symbols, PCB footprints, 3D Models, Simulation Models), and parametric information. Component templates can even be created, and used to create those managed components. And if your original components have multiple PCB footprints defined, you can rest assured that the Library Migrator will bring those models across, and keep the current default footprint too.
And if you only work with PCB libraries - your only concern is PCB layout - then the Library Migrator supports migration of just those libraries only.
The Library Migrator view - the user interface to the component migration process.