0 | set_design -module top | |
1 | create_power_domain -name PD1 -default | 8 9 10 11 18 |
2 | create_power_domain -instances {inst_A inst_B} -name PD2 -shutoff_condition !pm_inst.pse_enable[0] | 8 12 15 |
3 | create_power_domain -instances inst_C -name PD3 -shutoff_condition !pm_inst.pse_enable[1] | 8 9 13 16 18 |
4 | create_power_domain -instances inst_D -name PD4 -shutoff_condition !pm_inst.pse_enable[2] | 8 9 10 14 17 |
5 | create_nominal_condition -name high -voltage 1.2 | 8 9 10 |
6 | create_nominal_condition -name medium -voltage 1.1 | 8 |
7 | create_nominal_condition -name low -voltage 1.0 | 8 9 10 11 |
8 | create_power_mode -name PM1 -domain_conditions {PD1@high PD2@medium PD3@high PD4@low} | |
9 | create_power_mode -name PM2 -domain_conditions {PD1@high PD3@high PD4@low} | |
10 | create_power_mode -name PM3 -domain_conditions {PD1@high PD4@low} | |
11 | create_power_mode -name PM4 -domain_conditions PD1@low | |
12 | create_state_retention_rule -domain PD2 -restore_edge !pm_inst.pge_enable[0] -name sr1 | |
13 | create_state_retention_rule -domain PD3 -restore_edge !pm_inst.pge_enable[1] -name sr2 | |
14 | create_state_retention_rule -domain PD4 -restore_edge !pm_inst.pge_enable[2] -name sr3 | |
15 | create_isolation_rule -from PD2 -isolation_condition pm_inst.ice_enable[0] -name ir1 -isolation_output high | |
16 | create_isolation_rule -from PD3 -isolation_condition pm_inst.ice_enable[1] -name ir2 | |
17 | create_isolation_rule -from PD4 -isolation_condition pm_inst.ice_enable[2] -name ir3 | |
18 | create_level_shifter_rule -name lsr1 -to {PD1 PD3} | 19 |
19 | update_level_shifter_rules -names lsr1 -location from | |
20 | end_design |