Once schematics are complete, board layout allows the designer to decide the physical locations of components and route connections between them. All annotations on the schematics will be incorporated into the layout tools Altium provides, enforcing that your physical implementation does not breach requirements set in the schematics!
CONTENTS
Table of Contents | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
RETURN TO HOME PAGE: Altium Designer
Workflow
Drawio | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
This flow chart isn't color coded as all stages can be completed by anyone; it really just comes down to if you feel ready to participate in these tasks
Read more below:
Expand | ||
---|---|---|
Import ChangesOnce schematics are complete, the first import will populate the layout file with all the components and connections necessary to design the actual board.
Setup Design RulesBefore starting placement and routing, it is best to go through the design rules and ensure they meet the project requirements. By default, the NER template will include a set design rules based on manufacturing requirements. This will not however account for clearances that need to be enforced for other reasons, such as high voltage, water resistance, or anything else. Complete Component PlacementUsing the “rats nest” view, it is possible to see how all the pads on a PCB should be connected, without actually placing copper. Component placement is arranging the components loosely such that pins should be able to connect when we start routing, but without putting in the actual effort of routing every pin. This allows the opportunity to think about overall layout of the board and potential major collisions that need to be discussed. Preliminary Placement Review & FeedbackIt’s recommended before routing to complete a preliminary design review. This will allow for others to provide feedback before you need to go through the efforts of complete routing. In this stage a design review should be hosted and feedback should be recorded and addressed. Complete RoutingOnce confident in component placements, the actual routing can begin. This consists of running traces, polygons, vias, and more to actually establish the connections dictated in schematic. Complete SilksCompleting silks includes formatting and arranging designators, adding caution labels, adding team logos and attributions, and anything else we want printed on the board. Typically this is done last in the processes, as they are low priority and need to avoid any collisions if we want them visible. Final Design ReviewAs you’d expect, we need a final design review to collect team feedback and address issues that are discovered. Execute OutJobsOnce the board is 100% ready for production, we need to initiate an OutJob. These automatically create a release in the version control system and generates fabrication outputs to upload to a fabrication house. Order PCBsThe lead can now order the boards and components! The OutJob should automatically have created the needed Gerber files and BOM. |
Importing Changes
As mentioned in the workflow above, importing changes instructs Altium to determine changes to the schematics and implement them in the layout. Altium has this rigid barrier between the two to allow the designer to preview and confirm the impact to the board before changes are made via an ECO (engineering change order).
In the normal day to day, you should always import changes to the layout such that you minimize major changes that accumulate in schematics.
Expand | ||
---|---|---|
| ||
{explain how to do it} {explain the minor variations (import to schematic and such)} |
Basics of Layout
Note |
---|
Before going deep into a layout, make sure design rules are all setup! |
For navigation basics, check out https://nerdocs.atlassian.net/wiki/spaces/NER/pages/153026566/Intro+to+Altium#Layout-View
This section will provide a cursory look at how to create a PCB layout. Covered in this will be all you need to make and manage connections. The following section, design rules, is also quite important for forming a successful layout!
As always, check out the Vault Guidelines for requirements in NER projects and Altium Reference
...
for quick tips.
Altium is a massive piece of software and even more is covered in the Advanced Layout page.
Selecting Grid Size & Snapping
These options apply to how all objects in layout behave, including components and traces.
Grid Size & Units
Particularly important in layout is selecting how precisely you’d like to move your components. While in 2D layout, hitting G
will open the grid size menu, where you can select what grid you’d like to snap to.
...
Additionally, Q
will swap which units are displayed (mils for imperial, mm for metric).
Tip |
---|
The bottom right corner will always show you your coordinates, grid snap size, and units! |
...
Info |
---|
MechEs hate the fact that mils is imperial since they sometimes think millimeters are mils. In Altium, 1 mil = 0.001 inches (a.k.a. 1 thou (as in one thousandth))! |
Snapping Options
Beyond snapping to a grid, objects can also snap relative to other objects within the board. This is controlled via the snapping settings in the layout toolbar.
...
Play around with what you think is most useful. The list is quite comprehensive in terms of what you can snap to, so you often will be toggling them on and off depending on situation.
...
Note |
---|
I don’t recommend turning everything on. Once a board gets dense, you’ll have snapping points in so many places that you won’t be able to move anything anymore! |
Arranging Components
After an import, components will be automatically populated in the layout based on the schematic. Components can be moved by clicking and dragging. Additionally while dragging a component:
Rotation:
Spacebar
Layer Flip:
L
Warning |
---|
Never ever ever use |
Alignment Tools
When placing components, it is often difficult to get things to “look pretty” by just clicking and dragging. The most useful tool for this is the alignment menu. First select which components you’d like to align, then the menu can be accessed via the right click menu or the toolbars:
...
From here, the names and icons imply what will occur. Below are some examples:
...
{example 1}
Ex2
...
Align Vertical Centers
Align Right
Distribute Horizontally + Align Top
Some alignment tools will require a secondary click to indicate what to align in reference to. In this case you would select a group, right-click, select alignment option, then left-click which to align to.
Adding Traces
Routing traces is initiated by hitting Ctrl + R
, opening the interactive routing tool. This is just a tool that is initiated by clicking on any pad needing a connection, and then moving the mouse along the path you would like the trace to take (you do not need to drag, just click and then move the mouse). The trace will terminate when you click a destination pad to route to.
While moving the mouse there are a few options:
Click → You can click anywhere on the PCB and if it is not a pad it will effectively just add an in-between point to route through
Spacebar → Toggles between routing x-then-y vs y-then-x
Tab → Pauses routing and opens properties. This allows for selecting settings of the trace being routed while in progress of routing (such as selecting width!)
Shift + Space → Toggle corner modes. This will change your corners between radii, 45°, and 90° angles. We typically just stick with 45° angles
If your design rules and settings are setup properly (they should be if the project was created properly), your trace will have design rules automatically enforced while dragging around!
Once a trace is routed, you can reselect the entire segment by left clicking one segment, and then pressing Tab
. You can then open properties to retroactively change trace width if needed.
Using Polygons
Polygons are how we place large regions of copper. These may be used for high current connections, frequently used nets (such as Chassis), or for shielding of sensitive signals.
The polygon tool can be found in the layout toolbar or right click menu:
...
It will start creating a poly on whichever layer you have active when you select the tool
Once selected, the polygon tool allows the user to place points outlining a region. Once done, right click to finish the sketch.
...
The points can then be refined by clicking and dragging. While dragging you can hit Delete
to remote a point or Spacebar
to change the corner type (90, 45, or radius). You can hold Ctrl
while selecting a side to create an additional node.
After your geometry is set, open the properties panel to edit a few important parameters. Primarily, the net and your pour over options should be set.
...
Polygons will then need to be repoured to appear as copper in the layer. This can be achieved by selected the “Repour” button in the top of the properties panel. Another method is to repour all properties via the toolbar:
...
If the polygon does not behave as desired you may need to edit other properties or manually change the pour order via the buttons at the top of the properties panel (shown above).
Note |
---|
Polygons depend heavily on priority to resolve overlap. If you have multiple polygons you will need to play a lot with their pour order. For some you may want: https://nerdocs.atlassian.net/wiki/spaces/NER/pages/156205136/Advanced+Layout#Polygon-Manager |
Look to the official documentation for more: https://www.altium.com/documentation/altium-designer/pcb-signal-layer-polygons
Design Rules
Design rules and DRC are one of the key features of PCB layout software. It allows the designer to program rules based on engineering requirements and allow the software to complete checks for compliance across the thousands of interactions that may occur within the board. Some examples include:
Clearance and creepage distances needed to maintain isolation
Copper width needed for current/power
Transmission impedance for high speed signals
And so much more!
Expand | ||
---|---|---|
| ||
Defining RulesRules are defined from the design rule window, opened via the toolbar in “Design” > “Rules”. By default, the NER project template should include design rules that meet the requirements of our most common PCB fabricators (JLCPCB and PCBWay). If not, the most recent version can be downloaded from the |
...
There are many many rules that |
...
{give a quick list of critical/frequently used rules. Perhaps we treat this list as “template will set it but you should confirm it matches your needs”}
Design Rule Check (DRC)
{explain difference between rules being live checked (“Online”) and only via reports (“Batch”)}
...
are only important for manufacturing and likely will not vary for each design. However, the following are rules that are often changed and should be looked over:
It is always best to read through all the rules before starting a layout to confirm they make sense for your work. Design Rule Check (DRC)Altium completes checks via two methods: “Online” and “Batch”. The design rule checker (and settings) can be opened via the toolbar “Tools” > “Design Rule Check…” From here a batch DRC can be initiated with the button in the bottom left. The DRC settings are altered via the tabs in the left column (“Rules To Check”). Online DRCOnline DRC is what Altium labels the live checking of rules when working in a project. These are automatically triggered every time a component or trace is dragged or placed. Which rules are checked online can be toggled within the DRC window (shown above).
We recommend (and this should be by default) turning on the following rules for online checking:
Absolutely add more if they are helpful and your computer can handle it! Batch DRCBatch DRC is the more traditional design rules check that people think of when mentioning “DRC.” As mentioned in the above sections, which rules are checked can be set in the DRC window and the check itself can be triggered with the “Run Design Rule Check…” button.
Additional settings can be set on the first tab of the DRC window. Notable settings as follows:
|
Silkscreen (Overlay)
All PCBs have an “overlay” layer. This is used to inform the fabricators of where you would like silkscreen printing on the board. Typically, this is used for designators, warning indicators, functionality labels, and logos!
NERvetica
NER has a custom font that automatically implements team logos (and memes) for vectorized use in PCBs. Using it is as simple as installing the font, and then placing text boxes and changing the font to NERvetica. See NERvetica for downloads and more directions.
Designators
See https://nerdocs.atlassian.net/wiki/spaces/NER/pages/118718470/Vault+Guidelines#Silkscreen for more information on implementing designators in silk.
Export for Fabrication (OutJobs)
Typically when ordering plain boards or simple assembly fabrication houses will require fabrication files in Gerber format. To simplify this process we have created “OutJobs” which are a feature of Altium allowing automatic generation of Gerbers, BOMs, STEP files, and other useful exports. Additionally, releasing via out jobs creates a “release” in the version control system.
...
Info |
---|
Some nicer (more expensive) “turn-key” PCBA companies will take direct Altium files and do all the processing for you. |
Expand | ||
---|---|---|
| ||
Update Board OutlineFor simple board shapes, updating the board outline is as simple as updated the board to match your outline layer! Our boards default to having the M1 layer labeled “Board Outline” which contains the board shape. Selecting the contents of this layer and then using “Design” > “Board Shape” > “Define Board Shape from Selected Objects“ updates the shape to the outline. The black region and 3D view should now align to the board outline layer Complex Boards (Cutouts)More complex boards may require board cutouts for rules compliance or mechanical fitment. For these boards it is important before export to add slots to the board shape.
Your board now has a fully accurate shape layer, including cutouts! Out Job Configuration |
...
{include reference to template files. Maybe we’ll add to the guidelines page}
{brief overview of what it should look like and how to tweak things}
Creating a Release
...
Within the Altium file structure, there is a separate directory called “Settings” > “Output Job Files” which contains OutJob configuration files. These come in 3 types: Source, Fabrication, and Assembly, each configuring their respective export type. The NER project template should include pre-configured OutJob files. If not, they can be downloaded from the Vault Guidelines {need to add section for it} and manually dragged into the folder. Once OutJobs are setup, it is good to confirm they are going to perform as you expect. A typical OutJob setup appears as below: {image of outjob from a working project}
This should rarely happen, but if you need to tweak the Gerbers for certain manufacturers this can be done by double clicking the {} and editing {}. Creating a ReleaseAs long as the OutJobs are setup properly (see above section), creating a release is only a few clicks!
Once complete, you will find all the exported files in the {} directory. You can easily shortcut to this by right clicking the folder in the project panel and selecting “Explore.” {image of explorer opening button} You will also now see that if you open the project version history, a release should be added. {image of VCS history} |
RETURN TO HOME PAGE: Altium Designer