Page 1 of 1

Your background - Hardware or software?

Posted: Sun Feb 06, 2011 8:58 pm
by DanB
Evening all!

Just a quick question, out of interest... As I'm beginning to explore the possibilities of the XMOS platform I'm noticing it blurs the lines between hardware (for example, hardware description) and software (conventional programming languages) more than anything I've seen before. With this in mind, I'm interested what your background is?

My gut feeling is that the XMOS may attract more hardware engineers (with, say, VHDL or Verilog) expertise more than ever before. Clearly the design process is still quite different than hardware description languages but it is a step closer than any other software language I've ever come into contact with. I can imagine this makes the XMOS platform pretty appealing to predominately hardware developers.

My background (due to my University studies) is in Electronic Engineering and as such I've covered modules on VHDL. Following University I began employment as a software engineer. Considering this I have an appreciation of both sides of the coin... So where do you fit on this spectrum?

Finally, I've made the assumption (possibly unfairly) that people on here tend to fall into the category of either software or hardware engineers. If you do not fall into either of these categories it'd be even more interested in knowing what brought your attention to XMOS? And whether, from a hobbyist point of view, you find yourself closer to a hardware or software developer (prior to your use of the XMOS platform).

Cheers,

Dan.

Re: Your background - Hardware or software?

Posted: Sun Feb 06, 2011 10:41 pm
by Berni
Well id says more on the software side since you usually program these in XC and thats almost the same as C except it has some stuff added to support multi core and the hardware features.

Re: Your background - Hardware or software?

Posted: Sun Feb 06, 2011 10:47 pm
by DanB
Berni wrote:Well id says more on the software side since you usually program these in XC and thats almost the same as C except it has some stuff added to support multi core and the hardware features.
I'm aware that the XMOS platform is still more akin to a convention software language such as C than a hardware description language but clearly XC enables a more hardware driven approach then is conventionally available (for example, writing UART/I2C/etc in software than than hardware). For this reason I wondered whether this enticed people who are traditionally used to a hardware based development environment :).

I appreciate my question, and the way I've articulated it, may be pretty poor but I do think it would be interesting to know if we've anybody amongst us who has developed an interest in XMOS and XC because the constructs allow a development more closely resembling (but still some way away from) a hardware language.

Re: Your background - Hardware or software?

Posted: Mon Feb 07, 2011 4:20 am
by bearcat
I don't really see that it blurs the hardware / software equation. The XMOS platform blurs the peripheral equation. In the past you may have had to hardware design (or use additional hardware) a peripheral, but that may be turned into software with the XMOS. But this still requires some care. As using a thread for a simple hardware task may not be the best use of resources.

If you can use a reference or third party XMOS design, then someone with more software experience can complete a design. Although I/O is a concern.

I am a hardware designer, myself, and feel quite at home with the XMOS products.

I generally feel experince in hardware is more important than software for embedded designs. Software is easier to learn and can be changed without modifications.

Re: Your background - Hardware or software?

Posted: Mon Feb 07, 2011 1:54 pm
by leon_heller
I remember David May mentioning that hardware people find parallel processing concepts easier than software people do, at an Occam User Group conference many years ago.

Re: Your background - Hardware or software?

Posted: Mon Feb 07, 2011 8:48 pm
by segher
leon_heller wrote:hardware people find parallel processing concepts easier than software people do
I reckon that's because the hardware people don't see the problems that the software
people do not know how to fix!

Read that whichever way you want :-)

Re: Your background - Hardware or software?

Posted: Mon Feb 07, 2011 9:50 pm
by leon_heller
David actually meant that hardware people found developing parallel processing software easier than software engineers. Where I once worked, our best software people had a hardware background.

Re: Your background - Hardware or software?

Posted: Tue Feb 08, 2011 12:57 am
by bsmithyman
For what it's worth, I'm a geophysicist, so I suppose that ties in to both hardware and software. The hardware end comes in when considering instrumentation, and the software end when processing data in the office. Admittedly, my interest in XMOS is more of a hobby than a job, but I think what first interested me was the multiprocessing and DSP capabilities merged with some microcontroller-like features. The fact that it's a microprocessor not a PLD was key, since I don't have a HDL background.
DanB wrote:As I'm beginning to explore the possibilities of the XMOS platform I'm noticing it blurs the lines between hardware (for example, hardware description) and software (conventional programming languages) more than anything I've seen before.
I think it's fair to say that the XMOS toolchain is a software approach (i.e. you're running programs, not linking logic cells) to solving problems, but because of the parallel and modular design it's quite possible to replace hardware with software in some circumstances. Because of the way the execution cores and threads are set up, in many cases it's possible to guarantee deterministic performance, which is more often associated with hardware solutions. I'd say I agree with bobcat that it's not really blurring the lines ;); however, it is definitely encroaching on the traditional market of low-end FPGAs.