NXP i.MX 8M Plus
Processeur d’applications multimedia avec NPU integre pour l’IA embarquee, fabrique en 14nm FinFET, concu pour les applications industrielles, IoT, vision par machine et edge computing.
Fiche technique rapide
FabricantNXP Semiconductors
ReferenceMIMX8ML8DVNLZAB
ArchitectureARMv8-A + ARMv7-M
Process14nm LPC FinFET (TSMC)
CPU4x Cortex-A53 @ 1,8 GHz
MCU1x Cortex-M7 @ 800 MHz
GPUGC7000UL (16 GFLOPS)
NPU2,3 TOPS (INT8)
DSPCadence HiFi 4 @ 800 MHz
MemoireLPDDR4-4000 / DDR4-3200
VideoH.265 decode 4Kp60
CameraDual ISP, 12 MP, HDR
Ethernet2x GbE (1x avec TSN/AVB)
BoitierFCBGA 15×15 mm, 0,5 mm
Vue d’ensemble
Le NXP i.MX 8M Plus (aussi note i.MX8MP) est un processeur d’applications de la famille i.MX 8M de NXP Semiconductors. Lance en 2020, c’est le premier SoC de la famille i.MX a integrer un NPU (Neural Processing Unit) dedie a l’inference de reseaux de neurones, avec une puissance de calcul de 2,3 TOPS en INT8.
Il combine dans une seule puce un processeur quad-core Cortex-A53 pour le traitement general, un microcontroleur Cortex-M7 pour les taches temps reel, un GPU 3D Vivante, un DSP HiFi 4 Cadence Tensilica pour le traitement audio/voix, un codec video H.265 jusqu’a 4Kp60, un double ISP pour le traitement camera, et une riche connectivite incluant 2 ports Gigabit Ethernet dont un avec TSN (Time-Sensitive Networking), 2 USB 3.0, PCIe Gen 3 et 2 CAN-FD.
Cette integration extreme en fait un SoC de choix pour les applications edge AI, la vision par ordinateur, les gateways industrielles, les systemes audio professionnels, les equipements medicaux et la domotique avancee.
ℹ️
L’i.MX8M Plus est le successeur et l’evolution de l’i.MX8M Mini. Il conserve la compatibilite logicielle tout en ajoutant le NPU, le double ISP, l’Ethernet dual TSN, le DSP HiFi4, le HDMI 2.0a, le USB 3.0, le PCIe Gen 3 et le CAN-FD.
Diagramme bloc
Architecture SoC i.MX 8M Plus
Cortex-A53 x41,8 GHz / 32KB L1 / 1MB L2
Cortex-M7800 MHz / 256KB TCM
GPU GC7000ULOpenGL ES 3.1 / Vulkan 1.0
NPU VIP80002,3 TOPS INT8 / FP16
HiFi 4 DSPCadence Tensilica 800 MHz
VPU HantroH.265 4Kp60 decode / 1080p60 encode
ISP Dual2x 12 MP / HDR 3 expo
HDMI 2.0a TX4Kp30 / eARC / HDCP 2.3
Audio SAI x6I2S / TDM / 768 kHz
EASRC + MICFIL32 ch SRC / 8 ch PDM
2x GbE (1x TSN)IEEE 802.1AS/Qbv/Qav
2x USB 3.05 Gbps / Host / Device / OTG
PCIe Gen 3 x18 GT/s / Root Complex
2x CAN-FD + UART/SPI/I2C4 UART / 3 SPI / 6 I2C
DDR4 / LPDDR432-bit, 8 Go max, ECC inline
SecuriteHABv4 / CAAM / TrustZone / SNVS
CPU : Quad Cortex-A53
Le cluster de traitement principal comprend 4 coeurs ARM Cortex-A53 cadences a 1,8 GHz, implementant le jeu d’instructions ARMv8-A (mode AArch64 et AArch32). Ce sont des coeurs « in-order » optimises pour l’efficacite energetique, offrant un excellent rapport performance/watt pour les applications embarquees.
| Parametre | Specification |
| Nombre de coeurs | 4 (Quad) ou 2 (Dual selon variante) |
| Frequence maximale | 1,8 GHz |
| Architecture | ARMv8-A (AArch64 + AArch32) |
| Cache L1 Instruction | 32 KB par coeur |
| Cache L1 Donnees | 32 KB par coeur |
| Cache L2 Unifie | 1 MB partage (avec SCU) |
| SIMD | NEON Advanced SIMD |
| Crypto Extensions | AES, SHA-1, SHA-256 (acceleration materielle) |
| FPU | VFPv4 double precision |
| Virtualisation | Supportee (EL2 hyperviseur) |
| Modes DVFS | Nominal, Overdrive, Super Overdrive |
| Debug | CoreSight ETM trace |
Gestion de l’alimentation CPU (PSCI)
- WFI (Wait For Interrupt) : mise en veille legere, reveil rapide
- Power down coeur : extinction individuelle d’un coeur
- Power down cluster : extinction de tout le cluster A53
- Suspend-to-RAM : mise en veille profonde du systeme complet
MCU : Cortex-M7
Le Cortex-M7 est un microcontroleur temps reel independant, cadence a 800 MHz, avec un pipeline superscalaire dual-issue a 6 etages. Il peut fonctionner de maniere autonome (bare-metal, FreeRTOS, Zephyr) ou en parallele avec Linux sur les A53.
| Parametre | Specification |
| Frequence | 800 MHz |
| Architecture | ARMv7-M (Thumb-2) |
| Pipeline | 6 etages, superscalaire dual-issue |
| TCM | 256 KB (128 KB ITCM + 128 KB DTCM) |
| Cache L1 | 32 KB I-Cache + 32 KB D-Cache |
| FPU | Double precision IEEE 754 |
| DSP | Instructions DSP integrees (MAC simple cycle) |
| RTOS supportes | FreeRTOS, Zephyr, QNX, Green Hills Integrity |
| Communication A53 | RPMsg via Messaging Unit (MU) |
| SDK | MCUXpresso SDK |
💡
Cas d’usage typiques du M7 : traitement audio temps reel (DSP), acquisition capteurs rapides, controle moteur, pre-traitement de donnees pendant que les A53 sont en veille (low-power audio mode AN12195), gestion de protocoles industriels temps reel.
Communication A53 / M7 (RPMsg)
La communication entre les coeurs A53 (Linux) et le M7 (FreeRTOS) utilise le protocole RPMsg (Remote Processor Messaging), base sur la Messaging Unit (MU) et des buffers en memoire partagee (vring). Le framework remoteproc sous Linux permet de charger, demarrer et arreter le firmware M7 dynamiquement.
⚠️
Piege courant : Ne jamais acceder aux registres d’un peripherique depuis le M7 sans avoir prealablement active son horloge. Un acces a un peripherique sans clock provoque un hang complet du systeme (A53 + M7).
GPU : Vivante GC7000UL + GC520L
GPU 3D : GC7000UL
| Parametre | Specification |
| Shader Units | 2 unites de shader |
| Frequence | 1000 MHz |
| Performance | 16 GFLOPS (FP32) |
| Triangles | 166 millions/sec |
| Fill rate | 1,0 Gpixel/sec |
| OpenGL ES | 1.1, 2.0, 3.0, 3.1 |
| Vulkan | 1.0 |
| OpenCL | 1.2 EP (Embedded Profile) |
| Drivers | Galcore (proprietaire) + etnaviv (open-source, partiel) |
GPU 2D : GC520L
Acceleration 2D dediee, compatible super-tile avec le GPU 3D. Utilisee pour la composition d’ecran, le blitting et les transformations 2D sans solliciter le GPU 3D.
Le GPU partage le device /dev/galcore avec le NPU. Les deux utilisent la couche logicielle OpenVX pour l’acceleration materielle.
NPU : Vivante VIP8000
Le NPU est le composant phare de l’i.MX8M Plus. Base sur le coeur VeriSilicon Vivante VIP8000, il est dedie exclusivement a l’inference de reseaux de neurones profonds, offrant une acceleration ~30x par rapport aux Cortex-A53.
| Parametre | Specification |
| Coeur IP | VeriSilicon Vivante VIP8000 |
| Performance | 2,3 TOPS (INT8) |
| Precision | INT8, UINT8, FP16 (mode mixte) |
| Architecture | PPU (Parallel Processing) + NNU (Neural Network) + USC (Unified Storage Cache) |
| Operateurs | 120+ (Conv, Deconv, FC, Pooling, BatchNorm, ReLU, Sigmoid, LSTM, RNN…) |
| Modeles valides | MobileNet, ResNet, YOLO, SSD, SegNet, DeepLab, EfficientNet-Lite… |
| Framework | TensorFlow Lite + VX Delegate (recommande) |
| Toolkit | NXP eIQ (Portal + CLI + Model Zoo) |
| Warmup | ~7s premiere inference (AN12964) |
| Cache | Fichier .nb (network binary) pour chargement rapide |
Performances mesurees
| Modele | Resolution | Temps d’inference |
| MobileNet v1 (INT8) | 224×224 | ~2 ms (~500 img/s) |
| YOLOv5n (INT8) | 640×640 | ~24 ms |
| YOLOv5s (INT8) | 448×448 | ~70 ms |
| ResNet-50 (INT8) | 224×224 | ~15 ms |
⚠️
Attention : Le NPU ne supporte que les modeles integralement quantifies en INT8. Les operations en float32 ou INT64 provoquent un fallback CPU. Privilegier la quantification per-tensor (meilleures perfs que per-channel). L’operateur TRANSPOSE_CONV n’est pas supporte sur le NPU.
DSP : Cadence Tensilica HiFi 4
Le HiFi 4 DSP de Cadence Tensilica est un processeur de signal numerique dedie au traitement audio et voix, cadence a 800 MHz.
| Parametre | Specification |
| IP | Cadence Tensilica HiFi 4 |
| Frequence | 800 MHz |
| Precision | 32 bits fixe et flottant |
| Applications | Decodage audio, traitement voix, wake word, beamforming, AEC |
| Framework | Sound Open Firmware (SOF) / rproc+rpmsg |
| Licence | Firmware necessite licence Cadence |
ℹ️
Note : Le HiFi 4 DSP n’est disponible que sur les variantes MIMX8ML8 (Quad complet) et MIMX8ML3 (Dual complet). Le Cortex-M7 sous FreeRTOS est une alternative gratuite et souvent suffisante pour le traitement audio temps reel.
Codec Video (VPU Hantro)
Le VPU integre les blocs Hantro G1/G2 (decodeur) et Hantro VC8000E (encodeur).
Decodeur (Hantro G1/G2)
| Codec | Resolution maximale |
| H.265 / HEVC | 4Kp60 |
| VP9 | 4Kp60 |
| H.264 / AVC | 4Kp30 |
| VP8 | 1080p60 |
| MPEG-2 | 1080p60 |
| MPEG-4 Part 2 | 1080p60 |
| VC-1 | 1080p60 |
| MJPEG | 1080p60 |
| H.263, AVS, RV9 | 1080p60 |
Encodeur (Hantro VC8000E)
| Codec | Resolution maximale |
| H.265 / HEVC | 1080p60 |
| H.264 / AVC | 1080p60 |
| Encode simultane | 4x 1080p60 (H.264 ou H.265) |
ISP : Double Camera
L’i.MX8MP integre un double ISP (Image Signal Processor) permettant le traitement simultane de 2 flux cameras via MIPI-CSI2.
| Parametre | Specification |
| Nombre d’ISP | 2 (pipeline parallele) |
| Performance ISP | 375 Mpixel/s (overdrive) / 300 Mpixel/s (nominal) |
| Resolution max | 12 MP (4096×3072) par ISP |
| Mode mono-camera | 12 MP @ 30fps ou 4Kp45 |
| Mode bi-camera | 1080p80 par camera |
| Interfaces | 2x MIPI-CSI2, 4 data lanes, 1,5 Gbit/s par lane |
| HDR | Jusqu’a 3 expositions |
| Fonctionnalites | De-mosaiquage Bayer, debruitage, AWB, AE/AF, lens shading, WDR/tone mapping, correction aberration chromatique, dewarp |
| Formats | RAW Bayer (8/10/12-bit), YUV |
| ISI | 8 canaux pour dewarp, resize, CSC |
Sorties Display
| Interface | Resolution max | Details |
| HDMI 2.0a TX | 4Kp30 / 1080p60 | HDCP 2.3, CEC, eARC audio |
| MIPI-DSI | WUXGA / UWHD | 4 data lanes, 1,5 Gbit/s par lane, DSI-2 |
| LVDS (dual) | 1920x1080p60 | 2 canaux, norme TIA/EIA 644-A, via LDB |
Sous-systeme Audio
L’i.MX8MP dispose d’un sous-systeme audio particulierement riche, adapte aux applications audio professionnelles, assistants vocaux, systemes multiroom et traitement voix multi-microphones.
| Bloc | Specification |
| SAI1 | 8 TX + 8 RX lanes, I2S/TDM/AC97/DSD, jusqu’a 768 kHz / 32-bit |
| SAI2 | 4 TX + 4 RX lanes |
| SAI3 | 2 TX + 2 RX lanes |
| SAI4 / SAI5 / SAI6 | 2 / 1 / 1 TX+RX lanes |
| EASRC | Sample rate converter asynchrone, 4 contextes, 32 canaux, 8-384 kHz, ratio 1/16 a 8x |
| MICFIL | Interface PDM 8 canaux pour microphones MEMS |
| SPDIF | Entree/sortie, mode capture brute |
| HDMI eARC | Enhanced Audio Return Channel pour home cinema |
| HiFi 4 DSP | Cadence Tensilica 800 MHz, wake word, beamforming, AEC |
| Audio PLLs | 393,216 MHz (famille 48 kHz) + 361,267 MHz (famille 44,1 kHz) |
| Formats | PCM S16/S24/S32, DSD64/128/256 |
💡
Architecture audio flexible : Le M7 (FreeRTOS) peut servir de DSP audio temps reel via les SAI, pendant que les A53 sont en veille. Le NPU peut accelerer la reconnaissance vocale (40K mots) et le keyword spotting. Le HiFi4 gere le traitement audio avance (beamforming, AEC). Ces 3 blocs sont complementaires.
Memoire DDR
| Parametre | Specification |
| Types supportes | LPDDR4-4000 / LPDDR4X / DDR4-3200 |
| Bus | 32-bit (un canal) |
| Debit max | LPDDR4 : 4000 MT/s / DDR4 : 3200 MT/s |
| Bande passante | Jusqu’a ~14,9 Go/s (LPDDR4) |
| Capacite max | 8 Go |
| ECC | Inline ECC supportee |
| PHY DDR | Synopsys DesignWare, firmware d’entrainement requis |
⚠️
Point critique pour le bring-up : L’initialisation DDR est effectuee par le SPL (U-Boot). Le fichier lpddr4_timing.c doit etre genere avec le DDR Tool NXP apres avoir passe les stress tests avec succes. Les parametres de timing sont specifiques a chaque design de carte.
Stockage
| Interface | Specification |
| eMMC | 5.1, 8-bit, HS400, via USDHC |
| SD/SDIO | SD 3.0, UHS-I, SDIO 3.0, via USDHC |
| Controleurs USDHC | 3 (partageables entre eMMC, SD, SDIO WiFi) |
| QSPI NOR | Via FlexSPI (3 interfaces), Single/Dual/Quad/Octal, XIP supportee |
| Raw NAND | Via GPMI, 8-bit, MLC/SLC, BCH ECC 62-bit, ONFi 3.2, 200 Mo/s |
Connectivite
Ethernet
| Interface | Specification |
| ENET (standard) | Gigabit Ethernet, RGMII, IEEE 1588 PTP |
| ENET_QOS (TSN) | Gigabit Ethernet + TSN : IEEE 802.1AS (gPTP), 802.1Qbv (TAPRIO), 802.1Qav (CBS), 802.1Qat (SRP), AVB (802.1BA) |
Bus et interfaces
| Interface | Specification |
| USB 3.0 | 2 ports, SuperSpeed 5 Gbps, Host/Device/OTG, PHY integres |
| PCIe | Gen 3, 1 lane (x1), 8 GT/s, Root Complex ou Endpoint, PHY integre |
| CAN-FD | 2 modules FlexCAN |
| UART | 4 modules |
| I2C | 6 modules |
| SPI (ECSPI) | 3 modules |
| PWM | 4 modules |
| ADC | 4 canaux |
| GPIO | 5 banques (jusqu’a ~85 GPIO selon muxing) |
ℹ️
TSN (Time-Sensitive Networking) : Le port ENET_QOS supporte les normes IEEE 802.1 pour le reseau deterministe. Ideal pour les applications industrielles temps reel, l’audio/video sur IP (AVB), l’automatisation et la robotique.
Securite
Suite de securite complete, essentielle pour les applications industrielles, medicales et IoT.
| Module | Fonction |
| HABv4 | Secure Boot : verification RSA/ECC sur toute la chaine de boot (SPL, ATF, U-Boot, OP-TEE) |
| CAAM | Accelerateur crypto : AES-128/256, DES/3DES, SHA-1/256/384/512, RSA 4096-bit, ECC, PRNG NIST, 3 Job Rings, 32 KB memoire securisee |
| ARM TrustZone | Isolation hardware monde securise / normal |
| OP-TEE | Trusted Execution Environment (OS securise optionnel) |
| SNVS | Secure Non-Volatile Storage : tamper detection, RTC securise, Master Key, domaine batterie (0,8V) |
| eFuses (OCOTP) | OTP : SRK hash, boot config, MAC addresses, revocation de cles |
| RPMB | Replay Protected Memory Block (via eMMC) pour stockage securise |
| Resource Domain Controller | Isolation des peripheriques par domaine de securite |
| RNG materiel | Generateur de nombres aleatoires (/dev/hwrng sous Linux) |
Alimentation & Thermique
| Parametre | Specification |
| Tension coeur (VDD_ARM) | 0,9 V nominal (variable avec DVFS) |
| Tension SOC (VDD_SOC) | 0,85 V nominal |
| Consommation typique | 1,5 – 3,5 W selon charge (AN13054) |
| Temperature jonction max | 105 °C (industriel) / 95 °C (consommateur) |
| Temp. ambiante industrielle | -40 a +85 °C |
| PMIC recommande | NXP PCA9450 (dedie i.MX8M Plus) |
| DVFS | 3 modes : Nominal, Overdrive, Super Overdrive |
| Mode basse conso | SNVS/RTC a 0,8 V via LDO interne |
| Refroidissement | Heat-spreader obligatoire, dissipateur actif recommande sous charge NPU+A53+GPU |
Boitiers & Variantes
Toutes les variantes partagent le meme boitier FCBGA 15×15 mm (pitch 0,5 mm) et sont pin-compatible. Schema de denomination : MIMX8ML@DVNLZAB
| Reference | Nom | CPU | NPU | HiFi4 DSP | ISP | VPU Encode |
| MIMX8ML8 | Quad (complet) | 4x A53 | 2,3 TOPS | Oui | Dual | Oui |
| MIMX8ML6 | Quad (reduit) | 4x A53 | Non | Non | Oui | Oui |
| MIMX8ML4 | QuadLite | 4x A53 | Non | Non | Non | Non |
| MIMX8ML3 | Dual (complet) | 2x A53 | 2,3 TOPS | Oui | Dual | Oui |
Toutes les variantes incluent : Cortex-M7 800 MHz, GPU GC7000UL, 2x GbE, 2x USB 3.0, PCIe Gen 3, 2x CAN-FD. Suffixe C = consommateur (0 a 95°C), I = industriel (-40 a 105°C).
Applications Cibles
| Marche | Applications |
| Edge AI & Vision | Cameras intelligentes, inspection visuelle, comptage de personnes, reconnaissance faciale |
| Industrie 4.0 | Gateways IoT avec TSN, IHM, automates, predictive maintenance, edge computing |
| Audio & Voix | Assistants vocaux, systemes multiroom, audio pro, DSP temps reel, beamforming |
| Medical | Imagerie portable, monitoring patient, appareils de diagnostic |
| Smart Home | Hubs domotiques, interphones video, cameras de securite avec IA |
| Robotique | Navigation autonome, traitement capteur, controle moteur (M7) |
| Transport | IVI, cluster secondaire, telematics, surveillance embarquee |
Comparaison avec la famille i.MX
| Caracteristique | i.MX8M Mini | i.MX8M Plus | i.MX93 |
| CPU | 4x A53 @ 2,0 GHz | 4x A53 @ 1,8 GHz | 2x A55 @ 1,7 GHz |
| MCU | M4 @ 400 MHz | M7 @ 800 MHz | M33 @ 250 MHz |
| NPU | Non | 2,3 TOPS (VIP8000) | 0,5 TOPS (Ethos-U65) |
| GPU | GC NanoUltra | GC7000UL (16 GFLOPS) | PXP (2D seul) |
| DSP Audio | Non | HiFi 4 @ 800 MHz | Non |
| VPU Decode | 1080p60 | 4Kp60 H.265/VP9 | Non (logiciel) |
| VPU Encode | 1080p60 H.264 | 1080p60 H.265/H.264 | Non |
| ISP Camera | Non | Dual 12 MP, HDR | MIPI-CSI2 (sans ISP) |
| HDMI | Non | 2.0a, 4Kp30, eARC | Non |
| LVDS | Non | Dual | Non |
| Ethernet | 1x GbE | 2x GbE (1x TSN) | 2x GbE |
| USB | 2x USB 2.0 | 2x USB 3.0 | 2x USB 2.0 |
| PCIe | Non | Gen 3 x1 | Non |
| CAN-FD | Non | 2x | 2x |
| Audio | SAI basique | 6x SAI + EASRC + MICFIL + HiFi4 | SAI basique |
| Securite | HABv4, CAAM | HABv4, CAAM, SNVS | EdgeLock Enclave |
| Process | 14nm FinFET | 14nm FinFET | 28nm FD-SOI |
Ressources & Documentation
Documentation NXP officielle
- IMX8MPCEC / IMX8MPIEC : Datasheet (consommateur / industriel)
- IMX8MPRM : Reference Manual (4000+ pages)
- IMX8MPHDG : Hardware Developer’s Guide
- AN12964 : NPU Warmup Time
- AN13054 : Power Consumption Measurement
- AN13709 : Linux Boot Time Optimizations
- AN12195 : Low Power Audio on M7
- AN14641 : Fast and Secure Boot (Falcon Mode)
- AN13854 : NPU Migration Guide i.MX8MP to i.MX93
- UG10166 : Machine Learning User’s Guide (eIQ)
- UG10164 : Yocto Project User’s Guide
Outils de developpement
- MCUXpresso SDK : SDK pour le Cortex-M7 (bare-metal + FreeRTOS + Zephyr)
- Yocto BSP (meta-imx) : Layer Yocto officiel NXP pour Linux
- eIQ Toolkit + Portal : Conversion et optimisation de modeles IA
- eIQ Model Zoo : Modeles pre-entraines (GitHub NXP/eiq-model-zoo)
- DDR Tool : Stress test et generation des timings DDR
- UUU : Universal Update Utility (recovery/flash via USB)
- CST : Code Signing Tool (Secure Boot HABv4)
- imx-mkimage : Generation de flash.bin
Cartes d’evaluation et SoM
| Fabricant | Produit | Type |
| NXP | i.MX8MP-EVK | Carte de reference officielle |
| Toradex | Verdin i.MX8MP | SoM + carrier board |
| Variscite | DART-MX8M-Plus | SoM + evaluation kit |
| CompuLab | UCM-iMX8M-Plus | SoM compact |
| SolidRun | i.MX8MP SOM | SoM industriel |
| PHYTEC | phyCORE-i.MX8M Plus | SoM industriel |
| Engicam | iCore MX8MP | SoM + starter kit |
U-Boot i.MX8MP →
Boot chain, SPL, ATF, Secure Boot, DDR init, Falcon Mode, troubleshooting.
Yocto BSP →
Build, paquets NXP, images, layers, customisation, deploiement.
i.MX8M Plus — Page actuelle
Presentation complete du SoC : CPU, GPU, NPU, DSP, video, audio.
Besoin d’aide sur un projet i.MX8M Plus ?
Conception hardware Altium, BSP Yocto, firmware FreeRTOS/M7, integration NPU/IA, audio DSP — je vous accompagne de A a Z.
Discuter de votre projet →