XUD library resource usage Topic is solved

If you have a simple question and just want an answer.
Experienced Member
Posts: 119
Joined: Mon Sep 15, 2014 1:32 pm

XUD library resource usage

Post by ffomich »


in USB Audio Design Guide https://www.xmos.com/download/private/s ... rc1%29.pdf , p.42 there is note:
The XUD library requires an 80MIPS core to function correctly (i.e. on a 500MHz
part only six cores can run).
Also my project build report has warning:

Code: Select all

xmap: Warning: More than 6 cores used on a tile. Ensure this is not the case on tile running XUD.
Constraint check for tile[1]:
  Cores available:            8,   used:          7 .  OKAY
  Timers available:          10,   used:          9 .  OKAY
  Chanends available:        32,   used:         30 .  OKAY
  Memory available:       262144,   used:      49664 .  OKAY
    (Stack: 4372, Code: 32524, Data: 12768)
Constraints checks PASSED.
How critical is this warning? Is it critical for UAC1 project?

View Solution
User avatar
Experienced Member
Posts: 114
Joined: Fri Dec 11, 2009 10:22 am

Post by andrew »

You are using more than 6 cores, therefore XUD will not be guaranteed to work. You might get lucky some/most of the time depending on what your other cores are doing but eventually it will fail timing at least once.

If you want to guarantee correct operation you will have to combine functionality of two or more cores into one to reduce the number of active core back down to 6.
User avatar
Experienced Member
Posts: 66
Joined: Fri Feb 05, 2010 12:34 pm

Post by Thomas »

If you are using an xCORE-200 device, you may set the core that runs XUD to be a priority core.

This is done by calling
just before XUD_Manager

Then the core will run at 100 MIPS and therefore satisfy the XUD Requirement of >= 80 MIPS.

All N priority cores get a guaranteed 100 MIPS.
The remaining M cores get (500 - N * 100) / M MIPS
N must be <= 4
M+N <=8
Experienced Member
Posts: 119
Joined: Mon Sep 15, 2014 1:32 pm

Post by ffomich »

Thanks andrew and Thomas.
Yes, I use XCORE-200. I'll try it.