tariavo
Junior Member level 1
- Joined
- Nov 30, 2007
- Messages
- 17
- Helped
- 1
- Reputation
- 2
- Reaction score
- 1
- Trophy points
- 1,283
- Location
- Graz, Austria
- Activity points
- 1,409
Hi, there,
question arised:
how state-dependent leakages are calculated? (dependent on previous states)
Ex: lets consider FF.
This is a piece of Liberty file describing flip-flop cell:
cell(DBFRBN) {
area : 19.00;
cell_footprint : "DBFRB" ;
ff(IQ, IQN) {
next_state : "D";
clocked_on : "CKB'";
clear : "RB'";
}
cell_leakage_power : 264.7 ;
leakage_power() {
when : "!D * !CKB * !RB";
value : 182.1;
}
leakage_power() {
when : "!D * !CKB * RB";
value : 342.1;
}
leakage_power() {
when : "!D * CKB * !RB";
value : 182.1;
}
leakage_power() {
when : "!D * CKB * RB";
value : 329.7;
}
leakage_power() {
when : "D * !CKB * !RB";
value : 211.7;
}
leakage_power() {
when : "D * !CKB * RB";
value : 273.6;
}
leakage_power() {
when : "D * CKB * !RB";
value : 322.4;
}
leakage_power() {
when : "D * CKB * RB";
value : 273.6;
}
...and so on...
As u can see leakages are given for the certain input. But an internal FF state cannot be defined without knowing of previous state (you need to change clock to spread input signal into FF). That is clock signal should be changed from 0 to 1 (rising ff) in order to know internal gate states of FF.
Hence questions arise:
-What do these leakages mean?
-What previous states are used?
great thanks!
question arised:
how state-dependent leakages are calculated? (dependent on previous states)
Ex: lets consider FF.
This is a piece of Liberty file describing flip-flop cell:
cell(DBFRBN) {
area : 19.00;
cell_footprint : "DBFRB" ;
ff(IQ, IQN) {
next_state : "D";
clocked_on : "CKB'";
clear : "RB'";
}
cell_leakage_power : 264.7 ;
leakage_power() {
when : "!D * !CKB * !RB";
value : 182.1;
}
leakage_power() {
when : "!D * !CKB * RB";
value : 342.1;
}
leakage_power() {
when : "!D * CKB * !RB";
value : 182.1;
}
leakage_power() {
when : "!D * CKB * RB";
value : 329.7;
}
leakage_power() {
when : "D * !CKB * !RB";
value : 211.7;
}
leakage_power() {
when : "D * !CKB * RB";
value : 273.6;
}
leakage_power() {
when : "D * CKB * !RB";
value : 322.4;
}
leakage_power() {
when : "D * CKB * RB";
value : 273.6;
}
...and so on...
As u can see leakages are given for the certain input. But an internal FF state cannot be defined without knowing of previous state (you need to change clock to spread input signal into FF). That is clock signal should be changed from 0 to 1 (rising ff) in order to know internal gate states of FF.
Hence questions arise:
-What do these leakages mean?
-What previous states are used?
great thanks!