Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
20758 Discussions

How to switch arria10 calibration clock from usrclk pin to internal_osc?

Honored Contributor II


On our arria10 board, there is a mistake to make usrclk pin to be one DDR3's DQ pin. This would lead to transceiver not be able to be calibrated at POR and in user-mode. 

We got one tcl script, which is expected to transfer the calibration clock source from usrclk pad to internal_osc. 

But there would be error when it's executed.  

We check and found there are several process function that can not be able to be recongnized by quartus_sh, such as load_devices, open_sof, write_sof. 

Can anyone answer it? Or how to execute it? Is there something wrong? 


The following is the script: 

proc main_run {} { 

global argv 

set projName [ lindex $argv 1 ] 

load_package asm2 


set sofName "output_files/$projName.sof"; 

# set sofName "$projName.sof"; 

set handle -1 

set handle [ open_sof $sofName ] 


if { $handle >= 0 } { 



set_attribute $handle hssi_aux_0_1 xaux/pma_aux_clock_select PMA_AUX_CLOCK_SELECT_INTOSC 

set_attribute $handle hssi_aux_1_1 xaux/pma_aux_clock_select PMA_AUX_CLOCK_SELECT_INTOSC 

set_attribute $handle hssi_aux_0_0 xaux/pma_aux_clock_select PMA_AUX_CLOCK_SELECT_INTOSC 

set_attribute $handle hssi_aux_1_0 xaux/pma_aux_clock_select PMA_AUX_CLOCK_SELECT_INTOSC 



set_attribute $handle hssi_aux_0_0 xmcu/pm_uc_no_nios/pm_uc_config_wrapper/pm_uc_clksel_osc CB_INTOSC 

set_attribute $handle hssi_aux_0_0 xmcu/pm_uc_no_nios/pm_uc_config_wrapper/pm_uc_clkdiv_sel DIV4 



set_attribute $handle hssi_aux_1_0 xmcu/pm_uc_no_nios/pm_uc_config_wrapper/pm_uc_clksel_osc CB_INTOSC 

set_attribute $handle hssi_aux_1_0 xmcu/pm_uc_no_nios/pm_uc_config_wrapper/pm_uc_clkdiv_sel DIV4 











write_sof $handle $sofName 



} else { 

puts stderr "Failed to open sof file $sofName" 



0 Kudos
0 Replies