FPGA Prototyping by VHDL Examples: Xilinx MicroBlaze MCS SoC
A hands-on introduction to FPGA prototyping and SoC design
This Second Edition of the popular book follows the same “learning-by-doing” approach to teach the fundamentals and practices of VHDL synthesis and FPGA prototyping. It uses a coherent series of examples to demonstrate the process to develop sophisticated digital circuits and IP (intellectual property) cores, integrate them into an SoC (system on a chip) framework, realize the system on an FPGA prototyping board, and verify the hardware and software operation. The examples start with simple gate-level circuits, progress gradually through the RT (register transfer) level modules, and lead to a functional embedded system with custom I/O peripherals and hardware accelerators. Although it is an introductory text, the examples are developed in a rigorous manner, and the derivations follow strict design guidelines and coding practices used for large, complex digital systems.
The new edition is completely updated. It presents the hardware design in the SoC context and introduces the hardware-software co-design concept. Instead of treating examples as isolated entities, the book integrates them into a single coherent SoC platform that allows readers to explore both hardware and software “programmability” and develop complex and interesting embedded system projects. The revised edition:
- Adds four general-purpose IP cores, which are multi-channel PWM (pulse width modulation) controller, I2C controller, SPI controller, and XADC (Xilinx analog-to-digital converter) controller.
- Introduces 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 stream-based video subsystem that incorporates 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.
- Suggests additional modules and peripherals for interesting and challenging projects.
The FPGA Prototyping by VHDL Examples, Second Edition makes a natural companion text for introductory and advanced digital design courses and embedded system course. It also serves as an ideal self-teaching guide for practicing engineers who wish to learn more about this emerging area of interest.
Why Read This Book
You will get a practical, hands‑on introduction to VHDL synthesis and FPGA prototyping that walks you from gate‑level circuits to a complete MicroBlaze-based system-on-chip. The book emphasizes learning‑by‑doing with worked examples, lab exercises, and clear toolflow guidance so you can build, simulate, synthesize, and deploy custom IP on Xilinx FPGAs.
Who Will Benefit
Engineers and students who want a project-driven path from digital logic and VHDL basics to building and integrating custom peripherals and accelerators into a Xilinx MicroBlaze SoC.
Level: Intermediate — Prerequisites: Basic digital logic and finite state machine concepts, some programming experience (C or similar). Familiarity with VHDL is helpful but not required; no prior FPGA experience needed.
Key Takeaways
- Write synthesizable VHDL for combinational and sequential RTL modules and test them with simulations
- Implement common digital building blocks (state machines, counters, arithmetic units, memory interfaces) on an FPGA
- Integrate custom VHDL IP into a Xilinx MicroBlaze MCS SoC and connect peripherals via common bus interfaces
- Use the Xilinx toolchain (Vivado and SDK) to synthesize, implement, bitstream, and debug FPGA designs with embedded software
- Design and prototype simple hardware accelerators for DSP/IO tasks and perform hardware/software co‑verification
- Follow reproducible lab exercises to move from conceptual design to a working embedded system on an FPGA board
Topics Covered
- Introduction to FPGA Prototyping and SoC Design
- Review of Digital Logic and Number Systems
- VHDL Fundamentals: Syntax, Data Types, and Testbenches
- Combinational and Sequential Circuit Design in VHDL
- Finite State Machines and Control Logic
- Arithmetic Units and Implementation of DSP Primitives
- Memory, FIFOs, and Timing Considerations
- Design for Synthesis: Coding Styles and Constraints
- MicroBlaze MCS Soft Processor: Architecture and Setup
- Creating Custom Peripherals and IP Cores in VHDL
- Bus Interfaces and Interconnects (AXI/Local Bus Concepts)
- Software Development for Embedded Systems (C/Assembly) and HW/SW Integration
- System Integration, Implementation, and Board‑Level Bring‑up
- Debugging and Verification Techniques (Simulation, Logic Analyzer)
- Laboratory Projects, Example Designs, and Appendices (VHDL reference, tool notes)
Languages, Platforms & Tools
How It Compares
Complementary to Chu's own Verilog edition (FPGA Prototyping by Verilog Examples) but focused on VHDL and the MicroBlaze toolflow; compared with Harris & Harris's Digital Design texts, this book is more tool‑ and lab‑oriented and less theoretical.












