.lib internal_power question

Status
Not open for further replies.

hznichol

Newbie level 1
Joined
Sep 13, 2018
Messages
1
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
11
Hello All,

I have been trying to learn more about the .lib syntax, and I am having trouble understanding pins with multiple internal_power groups.
For example, OpenTimer has an example lib file which contains this cell (portions removed):
Code:
cell (AND2X1) {
...
  pin(A)  {
    direction : input;
    ...
  }
  pin(B)  {
    direction : input;
    ...
  }
  pin(Y)  {
    direction : output;
    ...
    internal_power() {
      related_pin : "A";
      rise_power(energy_template_5x5) {
        ...
      }
      fall_power(energy_template_5x5) {
        ...
      }
    }
    internal_power() {
      related_pin : "B";
      rise_power(energy_template_5x5) {
        ...
      }
      fall_power(energy_template_5x5) {
        ...
      }
    }
  }
}

Liberty files specify that the related pin's transition time is used as an index into the table, but I do not understand how having two different internal_power groups works here.
How is the power defined if both pins are transitioning? Is one table ignored? Something else?
I was not able to locate how this was defined in the documentation so any advice or links are appreciated.

Best,
HN
 

If output Y switched due to changing input pin A - the power numbers are from the first table (related_pin=A).
If output Y switched due to changing input pin B - the power numbers are from the second table (related_pin=B).
 

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…