I have the following upf constructs:
create_power_domain PD_TOP \
-include_scope
create_power_domain PD_V1P8_AVDD \
-elements { A/B }
create_supply_port NET_V1P8_AVDD \
-direction in \
-domain PD_TOP
create_supply_port AGND \
-direction in \
-domain PD_TOP
create_supply_net AGND \
-domain PD_TOP
create_supply_net NET_V1P8_AVDD \
-domain PD_TOP
connect_supply_net NET_V1P8_AVDD \
-ports { NET_V1P8_AVDD A/B/AVDD_pin }
connect_supply_net AGND \
-ports { AGND A/B/AGND_pin }
create_supply_set ss_V1P8 \
-function { power NET_V1P8_AVDD } \
-function { ground AGND }
associate_supply_set ss_V1P8 \
-handle PD_V1P8_AVDD.primary
add_power_state PD_V1P8_AVDD.primary \
-state ON { -supply_expr {power == \
`{FULL_ON, 1.8} && ground == `{FULL_ON, 0.0}} \
-simstate NORMAL}
When I read this upf into xrun, the NET_V1P8_AVDD net/port is always stuck at 0, even if I force it in my testbench.
When:
connect_supply_net NET_V1P8_AVDD \
-ports { NET_V1P8_AVDD A/B/AVDD_pin }
is commented out, I can force NET_V1P8_AVDD to 1.
It seems UPF is forcing this node to 0. Where and how to overcome it?
Thanks.