Digital Systems Design with FPGAs and CPLDs

Design languages provide the means by which to describe the operation of both software programs and hardware. These descriptions, usually text based, are developed and stored as ASCII text files within the computer on which the descriptions are being developed. Over the years, a large number of languages have been developed. Some are still in use today, while others have become obsolete.
Design languages are of two types, software programming languages (SPL) and hardware description languages (HDL). At one time, designers were either software or hardware designers, and design teams were clearly distinguished by these separate roles. Today, however, designers are involved in both software and hardware design and need skills in both areas, although they may be specialized.
Attempting to identify and introduce all the design languages developed and in use would be a book in its own right. This chapter will identify and introduce a number of key languages used in both hardware and software design. Figure 4.1 identifies the languages to be identified and discussed.
Software programming languages (SPLs) allow a software designer to create executable software applications that will operate on a suitable processor. The target processor will be one of three types: microprocessor (mP), microcontroller (mC), or digital signal processor (DSP).
The microprocessor is a software-programmable, integrated circuit built around a central processing unit (CPU) and based on an instruction set that the software program uses to perform a set of required...