Leon fidgets in the wings, reviewing his notes before taking the podium. A hush falls over the audience as he strides onto the stage. Through the glare of the spotlights, he can just make out the pro-Propeller banners held by the standing-room-only crowd.
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.
Leon, you keep pushing yet you're always on this forum, if Xthingy is so good why aren't you there?
Also... ASM is rarely needed on propeller, most main code controlling code is done in spin.
You can't do a decent TV driver in XC, C or C++ you need to go to assembler for the inner loops.
I too am British, but I still rate the Prop 1000000 times higher than the XMOS! and I code in C every day! yet I prefer PASM and SPIN!
I haven't seen anyone refute those points I made about the advantages of XMOS over the Propeller. I think they will apply to the P2 as well as the P1, from what has been released about the former.
Baggers,
Doesn't one lose determinism when programming in Spin? It has to call assembler routines for many applications.
What makes the Propeller 1000000 times better than an XMOS chip? Surely it depends on the application.
As an additional note to my previous comment about the XMOS product we build at work.... The XMOS chip was chosen specifically because of its USB Audio features and no other chips were compared to make that decision. It was viewed as a "chip designed for that type of device, so use it" type of decision.
As for American vs British, I am just glad I wasn't born in France. I don't speak any French at all....................
My father was French, so I'm half-French. He was actually born in Hungary, though. I was bilingual when I was young; trilingual, really, as I also learned German at my grammar school.
I haven't seen anyone refute those points I made about the advantages of XMOS over the Propeller.
The problem is that you are not an honest broker when it comes to Xthingy. In 2008 you had all sorts of enthusiasm for it, and spread your enthusiasm all over cyberspace. You mentioned all the great things you were going to do with it - software radios, FPGA replacements, etc.
In the end, you have nothing to show anyone. But you have never said why. You keep recommending it to others, but obviously you weren't able to make a go of it. You need to include that fact when you make your glowing recommendations. Otherwise they aren't worth bat Smile anything.
I tend to use whatever device best suits the application I'm working on, It might be an XMOS chip, a Propeller, or any one of a multitude of different devices. I have development facilities for most of them.
To return to Andre's original question, has anyone else got anything sensible to contribute?
If someone can't finish a project, what does it matter how many MIPS the chip is capable of? Or if your task can't be broken into multiple threads to accommodate a particular chip that can only achieve those MIPS if you do, what good is it? A fast ARM is worth much more than an Xthingy for most tasks simply because it doesn't box the developer into a stupid paradigm. If you used the chip, you'd know these things.
For many applications an ARM is much better than an XMOS chip, or a Propeller! However, ARM solutions aren't scalable in the same way as XMOS devices are, and although they claim that the Cortex chips offer deterministic operation, it isn't easy to use them like that, and there is a performance deficit.
I often recommend the Propeller to people for applications for which it seems to be suitable. Most of them have never heard of it, and are very grateful to me for bringing it to their attention.
When you recommend things, why do you go by advertising copy and datasheets - something that anyone can read for himself/herself - and not your own experience?
Furthermore, why have you assumed the role of adviser on all things Propeller and XMOS when your own track record on both is so thin and unsuccessful?
You have credibility with FPGAs and PCB fab tools. Go with your strengths!
You still haven't contributed anything constructive in reply to Andre's original question. What is your response?
Andre himself has been conspicuous by his absence, after posting his question.
One reason why I've rekindled my interest in FPGAs is that I need one to go between the front end ADC and the XMOS chip, for my SDR. I've just bought some mono Wolfson codecs, which will connect to the XMOS chip, for audio output and microphone input. I can also use one with an XMOS XC-2 board for VoIP. I don't think that anyone has done anything like that yet.
Seems to me that in #5 I encouraged Heater - someone who might actually have some insight on the matter and is honest enough to give it - to share his perspective. Then in #12 I gave what was my best guess to Andre's question. What were your contributions to the question of why there isn't more mention of XMOS in cyberspace? All I recall was a bunch of shilling.
Heater didn't mention the advantages of XMOS, which why I stepped in. I'm still waiting for sensible comments on those points.
There actually is loads of stuff about XMOS, Google shows about 585,000 hits. That's more than for the Parallax Propeller (535,000) despite XMOS having only been in production for a couple of years. The XCore Exchange has many completed projects.
Congratulations! You finally provided something germane to the question.
In fact you could have given a much better answer than that: You could have shared the precise reasons you never finished your various XMOS programming projects that you were all excited about in 2008. That information might be of great value to the OP and to the rest of us.
@Leon re:Google shows about 585,000 hits. That's more than for the Parallax Propeller (535,000) despite XMOS having only been in production for a couple of years.
I just searched "propeller chip" on Google and got this: About 4,260,000 results (0.16 seconds)
You have to be careful with Google. Although propeller chip returns that many, "propeller chip" returns only 127000 hits. Without the quotes, the two words do not have to be juxtaposed or appear in any particular order in the results. So you could easily end up with results about airplane propellers with chips out of them, for example.
A fairer (IMO) search for parallax propeller returns 553000 hits.
There actually is loads of stuff about XMOS, Google shows about 585,000 hits. That's more than for the Parallax Propeller (535,000) despite XMOS having only been in production for a couple of years.
Hehe, XMOS is also a process name, and those hits include the venerable 8048.
In fact, Google of XMOS 8048 gives 1,160,000, so I could claim 8048 trumps BOTH XMOS and Prop ...
....
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".
This brings me to one of my main peeves with this class of device (applies to Xmos and Prop) :
It seems that 'mindset' made the designers lazy, and the unfortunate end result, is performance that is much lower than the Silicon could support, often for want of some simple scaling & better connection to the peripherals that are already there.
Take timing - both XMOS and Prop have mutiple timers, but can they capture the time of a pin edge, to (eg) 32 bits, to the system clock precision ? (like a sub $2 ARM can ?) Can they prescale any pin, before doing such a capture ?
[ Prop AN001 only mentions Capture once, and that is a SW read ]
Or PWM generation precision ? More uC can now do this to 1ns, or 300ps or even 150ps edge precisions, and timer clocks faster than the core clock are more prevelant. This saves a lot of system power.
Examples that 'push to the corners', are also sparse, so a possible new user, has to do a lot of trawling...
The stock reply is "do this in sw", but now, the precision falls to that of a SW loop - yet I can see timers, and a fast core, and am left thinking "What if..."
So we find instead a choice of a mid-level CPLD, and more generic micro, can out perform the chips that claim to be specialised ?
Comments
-Phil
Leon, you keep pushing yet you're always on this forum, if Xthingy is so good why aren't you there?
Also... ASM is rarely needed on propeller, most main code controlling code is done in spin.
You can't do a decent TV driver in XC, C or C++ you need to go to assembler for the inner loops.
I too am British, but I still rate the Prop 1000000 times higher than the XMOS! and I code in C every day! yet I prefer PASM and SPIN!
Some of us do the same thing over here. I'm not a big fan of jingoism, regardless of the flag or the cause. A product should stand on its own merits.
I would say the same thing to Leon that I would say to anyone about anything: If something is so great, why aren't you spending your time using it?
I congratulate Heater for shedding a bit of light on the OP's question. Reality - not wishful thinking - is what we need here.
Baggers,
Doesn't one lose determinism when programming in Spin? It has to call assembler routines for many applications.
What makes the Propeller 1000000 times better than an XMOS chip? Surely it depends on the application.
As for American vs British, I am just glad I wasn't born in France. I don't speak any French at all....................
-Tor
The problem is that you are not an honest broker when it comes to Xthingy. In 2008 you had all sorts of enthusiasm for it, and spread your enthusiasm all over cyberspace. You mentioned all the great things you were going to do with it - software radios, FPGA replacements, etc.
In the end, you have nothing to show anyone. But you have never said why. You keep recommending it to others, but obviously you weren't able to make a go of it. You need to include that fact when you make your glowing recommendations. Otherwise they aren't worth bat Smile anything.
Couldn't agree more. ARM is truly something to be proud of. It has revolutionized embedded control.
To return to Andre's original question, has anyone else got anything sensible to contribute?
I often recommend the Propeller to people for applications for which it seems to be suitable. Most of them have never heard of it, and are very grateful to me for bringing it to their attention.
Furthermore, why have you assumed the role of adviser on all things Propeller and XMOS when your own track record on both is so thin and unsuccessful?
You have credibility with FPGAs and PCB fab tools. Go with your strengths!
Andre himself has been conspicuous by his absence, after posting his question.
One reason why I've rekindled my interest in FPGAs is that I need one to go between the front end ADC and the XMOS chip, for my SDR. I've just bought some mono Wolfson codecs, which will connect to the XMOS chip, for audio output and microphone input. I can also use one with an XMOS XC-2 board for VoIP. I don't think that anyone has done anything like that yet.
There actually is loads of stuff about XMOS, Google shows about 585,000 hits. That's more than for the Parallax Propeller (535,000) despite XMOS having only been in production for a couple of years. The XCore Exchange has many completed projects.
In fact you could have given a much better answer than that: You could have shared the precise reasons you never finished your various XMOS programming projects that you were all excited about in 2008. That information might be of great value to the OP and to the rest of us.
http://www.xmos.com/applications
and here is a white paper about an interesting project:
http://www.xmos.com/system/files/cs-hrt-100525.pdf
Here is a press release about an application:
http://www.xmos.com/news/12-apr-2011/hunter-technology-selects-xmos-embedded-processors-power-avb-standards-based-train-
I don't think that any of them is feasible with a Propeller (1 or 2)
I just searched "propeller chip" on Google and got this: About 4,260,000 results (0.16 seconds)
You have to be careful with Google. Although propeller chip returns that many, "propeller chip" returns only 127000 hits. Without the quotes, the two words do not have to be juxtaposed or appear in any particular order in the results. So you could easily end up with results about airplane propellers with chips out of them, for example.
A fairer (IMO) search for parallax propeller returns 553000 hits.
-Phil
Hehe, XMOS is also a process name, and those hits include the venerable 8048.
In fact, Google of XMOS 8048 gives 1,160,000, so I could claim 8048 trumps BOTH XMOS and Prop ...
In other words, you are still not going to share with us the truth of your experiences developing with XMOS?
@Dave: It's just an across-the-pond difference.
Pedant!
This brings me to one of my main peeves with this class of device (applies to Xmos and Prop) :
It seems that 'mindset' made the designers lazy, and the unfortunate end result, is performance that is much lower than the Silicon could support, often for want of some simple scaling & better connection to the peripherals that are already there.
Take timing - both XMOS and Prop have mutiple timers, but can they capture the time of a pin edge, to (eg) 32 bits, to the system clock precision ? (like a sub $2 ARM can ?) Can they prescale any pin, before doing such a capture ?
[ Prop AN001 only mentions Capture once, and that is a SW read ]
Or PWM generation precision ? More uC can now do this to 1ns, or 300ps or even 150ps edge precisions, and timer clocks faster than the core clock are more prevelant. This saves a lot of system power.
Examples that 'push to the corners', are also sparse, so a possible new user, has to do a lot of trawling...
The stock reply is "do this in sw", but now, the precision falls to that of a SW loop - yet I can see timers, and a fast core, and am left thinking "What if..."
So we find instead a choice of a mid-level CPLD, and more generic micro, can out perform the chips that claim to be specialised ?
https://www.xmos.com/download/public/Programming-XC-on-XMOS-Devices%281%29.pdf
https://www.xmos.com/download/public/XS1-Ports-Specification%281.02%29.pdf
I/Os can handle 100 MHz events.