Electronics > FPGA

Reducing Power Consumption of Lattice MachXO2

(1/1)

jrx07:
Hi all,

Any insight on how to disable the EFB in a Lattice MachXO2?

I'm currently working on a design using the MachXO2 (LCMXO2-1200ZE) and trying to reduce power consumption.

The power consumption estimated from Lattice Diamond's Power Calculator matches the measurements, but I'm surprised by the high power consumption attributed to the EFB (Enhanced Function Block). This dominates the power consumption (snapshot below).

So far I haven't found a way to disable the EFB. I'm wondering if there's a way to explicitly do so, or if perhaps I'm using it without knowing. For example, the design runs from the on-board flash memory and I have JTAG enabled to program the device--could this be the issue?

Other things I've tried:
-Enabling/disabling the onboard oscillator by explicitly instantiating it (the device uses an external oscillator)
-Instantiating the Power Controller IP and putting the system in to Standby (I don't need Power on Reset or the Bandgap Reference)

Thanks for any tips/suggestions!


pscom68:
Hi!
I know it's been 6 months this topic has been created, but I ran into the exact same issue this week.
And since your post still pops up high when looking for "MachXO2 EFB power" keywords on the Internet, I thought I'd gave a chance here.
Any chance you answered your question ? Are those 5mW real ? Is there a way to remove that consumption when not using the EFB block ?
I opened a case at Lattice, but I had no feedback so far. I will update this thread if that were to change.

Best regards,
/P

jrx07:
Hi P,

Did you find out any more?

Unfortunately I haven't tracked down the root issue yet. I was able to get by in my application regardless of the extra power. I'll see if I can run some more tests later this week though.

Cheers,
J

pscom68:
Hi!

Right you asked. We actually nailed it last week, despite the lack of feedback from Lattice.
The guilty is not the full EFB block, but just the internal oscillator, that you need to explicitly instantiate, and tie its STDBY port to logic "1".


--- Code: ---  OSCH OSCH_inst(
    .STDBY      ( 1'b1), // 0=Enabled, 1=Disabled
    .OSC        (  ),
    .SEDSTDBY   ( ) // this signal is not required
  ) /* synthesis syn_noprune=1 */;

--- End code ---

This will remove the 5mW power consumption offset in the design (on board measurement performed to validate).
And for the power estimator, when you have correctly synthesized your design with the disabled internal oscillator, in the Power Control button, you have the "Disable OSC" field available that you can tick. That will remove the 5mW offset in the power estimator.

Hope it helps,
Regards,
/P

SiliconWizard:
So you are saying that if one doesn't instantiate the internal oscillator, it is enabled by default? That's good to know (and a bit silly of Lattice if you ask me.)

I've used the MachXO2 in several designs, but never noticed this issue (I either used the internal oscillator, or if not, an external oscillator and in this case power consumption was not a real concern, so I didn't notice.)

Navigation

[0] Message Index

There was an error while thanking
Thanking...
Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod