The Designer's Guide to VHDL
The Designer's Guide starts off with pretty basic concepts such as data types and logic, both combinational and sequential. Next it moves into modeling, procedures, functions, components, aliasing, generate, and generic statements. It discusses a number of more exotic features, like configurations as well as access types that have limitations, if even available, during synthesis. Included are a few case studies, one on DSP pipelining, another on memory design, and a final one on the gumnut, a simple soft core processor. All in all it is a great reference manual for VHDL, assuming you already have knowledge of the digital design process and know what you want to implement.
Fundamentals of Digital and Computer Design with VHDL
The book is divided into three parts - fundamentals, basic computer design, and enhanced computer design. The VHDL is limited in detail, but it more than makes up for it with many examples. It includes a stroll through some of the historical programmable logic devices that you might run into maintaining legacy systems as well as giving a brief introduction to the manufacturing process associated with various integrated circuits. The last two-thirds of the book focuses on computer design that builds a basic and then slightly more advanced computer on the foundation you should have from reading the first third of the book. Finally there are a large number of problems at the end of each chapter (without solutions) and a host of labs in the appendix that can be worked to give yourself experience in VHDL design, something you can't get from reading alone.
Digital Design - An Embedded Systems Approach Using VHDL
The book assumes a basic understanding of the general principals, concepts, and components of electrical engineering. These basic concepts are expanded upon with more detailed descriptions of digital logic/boolean algebra and slightly more abstracted complex components like flip-flops. These abstractions are introduced and modeled, usually in a well described UML style presentation, and then converted into VHDL. As it progresses, the book combines all of the aforementioned into more complex designs that include finite state machines, soft cores, memories, accelerators, etc. Before a final review of the design process, a case study is presented for the design of a pipelined implementation of a sobel filter video accelerator.
VHDL 101 - Everything You Need to Know to Get Started
The book is divided into two main parts, the first of which is a review (if you read FPGA 101 first) of coding styles (behavioral, structural, register transfer level) and the design process including synthesis, simulation, and implementation, while the second part is further divided into a 3 pass approach to VHDL, going deeper with each iteration. Part two starts off with the basics including entities and architectures, signals, data types, operators, concurrent statements which give you a solid foundation to build on. The next section builds on this foundation with the introduction of processes, variables, sequential statements, and some of the limitations of simulation versus synthesis. The last, and most detailed, iteration introduces libraries, generics, the generate statement, loops, functions, procedures, and packages. It concludes with a look at a few common libraries and a nice quick reference appendix that is helpful when first learning a language.
FPGA 101 - Everything You Need to Know to Get Started
This book seemed great for a beginner with its inclusion of a nice list of acronyms, and with all the new terminology was well defined. It starts with the (sometimes too) basics, giving simple examples snippets of VHDL date types and code as well as general programming tips such as commenting and code organization. The connection between hardware and software is well described and elucidate with various diagrams of simple examples of logic gates and their equivalent VHDL. There is a fuller example, complete with VHDL and test bench code, that is used repeatedly for the last part of the book that is complex enough to be interesting and well described enough to follow. The last three-quarters of the book focuses more on the design process phases including- design, simulation, synthesis, implementation, and programming.