Xrfclk clock configuration

PYNQ version 2.7
Board ZCU111

Hello falks,

i’m struggled with a clock configuration for a ZCU111 board. I’m trying to set the right clock with the command set_ref_clks(lmk_freq=122.88) but i always receive this error: RuntimeError: Frequency 122.88 MHz is not valid.
The file is present in the folder with the correct format. Anybody have some experience about this? thanks!

1 Like

Hi there,

Could you give a bit more info / reproduction steps on how you are running your code – i.e. are you doing this in a jupyter notebook or in a terminal, and have you made any changes to the package? Are you seeing this error in any of the example notebooks?

It’s a frequency value defined in the package tics files, so if everything is sourced correctly it should be getting picked up. Are you by any chance creating your own tics files?

Thanks
Shawn

1 Like

Hi @skalade thanks for your reply.

i.e. are you doing this in a jupyter notebook or in a terminal,
just in a jupyter notebook

and have you made any changes to the package?
Yes, added new file with the new clock configuration generated from TICS. I also replace the init.py and the xrfclk.py with the original file from package if the problem was related to a some file corrupt and also tested the version modified from this project GitHub - strath-sdr/rfsoc_ofdm: PYNQ example of an OFDM Transmitter and Receiver on RFSoC..

Are you seeing this error in any of the example notebooks?
This is very sad point. Not in all the example tried in the past but now, yes always.

It’s a frequency value defined in the package tics files , so if everything is sourced correctly it should be getting picked up.

Are you by any chance creating your own tics files?
Yes. I’m worried about your answer.

Cheers!
Federico

1 Like

Yeah the tics projects can be tricky! For the new tics files you are generating, are you naming them as specified in the function doc, i.e. CHIPNAME_frequency?

Is there a reason you need to replace the existing 122.88MHz tics file with a new one if that’s the frequency config that already exists?

Thanks
Shawn

Dear @skalade
For the new tics files you are generating, are you naming them as specified in the [function doc] CHIPNAME_frequency?
Yes, the naming is correct as reported in the function CHIPNAME_frequency

Is there a reason you need to replace the existing 122.88MHz tics file with a new one if that’s the frequency config that already exists?
The file for LMK is the original with the 122.88MHz clock, i only added the file for the LMX with new clock but i don’t know why the board refuse to accept the 122.88MHz.

Just to be sure today i’ll try to re-install all the PYNQ package on the board. This problem is make me crazy :confounded:

Thanks
Federico

Damn! same story again… here the notebook after a new SD installation:

This is the contents of the folder xrfclk (just the new file for the LMX @ 245.76MHz)

Do things work as normal if you remove the LMX2594_245.76.txt file?

One thing for debugging we could try to do is after setting the rfclocks

import xrfclk
xrfclk.set_ref_clks()

Grab the dictionary config that stores the chip names and valid frequencies

from xrfclk import *
xrfclk._Config

There should be a 122.88 entry under lmk04208. This will tell us at least if the 122.88 tics config is present… I’m not really sure why adding an additional lmx config would prevent lmk from getting picked up…

Thanks
Shawn