XMOS chips vs. P2
AndreL
Posts: 1,004
Hey, I saw some posts about the XMOS chips a while back, people were arguing I think Anyway, has anyone actually used the chip or knows of any designs of anything for it? The site is very nice, but VERY few applications. The P2 when it comes out 1 year hopefully will have superior performance and the 3D pipelines in each core I helped architect with Chip. He was going to do a 2D chip originally, so together we designed the 3D rasterizer, lighting, texture sizes, and general specs, so I am very excited to see the P2's 3D in action when it is done.
But, I am interested in the XMOS stuff since right now they have a 1000 MIP processor, but I am amazed at how LITTLE there is out there -- I can't believe there are no game consoles, no media system, nothing. I google, youtube, its like someone erased everything....
Anyway, anyone have any experience with these? Is there a white elephant in the room with these chips?
Andre'
But, I am interested in the XMOS stuff since right now they have a 1000 MIP processor, but I am amazed at how LITTLE there is out there -- I can't believe there are no game consoles, no media system, nothing. I google, youtube, its like someone erased everything....
Anyway, anyone have any experience with these? Is there a white elephant in the room with these chips?
Andre'
Comments
Now, dare I read the post?
The current chips are much more specialized beasts. Not general purpose CPU's like a Coldfire or ARM. That said they have had several design wins that at least they can openly mention. Why people get their knickers in a knot over them I just don't get it.
Would I make a silly game console with them? No. That market is glutted with serious specialized hardware and companies with seriously fat budgets. If you mean a retro style game console it would be better if one used 20Mhz 68EC000 with a Dream audio chip along with a Cyclone 3 FPGA doing the heavy graphics lifting and make one nice system.
Or if you like Z-80(running at 25Mhz) based systems take a look at this one:
http://www.retroleum.co.uk/ez80p/
It's also reasonable priced.
To be continued...
-Phil
The EZ80P doesn't use a Z80, it has an eZ80 which isn't entirely the same thing.. and anyway it runs at 50MHz, not 25MHz. The same guy also builds a real Z80 kit (one of which I own, and my EZ80P is in the mail, yay!).
Not sure why you switched to talk about Z80 though.. maybe it's because the chip in the thread header shall not be mentioned? :-) (No, I don't know the pre-history of that either)
-Tor
Got any of that popcorn left?
http://www.xcore.com/forum/viewtopic.php?t=621
TonyD's X-One http://zuzebox.wordpress.com/2009/10/15/x-one/
Regards,
Coley
Hopefully? In 1 year? Oh dear.......
EZ80P kit runs at 25Mhz though it can run at 50Mhz if you reprogram the FPGA. It looks to be a nice board to experiment with. I would like to see Make magazine promote it.
I switched discussion simply because I don't see Xmos and the Prop as competitors. To me it's a matter of need and fit. But others have their own agenda and wish to start a fight. Why people want to fight over a bit of silicon is beyond, it's like fighting over crayons in kindergarten. As for the P2 it's not out yet and anything said about it, is just speculation at this point in time.
-Tor
I think it would be great to hear what Heater thinks about it since he has actually used it a bit.
Certainly the 1000MHz you quote can't be applied to a single thread. It is necessarily divvied up into many threads. Even some of its most ardent supporters were not initially aware of that fact. It does make for great headlines, though.
That's my only beef. I want to hear honest reports from individuals that have used an XMOS chip to do something significant. I can read advertising copy all by myself.
C.W.
I guess the P2 is a bit more "real" in your mind as you have been working with Chip on it.
Perhaps what we'd all like to hear is more details of the 3D features you have mentioned.
I'm wondering how useful 3D can be on a device with such limited memory available.
@AndreL: I have had the same question. All I've ever come up with are two possibilities:
XMOS is more difficult to use than XMOS shills let on.
and/or
The XMOS design possesses no Fun-Factor. (I sound like Simon Cowell!)
You should implement a flux capacitor coulomb counter on an XS1-G4 and find out which it is.
Exactly. And could the engineering time that went into all of that been used elsewhere in the P2, in areas that would actually drive more sales.
The existing propeller was designed with some of the exact same trade-offs and overall utility in mind and we think it's great. Anybody who believes video is not important is free to just leave that small bit of silicon idle, using the rest of the chip as they see fit. P2 is going to be no different in that regard.
And, having those capabilities helps promote the platform, at very little real cost. It's why I'm here. Would never have picked up the tech, if it were not for the interesting video capability. Turns out, I ended up learning a ton of other things too. What's the harm in that?
As for 3D on a small RAM, remember Baggers authored a perfectly fine raycaster in 32Kb of HUB ram, doing software textures, etc... It's going to be possible to present nice GUI applications in the next Propeller, with basic 3D elements that go beyond gaming. Simple data presentation in 3D doesn't consume tons of RAM, and often communicate things very easily, just as 2D data presentation / instrumentation works now on the P1.
I did, but Doc lost them when he went back to 1885.
Sorry.
C.W.
We looked at Xmos ~ 12 months ago, and since then, little has changed.
Xmos did a new package spin at 48 pins, but the DOCs still seem sparse in the extreme, and fragmented - almost Frozen ~ 2009 ?
Memory remains a issue that bites on both XMOS and Prop, tho XMOS has twice the RAM of the Prop, at 64K.
Icc is high in XMOS, at 200mA at full speed, pushing you into good switching regulator usage.
Since then, the 32 bit Controller market has steadily moved along, and you can get 128KB of FLASH + USB, for ~ $3.60/100+
- or, you can get a serious MachXO2 CPLD now, for sub $6, and if you don't care about price, Cypress have PSoC3 & 5
all of that, pushes these nice parts, into smaller niches...
As Coley said I've used them in a minimalistic video console (X-One) I put together using one of their dev boards and Yvo's VDP-1 video engine. The Eclipse IDE for coding XC was familiar to use and XC programming language was easy to pickup as its based on C. The dev boards nice to use, no stupidly pitched headers or the like.
As too why you don't see much about them, most of Xmos's activity is commercial so you don't hear much about them. They seam to getting a lot of design-ins for USB audio and Ethernet AVB products.
As Jmg says, they haven't released any thing really new since late 2009 or early 2010, just smaller package versions of their single core stuff. So I'm guessing we're due something soon.
Yvo's site is down at the moment but he had a new version of VDP-2 with a lot more features if you're interested.
An XMOS chip is used in this reincarnation of the Amiga:
http://a-eon.com/index.html
It's obviously cost a lot of money to develop it, but I can't see it being all that successful.
Perhaps they do not operate in the same market space just now. But there is an overlap that will grow with the Prop II. The prop II is a move into a higher performance and more commercially oriented market and the smaller xmos devices are heading for the student/hobbyist market.
As I have said before here, in my mind these two devices do invite direct comparison in that they are on the one hand so different to the run of the mill offerings whilst at he same time both based on some common fundamental ideas:
For example:
1) Dispense with all those peripheral devices, UART, USB etc etc and use the space for flexible processing power instead.
2) Allow for lots of concurrent activity.
3) That lets us dispense with interrupts and instead we will have simpler predictable event driven programming.
4) Have deterministic timing.
5) Have tight coupling between the processors and the IO pins.
6) All this allows the general purpose processing power be used for creating those missing peripherals in software, "Software Defined Silicon".
In the extreme these devices would be like FPGA's except instead of simple logic blocks there is a lot of processors.
Currently the Prop and the xcores are almost the only kids on the block who have dared to do this so of course they will be compared.
Quite so. I get a real buzz out of finding things like the Prop and XMOS, they are novel, interesting, off the beaten track. In that way I love both of them. No point being closed minded about it, that just denies oneself an interesting exploration.
So now, with my Propeller hat on here is why the xmos sucks compared to the Propeller:
0) There is no nice DIP XMOS device.
1) A minimal XMOS system is much more complicated and harder to build.
2) There is no simple serial download possibility like the props transistor circuit.
3) I/O Pins are tied to cores. You can't use any pin from any core willy-nilly.
4) I/O pins have their configuration (input/output etc) defined in groups of 16, 8, 4, 2, 1. So pin allocation usage is not so flexible.
5) If you use xlinks it punches holes through some of those pin groups.
6) xcores are/can be deterministic but after 4 threads on a core starting and stopping a thread modulates the speed of the others.
7) Programming in assembler is going to be a lot harder.
Of course I could also present a list of why the Propeller sucks compared to the xcore...there are horses for courses as always.
I've looked at the smaller QFP chip briefly and may use it later, but I have enough to do for now.
XC, C and C++ are available, and are very efficient. Assembler is rarely needed.
Eclipse IDE (something of an industry standard).
Excellent in-circuit debugging.
High-speed XLinks for inter-chip comms.
Easy implementation of multi-chip parallel systems.
Higher performance.
XMOS is British!
XMOS is a nice friendly company to work with with, as is Parallax.
Yes as long as everyone understands how those MIPS are arrived at.
The XS1-L2 has 1000 MIPS total but that is 500 MIPS per core. That is divided up among the threads so it goes from 125 MIPs per thread for 4 or less threads down to 62.5 MIPs per thread for 8 threads.
There is the thread speed modulation I mentioned. Which has the very un-prop like result that if you write some code for the xcore and I write some code for the xcore they may both work very well but when put together on one core they may fail as we discover there is not enough time to go around.
Are you working on a new project with the XMOS...new game system??