Hardware designers and software
As I work for a company that has traditionally had a strong focus on hardware design, I am particularly interested in the relationship between hardware and software development and the synergies between the two disciplines.
Previously, I have discussed the dominance of software in modern designs [here] and the relationships in the EDA world [here]. But today I want to think about how hardware guys actually relate to software …
My first thought is that hardware design nowadays is very like software development. Most commonly, a system is described using a high level programming language [an HDL – Hardware Description Language]. Possibilities include VHDL [which is syntactically based on Ada], Verilog [which is rather like C] and other variants of the C language. A few years back I attended a 3 day VHDL class, so I now consider myself a fully trained hardware designer. I was surprised how quickly I could get to a point that I could “design hardware”. My biggest challenge was the VHDL syntax, as I have no Ada background.
I have observed that many hardware engineers are quite interested in what embedded software is all about. To some extent this is just curiosity, driven by the increasing profile of software in embedded system design. However, there is a common feeling that, if they understood the software better, maybe better hardware designs would result. As I see it, this is a very good attitude, which results in a win-win – a better outcome for all parties.
Over the last 15 years or so, I have been involved in a number of initiatives to provide some training to hardware guys in the basics of embedded software. And I am actually working on a new one, which should come to fruition in 2012. As a reader of this blog, I am sure that you are [largely] focused on software development, but you most likely have hardware design counterparts. I encourage you to respond positively to inquiries from those guys about how software works. The result could really be hardware that is easier to program, which would be true progress.
Posted October 31st, 2011, by Colin Walls
- What size drink would you like?
- Using an embedded Web server
- Row 13 – unlucky for some?
- Brillo – a brilliant OS or a scouring pad?
- How Mac and I are getting along – an interim report
- IPv6 – some guidance to the uninitiated
- Power outlets when traveling – and USB again
- Spotting the difference – subtleties of C code
- Shutting the Windows – moving to a Mac?
- DAC and Embedded TechCon – embedded and EDA coming together?