Archive for February 13th, 2010
Hardware vs Software Programming
Posted by Bloggylife in thoughts on February 13, 2010
Have you ever programmed? Do you think it is difficult to grasp ?? Hated the whole experience ?? Made you hate computers all together and technology … software programming … well you haven’t experienced hardware programming and they use the term “programming” loosely.
In software, statements are executed sequentially, one step into the code at a time. Then there was a need to do things in parallel, two or more threads at the same time. Still it is fairly easy to follow the execution of the code.
Hardware programming, where sequential way of thinking is like being delusional and unrealistic, most things run in parallel. Time in hardware makes no sense, you can not simply instruct a hardware device by saying ohhh wait for 1 ns, this is where the clock comes in, which is actually an interrupt at regular intervals to give a sense of time, ooohh wait did I say 1 ns aka 1 GHz, are you wishfully thinking that your system functions at 1 GHz!!! Back down to 100 MHz.
Assigning two values to the same output, in software the latest change is the one that counts even if it was not intended, in hardware both values can be taken in and the result is rubbish, high impedance!
If you started off with software programming, it is tricky to switch to hardware mode. Big chunk of components all running and functioning at the same time.
Don’t you love loops and function recursions … forget about those … everything needs to be decided by run time …
Delays from input to output are very crucial.
Integers can not express inputs and outputs, hexadecimal representations rule!
Changes to software programs are possible. In hardware, that means physical components. Everything has to be clear and set from the beginning.
If you ever hated software programming, you’d appreciate its smoothness and operation once you get your hands into hardware programming.
One thing in common though, when there is an error, don’t blame the complier or the editor and call it stupid
If something stops and freezes, most probably it is a silly mistake from your end, like having 31 bit value instead of 32, common mistakes with all the 0′s and 1′s. Out of bound errors, trying to access memory locations that aren’t in the array which halts the simulation.
Things are most of the times what they seem
Well 60% of the time
Happy Programming

Recent Comments