This book contains over 30 complete VHDL examples of more advanced digital circuit designs using more complex state machines, data paths, timing requirements, and external peripherals including external memory, PS/2 keyboard and mouse control, and transmitting data via the UART to the memory. These topics are covered by designing circuits that will display images and graphics on a VGA monitor using the Digilent Nexys2, Nexys3, or Nexys4 FPGA board. This approach allows you to learn and practice more advanced digital design topics visually. This book picks up where the book Digital Design Using Digilent FPGA Boards – VHDL / Active-HDL Edition (DDDF-VHDL) leaves off. That book, which is available from www.digilentinc.com and www.lbebooks.com, contains over 75 VHDL examples covering basic digital design of both combinational and sequential circuits. All of the examples in that book were simulated using the Aldec Active-HDL simulator. We will use the same simulator in this book. A free student version of this simulator is available from http://www.aldec.com/Downloads/default.aspx.
The design of a VGA controller was introduced in the DDDF-VHDL book. However, all of the examples were limited to those that would run on both the Nexys boards and the BASYS2 board. This eliminated all examples that require the external RAM and external flash memories that are available only on the Nexys2, Nexys3, and Nexys4 boards. These external memories can contain color data for every pixel displayed on a VGA display. These video data can be refreshed to the VGA monitor sixty times per second to produce real-time video displays. Changing the contents of the video RAM will change the video display. This is the method that we use in this book to plot lines and circles on a video display.
The book contains over 30 examples divided among five chapters. Chapter 1 reviews the design of a VGA controller presented in DDDF-VHDL and includes new examples to design a checkerboard, a color palette, multiple sprites, moving sprites, and character fonts. Chapter 2 contains six examples that use the external RAM and external flash memory. Chapter 3 includes examples of using a PS/2 keyboard and PS/2 mouse to control images on the VGA screen. Chapter 4 covers the design of a UART that is used to download characters to the video screen through the serial port. The video graphics examples in Chapter 5 include plotting a dot, line and circle.
Many colleagues, students and reviewers have influenced the development of this book. Their stimulating discussions, probing questions, and critical comments are greatly appreciated.
Richard E. Haskell
Darrin M. Hanna
|