Incorporating FPGAs on PCBs

Hi,

I need to interconnect two or four FPGAs on a PCB, and I am looking at the prospect of designing these boards myself. If any one has done this, I would be grateful if you could provide some pointers, especially links to websites that have this information. I would probably be using the Xilinx Virtex II

I don=92t know how to start this =96 but I have a few questions. Is it possible for me to simulate the setup between FPGAs connected on a PCB board. Or is it possible for me to bread board the FPGA =96 I have not heard of this though. I have looked at the manual of the Virtex II, and there are a large numbers of pins =96 I have yet to figure out which pins I need to power at the minimum to get this to work. So I don=92t want to start laying out a PCB Board immediately.

I would be requiring significant on board communication =96 but I don=92t think I need the Rocket IOs that are available with Virtex4 =96 the simple LVDS would do for me I guess. Is there a way for me to test this aspect before actually putting it on the PCB??

I have so far used FPGAs on the protyping board that comes with the Spartan Kit from Xilinx. I have also used an Emulation machine with a couple of FPGAs. In all of this I have never been concerned about the external connections between FPGAs, so I am new to all of this.

Any help is welcome.

Thanks a lot. O.O.

Reply to
O. Olson
Loading thread data ...

Hi,

why would you want to use Virtex-II on a new board? They are more expensive than the newer parts. Check out the various Spartan-3 variants and Virtex-5LX.

You need to supply power more or less to all power pins and you definitely should use a board with at least 4 layers.

Kolja

g

s it

don=92t

e
Reply to
Kolja Sulimma

Thanks for pointing this out that the Virtex II might be costlier than newer parts.

I understand that powering up of the power pins should do =96 however there are so many pins and it is possible for me to make a mistake. Is there some tools that can verify this =96 or allow me to simulate this, so that I don=92t make obvious mistakes. I don=92t think that the developers of FPGA Boards do it without some kind of verification. I am new to this stuff so I might be missing something obvious here.

Thanks again. O.O.

Reply to
O. Olson

Actually we check it by eyes. You know, one designs others check! It is a matter of experience I think.

Reply to
Enes Erdin

Here is one approach to breadboarding with multiple FPGAs, which may allow you to prototype your system before going to your own PCB.

formatting link

Since you are using the Spartan kit, this board

formatting link
is probably the most suitable component for the above approach.

They can also supply PC104 form-factor boards stackable the same way.

formatting link

- Brian

Reply to
Brian Drummond

Thanks for your response Enes. So do you guys ever breadboard your stuff =96 or it is direct on the PCB? Thanks again, O.O.

Reply to
O. Olson

Hi,

Although I am not so much experienced about these topics in my answer I am referring to -experienced- people who designed boards in the past. Also I must say that I have never been in a design which uses multiple FPGA's but we designed FPGA+Microcontroller boards. As I guess they are more or less the same thing.

We directly produce the PCB and correct the errors in the next revisions. Besides power issues (misconnections) there are -I think- more important topics such as using the IO standards. Misconnections in the power pins can be corrected by examining the design multiple times. For example by grouping the power pins in the netlist you can easily route them without error. But if you do not specify your standards before PCB design you can get stuck easily. Only a small example, if you try to use _CC_ pins as output in LVDS -I am referring to Virtex4- you certainly get into trouble but they work perfectly if you do not use LVDS.

Unfortuantely I don't know a software checking for these errors at a system level.

I don't know whether you know or not these issues but I hope it helps.

Reply to
Enes Erdin

Thanks Enes for your information. This is exactly my problem. I have designed PCB Boards with only microcontrollers and some memory chips =96 but this is the first time I am doing FPGAs. So I have Zero Experience. Also I am not aware of the standards =96 that=92s why I was hoping for some kind of tool, before I actually get to putting it on the PCB. I feel that this would be very difficult without a tool.

Thanks again. O.O.

Reply to
O. Olson

I think it will be easier than you think :)

First try to define your needs than make meetings with your colleagues. Or are you also the guy who writes codes for FPGA? If your design is not too complex it will be easier.

Your needs are well-defined in data-sheets and also too many topics are discussed in this group about I/O things.

I advise you to look at the pinout specifications first. Also look at the DC and switching characteristics too. As an experience of mine, in one of our designs we needed a 20 A rush-current for an FPGA. And things like this...

-enes

Reply to
Enes Erdin

Dear Enes,

I am a student and looking into the possibility of taking this up for my thesis. So actually I don=92t have any colleagues. Yes, I would be also writing the code for the FPGAs myself =96 and I am going to try to keep the design simple.

However as I am alone, and without much experience in the area, I would first like to get a feel of how complicated this would be. Is there anyway I get hold of the stuff you are referring to: for e.g. I did not expect there would be a 20 A rush-current on an PCB Board. Also I don=92t have much experience with LVDS =96 though I know what it is and have seen others use it. So is there some place I can dig for the concerns that you are brining up.

Thanks again. O.O.

Reply to
O. Olson

Just to step back a tick, are you sure that what you need is interconnected FPGAs? If the design you're talking about could be made to work with two Virtex IIs, then you can probably get it all into one larger Virtex-4 or 5 and save yourself a whole lot of grief.

-- Rob Gaddi, Highland Technology Email address is currently out of order

Reply to
Rob Gaddi

for

Now everything changes. I am also an Msc. student and currently doing a VHDL work but, IMHO, doing something in a master (I don't know PhD) in both hardware and software -I am looking at VHDL like software- will be very tiring. If you try to observe some characteristics of the FPGA's I don't have any idea about it but for me buy a kit and continue your work on it.

Of course these are my thoughts. And if we talk about LVDS it is not different from usual signals only two wires will be routed and you will tell the FPGA that these pins are LVDS signals, that is instead of a LVTTL or LVCMOS buffer you will use an LVDS buffer that's all.

I hope you success

-enes

Reply to
Enes Erdin

Thank you for your reply Rob. I am a student. Actually I do not know what the design is going to be. We are trying to implement some sort of multiplexing/routing strategy to increase/facilitate the interconnections between designs on FPGAs.

Thank you for your suggestion though. O.O.

Reply to
O. Olson

g

s it

don=92t

e

BTDT.

I built a board with 16 FPGAs on it years ago because there just wasn't one big enough to do the job.

Last time I used the Xilinx 4000 series, I had to use 3 parts to fit all my logic.

The hardest part is chip to chip communication. Even with a master (board) clock, you need to treat each chip as being in its own clock domain. And inter-chip communication is much slower than intra-chip.

The current spike as they all come out of program mode can't be ignored either. (At least I was not able to ignore it). Programming all of the parts off of one configuration device seemed to cause them to exit program mode sequentially, distributing the spike a little.

Good luck, G.

If you program all of the devices off of one

Reply to
ghelbig

(snip)

You should look at VHDL like hardware in text form.

If you look at it like software, you will get confused.

-- glen

Reply to
glen herrmannsfeldt

Hi Glen,

Yes you are right. Perhaps I could not tell what I think. As I understand O.Olson has no FPGA experience.

I think producing a PCB with multiple FPGAs and writing FPGA codes and verify that the system is working -only one person is doing all of these- is a tiring job. Am I wrong?

Thank you.

--enes

Reply to
Enes Erdin

Some of the other posts seems to have touched on the issues I want to discuss, but not in much detail.

g

Someone did point out that this part is ancient technology and you would be better served with a newer device. Also, don't feel like you need to limit yourself to Xilinx parts. Altera parts and software are just as good. But you need to ask yourself a few questions.

Why do you think you need multiple FPGAs?

Why do you think you need to build your own hardware?

Both of these design decisions will result in extra work... work which can interfere with getting results for your thesis. You want to focus on your work and not on the details of building hardware or getting multiple chips to communicate or even load together.

s it

There are two kinds of simulation that you might be talking about. If you mean digital logic simulation, then yes, any HDL simulator can simulate multiple FPGA chips just as well as a single chip. A test bench is typically used to tie together the different pieces of a design and can tie together multiple chip designs.

If you mean to simulate the electrical signals between the chips, then yes, that can be done too. It will take a board signal simulator such as Hyperlynx. These cost some real money though. I don't know if there are educational versions available or not.

don=92t

Before designing your board, you need to decide exactly what it is that you need to do with it. To make a decision about the I/O, you need to know what it will be interfacing to and the details of the signals. Don't just pick an interface because is sounds good.

e

I would ask why you think you need to be concerned with the design of an FPGA board? There are lots of FPGA boards available and you can get a dozen or so at less cost than designing your own board and building it. Most FPGAs that you will want to use are BGA packaged which requires professional assembly. Some amateurs have had success with the larger pitch parts, but I don't recommend it.

Have you looked at the boards available? Do you know how large a part you intend to use? Do you know what I/Os you need for the external interfaces, if any?

For doing research work, I would follow the KISS rule. Don't try to design stuff you don't really need.

Reply to
rickman

Why not just a bigger FPGA ?

A message of hope : I just built a proto with a Spartan-3E 500, SDRAM, Ethernet MAC, had never designed a 4 layer board before, and it worked. Everything works. The only problem was the JTAG which turned out to be a faulty parallel cable. Ironically hand soldering the PQ208 was a lot easier (5 minutes) than debugging the JTAG (two days).

Bread board ? Nope. Fire up Altium, make a PCB, and use for instance protoexpress.com, or get a readymade Spartan board from Enterpoint, etc. Actually you don't really need breadboarding... the FPGA will work. It's your switchmode regulator and other crap that won't work.

Powering all the power pins seems like a good idea...

As long as you have a FPGA and traces that go to it, you can make it work ;) Sleeping with the xilinx datasheets is a good idea too.

Reply to
PFC

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.