Forum Discussion
Stop_at_clocks substitute in Quartus Standard
- 4 years ago
Hi Pawel,
Got some ideas from software experts. Please try them and let me know if things work for you.
The following procedures take a node or a pin, and return the list of all clock targets feeding it. You should be able to modify these to make them return the clock target(s) feeding the register. You can then create a map of clock targets to clock names, so that you can find the clocks that exist on those targets. Once you have the clocks, you can simply string-compare them against each other to see if they are equivalent (since clock names are unique).
proc get_clock_targets_feeding_node { node } {
set my_clocks [list]
foreach_in_collection path [get_path -to [get_object_info -name [get_edge_info -src [get_node_info -clock_edges $node]]]] {
lappend my_clocks [get_object_info -name [get_path_info -from $path]]
}
return $my_clocks
}
proc get_clock_targets_feeding_pin { pin } {
set my_clocks [list]
foreach_in_collection path [get_path -to $pin] {
lappend my_clocks [get_object_info -name [get_path_info -from $path]]
}
return $my_clocks
}
Regards
Hello,
I am sure there is a way to do that. Kindly follow the list of TCL commands provided in the Quartus Help. Combining multiple commands and customizing them as shown in the design example should do the trick.
I am not an expert is Quartus software TCL commands. However, I will get help from experts by raising an internal ticket. Your patience will be appreciated till I get some response from software experts.
Thanks in advance!
Regards
- paw_934 years ago
New Contributor
Hello Ash_R,
Thank you for your reply and engagement. Just to update you - I am playing with get_clock_info -targets command plus some recursive algorithms. So far without success.