EM reduction in CTS

EM could be taken into consideration during CTS in edi.

cmd: setCTSMode -useLefACLimit true

CTS tries to minimize EM violations during synthesis by resizing or inserting buffers to enhance the electrical current flow through the wires. If any wire exceeds the library values, CTS reports the violation in the  standard CTS report.

In order to perform EM analysis and optimization, LEF file must contain an AC Limit table. Period statement in the clock tree specification file is also needed (to cauculate Irms/Ipeak/Iavg).

So, what is AC Limit table in LEF file?

It specifies how much AC current a wire on this layer of a certain width can handle at a certain frequency in units of millamps per micron (mA/um).

Note: The true meaning of current density would have units of milliamps per square micron (mA/um2), however, the thickness of the metal layer is implicitly included, so the units in the table are milliamps per micron, where only the wire width varies.





WIDTH                0.040000  0.080000  0.099000 0.100000 …

TABLEENTRIES 1.011600  1.067800   1.078586   1.079040 …

What if there’s no AC limit table in tech lef files, what can we do to reduce EM in CTS with ck engine?

set “maxcap $value” in CTS specification file. CTS will avoid creating any clock net that exceeds the maxcap limit and therefore avoid any possible AC current limit violation.


EMreduction in ccopt


The EM avoidance function of ccopt lets you find a maximum total capacitance that a cell can drive without violating EM constraints and then set that capacitance value as the target maximum capacitance value for that cell.

Cmd: set_ccopt_property consider_em_constraints value

“value” could be one or more of rms/peark/avg


Note: the EM avoidance function is designed to avoid most of the EM violations on clock tree nets but not to eliminate all of them entirely. Because it computes the targets based on the preferred routing layers in routing information, generally, there are some violations left on the wires below the preferred layers. However, these too can be eliminated by using the Nanoroute EM rules.



  1. when talking about EM in CTS, which one is taken into consideration? rms, average or peak?  by default, it checks Irms limit violations.
  2.  does power stripe has side effects on signal EM?
  3. 3 kinds of AC EM and DC EM?



Leave a Reply

Your email address will not be published. Required fields are marked *