The 'endgame' for any board design is to generate and manage data from that design for building the physical object captured by that design – and with the utmost integrity. However, the need to ensure high-integrity data often walks hand-in-hand with layers of bureaucratic 'red tape', resulting in the designer being confined to design according to formalized processes, locking down design changes to ensure minimal impact to the integrity of the design data.
Considering the electronics development process, Altium Designer's unified platform – with a single unified data model representing the system being designed – has been harnessed to effectively and efficiently tackle the problem of providing the high data integrity, while ensuring that the demand for product enhancement and innovation can continue to be satisfied with complete design freedom.
However, the very objects used in a design are also data in their own right. These include components, sheets of circuitry, and even template and full reference designs. Each of these is a uniquely identifiable ingredient of design, and may be re-used across multiple, different designs. Each has to be created. Each may be modified in some way over time. Each will have a definitive lifespan. In short, these are data entities which also need to be managed under the umbrella of a design data management system.
But having great tools offering unified design and advanced data management features is only part of the equation. To leverage these technologies requires building a complete methodology, an approach that also incorporates intelligent design and management processes, to arrive at a fundamentally solid path by which to design electronics in a streamlined way. A methodology that creates a highly productive, high-quality design flow, based on the concept of Designing for Reuse, and facilitated by the high-integrity offered by the vault technology – the very essence of Vault-Driven Electronics Design.
Using Altium Designer, Altium Vault Technology and a methodology that uses a vault-centric approach to electronics design, you are able to design in a controlled way without loss of design freedom, with the assurance that you are using design 'building blocks' that are managed and approved for design use. Subsequently, once the design is ready for release, you can pass data from the design domain to the production domain in a pain-free, streamlined, and automated fashion – generating data output of the highest integrity, literally at the touch-of-a-button!
Design Data Management System
To provide a system that caters for all aspects of data management – from the humble domain model to the board design itself – Altium implements a Design Data Management model that:
- Allows for the creation and management of design-reusable Items – released data entities for use in the actual designs themselves. Stored in a centralized repository for access by the design team, they are version-controlled and lifecycle-managed.
- Allows a formal definition of the links between the design world and the supply chain that is ultimately responsible for building the actual products. Achieved by mapping the design data to specific production Items (blank and assembled boards) that the supply chain is actually going to build.
Altium's Design Data Management System provides various features and technologies to cater for your data management requirements and can essentially be broken down into three distinct sub-systems:
- Component Management – concerned with the management of next-generation vault-based components, their referenced domain models, and the Part Choices that empower a component to straddle both Design and Supply Chain areas.
- Design Content Management – concerned with the management of reusable design content, including Schematic Sheet Items, Template Items, and Reference Design Items.
- Production Release – concerned with high-integrity board design release management, to generate the data required by the supply chain to build the physical items (fabrication of the bare boards and manufacture of the assembled boards in accordance with BOM information).
In addition, and providing the foundation upon which all three sub-systems are built, is Altium's Vault Server technology. A distinct design solution in its own right, an Altium Vault Server works in harmony with Altium Designer to provide an elegant answer to the question of handling design data with secured integrity.
Although each individual sub-system offers distinct advantages in its own right, to fully embrace the Vault-Driven Electronics Design methodology requires that the entire design process be vault-centric. In other words, all elements of a design – from humble components, through to managed sheets of reusable circuitry, to a complete satellite design module that plugs into a parent board in another design – should come from a vault. If any element of a design is not sourced from within a vault, then that design is not considered to be a truly vault-driven design, and its integrity may suffer as a result.
So, you would typically create collections of vault-based components under the next-generation component management model, and use these components in your designs. You may build collections of managed schematic sheets of circuitry, using these vault-based components. And using a combination of these components and schematic sheets, you can create designs that have integrity built-in from the lowest domain model, through components and on to the design itself. A hierarchy of design building blocks with each undergoing revision and lifecycle management. With the ability to see where a particular managed schematic sheet or component is used, and confident that a board design cannot be released to prototype or production unless its lower-level vault-based entities are in a state to do so.
The Product Development Landscape
Before taking a look at Altium's Vault-Driven Electronics Design methodology, it is a good idea to take a step back and consider the people that are involved in the process of turning an idea into a fully-fledged product for sale in real-world markets – the 'players' in the game as it were.
On the one side, we have the people that take an idea and capture it as a fresh design. These are the engineers and designers who revel in their technical mastery to overcome design challenges, to create and innovate with design flair and panache. These people collectively form the Design Team, with their work environment affectionately tagged the Design Area.
On the other side, we have all the teams that are collectively responsible for turning a design into a physical product. This includes procurement, fabrication, assembly, testing, and so on. They are responsible for realizing the fruits of the design team's labor, to build that tangible product exactly as the design team envisioned. The area that these teams work in can often go by different names, including the Production Area, or the Manufacturing Area. However, the umbrella term Supply Chain Area better reflects the collection of all teams and sub-teams in this area.
The Design Team works, often in a highly-collaborative nature, with the raw source design documents. The Supply Chain runs with sets of data produced, or generated, from a design. But just how are the data – both source and generated – handled? How do the design team keep track of their changes during the design phase, and where does the supply chain go to get the generated data they require to ultimately manufacture? The following sections take a closer look at where these data sets are stored.
Related article: Design Repositories
The design team keep track of changes to their source design documents using a Design Repository. This is a centralized repository in which all design documents are stored. Owned by the design team, the Design Repository contains a high-resolution view of the history of the design process and is the primary collaboration tool used by the design team.
Considering design projects in Altium Designer, these represent the design team's intent as to how the system should be built and how it should work. Each design project includes a project file and a variety of source design documents that together define the object being designed. Furthermore, a design project is parametric in nature, whereby a single project can potentially define many different Items that get manufactured in the real world.
The Design Repository becomes the central repository from which multiple team members can check data in and out, all the while maintaining a complete revision history of all changes made to the design. A design is therefore stored as a series of versions of its constituent project and source documents, building a progressive picture of the intent of a designer over time. By using a version-controlled Design Repository, you have the integral assurance that no revision of a design is ever lost, allowing for safe collaboration on the same design between members of a team that can be geographically diverse in their locations. The very nature of the version control system provides an audit trail for the design. Full accountability arises through transparency of who changed what, in which source document, and when.
Additional features and capabilities within the software, such as PCB Design Collaboration, allows multiple designers to run with the same design, confident in the knowledge that their individual layout changes can be collated and merged into a single PCB design document, and checked safely back into the Design Repository with controlled ease. The repository's history of the design – the various checked in versions of the project representing incremental changes made over its lifetime – allows you to 'rollback' to any of the previous versions, with total control.
As part of Altium's Design Data Management System, support is provided for creating and connecting to version-controlled Design Repositories that utilize Subversion or CVS as the version control provider. By connecting to a repository you are, in effect, registering that repository with the system –- telling Altium Designer of its existence as it were. Furthermore, there is no manual specification of paths to 'unofficial' or 'rogue' repositories. Through Altium Designer, you can only interact with those VCS-based Design Repositories you have purposefully connected to the system.
To embrace the Vault-Driven Electronics Design methodology, all of the source material on the design side must be stored in a version-controlled Design Repository. This includes:
- Source domain model files (e.g.
- Source component definitions (in
- Source schematic sheets containing reusable sections of design circuitry.
- Design templates (Project files, schematic documents, PCB documents)
- OutputJob files.
Altium Vault (the center of the design universe!)
The Supply Chain acts on, or uses, data that come, for the most part, from the Design Area. These data are said to be 'released' from the Design Area. But what actually happens to these released data? How are they handled and what’s more, is that handling secure? In other words, can the integrity of the data be guaranteed?
Providing an efficient means by which to handle such data in a highly secure, yet readily-accessible manner, Altium delivers a server-based engineering content management system solution –- an Altium Vault Server. An Altium Vault not only provides rock-solid, secure storage of data, but also enables re-release of data as distinctly separate revisions – essentially tracking design changes over time, without overwriting any previously released data. It also caters for the lifecycle of the data to be managed, allowing people that need to use the data to see, at-a-glance, what stage the data have reached in their 'life' and therefore what they can be safely used for.
Altium Vault technology plays a fundamentally key role in the Vault-Driven Electronics Design methodology. An Altium Vault is used to store much more than just the data generated from a board design. It is used to manage all other sets of data obtained from the Design Area through the running of specific release processes. This includes the release of component definitions, domain models, schematic sheets of circuitry and design templates. The very essence of true vault-driven design reflects the mantra "elements in a design can only come from within a vault".
And the vault is not just the destination for released data traffic from the Design Area. It is also used to handle other data, data that could originate from the Supply Chain Area too. A Part Choices list is a good example of data that is very much vault-based in nature, but is not sourced from the design side, and is therefore not a 'released' entity.
The various data entities (released from the Design Area or otherwise) are represented in an Altium Vault by unique Items. An Item simply represents a specific object, and is uniquely identified through use of an assigned Item ID. An Altium Vault then, is a centralized storage system into which all data, for each Item, are stored. The vault essentially provides the common ground between the Design and Supply Chain areas. Access by both areas to a single repository of data that are stored with secured integrity. Through the vault, the teams in both areas are better informed, have a real-time picture of the progress of the design at the wider product level, and have access to data that are not only guaranteed in their integrity, but also validated and managed in terms of lifecycle – so that only the data that are authorized to be used for a specific application, are used.
What exactly is represented by, and stored in an Item can vary, depending on what has been mapped to that Item. A design project, for example, can be the source of multiple bare or assembled boards. Each of these is a distinct physical object built by the production team, and so would be represented in the vault as different Items, each with its own unique ID. A design itself might utilize vault-based components, which themselves are released entities – each a separate Item and each assigned their own unique Item ID. Drill down further and you reach the finest level of granularity, with the schematic symbols and other domain models – used in the definition of those components – also released and represented as uniquely-identifiable Items.
Each Item in the vault is stored as a series of revisions. Each revision contains data that are used to represent, or to build a particular version of that Item. Each time a change is made to the source design data, a new revision of that Item is created in the vault, ready to accept (store) the generated data.
The highly relational structure of the data in an Altium Vault 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 vault. So for a given domain model, you can quickly identify which component Items reference it. For a given Component Item, you can see which 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.
An Evolving and Proven Methodology
So just what exactly is "Vault-Driven Electronics Design" and how is it different to any other methods engaged to design and produce electronic products? Well, frankly speaking, we believe that although there are many ways to design electronics, and many ways to drive design software tools, we are honing the optimal way to design electronics using our tools and technologies moving forward, based on our own experiences and reinforced by the experiences of our 40,000+ users. So what we are sharing with you here, today, is a passionate, exciting glimpse of a methodology that we have rigorously formulated, crafted and continue to refine. A methodology that takes Altium Designer and Altium Vault Technology and essentially drives these two, in concert, and along with key design and management practices, to fuel a high-quality, high-yield design flow – empowering your design team to design with freedom in a highly-secure environment. A methodology that provides the one true way to effectively and efficiently use Altium's electronic design systems – the way they were intended to be used, the 'Director's Cut' as it were. A methodology that streamlines the design process and enables new designers to enter the design field 'running with the ball'. In a nutshell a design methodology that, quite simply, works, and works remarkably well.
Rest assured this evolving methodology hasn't materialized out of thin air. We proverbially 'practice what we preach'! In fact, we are in a rather unique (and powerful) position of being a design software vendor that develops its own hardware, using its own design tools. Altium's Hardware Team has extensively used Altium Designer and Altium Vault Technology to design various real-world boards, in-house. And it is this very design work that prompted the development and adoption of design techniques that streamline the design flow. The Team have honed and streamlined their use of and experiences with these technologies, to arrive at what could be coined the 'Golden Path' of electronics design. A best practice design methodology that, while still evolving, has been tried and tested with real results and marked gains in quality and productivity.
And perhaps the overriding concept of this methodology is that of designing for reuse. This entails capturing and configuring all elements of design so that they can be easily reused across any new future designs. So models that can be reused in a new component, components that can be reused in functional sub-circuits, functional sub-circuits that can be reused in the design of a modular assembly, and then ultimately reusing a modular assembly in a larger design itself. Combine this concept with that of vault-driven design, whereby all elements in a design must be sourced from an Altium Vault, and we essentially arrive at a design for reuse flow that is spiral in nature. Starting with the lowest level design element and growing in its level of abstraction, where each subsequent design element must be created on the design side and then released into the vault, ready to be used in the next higher-level design element.
Altium already provides a myriad of great features and technologies as part of its Design Data Management System. And users naturally have the complete freedom to use whichever elements of the system they choose to suit their design needs and practices. But to really take electronics design to the next level, and use those features and technologies in the manner in which they were intended to be used, requires an open mind and following a proven new methodology to design. So jump aboard for a look at the future of electronics design, where vaults become the central hub of the 'Designerverse'. Where all elements used in all designs are source from that central vault. Secure, lifecycle-managed and company-ratified components, design sheets and other modularized design entities. Resident in a vault, to be reused in all future designs – true Vault-Driven Electronics Design.
Key Concepts of Vault-Driven Electronics Design
- A methodology based on the cohesive use of both the right tools (Altium Designer, Altium Vault Technology, Version Control system) and the right design and management principles and practices. It's about using the software and related technologies to the best of their abilities, driving them the way they were designed to be driven. It's a methodology forged from over 25 years of industry experience, coupled with tremendous customer feedback and use of the tools to actively design our own hardware.
- Vault-centric design. All elements of a design must be sourced from an Altium Vault, without exception.
- Use of version control for all design-side source (source model files, source component libraries, schematic device sheets, board-level design projects, board panel projects).
- Design for reuse. Capture and configure all elements of design so that they can be easily reused across any new future designs. From components, to sheets of schematic circuitry, and up to fully released modular design assemblies, all elements are released into a vault to essentially create a repository of managed design 'building blocks'.
- Modularizing design – by designing at higher levels of abstraction, future designs benefit from ease of reusing these modular blocks of design.
- Effective design decision making – knowing when to reuse existing vault-based design elements, when to refactor, and when to create something new (a component that doesn't exist in any vault, for example).
- Streamlining design through use of template projects and using linked template source documents (Schematic top sheet and PCB document) and standardized output job configuration files.
- Standardized naming conventions, revision naming schemes and lifecycle management schemes, depending on design element.
- Strict adherence to standardized design and presentation principles, including net connectivity, hierarchy, design rules, and so on.
- Generic models – reusing released schematic symbols (and on rare occasion PCB 2D/3D Component models) across multiple components as applicable, without having to 'reinvent the wheel' each time.
- All data output released into a vault only – no generated output files stored in the design-side version control repository.
- Direct and secure access to manufacturing data through the vault. Permission-controlled so that only those approved for access have that access. Eliminates the potential for errant manufacturing files being sent outside of the system.
Key Benefits of Vault-Driven Electronics Design
- Incorporates and builds upon Altium's unified design and design data management paradigms to deliver a streamlined, highly-optimized design flow – in terms of both quality of designs, and yield.
- Reduced design effort through use of defined file templates and configurations common to all new design projects, and the reuse of existing design building blocks. This provides an inherent boost in productivity.
- Reduced error in new designs as only ever using company-ratified design elements sourced from a vault. In other words, using proven circuits over and over.
- Improved quality of design outputs, through adoption of consistent naming conventions, presentation standards and design principles.
- Design productivity ramps up as more design content is created, released to and subsequently approved for reuse from, the vault. Future designs become quicker to implement as the vault of design 'building blocks' grows, and required circuit functionality becomes available for placement in modular fashion.
- Leverage 'meta-data' of designs.
- Spend more time designing and less guessing.
- Reduced training time and cost.
- Facilitates team environments.
- Ability to easily find components and designs.