FPGARelated.com
Books

Digital Integrated Circuit Design Using Verilog and Systemverilog

Mehler, Ronald W. 2014

For those with a basic understanding of digital design, this book teaches the essential skills to design digital integrated circuits using Verilog and the relevant extensions of SystemVerilog. In addition to covering the syntax of Verilog and SystemVerilog, the author provides an appreciation of design challenges and solutions for producing working circuits. The book covers not only the syntax and limitations of HDL coding, but deals extensively with design problems such as partitioning and synchronization, helping you to produce designs that are not only logically correct, but will actually work when turned into physical circuits. Throughout the book, many small examples are used to validate concepts and demonstrate how to apply design skills.

This book takes readers who have already learned the fundamentals of digital design to the point where they can produce working circuits using modern design methodologies. It clearly explains what is useful for circuit design and what parts of the languages are only software, providing a non-theoretical, practical guide to robust, reliable and optimized hardware design and development.

  • Produce working hardware: Covers not only syntax, but also provides design know-how, addressing problems such as synchronization and partitioning to produce working solutions
  • Usable examples: Numerous small examples throughout the book demonstrate concepts in an easy-to-grasp manner
  • Essential knowledge: Covers the vital design topics of synchronization, essential for producing working silicon; asynchronous interfacing techniques; and design techniques for circuit optimization, including partitioning


Why Read This Book

You should read this book if you want a hands-on, synthesis-aware treatment of Verilog and the useful SystemVerilog extensions so you can produce RTL that not only functions logically but can be implemented in silicon or on an FPGA. It emphasizes practical design decisions — partitioning, synchronization, and common pitfalls — using many small examples that you can apply directly to real designs.

Who Will Benefit

Engineers with basic digital-design and HDL experience (students, FPGA/ASIC engineers) who need to write synthesizable Verilog/SystemVerilog and understand implementation issues.

Level: Intermediate — Prerequisites: Basic digital logic and finite-state machines, and introductory familiarity with Verilog or another HDL.

Get This Book

Key Takeaways

  • Write synthesizable Verilog and SystemVerilog that maps cleanly to gates and RTL.
  • Apply partitioning strategies to break designs into implementable blocks and understand the trade-offs.
  • Design and verify robust clock-domain crossings and synchronization between asynchronous domains.
  • Identify and avoid common HDL coding pitfalls that cause synthesis or timing failures.
  • Construct effective testbenches and use SystemVerilog features to simplify verification.
  • Incorporate basic DFT and implementation-aware constraints to ease downstream synthesis/place-and-route.

Topics Covered

  1. 1. Introduction and design flow overview
  2. 2. Review of digital logic and RTL design principles
  3. 3. Verilog syntax and modeling styles for synthesis
  4. 4. SystemVerilog enhancements relevant to design
  5. 5. Combinational and sequential design patterns
  6. 6. Finite-state machine design and encoding
  7. 7. Clocking, timing, and timing constraints
  8. 8. Clock domain crossing and synchronization techniques
  9. 9. Partitioning, hierarchy, and module interfacing
  10. 10. Design-for-testability and scan basics
  11. 11. Testbenches, assertions, and verification approaches
  12. 12. Practical examples and small case studies
  13. 13. Implementation considerations and synthesis gotchas
  14. Appendices: coding style guidelines and reference summaries

Languages, Platforms & Tools

VerilogSystemVerilogASIC (general)FPGA (general)ModelSim/QuestaSynopsys Design Compiler (conceptual)Cadence/Other RTL tools (conceptual)Xilinx Vivado / Intel Quartus (conceptual)

How It Compares

Covers similar ground to Samir Palnitkar's Verilog texts but offers more emphasis on SystemVerilog extensions and implementation challenges; compared to "SystemVerilog for Design" it is more applied toward producing synthesizable RTL and addressing partitioning/synchronization issues.

Related Books