Notice: This is a non-profit website solely developed for educational purposes. In case of any unintentional copyrights infringement, please notify the author. Use the VHDL codes of this site at your own risk! We are not giving guarantee that this code is error free and can meet the requirements for a certain application.
VHDL is a programming language to describe a hardware. It is not a typical software language that are used to instruct a CPU what to do. When you use high level programming languages like Java/C or low level programming language like assembly, you give a series of instructions to the CPU. With VHDL, you actually describe a physical digital circuit that consists of gates/arithmetic units etc. You can design the CPU with VHDL and write software for the CPU in C!
A myriad of tutorial and lessons to learn VHDL are available online. It is easy to get lost in this sea of lessons and I have always found it difficult to find a concise resource including the most important lessons. On the other hand, most comprehensive resources are so elaborated that it becomes boring after a certain stage. I tried to compile a list and my own explanation here.
The problem with learning this language is thinking in the way of how digital circuits work. A simple statement in VHDL can be very powerful. For a software designer, it is problematic to think in the way of hardware because the compiler takes care of most of the stuffs for him. For a hardware engineer, it is easy to over complicate things while learning the language.
What can be found here
1. My own written explanation of various topics on VHDL.
2. A few building blocks or links to building blocks of VHDL.
3. Some useful books and lectures to learn and use VHDL.
Target Audience
The target audience of this site are students/researchers/professionals who have very limited to no knowledge of VHDL. This site is not aimed for advanced users of VHDL, even though they might find this site useful. This is not a comprehensive site that includes all the possible lexical syntax or rules of VHDL. We only include the rules and syntax necessary for a beginner.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-If you have any comment on this site, please contact the author, shahriar dot cwc at gmail dot com-
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
About the Author
Dr. Shahriar Shahabuddin received his MSc and PhD degrees from the Centre for Wireless Communications at the University of Oulu, Finland, in 2012 and 2019, respectively. During Spring 2015, he was with Cornell University, as a Visiting Scholar. Since 2017 and 2020, he held positions as a SoC Specialist and Senior DSP Engineer at Nokia, Finland and Nokia, Dallas, TX, respectively. He also served as a teaching faculty in the Electrical Engineering department at University of Texas at Arlington in 2023-2024. Dr. Shahriar Shahabuddin is currently a Tenure-Track Assistant Professor at Oklahoma State University and a Docent at University of Oulu.