You are on page 1of 53

Introduction to PCB Design Cadence PCB Design Tools

Jason Blankenberg Fouad Kiamilev University of Delaware CPEG 324


This document will illustrate how to create a simple Printed Circuit Board (PCB) using the suite of Cadence design tools. The manufacturing requirements have been adapted from the PCBexpress website. When a pad size or drill size is specified, it is important to remember that they will vary depending on the manufacturer. While this tutorial is specific for the Cadence tools used in this class, a good general tutorial is available online at http://alternatezone.com/electronics/

Planning the Project


Before we start creating a PCB we need to know some things about it. 1. What is the purpose of the board? 2. What components do we need? 3. Where will the board be made? 4. How much time will it take to get it done? 5. How difficult is this board? The first two questions will be answered here and the third will impact some design decisions later. The last two are dependant on you.

What is the purpose of the board?


For this tutorial we will be creating a simple board that will cover the abilities you will need to know for the board. To cover the basics, we need a board that uses: at least one discrete surface mount component, a component that uses through-hole mounting, transmission lines, SMA edge connectors and various capacitors and resistors. Generally the component selection would be based on the project requirements. We first need to create a rough drawing or schematic of what we want to put together. Once we have that we can decide what components will be used. Here is the first sketch of a circuit for this design:

What components do we need?


From there I began looking for components and expanding on what will actually be one the PCB. The easiest way to find components is to use companies like Digi-Key and Mouser Electronics and search their catalogs. Once some suitable parts are determined it is time to update the hand schematics. Other things will be required depending on the parts selected as well.

From the parts selected we need resistors and capacitors. There is also an LED included to have visual output, but also requires the use of a transistor. A header is also included for use with a jumper. We then list the components we will be using. LVDS Driver and Receiver: DS90LV049TMT Quad Input XOR gate: 74LVQ86SC LED: C170TBKT 47.5 OHM resistor: ERJ-3EKF47R5V

100 OHM resistor: ERJ-2RKF1000X 3 pin Header: 87224-3 .1 uF Capacitor: ECJ-2VB1C104K .001 uF Capacitor: ECJ-ZEB1E102K NMOS: BSS138TA Pin Tip Power Connectors: Black: J110-ND & Red: J109-ND SMA End Launch Connector: 142-0701-801 Another design decision is the number of layers to use in the PCB. The LVDS driver/receiver suggests a minimum of 4 layers. This project does not require more layers than that, so we will make a 4 layer board. With the planes of the board described from top to bottom: High-speed signals, ground, power, signals. With this information we can begin constructing the board. This tutorial will walk through the steps in a linear order. It is important to know that this is not always a linear process. There may be times when the design is changed or a component changed.

Seting up the Tool Suite


First, the environment needs to setup. This is accomplished by adding the Cadence tools to your path. You can download and source this file to add the setup the path. The file needs to be sourced every time you log on to the system. You can locate the file here: http://www.ece.udel.edu/~blankenb/cpeg324/downloads/cadence_setup.source. Make a directory for the tutorial and then make several sub-directories. Make directories called pad, psm and dra. These will be used later to store different files of the project.

Starting the Tool Suite


For this tutorial you will be starting the Cadence Project Manager which will provide you with the tool flow for creating the PCB. Create a directory that you want to keep you project files in. Enter that directory and type:
snorlax[45] [~/pcb/tutorial/]> projmgr

This will launch the Product Choice window. Choose the top option, PCB Design Expert.

This will then flash the Cadence splash screen and finally the PCB Design Expert: Project Manager.

Creating a New Project


To start the design process we first must start a project. The project will create a .cpm file that does the project tracking. To start the project we click on the Create Library Project button in the Project Manager. This will bring up the New Project Manager Window. To continue past this page, select Non-DM and press the Next button. The choices between Data Managed and Non-Data Managed projects, choosing Non-DM will simplify our configuration. Data managed mode is used in shared project environments to allow multiple users to access the same projects while maintaining project integrity (similar to a CVS).

The next window in the wizard asks for a project name and a directory. Because we started Project Manager in the directory we want to use, it is already in the Location box. The Project Name for this exercise will be tutorial.

The next screen is used to add libraries to your project. For now we will skip this step and add a library later.

After clicking next, the project summary will be displayed. The configuration generated by the wizard can be checked. The project will be created by clicking the finish button.

A progress box will be displayed. When it has finished, you should hopefully receive this message:

After you click OK, the Project Manager window should change to the Library Management (PCB Librarian Expert) Flow. If it does not, or you need to switch between different tools you can change the Project Manager window using the Flows menu and clicking on Library Management

Setup the Paths for the Project


We now need to setup cadence to use the files we created. This is done by setting the paths in Cadence. First open the Board Design flow and click on the Setup picture.

This will open this window:

First click on the Tools tab and then select Allegro Setup. This will open a window called User Preference Editor where you can setup many different aspects of the project. We will only be changing some design paths. From the folder listing on the left choose the Design_paths folder. We will then change the value for padpath and psmpath.

Click the button with 3 dots next to the option you want to change. First padpadth: We must now enter the a path for where we will store our pads. Of the buttons on the top right of the screen, choose the right most one New(Insert).

Use the 3 dot button again to open a file explorer, select the pad directory you created earlier and then click OK until it is added to the padpath items window.

Press OK to return to the User Preference Editor. Do the same for the psmpath. Then click OK in the User Preference Editor and the Project Setup window to apply the settings and close the windows.

Pad Stack
The next step to creating a PCB is to design the pads that will be used for components. Cadence generally includes some standard pads but these have to be verified by you. Therefore it is normally easier and safer to make the pads yourself. The pads are created using a tool called the Pad Stack Editor. To access this tool you will need to change the Flow again. This tool can be launched from the Library Management flow of the Project Manager.

There are many options in this window, including two tabs. The options will be described first and then we will create the pads based on data sheets for a few components. Type: Is this the style of pad you need to make, this depends on the component. Through drills all the way through the board. Single is just a single landing on the layer. Blind/Buried are pads that do not go all the way through the PCB. Units: This option specifies the units that you will use for this part. This is almost always mils.

Multiple drill: this allows for multiple drills holes in the same pad stack. Drill hole: The options in here allow for a plated or non-plated pad. Plated pads are used to make the electrical connections. A non-plated pad could be used as a mounting hole. The size of the drill hole is the diameter of the drill used for the component. The Offsets are used to specify a drill hole that is not in the center of the pad. Drill symbol: The figure is used to visually identify the pad. The character is unused. The width should be set to the size of the hole, this is not required but can be done. The next step is to move to the layers tab. This is where the information for the pads is really defined. This is the critical part of the pad stack editor. Depending on the type of pad (Through or Single) the layers tab will be different. This is because single type pads (also called surface mount) have no drill hole and therefore have no internal or bottom layers. The different layers of the pad stack are Begin Layer, End Layer, SOLDERMASK, PASTEMASK, and FILMMASK. Once each layer is selected there are different parameters associated with each layer, they are Regular Pad, Thermal Relief, and Anti Pad.

Layers:
Begin Layer: Used to describe the size of the copper landing used for the pad. This is often referred to as the copper layer. Default Internal Layer: This is the default pad size for internal layers. This is used for through-hole mounting and vias. Keep this the same as the begin layer. End Layer: Used to describe the size of the copper landing used on the opposite side of the PCB. Surface mount pads do not have this layer. SOLDERMASK: This is the area you needs to be solder later. This value should be larger than the copper layer (begin layer) being used for the pad. The additional size is dependant on the PCB manufacturer and component specifications. We will use a 5 mil surround on all sides, this is done by increasing the radius or x-y dimensions. PASTEMASK: This is used to paint solder onto the board. This is used when the surface mount chips will be placed on a board and then the entire board is heated. This is generally 70 80% of the size of the copper layer is solder paste is being used. FILMMASK: Not used in this class.

Parameters:
Regular Pad: Size of the area around the hole

Thermal Relief: Used to insert space around the pad to ease thermal requirements during soldering. By using the menu in this column, you can select different predefined styles. For this project we will use a Flash geometry with the TR30_20 Flash Pattern. Anti Pad: Describes the spacing between a pad and a non-connected layer.

Surface Mount Pad

Through Hole Pad

For this tutorial we will be using both surface mount and through hole components.

Surface Mount
In order to know the requirements for the landing pads for the components, the data sheet for the component must be consulted. The Layer Editor provides both top and bottom layers for the SOLDERMASK, PASTEMASK, and FILMMASK. Normally you will only define the TOP mask because that is the same side of the PCB as the BEGIN LAYER. Bottom layers will be on the opposite side of the board and are not needed for most designs. We will construct a pad for the DS90LV049 component. This is a surface mounted LVDS Dual Line Driver with Dual Line Receiver. It uses rectangular landing pads. The last page of the data sheet contains the information required to make the pad:

On the Parameters tab we set the units to millimeters and the decimal places to 2. We then begin defining the values of the Layers tab. The data sheet shows the pad as a 1.78 mm by .42 mm rectangle. We use this information to define the Regular Pad of the BEGIN LAYER. We leave the Thermal Relief and Anti Pad blank. Next we define the SOLDERMASK_TOP. The dimensions should be 5 mils larger width and height (on each side) than the BEGIN LAYER. That causes in each dimension have a +.254mm size. The result is a 2.04 mm by .68 mm. If this board was being manufactured for production, then we would specify a PASTEMASK. This should be smaller than the copper layer so we use 1.42 mm .34 mm. If the board is being soldered by hand, then the PASTEMASK is not required. For this tutorial we will not use the FILMMASK.

Once that is complete, we use save the file using the Save As option in the file menu. Give the pad a descriptive name that you can use to identify it later.

Through Hole
The other style of pad is the through-hole pad. The most important thing for a through hole pad is to include the anti-pad. This is the space between non-connected parts layers of the board. From the parts list we constructed for this project we will use header pins as an example. This is a 3x1 square post. The pins are .025 inches (25 mils) square. This information is available on the product sheet. From the product sheet we also know that the pitch between holes is about 95 mils. To create the pad, we need a round hole that will fit the 25 mil square pin. Most manufacturers have a +/- 1 mils drill constraint. Therefore we need to size the drill larger than the 25 mil pin. Using math and looking at PCB manufacturers websites, we find that a hole size of 40 mils with a copper layer of 57 mils will work. First use the Parameters tab to set the holes size to 40 mils, the Drill symbol to square and the size of the drill symbol to 40. On the Layer tab, TOPLAYER, DEFAULT INTERAL and BOTTOMLAYER should square 57 mils. The anti-pad for these layers is 75 mils. The last part to specify is the Thermal Relief for the pad. The thermal relief is used to reduce the copper connecting the pad to the layer or signal. The best way to do this is to select a style of anti-pad, the most common is Flash, then open the predefined styles and select one from the list. We will use TR30_20. The next step of making the pad for this is to define the SOLDERMASK. For this board we use 62 mils square for both top and bottom. The pad when finished will look similar to the following:

VIA
A VIA is a connection between layers of the PCB. These are used to route power and signals where they are needed. The size of a VIA will depend on the specific use of that via. Normally for signals that do not carry current, you would want the smallest via possible. For power, you may want something larger. For this tutorial we will use only one via, a round through hole via with a radius of 14 mils. The PCBexpress website has information about the copper pad and anti-pad.

Predefined Components
One of the components we are using in this tutorial is the NMOS BSS138 transistors. This is a standard part that has a predefined footprint. You can see this because there is a JEDEC specified on the data sheet. The JEDEC for this part is SOT23. For this part we will not have to define the padstack or footprint. For the rest of the tutorial you need to complete the pad stack for each of the components. One helpful feature is that only one padstack needs to be created for each component that has standard sizing. These components include resistors and capacitors. They are sized with information like 0402, 0603 etc. This allows many different 0603 parts to share the same padstack and footprint. Theyre information is defined using a part table, well discuss that later. It will not help for this tutorial because we are using a different size for each component. Remember to save the pads into the pad directory of you base tutorial directory.

Footprint
The next step in PCB design is to construct the foot print of each part that we will be using. This allows for the physical placement of the components and the mapping of pins from the foot print to the schematic we will make later. The footprint is created using the program called Allegro. This will create the Package Symbol. Once the footprint is created there will be two files for the foot print, .psm and .dra. For this part of the tutorial we will complete the footprint for one component. It is the process for creating each footprint. We will design the footprint for the DS90LV049. The first step is to start-up Allegro Symbol Editor on the Library Management flow of the Project Manager. It will take a few seconds for the window to appear but it will open a blank page, or the last footprint that was worked on. To start the process we will use the Package Symbol Wizard. This is launch through the File, New menu and selecting the wizard option. It is important to give the component a name that you will be able to recognize later. Once you give it a name, you should also place it in the dra directory that you created. This will help to organize your design.

The Wizard
The wizard will start by asking what type of package to create. This is important because it should match the package that you will be using later. The differences between the different packages are as follows.

DIP (Dual Inline Package): This is a through-hole package that has a line of pins on both sides of the component. SOIC (Small Outline Integrated Circuit): This is a surface mount packages with pins on both sides of the package.

PLCC/QFP (Plastic Leaded Chip Carrier/Quad Flat Pack): The offer pings all around a device. PGA/BGA (Pin Grid Array/Ball Grid Array): These packages have pins that make contacts under a chip. Pin Grids are through hole while Ball Grids are surface mount. TH Discrete: These are through-hole discrete components. SMD Discrete: These are surface mounted discrete components. SIP (Single Inline Package): These are a row of pins in a straight line. ZIP: These packages are named because of the staggered pin arrangement that resembles a zipper. Each component will required the correct package type for creating the footprint. The driver and logic gate will require the SOIC, the resistors, capacitors and LED will require SMD Discrete and the header pins will require the SIP package. The parameters for each component are provided on the data sheet for the component. Now we will begin creating the footprint for the DS90LV049. The first step is choosing the package type, SOIC. The next screen allows you to choose a template for what the package will look like. We will choose the Default Cadence supplied template. It is important to press the Load Template button.

The next screen describes the general parameters for the design. The units used to enter dimensions in this wizard should be the units used on the data sheet. That will make it

simple to create the part. The units used to create the package symbol are the units that are actually used to create the outline of the package. It is generally a good idea to keep these units the same. Because we have the dimensions for this part in millimeters we select millimeters for both options. The accuracy is how many decimal points will be used.

The next screen is where the information for the package is entered. Using the diagram on the left of the window and the information on the data sheet, all the values can be entered. It is important to match the orientation of the symbol with the data sheet. For this part, the pins on the data sheet on are the top and bottom of the package while Cadence defines them on the sides of the package. The following screen shot shows the parameters as entered for the DS90LV049.

The next screen needs input for the padstack that is being defined. For these parts we use the pads we created earlier in the tutorial. It also asks for the padstack to use for pin 1. This is often done to identify the pin 1 of a package so it is identifiable visually. It is not

required but can be done. You could make a pad that is a different shape. We will not be doing that for this part. There are other ways to identify pin 1, and we will be doing that later.

So we start by choosing the padstack for the symbol pins. Selecting the browse button will bring up the Padstack Browser. There are many Cadence included pads as well as the pads we created earlier. Find the pad you created earlier for the component, highlight it and press OK. It will then be entered in the Padstacks Window.

Press next and it will take you to the Symbol Compilation screen. The first option is up to you, I select pin 1 of symbol. The second option is to create the compiled symbol. You can choose to do that now or not. We will compile it again later so it does not matter what you choose.

The last window is a summary. Click finish and your footprint will be created.

Any time a change is made to this file, it will need to be generated again. This is done from the file menu. Select File, Create Symbol. This will generate the .psm file.

Be sure to place it in you psm directory, The symbol must be regenerated anytime you make a change to the dra file. Complete this process for all the components that you will be using. Remember that the standard components (resistors and capacitors) that use the same sizing only need one footprint for the same sized component. Also remember that the NMOS does not need you to define the footprint because it is already provided.

Part Developer
The next step in the board creation is creating schematic cells for each part. This allows for the schematics to be created. The first step is to change the license suite. This is done from the Project Manager, PCB Librarian Expert. Then start Part Developer from the Library Management flow. Once it is started up you will be presented with a simple screen:

New Cell
To create a new cell, go to File, New, Cell. Select the tutorial library and name the cell that will be created. For this example we will continue with the LVDS driver/receiver, DS90LV049. It is important to remember that the cell is independent of the foot print we created earlier. It is a good idea however to make them similar.

Package
The cell now needs to be attached to the foot print that was created before. From the file menu select, New, Package. This will add a package to the hierarchy on the left and display the following screen, which is also available by clicking on the the component under the package menu:

There are some option boxes near the bottom of the screen. This is where we need to start. The Class is just a general description of what the part will do, for this we are choosing IC. The JEDEC Type is the important part. Here we select the footprint that we created in Allegro. It should appear in the list because we added the path to the psmpath earlier. Next we go to the Package Pin tab. The package pins will be mapped to the pins on the footprint. Pin operations are completed through the pin button near the top of the tab. The first one we will do is add. This screen will be displayed.

There are two main types of pins used, Scalar and Vector. We will only be using scalar pins. The prefix box is name that will be displayed on the screen. Using the From and To boxes, you can add an arrays of pins to the package at one time. We will add names for all the pins we have in this package. The Type drop down box is used to describe the pin to the program. The main types we will be using are input, output, power and ground. So we enter the appropriate information for a pin and then click the add button. We can add several pins at once without leaving this window. When we are finished we press the OK button and the pins are added to the package.

Once the pins are added the part developer window will look like:

Then using the S1 field in the Part Developer we assign the named schematic pins to the physical pins of the footprint. This is easily done by entering the pin number in the S1 field of each row. This will add the pin assignments to the Physical Pin pane of the window. The result looks like:

The next step is to generate the symbol and then save. Generating the symbol is easy done by clicking the Generate Symbol(s) button. This displays a Generate Symbol(s) dialog box, we will generate the symbol for the first functional group (S1) and this will be created new. We then save the package using File, Save. This process needs to be completed for XOR gate, header, LED, and transistor. As mentioned before, the JEDEC type for the transistor is SOT23. From the data sheet we know there are 3 terminals but we do not know how the pins map to each other. So we need to look at the foot print of the SOT23. Once we add the pins from the schematic to the Functional Group of the package, the Footprints part of the hierarchy will be displayed. If you look at the general tab of the foot print it will show you the directory of the footprint for the SOT23. Open the file in Allegro and see how the pin numbers are assigned.

Part Table
Components like resistors and capacitors have the same function but often with different values. The important differences are the value of the component and the size of the

footprint. Footprints can be reused between different components so thats why we defined the standard ones earlier. We will now define the Part Table for resistors and capacitors. This could also be done for inductors, but we are not using them for this project. The first step is to start the part developer again. Again select File, New, Cell. This time we will call the cell RESISTOR.

Next we create a new package. We do not need to specify a JEDEC type in the General tab. You will need to create 2 pins and generate the symbol. The next step is where we create the Part Table. Select the Part Table Files option in the hierarchy browser. Nothing will be displayed, which is okay. Right click on the name and select NEW. This will bring up the Ptf Editor. This is the Part Table File editor.

Select the Header choice and there will be three sub tables in the right pane. The Key Properties table is the one we will be using first. The first line will be Value and place a ? mark in the value cell.. Next we will enter lines into the Injected Properties table.Place the following entries in the table: PART_NUMBER, VALUE,

TOLERANCE, JEDEC_TYPE, COST, DESCRIPTION. If you think something else will be useful, then add it too.

We then start adding rows to the part table; this done by selecting the Part Rows and pressing the ADD button. This will insert a new line into the table to be filled out. Enter the resistor information that you have collected for this tutorial. Then follow the same steps for the capacitors. The finished Part Rows will look like:

Complete this for the capacitors; all the parts should now be defined.

Schematics
The schematic is where first pieces of the overall design are put together. The symbols are used to make the logical connections between parts. To star up the schematic editors you use the Design Entry tools that starts up Concept-HDL. The window will start up with a blank schematic.

The first step is to add the components we will be using. This is done with the Component, Add and then selecting the Library we are taking the components from. For this tutorial, the library is tutorial_lib. Highlight the component you want to add, and then drag the mouse over the Concept window. The schematic should appear with the mouse. Click once to place the component in the schematic. Do this for each of the components we will be adding. Once all the components are added, press the close button on the Add Component window. Then, to end the component adding process, right click in the Concept window and select done.

In order to select the correct part for the resistors and capacitors we need to use the part table. Select the part that needs to be modified, right-click and select modify. The part Physical Part Filter window will appear.

Select the correct line for each for and then press close. Do this for all resistors and capacitors. All components are now on the schematic. The final step of the schematic is to connect the parts with wires. The wire tool can be found using the Wire menu at the top of the screen. Thin wires will be used. To start creating the wires, select the Draw menu option. While there is no requirement for the schematic to look like the final layout of the physical components, it is a good idea to keep them close. It allows for an easy correspondence between the two. To start wiring the parts together, select the pin of one device, start routing the wire, move the mouse to another location and click. Each time

you click, a new point will be added to the path and the wire will retain the pattern it has. This allows for the wires to be routed easily even when dealing with complex designs. Explore the wiring tool and wire the components together in the method of our original design. The capacitors are used as decoupling capacitors and should be wired as such. The final product will appear similar to this:

Board Layout
Laying out the board is the process of actually placing the components on the board that will be produced. Some of the key aspects to start this part are board size, component location and trace routing. Another important aspect of the board design is keeping it synchronized with the schematic. Keeping it synchronized allows for changes to be tracked and completed with out error.

Creating a New Board


To create a new board file, open the Board Design flow and choose Layout. This will launch the PCB Librarian Expert. It is a good idea to locate the following information before you being. This information will vary depending on the board manufacturer you choose. Choosing a manufacturer like PCBexpress we get the associated values: Minimum Line width 7 mils (min) Minimum Line to Line spacing 7 mils (min) Minimum Line to Pad spacing 7 mils (min)

Minimum Pad to Pad spacing 7 mils (min) Default VIA padstack VIA18R13 (not dependant on manufacturer)

Now that we have those values we can start up the layout editor. From the Board Design flow, choose Layout. This will bring up Allegro, the same tool we used before. This time however we will create a new board file. Name the file and place it in a directory that you will remember.

This will bring up a blank design screen. The first step will be to place the board boundary. This defines the dimensions of the board. This is done by selecting the rectangle tool. The pane on the right side of the window will display Active Class and Subclass. These define that kind of line or shape will be drawn. The first thing we will be doing is defining the Board Geometry. You can either free draw the shape or use the P key in the bottom of the pane. This will place the courser is specific places around the grid. You will also need to define the Route Keepin and the Component Keepin. These are done the same way the Board Geometry is done, except they need to be 20 mils inside of the Board Geometry. This is a manufacturer specification that allows for small differences during manufacturing.

The next step is to synchronize the schematic with the board. This is done with the Board Design flow. Press the Design Sync button and select export physical. The follow screen will be displayed.

The package option can be left on Preserve; the Regenerate Physical Net Names can also be left the way it is. The important part to change is the Input Board File and Output Board. Finally, the BackAnnotate Schematic should also be checked. The BackAnnotate option copies information back from the layout to the schematic keeping the information together. For the input and output files, select the board you just created. This should complete without errors if you completed the previous steps correctly. If you do receive an error, then look at the error log and attempt to fix it. If you want you may look at the log file. It is important to keep this files synchronized because it will allow you to find errors in routing.

Quick Setup
In order to efficiently layout the PCB there are a few things that should be setup. Once the board file is created open the Setup and choose Drawing Options. Then choose the Display tab and make sure the following options are selected.

Board Parameters
Next we setup the number of layers used in the board and some of the criteria used. To set the number of layers in the board select Define Xsection button in the menu bar.

The screen that comes up will show the existing layers of the board. We will have 4 layers of copper, so we need to insert 2 plane layers and 2 dielectric layers. The ground plane should be closets to the top plane. Generally place a ground plane close to any plane with high speed signals. The bottom layer will also be used for signaling, so we place the power (VCC) plane under between the ground and bottom plane. The planes are also normally done as a Negative Film Type. If you were manufacturing this board, this is also the screen where you define the thickness of each layer. This is done by click on the arrow along the left for each layer and selecting the show property. Then enter the value. It will be saved when you move to another layer. If you do not have the Xsection button, you need to change license suites to PCB Design Expert.

Placing Components
The next thing to do is to begin placing components. This is done through the Place menu. Select Manually, and then and expand the Components by refdes. This will show the components that exist in the schematic. Begin placing them roughly where they will go, you can move them later using the Edit menu. A very rough placement of all the components would look like the following:

Notice the lines connecting different shapes. This is called a rats nest because it shows where some connections need to be made. The first thing to do is to make a better arrangement of the components. Place them physically where they should go. The final configuration will be required to have all the pieces inside of the Board Geometry.

Once you have arranged the pieces in a good pattern, it would be time to start wiring. We will first mirror a component to get practice with that. Mirror a component does not just rotate it 180 degrees, but also moves it to the back side of the board. This allows components to be placed on the underside of the PCB. The first step is to select mirror from the Edit menu. We will be mirroring the XOR gate for this demo because it uses the low speed CMOS signals. Keeping the differential signals on top is important because it has the ground plane to insulate it.

Wiring
Now that the components have been placed where we think they should go, it is time to start wiring. We are going to use differential lines to connect the SMA connectors to the LVDS Driver and Receiver. This is done to preserve the signal integrity. The first step is to define the differential pair. This is done through the Logic menu at the top of the page. Select the Assign Differential Pairs option. The Screen that appears is where you will define what signals will be differential. Differential pairs should be wired manually to provide the best signal integrity.

Select the differential signals, assign them a name and press the Add button. Do this for 3 pairs used in this design. Then click OK. The next step is in the setup menu. Select the Constraints option. This will bring up the following window.

For now we will just be editing the Electrical constraint sets. This will allow us to define the style of the differential pair. The window will display with several tabs in the middle. Select the Assign tab and add the differential pairs you created the Assigned Objects box. Next select the DiffPair Values tab open the Calculator. This will help you decide the parameters for the differential pair. If we use calculator to specify a differential impedance of 100 ohms and a gap of 7 mils, then it will calculate the line width. The impedance should be 100 ohms because thats what the LVDS lines are setup for and the line gap is set to 7 because that is the minimum spacing. Change the values in the calculator and see what else you can get.

Close out of this menu and we can place the differential signals. The signals will be routed like any other signal.

Power Planes
The power for this and most PCB is distributed on a plane. These are entire layers of the PCB that are conductive. For this Board we have one power and one ground plane. To set up the plane we draw an etch rectangle for the proper layer and assign it the correct net name. The steps for this are as follows: Select the Shape menu, and the Rectangular option. One the right hand side of the screen, set the class to Etch and the subclass to the layer you want to draw on. Next, assign a net name using the options dialog box. Then draw the plane over the area of the board, stay inside of the keep-in.

Manual Signal Routing


Manual signal routing should be done anytime there are important signals to be routed. It is also a good idea to route power by hand. Some people prefer to route everything by hand. There are other methods though, but manual routing is a required skill to have. A good idea is to save a copy of the layout without any routing done. This allows for moving pieces around later without needing to remove a large number of traces.

Trace
First select the connect option from the Route menu. Next select the pin of component you wish to start routing. As you move the mouse, the path will be drawn. You can set way-points with the mouse by click on specific spots. When you reach the destination just click on end point and the trace is complete. The same method is used to route differential pairs.

Via
When routing manually, there will often be times when you need to route between layers. This is done by using a via. We must add the vias to the design. From the Setup menu select the Vias submenu; then select Autodefine B/B Via. The follow screen will be displayed.

On this screen we will add the via we created. Open the Input Pad Name option box and select the via that was created earlier. Press the Generate button in the bottom left corner. And then select DEFAULT to move the list from the Available to Selected Box. This will allow the vias to be used later to define signal routing between layers. To add a via when wiring, the steps are straight forward. In the right pane of the layout editor, you will be able to configure the pad you want to use. 1) Begin wiring at the starting point of the trace. 2) Next draw a line to where you want the via to be placed. 3) Click once to set a point. 4) In the Option tab select the via you want to use. 5) Click on the spot you want the via. 6) Continue wiring or click again to end the trace. When finished you will have a properly connected via and traces.

Wire the power and grounds. Be mindful of leaving space for routing signals in the future. The following is a capture of this design with power, ground and differential signals routed.

Automatic Routing
There are two auto-routing tools included in this distribution of cadence. For this tutorial we will briefly cover the SPECCTRA auto-routing tool. Auto-routing, as the name implies, is a tool that will route the signals using a set of calculations. It follows a set of parameters that are provided by the user. The initial board boundary and keepin that was defined are used by the auto-router.

Start SPECCTRA by using the Route, SPECCTRA routing menu options. You may get an error message, ignore it for now. Once the tool opens, you will see there are many options. The first one we must use is in the Select menu and choose Vias for Routing and then By List.This will display a list of available vias. Select the vias you want the auto-router to use.

Next we use the Autoroute menu and choose route. The following screen has a few more options. We will leave the default options. The options should be straight forward. Via and Pin Sharing allow for the nets to be routed through the same via or pin.

Then press OK and the auto-router should route the signals. The screen may flash as it iterates through different combinations. Eventually it will converge on a completed layout. You may receive errors. One if your design is very complex and the auto-router converges too slowly and will give up. The other is if the design is too simple, and the auto-router suggests you simply the design. You can see the results in the window. You can now exit the auto-router. This is accomplished through the File menu, Quit option. Here you can choose to save and quit or quit with out saving.

Completed Design
The design and layout of the PCB is now completed. There many more options to explore, if all the options were explained this tutorial would fill several books. An important step not covered through this point in the tutorial was the Silk Screen layer of the board. The silk screen allows for shapes and symbols to be written onto the top and or bottom of the board. There is an appendix describing how this should be done.

Setting-up Layout Colors


To increase the usability of the layout editor, it is possible to assign different colors to the different layers. This will allow you to quickly identify what is connected. First select the colors palette by click the button with 4 colored squares.

Then you can start changing the colors of each layer. I recommend using a different color for each layer. The colors you choose are up to you. Here is a copy of the colors I used.

You might also like