xcore array microphone dev kit core frequency

If you have a simple question and just want an answer.
woodsb
Experienced Member
Posts: 79
Joined: Thu Nov 17, 2016 11:24 pm

xcore array microphone dev kit core frequency

Post by woodsb »

Hello,

I'm using the xcore microphone array dev kit and am wondering if someone can tell me what the core frequency is? I've looked in the lib_mic_array userguide, lib_mic_array_board_support userguide, the mic array hardware manual, and done several internet searches with what I think are relevant keywords, to no avail.

I see in the xcore 200 clock frequency control pdf (v1.0) the statement that a 25 MHz external clock can be used to operate the cores at 400 MHz, and noticed in the hardware manual that a 24 MHz is used as the xcore 200 reference clock, but am wary of concluding anything about the actual core frequency from these limited, disparate info pieces.

I ask because I am getting XTA warnings on build regarding min core frequency.

Thanks,
Bill


woodsb
Experienced Member
Posts: 79
Joined: Thu Nov 17, 2016 11:24 pm

Post by woodsb »

I see also in the XUF216-512-TQ128 datasheet an equation for determining core frequency from oscillator frequency. But the equation depends on register settings and I do not know what the register settings are.

-Bill
woodsb wrote:Hello,

I'm using the xcore microphone array dev kit and am wondering if someone can tell me what the core frequency is? I've looked in the lib_mic_array userguide, lib_mic_array_board_support userguide, the mic array hardware manual, and done several internet searches with what I think are relevant keywords, to no avail.

I see in the xcore 200 clock frequency control pdf (v1.0) the statement that a 25 MHz external clock can be used to operate the cores at 400 MHz, and noticed in the hardware manual that a 24 MHz is used as the xcore 200 reference clock, but am wary of concluding anything about the actual core frequency from these limited, disparate info pieces.

I ask because I am getting XTA warnings on build regarding min core frequency.

Thanks,
Bill
User avatar
Bianco
XCore Expert
Posts: 754
Joined: Thu Dec 10, 2009 6:56 pm
Contact:

Post by Bianco »

The core frequency will be determined by the PLL settings. You should be able to find the core frequency used by the standard software in the accompanying XN file for your specific board.
henk
Respected Member
Posts: 347
Joined: Wed Jan 27, 2016 5:21 pm

Post by henk »

Hi Bill,

The core frequency in most XN files is 500 MHz; which should be enough to run the microphone library.

The full flow is XN file (your desired core frequency) --> XMAP which builds a bit of code that sets the registers --> either XFLASH stores this bit of code into flash, or XGDB which sets the PLL up prior to running code. The device can run at any frequency to which the device is rated, it boots by default with a 16x PLL (384 MHz for a 24 MHz crystal).

Cheers,
Henk
woodsb
Experienced Member
Posts: 79
Joined: Thu Nov 17, 2016 11:24 pm

Post by woodsb »

Thanks, Bianco and Henk. I did find Oscillator="24MHz" SystemFrequency="500MHz" in the relevant .xn file.

Correct to read that as indicating the cores are clocked at 500 MHz?

Cheers,
Bill
henk
Respected Member
Posts: 347
Joined: Wed Jan 27, 2016 5:21 pm

Post by henk »

That's correct
woodsb
Experienced Member
Posts: 79
Joined: Thu Nov 17, 2016 11:24 pm

Post by woodsb »

Okay, thanks for the help! (Sorry for the delay.)
woodsb
Experienced Member
Posts: 79
Joined: Thu Nov 17, 2016 11:24 pm

Post by woodsb »

Hello,

Sorry to raise this one from the dead, but if the build on my project indicates I am using 8 cores on a particular tile, and the system frequency is 500 MHz, is it possible that any one core on that tile may only get clocked at 500/8=62.5 MHz?

Thanks,
Bill
User avatar
infiniteimprobability
XCore Legend
Posts: 1126
Joined: Thu May 27, 2010 10:08 am
Contact:

Post by infiniteimprobability »

Yes - the worst case clock rate will be 62.5MHz if all threads are active at the same time.. The scheduler will take up ot 8 system clock ticks to come around again. You can lift a single thread up to 1/5 of the MHz using set_core_high_priority_on() at the expense of the others.
Ie.
1 @ 100
7 @ 57.14
woodsb
Experienced Member
Posts: 79
Joined: Thu Nov 17, 2016 11:24 pm

Post by woodsb »

Thanks for the response. That helps.

Another question: how does the XMOS PLL develop a 500 MHz core frequency from a 24 MHz oscillator frequency? I may not understand PLLs correctly, but assume the oscillator and output must be integer multiples of each other. Is that not correct?

The mic array XN file has this in it: Oscillator="24MHz" SystemFrequency="500MHz".

Thanks,
Bill
Post Reply