Essential VHDL
About the book

"A must have book for anyone approaching VHDL and RTL synthesis from a practical viewpoint."

--J. Bhasker, author of best selling book A VHDL Synthesis Primer

"Essential VHDL will clearly show you how to get the most out of your VHDL synthesizer. This book should definitely be part of your reference library if you plan to be successful in VHDL logic synthesis."

-- William D. Billowitch, Chief Technical Officer, The VHDL Technology Group

" Essential VHDL is a must read for both beginners and experts who wish to write higher quality, synthesizable VHDL. Sundar uses abundant, real world examples to teach the art of VHDL-based design."

-- Mike Dini, President, The Dini Group

"Essential VHDL starts with simple examples and slowly builds to cover the most complex topics. It's great for the VHDL novice, or for the expert looking to optimize design entry for programmable logic."

-- Craig Lytle, Sr. Director of Product Planning and Applications Altera Corporation

"A great book for the experienced engineer who is new to VHDL design."

-- Ken McElvain, Chief Technical Officer, Synplicity Corporation

This book provides a simple, hands-on approach to writing VHDL for RTL synthesis. It follows a systematic, "how-to" style and instructs readers on practical VHDL design. Although targeted primarily at programmable logic designers, the techniques presented in this book make it equally useful for those interested in real-world HDL design. It addresses two fundamental issues:

  • The primary purpose of a VHDL synthesis tool is to create hardware that matches the results of simulation.
  • VHDL's rich descriptive capability provides many ways to describe hardware, with varying results when synthesized.

You'll learn to write correct VHDL in a style that will positively impact both the design process and the quality of the end result.

Table of Contents

Preface ..... xxi
Acknowledgements ..... xxv
1. VHDL Basics ..... 1
2. Getting Your First Design Done ..... 13
3. Gates, Decoders and Encoders ..... 25
4. Registers and Latches ..... 51
5. Counters and Simple Arithmetic Functions ..... 75
6. Finite State Machines ..... 101
7. Reset, Presets, Tri-state and Bi-directional Signals ..... 123
8. Understanding Hardware Creation ..... 141
9. Design Partitioning ..... 167
10. Getting the Most from Your State machines ..... 191
11. Scalable and Parameterizable Design ..... 219
12. Enhancing Design Readability and Reuse ..... 241
13. Creative Potpourri ..... 259
14. Simulation and Design Verification ..... 281
Appendix A: Measuring Performance and Utilization ..... 305
Index ..... 307
References and Sources ..... 315
Last updated: January 1, 1999