fpga board

hello,

I would like to try to build my own fpga board using a spartan 3e with 1600K gates (fbga-320 package).

Can anyone please suggest what design sofware and which prototype pcb/assembly manufacters are most appropriate for this?

thanks,

David

With a 320 BGA package you will most certainly need more than 2 layers to break out all the pins. 4 would be the minimum. BatchPCB now allows 4 layer designs so you could definitely make a prototype through them.

In terms of design software, whatever you are most comfortable with is what you should use. Many people use Eagle because it is free but you would have to buy a license in order to make a board with more than 2 layers (Eagle limitation).

It sounds like you are not very familiar with PCB design so I would suggest making something a lot simpler before diving into a board that contains large BGA devices. This will give you a chance to evaluate different software packages and learn about proper board layout on cheaper designs before spending money on a significantly more expensive design effort (especially if you make a mistake).

-Bill

note that i don’t need to use all the fpga IO’s, so that should make the pcb a lot simpler.

(i just need to be able to communicate with the fpga from PC through serial port, the fpga is just used for computation power not io)

For the moment i use the spartan 3e starter kit, but in the end i would like to be able to make a board with multiple fpga’s on it. (like 4*3 fpgas / board)

David

as I recall, xilinx says that for noise immunity, you need a 4 layer board.

and, yes, I agree. a bga for a first board is agressive. very agressive.

what about a small board with a xc3s100e fpga (vq100 package) and a ftdi usb<->serial chip.

would that be more achievable for a first board?

also do you know any good companies that do assembly of such components as well (in europe preferably)? i know of pcbtrain.com, but i never used it.

David

VQ100 is much easier to deal with than BGA and would be a better choice for a beginner board. Since FPGA’s are expensive, I would suggest learning to solder small pitch devices on something a lot cheaper unless you are planning on having someone else populate your board.

What I’m really curious about is why you need the potential processing capabilities that a large FPGA affords when you are running an RS232 connection between it and the PC. The serial port will be such a bottleneck that the PC should be able to finish any calculation well before the data finishes transmitting to the FPGA. On the other end of the line, unless you have implemented some massively recursive algorithm, the FPGA will be sitting idle most of the time. I would explore other interface alternatives if you are serious about using the FPGA as a powerful DSP. The Spartan 3E can be interfaced with PCI and PCI-X busses which would give you bandwidth orders of magnitude greater than RS232.

-Bill

what i want to do is build a small brute force md5 hash cracker because i’m curious how well an fpga can handle this.

in the fpga i just use a small picoblaze processor to handle the serial port interface and then i replicate a small md5 core a lot of times.

i think this is a task in which using an fpga can be efficient and the serial i/o is definitely not a bottleneck.

also by using the pll’s built in the fpga i can just use the usb clock on the board.

i would also like to try other tasks like sat-solving, etc.

in the end, i want to build a board with multiple fpga’s on it (like 4*3) so that the cost of the board is approximately equal to the cost of the fpga’s.

i will then also need to use bga because all big fpga’s use that package. but since i use only a very small subset of the pins maybe it won’t be so difficult.

i’m not really interested in spending a lot of time trying to solder small components. i heard olimex does prototype pcb production and assembly at good price, i will probably try them.

David

You might want to be aware of applicable laws in your jurisdiction. A number of countries have outlawed even possession of cracking devices.

I would strongly recommend getting a development board before trying to do this yourself. An excellent choice to start off would be Digilent; a nice choice is available [here.

First of all, you’ll want to learn a bit about Spartan-3 architecture. Spartan-3 has no PLLs built-in, only DLLs (DCMs) that have a minimum frequency of 18 MHz (USB is 12 MHz).

Next, it’s a non-trivial investment to get into low-quantity FPGA prototypes. You’ll need to find the devices (occasionally difficult, especially in low quantities) as well as deal with all the vagaries of signal propogation voodoo, which I’m going to assume you don’t have the equipment to do. The initial board will have to be at least 4 layers, although 6 would be nice. Spartan-3 has three separate supply voltages, although you can get by with shorting two. Moreover, Olimex does do assembly, but I think you’ll find assembling only a single board will be a bit more than you were expecting.](http://digilentinc.com/Products/Detail.cfm?Prod=S3BOARD&Nav1=Products&Nav2=Programmable)

We’ll have a XC3S500E-4PQG208C breakout/dev board coming out fairly soon.

[4 layers, 50mhz clock, all power supplies, spi prom, rs232, all pins broken out].

Specifications are preliminary at this point - might change slightly before final revision.

Digikey has fairly good stock for the S3E’s.

Cheers,

–David Carne

Sæculorum, i have a spartan 3e starter kit already which i currently use, but i want multiple fpga’s per board.

(for me dll and pll are the same…)

Are you sure signal propagation is an issue at 18Mhz? this is a relative high wave length. ( i don’t need to do any high freq i/o)

As for the routing (with 3 voltage references) i managed to do it with 2 layers but of course i’m not sure it works yet.

David

Sæculorum:
First of all, you’ll want to learn a bit about Spartan-3 architecture. Spartan-3 has no PLLs built-in, only DLLs (DCMs) that have a minimum frequency of 18 MHz (USB is 12 MHz).

FYI: The Spartan-3E DCMs can take a 5MHz clock.

-Bill