+44 121 222 5433

Software Design Tips

Performance Study of i.MX6Q vs i.MX 7ULP vs i.MX8M

Performance Study of i.MX6Q vs i.MX 7ULP vs i.MX8M

Performance Study of i.MX6Q vs i.MX 7ULP vs i.MX8M


i.MX6Q vs i.MX 7ULP vs i.MX8M: the need for a comparison


The i.MX7ULP and i.MX8M are two new chips in NXP’s line up of applications processors.

How do these compare with the older i.MX6 parts?

This report goes into some analysis of real world processing performance, floating point performance and importantly OpenGL performance in a simple texture test.


Application Processor Families

First, let’s take a look at the three application processors.



iMX6Q - Study of iMX6Q, iMX7ULP and iMX8M

 Image: NXP

The i.MX6 series has proved popular in electronics product development for its performance-scalable multicore platform and array of features.

Its popularity has been enhanced by there being pin-compatible versions from single through to quad core. This has allowed engineers to design a single PCB that can provide different levels of computing performance.

The quad version is one of the highest performance members of the family (second only to the QuadPlus).



NXP’s latest achievement in ultra-low-power processing for use cases demanding long battery life, the i.MX 7ULP family of processors is aimed at the growing portable devices market.

iMX7ULP - Study of iMX6Q, iMX7ULP and iMX8M

Image: NXP

Features include 2D and 3D Graphics Processing Units (GPU), and Quad SPI (w/ On The Fly Decryption).



iMX8M - Study of iMX6Q, iMX7ULP and iMX8M

Image: NXP

The i.MX8M is the first part on general availability in NXP’s new i.MX8 family of SoCs.

NXP says the i.MX8 family provides industry-leading audio, voice and video processing for applications from consumer home audio to industrial building automation and mobile computers.


Boards under test:

NXP MCIMX6Q-SDB – i.MX6 Quad@ 1GHz

NXP MCiMX7ULP-EVK – i.MX7ULP Single@500Mhz

NXP MCIMX8M-EVK – i.MX8M Quad@1.5Ghz


Graphics Performance

The test is to render as many balls a possible before the framerate reduces below the LCD re-fresh (i.e. 50 or 60 FPS). This test removes the background shown in the previous test to just count the moving objects. The results:

The representation of these maximums is shown below:

iMX6Q Screen 1080 x 60 fps - Study of iMX6Q, iMX7ULP and iMX8M

Figure 1: i.MX6Q screen maxed out with textures at 1080 x 60 FPS


iMX8M Screen 1080 x 60 fps - Study of iMX6Q, iMX7ULP and iMX8M

Figure 2: i.MX8M screen maxed out with textures at 1080 x 60 FPS


iMX7ULP Screen 854 x 480 x 50 fps - Study of iMX6Q, iMX7ULP and iMX8M
Figure 3: i.MX7ULP screen maxed out with textures at 854 x 480 x 50 FPS


In the tests above the iMX6 and iMX8 are using identical graphics of a 180 x 180 pixel texture, while the iMX7ULP is using a 80 x 80 pixel texture – but that’s still pretty impressive considering the amount of moving objects it can manage.

For a demonstration of the i.MX7 ULP output (with background re-added), see: https://youtu.be/mpo8IBroNkI

CPU Performance

Two single core tests were performed on all boards; these were to exercise integer and floating point calculations.
The integer test was to compress a ~100MB file in the RAM disk to a tar.gz in RAM disk.
The floating point test used stress-ng using the following command:

/stress-ng –cpu 1 –cpu-method cfloat –cpu-ops 10000

iMX6Q, iMX7ULP & iMX8M test results



Both the i.MX8M and i.MX7ULP are welcome new members of the NXP CPU range.
The 8M delivers performance increases at a CPU and GPU level that will enable some very powerful embedded devices.

The i.MX7ULP fills the gap for super low power, low cost devices that are capable of driving an LCD with high quality graphics output which is lacking from the current i.MX6 range.


If you have a project that for product cost or power reasons is planning on using a microcontroller, then think again about the i.MX7ULP and catapult your product above your competitors.

If your product is using the i.MX6Q and running out of bandwidth, the natural progression is to migrate to the i.MX8M.

As an NXP Approved Engineering Consultant, ByteSnap can help with the design or migration to either processor family. Get in touch on 0121 222 5433 or at info@bytesnap.co.uk to find out more…


Further reading