Template by:
Free Blog Templates

Minggu, 19 Juni 2011

Difficulties of Hardware Programming


Hardware programming can be an unknown & scary world for lots of program programmers out there. The syntax looks like nothing they have seen, the code runs differently & even the compilation & testing of it is different. So I will take some time & clarify the main difficulties & mysteries that involve hardware programming so that program developers can better understand what could await them.



Logic Gates Galore:

There is a different kind of hardware programming to tell you the truth, the one that deals with transistor blocks & another that deals solely with logic gates. Here I need to speak about the later because it is actually the actual hardware programming that designers deal with to make complicated chips. Transistor block programming called VLSI (Very Large Scale Integrated Circuits) is another topic as far as I am discussing here. Logic gates though are the next level above transistors & are involved in much more complicated programming. This is because VLSI involves putting the blocks of transistors together by hand than have you program them automatically like Hardware Description Languages.

Hardware Description Language:

This is the name of the coding used to program higher level logic gate functions automatically. You also need an FPGA (Field Programmable Gate Array) separately from your computer in order to fully check this code. This is because what is happening is that this FPGA is simulating the different functions of the logic gates you are coding by actually generating them virtually on this board with all their parameters. This includes timings as well, which represents the basis for all the issues that might arise in the work of hardware programming. The main issues that arise from this though are things. The first is compilation time, because the FPGA is connected externally & it takes some time to compile your code. This will finally lead to longer times testing your code & debugging it which will cause you significant overhead compared to program coding. The second thing is that the code doesn't run in sequence like program languages. HDL code runs in blocks because that is how actual chips operate physically. This physical limitation imposes programming limitations that case lots of hardware designers to be frustrated. This is because you may not understand why a sure error may be occurring & may be because circuit timings are not synchronized.

So I hope I clarified to you some aspects of hardware programming issues that you didn't understand before. It is my hope that with this knowledge you can be better prepared for hardware programming & its tribulations that may await you.

0 komentar:

Posting Komentar