Making Custom PCB for FPGA
In this week, I have finished my design on a custom PCB for the camera using FPGA (Spartan 6). This design I have started working on it during the winter. Building an FPGA design was hard at the first start because there are too much pins on this Spartan 6. I had to read the specifications of this chip and to see which pins are required to program and pins are the user I/O.
I googled and found a blog that this person guides how to program on FPGA by Jtag: https://tcengineering.wordpress.com/2014/03/20/how-do-i-fpga/
So basically, there are 3 type of programming FPGA:
- Direct programming: The PROM chip is programmed over JTAG where the PROM chip is attached to FPGA, and then the PROM programs FPGA at boot.
- Indirect programming: This is type of programming where you can select direct program the FPGA or load temporary PROM programmer application onto FPGA which PROM programs FPGA at restart.
- Processor programming: This is an advanced type of programming where Xilinx built this application on their products. This programming which a microcontroller acts like a JTAG programmer to dynamically reprogram the FPGA. Xilinx use FT2232HQ microcontroller which is bridge UART/FIFO IC. This microcontroller can use multipurpose such as JTAG, UART, I2C, SPI or bit-bang.
If you look at the schematic below, a few components include are Spartan 6, PROM, oscillator, 3v3 voltage regulator, leds, resistors, and capacitors. Only a few pins are needed for this design. This design mainly is created for capturing image from the camera. The custom PCB will be attached to the camera, so the UART in FPGA sends signal to the master Arduino board.
On the picture below is a completed routing on the custom PCB board. The routing may take up to 4 layers, but I proficiently tried to route only 2 layers, so we can save the cost of PCB producing. The size of the custom PCB is 40 x 40 mm. The Spartan 6 size alone is about 22 mm long. We wanted a small compact design because it may look neat and fit to the camera.
Final thoughts: I have sent the Gerber file to the manufacturer. It only costs about $13.99 for 10 pcs. We use EAGLE CAD for the design.