Supporting all Lattice devices - Lattice programming hardware is designed to support all Lattice programmable products – all voltages, all technologies. Lattice programming software controls the interface between your PC and the target system. Our programming software is available as an efficient stand-alone installation for both our Lattice Diamond and Radiant tools.
In-system or off-board - If you need to program your Lattice devices in-system, via SPI, JTAG, I2C or other methodologies, Lattice has you covered. Check the available options below to find the best match to your needs.
Volume Programming support - If you have a need for high-volume production programming of unmounted devices, check with your Lattice sales representative to see if Lattice can help. You can also check with our Programming Service Provider partners, who produce independent hardware and software supporting many Lattice devices.
Hardware
![]() |
Programming Cables Use to quickly download your design to a Lattice programmable device or perform various debug operations. Connects a PC to a target board or device, controlled with Lattice programming software. |
![]() |
Socket Products for Desktop Programming Socket products are used to program loose devices, prior to PCB assembly. Newer Lattice FPGAs are supported with all-in-one Smart Sockets connecting directly to a PC. Other FPGAs are supported with Socket Adapter boards that mount on a Lattice Desktop Programmer. |
![]() |
Model 300 Desktop Programmer For use with Lattice Socket Adapter Boards to enable programming of loose devices prior to assembly. |
![]() |
iCEprog Desktop Programmer For use with Lattice Socket Adapter Boards to enable programming of loose iCE40 devices prior to assembly. |











