EFB Module

Embedded Function Block for the MachXO3D FPGA

The Lattice EFB Module for the MachXO3D™ FPGA device is a hard architectural block that is known as the Embedded Function Block (EFB). The EFB includes an I2C, access to Configuration Blocks (CFG1), and User Flash Memory (UFM). All of these hard IP peripherals are addressable through the Advanced the Peripheral Bus (APB) interface of the Advanced Microcontroller Bus Architecture (AMBA) 3 protocol.

The design is implemented in Verilog HDL. It can be configured and generated using Lattice Propel Builder. It can be targeted to MachXO3D FPGA devices and implemented using the Lattice Diamond software Place and Route tool integrated with the Synplify Pro synthesis tool.


  • AMBA 3 APB Protocol v1.0 interface
  • One I2C block (I2C2)
  • Support for the initialization of Configuration Block 1 (CFG1)
  • Support for the initialization of User Flash Memory 2 (UFM2)
Lattice Propel

Block Diagram

EFB Module Block Diagram


Quick Reference
Select All
EFB Module- Lattice Propel Builder
FPGA-IPUG-02111 1.0 6/3/2020 PDF 671.1 KB

*By clicking on the "Notify Me of Changes" button, you agree to receive notifications on changes to the document(s) you selected.