In this introductory article we will investigate the various techniques available for copper routing in NI Ultiboard, how to use them, and when to use them.
2. Routing of Copper Traces
In Printed Circuit Board (PCB) design, there are three fundamental tasks that allow you to prepare a board for prototype and manufacture. First the board outline must be created for the form factor of the design.
Second in consideration is part placement. In part placement various landpatterns (or footprints) of design devices are configured on the board. Each placed part consists of pins which are terminals that need to be connected in order to complete the design. A PCB design tool represents the necessary connections between parts with a wire. These wires are called nets.
Therefore the third fundamental task in board design is to route these net connections between various parts. The routing process turns these various net connections into copper traces which connect parts in the physical prototype with current carrying connections. The net acts as a design guide indicating that two pins must be connected, while the copper trace is the actual physical connection which will be made as a part of your PCB.
NI Ultiboard allows you to define copper traces using a number of different methods. Each method provides varying degrees of control that allow an engineer to balance precise copper definition with automated speeds in order to effectively design a PCB. The routing methods available to engineers are:
- Manual Trace Placement
- Follow-Me Router
- Connection Machine
In this article we will investigate how and when to use each of these routing methods.
3. Getting Started
To assist in the steps outlined in this article, we will use the attached example file to practice routing.
- Download the attached 6880_Example_Design.ewprj file to your desktop.
- Select Start > All Programs > National Instruments > Circuit Design Suite 10.0 > Ultiboard to open Ultiboard.
- Select File > Open.
- Browse to the desktop where you saved 6880_Example_Design.ewprj.
- Click on the Open button to view the file (as seen in Figure 1 below).
Figure 1: 6880_Example_Design.ewprj
Follow the next steps to ensure that your work area is correctly setup:
- Notice that on the left side of the NI Ultiboard screen you have the Design Toolbox (if you cannot see this currently you can view it by selecting View > Design Toolbox).
- On the bottom of the Design Toolbox select the Layers tab.
Whenever you are placing copper routes in the work-area you must first select the layer upon which the route will be defined. In this example we will be using the Copper Top however any of the copper layers (Top, Bottom, Inner) can be selected in the Design Toolbox.
- Double click on the Copper Top layer in the Layers tab (it will now be highlighted in red as seen in Figure 2 below). You are now ready to draw routes upon the top copper layer.
Figure 2- Design Toolbox
4. Method 1 Manual Trace Placement
What is Manual Trace Placement?
Placing traces with the line drawing tool allows the user to completely control every aspect of a copper trace. This drawing tool follows your mouse cursor and creates a copper route according to your exact specifications.
Other than following your mouse it is important to note that since you have complete design control you must be careful not to create routes that will cause design rule errors or put into questions the validity of your design. This means that sharp or obtuse angles in your routes should be avoided that will cause you to lose signal integrity.
When to use Manual Trace Placement
The manual trace placement is recommended when you have a part that requires a very specific routing, particularly when you have a surface mounted connector (with a high pin count), FPGA or very restrictive spacing between adjacent pins, the manual trace tool will give you the needed accuracy to properly define your route. Other methods such as the autorouter (discussed later in this article) may not be able to mathematically define how to route suitably in these situations.
How to use Manual Trace Placement
In this example we will make a manual connection between part C13 and part R12. To use the manual trace placement tool:
- In Ultiboard select Place > Line.
- With the mouse left-click once on the top pin of part C13 (figure 3 below)
Figure 3 - Component C13
- As you move the mouse away from the pin you will notice a neon-green connection trail your movement. Move your mouse in the direction of the net connection between C13 and R12.
- To place a pivot point for your copper route, left-click with your mouse anywhere in the black work-area of your design. You have now defined the placement of this segment of your design (as seen in Figure 4)
Figure 4 - First routed segment
To create an orthogonal section to a copper route, you can simply click on the SPACE BAR on your keyboard, and Ultiboard will automatically create a route that is exactly 90 degrees to your mouse movement. Click on SPACE BAR again to exit orthogonal mode.
- Complete the route and connect C13 to R12 as seen below in figure 5, by using the SPACE BAR to create the orthogonal route.
Figure 5 - Manual Trace Placement Routing
5. Method 2 Follow-Me Router
What is the Follow-Me Router?
The follow-me router adds to the functionality of the manual trace placement tool, with Ultiboard beginning to make some design decisions on your behalf. With the follow-me router, your mouse again defines the shape of the route however Ultiboard will automatically suggest pivot points and the route between two pins, with a light blue trace connection. Also if your route must be narrowed at all to make the connection appropriate (to get between pins etc…), Ultiboard will automatically narrow your route.
When to use the Follow-Me Router
The follow-me router is an appropriate tool when you need some guidance on how to connect two components but still want to be able to define the route, pivot points etc… Generally if you do not need precision of manual placement, but would like assistance in creating traces which do not conflict with good design practices (sharp angles etc…) then the follow-me router is an appropriate tool. It would still be recommended to use manual trace placement for high pin density chips and FPGAs.
How to use the Follow-Me Router
In this example we will make a follow me router connection between part C13 and part C7. To use the follow-me router placement tool:
- In Ultiboard select Place > Follow-Me.
- With the mouse left-click once on the bottom pin of part C13.
- Notice that as you move the mouse a light-blue connection guide appears between the two pins (figure 6). This is an Ultiboard suggestion for routing.
Figure 6 - Ultiboard Trace Guide
- Continue to move the mouse towards the pin of C7 and notice that pivot points are automatically placed in your design.
- To add your own pivot points, simply left-click once anywhere in your design.
- Complete your connection between C13 and C7 (figure 6)
Figure 7 - Completed Follow-Me Route
6. Method 3 Connection Machine
What is the Connection Machine?
Again we continue to build upon our more manual processes (manual trace placement, follow-me router) with the Connection Machine. The Connection Machine can be considered to be a subset of the autorouter. The connection machine automatically defines a route, but does so, on a net-by-net basis, with a minimal amount of user intervention to customize the route.
When to use the Connection Machine
The connection machine is not for components with a high number of pins, or with a need for a complex routing arrangement. As we move to the connection machine generally a larger amount of space is required with less need for precise routing.
How to use the Connection Machine
In this example we will make a connection machine route between part C10 and part C9. To use the connection machine tool:
- In Ultiboard select Place > Connection Machine.
- With the mouse left-click once on the bottom pin of part C10.
- Move your mouse slightly and notice that two small white crosses appear at the bottom pin of C10 and top pin of C9 (highlighted in red in figure 8 below).
Figure 8 - Connection Machine Selection
These white crosses indicate that these are the pins to be routed together by the connection machine.
- Move the mouse slightly to the left of C10 (maintaining the two small white crosses) and click on the black work area between the two points. Two larger white crosses will appear between the two pins to be routed (highlighted in red in figure 9 below).
Figure 9 - Connection Machine Selection Validated
- Move the mouse cursor up and down and notice that the route is created automatically between the two points, with the movement of the mouse defining the route.
- Left-click once more to settle on a route configuration (as seen in Figure 10).
Figure 10 - Connection Machine Defined Route
7. Method 4 Autorouter
What is the Autorouter?
The autorouter can potentially be the fastest way in which to configure the routing of all the copper on your board. The router goes through a number of steps, most notably:
- Determining the approximate direction and route of each net on a board
- Selecting a sequence in which the nets are to be routed
- Routing each net in the sequence previously determined
If the routing cannot be completed based upon these previous steps:
- The router iteratively remove net routings
- The router tries to re-route the board with either alternate routes or in a different net order
It should be noted that an autorouter cannot always route a complete board. It is important to understand that the above steps are based upon a mathematical routing method for the board and that there are times that a router will not be able to resolve an appropriate solution.
A router can also possibly create routes that are not acceptable for your board. An angle maybe too acute for your application, causing issues with signal integrity, and therefore should be taken into consideration when defining the board.
When to use the Autorouter
The autorouter is certainly a strong tool for defining a board, however should be used when the nets that need to be routed are not critical. Critical nets should be manually defined using either manual trace placement or the follow-me router.
Also when you have a part such as an FPGA or connector, where you have multiple pins on the underside of a surface mounted component the autorouter may not be able to define the correct routes. In this situation again, we can consider these critical nets and a manual technique should be applied.
How to use the Autorouter
In this example we will begin using the autorouter, however first we will make sure that the nets we have already manually defined are not changed by this routing process.
- In the select toolbar (if you cannot see the select toolbar go to View > Toolbars > Select). The select toolbar allows you to filter what objects you are selecting and manipulating on your board. This is important in allowing you to truly pinpoint what your mouse is selecting on your board (traces, parts, vias, pins etc…)
- Select the second icon in the toolbar. This will allow you to choose and manipulate only copper traces in your design (red box in figure 11 below). Make sure that all other icons are deselected.
Figure 11 - Select Toolbar
- Right-click on any of the traces you have so far defined on you board.
- In the context menu that appears select Select All
- Right-click once more on the selected traces and select Lock
- All the traces you have routed will become highlighted in orange (figure 12).
Figure 12 - Locked Traces
These copper routes are now locked and therefore cannot be altered by the autorouting process that you are about to apply to your design.
We are now ready to begin autorouting:
- Select Autoroute > Start/Resume Autorouter
- NI Ultiboard will route the rest of your copper on your board (on this board this should take a matter of seconds and will look similar to Figure 13).
Figure 13 - Completed Routed Board
8. Best Practices: Maximizing the Use of Your Routing Methods
As discussed throughout this article we have a number of tools which allow us to effectively route our board. The autorouter should not be considered as the only routing option. In fact it is suggested that if one is to begin defining a board, you follow a procedure such as the following:
- Consider a component of high importance with a trace routing that can be considered critical.
- Route the nets for this critical component using either manual or follow-me routing
- Find components such as connectors or FPGA components which require routing beneath/between multiple surface mount pins.
- Route the nets for this component using either manual trace placement (or follow-me routing if convenient/possible)
- Lock all nets in the design that have been routed using steps 1 to 4 above.
- Use a combination of the autorouter or connection machine to route the rest of your board.
Using this simple methodology, you can be comfortable in knowing that you can maximize the use of your time in the layout and routing stages of your design.