Your background - Hardware or software?

Off topic discussions that do not fit into any of the above can go here. Please keep it clean and respectful.
DanB
Experienced Member
Posts: 118
Joined: Fri Jan 28, 2011 1:13 am

Your background - Hardware or software?

Post 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.


User avatar
Berni
Respected Member
Posts: 363
Joined: Thu Dec 10, 2009 10:17 pm

Post 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.
DanB
Experienced Member
Posts: 118
Joined: Fri Jan 28, 2011 1:13 am

Post 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.
bearcat
Respected Member
Posts: 282
Joined: Fri Mar 19, 2010 4:49 am

Post 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.
User avatar
leon_heller
XCore Expert
Posts: 546
Joined: Thu Dec 10, 2009 10:41 pm
Location: St. Leonards-on-Sea, E. Sussex, UK.

Post 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.
User avatar
segher
XCore Expert
Posts: 844
Joined: Sun Jul 11, 2010 1:31 am

Post 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 :-)
User avatar
leon_heller
XCore Expert
Posts: 546
Joined: Thu Dec 10, 2009 10:41 pm
Location: St. Leonards-on-Sea, E. Sussex, UK.

Post 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.
User avatar
bsmithyman
Experienced Member
Posts: 126
Joined: Fri Feb 12, 2010 10:31 pm

Post 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.