MISC-TN-023: Altium Designer-based workflow

From DAVE Developer's Wiki
Revision as of 11:00, 7 July 2022 by U0001 (talk | contribs) (Implementation)

Jump to: navigation, search
Info Box


History[edit | edit source]

Version Date Notes
1.0.0 June 2022 First public release

Introduction[edit | edit source]

Unlike most of the Technical Notes (TN) available in this wiki, this one does not refer to any DAVE Embedded Systems' product. Instead, this article deals with one of the tools we use for hardware designing, namely Altium Designer. More specifically, this TN describes how DAVE Embedded Systems conceived an Altium Designer-based design workflow, which is fully integrated with the existing company's IT infrastructure and procedures.

Requirements[edit | edit source]

In order to implement a smooth integration towards all the company's departments, the workflow had to satisfy multiple requirements. The most important are:

  • Technical documents for manufacturing: At the end of the design process, a set of standardized technical documents has to be generated automatically for the manufacturing department. This set must be equivalent to the ones produced by other hardware design workflows already in use, which are based on different tools.
  • Database interfacing: The hardware projects must be interfaced to the existing component's database, which is shared across all the company departments (purchasing, manufacturing, R&D, etc.). From this database, several data are retrieved during the design process. These data are stored in the project for each instantiated component. Examples are the manufacturer code, the operating temperature range, the nominal value of passive components, etc. This information is required for bill of materials (BOM) management and post-design automatic checks.
  • Projects sharing: Nowadays, it is often necessary to share the hardware projects with other departments or partners outside the company. In this regard, the native Altium 365® platform does this job superbly therefore it was included in the workflow. From an engineering perspective, the support of Git-based version control is outstandingly useful because allows to synchronize the modifications made by all the people working on the same projects, being them internal or external resources.

Implementation[edit | edit source]

The overall implementation is depicted in the following image.

AltiumDesigner workflow.png

It will be described with the help of an example that represents a typical scenario: the company needs to interact with an external partner, an outsourcee named Mallory in this example, to carry out a design.

The DAVE R&D team sits at the heart of the system. Let's say that one of its members, Bob, starts the new design according to the product's requirements. He takes care of part of the schematics and sets up the PCB project by choosing the number of layers, manufacturing technologies, dimensions, etc.

The components that Bob instantiates on the schematics are retrieved from the DAVE database library according to Altium nomenclature. This library contains the components defined and qualified as per DAVE Embedded Systems' procedures. As such, these components are also linked to the ERP database so that they embed vital information for the manufacturing process like DAVE code, manufacturer part number, type, etc.

At first, Bob saves the project files on a local storage device that is part on the DAVE's internal IT infrastructure. Later on, he needs to share the project with Mallory, an external contractor located in the UK who helps Bob to speed up the design. The project is shared through Altium 365. Upon starting to work on the project, Mallory receives a snapshot of the DAVE database library (DBL) as well. If necessary, this snapshot allows him to instantiate additional components in the project by picking them up from the DBL. What if Mallory needs to instantiate a component that is not available in the DBL, however? Within the project, he creates an integrated library in which the new component is temporarily stored. At this stage, the new component is not yet fully qualified, but this does not prevent Mallory from continuing with his task. Although component's fields such as DAVE code and manufacturer are still not populated, the component is totally usable: as long as Mallory has designed its schematic symbol and PCB footprint according to DAVE Embedded Systems requirements, he can proceed with no worries.

Periodically, Mallory pushes the modifications to the repository on the 365 platform. On DAVE side, Bob does the same so that they can keep synchronized each other. If Mallory puts new components into the project's integrated library, a member of the DAVE R&D team, let's say Alice, takes care of completing their definition/qualification process using as starting point the schematic/PCB symbols created by Mallory. After this step, the new components will end up to be available

  • in the DAVE ERP database
  • in the DAVE master database library.

Interestingly, updating the ERP database and the master database library is a process that leverages the same tools DAVE Embedded Systems adopted several years ago for software development/maintenance: GitLab along with its CI/CD module. TBD

Sharing the projects via Altium 365 is not only efficient when working with external engineers, but also TBD