FPGARelated.com
Books

FPGA Prototyping by SystemVerilog Examples: Xilinx MicroBlaze MCS SoC Edition

Pong P. Chu 2018

A hands-on introduction to FPGA prototyping and SoC design

This is the successor edition of the popular FPGA Prototyping by Verilog Examples text. It follows the same “learning-by-doing” approach to teach the fundamentals and practices of HDL synthesis and FPGA prototyping. The new edition 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 the strict design guidelines and coding practices used for large, complex digital systems.

The book is completely updated and uses the SystemVerilog language, which “absorbs” the Verilog language. 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 new 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) envelope 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.
  • Provides a detailed discussion on blocking and nonblocking statements and coding styles.
  • Describes basic concepts of software-hardware co-design with Xilinx MicroBlaze MCS soft-core processor.
  • Provides an overview of bus interconnect and interface circuit.
  • Presents basic embedded system software development.
  • Suggests additional modules and peripherals for interesting and challenging projects.

FPGA Prototyping by SystemVerilog Examples makes a natural companion text for introductory and advanced digital design courses and embedded system courses. 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 hands‑on, example-driven path from gate-level SystemVerilog to a working MicroBlaze-based SoC on a Xilinx FPGA, learning the full flow from RTL to bitstream and embedded software. The book emphasizes practical labs, IP/core integration, and real tool workflows so you can prototype, verify, and debug functioning hardware/software systems rather than just study theory.

Who Will Benefit

Students and practicing engineers with some digital design background who want to learn SystemVerilog-based FPGA prototyping and how to integrate custom IP into a Xilinx MicroBlaze SoC for real embedded applications.

Level: Intermediate — Prerequisites: Basic digital logic (combinational and sequential circuits), familiarity with programming (C recommended for embedded software), and some exposure to hardware description languages or digital design concepts.

Get This Book

Key Takeaways

  • Write and simulate synthesizable SystemVerilog RTL for real FPGA implementations.
  • Use Xilinx Vivado and associated tools to synthesize, implement, and generate bitstreams for FPGA boards.
  • Design, build, and integrate custom IP/peripherals into a MicroBlaze MCS SoC and connect them via bus interfaces.
  • Perform hardware/software co‑design: build MicroBlaze firmware in C, load it onto the FPGA, and debug the combined system.
  • Apply testbench-driven verification techniques to validate RTL and system behavior before hardware prototyping.
  • Adapt FPGA design patterns for DSP and high‑performance datapaths and learn practical tradeoffs for resource, timing, and throughput.

Topics Covered

  1. Introduction to FPGA Prototyping and SoC Concepts
  2. SystemVerilog Essentials and Simulation Basics
  3. Combinational Logic Examples and Synthesis
  4. Sequential Logic, Registers, and FSM Design
  5. Data Path Construction and Register-Transfer Design
  6. Memory, FIFOs, and Bus Interfacing
  7. Designing and Verifying IP Cores and Peripherals
  8. Xilinx Vivado Design Flow: Synthesis, P&R, Bitstream
  9. MicroBlaze MCS SoC Integration and BSP Setup
  10. Hardware/Software Co‑Design and Debugging (SDK/Vitis, GDB)
  11. FPGA-based DSP Examples and Performance Considerations
  12. Lab Exercises, Project: Complete SoC Prototype, and Appendices

Languages, Platforms & Tools

SystemVerilogCXilinx FPGAs (7-series and similar families)MicroBlaze MCS SoCGeneric FPGA prototyping boards (Digilent/Nexys/Basys style — Xilinx-based)Xilinx VivadoXilinx SDK / Vitis (firmware development)ModelSim / QuestaSim (simulation)Vivado HLS (overview / optional)GNU toolchain for MicroBlaze

How It Compares

Similar in hands-on spirit to Chu's earlier "FPGA Prototyping by Verilog Examples" but updated for SystemVerilog and focused on MicroBlaze SoC integration; more practical and tool-centered than theory-first texts such as typical digital design textbooks.

Related Books