FPGA Board design basics

Hi,

I have been developing applications in Xilinx FPGAs using VHDL for the past 3 years for a small company in Virginia. As our designs are getting larger and more complex, the off-the-shelf boards we have been using are proving to be insufficient. I am interested in learning about designing boards myself with FPGAs, ADCs, DACs etc. I am new to board design and am wondering where to start. Any suggestions would be greatly appreciated.

Thanks, Poonam

Reply to
Poonam
Loading thread data ...

Without communicating the level of engineer you are, it's hard to communicate what it takes to succeed in board design. Are you even a hardware engineer? Do you prototype hardware with flying wires, a soldering iron, and cheap plastic cases? Do you know anything about power regulators, amplifiers, transmission line theory, or PCB manufacturing issues?

Please tell us a little more about what you bring to the table.

Reply to
John_H

You are right.. I should've mentioned before that I don't have any hardware experience, but do have some theoretical knowledge about amplifiers, transmission line theory etc. I am a complete newbie in PCB design..

Poonam

Reply to
Poonam

Here's some basics on board design for the relatively uninitiated.

1) Get the eval board schematics for each major part in your design.

2) Assume all eval boards are overdesigned and try to get a grasp of the subset of the eval design required for your system.

3) Don't assume anyone smarter than you has done the mundane parts of the eval design such as power supplies and bypass caps. Look at the recommended bypassing from manufacturer appnotes. Use the data sheet values for power consumption where available, or use the power estimator when using a programmable part. Some power estimators also provide estimated bypass cap requirements.

4) If possible get another engineer to review your schematics. For programmable parts like FPGA's make sure you can fit a design with the pinout assignments in the schematic. If you don't have the design already finished, at least set up a project with the appropriate inputs, outputs, and IO standards to check for issues like banking or clock routing.

5) Use a reputable design house to lay out your circuitry. Don't assume you can pick up a copy of PADS layout and push the autoroute button to design a board.

I'm sure there are a lot more items that could be added to this list, but its a starting point. You may also find that hiring an outside design firm to do at least your first design will be worth it in the long run. Later designs that are variations on the original will then have a solid starting point.

Regards, Gabor

Reply to
Gabor

Your are entering a very big subject area that most people make the classic mistake that "it's just drawing lines on the screen". We entered the manufacturing market 4 years ago with some substantial practical experience being involved in customer designs but it was still a very big jump to doing it all yourself. I know, from many years helping customers out of problems, that our own hit rate in delivering perfect boards is exceptional. Some our boards are still effectively in their first revision. Even now after our having design something like 100 major designs in the last 4 years we still are learning things about the process and even new tricks. Some companies that we see actually think they are doing well if they get it right in

3 revisions of a particular board. I have seen some customer designed projects go to 7+ revisions before they called us in.

That all said it can be a very pleasant task to layout boards somthing like tacking a jigsaw pauzzle. Whether you find doing boards yourself good fun, or frustrating and expensive when you make mistakes, you might want to start doing a simple design on a cheap package like Eagle and then going through the manufacturing process. Having learned some of the ropes you can then make better judgements on what tools to buy and even if the own layout process works for you.

John Adair Enterpoint Ltd. - Home of CR1 the J1962 solution.

Reply to
John Adair

Thank you Gabor and John. I know I am entering a whole new area and that it will take a lot of time (years...) and effort to get good at it. But I will try out the suggestions you guys have posted. I will start out with some cheap CAD package and see how it goes. Thanks again for the replies.

Reply to
Poonam

After designing a simple board, a very handy thing to do is to submit the design files to

formatting link
It will tell you quickly about a number of ordinary board design problems you might have. There is no obligation to purchase boards, though for simple boards the price is decent.

Reply to
Duane Clark

Can anybody suggest some books I could start with?

Thanks, Poonam

Reply to
Poonam

It's probably a bit dated, but when I was working on PCB design, I found the following book to be quite useful ...

formatting link

(I worked for a company that brought the author in for an afternoon to give a talk & answer questions. It was pretty interesting.)

K.

Reply to
Kris Vorwerk

Hi Poonam,

In my experience it is good design practise to design contigency plans into the board so that mistakes can be rectified easily without having to hack the board around with a scapel. For example, bring some unused IO out to test pads, tie pins high or low via a zero ohm resistor, track the JTAG port to a header. I would never expect a design to be correct on the first spin and if the only changes for the respin are to remove redundant test points etc, you're doing well.

Also, I'd avoid BGA packages if at all possible as it is significantly more difficult to design the board, fabricate it, rework faults and rectify design mistakes.

I'd also check the website of your FPGA vendor as they usually have lots of information on PCB design.

Finally, the PCB design difficulty goes up as the clock frequencies go up. If you are designing something slow with small FPGAs then I'd say have a crack at it and learn as you go. If it's something with lots of high speed logic signals you may be better off going to the experts and paying a third party design house to do the work for you.

Rob

Reply to
Rob

Thank you, all of you ...

Poonam

Reply to
Poonam

Tell us more about the off-the-shelf boards that don't meet your new requirements. Have you looked at Digilent's products? They make Xilinx FPGA starter boards. Perhaps it would be simpler/cheaper to design a daughter board that has ADCs, DACs, whatever, than to design a FPGA board from scratch.

-Dave Pollum (Burke, VA)

Reply to
Dave Pollum

DACs etc. I am new to

What sort of speed of signals are you anticipating on your board? This will have a great effect on whether you have a productive or painfully fruitless learning experience.

Maybe it would be better to knock up a few small boards with some discretes on first. That way you are more likely to learn about the design/manufacturing process, without making expensive mistakes. You could even do this purely as a paper exercise. Draw the schematic of a circuit, then cut out some component shapes from card. Position the shapes on a piece of paper the way you think they would best fit. Then draw a few interconnecting lines, and see if you can route them by hand.

Andrew

Reply to
Andrew Burnside

DACs etc. I am new to

FWIW, we have in the past prototyped parts of systems using prefabricated PCBs from Bellin Dynamic Systems

formatting link
They stock a wide variety of break-apart cards with different IC footprints and surrounding pads that make it quite simple to build up quick prototype circuits.

John

Reply to
jcr_alr

As a first step, consider taking an off-the-shelf board which (a) is a reasonably close match (only some peripherals you need are missing) and (b) has spare I/O connectivity.

As an example, see the spare connectors on this board

formatting link
(If I have misjudged your requirements, there are other boards, from this and other suppliers, with much more I/O to play with...)

Now design a circuit board containing ONLY the missing peripherals, to connect to the available I/O headers.

The cost, complexity and risk are much lower with this approach, and you still end up with a solution tailored specifically to your needs. If it matters, your customers cannot simply buy the original board and bypass you either...

If this means you can get away with a small two-layer or four-layer board instead of a large complex 6 or 8-layer board, it greatly increases your chances of first-time success.

It also means you are within the realm of low-cost prototyping services, like PCB123.com, who offer a crude but very usable PCB layout tool for free. The catch: it is only programmed to submit board designs to pcb123.com!However, given their prices and delivery speeds, that is not much of a catch.

(Incidentally PCB123 is usable with SMT devices including QFP package FPGAs, but not realistically for larger BGA packages, because it imposes restrictions on minimum via size that will not fit between 1mm BGA pins. So it will do your add-on board, but possibly not your complete FPGA board. Also the schematic editor is not very useful. I used it on a simple design, and edited the resulting netlist to generate a more complex design)

Combining the whole solution on to a single board can come later, but depending on the economics it may not be necessary.

- Brian

Reply to
Brian Drummond

I looked at Digilent's products and their A/D and D/A sampling frequencies do not meet my requirements, I need about 50-100MHz. In fact, I have looked at companies which offer FPGA based boards that can fit daughter cards. Very few of them really match my needs. And the ones that accomodate all my requirements are expensive. Thats why the move to designing custom boards. We figure, the initial investment might be a little heavy but it will prove to be better in the long run.. I like both ideas from John and Brian, it will probably be the best option instead of designing a whole board from scratch. But before getting into all that, I will design some small boards, hopefully learn how not to make expensive mistakes.

Thank you all for all the suggestions. They have been very helpful to me.

Poonam

Reply to
Poonam

I second this recommendation. It's got a lot of useful concepts, though the book is a bit too cookbook-y for my taste.

The most useful PCB design material, I've found, has been manufacturer datasheets and app notes. (For my first time designing an FPGA board, I found dev board schematics to be very useful.) In particular, Analog Devices has a lot of material on board design considerations for data conversion. You'll probably find yourself reading lots of app notes on various associated topics, like power regulation.

And yes, making (cheap) mistakes is a great way to learn.

Mike

Reply to
mng

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.