Magic Blue Smoke

 

Power State Table Creation in UPF

Based on earlier feedback, lets take a quick look at functional power state table and see how we can convert this into UPF state Table

Given below is a picture of sample Functional Power State Table

Now if you look at the above table it shows that there are 3 power domains and could be in 8 different states if we consider the active/switchable power.

But above table tells us that, there are only 5 legal states and rest of the them are not valid or illegal. Now to convert this into UPF PST, we need to first define 3 power rails.

Lets say that these 3 are called VDD_core, VDD_domain1 and VDD_domain2 respectively. Given this first we need to define the legal voltage values for these rails

add_port_state VDD_core -state {TOP_on 0.864} -state {TOP_off off}
add_port_state VDD_domain1 -state {DOMAIN1_on 1.08} -state {DOMAIN1_off off}
add_port_state VDD_domain2 -state {DOMAIN2_on 0.864} -state {DOMAIN2_off off}

Above UPF says that legal voltage values are either 1.08,0.864 or off

Now lets create a table and define the name and the columns

create_pst SYSTEM_PST -supplies {VDD_core VDD_domain1 VDD_domain2}

Now lets add the valid states to the table

add_pst_state AllOff -pst SYSTEM_PST -state {TOP_off DOMAIN1_off DOMAIN2_off}
add_pst_state LP0 -pst SYSTEM_PST -state {TOP_on DOMAIN1_off DOMAIN2_off}
add_pst_state LP1 -pst SYSTEM_PST -state {TOP_on DOMAIN1_off DOMAIN2_on}
add_pst_state LP2 -pst SYSTEM_PST -state {TOP_on DOMAIN1_on DOMAIN2_off}
add_pst_state AllOn -pst SYSTEM_PST -state {TOP_on DOMAIN1_on DOMAIN2_on}

Hopefully this gives a clear picture on how a power state table can be represented in UPF.