2026-06-30 18:18:56 +02:00
|
|
|
# get_scenes / get_modes return objects
|
|
|
|
|
read_liberty ../examples/asap7_small_ff.lib.gz
|
|
|
|
|
read_liberty ../examples/asap7_small_ss.lib.gz
|
|
|
|
|
read_verilog ../examples/reg1_asap7.v
|
|
|
|
|
link_design top
|
|
|
|
|
|
|
|
|
|
read_sdc -mode mode1 ../examples/mcmm2_mode1.sdc
|
|
|
|
|
read_sdc -mode mode2 ../examples/mcmm2_mode2.sdc
|
|
|
|
|
|
|
|
|
|
read_spef -name reg1_ff ../examples/reg1_asap7.spef
|
|
|
|
|
read_spef -name reg1_ss ../examples/reg1_asap7_ss.spef
|
|
|
|
|
|
|
|
|
|
define_scene scene1 -mode mode1 -liberty asap7_small_ff -spef reg1_ff
|
|
|
|
|
define_scene scene2 -mode mode2 -liberty asap7_small_ss -spef reg1_ss
|
|
|
|
|
|
|
|
|
|
puts {[get_scenes *]}
|
|
|
|
|
report_object_names [get_scenes *]
|
|
|
|
|
|
|
|
|
|
puts {[get_modes *]}
|
|
|
|
|
report_object_names [get_modes *]
|
2026-07-10 18:37:48 +02:00
|
|
|
|
|
|
|
|
puts {[get_scenes -filter {name == scene1}]}
|
|
|
|
|
report_object_names [get_scenes -filter {name == scene1}]
|
|
|
|
|
|
|
|
|
|
puts {[get_scenes -filter {name =~ scene*}]}
|
|
|
|
|
report_object_names [get_scenes -filter {name =~ scene*}]
|
|
|
|
|
|
|
|
|
|
puts {[get_scenes -filter {name != scene1}]}
|
|
|
|
|
report_object_names [get_scenes -filter {name != scene1}]
|
|
|
|
|
|
|
|
|
|
puts {[get_modes -filter {name == mode2}]}
|
|
|
|
|
report_object_names [get_modes -filter {name == mode2}]
|
|
|
|
|
|
|
|
|
|
puts {[get_modes -filter {name =~ mode*}]}
|
|
|
|
|
report_object_names [get_modes -filter {name =~ mode*}]
|
|
|
|
|
|
|
|
|
|
# User-defined bool property. scene1 set active, scene2 left unset.
|
|
|
|
|
define_property -object_type scene -type bool active
|
|
|
|
|
set_property [get_scenes scene1] active true
|
|
|
|
|
|
|
|
|
|
puts {[get_property scene1 active]}
|
|
|
|
|
puts [get_property [get_scenes scene1] active]
|
|
|
|
|
puts {[get_property scene2 active] (unset)}
|
|
|
|
|
puts "<[get_property [get_scenes scene2] active]>"
|
|
|
|
|
|
|
|
|
|
puts {[get_scenes -filter {active == true}]}
|
|
|
|
|
report_object_names [get_scenes -filter {active == true}]
|
|
|
|
|
|
|
|
|
|
# Unset does not match false; only an explicitly set value does.
|
|
|
|
|
puts {[get_scenes -filter {active == false}] (scene2 unset)}
|
|
|
|
|
report_object_names [get_scenes -filter {active == false}]
|
|
|
|
|
|
|
|
|
|
puts {[get_scenes -filter {active}]}
|
|
|
|
|
report_object_names [get_scenes -filter {active}]
|
|
|
|
|
|
|
|
|
|
puts {[get_scenes -filter {!active}]}
|
|
|
|
|
report_object_names [get_scenes -filter {!active}]
|
|
|
|
|
|
|
|
|
|
set_property [get_scenes scene2] active false
|
|
|
|
|
puts {[get_property scene2 active] (set false)}
|
|
|
|
|
puts [get_property [get_scenes scene2] active]
|
|
|
|
|
|
|
|
|
|
puts {[get_scenes -filter {active == false}] (scene2 set false)}
|
|
|
|
|
report_object_names [get_scenes -filter {active == false}]
|