5.2 Test board design
5.2.2 Preparing for layout
After the schematic is built and checked for design errors, it is time to move on to the next design step and layout the circuit and design the PCB. The tool used to perform the circuit layout and design the PCB was Cadence – Orcad’s layout tool; Layout Plus. The schematic capture program generates a netlist file that is read into layout plus to perform the layout process. Analogous to the part symbol in a schematic, every component in a layout is represented by its “footprint”. The foot print is the copper area on the circuit board onto which a component will be soldered to when the PCB is assembled; these are sometimes referred to as land patterns. It is very critical that the footprint be correct, any discrepancy can lead to improper connection of the component to the rest of the circuit and result in improper system functioning.
So the first step after finishing the schematic design and before beginning to layout the circuit is to make sure that you have footprints defined for all of the components that you are going to use in your design and have them assigned to their respective components before
generating the netlist. The layout tools have libraries that contain many of the standard footprints for many package types. If the footprint library does not have the footprint of any of your components you can do one of three things. First, you can go to the device manufacturer’s website and download the footprint if they have it available for your layout tool. Second, you can modify an existing footprint in the program’s library if it matches the package type but it does not have the same dimensions. Or third, you can create the footprint from scratch.
The fist method is not suggested and even if the manufacturer does have the footprints available for download, the chances of a version compatible to your program depends on the program you are using i.e. if it is a program widely used in the industry or a program meant for a hobby designer. So if the components package type is available in the library, the second method is the easy solution. Fig 5.11 shows the footprint for a standard 676 pin BGA which needs to be modified to a 674 pin footprint.
Figure 5-11: 676 pin BGA foot print in the standard library
If the component package type is not in the library, most of the time an existing footprint of a package similar to it can be modified, to avoid errors it is advised you start the footprint from scratch. The component’s datasheet have the components mechanical information that you can use to make the correct footprint. Some datasheets also have a recommended land pattern defined in them to help the designer. Shown in fig 5.12 is the package outline for the cyclone II FPGA [4] used in this thesis work. It is a 672 pin fine line Ball Grid Array (BGA) package and the package outline has information like distance between the centers of the pins, width of the pin, length of the device package, width of the device, its clearance from the flat PCB surface and other such mechanical information to help the designer design the appropriate footprint to house the component on. These dimensions are given in inches or millimeters and all the dimensions are in the same units. If manufacturer provides the dimensions in both metrics, one
of them is in parenthesis, for example, if in the datasheet, the two metrics indicated are inches and millimeter and millimeter is given in parenthesis, it is denoted in the legend as inches (mm).
Figure 5-12: 674 pin BGA package outline [25]
In the datasheet of the FPGA, the manufacturer provides the designer with the numeric values for the package outline dimensions denoted by e, b, D and E in a table format similar to the one shown below. The units of the dimensions are also provided in the table.
Symbol Symbol
Min. Nom. Max.
D 23.00 BSC
E 23.00 BSC
b 0.5 0.6 0.7
e 1.00 BSC
Table 5-1: Package dimensions [25]
This information is used to modify the existing footprint. The corner four pads in the standard BGA are removed to get the arrangement of the pads as shown in the outline and the distances between the pads are modified along with the size of the pads to the value given in the table to create the desired 674 pin BGA footprint required for the cyclone II FPGA.
Figure 5-13: Modified 674 pin BGA footprint
Another thing a designer needs to keep in mind is having a proper padstack. A padstack is the dimensions of a footprint pad defined on each of the layers of a PCB. When making footprints you have to make sure the padstack is compliant with the standards for PCB tolerances of the PCB manufacturing company. The company’s website will have a list of minimum specification for spacing and other considerations that they can manufacture. For example, PCB manufacturers require a minimum of 10 mils or 0.010 inches of inner layer clearance i.e. if you have a through hole on a circular pad to mount a component and the hole goes from the top layer of the PCB down to the bottom layer through an inner layer, the radius of the pad in the inner layer must be 10 mils larger than the one on the top and bottom layers.
In summary, before the netlist file can be generated for the design process to move on to the next step i.e. the board layout, the designer, keeping the fabrication specifications and the device
mechanical dimensions in mind, needs to create the footprints of all the components and assign them to their respective parts in the schematic.