拉回来说Glitch Power, Joules 2019 年新加了Glitch power 分析功能,Joules 的Glitch Power 分析针对netlist 需要有后仿波形。对于『逻辑无效翻转Glitch 』可以分为:
Transport Glitch: cell 输出在到达稳定状态前的无效翻转,这类翻转消耗的功耗跟正常翻转一样,Joules 目前只分析这类Glitch power—— Transport glitches are extra transitions at the output of the gate before the output signal reaches its steady state. A transport glitch consumes the same amount of power as the normal transition. The pulse width of the transport glitch is more than the gate delay and does not contribute to the functional behavior of the circuit.
Inertial Glitch: cell 输入翻转由于宽度小于cell delay 未传到cell 输出,这类翻转会对cell 的input pin 跟内部结点电容充放电,故消耗功耗,Joules 目前还不支持这类Glitch power 的分析—— These are transitions which may occur at the input of the gate. However, they will not be propagated to the output, as the pulse width of the glitch is smaller than the gate delay.
Joules 分析Glitch Power 的过程为:
Identifying a glitch: 如果一次toggle 发生在一个时钟周期内,则该次toggle 被认为是一个毛刺;如果一次toggle 是跨时钟周期的,则该次toggle 不被当做毛刺——Get the clocks reaching (both in and out clocks) the given combination and find out the fastest among them. Get the waveform of the clock; if the two toggles of data signal (going from 0 -> 1 -> 0, or vice versa) fall within a clock cycle, it is a glitch. If the two toggles are across the clock cycle, it is not a glitch. The clock cycle considered is --|__ for positive triggered and __|-- for negative triggered. If there is a pin that goes from PI to PO without any clock, the glitches are not identified for them.
Criteria used for considering transitions as a glitch: 工具进一步依据预订规则筛选第一步识别出的Glitch.