What you’ll learn:
- Why multicore is important for machine learning (ML) on micros.
- What type of ML support is inside the i.MX RT700?
The i.MX RT700 from NXP is chock-full of features, ranging from an integrated DC-DC converter to multiple compute cores that include a neural processing unit (NPU) to accelerate artificial-intelligence/machine-learning (AI/ML) algorithms (Fig. 1). The crossover microcontroller fills the gap between single-core micros and higher-end microprocessors and system-on-chip (SoC) solutions that incorporate ML acceleration.
Looking at Multicore ML Acceleration
The i.MX RT700 includes three compute subsystems. The primary one is built around a 325-MHz Arm Cortex-M33 with a three-stage pipeline and TrustZone security support. Its DSP extensions allow for basic ML acceleration. It’s paired with a Cadence Tensilica HiFi 4 DSP, which can also handle ML chores. The Sense Compute subsystem has the same processor core with a HiFi 1 DSP both running at 250 MHz.
The eIQ Neutron NPU handles the heavy lifting when it comes to AI acceleration (Fig. 2). The NPU supports most neural-network types, including CNN, RNN, TCN, and transformer networks. The core handles inline dequantization, activation, and pooling, and it incorporates a weight decompression engine to reduce bandwidth requirements to memory. Its multidimensional DMA supports different formats, batching, striding, interleaving, and concatenation operations.
Securing the Crossover Microcontroller
The i.MX RT700 family includes an EdgeLock Secure Enclave (Core Profile) found in other NXP microcontrollers. It has a built-in physically unclonable function (PuF) and supports secure boot with a battery-saving mode. It can manage secure update chores and provides seamless memory encryption.
The chip has run-time attestation support along with a silicon-based root of trust. It can handle trust provisioning and fine grain key management.
Development Tools for the i.MX RT700
The microcontroller is backed by NXP’s MCUXpresso Suite and ecosystem. The MCUXpresso IDE is based on the open-source Eclipse integrated development environment (IDE).
The ecosystem features the eIQ ML Development Environment that includes the eIQ Toolkit and eIQ Extensions. Among the supported ML inference engines are DeepViewRT, TensorFlow Lite Micro, TensorFlow Lite, CMSIS-NN and Glow.