RISC-V System-on-Chip Design
- 1st Edition - March 13, 2026
- Latest edition
- Authors: David Harris, James Stine, Sarah Harris, Rose Thompson
- Language: English
RISC-V Microprocessor System-On-Chip Design is written to be accessible to an advanced undergraduate audience with limited background. It explains concepts from operating systems,… Read more
RISC-V Microprocessor System-On-Chip Design is written to be accessible to an advanced undergraduate audience with limited background. It explains concepts from operating systems, VLSI, and memory systems as necessary, and High school mathematics is sufficient preparation for most of the book, although the floating point and division chapters will be primarily of interest to those with a curiosity about computer arithmetic. Like Harris and Harris’s Digital Design and Computer Architecture textbooks, this book will appeal to students with easy-to-read and complete explanations, sidebars, and occasional humor and cartoons.
It comes with an open-source implementation and will include end-of-chapter problems to extend the RISC-V processor in various ways. Ancillary materials include a GitHub repository with complete open-source SystemVerilog code, validation code in C and assembly language, and code for benchmarking and booting Linux.
- Covers detailed design for all components of a nontrivial microprocessor
- Provides detailed explanations on the implementation of RISC-V microprocessors
- Uses open-source SystemVerilog code and test cases for the entire processor, including single-issue and superscalar cores, multicore, all extensions (including multiplication/division, floating point, and atomic memory operations), and common peripherals
- Enables users to build scripts to implement the processor on the open-source Skywater process
How to Use This Book
Acknowledgements
About the Authors
Foreword
01. A Brief History of Computer Design
02. Introduction to RISC-V
03. RISC-V Software Tool Flow
04. HDL Design Practices
05. Design Verification
06. Logic Synthesis
07. Pipelined Core
08. Privileged Operations
09. Bus Interface
10. Caches
11. Memory Management Unit
12. Load/Store Unit
13. Instruction Fetch Unit
14. Extensions: C (Compressed)
15. Extensions: M (Multiply and Divide)
16. Extensions: F/D/Q/Zfh/Zfa (Floating-Point)
17. Extensions: A (Atomic)
18. Extensions: Zb* and Zk* (Bit Manipulation and Cryptography)
19. Other Extensions
20. Peripherals
21. Benchmarking
22. Linux
23. FPGA Implementation
Appendix A Wally Synopsis
Appendix B Hitchhiker’s Guide to Linux
Appendix C Version Control using Git
Appendix D Tcl Book of Armaments
Appendix E Floating-Point Implementation
Bibliography
Index
- Edition: 1
- Latest edition
- Published: March 13, 2026
- Language: English
DH
David Harris
JS
James Stine
SH
Sarah Harris
Sarah loves teaching, exploring and developing new technologies, traveling, wind surfing, rock climbing, and playing the guitar. Her recent exploits include researching sketching interfaces for digital circuit design, acting as a science correspondent for a National Public Radio affiliate, and learning how to kite surf. She speaks four languages and looks forward to learning more in the near future.