FPGARelated.com
Books

Logic Design and Verification Using SystemVerilog

Donald Thomas 2014

SystemVerilog is a Hardware Description Language that enables designers to work at the higher levels of logic design abstractions that match the increased complexity of current day integrated circuit and field-programmable gate array (FPGA) designs. The majority of the book assumes a basic background in logic design and software programming concepts. It is directed at: • students currently in an introductory logic design course that also teaches SystemVerilog, • designers who want to update their skills from Verilog or VHDL, and • students in VLSI design and advanced logic design courses that include verification as well as design topics. The book starts with a tutorial introduction on hardware description languages and simulation. It proceeds to the register-transfer design topics of combinational and finite state machine (FSM) design — these mirror the topics of introductory logic design courses. The book covers the design of FSM-datapath designs and their interfaces, including SystemVerilog interfaces. Then it covers the more advanced topics of writing testbenches including using assertions and functional coverage. A comprehensive index provides easy access to the book’s topics. The goal of the book is to introduce the broad spectrum of features in the language in a way that complements introductory and advanced logic design and verification courses, and then provides a basis for further learning.


Why Read This Book

You should read this book if you need a practical, classroom-tested introduction to SystemVerilog that bridges RTL design and verification. It walks you from language basics to building realistic testbenches and using assertions and coverage, so you can apply SystemVerilog to both FPGA/ASIC design and verification workflows.

Who Will Benefit

Undergraduate students and working FPGA/RTL designers who know basic digital logic and want to learn SystemVerilog for modern RTL coding and verification practices.

Level: Intermediate — Prerequisites: Basic digital logic and RTL concepts (combinational/sequential logic, FSMs) and familiarity with a hardware description language or basic programming concepts.

Get This Book

Key Takeaways

  • Write synthesizable SystemVerilog RTL for combinational and sequential circuits using modern constructs
  • Construct structured testbenches using SystemVerilog testbench features (modules, interfaces, tasks/functions)
  • Apply SystemVerilog Assertions (SVA) to catch functional bugs and express temporal properties
  • Use functional coverage and constrained-random techniques to create effective verification scenarios
  • Differentiate synthesisable vs. simulation-only constructs and prepare code for FPGA tool flows
  • Debug designs with simulation best practices and understand interactions between RTL, testbench, and simulator

Topics Covered

  1. Introduction to Hardware Description Languages and Simulation
  2. SystemVerilog Data Types, Operators, and Expressions
  3. Modules, Ports, and Structural Modeling
  4. RTL Design: Combinational and Sequential Coding Styles
  5. Finite State Machines and Design Methodology
  6. Synthesis Considerations and Coding for FPGAs
  7. SystemVerilog Testbench Fundamentals (tasks, functions, initial/always)
  8. Interfaces and Modularity for Testbenches and Designs
  9. SystemVerilog Assertions (SVA) and Temporal Properties
  10. Classes and Object-Oriented Features for Verification
  11. Constrained Randomization and Functional Coverage
  12. Simulation, Debugging, and Mixed-Language Considerations
  13. Advanced Verification Topics and Case Studies

Languages, Platforms & Tools

SystemVerilogVerilogVHDL (comparative mentions)FPGA (general)ASIC (general)ModelSim/QuestaSynopsys VCSCadence Incisive/XceliumXilinx Vivado (synthesis/implementation guidance)Intel Quartus (synthesis/implementation guidance)

How It Compares

Covers similar ground to Sutherland et al.'s "SystemVerilog for Design" for RTL-focused readers but places more emphasis on verification concepts (assertions/coverage) than older pure-design texts; complements Chris Spear's "SystemVerilog for Verification" which dives deeper into verification infrastructure like UVM.

Related Books