We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 58784

Superclock module programming tcl script error (setup_scm_325_00.tcl)


When running the tcl script provided with the VC7215 Reference Design files (setup_scm2_325_00.tcl) to set up the Superclock module, an ERROR occurs in the TCL console:

 ERROR: [Common 17-55] 'get_property' expects at least one object.
    while executing
"get_property INPUT_VALUE [get_hw_probes {u_vio_sclk2_control/si570_freq}]"
    (procedure "configure_scm2" line 36)
    invoked from within
"configure_scm2 $freq"
    (file "./setup_scm2_325_00.tcl" line 101)


This is due to a missing prefix in the frequency validation sequence.  

NOTE: This does not affect the frequency being written to the Superclock module, only in the readback.

Additionally, since the value written is in MHz with 2 decimal places, the readback value does not always match the one written.


Change lines 77 and 78 from:


 set si570_freq [get_property INPUT_VALUE [get_hw_probes {u_vio_sclk2_control/si570_freq}]]
 set si5368_freq [get_property INPUT_VALUE [get_hw_probes {u_vio_sclk2_control/si5368_freq}]]


 set si570_freq [get_property INPUT_VALUE [get_hw_probes {u_scm2/u_vio_sclk2_control/si570_freq}]]
 set si5368_freq [get_property INPUT_VALUE [get_hw_probes {u_scm2/u_vio_sclk2_control/si5368_freq}]]


To compare the 2 values properly, (in MHz with 2 decimal places), replace the code on lines 80-90 with:

    # The script input has 5 digits of precision and the VIO console has 6.  Round off the VIO value
 set si570_freq [expr round([expr $si570_freq/10])]
 set si5368_freq [expr round([expr $si5368_freq/10])]
 set si570_freq [expr $si570_freq * 10]
 set si5368_freq [expr $si5368_freq * 10]
 if {$expected_freq == $si570_freq} {
  puts "Si570 has expected frequency: $expected_freq"
 } else {
  puts "Si570 does not have expected frequency (${expected_freq}) : $si570_freq"
 if {$expected_freq == $si5368_freq} {
  puts "Si5368 has expected frequency: $expected_freq"
 } else {
  puts "Si5368 does not have expected frequency (${expected_freq}) : $si5368_freq"
An updated version of the TCL script has been attached.


Associated Attachments

Name File Size File Type
setup_scm2_325_00_updated.tcl 5 KB TCL
AR# 58784
Date Created 12/12/2013
Last Updated 06/25/2014
Status Active
Type General Article
  • Virtex-7
  • Vivado Design Suite - 2013.3
Boards & Kits
  • Virtex-7 FPGA VC7215 Characterization Kit