Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
21584 Discussions

How to choose FPGA for converter control?

Altera_Forum
Honored Contributor II
1,559 Views

Hi to everyone, 

 

For the purposes of a project, I have to find a proper FPGA but I have never used one before. So I ask for your help. I briefly know and understand how to program an FPGA etc but the specifications in power electronics are different. For my project I want an FPGA with at least 4-8 comparators and 4-8 PWMs (400 kHz switching frequency - 40 ns time resolution), some ADCs and some other minor specifications. I understand that in FPGAs you build your own peripherals. 

 

It is easy to find a SoC that meets these specifications, just looking in the datasheets, but how to choose an FPGA? How to know before code programming the available resources (logic elements, multipliers, registers) that my application needs?  

 

Thank you! 

 

ps1 I have read many white papers from Altera or tutorials for EVs using DSP builder/Cyclone V and I try to follow the steps presented there in order to check if I could use Altera FPGAs. 

ps2 If there is a relevant thread, I apologize in advance. Please give me the link.
0 Kudos
8 Replies
Altera_Forum
Honored Contributor II
852 Views

You can design your own comparator & PWMs using Verilog/VHDL. It is so simple, if you know these languages. However you may use Megawizard from Altera Quartus to generate comparator. There are on-line codes also available. 

For the FPGA part, I think even the simplest parts will suffice your application. Your timing requirements are not so tough. A CPLD I think is enough. 

You need to design your comparators/PWMs first. Then synthesize them using Quartus on some CPLDs. Finally you will know which part fits your requirements.
0 Kudos
Altera_Forum
Honored Contributor II
851 Views

 

--- Quote Start ---  

You can design your own comparator & PWMs using Verilog/VHDL. It is so simple, if you know these languages. However you may use Megawizard from Altera Quartus to generate comparator. There are on-line codes also available. 

--- Quote End ---  

 

 

I understand, but we are looking for something very easy and fast to be developed. Also the knowledge of Verilog/VHDL is a detergent factor. I will check Megawizard. SoCs are commonly used for power electronics because FPGAs and their vast capabilities are a little more complex. I will check DSP builder that seems easier... 

 

 

--- Quote Start ---  

For the FPGA part, I think even the simplest parts will suffice your application. Your timing requirements are not so tough. A CPLD I think is enough. 

--- Quote End ---  

 

 

I think so, but I have to talk with other colleagues justifying my decision with some specifications/tables/data etc. Maybe the white papers are ok... 

 

I am wondering if Altera has some FPGAs with SoCs that maybe have some peripherals. I did not manage to find something. 

 

Thank you for the immediate answer...
0 Kudos
Altera_Forum
Honored Contributor II
852 Views

Looks like you didn't search hard enough: http://www.altera.com/literature/br/br-soc-fpga.pdf

0 Kudos
Altera_Forum
Honored Contributor II
852 Views

Sorry linas, but I was talking about peripherals such as PWM, Comparators... I have read the document but I did not find peripherals similar to these that are necessary in power electronics. Please let me know If I am mistaken...

0 Kudos
Altera_Forum
Honored Contributor II
852 Views

You must design these parts by yourself and integrate together. I would strongly recommend to stay away from FPGA/CPLD without proper knowledge. It will bring a lot of frustration if you start doing something with no idea how to finish it. True story: guys took MAX V CPLD to switch transistors at 100 MHz, they wrote a lots of code and wondered why it didn't work properly. Since they had no FPGA training they ignored timing problems, unconstrained design was able to run up to 24 MHz. The story ended with doubled budget and not meeting deadlines. These guys now believe, that FPGAs are a devil's toys and took a fast microcontroller for 2nd generation product.

0 Kudos
Altera_Forum
Honored Contributor II
852 Views

I completely understand what you are saying and I know that I have to implement these parts myself (see my first post). My main issue was how to check if an FPGA could be used in my application before code programming in order to avoid situations that you describe. For power electronics, an FPGA is powerful compared to common MCUs. 

 

My situation is described in a white paper of Altera saying that engineers in power electronics know MCUs etc and not FPGAs, but the latter could be beneficial for their applications. It continues saying that it is very easy without knowledge of FPGAs just to use DSP builder for Simulink. It has also some diagrams illustrating that you just use Simulink and download the code. If someone that has no at all knowledge for FPGAs could say, I want to use in my application. However, I have the same concerns that you describe. The last years, FPGAs are expanding their use in areas that MCUs and SoCs are used (especially in power electronics). I would like to use an FPGA but I have to consider what you are saying and many other such as deadlines/costs. 

 

Thank you for your time.
0 Kudos
Altera_Forum
Honored Contributor II
852 Views

A friend once said "If you're not sure you need an FPGA you probably don't." If you want to make a case for using an FPGA, look at your controller in terms of how much better it would be if it was running faster than 400 kHz. You'd of course need to design the whole system at a higher freq, but the end result would be a faster acting and possibly more stable control loop. If you don't need the extra margin then there isn't really a case for using an FPGA over a "good enough" microcontroller.

0 Kudos
Altera_Forum
Honored Contributor II
852 Views

If you insist on using an FPGA, you need to learn some points. Use websites that provide simple tutorials ranging from design languages to simulation & synthesis tools, like: http://asic-world.com (http://asic-world.com). There are many video tutorials also available on YouTube, etc. 

If you can run a simple counter on a development board and observe how it counts, you may be able to design your power electronics controller. 

So: 

1. Learn a little Verilog (simpler than VHDL). 

2. Learn how to simulate a simple design using a simulator (e.g. ModelSim). 

3. Learn how to synthesize & implement your design on FPGA using Quartus. 

4. Run it on a development board. 

Now start designing your comparator/PWM. You can copy/paste on-line Verilog codes. Just google "PWM Verilog".
0 Kudos
Reply