Multilevel inverter 7 levels,activating Mosfets from a FPGA.

Thread Starter


Joined Jul 5, 2020
Hi everyone,
I'm an engineering student from Spain, I've been doing my final assessment about different power electronics, inverters, controlled rectifiers, DC/DC and AC/AC simulated with Matlab Simulink. As the last subject in my project I have decided to do an circuit of a multilevel inverter, which tries to change +8Vdc to a sine wave from +8v t0 -8V, controlled by my FPGA artyA7 and I am having problems to activate the 12 mosfets...
I can't shoot every low level Mosfet IRL530, I've been trying in different ways but It doesn't work fine yet. My design is similar to this but I use a ArtyA7 board instead of a micro-controller.
Firstly I tried directly from the I/O of the board of my FPGA(ArtyA7), but how I had a Vds about 3 or 4V I need a Vgs very high and I only have 3,2V from my board and then not at all mosfets are activated.After that I tried with a driver, using a transistor BC548 follow this article , I tried with different voltage sources for the driver and the voltage circuit, with the same voltage source, different gnd, the same gnd but it didn't work, even sometimes the source turns off because a sort circuit. I am looking for an device which is able to shoot the mosfets IRL530 directly from the +3,2V of my board. Could someone gives me any advice?
If someone have some idea I would be very thankful.
This is my design in Matlab Simulink. I did simulations with Matlab simulink and I did a test bench of my code in Xilinx Vivado and both works fine, but the circuit doesn't work...
Captura multilevel inverter.PNG


Joined Feb 25, 2011
The IRL530, is a N channel MOSFET, and needs at least 5v Vgs.

if I read it right, the Source of each of your fets is being pushed up by your circuit,
if you simulate and measure the source voltage, you will see its well above 3v2.

As you need 5v above Source, and source can be up to say 8v, then you need 13 v drive.

You need a driver, that take sin logic levels, and runs on its output at at least 13 volts.

Something like the LTC4441, amongst many options.

or if your running slow enough, just a transistor buffer.

BTW: If you have shorted the outputs of the Arty , or connected the outputs to say 5 V ,
its probable you have blown the Arty. Could be another reason your having problems.

Thread Starter


Joined Jul 5, 2020
Hello again!
Finally I had had decided to try with an bridge inverter with only 4 mosfets and two driver IR2110 and I achieved that my design worked fine. Now I am working again with the multilevel inverter, with 12 mosfets and 6 IR2110. It has the right shape with 7 levels as you can see in the pic, but the frequency is 3 times the wanted. I design the vhdl code for my fpga to 400hz and as you can see in the simulation it's ok, and when I use an oscilloscope to see every output of the development fpga board it has 400hz... Maybe the oscilloscope the the measure wrong, from wrong time or in the wrong way, because apparently the design is well done???
for your advises