Many traditional software engineers are interested in making the jump to developing embedded devices via programmable logic. New electrical and computers engineers graduating college have generally been exposed to developing these devices, but firmware developers who have been out of school for five, ten, or more years may not have had the opportunity to develop these kinds of systems. This paper will attempt to give enough of a general overview that those interested in developing this skill will feel comfortable jumping into this new realm.

This paper is written from the viewpoint of a seasoned ‘C’ software engineer. The target audience would be those who have been creating software for embedded systems for a few years, who may or may not have been exposed to the hardware engineering side of development, but who wants to know more about how a programmable logic device gets designed, constructed, implemented, and tested. This paper will focus on FPGAs (Field Programmable Gate Arrays), a family of reconfigurable logic, and VHDL&#151a hardware definition language.