Last week after finishing the schematics I started with assigning and creating the components footprints. This was the first thing I finished this week, though it took some time to finish them. Afterwards, I started with placing the components on the board.
First things first; our board is compatible with the Arduino board, so its size should be the same as Arduino. Also, I/O ports should be located as the same location so Arduin’s shields and modules can interface with our board as well. Once that’s settled, I then placed the Ethernet module and the microUSB jack at the end of the board. Now having a clean canvas, it is important to put much thought about where each component should be. The most important component, of course, is the FPGA since it has the most connections, and care must be taken about its location as discussed below in DFM. Next is the PIC18 microcontroller. It has to be located near the Ethernet and USB ports, and also it has many connections to the FPGA. Nothing else in the board is critical, and everything can be located anywhere. After a few iterations of relocating the components, I ended up with a good layout for the components.
The 2.5V and 1.5V regulators are located at the back next to the FPGA, since nothing else is connected to them. The memory card socket is also placed at the back, since it takes a big area and the front of the board is basically full. The decoupling capacitors of the FPGA have to be located at the back, as recommended by Xilinx user’s guide.
The locations of these components are not yet final, and it WILL change as I carry on. For now, I think this is a good starting point.
Grounding and Decoupling Capacitors
Although these are two separate topics, yet they are related. After placing the components, the first connections that need to be done with, are the power and ground connections. And to connect those two to your components, you will encounter the decoupling capacitors. The location of the de-caps is crucial. The smaller the capacitor, the closer it needs to be to the IC pins. I will not go into much details about de-caps here, as they are many resources out there discussing this topic. The thing is, however, that there is no one correct way of doing things, hence there are so many recommendations out there and some times they are contradicting. The only way of determining what method and recommendations to use is by understanding the very basics of this topic yourself.
The PCB stack-up is signal/ground/power/signal. The power plane will be split into 4 parts, one for each voltage level. This however will not be a concern for routing signals – since it is recommended not to route any sensitive signal over split planes – as the second layer will be ground and will not be split.
I have finished connecting the decoupling capacitors for the FPGA. It is worth mentioning that this PCB will be quite a challenge in terms of routing while maintaining the design rules of the manufacturing house we will use to manufacture the board later on. In this TI app note, the recommended track width for routing 1mm BGA (the one we are using for the FPGA), is 0.1mm, which equals 3mils. This will allow two tracks to be routed between two pads. However, the design rule we are bound with is that the minimum track width should be no less than 7 mils! Luckily, we are not using all of the FPGA pins. It would be almost impossible to route all pins with a 7 mil track.
Design For Manufacturing
Last thing I would like to talk about is DFM. There are many concerns that needs to be addressed, and rules that should not be overlooked when designing a PCB with manufacturing in mind. A nice recommended measures for DFM are summarized here. One of these limits is the minimum space between the BGA FPGA and any other components. This limit would be 250 mils for ICs, and 125 mils for other smaller components, such as resistors and capacitors. I took these consideration into account while placing the components.
And that’s it for now. I will finish routing the PIC microcontroller decoupling capacitors, and then continue with the rest of the circuit. Talk to you next time.