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


Quick Reference
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.

Like most websites, we use cookies and similar technologies to enhance your user experience. We also allow third parties to place cookies on our website. By continuing to use this website you consent to the use of cookies as described in our Cookie Policy.