Getting Started
Who are you, and why did you download this software? Are you an electrical engineer with a new idea for a product? Are you perhaps an expert PCB designer who was just handed a netlist, board outline, and a set of datasheets and requirements? Maybe you are a hobbyist with a soldering iron and a burning need to bring to life that cool circuit you found in a magazine.
One person's software requirements and domain knowledge may vary greatly from another person's needs and understanding. However, these people share one thing in common: the need for designing and ordering circuit boards that work the first time.
The experienced engineer or designer does not want a tool aimed at the lowest common denominator. The novice may not be able to handle endless data prep requirements and rigid methodologies. PCB123 works for both groups of people, as well as everyone between. PCB123 provides a great deal of flexibility at the start and many powerful features to get you to the finish line.
This guide allows you to unlock the full power of the software and greatly increases your productivity. It explains the operation of the software and delves into process, ergonomics, and tricks of the trade.
PCB123 has many automatic features that are always present and available, but they are designed to be unobtrusive or and not restrictive. For instance, when you are routing a trace, you will instantly get a visual clue if you create a short to another object or if you violate minimum spacing requirements. The system will not prevent you from continuing, but it will leave a small marker to remind you that there is a problem at that location. The marker is removed as soon as the violation is cleared.
The software does not second-guess your intent. The system performs an extensive design audit before you submit the design for fabrication, but you never have to meet a threshold of system-determined correctness to order boards. It will not allow you to specify or design with impossible-to-meet criteria, such as routes that are less than 0.005 inches thick.
Using PCB123
One of the most important reasons for reading this guide before you start an actual design is to prevent bad habits. This guide teaches you all the different ways you can perform common editing tasks. For instance, though you can change to a new layer by clicking a screen element, you will find that it is much more efficient to type the layer number instead. There are many time-saving shortcuts like these. Most editing operations require a few keys and mouse actions. However, there are also lots of less common operations that are available when you click the right mouse button and open context-based menus. Once you learn these shortcuts, you will find that you can operate at a continuously fast pace with one hand on the keyboard and the other clicking those mouse buttons and spinning that mouse wheel. If your mouse doesn’t have a wheel, we recommend you obtain one. In no time, you will have memorized the few keyboard accelerators and mouse techniques needed for a vast majority of editing operations. After that, editing, panning, and zooming become so automatic that you will not even be aware you are doing them. In fact, if you use other CAD systems, you may become acutely aware of the extra click or key-press that the other system may require.
Before we get into specifics, run PCB123, so you can orient this guide against the actual software. Close the splash screen and the New Board Wizard that appear on startup.
Your screen should look similar to the image below.
Click the File menu and then click New, or click this toolbar button.
This will open the Board Configuration dialog. We will discuss this later. For now, just click OK to accept the defaults.
Your screen should look similar to the picture below. Now you are ready to explore the design space.
Screen layout
More than one project can be loaded into PCB123, and data can be copied among them. Each loaded project will appear as a tab at the top of the main window. Only one project can be active at any time. If more that one project is loaded, change the active project by clicking its tab. Tabs from a 2-project session are shown left.
Each project has a minimum of four different views that you can display in the main window. They are Layout, 3D View, BOM (Bill Of Materials), and at least one schematic page.
You can navigate among the views by clicking on the appropriate tab at the bottom of the main window. The strip of tabs is shown below. The available toolbars change as you activate different views.
The Edit Panel is to the left of the main window. It has a strip of tabs on the bottom, as is shown to the left. The Display tab is quite dynamic. It changes its contents when you switch between schematics and layout. When you edit certain objects, unique context panes provide options for the selected object or tool.
The Parts tab allows you to select from predefined parts. This displays a preview of the part's footprint and the symbol. Double-click on a part in the Libraries to add it to your schematic or layout. The Parts In Use area contains a list of all of the parts that have been added to your project. You can also select parts from here to place in your project.
The Project tab contains several report generators. It also has a top-level navigator that is in the form of a tree. This allows you to drill down into the schematic and layout data in tiny detail. This tab also contains many top-level settings and defaults, such as title block parameters that can be set for a project.
The DRC/ERC tab contains a live listing of all the current design violations in the project.
As you can see, you can use tabs to display the tools and information that you need. They can also help you hide irrelevant tools and information.
Common functionality
Common functionality really refers to the common operations between the schematic view and the layout view. The 3D view and BOM view are highly specialized views that demand very little face time. By far, the design views will receive most of your attention so we will focus on the common functionality between them.
A good deal of your time in the software will be spent moving the mouse around, poking the keyboard, and clicking on things. We hope we have created a fairly intuitive user interface but even so, we should cover some basic behavior.
Pan and Zoom
Because a PCB or a schematic can have a large number of objects packed into a small area it is next to impossible to do any work while viewing the entire extents of the data. Instead, you will want to be zoomed into and focused on a small area. Consequently, you will be doing a lot of panning and zooming. These operations are so common they become reflexive actions - you do not think about it, you just do it.
First, under the View menu a Zoom submenu lists all the commands pertaining to zoom. The first four commands pertain to the view scale or zoom factor.
Zoom In and Zoom Out magnify and… um… un-magnify the view. Using the menu commands or their keyboard accelerators, PgUp and PgDn, scale the zoom factor based on the ubiquitous Golden Ratio beloved since eternity. Using the mouse wheel scales the zoom factor by smaller increments.
Zoom All adjusts the zoom factor and view center so the entire board outline fits within the viewport.
The Zoom Actual Size command, which is not accelerated, relies on your display hardware to accurately report the number of pixels per inch of display and uses that factor to scale the view accordingly.
The next four menu items pan, or scroll the view north, east, south, and west. The pan distance using these menu commands or their keyboard accelerators is the width or height of the window minus a comfortable overlap figure. Besides the obvious reasons for the overlap, it is interesting to note that panning by a full window can actually produce a “lost” sensation at times.
The Redraw command will simply refresh the screen. It also rebuilds certain internal lookup tables and in rare situations, when you add or modify objects so their new extents are double or triple the size of the board you may find that you cannot pick them until a Redraw is performed or any number of other commands that trigger a regeneration of the tables is performed.
Drilling into submenus is probably not the most efficient way to navigate around a design but Microsoft recommends standard practices and we try to oblige. The menu also shows the keyboard accelerators for the zoom commands.
There is also a Zoom toolbar on the right edge of the application. It lacks buttons for pan but there are stock scrollbars for that. The button labeled ‘G’ is not actually a zoom command at all. It is a way to invoke the Grid dialog using the mouse. As with most toolbars, you may hover your mouse over a button to pop up a tooltip for a brief description of the button’s operation. The Zoom Toolbar contains some of the lesser used commands such as Refresh Screen, Zoom All, and Zoom Actual Size. The Zoom Toolbar is for new users who don’t read the manual. You, however, deserve better.
Refresh Screen | |
---|---|
Pan Down | |
Zoom Out | |
Pan Left | |
Pan Right | |
Zoom All | |
Pan Up | |
Zoom In |
Most likely you will find that using the keyboard to perform zoom operations is superior to the menu and toolbar. The numeric keypad is dedicated to the zoom functions. The chart on the left shows the keypad assignments for the different zoom commands. You will need to turn off Num Lock to use these keyboard shortcuts.
By far, the best way to pan and zoom around the design canvas is to use the wheel on your mouse if it has one. The wheel can accomplish both pan and zoom. To zoom in, roll the wheel forward and to zoom out, roll it back toward you. The pan behavior is a byproduct of how Zoom In and Out work with the wheel. Wherever the mouse is pointing in the design window becomes the new viewport center. Zooming in and out actually does a pan so that whatever you were pointing at is now in the middle of the screen. The closer the mouse already is to the center, the finer the pan behavior. You point the cursor in the direction you want to pan and spin the wheel. It becomes very natural in just a short time.
There is one additional behavior to mention, Pan. There are two ways to pan. 1) Hold down the Shift key while moving the mouse in the main window then the window will smoothly pan in real-time. 2) Hold down the right mouse button and move your mouse. This second method provides a smoother pan. Experiment with both to see which you prefer.
Names and Numbers
Objects such as nets and components require unique names. Other objects may be optionally named or, in the case of PCB component pins, if they are named the names must be unique just within the component. In general, most objects that require a name will in fact have a name auto-generated during interactive design. Object names will be upper case and they will currently be restricted to the ANSI character set due to the stroked font requirements for Gerber data. There are no restrictions on name lengths.
In general, if you name an object do not include any spaces or other non-printable characters in the name. Whitespace, ‘|’, ‘&’, ‘[‘, and ‘]’ are reserved characters and will be replaced with an underscore ‘_’.
Unless absolutely necessary, names should not begin with numerical digits. There is nothing inherent in PCB123 for this, but names that begin with numbers may generate XML validation errors in 3rd party Plugins or future PCB123 facilities.
The basic unit of measurement internal to PCB123 is 1/10,000,000th of an inch (one ten-millionth). This ensures that no conversion routines are required when switching between metric and imperial user units as the round off is insignificant. It does however mean that the extent of the world coordinate system is limited to +/- 200 inches as coordinates are stored as 32-bit integers. A 400-inch domain is more than sufficient for PCB boards and schematics but be careful if you intend to use the software for other purposes.
When you supply values for physical parameters and coordinates, the values you enter are assumed to be in whatever the current system units are in. Additionally, four suffixes may be used when entering numeric data that allow an absolute unit basis to be specified. The table below lists these suffixes and shows examples of their use.
Suffix | Description | Example |
---|---|---|
in | Inches | 0.109in, -0.00002in |
mil | Mils (1,000th of an inch) | 109mil, -0.02mil |
cm | Centimeters | 0.27686cm, -0.0000508cm |
mm | Millimeters | 2.7686mm, 0.000508mm |
Anywhere the system asks for a physical value such as the Grid dialog box or a pad size form, you can perform local overrides of the current system units by supplying the appropriate suffix with the value.
Function | Description |
---|---|
abs(n) | Absolute value of n |
acos(n) | Arccosine (in degrees) of n |
asin(n) | Arcsine (in degrees) of n |
atan(n) | Arctangent (in degrees) of n |
sin(deg) | sine of (degrees) deg |
cos(deg) | cosine of (degrees) deg |
tan(deg) | tangent of (degrees) deg |
log(n) | Natural log of n |
log10(n) | Base-10 log of n |
log2(n) | Base-2 log of n |
sqrt(n) | Square root of n |
Any physical value can be entered as an expression so long as the terms are all in the same units. Expressions obey the C/C++ (normal) rules of operator precedence and associativity. Besides the arithmetic operators +, -, *, /, and % (mod) the table to the left lists the functions that can be used in an expression.
The ability to use expressions can come in very handy when creating footprints since most mechanical drawings of parts use relative dimensioning.
The following table shows several examples for converting between polar coordinates and Cartesian coordinates.
Objective problem | What to type (in red) |
---|---|
To locate an object at 15 degrees on a circle centered at (0, 0) and has a radius of 2 inches. | X = 2in*cos(15) Y = 2in*sin(15) |
To locate an object at 15 degrees on a circle centered at (4 inches, 2 inches) and has a radius of 2 inches. | X=(2in*cos(15))+4.0 Y=(2in*sin(15))+2.0 |
Important: PCB123 differs from many applications in how it treats a mouse click, where a click means pressing and releasing the left mouse button. In many popular applications, clicking on an object selects that object and waits for some operation to be performed on it.
In PCB123 a click almost universally selects the object and immediately assumes a move operation on it – it is essentially tied to the cursor until another click releases it. If you hold down the Ctrl key when clicking on an object then it behaves like other applications and simply performs a select on it. In fact, multiple objects can be clicked and selected (or deselected) by holding down the Ctrl key while clicking objects.
The way other applications accommodate an immediate move operation on an object is with a mouse drag, which involves pressing the left mouse button and moving the mouse while the button remains depressed. In most cases, PCB123 will accommodate that behavior too.
The reason for the departure from standard click behavior is for sheer efficiency. A schematic document and especially a PCB document may contain many objects – tens of thousands in some cases. For this reason, any paradigm that shaves a click off an operation translates into a large cumulative gain in productivity. The details of the efficiency gains are covered under Object Editing later in this document.
As you move the cursor over objects in the design window you will notice they become temporarily highlighted. This is just a visual acknowledgement of which object will be selected if you were to click on it. If you let the cursor hover over an object you will get a tooltip displaying various properties of the object. The tooltip is translucent so as not to fully obscure objects beneath it. The image to the left shows a highlighted wire and its properties in a tooltip.
Holding the Ctrl key down while clicking on objects performs a disjoined selection. Perform a continuous selection by sweeping out a rectangular area that involves pressing the left mouse button down on a spot that contains no objects, dragging until the rectangle encompasses the objects you wish to select, and then releasing the left mouse button. Hold down the Ctrl key while doing so toggles the selection state of the objects.
Objects are not automatically selectable. Objects that are set to invisible, either by object type or layer visibility will not highlight, nor are they selectable.
Additionally, the Layout view has a toolbar, shown at right, which allows the selection of PCB object types to be toggled on or off. This can be very useful to prevent the accidental selection of some object types while performing certain tasks. For instance, while routing traces it can be a nuisance to miss picking a track by just a little and picking a component instead because it will begin moving the component off of any existing routes to the component pins. Of course you can always cancel the operation.
Context Menus
Pressing the Right Mouse Button (RMB) will always display a context menu populated with commands that are applicable to the current selection. If nothing was selected then an implied selection is carried out on the object the cursor was pointing to when the RMB occurred.
Like the tooltip, the context menu (shown left) is translucent to prevent objects underneath the menu from being obscured.
If several different types of objects are selected, the context menu may contain submenus for commands that operate on the different object types. Submenus are indicated by a right-pointing, right-justified arrow and will be displayed when the menu item is highlighted.
In addition to the mouse, the arrow keys may be used to select different menu items.
While a menu is active, all other activity in PCB123 is suspended until a menu selection is made or the menu is cancelled.
Commands
PCB123 supports most of the common Windows editing commands such as Cut, Copy, and Paste. Currently, these commands are specialized to perform data interchange only between PCB123 documents. Both Undo and Redo are fully supported in PCB123.
Starting a New Design
As previously mentioned, PCB123 attempts to accommodate a wide audience of which everyone, regardless of experience, needs to design a PCB. Your project may be using the most common off-the-shelf components and may need to fit in a standard housing but you still need to design that one custom part - the PCB. Because it is custom, the burden falls largely on you to ensure its correct design and operation. Good design software and good design practices will greatly aid you in this effort.
PCB123 allows for the specification of rules that can ensure manufacturability and design continuity. Some of these rules can even be used to guarantee adherence to certain standards bodies’ rules such as the UL requirements for minimum spacing between nets of certain voltage potentials.
There are issues associated with PCB design that can be extremely complex and are beyond the scope of this guide. As a rule of thumb, if you need to incorporate the electrical or temporal effects that the PCB has on nets as a function of the routing topology (transmission lines, crosstalk, emissions) then you may require more sophisticated (and very expensive) layout tools than PCB123 unless you are at an expert level in such matters. We do not have a button that ensures FCC compliance for your design but we do have a button that ensures everything is hooked up where it should be and nothing is shorted together. We also have a facility so you can add a button to ensure FCC compliance of a design by writing a Plugin that operates on the PCB data in any way you desire.
PCB123 will automatically detect and report many of the problems that may arise during the design process. Even so, there are many places where the software cannot second-guess intent. How much checking the software will do, and even how much time the software can save you by performing some tasks automatically can be a direct result of how much information you supply PCB123 at the start of a design. First, let us look at the gross tasks involved in designing a board in PCB123.
Overview of PCB design tasks
Here is a quick list of the different tasks involved in designing a PCB. For now, it ignores how the design data is acquired and input into the system. It assumes you have already designed a schematic in PCB123 or input a netlist from another tool. This is covered in detail in the next section.
The tasks are generally in chronological order but your design or your favorite techniques may differ slightly. The basic tasks are:
Using either the New Board Wizard or the Board Configuration Dialog, specify any manufacturing requirements for your design. These include the number of layers in the design, whether you desire soldermask and/or silkscreen on your boards, and certain non-standard requirements such as board thickness or copper weight. Some features are mutually exclusive and will be clearly indicated as such. All the configuration options can be changed at any time and are only finalized when ordering. However, some options can greatly impact the design rules which, if going from a less to a more restrictive set of rules, can be much more difficult to deal with in the later stages of a design. Examples of this would be specifying less layers than actually routed on, or changing from standard 1oz. copper to 2.5oz copper which requires greater spacing and feature sizes to properly etch the thicker copper clad. Incidentally, if you are new to this, then the concept of “adding layers” or “deleting layers” may be confusing to you. A PCB may have more than a front layer and a back layer. Two or more circuit boards can be independently etched and then carefully aligned and glued together, one on top of the other with an insulator between them. These boards are then drilled as one and the holes are then plated. The plated holes allow copper from one layer to be connected to copper on different layers. PCB123 handles 2, 4, and 6-layer boards as a standard process. For boards with more layers than that, you are requested to send the design to Sunstone for quick evaluation. You will then receive back the same design with the desired number of layers enabled and an adjusted price quote.
After the basic board configuration has been specified, ensure the size and shape of your board outline is correct. Closely associated with this is to correctly define and position any mounting holes or other hardware and to position any fixed electrical devices such as connectors, LEDs, and switches. In short, make sure the board will fit in a chassis or enclosure, that it can be secured in place if needed, and that any lights or dials that mount on the PCB are visible or accessible through openings in the enclosure.
Identify the electronic components that your design will use and either map them to “footprints” from our supplied libraries or create any custom footprints as needed. A footprint is a reusable stencil that defines the pattern of copper pads, drill holes, and silkscreen information such as the component outline and a reference designator (name) for the component.
Place all the components on the board so they don’t overlap or violate any special criteria that you may have such as height restrictions or proximity requirements such as locating filters near connectors or other sources. Once the critical mechanical and electrical requirements have been considered, the remaining components typically want to be placed in a way that minimizes the overall interconnect distance between components. Some components may require additional room around them to ensure all pins can be connected with routes. It is also desirable to place the components on as coarse a grid as possible. If all the pads are on a regular grid, then routing the board is much faster and easier because you will not have to make as many small bends around pads.
Distribute power and ground. Ensure the supply pins on semiconductors are properly decoupled by placing decoupling capacitors in close proximity to the supply pins. Bulk decoupling or filtering may want to happen close to the connector pins or devices supplying power to the entire board. If the board will have dedicated copper plane layers for power and ground then those nets should be assigned to the proper plane layers. If two or more nets are to share a plane layer but still be isolated from each other (called a split plane) then the isolation needs to be manually drawn on that plane layer. Surface mounted devices may need to have their power and ground pins routed out to a plated-through-hole that ties the surface pad to a plane layer. If the power and ground is to be distributed with routes and not plane layers, then they should be routed using traces that are wide enough to handle the required amount of power. Redundant routing in the form of a matrix may also be desired at the board extremities or at some regular interval to keep voltage levels uniform across all devices.
If any signal nets have critical requirements such as complimentary routing or matched/critical length, or they require special attention such as pin-to-pin route sequencing, then these nets should be routed before other nets.
Route all the remaining interconnections. This can be the most time consuming task in PCB design and there are many strategies that can be used. One strategy that is almost always a winner is to assign a direction to a routing layer. There can be a lot of flexibility in this, but by routing mostly vertical on one layer, and horizontal on a different layer, you will be much less likely to create blockages for layer routing. The layers will have a “flow” to them and changing between layers by using vias as the routing direction changes can typically utilize the layers much more efficiently. If your design is moderately to very dense, and a sizable percentage of it uses surface mounted devices, then you can expect that the surface layer(s) will be consumed by short routes that escape a surface pin to a via (a plated drill hole) to effectively allow that pin to be routed on any layer. This process is known as Fanout routing and should be done before bulk routing. It is not only a time saver for bulk routing but can be an early indicator of problems. If you cannot fanout a device then you most likely will not be able to completely route that device without making more room around it, adjusting its location, or adding more routing layers. It is much better to discover these kinds of problems earlier than later. Moving a component after it has been routed hurts more than moving it before it was routed. Additionally, you may have struggled to route most of a dense design only to find that you need two more routing layers to complete the rest of it. Knowing this up front would have made the routing easier right from the beginning.
When all routing is finished, you may wish to improve power and ground distribution or provide ground shielding by flooding regions of the board with a copper plane that is tied to a power or ground net. Any object in the region that does not belong to a net, or has a net other than that of the copper region will be automatically isolated from the copper region. These regions are collectively known as copper pour.
The next task will be to perform a Design Rule Check (DRC) and address any problems that it may have uncovered. The DRC will report on shorts, opens, and violations of manufacturing rules such as minimum spacing between objects of different nets, and pad size vs. drill size violations. Some reported violations such as problems with the silkscreen can be ignored at this stage but certainly DRC violations on routing layers and plane layers should be addressed.
If your board is to have silkscreen on it, then you will want to place the component reference designators so they can be seen after the board is populated with components. This usually involves moving the reference designators outside the component outlines but close enough to the correct component to prevent an ambiguous reading of which name belongs to which component. You may also wish to add other nomenclature to your design such as the name of the board, a company logo, jumper configurations, or other wording or drawings. Nomenclature can be added to copper layers and silkscreen layers. If text is added to the bottom routing layer or bottom silkscreen then that text should be “mirrored” so it will read correctly when the finished board is flipped over in your hand to observe the back. After adding your nomenclature, you will want to run an additional DRC to make sure you didn’t short anything together or create silkscreen on any pads.
As a final check, you may wish to view your design in 3-D. PCB123’s photorealistic 3-D viewer may allow you to visually spot problems that DRC assumes are correct. Because it displays the board in perspective and from any viewing angle, certain errors such as wrong/missing drill sizes or unreadable silkscreen text tend to really stand out compared to looking only at the orthogonal 2-D view. Once you are satisfied that it looks correct and DRC is reporting no errors then you can press the Order button which guides you through the order process. Depending on the board complexity and the time of day you placed the order, you will receive your boards anywhere from 2-5 business days later.
Data Requirements
PCB123 provides a host of tools to complete all the different tasks but many of them are highly dependent on how you specify or acquire the design data. This can be broken into two methods: with a schematic, or without a schematic. To be even more specific, your design has been “captured” inside a schematic program, or your design resides on a napkin, in a picture, or in your head.
It takes effort to capture a design with schematic software but this effort usually pays great dividends. Unless your design is extremely simple and involves only a few parts, it is strongly recommended that you create an electronic schematic of the design before attempting layout. PCB123 provides a schematic capture facility that works in lock-step with its layout facility. In addition, PCB123 also is capable of reading and importing netlists that have been generated by other schematic capture programs.
In case you are unfamiliar, a netlist is a file that lists all the components used in a design and defines how those components are connected together. A component, or part, is usually specified in a netlist as a name/type pair. A component name, or reference designator, typically consists of an alpha prefix and a numerical suffix such as R1 or U15. Reference designators must be unique in a design. The component type, or part type, might appear as anything from a proprietary description such as RES_33-OHM_1/4W to a manufacturer’s part number such as SN74LS00N. In some cases, the component may also be augmented with additional data such as the name of a standard package or footprint for the part. After all, a 33-ohm, ¼ watt resistor can come in many physical sizes and shapes. The connectivity information in a netlist is usually specified at the “net” level. A net has a name such as +5V, GND, or RESET, and has a list of one or more “nodes” or pins in the form of R1.2, which reads “pin 2 of component R1.” A net with one node is legal but unusual. The vast majority of nets consist of two or more nodes. A net with two or more nodes inside PCB123 will be displayed as pin-to-pin wires that must be connected by a continuous copper path or plane.
Until PCB123 V3, a netlist was the traditional data transport from a schematic program to a layout program. For the first time, PCB123 eliminates the netlist as a data transport as long as the schematic was designed in, or converted to a PCB123 schematic. A schematic designed in PCB123 has a more intimate relationship with the layout than does a netlist from another program. Using a netlist from a different schematic program has the following disadvantages:
A netlist is a static snapshot of a schematic at a particular moment in time. If changes are made to the schematic then a new netlist must be generated that reflects the changes. If the PCB layout is already in progress, then the PCB must be synchronized with the new netlist. Luckily there are facilities for this but if the schematic was created in PCB123 to begin with, any change to it is instantly reflected in the layout and vice-versa.
A netlist is not certain to contain part references that are known to PCB123. These unknown references must be resolved. This can actually be done interactively while reading the netlist because whenever an unknown part type is encountered, you will be presented with a browser that allows you to find and graphically verify a footprint from a library to use for the part type. A native PCB123 schematic, on the other hand, will not even allow a schematic symbol to be placed on a page unless it has already defined the PCB footprint it uses, and verifies that the footprint can be found in the library.
Very little context from the schematic is retained in a netlist. That a net is connected to a power or ground symbol is not reflected in the netlist. If it were, then that net could automatically be made to use fatter routing widths. A PCB123 schematic automatically uses that kind of contextual information to adjust the layout rules as needed. A netlist is also missing proximity information or any data that indicates how the schematic was organized by page or through a hierarchy. This information is expected to be widely used in future releases of PCB123 for such things as grouping, replication, and as hints to the autoplacer.
Changes initiated from the PCB design, such as adding a decoupling capacitor, must be manually performed over in the other schematic program. If this is not done then there will be a mismatch when comparing the two databases and performing another netlist comparison will run the risk of undoing the changes, in this case deleting the newly added decoupling capacitor. As mentioned before, PCB123 always synchronizes changes from either side to the other. There is nothing to remember or relay to someone else.
Despite the disadvantages listed above, using a netlist from another system is far superior than designing a PCB without one. Most schematic programs have some facility for performing an Electrical Rules Check. This can flush out logic errors very early by detecting such things as outputs connected to outputs or anything connected to a pin designated as N/C (not connected). Many schematic programs also host simulators that can verify the correct operation and timing of circuits. Additionally, capturing your design in a PCB123 schematic or in a netlist allows automated tools in layout such as the autoplacer and autorouter to be used. These tools can save hours or days of labor or they can also be used for early decision-making and early identification of problems.
Though PCB123 allows you to create your PCB design using piecewise primitives such as individual pads and line segments, it is not recommended except in the most trivial designs. These designs miss the benefits of context checking and many powerful automatic tools.
The New-Board Wizard
When you first run PCB123, you will first see either a “Latest Information” window or a “Checking for Updates” window, both that assume a connection to the internet. If the computer is not connected to the internet, then a message indicating that fact is displayed.
The “Latest Information” window is a small web page that is periodically updated to reflect new services, promotions or important notices.
Every so often, the software checks if a new version is available for download. If a new version is available, a summary of new features and bug fixes is presented along with the option of downloading and installing the new version. If you continue to run with older software, you will be asked to update about every tenth time you run the software. You can always check for, and install new updates yourself from the PCB123 menu.
After dismissing the “Latest Information” or “Checking for Updates” window, you will be presented with the first step of the “New Board Wizard”. If you want to load an existing design or just start fiddling with the software, you can click the Cancel button or press the Esc key to dismiss the wizard.
The New Board Wizard is primarily for new users but many find it useful to begin a new design no matter how long they have used the system. The Wizard has been carried forward from version 2 to version 3 virtually untouched, which makes it a highly board-centric feature. It never even mentions the word ‘Schematic’ once and PCB123 reserves the right to change the Wizard in the future to make it more Project-centric as other Project-level behavior is defined or requested.
The New Board Wizard has 4 pages of which the first one is shown below:
The Board Name field is essentially the title of your new design and can be anything as long as it is not empty.
The Netlist File field is optional. If you have captured your design in a schematic program other than PCB123, then you can either type the name of the netlist file or, more likely, click on the Browse.. button to invoke a standard Windows file dialog box that allows you to navigate to the file. If you do click the browse button, the ‘Files of Type’ will list all the netlist formats currently recognized by PCB123. The netlist will not be read until the wizard is finished.
Clicking on the Next button brings you to step 2 as shown below:
You have a choice of defining your board size by entering a rectangular width and height for your board or selecting an existing board template supplied by Sunstone, a third party, or created previously by you. When selecting templates, you will get a postage-stamp preview of the template.
Templates most likely will contain a board outline but may also contain tooling holes, dimension lines, title blocks, and even components such as connectors. Because a netlist may define a component and a template may define a component there exists the possibility for a conflict. If they both attempt to load in a component with the same name, then the component in the template wins and will be used in place of the one in the netlist. A warning will be issued to that effect. The template component wins because it contains a more complete specification by including location, rotation, and board-side data.
Step three is where you specify the number of layers in your design and how those layers are used. It appears below:
In the Number of Layers section, you can select two, four, or six layers for your design. The default is two layers. Selecting more than two layers will enable the Inner Layer Type options. You may need more than two layers because of a mechanical requirement such as high component and interconnect density and unfavorable interconnect topology, or for electrical reasons such as cleaner power distribution and transient return paths, or to form transmission lines on critical nets.
You will have to specify which nets are assigned to the plane layers. Any pin belonging to the specified nets will tie to the plane at a plated hole.
This plane connection does not occur against a solid plane, but instead the plated hole has an isolation gap around it with “spokes” that bridge the gap at certain places. This isolation prevents the plane layer from sinking too much heat during soldering. It focuses the heat on the pin and allows for a clean solder bond.
Step four allows you to specify additional board fabrication options as shown below:
Depending on the number of layers you selected in step three, you may or may not be able to check and uncheck the Soldermask button. A six layer board always has a solder mask.
Checking soldermask will enable the Silkscreen button. Checking silkscreen will not increase the price of your board unless you also choose to have silkscreen on the back of the board. This can be specified in the Board Configuration Dialog.
The PCB Thickness selection allows you to choose between two thicknesses under certain circumstances. By default your board will be 0.062” thick. That is a highly typical board thickness. If your board is only two layers, has soldermask, and is using standard 1oz. copper weight then you have the option of specifying a half-thickness board of 0.031”. You most likely only want to check this if your board is small in area because the thinner board material is susceptible to warping and curling, especially if there is an imbalance of copper clad from one side of the board to the other. You most likely will choose a thin board when weight is of primary concern or if a small amount of board flex is required.
The Copper Weight selection allows you to choose between two different copper clad weights, but only under specific circumstances. By default your board will have standard 1oz. copper weight but if your design has two layers, soldermask, and is using 0.062” thick material you will have the option of specifying a heavier 2.5oz weight copper clad. The unit measurement of weight represents the number of ounces of copper per some square area. The heavier weight is due to a thicker clad. The thicker clad can carry more current but it comes at the price of increased feature size. Trace width, pad annular size, and spacing requirements all increase by nearly double. The nominal copper line thickness increases from 0.006” to 0.023”.
Checking the Lead Free checkbox specifies that your design is to use the RoHS fabrication process. This option is free. If your design includes surface mounted components that have high pin counts, such as a BGA, then it is recommended that you check this box because the RoHS process results in superior pad planarity (flat surface).
When you click the Finish button, any specified board templates and netlists are loaded. You may be prompted to select which footprint to use for components whose part type is not found in any library or alias list.
A good deal of checking is performed while loading a netlist and if errors are found they will be reported but they will not prevent a design from being created. This may result in a partial load of the netlist so the error log should be checked carefully. It is possible that a netlist format emitted by some host system has changed slightly or does not conform to previously encountered formats. The netlist readers are designed to recover from encounters with unknown data and will attempt to re-sync on known data. Because of this, a netlist may load with errors but the errors are just benign data that the reader did not expect. In any case, check everything carefully when errors are encountered and we encourage you to send us netlists that may have tripped up the system so we can update the reader for that format.
Starting Without the New-Board Wizard
You can skip the New-Board Wizard and just select File-New or click the icon in the main toolbar. This will present you with the Board Configuration Dialog which is a compact version of the New-Board Wizard . It too allows a netlist to be specified when invoked in response to File/New. The netlist field will subsequently be disabled if this dialog is invoked after a new design has been created. Only the board configuration options will be enabled and can be modified at any time.
Results of Creating a New Design
When the Wizard completes, or the Board Configuration Dialog is dismissed, the system will have created a new design document with the requested number of routing and plane layers, the specified rectangular board or selected board template, and any components and nets specified by either the board template or the netlist.
If a netlist was specified and called in components and nets, then, one or more special schematic pages will have been created that contain an auto-generated symbol for every component on the board. The pins of these symbols may be tied to global ports with the same name as the nets on the board. You will essentially have a matching PCB123 schematic that you can use going forward, though you may also continue using the original schematic and synchronizing any changes with a netlist. The last task that is performed after loading a netlist will be to run the autoplacer for an initial component spread. It is possible the autoplacer will warn you about the parts not fitting on the board if it is too small to contain all the parts as specified.
If no netlist or board template was specified when creating the new design document, then the only database objects created will have been a board outline and a single schematic page named “Main Schematic”. In this case, you can immediately begin designing in one of two ways: smart and safe, or quick and dirty.
The smart and safe method has you switching to the new schematic page to begin your schematic design.
The quick and dirty way has you manually instantiating components and routing them with the Freestyle routing tool.
Using either method will result in the complimentary view being updated as changes are made, but the information model is not completely symmetric between the two design methods. A maximum information model is created in both the physical (layout) and logical (schematic) views when objects are created from inside the schematic and not from inside the layout. This is obvious in the case of adding a component to the design. If done from the schematic, the component is most likely defined by a symbol or symbols (in the event of gates) that symbol may be richly attributed with component metadata such as value, tolerance, manufacturer’s part number etc. This data will be reflected in such items as the Bill of Materials (BOM). The symbol will also have a reference to the specific PCB footprint to use.
On the other hand, a component that is instantiated inside layout can only auto-generate a corresponding schematic symbol. That symbol will appear as a rectangular box with pins sticking out of it. In the worst case it will only be endowed with a reference designator and a footprint attribute such as SOIC-14. You may instantiate two different resistors inside layout and correctly use them without regard to their possibly different values. This may result in a nearly useless BOM because the two resistors will appear on the same line item without any indication as to their values. The logical and physical views may be isomorphic in regards to electrical continuity, but they are quite different in visual appeal and accurate part metadata.
Default Settings
Whenever, and however, you create a new design, there are a number of software settings that obtain a default value. Most, if not all of these settings are stored directly in a design file when you save a design but how they get their initial values and how the values are subsequently changed is worth mentioning. These settings include display colors and visibility for layers and objects, the current working grid, angle snap grid, full-screen cursor display and a host of other settings. Though these settings are per-document settings, you can specify the values to be used as the default values when a new design is created. This is done through the User Preferences dialog.
This dialog contains several pages of controls to adjust various system settings. In addition, it contains buttons at the bottom that allow the entire collection of settings to be saved as a Preference File or a Preference File to be loaded. It also allows a new set of defaults to be established for new designs.
PCB123 Directories
When you install the software, whatever directory you specified for the installation is only where the program files were installed.
In addition, a directory tree will be created under
Windows xp: Documents and Settings\All Users\Application Data\PCB123 or
Windows 7/8: ProgramData\PCB123 on the system drive.
Depending on your system settings, this directory may be hidden from you. However, the PCB123 Installer has created a link file in your My Documents folder named PCB123 Files. Double-clicking on this file will open a Windows Explorer set to the above directory. You should see a list of files and folders similar to that show on the left.
Here is a brief description of the folders:
BackupFiles – This folder is where the interval backups are stored. While you design with PCB123, a backup of your work is done every 10 minutes. The backup filename if the design name plus _Backup#, where # is 1 through 5. A revolving set of the last 5 backups are maintained, with #1 being the most recent. Additionally, if the software crashes, your design will be saved with _Crash appended to the design name. Incidentally, Sunstone has never had a report of lost work or a corrupted design file. Many safeguards are in place for just such an occurrence.
Lib – This is where the system libraries are installed. Inside this folder, there is a folder named Custom, which is where any libraries that you create will be stored.
Designs – This folder has been created for your convenience. You are not required to use it.
Preferences and BoardTemplates – These directories store saved User Preference sets and Board Templates. There are features in the software that deal with these directories.