The Student's Guide to VHDL, 2nd Edition
Peter J. Ashenden
Source Code and Testbenches
Chapter 1 - Fundamental Concepts
Chapter 2 - Scalar Data Types and Operations
Chapter 3 - Sequential Statements
Chapter 4 - Composite Data
Chapter 5 - Basic Modeling Constructs
More on the way...