This book provides a hands-on introduction to Verilog synthesis and FPGA programming through a "learn by doing" approach. The author demonstrates easy-to-understand templates for code development and the numerous practical examples. The reader can develop and simulate a sophisticated digital circuit, realize it on a prototyping device, and verify the operation of its physical implementation. The book contains a foundation along with rigorous examples for complex systems and helps prepare the reader for development tasks. The major revisions are:
Includes four general? purpose peripheral modules: multi-channel PWM (pulse width modulation), I2C controller, SPI controller, and XADC (Xilinx analog?-to-digital converter) controller Provides a music synthesizer constructed with a DDFS (direct digital frequency synthesis) module and an ADSR (attack?-decay?-sustain-release) envelop generator Expands the original video controller into a complete video subsystem that contains a video synchronization circuit, a test pattern generator, an OSD (on-screen display) controller, a sprite generator, and a frame buffer Introduces basic concepts of software-hardware co?-design with Xilinx MicroBlaze MCS soft?-core processor Provides an overview of bus interconnect and interface circuit Introduces basic embedded system software development