Signal Isolation in Low Power Design

In low power designs with multiple power domains, there are many interactive signals between different power domains. If one power domain is powered off, the signals output from that power domain to another power domain that is still powered on need to be isolated. The reason is that the signals from the powered-off power domain will become ‘x’, and when this ‘x’ connects to the powered-on power domain, it may cause leakage due to different signal levels, thereby affecting overall power consumption.

Signal Isolation in Low Power Design

For example, if power domain B is powered off, while power domains A and C remain powered on, then signal2 and signal5 need to have isolation cells inserted within power domains A and C, respectively.The flow for inserting isolation cells is generally completed through tools during the synthesis process, and the designer’s task is to write a proper UPF (Unified Power Format, which is commonly used, but CPF can also be used).Isolation in UPF is set using the set_isolation command:

Signal Isolation in Low Power DesignTo illustrate:

Signal Isolation in Low Power Design

The above settings mean that all input signals of power_domain_A are isolated to 0, but signal_0 is isolated to 1, while signal_1 does not have isolation set. The isolation takes effect when signal_2 is low, and all isolation cells are placed within power_domain_A.In the actual chip design process,

Summary:

  • It is necessary to determine which signals need isolation between which modules based on the actual low power usage scenario.

  • Generally, only the input signals of the power domain are isolated.

  • For input signals, it is important to determine which signals are clamped to 0, which signals are clamped to 1, and which signals do not require isolation. For example, reset signals (rstn) are usually clamped to 1.

  • If DFT (Design for Test) is inserted based on the netlist, isolation is also required for signals related to DFT.

  • The control signals for isolation are generally output directly from the always-on domain.

Done!

Leave a Comment