FPGARelated.com
Books

SystemVerilog for Design Second Edition: A Guide to Using SystemVerilog for Hardware Design and Modeling

Stuart Sutherland 2006

In its updated second edition, this book has been extensively revised on a chapter by chapter basis. The book accurately reflects the syntax and semantic changes to the SystemVerilog language standard, making it an essential reference for systems professionals who need the latest version information. In addition, the second edition features a new chapter explaining the SystemVerilog "packages", a new appendix that summarizes the synthesis guidelines presented throughout the book, and all of the code examples have been updated to the final syntax and rerun using the latest version of the Synopsys, Mentor, and Cadance tools.


Why Read This Book

You will get a concise, hands-on guide to the SystemVerilog language as used for synthesizable RTL design, with practical examples and explicit synthesis guidance. The book focuses on the design subset of SystemVerilog (not verification), helping you write clearer, tool-friendly RTL and organize large codebases with packages and parameterization.

Who Will Benefit

FPGA/ASIC RTL designers and engineers who know Verilog and want to adopt SystemVerilog for cleaner, more maintainable, and synthesizable HDL code.

Level: Intermediate — Prerequisites: Solid understanding of digital logic and Verilog HDL (RTL coding, always blocks, nets/regs) and basic synthesis/FPGA toolflow concepts.

Get This Book

Key Takeaways

  • Use SystemVerilog's enhanced data types and operators to write clearer, less error-prone RTL
  • Implement synthesizable modules using interfaces, parameterization, and generate constructs
  • Organize and reuse code with packages, typedefs, and parameterized modules
  • Apply practical synthesis guidelines to avoid non-synthesizable constructs and tool pitfalls
  • Migrate existing Verilog designs to SystemVerilog while maintaining compatibility with major EDA tools
  • Debug and simulate SystemVerilog RTL effectively using examples targeted to common vendor tools

Topics Covered

  1. Introduction to SystemVerilog and its role in design
  2. SystemVerilog lexical elements, identifiers, and comments
  3. Data types: nets, variables, logic, regs, enums, structs, and unions
  4. Expressions, operators, and implicit conversions
  5. Procedural code: always blocks, initial blocks, and procedural assignments
  6. Modules, ports, parameterization, and generate constructs
  7. Interfaces and modports for cleaner module interconnects
  8. Arrays—packed/unpacked, memories, and multidimensional arrays
  9. Packages, typedefs, and code organization (new in 2nd ed.)
  10. Synthesis guidelines and common tool considerations (appendix summary)
  11. Examples and tool-specific notes for Synopsys, Mentor, and Cadence
  12. Reference material: syntax summary and migration tips

Languages, Platforms & Tools

SystemVerilogVerilogGeneric FPGA/ASIC RTL (tool-agnostic)FPGA flows (Xilinx/Altera) — conceptual guidance rather than device-specific recipesSynopsys (Design Compiler/VCS examples)Mentor (ModelSim/Questa examples)Cadence (NC-Verilog/Incisive examples)

How It Compares

Focuses on the synthesizable design subset unlike "SystemVerilog for Verification" (verification-focused); if you need a Verilog primer, Samir Palnitkar's "Verilog HDL" is more introductory but less SystemVerilog-focused.

Related Books