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