XTA Unresolved Fail Topic is solved

Technical discussions related to any XMOS development kit or reference design. Eg XK-1A, sliceKIT, etc.
Post Reply
aybarskizilay
Member
Posts: 8
Joined: Mon Dec 26, 2016 11:51 am

XTA Unresolved Fail

Post by aybarskizilay »

Hello,

I am doing Timing Analyzing in XTA tool. However, I have come up with "unresolved" problem. I have looked at the "Timing Analyzer Manuel" and it says I can solve it by adding:

add branch <from BRANCH> [<to INSTRUCTION>]+

into Command Line.
I have trace my route in console and I found that:
0x11a0e _interace_wait_and_yield + 56 black (1r) UNRESOLVED.
So I wrote to following in order to solve my problem:
add branch <0x11a0e> [<0x11a64>]+
Unfortunately I couldn't manage to solve my problem. If you can help me, I will be so grateful.

Best Regards
Attachments
Screen Shot 2017-01-06 at 12.17.09 PM.png
The XTA Screen
(678.91 KiB) Not downloaded yet
Screen Shot 2017-01-06 at 12.17.09 PM.png
The XTA Screen
(678.91 KiB) Not downloaded yet


View Solution
peter
XCore Addict
Posts: 230
Joined: Wed Mar 10, 2010 12:46 pm

Post by peter »

Hi aybarskizilay,

It looks like you are doing the right thing. The BLA instruction is a branch on the register contents and XTA isn't able to resolve what all the valid values of that register are so the user needs to set them. The

Code: Select all

add branch <0x11a0e> [<0x11a64>]+
should be the right thing to do. However, have you tried to re-analyse the function/path after doing the "add branch"? The "add branch" will change the underlying model of the program that XTA has, but that probably won't affect the existing routes that have been timed already.

Regards,

Peter
aybarskizilay
Member
Posts: 8
Joined: Mon Dec 26, 2016 11:51 am

Post by aybarskizilay »

Hi Peter,

Thank you for reply. I have already tired to solve this problem with the methodology we are agree on.
And problem seems to be solved; however it leads another error which is :
xta: error: References not resolved on any active tile.

When I checked this error in XMOS Timing Manuel, it says I should be sure that my tile is enable.
I am running my code in Tile[0] and when I checked it in timing properties in XTA it seems active.

So I do not have any idea how we can solve this unresolved problem. But as I said before, our methodology is correct.

Best Regards

Aybars
peter
XCore Addict
Posts: 230
Joined: Wed Mar 10, 2010 12:46 pm

Post by peter »

I've added a mini-tutorial here:

http://www.xcore.com/forum/viewtopic.ph ... 304#p26304

Let me know if that helps.

Peter
aybarskizilay
Member
Posts: 8
Joined: Mon Dec 26, 2016 11:51 am

Post by aybarskizilay »

Hi Peter,

Thank you for tutorial but even I have type " config tasks[0] 8" before inputting any command,
I am still encountering same problem, which is :
"References not resolved on any active tile"

Best Regards

Aybars
peter
XCore Addict
Posts: 230
Joined: Wed Mar 10, 2010 12:46 pm

Post by peter »

What are the references that you are trying to use in your XTA command?

Peter
aybarskizilay
Member
Posts: 8
Joined: Mon Dec 26, 2016 11:51 am

Post by aybarskizilay »

Hi Peter,

I am sorry I didn't really get what your question. I add the screenshot of my XTA so you can easily see the problem.
Attachments
Screen Shot 2017-01-11 at 10.50.41 AM.png
(541.02 KiB) Not downloaded yet
Screen Shot 2017-01-11 at 10.50.41 AM.png
(541.02 KiB) Not downloaded yet
peter
XCore Addict
Posts: 230
Joined: Wed Mar 10, 2010 12:46 pm

Post by peter »

The problem is that you are adding extra characters that are there to tell you the format of the command:

Code: Select all

add branch <0x11a0e> [<0x11a64>]+
That comes from the help which is implying that you can add a branch from one PC to a set of PCs. In your case there is only one target PC so it should be:

Code: Select all

add branch 0x11a0e 0x11a64
Or, if you have multiple targets:

Code: Select all

add branch 0x11a0e 0x11a64 0x11bf0
Peter
mozcelikors
Experienced Member
Posts: 75
Joined: Sat May 07, 2016 11:47 am

Post by mozcelikors »

Hello, first of all thank you for your guidance.
I've got quite a different problem.
I've followed your instructions you gave to aybarskizilay,
Up until a point, adding branches work; but there comes an instance where adding branch does not work and produces the following error:

Code: Select all

xta: warning: adding branch from instruction which is not a branch: (_SInitializeMessaging_0+72) 0x458dc add (2rus) r4, r3, 0x0
xta: error: References not resolved on any active tile

Please let me explain how I came to this point:
I have discovered and easier way of analyzing via the functions,

First I analyze the function via:

Code: Select all

analyze function _STask_ReadSonarSensors_0

Then, printing trace,

Code: Select all

print trace -

I have added a couple of branches and it worked out fine until this point:

Code: Select all

     16880.0: ( 16.0ns) 0x458c4 _SInitializeMessaging_0 + 48 { nop (0r)                  ; ldw (2rus)   r1, r5[0x1]  }
     16896.0: ( 16.0ns) 0x458c8 _SInitializeMessaging_0 + 52 { nop (0r)                  ; ldw (2rus)   r11, r1[0x0] }
     16912.0: ( 16.0ns) 0x458cc _SInitializeMessaging_0 + 56 { ldaw (ru6)   r1, sp[0x5]  ; stw (ru6)    r8, sp[0x2]  }
     16928.0: ( 16.0ns) 0x458d0                        --FNOP--                 
     16944.0: ( 16.0ns) 0x458d0 _SInitializeMessaging_0 + 60 { add (2rus)   r7, r1, 0x0  ; stw (ru6)    r1, sp[0x1]  }
     16960.0: ( 16.0ns) 0x458d4 _SInitializeMessaging_0 + 64 ldc (lru6)   r1, 0x7a   
     16976.0: ( 16.0ns) 0x458d8 _SInitializeMessaging_0 + 68 { ldc (ru6)    r3, 0x2      ; add (2rus)   r2, r9, 0x0  }
     16992.0: ( 16.0ns) 0x458dc _SInitializeMessaging_0 + 72 { add (2rus)   r4, r3, 0x0  ; bla (1r)     r11          } [UNRESOLVED]

xta 19>add branch 0x458dc [0x4594e]+
which gives the following problem:

Code: Select all

xta: warning: adding branch from instruction which is not a branch: (_SInitializeMessaging_0+72) 0x458dc add (2rus) r4, r3, 0x0
xta: error: References not resolved on any active tile

Could you help us get through this error?
Thank you very much.
Post Reply