UPGRADE YOUR BROWSER

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!

cancel
Showing results for 
Search instead for 
Did you mean: 
Adventurer
Adventurer
334 Views
Registered: ‎02-08-2016

ZCU111 RFSOC PLL not locking , How is API controlling DAC PLL

Jump to solution

Hi,

I am having problems with PLL locking of RFSOC. I have been looking through PYNQ drivers, in order to understand problem better.

I use Vivado to block design to build my dwesign. After succesful implmentation I produce a bitstream and export a hardware file, then I unzip the hardware file and put the project.hwh and project.bit files in my run directory and use python script to initialise and run the system. For some design the PLLs lock and for some design the PLLs do not lock on the RFSOC. I check that the LMK and LMX clocks and PLL VCO etc. are all within specified limits.

I am trying to understand what the project.hwh file does, and how it may effect the PLL, DAC clocks etc. So I picked an example parameter from this file below:

 [I am refering to PG269 , Appendix C . I have also been looking at page 179. ] The function XRFdc DACTile Config is used to configure the DACs, I note that there is a parameter C_DAC0_RefCLk_Freq , I can see this parameter in the project.hwh file. Presumably this is the configuration for the DAC0 reference clock generated by Vivado.And I presume that when I call the function

However this is also a parameter DAC0_Refclk_Freq : Please could someone tell me what this is used for?

Thanks Simon

 

 

0 Kudos
1 Solution

Accepted Solutions
Adventurer
Adventurer
89 Views
Registered: ‎02-08-2016

Re: ZCU111 RFSOC PLL not locking , How is API controlling DAC PLL

Jump to solution

Found problem.

The Zynq Ultrascale+ MPSOc IP runs code to drive the I2C bus which programs the LMX2594 and other clock control devices.

DO NOT FORGET......you need to enable the I2C I/O for the Zynq processor. See the attached image.

Double click on the Zynq IP in the block diagram, then click on one of the I2C blocks in the Re-customize  IP pop-up.

Then configure the I2C as per the image.

Note there is no error or warning if you do not do this...and then you cannot program the clocks!!

Enjoy.

Simon

View solution in original post

0 Kudos
4 Replies
Moderator
Moderator
275 Views
Registered: ‎10-19-2011

Re: ZCU111 RFSOC PLL not locking , How is API controlling DAC PLL

Jump to solution

The LMK and LMX can be configured through the system controller. Have you tried doing it this way? Depending on your deign you might need to generate your own clocking configuration file to program into the lmk/lmx device. Below is a wiki that has some more Information on getting these clock devices setup appropriately.

 

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/84541826/Programming+Clocks+on+the+ZCU111

 

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Adventurer
Adventurer
251 Views
Registered: ‎02-08-2016

Re: ZCU111 RFSOC PLL not locking , How is API controlling DAC PLL

Jump to solution

Hi

Thanks for your reply. In fact I have read through and I understand the documentation.

Please refer to my question above. I would very much like an answer to my question.

"[I am refering to PG269 , Appendix C . I have also been looking at page 179. ] The function XRFdc DACTile Config is used to configure the DACs, I note that there is a parameter C_DAC0_RefCLk_Freq , I can see this parameter in the project.hwh file. Presumably this is the configuration for the DAC0 reference clock generated by Vivado.And I presume that when I call the function

However there is also a parameter DAC0_Refclk_Freq : Please could someone tell me what this is used for?"

Please note I am not trying to build anything challenging. Please see attached JPEG of my DAC PLL config.

Thanks

Simon

 

 

PLL.jpg
0 Kudos
Adventurer
Adventurer
90 Views
Registered: ‎02-08-2016

Re: ZCU111 RFSOC PLL not locking , How is API controlling DAC PLL

Jump to solution

Found problem.

The Zynq Ultrascale+ MPSOc IP runs code to drive the I2C bus which programs the LMX2594 and other clock control devices.

DO NOT FORGET......you need to enable the I2C I/O for the Zynq processor. See the attached image.

Double click on the Zynq IP in the block diagram, then click on one of the I2C blocks in the Re-customize  IP pop-up.

Then configure the I2C as per the image.

Note there is no error or warning if you do not do this...and then you cannot program the clocks!!

Enjoy.

Simon

View solution in original post

0 Kudos
Adventurer
Adventurer
86 Views
Registered: ‎02-08-2016

Re: ZCU111 RFSOC PLL not locking , How is API controlling DAC PLL

Jump to solution

PLLFIX.png

Tags (3)
PLLFIX.png
0 Kudos