Why Device Selection Deserves Care

The FPGA is often the component that ties a system together, so choosing the right family early avoids a costly redesign later. Lattice offers four broad families that overlap in density but differ sharply in power, interfaces and configuration: ECP5, Certus-NX, MachXO and iCE40. This guide walks through a repeatable method for selecting among them, using the Lattice families and their orderable variants as the candidate set.

Step 1: Fix the Function

Start from what the FPGA must do. Bridging between protocols, running an image pipeline, controlling a motor and holding always-on sensing logic impose very different requirements. A vision pipeline needs hardened MIPI D-PHY and memory for line buffers, a motor-control design needs DSP multipliers and deterministic timing, a glue-logic or sequencing task needs instant-on configuration, and an always-on sensor task needs the lowest possible power. Writing the function down first prevents over- or under-specifying the device.

Logic and Memory Budget

Estimate the logic cells and embedded memory the function needs, then add margin for future changes. Lattice devices span roughly 5K cells in the small iCE40 parts to 85K in the largest ECP5 devices, so the budget quickly narrows the family. Memory matters as much as logic: a video pipeline needs block RAM or SPRAM for line buffers, while a control design needs very little.

Step 2: Choose the Interfaces

Interfaces often decide the family. If the design needs hardened PCIe, Gigabit Ethernet or DDR3, the Certus-NX family is the natural choice because those blocks are integrated. If it needs flexible high-speed serial links, the ECP5 SerDes channels fit better. If it needs MIPI camera or display links, the CrossLink family provides hardened MIPI D-PHY. Matching the interfaces to hardened blocks saves logic and external components.

Power and Configuration

Next consider power and configuration. Certus-NX uses 28 nm FD-SOI for low power and high reliability, ECP5 balances cost and power, MachXO configures instantly from on-chip flash, and iCE40 targets microwatt always-on operation. The configuration scheme follows from the family: external SPI flash for ECP5 and Certus-NX, on-chip non-volatile memory for MachXO and iCE40.

Step 3: Match the Package

Finally, choose the package that fits the board. I/O count, thermal path and assembly method all constrain the choice, and Lattice offers compact QFN and BGA options across the families. Confirm the I/O standards and the power rails the package supports, and check availability of the exact orderable variant.

Worked Examples

An industrial multi-axis drive might use an ECP5 LFE5U-45F-6BG381C for parallel control loops and a MachXO3 for instant-on sequencing. A smart camera might use a CrossLink-NX for the MIPI front end and a Certus-NX for the host interface. A wearable might use an iCE40 UltraPlus for always-on sensing. In each case the function, interfaces and power budget point to the family before the density is even considered.

Validate Before You Commit

Once the choice is narrow, validate it with a sample and the vendor toolchain before freezing the BOM. Confirm the logic and memory fit, run the I/O and timing checks, and measure power on a board. Our FAE team supports every one of these steps and can shortlist devices against your requirements.