UNIVERSITY OF INFORMATION TECHNOLOGY
The VHDL Hardware Description Language
ThS. Le Hoai Nghia
nghialh@uit.edu.vn
February 2009
The VHDL Hardware Description Language – p. 1/44
Why HDLs?
The VHDL Hardware Description Language – p. 2/44
Why HDLs?
The VHDL Hardware Description Language – p. 3/44
Why HDLs?
The VHDL Hardware Description Language – p. 4/44
Two Separate but Equal Languages
The VHDL Hardware Description Language – p. 5/44
VHDL: Hierarchical Models
The VHDL Hardware Description Language – p. 6/44
Basic VHDL: Full Adder
The VHDL Hardware Description Language – p. 7/44
VHDL: Two-bit Counter
The VHDL Hardware Description Language – p. 8/44
Four-to-one multiplexer: when...else
The VHDL Hardware Description Language – p. 9/44
Four-to-one mux: with...select
The VHDL Hardware Description Language – p. 10/44
Three-to-eight Decoder
The VHDL Hardware Description Language – p. 11/44
Priority Encoder
The VHDL Hardware Description Language – p. 12/44
Integer Arithmetic
The VHDL Hardware Description Language – p. 13/44
A Very Simple ALU
The VHDL Hardware Description Language – p. 14/44
Arithmetic Comparison
The VHDL Hardware Description Language – p. 15/44
Generate: Ripple-carry adder
The VHDL Hardware Description Language – p. 16/44
Basic Flip-Flop
The VHDL Hardware Description Language – p. 17/44
Flip-Flop with Synchronous Reset
The VHDL Hardware Description Language – p. 18/44
Four-bit binary counter
The VHDL Hardware Description Language – p. 19/44
Eight-bit serial in/out shift register
The VHDL Hardware Description Language – p. 20/44
A small RAM
The VHDL Hardware Description Language – p. 21/44
A small ROM
The VHDL Hardware Description Language – p. 22/44
Rocket Science: FSMs
The VHDL Hardware Description Language – p. 23/44
Structure of FSMs in VHDL
The VHDL Hardware Description Language – p. 24/44
The Traffic Light Controller
The VHDL Hardware Description Language – p. 25/44
FSM for the Traffic Light Controller
The VHDL Hardware Description Language – p. 26/44
Traffic Light Controller in VHDL (1)
The VHDL Hardware Description Language – p. 27/44
Traffic Light Controller in VHDL (2)
The VHDL Hardware Description Language – p. 28/44
Traffic Light Controller in VHDL (3)
The VHDL Hardware Description Language – p. 29/44
Traffic Light Controller in VHDL (4)
The VHDL Hardware Description Language – p. 30/44
Traffic Light Controller in VHDL (5)
The VHDL Hardware Description Language – p. 31/44
Ten Commandments of VHDL
The VHDL Hardware Description Language – p. 32/44
I: Thou Shalt Design Before Coding
The VHDL Hardware Description Language – p. 33/44
II: Thou Shalt be Synchronous
The VHDL Hardware Description Language – p. 34/44
III: Thou Shalt Be Sensitive
The VHDL Hardware Description Language – p. 35/44
III: Thou Shalt Be Sensitive
The VHDL Hardware Description Language – p. 36/44
IV:Thou Shalt Assign All Outputs
The VHDL Hardware Description Language – p. 37/44
“Default” values are convenient
The VHDL Hardware Description Language – p. 38/44
V: Thou Shalt Enumerate States
The VHDL Hardware Description Language – p. 39/44
VI:
The VHDL Hardware Description Language – p. 40/44
VII: Thou Shalt Avoid Async
The VHDL Hardware Description Language – p. 41/44
VIII: Thou Shalt Have One Version
The VHDL Hardware Description Language – p. 42/44
IX: Thou Shalt Not Test For X Or Z
The VHDL Hardware Description Language – p. 43/44
X: Thou Shalt Not Specify Delays
The VHDL Hardware Description Language – p. 44/44