32 Views

How to Choose an FPGA for your Design

November 09, 2018, hardwarebee

In this article we will give some guidelines on how to choose an FPGA for your design.

 

The process of choosing an FPGA is like any other decision-making process in our life. First you look inside to collect all the requirements for your project, and then you weigh your requirements by importance. For example, if the most important issue is cost, that might make some FPGAs more appealing than others.

 

You need to make that determination and that’s what’s going to lead you to selecting an FPGA. Therefore, you should invest some time understanding your design and your design requirements.

 

Of course, your goal is to find an FPGA that is the best match for your product today and in the future (remember: it is possible to update the FPGA code in the future).

 

Your decision should not be merely based technical requirements but also commercial – you should not choose an FPGA that has too many resources or has too many IOs if those are not required by your design. If you do so — you are wasting your company’s money on expensive FPGAs that are an overkill.

 

To make a wise decision, we recommend that you look into 6 criteria. The criteria we discuss in this article are most common practice to any FPGA design but feel free to add other criteria you feel are relevant to your FPGA decision making process.

 

 

 

Figure 1: The general list of categories to investigate for selecting FPGA

 

IO Count

 

IO count is the easiest requirement to start with. You should calculate or estimate the number of IOs you would need for the FPGA design.  It basically means how many pins do you need to connect from the FPGA to the external world.

 

It is a good idea to create a block diagram for your FPGA describing all the functionality and then add next to each block the number of IOs required. You can also use Excel to add up the number of IOs for each block.

 

It’s always a good idea to add a few extra IOs to the list to ensure you have spare IOs in case you need to make a design changes if the future.

 

Figure 2: FPGA IO count for various FPGA package types

 

 

Number of Gates

 

There are different FPGA categories in the market and within each category there are different FPGA sizes (in terms of gates or resources). Large FPGAs cost much more than small FPGAs, therefore, you want to choose the smallest FPGA that your design can fit into.

 

Like the previous exercise, try also here to take each block in your design and estimate the number of gates required. This exercise is much more difficult at early stage of the design phase.

 

 

Figure 3: FPGA logic cells, gate count various FPGA types

 

Make sure the selected FPGA meets all your requirements. To reduce risk, choose an FPGA that has a bit more resources to accommodate future changes.

 

Operating frequency

 

In general, an FPGA that run faster cost more money.  All FPGA vendors have speed grading for their different FPGA offering and your goal is of course to find the cheapest FPGA that could meet your requirements.

 

An FPGA speed grade is a maximum frequency at which a flip flop can run. For example, an Altera Apex -1 runs faster than -2 or -3. The speed grade influences various timing parameters in the FPGA, including LUT, I/O, and other parameters.

 

 

Operating Temperature

 

For most of the FPGA designs, this is not a problem. But if you work at space, automotive or defense industry, this is a major issue. Taking FPGA to extreme operating temperatures means that your FPGA vendor has been testing your FPGA and can guarantee it meets this extended requirements.

 

For that reason, if you use FPGA in extended temperature you may expect a cost increase.

 

Cost

 

Cost is probably an important factor in your decision-making process. FPGA cost is now available online and can be visible to you from the very beginning of the process. When you identify the target FPGA (following the process described in this article) you can easily find the cost online.

 

In today’s market there are 4 different vendors therefore you can negotiate and try to make a deal that meets your budget.

 

Vendors

 

There are four main vendors. The two large vendors: Xilinx and Altera (Intel). And two medium sized vendors: Lattice Semiconductor  and Microsemi. There offering is similar but there are small difference.

 

If you take a closer look into the different FPGA product offering, from various vendors, you will see that some vendors have more clock signals or special blocks that could give you an edge, or some FPGA are more geared for high speed interface, etc.

 

Some vendors have local representative and support company that can help you with your design. A good and supportive rep can be helpful in boosting your design schedule.

 

Conclusions

 

Choosing an FPGA for your design is tricky but I can guaranty you, it will be easier if you follow the recommendations above.

 

Spend time understanding your own FPGA requirements and breaking those down into the different categories. If you need help, you can contact FPGA design services companies here