ABSTRACT

This chapter provides an introduction to digital system design, system representation, software tools/usage and the capabilities of the hardware description language. A series of simple codes are presented to introduce the basic modelling concepts using the data type convertors (signed, unsigned, integer, std_logic_vector, numbers and bit vector), operators/attributes and concurrent/sequential logics. Different modelling techniques such as (i) behavioural modelling, (ii) data flow modelling and (iii) structural modelling are explained with several design examples to demonstrate the concept and design differences clearly. Different library packages, data conversion functions and text/string/integer/binary array declarations are tabulated with their syntax and limitations as a quick reference/user guide for design. Several real-world design examples for operators, attributes, concurrent codes, and sequential codes are presented with appropriate explanations for clear understanding of the design concepts. Flip-flops, parallel-to-serial converters and multifrequency signal generators are presented as examples to explain simple application circuit design with VHDL. The conversion technique for one flip-flop to another is explained with appropriate circuits, function tables and simplification methods. A method of onboard clock division using the master-slave configuration is also detailed. The general design technique for a digital clock manager (DCM) is presented, with functional architecture and design examples. Finally, design exercises are listed in the last section.