Embedded Software IP & Technology Transfer in Power Electronics Applications

Moving on further into embedded software intellectual property

Some of you may have noticed, I have changed the title of this blog from “FPGA Technology and Embedded Software IP in Power Electronics Apps” to “Embedded Software IP & Technology Transfer in Power Electronics Apps” (check the top of the screen). What has happened?

This blog began while I was still doing my PhD. in the field of FPGA-based motor drives in 2008 and lots of time has passed since then. With the recent acquisition of Altera by Intel, we can now think that FPGAs are now “mainstream” chips and their particularity is not that distant with other chips used for embedded computing on the market (as it used to be), other that you have some logic fabric on which you can design custom VHDL functions to work as peripherals to a processor (soft processor like NIOS II on the FPGA fabric or hard processor such as ARM on the chip itself aside the FPGA fabric). Of course this makes them special and unique to develop new type of applications – that you can’t do with other chips like DSPs and MCUs – but from the point of view of the embedded system design, especially with SoCs, they are not the “bizarre” chips anymore only reserved to old electrical engineers thinking only in VHDL.

That being said, the continuity with this blog is still “embedded software IP”. This is still a passion for me because, I am still amazed how the complexity of embedded software design is still ignored in the process of designing electronic products. Embedded software development for mobile phones, i.e. the “apps”, is very well developped and organized but it is pretty much complicated in all other applications where the electronic part is custom. There is still a lot of “electrical engineering” mentality in the approach of designing software for those applications and this is especially true for industrial/power electronics applications.

Because embedded software is so linked with innovation, i.e. little/no value in the hardware and most/all the value in the software, I have shifted the focus of this blog on the other side: on process of getting true innovation from labs to market, also known as “technology transfer. This is where it connects with “intellectual property”, i.e. invention, patents, etc. By learning the process of how to really leverage existing intellectual property, a designer can really improve his productivity in developping new products. The designer embracing technology transfer is like the software engineer that learns to reuse existing code and build his application on the top of it (very productive), rather than building everything from scratch (not productive). For me, technology transfer is like “code reuse 2.0”.

Hence, at that time of the year I used to write a review of what happened in the field of FPGA, especially for power electronics applications. I won’t do it this year. I may come back next year with a similar idea. Meanwhile, I hope you will like this blog’s “new flavor”. Feel free to let me know what you think !

New ebook: Step-by-step design of a basic embedded system using an Intel MAX10 ® FPGA

Are you new to Intel FPGA-based embedded system design? Make sure to download my new ebook: it contains all steps to design a basic FPGA-based embedded system from scratch including a (1) NIOS II processor-centric system in Qsys, (2) MAX10 FPGA pins assigments and (3) software running on the processor.

While going through this ebook, you will be able to identify key steps in designing your own system using Intel FPGA free EDA Tools. This is a great way to save time and to quickly put your efforts in building your own FPGA-based embedded system! This ebook is great not only for people designing FPGA-based embedded control systems, but to any people planning to design a new electronic product with a Intel FPGA for the first time.


  1. Starting things off. EDA Tools and MAX10 Development kit.
  2. Basic concepts.
  3. First Step: FPGA/hardware part
  4. Second Step: Software part
  5. Third Step: Program & Play !
  6. Frequently Asked Questions (FAQ)
  7. How Alizem can help you achieve your business and technical objectives ?

Format: Powerpoint presentation, 59 pages.

Internet-of-things (IoT) interface for electrical equipment manufacturers

Smart appliances in network. Concept for Internet of Things showing many different connection between device

You certainly know already a lots of things about IoT (if not, read this or this), but do you know about the Initial State’s IoT platform ? Briefly, that’s a web-based platform (SaaS) to which you can stream data out from your electronics devices. The platform is then going to store this data for you and enable you to visualize/report it quite nicely, always through your preferred web browser.

They have had quite success so far in the hobby/consumer space, enabling to easily pipe data out of a Raspberry PI for all sorts of cool applications. The need to pipe out informations from controllers is everywhere, especially in industrial electronics (that’s Industrial IoT, IIoT). Hence, this type of feature is a perfect fit with Alizem embedded motor control software products enabling to pipe out informations regarding electric motor’s states: temperature, currents, rotor position, speed, etc.

For those reasons, I am pleased to announce the release of Alizem IoT Interface software that’s meant to connect new and existing electrical equipment products to Initial State’s IoT platform. This new product is now available in two versions: standalone (great for existing products) and integrated into Alizem embedded motor control software (ideal for new products). Both versions include a reference design based on Altera MAX10 FPGA Development kit.

For electrical equipement manufacturers, that’s a great way to integrate IoT features easily and quickly and also to:

  • Accelerate product development by detection bugs early
  • Easily share data between development teams working at different locations
  • Remotely monitor critical performance data such as power consumption, load motion profiles, current shape and temperature
  • Build new value-added services by bundling their electrical equipment products with SaaS based monitoring services and provide peace-of-mind to your customers by having them access to all their equipment operation data

For more information, please visit www.alizem.com/iot and/or feel free to contact me over this blog.

Best Regards, Marc.

This blog has been originally published here, on LinkedIn.

Impacts of an embedded software bug in power electronics applications

We all know software is a difficult skill to master and there are tremendous differences in developping software for:

  • PC/desktop applications
  • mobile/tablet applications
  • … and real-time embedded control applications such as power electronics applications

While in all cases a software bug may lead to important financial and human losses (directly or indirectly), the case of embedded software for power electronics application is special since it is meant to directly control the flow of energy from a source (battery, solar, etc.) to a load (electric motor, power network, etc.), not a flow of informations/signals/data is in a typical software application.

Impact #1: System component destruction

It means that a software bug may lead in the bad management of the flow of energy which can itself cause the destruction of components such as power stage (“shoot-through” faults), electric motor (“overcurrent” faults) or electric motor load (pump damage caused by cavitation for example).

impact of a bug power electronics software

Of course, proper installation of electrical equipement protection (i.e. fuses) can prevent most of the damage that may happen on the system components in case of a bug (overcurrent), but not all of them. For example, noise in a transducer may lead to torque ripple which may lead over time into electric motor bearing problems. This is the whole idea of electric motor “condition monitoring”, i.e. tracking over time the state of healt of the motor in order to : (1) detect faults (is there a fault, what component ?) and (2) diagnose faults (what is the cause of the fault, how severe the fault is). Those further interested in the subject may read this article.

Impact #2: Unique embedded motor control software development process

Hence, the development of motor control software needs not only software programming and digital signal processing skills, but it also needs deep “domain knowledge” experience related to power electronics, electric motors, transducers and the type of application where the software is going to run (in a home appliance or in an electric vehicle ?). More on this in a previous blog article. This point is not unique to power electronics software, the same could be same for embedded computer vision software (i.e. smart camera).

However, since motor control software bug may lead to component destruction, this has an impact on how the motor control software development and testing process is going to be made. Blowing a power stage is expensive and takes time to repair : it means you cannot afford to simply “develop some code and test” just like you would while developping a PC/mobile software application. It means you need to be sure that when you are going to turn the power switch on, you are not going to destroy your system.

How can you do that ? Well, you know my pitch on this.

The Virtualization of Embedded Computing


In September 2011, I have been contacted by CATA‘s Jean-Guy Rens who was doing a study regarding the embedded systems industry in Canada titled “The Other Computing : Is Canada ready for the Internet of Things ?“. You can freely access his full study here.

We had an interview together to get my insights regarding future development of this industry. He finally decided to place this interview as the foreword of his study and called it “The Virtualization of Embedded Computing”. Here are some parts of this interview :

Being fluent in embedded software engineering is not enough

“Embedded systems are a horizontal technology, but their applications scopes are vertical. Many people are studying the embedded system itself, but the real challenge is to apply this knowledge to vertical applications. That is why I introduce myself as a software engineer who migrated to energy applications. I speak both “electric motor” and “embedded software”. Too often, electric motors specialists are not knowledgeable about embedded software and vice versa. Alizem’s expertise is to translate the needs of electric motor-based system designers into embedded software solutions. It is not sufficient to be an expert in C programming to be able to design an application that will fully satisfy a particular need. Too often, developers think they are able to create all purpose applications. That’s why the cost of embedded systems software development is skyrocketing. For my part I tend to consider that software programming is an engineering core skill. It’s like reading and writing: it is not because someone can write that he is equally capable of writing novels, political speeches and pamphlets for department stores. For an engineer, the challenge is to design solutions that encapsulate application knowledge (complex, rare and expensive to develop), within a short time to market, but without compromising product quality and performance. The technology of embedded systems is known and accessible to all. The challenge is to quickly and efficiently integrate modules that work first time around.”

Software now comes first, electronics second

“It is possible to compare the embedded system to a home. For centuries, it is the people who were makers of brick and cement that built the houses. The design, modeling and decoration of the house came as an afterthought. This process has changed beyond recognition when we started asking architects to make plans for our houses – or to program them virtually, if we are to continue our analogy. Even decorators – more often referred to as interior designers – are consulted from the start of the house project. It is they who define the plans of the house – the contractor comes later, to handle the actual construction.  Everything happens exactly the same way in the embedded world. The engineer in microelectronics is the contractor with the bricks and mortar. If a microelectronics firm persists in programming an embedded system application from ‘a’ to ‘z’, it behaves like the ancient contractor who made himself the bricks with which he built a house, then would seek the aggregate of the mortar on the side of the river and so on. Such behavior was probably justified for the early embedded systems when devices had limited computing power and range of applications. Developers who all belonged to the world of electrical engineering approached their various projects from a hardware perspective: they had to practically invent their work tools as well as the final product. The rudimentary software used, a few hundred lines of code, was a detail they did not care about too much. But times have changed and electronics has become a commodity: the bulk of the value is migrating towards the software side. Today, embedded systems are software-driven. It is up to the software engineer to be both the architect and the decorator – he is the natural project manager. This role reversal is hard to accept by traditional electronic engineers. The result is a culture shock.”


FPGA-based Motor Control and Embedded Motor Control Software IP – A review of 2013

Time passes and it is now the moment to make a short review of what happenned, in my opinion, in the world of FPGA-based Motor Control and Embedded Motor Control software IP in 2013:

New FPGA evaluation kits

Lattice has started the year with the release of its new iCE40 LP384 development kit. While not being explicitely targeted for motor control but controllers in general, this FPGA is small and very low cost: less than 50 cents per unit in multi-million unit quantities.  Even the evalutation kit is very low cost: both iCEblink40-HX1K Evaluation Kit and iCEblink40-LP1K Evaluation Kit are sold for 34.12$. Of course, those kits do not include any power stage, motor or transducers: you need to have your own.

A month later, Altera has annouced the release of its new Cyclone V SoC development kit. Built around a 800 MHz dual-core ARM Cortex-A9 processor and provided with all interfaces needed for maximum connectivity, this new device is clearly positionned in the same segment than Xilinx’s Zynq device (also built around ARM Cortex A9 dual-core processor) previously released in 2012. This kit interfaces with the FalconEye 2.0 motor control board.

Embedded Motor Control Software IP

In February, Texas Instrument (TI) has announced the release of their new INSTASpin-FOC sensorless motor control software. The pitch is “Identify, tune and fully control your motor in less than 5 minutes and eliminate the need for a mechanical rotor sensor” and meant to be used on TO C2000 Piccolo microcontrollers. According to TI, this helps saving months of design time which is inline with a topic previously addressed on this blog. To my knowledge, TI is currently the only motor control chip manufacturer offering such advanced motor control design tool. Note that this tool is meant to be used in sensorless applications, i.e. applications where near zero speed performance is not a requirement.

In October, my company Alizem has announced that our previously released Motor Control Software IP for Servo-Drives applications has reached a new level of performance on 100kW motors which has led into a licensing agreement with a major industrial OEM. At the same time, we have announced the signature of an agreement with the Canadian Space Agency regarding new motor control software technologies (stay tuned for the release shortly).

DesignNews Webinar

In May, I have had the pleasure of being invited to participate in a Webinar on the specific topic of FPGA-based motor control and sponsored by Altera.  The discussion has been held around the following questions:

• What are the typical steps and challenges faced by system designers when designing motion controllers?
• From a motion control design point of view, how do FPGA/SoC devices and design flows compares to other devices?
• Communication networks are clearly critical: What are some of the challenges of Industrial Ethernet?
• What design tools and flows are needed to maximize system designer productivity?
• What is needed from device providers to enable designers to go further in their product innovation?
• What factors can reduce the overall cost of ownership of motion control development platforms?
The webinar is still available for off-line consultation if you are interested.


Is there anything else missing ? If you think yes, please let me know ! You can also contact me on any topic you would like me to address. Thanks for reading my blog!

ISIE 2014 – Special Session on “Industrial Applications of FPGAs and Embedded Systems”


 ISIE 2014 – IEEE International Symposium on Industrial Electronics

June 1-4, 2014, Istanbul, Turkey

Website: http://www.isie.boun.edu.tr

Call for papers: Special Session on Industrial Applications of FPGAs & Embedded Systems

The Special Session seeks papers describing original research or application aspects of FPGAs and Embedded Systems in the area of industrial electronics. Topics of interest include, but are not limited to:

– Design and test/debug methodologies for ES/SoC
– Architectures for ES
– Reconfigurable platforms
– Embedded software development
– Formal methods and ES design
– Industrial experiences
– Case studies

All the instructions for paper submission are included at the conference website: http://www.isie.boun.edu.tr/

Submission deadline (extended): 30 December 2013
It is possible to accommodate an extension of some extra days if authors contact organizers in advance. Special Session Organizers:

Luis Gomes (lugo@fct.unl.pt)
Juan J. Rodriguez-Andina (jjrdguez@uvigo.es)

FPGA-based Motor Control: “The Brains behind the Motion Controller” Webinar


I will be giving a webinar on the topic of FPGA-based Motor Control on May 30th 2013. Make sure to register by click this link.

Meanwhile, if you have any particular question you would like to be addressed during the Q&A session, feel free to contact me.

I look forward to talk with you on May 30th !

NOTE (June 3rd 2013): You can now here the webinar archive by clicking here.

FPGA-based Motor Control and Motor Control Software IP – A review of 2012

Here is my review of the main events that have happened in 2012 in the world of FPGA-based motor control and Motor Control Software IP.

A new kit from Microsemi and Trinamic

In February, Microsemi and Trinamic did release their new Motor Control Software development kit. This new kit combines three features crucial for successful implementation of complex motor control algorithms: an embedded microcontroller, programmable analog fabric, and programmable digital (FPGA) fabric. This kit is built around Microsemi’s SmartFusion chip and embedded ARM Cortex M-3 processor. It is bundled with stepper motor and BLDC motor. Here’s the video that’s been presented at DesignWest 2012. Of course, one key feature of Microsemi is their analog part that can be used for motor sensing leading to reductions of  overall system complexity and operational costs.

Microsemi did also release its new SmartFusion2 in october mentionning they are already have engagement from customer building critical systems in a broad range of applications including flight data recorders, weapons systems, defibrillators, handheld radios, communications management systems and industrial motor control.

On Altera, Xilinx and Lattice side

No new kit have been released from Xilinx and Altera this year, only one from Lattice. Actually, this kit is not intended for “motor control” specifically but rather for “complex system control” in general and also “video interface design”. According to the previous article, the kit offers a wealth of other built-in system resources that engineers can use to build realistic system prototypes with both digital and analog control‚ human interfaces (electret microphone‚ speaker/headphone‚ LED) and a wide variety of interfaces to external devices and systems (USB 2.0‚ microSD‚ GPIO).

In October, Xilinx did release a new PWM IP that specically releverage FPGA properties to reduce the level of noise compared to standard PWM. This is particularly refreshing to see this since advanced PWM is certainly a domain where FPGA can have and advantage compared to more conventionnal devices since it involves complex calculations at high speed. This is something I did mention in my “Electric motor power savings: The true impact of the device selection” post.

Altera did release its new framework in November 2012 at SPS/IPS Drives conference that is a design environment that help motor control system designer to leverage the different Altera EDA tools in its FPGA-based motor control design process. This framework contains a “drive-on-a-chip” reference design that can be used with the EBV kit or the INK kit.


New Motor Control IP for Altera FPGAs from Alizem

After having released its new on-line boutique in October, Alizem did release its new off-the-shelf motor control software IP for Altera FPGAs. This new software has been tested on real motors from 30W to 86kW and includes many debugging functions for the power stage, the transducers and system protection that helps the motor control system designer in developping new systems safer, cheaper and faster. This new motor control software IP has received AMPP certification in december.

This product is completely in-line with my presentation at IECON2012 on the topic of “FPGA-based Custom Motor Drives Design: The Role of 3rd-party System-Level IP“.

What to expect in 2013 ?

With increased market pressure for lower costs and more innovations, the field of custom motor drives is expected to be more in demand in 2013 and the coming years. According to this market reserach, custom design and manufacturing of an inverter’s sub-unit is driving the modular approach accross applications. According to the same study, major changes are happenning accross the supply chain because power electronics often requires having several types of knowledge and experience gained know-how in mechanics, electronics, semiconductors, electrics, fluidics and hydraulics, and connectors and its development can be complicated and final products expensive.

 Is there anything missing ?

Please let me know by sending me a message via Twitter. You can also contact me on any question you would like me to address on the field of FPGA-based motor control and motor control software IP.

Thanks for reading my blog, I hope you find it useful.

IP for FPGAs: What Does the Future Hold?

Warren Miller has recently posted a series of articles on All Programmable Planet website titled “IP for FPGAs: What Does the Future Hold ?”. I took time to add my two-cents in the conversation:

“Hi Warren and congrats for this excellent series of post.

I completely agree with the idea of having IP blocks that include not only the desired function, but also a bundle of verification functions that help designers to reach their ultimate goal: having a fully working system on time and within budget.

In my area of expertise – motor control software IP – this is particularly important since the application is the management of energy and if an error occurs, this can lead to important system damage (i.e. burn a motor / power stage). Not just a simple “system reboot”.

However, the design of such verification function is a field of expertise in itself that’s entirely related to the expertise domain (i.e. motor control, this is true also for other complex applications such as image processing). Also, the translation of those functions into a form that’s usable by a third-party (which can be internal or external) has also a cost (testing, documentation, etc.).

This is true for DSP/MCU-based design which are only SW configurable devices. Hence, for FPGA-based designs, which have an order of complexity higher than DSP/MCU based design (because of the programmability of the HW), it is obvious that it is also true.

I think the fullfillement of those needs belong to 3rd party system-level IP providers (such as Alizem in the field of motor control), i.e. who package their domain expertise in the form of a licensable IP products.

This is exactly the topic I have presented last month at the IEEE Industrial Electronics Society (IES) Annual meeting for which I have been invited speaker of the Industry Forum. You can access my presentation on my blog:

FPGA-based Custom Motor Drives Design: The Role of 3rd-party System-Level IP

The conclusion of this presentation is: the role of 3rd-party system-level IP providers is to provide products that makes it so easy to the system designers that they can bring their own system to the next level (i.e. focus on their true product differentiation).

Just like Google did with its “self-driving” car.

Best Regards, Marc.”