ENHANCING YOUR DESIGN EFFICIENCY WITH PROJECT TEMPLATES
Enhancing Your Design Efficiency with Project Templates
Are you unnecessarily repeating steps that are slowing your design workflow down? Are you feeling the pressure of this modern, fast-paced design environment which demands continuous product deliveries and rapid design cycles? Find out how Project Templates can help to speed up your project setup time by standardizing your initial setup goals.
TOPICS IN THIS SOLUTION
Today’s engineers are under constant pressure to finish projects on increasingly shorter product schedules. However, valuable time is saved by starting a new project using Project Templates. Although there are many project types within Altium Designer (e.g., FPGA, Core, Embedded, Integrated Library, and Script project templates), we will focus on the PCB Project template.
In Altium Designer, every design starts with a project. With a project created, design documents, configuration files, libraries, etc., are added and linked together to provide a centralized design environment. While not every project is the same, each project will have some initial setup parameters and files that are similar. We can leverage the use Project Templates to help populate parameters, design files, libraries, output jobs, and other document types to help shorten the initial setup time for an Altium Designer PCB Design Efficiency Project.
Creating a new project in Altium Designer involves the use of a Project Wizard. The Project Wizard allows you to select from default project templates, or you can create your own template from scratch. The location of the Template folder is specified during the initial installation (e.g., it will be set up under the ‘Shared Documents” folder location as shown in Figure 1).
After the installation is complete, you can review the Project Template location from within Altium Designer by opening the DXP preferences, under DXP -> Preferences -> Data Management -> Templates. Additionally, you can click the ‘Manage Templates’ button from the New Project wizard to open the path configuration for the Template folder.
Figure 1 - Location of Templates, Libraries, and Examples.
Think of a Project Template as a shell project. When creating a new project using the Project Wizard, (File -> New -> Project) a copy of the selected Project Template will be created with the specified name in the location you specify as shown in Figure 2.
Figure 2 - Project Wizard
You can set the
- Open your new document defaults via DXP -> Preferences -> System -> New Document Defaults.
- Under the Document Kind, select the ... button next to PCB Project.
- Select the project you want to use to set it as your default new document project.
Figure 3 - New Document Defaults
Project templates can be thought of as a starting shell for creating new projects. The template can contain schematics, PCB’s output job files, libraries, as well as other file types. When the template is selected in the New Project dialog, the new project created will duplicate the contents within the selected folder with the specified project name. Additionally, parameters can be assigned in the Project Options which can be used at the design document level and in output files.
Parameters can be brought into Altium Designer from Project Parameters, Document Parameters, and Component property Parameters.
Component Parameters can be used in exporting parameter data, such as a Bill of Materials. Document and Project parameters can be used to display the parameter values on the sheet and printouts, and can also be used for exporting data.
For schematic documents, there are specific templates that can be attached which defines the schematic page size, title block, and title block parameters. Schematic document parameters have a higher priority than project parameters, so we want to set parameters at the project level so it will not conflict with the document parameters.
The higher priority parameters will override lower priority parameters if they have the same parameter name. Parameter priorities are listed below from highest to lowest priority:
- Variant Parameters (project)
- Schematic Parameters (Document)
- Project Parameters (project)
Both Variant and Project parameters are defined at the Project level. Schematic Parameters are set in the schematic document and can be assigned manually or imported using a schematic template. The Printed Circuit Board PCB document does not have parameters of its own only referencing the associated Project Parameters. The Project Level Parameters span all source documents within the project thus providing an extra advantage when implementing in our templates.
Parameters have a variety of uses including title block instantiations using Special Strings, as well as inclusion in printouts and reporting files such as the Bill of Materials. Special Strings consist of placed text (Place -> String) with which its value is referencing a parameter value set in either the Project Options -> Parameter tab or in the schematic document Design -> Document Options -> Parameter tab. Edit the string properties or press tab during placement to set the value.
In a schematic, a Special String references the parameter with an ‘=’ sign. In a PCB, a Special String is referenced using a dot, ‘.’. For example, if a Parameter is defined in Project Options as ProjectTitle, the corresponding assigned value can be displayed on the schematic by placing a string with the value set to =ProjectTitle as shown in Figure 4.
Figure 4 - Special String in Schematic
When editing the string properties in the PCB in the Properties field, enter a dot, ‘.’, and the pick list will appear. For example, in Figure 5, the Special String would be set to .ProjectTitle
Figure 5 - Special String in PCB
The default project templates that are installed with Altium Designer provide a starting point for schematic capture and Printed Circuit Board layouts which include PCI, ISE, and various other technologies. We will use the PCIe template from the Altium Content Vault and add it to our templates. The same process can be followed if you are creating a new Project Template from scratch.
Project templates can be downloaded from the Altium Content Vault or downloaded from AltiumLive Resources -> Design Content section, and selecting Template Designs.
We will be using the PCI Express mini Half-Mini type H2 card from the Altium Content Vault Board Templates section under Design Content -> Template Designs -> PCI Express.
To access the content vault in Altium Designer do the following:
- Open your Altium Content Vault preferences from DXP -> Preferences, Data Management -> Vaults.
- Enable the Altium Content Vault by clicking on the Add Altium Content Vault button. (This should allow access to the Content Vault from DXP -> Vault Explorer)
- Under the Vault folders, Board Templates -> Design Content, there are a number of template types available. Right-clicking on the Template Design and selecting Download from the Operations popup will allow the design template to be downloaded as shown in Figure 6.
Figure 6 - Project Template Design Example Download
Now, Download the template to a temporary folder, then copy the contents from the Design folder to the Template folder location we saw earlier as specified in the DXP preferences. Once copied, the new design template is ready for use. There are still a few more configuration steps that could be done for our template such as creating an OutJob file or updating the Project Parameters, but let’s go ahead and use this copied project template to start a new project.
We will create a new project based on the copied PCIe template copied over the template folder. Follow these steps within Altium Designer:
- Select File -> New Project
- For the Project Type, select PCB Project.
- Select the PCI Express Mini_3000x2680_52PIN_Half-Mini-Type H2 Project Template.
The displayed template name will match the name of the project in the template folder. Notice that no preview is displayed. The preview is only shown if there is a generated Windows Metafile (EMF), with the same name as the project in the same folder as the template.
- Click OK once the project name and location has been specified. It is optional if you want to check the Create Project Folder, which will create a subfolder in the target location with the project name.
This project contains the schematic base with the PCI connector and assigned net names. The corresponding PCB design guidelines is a generic blank board as shown in Figure 7, and is ready to start a new design.
Figure 7 - Generated PCB and Schematic documents from a template
If you plan on changing the default project template in DXP Preferences to point to a diﬀerent project, it is recommended to create a unpopulated project with no files and copy it to your template folder. With this method, a new, blank project can be easily created from the New Project dialog.
It is also recommended to add the projects that you create in the Template folder to Version Control so you can easily keep track of any changes. Keep in mind, if Altium Designer is uninstalled, files located in the original installed template folder location will be deleted. If you change the Template folder to a network location, uninstalling will not aﬀect the new folder location.
If a template project points to files outside the template folder, or to files in a sub-folder in the template folder, the generated project from the template will put all files that are referenced by the template into the new project target location by default.
From the Project Wizard, selecting an available Project Template will show a preview on the right-hand side of the dialog. Typically, the preview will display the PcbDoc associated with the project if any is linked to it. However, this is not a live preview and it is instead generated from an Enhanced Windows Metafile (EMF), with the same name and location as the project. An EMF preview file can be exported from a Print Preview in Altium Designer by right-clicking on the preview and selecting Export Metafile.
With just a little prep work we were able to easily create a new Project Template, allowing you to shorten the time needed to begin a new project in the future. Aside from the obvious time-saving benefits of Project Templates, they can also be extremely valuable in situations where you need to standardize the base foundation for all PCB layout design project documents for a larger engineering team.