I have been looking at the E-series products of Pico Computing Inc. for a while. Specifically the E-16 or E-17 ExpressCard with Xilinx Virtex-5 FPGA (now legacy products) would be very nice to have installed in my notebook to play around with. Unfortunately, the €1700 price tag of a single E16LX50 didn’t quite fit my budget and no units were for sale on Ebay. Instead, I decided to make my own and enjoy the road to a working prototype.
This and the following pages will describe my progress on developing an ExpressCard with programmable logic:
A few years after my internship at Xilinx, I started to play around with one of the Spartan-3 FPGA evaluation boards. Since then, the number of boards and modules has steadily grown to provide some inspiration for the design. Since I did (and still do) not have any experience with soldering BGA packages, I selected the largest available (and reasonably priced) Xilinx FPGA for my ExpressCard design in a TQFP package: the XC6SLX9-2TQG144. Since the configuration of the FPGA is defined in volatile memory, a Xilinx platform flash XCF04S is added to keep the configuration during reboots.
The ExpressCard/54 format PCB barely has enough space to add a second FPGA for increased capacity. Instead of a second FPGA, I selected the Xilinx CPLD XC2C384-10TQG144. The interface of the ExpressCard slot consists of a USB 2.0 port and a PCI Express x1 lane. Pico Computing is using the latter to enable high data transfer rates to the PC. To keep things simple in the prototype, I selected a FT2232HL-LQFP64 with 93LC46B-TSSOP EEPROM to provide an UART link to the FPGA and a connection to the JTAG chain.
The remaining space on the board is occupied by a Micron 256MB SDRAM (MT48LC16M16A2P-75:D), the programmable clock synthesizer CDCE913PWG4 of Texas Instruments and a pile of decoupling capacitors. The schematics of the board and PCB layout are available on the Downloads page.
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.