I am probably missing a raft of documentation but I cannot find any information on using xConnect links between xcore-200 (xs2?) parts. I can find an example for use on xs1 parts but this will not build when an xs2 part is specified in the makefile. I have spent a long time searching for some information and am very surprised that it should be so difficult. I also have not found a definitive list of extensions to c as used in xc based programmes. I have been able to go quite a long way by extrapolating from various examples, but find this difficult to procede much further.
Use of xConnect on XCORE-200 parts
-
- Member++
- Posts: 24
- Joined: Sat Nov 14, 2015 3:53 pm
-
- XCore Addict
- Posts: 158
- Joined: Thu Mar 20, 2014 8:04 am
Hi,
For XS2, the XS2 datasheet has more information - Section `D-Node Configuration` has more details.
Can you pls specify which example or documentation you are referring to (for xCONNECT example)?
If you are referring to AN001024 for xCONNECT usage, yes it has to be adapted for the XS2 related changes.
regards,
srinie
For XS2, the XS2 datasheet has more information - Section `D-Node Configuration` has more details.
Can you pls specify which example or documentation you are referring to (for xCONNECT example)?
If you are referring to AN001024 for xCONNECT usage, yes it has to be adapted for the XS2 related changes.
regards,
srinie
-
Verified
- Respected Member
- Posts: 347
- Joined: Wed Jan 27, 2016 5:21 pm
Hi jzw,
Very little has changed - and it should all work as before. Having said that, building a multi-device design takes quite some effort.
The changes between XCORE200 and XS1-L/U/A are (with references to the data sheet <http://www.xmos.com/published/XL216-512-TQ128-Datasheet>):
(a) the pins where the links appear on the outside of the package are different (Section 3/4)
(b) XCORE200 enables you to boot over multiple links (Section 8)
(c) XCORE200 devices have two processors per node/switch (Section 1)
As an example, say you want to build a system of two XL216-512-TQ128 devices. The links are shown in Sections 3 and 4. This particular devices has 4 links on the its pins, XL0 & XL3 on the left, and XL4 & XL7 on the right:
Suppose you want two links connecting the two nodes; you can wire XL0 of the right node to XL7 of the left, and XL3 of the right to XL4 of the right (a total of 20 nets assuming you use the 5-wire interconnect):
Then you need to set the right chip to boot from the left chip, so select boot mode 4 (X0D06 on the right chip needs a pull-up; Section 8 of the data sheet). The left chip needs to boot from something, so either get the F part with built-in flash, or connect a flash to it.
Finally, you have to build an XN file that has that includes those links:
Very little has changed - and it should all work as before. Having said that, building a multi-device design takes quite some effort.
The changes between XCORE200 and XS1-L/U/A are (with references to the data sheet <http://www.xmos.com/published/XL216-512-TQ128-Datasheet>):
(a) the pins where the links appear on the outside of the package are different (Section 3/4)
(b) XCORE200 enables you to boot over multiple links (Section 8)
(c) XCORE200 devices have two processors per node/switch (Section 1)
As an example, say you want to build a system of two XL216-512-TQ128 devices. The links are shown in Sections 3 and 4. This particular devices has 4 links on the its pins, XL0 & XL3 on the left, and XL4 & XL7 on the right:
Code: Select all
+-------+
|XL0 XL7|
| |
|XL3 XL4|
+-------+
Code: Select all
+-------+ +-------+
|XL0 XL7|=======|XL0 XL7|
| | | |
|XL3 XL4|=======|XL3 XL4|
+-------+ +-------+
Finally, you have to build an XN file that has that includes those links:
Code: Select all
...
<Links>
...
<Link Encoding="5wire" Delays="2,2">
<LinkEndpoint NodeId="0" Link="7"/>
<LinkEndpoint NodeId="1" Link="0"/>
</Link>
<Link Encoding="5wire" Delays="2,2">
<LinkEndpoint NodeId="0" Link="4"/>
<LinkEndpoint NodeId="1" Link="3"/>
</Link>
</Links>
...
-
- Respected Member
- Posts: 367
- Joined: Wed May 31, 2017 6:55 pm
Hi,
in your example you use two 5-way links between the devices, but is it necessary? The data sheets are a bit vague on this point.
I'm hoping that if you only connect a single link the device will work it out.
Thanks.
in your example you use two 5-way links between the devices, but is it necessary? The data sheets are a bit vague on this point.
I'm hoping that if you only connect a single link the device will work it out.
Thanks.