The-OpenROAD-Project / The-OpenROAD-Project/OpenROAD
Missing UPF commands and options
@LucasYuki is already working on this.
Since Feb 21, 2025.
- Dominant language
- Verilog
- Stars
- 3.1k
- Forks
- 1k
- Avg merge
- 2d 23h
- Merged PRs (30d)
- 136
Description
Describe the bug
Missing commands:
- upf_version
- create_supply_port
- create_supply_net
- connect_supply_net
- create_supply_set
- set_port_attributes
- add_port_state
- create_pst
- add_pst_state
Missing options in existing commands:
create_power_domain:
- include_scope
- -supply
set_isolation:
- -isolation_supply
- -sink
- -source
Expected Behavior
Have this commands and options
Environment
Latest openroad
To Reproduce
upf_version 2.1
create_supply_port VDDD1V2
create_supply_port -direction inout VDDD
create_supply_net VDDD
create_supply_net VDDD1V2
create_supply_net GNDD
connect_supply_net -ports VDDD VDDD
connect_supply_net -ports VDDD1V2 VDDD1V2
connect_supply_net -ports GNDD GNDD
create_supply_set ss_GNDD_VDDD1V2 -function {ground GNDD} -function {power VDDD1V2}
create_supply_set ss_GNDD_VDDD -function {ground GNDD} -function {power VDDD}
create_power_domain PD1 -include_scope -supply {primary ss_GNDD_VDDD}
create_power_domain PD2 -elements pd1v2 -supply {primary ss_GNDD_VDDD1V2}
set_port_attributes -ports out_signal_1v2 -receiver_supply ss_GNDD_VDDD1V2
add_power_state ss_GNDD_VDDD1V2
-state {on_1v2 -supply_expr {(power == {FULL_ON 1.08}) && (ground == {FULL_ON 0})}}
-state {off_1v2 -supply_expr {(power == {OFF})}}
add_power_state ss_GNDD_VDDD
-state {on_std -supply_expr {(power == {FULL_ON 2.25}) && (ground == {FULL_ON 0})}}
add_power_state PD1
-state {dig_on -logic_expr {
(ss_GNDD_VDDD1V2 == on_1v2) &&
(ss_GNDD_VDDD == on_std)}}
-state {dig_off -logic_expr {
(ss_GNDD_VDDD1V2 == off_1v2) &&
(ss_GNDD_VDDD == on_std)}}
set_isolation iso_PD2_from_ss_GNDD_VDDD1V2_to_ss_GNDD_VDDD
-clamp_value 0
-domain PD2
-isolation_sense low
-isolation_signal pd1v2/i_isolation
-isolation_supply ss_GNDD_VDDD
-sink ss_GNDD_VDDD
-source ss_GNDD_VDDD1V2
set_level_shifter ls_PD2_ss_GNDD_VDDD1V2_to_ss_GNDD_VDDD
-domain PD2
-sink ss_GNDD_VDDD
-source ss_GNDD_VDDD1V2
set_level_shifter ls_PD2_ss_GNDD_VDDD_to_ss_GNDD_VDDD1V2
-domain PD2
-sink ss_GNDD_VDDD1V2
-source ss_GNDD_VDDD
Relevant log output
No response
Screenshots
No response
Additional Context
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.