I'm working on a custom PCBoard where we put two XEF232 devices. The aim is to link them to act as an 8-Tiles device.
On the hardware side, only first XMOS is attached to a QSPI flash. The second one is aimed to boot as a slave to the first. JTAG is linked TDO -> TDI, with TCK/TMS in //.
Each XMOS have a 24MHz clock driving it (the same clock, from two distinct pin of an FPGA)
I have routed on the PCB two XLINKs (2-wires) between devices, just in case. First XLINK is between Tile#1 pins, link[1]. The other between Tile#2 pins, link[5].
I'm not an expert in XN files, but after reading some docs and some other topics and examples, I think (well, really, I "think" ;) ) I got the idea.
However, I can't get through a compilation without errors..... so I need your help :)
If I declare both links :
Code: Select all
<Links>
<Link Encoding="2wire" Delays="5clk" Flags="XSCOPE">
<LinkEndpoint NodeId="0" Link="XL0"/>
<LinkEndpoint NodeId="8" Chanend="1"/>
</Link>
<Link Encoding="2wire" Delays="3clk">
<LinkEndpoint NodeId="1" Link="1"/>
<LinkEndpoint NodeId="5" Link="1"/>
</Link>
<Link Encoding="2wire" Delays="3clk">
<LinkEndpoint NodeId="2" Link="5"/>
<LinkEndpoint NodeId="6" Link="5"/>
</Link>
</Links>
..\.\AVB-Module.xn: Error: XN11049 Network positioning failed (unsupported topology).
xmake[1]: *** [bin/Release/AVB-Module.xe] Error 1
xmake: *** [bin/Release/AVB-Module.xe] Error 2
If I declare a single link :
Code: Select all
<Links>
<Link Encoding="2wire" Delays="5clk" Flags="XSCOPE">
<LinkEndpoint NodeId="0" Link="XL0"/>
<LinkEndpoint NodeId="8" Chanend="1"/>
</Link>
<Link Encoding="2wire" Delays="3clk">
<LinkEndpoint NodeId="1" Link="1"/>
<LinkEndpoint NodeId="5" Link="1"/>
</Link>
</Links>
Assertion failed: !up, file ..\XNLoader\XNLoader.cpp, line 4449
xmake[1]: *** [bin/Release/AVB-Module.xe] Error 1
xmake: *** [bin/Release/AVB-Module.xe] Error 2
Well okay and now the funny thing, as I was making some test for writing this post, I managed to compile with the "other" link (alone) déclaration :
Code: Select all
<Links>
<Link Encoding="2wire" Delays="5clk" Flags="XSCOPE">
<LinkEndpoint NodeId="0" Link="XL0"/>
<LinkEndpoint NodeId="8" Chanend="1"/>
</Link>
<Link Encoding="2wire" Delays="3clk">
<LinkEndpoint NodeId="2" Link="5"/>
<LinkEndpoint NodeId="6" Link="5"/>
</Link>
</Links>
Anybody can explain this behaviour ?
Thanks for your help.