A major revolution in digital design has taken place over the past two decades. Field programmable gate arrays (FPGAs) can now contain over a million equivalent              logic gates and tens of thousands of flip-flops. This means that it is not possible to              use traditional methods of logic design involving the drawing of logic diagrams when
the digital circuit may contain thousands of gates. The reality is that today digital 
              systems are designed by writing software in the form of hardware description
              languages (HDLs). The most common HDLs used today are VHDL and Verilog.
              Both are in widespread use. When using these hardware description languages the
designer typically describes the behavior of the logic circuit rather than writing
              traditional Boolean logic equations. Computer-aided design tools are used to both
              simulate the Verilog or VHDL design and to synthesize the design to actual hardware.
          This book assumes no previous knowledge of digital design. You start at the
            beginning learning about basic gates, logic equations, Boolean algebra, and Karnaugh
            maps. In over 75 examples we show you how to design digital circuits using Verilog,
            simulate them, and synthesize the designs to a Xilinx FPGA on one of the following Digilent FPGA boards available from www.digilentinc.com: the Basys™2 Spartan-
            3E FPGA board, the Nexys™2 Spartan-3E FPGA board, the Nexys™3 Spartan-6
            FPGA board, the Nexys™4 Artix-7 FPGA board, or the Basys3™ Artix-7 FPGA
            board. The differences between these boards are summarized in Appendix C. To
            simulate and synthesize your designs to a Xilinx FPGA, you will need to download
            the free Vivado HL WebPACK from Xilinx, Inc. (www.xilinx.com). A tutorial on
            using Vivado is given in Appendix A. Each of the FPGA boards will need its unique
            user constraints file (.ucf), which identifies specific pin numbers for a particular board
            (see Appendix C). You can download these .ucf files from
            http://www.lbebooks.com/downloads.htm.
           The simulation examples given in this book used the Aldec Active-HDL
            simulator. A free student edition of the Aldec Active-HDL simulator is available
            from Aldec, Inc. (www.aldec.com). If you would like to use that simulator to
            simulate your designs, a tutorial is available on http://www.lbebooks.com.
           Many colleagues and students have influenced the development of this book.
            Their stimulating discussions, probing questions, and critical comments are greatly
            appreciated.
          
          You can download the source code for all 76 Verilog 
            examples in this book by going to URL listed in the book. There are also instructional tips and resources available for instructors who adopt the book. 
          Richard E. Haskell
            Darrin M. Hanna