Skip to main content

2.1. Introduction to PCB Design


This tutorial is for complete beginners with Cadence SPB board design environment. It is a step-by-step guide through the design of a PCB for a basic amplifier stage. PCB design is always under the control of a netlist, that is to say a schematic.

Therefore, the main steps leading to PCB design include:

  1. Preparing an electronic schematic of the circuit you want to turn into a board
  2. Preparing (or collecting) PCB footprints for all the physical devices in the schematic
  3. Performing part symbols and PCB footprint association
  4. Generating the schematic netlist
  5. Placing parts (location, orientation) onto the board surface
  6. Tracing copper routes between parts

 

1. Preparing the Schematic

At first, you'll need to create a new project ('tuto_pcb' for instance) under Cadence Capture CIS.

 

Then edit the full schematic as shown below:

image_001

Spice simulation is not involved here, you may therefore use parts from any library. For this design, you can use parts from these libraries:

ReferencePart NameLibrary
R1, R2, R3, R4, R5, R6Rlibrary/pspice/analog.olb
C1, C2, C3Clibrary/pspice/analog.olb
Q1BC107Blibrary/pspice/ebipolar.olb
J1CON4library/connector.olb

 

A printed circuit board is a real physical thing. Therefore, you can only place real components. For instance, you can't place functional parts such as power sources that we use for simulation. Every outboard stuff you want to further connect to the circuit (power supply lines, input and output signals, ...) will access the PCB components via physical connectors (J1 here).

Once the schematic is done, the next step is to specify a footprint for each part. The footprint is a drawing which defines the component landing pattern (pads type and position) for the soldering and additional information such as part outline, pin numbering and reference designator.

image_002image_003image_004
Schematic viewReal thing (TO18 package)TO18 Footprint

 

2. Collecting and associating footprints

Within Cadence Allegro, footprints are stored as .dra files. A footprint file instantiates pads. A pad defines the soldering copper surface (ring, oblong, rectangle...), and optionally the drill for through hole mounting components. Pads are defined and stored separately in .pad files, but you need to understand that a footprint file (.dra) requires its associated pad files (.pad).

Footprint design out of the scope of this tutorial. For now, you can download a small archive with the required footprints here.

Unzip the file tutolib.zip and store the tutolib\ folder and its content (pads\ and symbols\ folders) somewhere on your drive you can remember. There's five footprints in the archive you'll need to associate as follow:

ReferenceFootprint name
R1, R2, R3, R4, R5, R6res_01
C1, C2cap_02
C3cap_03
Q1to18
J1con_04

 

Footprint association is pretty simple. Double-click a part in the schematic to open the part properties tab. Then enter the name of the footprint file you want to associate (without .dra extension) in the PCB Footprint property field.

image_005

Save the properties when done.

Repeat the above operation for all parts in the schematic, using the above table.

If you find this tedious, you can also select all parts in the schematic (CTRL-A), then press ENTER to open properties tab for all parts altogether. You can filter properties class by using the Allegro PCB Designer filter on top of the area. Then playing with Pivot button, you can achieve the arrangement below and enter footprint names in a much convenient way (including copying cells by mouse drag). It's also a good way to make sure nothing is left apart.

image_006

Save before closing!

By now, the schematic is ready for PCB design. But before exporting the netlist into PCB Designer tool, there is something we need to do.

Make sure everything is saved and close the Capture application. We'll need a fresh restart after the library path settings we'll do next.

 

3. Preparing PCB Designer

From Windows® start menu, launch PCB Editor (under Cadence Release 17.2 folder)

image_007

 

Then select Allegro PCB Designer license and click OK:

image_008

 

The Cadence Allegro PCB design environment opens:

image_009

From the main menu, select Setup→User Preferences...

Then, in the Categories area, expand the Path folder, and select Library item:

image_010

We need to setup PCB editor with paths to our footprint library (the tutolib folder, you've downloaded earlier). Click on the Value button in front of padpath preference:

image_011

Using the and buttons, remove all existing paths, and add a new path corresponding to the pads\ folder of tutolib (use your own path):

image_012

Repeat the above operations with psmpath preference, now using the path to the symbol\ folder:

image_013

You can now click OK to close the User Preferences window, and quit the PCB editor. It's ready for the next operation...

 

4. Exporting the Schematic into the PCB Editor

Relaunch Capture and reopen the 'tuto_pcb' project.

Take some time to look at the Online DRCs frame. DRC stands for 'Design Rules Check'. Capture performs some real-time verifications as a background task while you're working on the schematic, and may warn you if design exhibits inconsistencies. This list must be empty... If not, then you have some stuff to repair.

Try to change the transistor PCB footprint for instance, using the 'res_01' footprint instead of the required 'to18':

Save the properties and watch out the Online DRCs. You get a pretty explicit warning that reports a mismatching pin number between the transistor symbol (3 pins) and the res_01 footprint (2 pins):

Repair any warning you may find here. There's no point going further as long as you have any problem in the schematic.

When all clean, select the main design resource tuto_pcb.dsn in the project tab:

image_014

Make sure the project is saved (right-click → Save), and then from the main menu select Tools→Create Netlist... or click

You can leave options as proposed and click OK.

image_015

You'll be asked to allow folder creation, just say Yes. The allegro\ subfolder will be used to store a (big) number of files associated with PCB design.

image_016

 

Then from the main menu, select PCB → New Layout. Since there is no existing layout already, leave the Input Board File field empty. Leaving this field empty means that the board file ('tuto_pcb.brd') will be initialized with no previous design, and hence let you start from scratch. If you need to create or resume a new layout based on an existing one, you may provide something here.

image_017

Clicking OK here launch a process that:

  • Performs a complete check of the design

  • Verifies footprints availability and consistency (pin numbers and names matching for each part between schematic symbol and PCB footprint)

  • Starts the PCB Editor with schematic netlist loaded

Let's go!

Then watch out! A progress window appears for a short time, indicating success or failure of sequential operations. When finished, if everything went fine, the log area should report this:

image_018

If you have anything wrong (errors or warnings) DO NOT GO FURTHER. That's useless because even small warnings will most likely produce missing footprints later on at PCB stage. Instead, scroll up the log and find out what's wrong. Then fix problems and start the create netlist operation over until you get no errors and no warnings.

If log report is clean, you can select the Allegro PCB Designer license again and wait until the Allegro PCB Designer environment opens. Then you can start working on the PCB.

 

5. PCB Designer Settings

Make sure the grid is on by using the button.

Next select Setup→Design Parameters... from the main menu or click the button.

  • In the Display tab, enable the display of Plated holes and Non-plated holes and leave other options as proposed

    image_020  
     

  • In the Design tab, change units to Millimeters (you may get a warning dialog box regarding accuracy, just click OK). Click the Apply button at the bottom of the window to apply unit changes before next step

    image_021  
     

  • Come back to the Display tab, and click the Setup grids button

    image_022

    Set the grid spacing to 1.27mm everywhere. That spacing corresponds to half 2.54mm, which is the standard (labdec) pin spacing for several through hole components. Then click OK.

    image_023

You finally can close the Design Parameters window by clicking OK. Back the the main editor working area, you may adjust the zooming using mouse wheel.
 

6. Part Placement

From the main menu, go to Place→Manually... or click the button. The Placement window opens:

image_024

 

Select the transistor part Q1, then hover the mouse outside the Placement window in the working area. You should see the Q1 footprint attached to the mouse cursor. Click anywhere you like to place Q1. Observe that Q1 is now flagged as placed in the part tree view.

image_025

Repeat the above operation for all parts. Use the schematic topology to get a rough initial placement. Indeed, placement should be done carefully, keeping in mind future routing. For instance, try to keep two connected parts as close as possible from each other.

You can rotate parts while placing using right-click to invoke contextual menu and then Rotate. It will take some time to understand how PCB editor manage commands. While you are in an interactive command (placing and rotating components for now), you can access live options using the right pane. Here you can for instance change the rotation angle (default is 90°).

image_028

Be careful with the Mirror function... Mirroring a component consist in placing the component on the opposite side of the board. We do not want this here, all components being placed on the top-side of the board. While in an interactive command, Cadence provide instructions in the command area, and you must monitor the current state in the bottom status bar:

image_029

When you are done placing components, you must quit the place command using a right-click somewhere in the working area, and then Done. This is an habit you need to get used to as it is the way to terminate pretty much every command within Allegro.

image_027

Make sure the command is no more active by a glance to the status bar indicating Idle. Idle is the status you should have before starting any new operation.

image_030

 

When you're done placing/rotating all the components, you may end up with something similar to this:

image_026

Note that initial placement we've done is something quite random. The blue lines connecting symbols are called 'rats'. These are not copper tracks. It just shows logical connections between components. It is a placement help. Shorter rats, with few crossings will make the routing more straightforward. As you can see, we have room to make it better...

Time has come to refine placement. For that, let us use colors for rats to help focus on priorities.

Click the Color/Visibility  button, then select the Nets tab. Using the color palette, change net 0 (ground) rats color to dark gray, and Vcc net rats to yellow:

image_031

Click Apply and then OK.

image_032

 

Use the move/rotate button  to refine placement. Forget about ground rat (net 0) for the moment, as ground routing will be processed using a ground plane when all other routing is complete. Concentrate on signal rats (blue) and Vcc rat (yellow). Try to arrange components nicely (close to each other but not too much, aligned, and avoiding too much rats crossings). Now it's art!

Here is an example of refined placement:

image_033

Be aware that you can't really know if the placement will work until you've done routing (drawing copper tracks). You can only gamble on success... Be prepared to move parts again while routing...

 

7. Routing

7.1. The Constraint Manager

Before starting to draw copper track, we need to tune something called the Constraint Manager. Constraints are a set of physical rules (track width, distance between tracks, between pads, ...) that Allegro uses to produce warnings when a rule is violated while drawing. Constraint are defined depending on your PCB provider manufacturing capability, and targeted board price (the smaller patterns, the more expensive). There are hundreds of rules you can specify in the constraint manager, but we'll only set a few for this tutorial.

Open the constraint manager .

In the left pane, open the Physical section and select All Layers under Physical Constraint Set. Then change the minimal Line Width to 0.6mm:

image_034

In the Spacing section, change the Line to All spacing to 0.2mm:

image_035

Repeat the above setting in the Same Net Spacing section:

image_036

That should be enough to get started, so you can close the Constraint Manager window.

 

7.2. Net Routing

Hit the Add Connect button and than click on J1 upper pad. You're drawing a copper track:

image_037

 

The green color is the default color for tracks on the top side of the board. Since we're routing through-hole components, we'd rather route on the bottom side. Invoke the contextual menu while routing and change the active layer to Bottom:

image_038

Then keep going:

image_039

 

Use rats to connect all the components repeating the above operation. An example of completed routing (except for the ground net) is shown below:

image_040

It would be very tedious to explain all the editor functionalities in this tutorial... You'll have to experience by yourself some editing tools:

  • You can shift or delete existing tracks

  • You can change track width (a track with different widths is possible) using the contextual menu while routing

  • You can move part with tracks keeping their attachment (Options→Slide Etch while moving)

Note that all signals have been routed on the bottom side of the board here. That's often possible with simple circuits with few components. With more complex circuits, you'll need both sides of the board to manage net crossings or avoid long tracks. For instance:

image_041image_042
Single-side routingDouble-side routing

In this tutorial, let-us keep the routing single-face.

 

When done, from the main menu select Display→Status. You may click the Update DRC button to get something similar to this:

image_043

 

This dialog box is very important. It states that all symbols (components) are placed, which is good, but also reports that one net with four connection is still to be routed. You may click the tiny yellow button Unrouted Connections to get detail:

image_044

As expected, we still need to route ground net. But this one will be processed using a ground plane instead of tracks.

 

7.3. Ground Plane

Before getting into ground plane design, we need to define the board outline (shape and dimensions).

Click the Shape Add Rect button, then focus on the Options right pane. Select Board Geometry and Outline as Class/Subclass and make sure that Shape Fill Type is Unfilled:

image_045

Then draw a rectangle encompassing the whole routed area by clicking two opposite corners. Use the contextual Done when finished:

image_046

This rectangle defines the board limit. We'll use this to draw the ground plane as well.

Click the Shape Add Rect button again, and again focus on the Options right pane. Select Etch and Bottom as Class/Subclass. This time we want the shape to be copper plane, on the bottom side of the board. Make sure that Shape Fill Type is Dynamic Copper, and assign net 0 to the shape using the ... button.

image_047

Then again, click on two opposite corners to draw the ground plane rectangle, using the same dimensions as for the board outline:

image_048

 

Congratulation, your PCB is now completed and ready for fabrication. You may check the status: All green!

image_049

 

image_050

Allegro 3D rendering of the finished board (requires a STEP 3D model for each part). See tutorial 2.7 if you're interested.