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.