David Harris, James Stine, Rose Thompson, Sarah Harris

#RISC-V
#Linux
#SoC
#FPGA
#Computer_Design
#Chip_Design
#VLSI
#Operating_System
🧠 طراحی کامل RISC-V System-on-Chip از معماری تا اجرای Linux
⚙️ کتاب RISC-V System-On-Chip Design در نقطه اتصال Computer Architecture، Microarchitecture و Chip Design قرار داره. این کتاب با استفاده از معماری Open Source RISC-V و پیادهسازی کامل CORE-V Wally، مسیر طراحی، بهینهسازی، Verification و استفاده از یک Microprocessor در System-on-Chip را بهشکل عملی آموزش میده.
✨ ویژگیهای کلیدی
🧩 یک کاربرد و پیادهسازی واقعی از معماری Open Source RISC-V ارائه میده و مراحل طراحی Microprocessor و SoC را به مفاهیم عملی متصل میکنه.
⚙️ موضوعات Microarchitecture که کمتر آموزش داده میشن، شامل Pipeline، Bus، Cache، Branch Prediction، Virtual Memory، Floating-point، Cryptography و Peripheralها را بررسی میکنه.
🖥️ طراحی System را با CORE-V Wally، یک RISC-V System-on-Chip کاملاً عملیاتی، توضیح میده.
💻 برنامهنویسی و Debug کردن RISC-V با C و Assembly، طراحی و Verification با SystemVerilog، Synthesis، Benchmarking و Boot کردن Linux روی Simulator و FPGA را پوشش میده.
🌐 کد کامل Open Source کتاب از طریق Repository پروژه CORE-V Wally در GitHub ارائه شده است.
📘 توضیح کتاب
🏗️ کتاب RISC-V System-On-Chip Design ترکیبی از Computer Architecture، Microarchitecture و Chip Design ارائه میده. این اثر برای دورههای کارشناسی یا تحصیلات تکمیلی Microprocessor Design نوشته شده و یاد میده چطور Microprocessorها را طراحی و بهینهسازی کنی و آنها را داخل یک System-on-Chip به کار بگیری.
🎓 مطالب برای دانشجویان کارشناسی پیشرفته با پیشزمینه محدود قابلفهم طراحی شدهاند. مفاهیم موردنیاز از Operating System، VLSI و Memory Systemها در طول کتاب توضیح داده میشن و Mathematics دوره دبیرستان برای بیشتر مطالب کفایت میکنه. فصلهای Floating-point و Division بیشتر برای خوانندگانی جذاب هستن که به Computer Arithmetic علاقه دارن.
🧠 بخش زیادی از کتاب به Designهای دقیق و Trade-offهای Functional Blockهای داخل و اطراف Processor اختصاص داره. توضیحات کامل و خوشخوان، Sidebarها و استفاده گاهبهگاه از Humor و Cartoon، سبک آموزشی کتابهای Digital Design and Computer Architecture نوشته هریس و هریس را ادامه میدن.
🛠️ کتاب همراه با یک پیادهسازی Open Source ارائه میشه و در پایان فصلها مسئلههایی داره که امکان گسترش RISC-V Processor را به روشهای مختلف فراهم میکنن. خوانندگان با ابزارهای معاصر Design و Verification کار میکنن و ارتباط میان Architecture، Hardware Implementation و Software را میبینن.
💻 منابع جانبی شامل Repository کاملی در GitHub با SystemVerilog Code مربوط به Wally RISC-V SoC، Validation Code نوشتهشده با C و Assembly، کدهای Benchmarking و Boot کردن Linux، Labها، Slideها، Exerciseها و Figureهاست. منابع تکمیلی در وبسایت نویسندگان به نشانی ddcabook.com نیز در دسترس قرار دارن.
📌 فصلهای ۲۰ تا ۲۳ و ضمیمههای A تا D و F در نسخه چاپی قرار نگرفتهاند، اما در Companion Site قابلدسترسی هستن. این فصلها و ضمیمهها در نسخه Electronic کتاب هم ارائه شدهاند.
🎯 بعد از مطالعه کتاب، میتونی Microprocessorها و System-on-Chipها را براساس RISC-V طراحی، تحلیل و بهینهسازی کنی، اجزای مختلف سیستم را با SystemVerilog پیادهسازی و Verify کنی و یک سیستم کامل را برای Benchmarking و اجرای Linux روی Simulator یا FPGA آماده کنی.
🎯 چیزهایی که یاد میگیری
🧠 با معماری Open Source RISC-V و تاریخچه Computer Design آشنا میشی.
💻 یاد میگیری RISC-V را با C و Assembly برنامهنویسی و Debug کنی.
⚙️ میتونی Pipelined Core، Bus Interface، Cache و Memory Management Unit طراحی کنی.
🔀 با Branch Prediction، Instruction Fetch، Load/Store و Privileged Operationها آشنا میشی.
🧮 Extensionهای Multiply، Divide، Floating-point، Atomic و Compressed را درک میکنی.
🔐 یاد میگیری Bit Manipulation و Cryptography Extensionها چطور در RISC-V پیادهسازی میشن.
🛠️ میتونی SystemVerilog Design، Debug، Verification و Logic Synthesis انجام بدی.
🐧 یاد میگیری سیستم را Benchmark کنی و Linux را روی Simulator و FPGA اجرا کنی.
👤 این کتاب برای چه کسانیه؟
🎓 این کتاب برای دورههای کارشناسی و تحصیلات تکمیلی Microprocessor Design مناسبه و بهطور خاص برای دانشجویان کارشناسی پیشرفته با پیشزمینه محدود نوشته شده است.
💻 دانشجویان و متخصصانی که به Computer Architecture، Microarchitecture، VLSI، Memory Architecture، Electronic Design Automation، RISC-V، FPGA و SoC Design علاقه دارن، میتونن از مطالب و پیادهسازی عملی کتاب استفاده کنن.
📌 Mathematics دوره دبیرستان برای بیشتر فصلها کافیه و مفاهیم لازم از Operating System، VLSI و Memory Systemها در خود کتاب توضیح داده میشن. فصلهای Floating-point و Division بیشتر برای افرادی مناسب هستن که به Computer Arithmetic علاقه ویژهای دارن.
📖 فهرست مطالب
فصل ۱. تاریخچهای کوتاه از Computer Design
فصل ۲. مقدمهای بر RISC-V
فصل ۳. جریان ابزارهای Software در RISC-V
فصل ۴. شیوههای طراحی HDL
فصل ۵. Design Verification
فصل ۶. Logic Synthesis
فصل ۷. Pipelined Core
فصل ۸. Privileged Operationها
فصل ۹. Bus Interface
فصل ۱۰. Cacheها
فصل ۱۱. Memory Management Unit
فصل ۱۲. Load/Store Unit
فصل ۱۳. Instruction Fetch Unit
فصل ۱۴. Extension C؛ Compressed
فصل ۱۵. Extension M؛ Multiply و Divide
فصل ۱۶. Extensionهای F/D/Q/Zfh/Zfa؛ Floating-point
فصل ۱۷. Extension A؛ Atomic
فصل ۱۸. Extensionهای Zb* و Zk*؛ Bit Manipulation و Cryptography
فصل ۱۹. Extensionهای دیگر
فصل ۲۰. Peripheralها
فصل ۲۱. Benchmarking
فصل ۲۲. Linux
فصل ۲۳. پیادهسازی FPGA
ضمیمه A. خلاصه Wally
ضمیمه B. راهنمای Hitchhiker برای Linux
ضمیمه C. Version Control با Git
ضمیمه D. کتاب جنگافزارهای Tcl
ضمیمه F. پیادهسازی Floating-point
📝 نقد و بررسی
💭 «به خوانندگان کمک میکنه نحوه طراحی Microprocessorها و System-on-Chipها را با استفاده از معماری Open Source مجموعه دستورهای RISC-V یاد بگیرن.»
👤 درباره نویسندگان
🏛️ دیوید هریس، Harvey S. Mudd Professor of Engineering Design در Harvey Mudd College است.
🎓 او مدرک Ph.D. خود را در رشته Electrical Engineering از Stanford University و مدرک M.Eng. خود را در Electrical Engineering and Computer Science از MIT دریافت کرده است.
🔬 دیوید پیش از تحصیل در Stanford، در Intel بهعنوان Logic و Circuit Designer روی Processorهای Itanium و Pentium II فعالیت داشت. پس از آن نیز با Sun Microsystems، Hewlett-Packard، Broadcom و شرکتهای طراحی دیگه همکاری مشاورهای داشته است.
📚 او بیش از دوازده Patent داره و نویسنده سه Textbook دیگه درباره Chip Design و تعداد زیادی Hiking Guidebook درباره Southern California است.
✈️ دیوید در اوقات فراغت به Hiking، پرواز و ساخت وسایل مختلف همراه با سه پسرش علاقه داره.
🧮 جیمز استاین، Edward Joullian Professor of Engineering در Oklahoma State University است.
🔍 حوزه پژوهشی او شامل Computer Arithmetic، Memory Architecture و جریان طراحی Electronic Design Automation یا EDA میشه.
✍️ او مقالههای متعددی درباره بهینهسازی Architectureها برای Computer Arithmetic و ارتباط با Memory Architectureها نوشته است.
📚 جیمز استاین نویسنده سه کتاب Digital Datapath Computer Arithmetic with Verilog، Adder Architectures for VLSI Implementations و System on Chip Design Flow and Standard-Cell Library است.
🎓 سارا ال. هریس، Assistant Professor of Engineering در Harvey Mudd College است.
📚 او مدارک Ph.D. و M.S. خود را در رشته Electrical Engineering از Stanford University دریافت کرده است. سارا پیش از ورود به Stanford، مدرک B.S. خود را در Electrical and Computer Engineering از Brigham Young University گرفت.
🏢 او سابقه همکاری با Hewlett-Packard، San Diego Supercomputer Center، Nvidia و Microsoft Research در Beijing را داره.
🧪 فعالیتهای اخیر سارا شامل پژوهش درباره Sketching Interfaceها برای Digital Circuit Design، فعالیت بهعنوان Science Correspondent برای یکی از مجموعههای وابسته به National Public Radio و یادگیری Kite Surfing میشه.
🎸 او به Teaching، کشف و توسعه فناوریهای جدید، Travel، Wind Surfing، Rock Climbing و نواختن Guitar علاقه داره. سارا به چهار زبان صحبت میکنه و مشتاقه در آینده زبانهای بیشتری یاد بگیره.
🖥️ رز تامپسون، Processor Architect در Skyworks Solutions, Inc. است.
🎓 او مدرک Ph.D. خود را در Electrical Engineering از Oklahoma State University و دو مدرک B.S. در Electrical Engineering و Computer Engineering از University of Washington دریافت کرده است.
🔬 رز تامپسون همچنین در Air Force Research Laboratory به طراحی Chip پرداخته است.
🛡️ علایق حرفهای او شامل SoC Design و Verification، Custom Instruction Set Architecture، Branch Prediction، Memory Systemها و Secure Computing میشه.
🎹 او در اوقات فراغت از Biking، Hiking، Rock Climbing و نواختن Piano لذت میبره.
RISC-V System-On-Chip Design fits at the nexus of computer architecture, microarchitecture, and chip design. It 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.
Ancillary materials include a GitHub repository with complete open-source SystemVerilog code for the fully-functional Wally RISC-V SoC, validation code in C and assembly language, code for benchmarking and booting Linux, labs, slides, exercises, and figures.
Please note that chapters 20-23 and Appendices A-D and F are not included in the print book but are available on the Companion Site at
https://shop.elsevier.com/books/book-companion/9780323994989. These chapters and appendices are also in the electronic version of the book.
Supplementary resources for the book are also available on a website hosted by the authors at: ddcabook.com.
Helps readers learn how to design microprocessors and systems-on-chip using the open source RISC-V instruction set architecture
RISC-V Microprocessor System-On-Chip Design is intended for a graduate or undergraduate course in microprocessor design. The reader will learn to design and optimize microprocessors and use them in a system-on-chip, applying contemporary design and verification tools. Much of the book describes detailed designs and tradeoffs for the functional blocks in and around a processor. RISC-V Microprocessor System-On-Chip Design is written to be accessible to an advanced undergraduate audience with limited background and will explain concepts from operating systems, VLSI, and memory systems as necessary. 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. The book comes with an open-source implementation and will include end-of-chapter problems to extend the RISC-V processor in various ways. Ancilliary 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.
Table of Contents
Chapter 1. A Brief History of Computer Design
Chapter 2. Introduction to RISC-V
Chapter 3. RISC-V Software Tool Flow
Chapter 4. HDL Design Practices
Chapter 5. Design Verification
Chapter 6. Logic Synthesis
Chapter 7. Pipelined Core
Chapter 8. Privileged Operations
Chapter 9. Bus Interface
Chapter 10. Caches
Chapter 11. Memory Management Unit
Chapter 12. Load/Store Unit
Chapter 13. Instruction Fetch Unit
Chapter 14. Extensions: C (Compressed)
Chapter 15. Extensions: M (Multiply and Divide)
Chapter 16. Extensions: F/D/Q/Zfh/Zfa (Floating-Point)
Chapter 17. Extensions: A (Atomic)
Chapter 18. Extensions: Zb* & Zk* (Bit Manipulation and Cryptography)
Chapter 19. Other Extensions
Chapter 20. Peripherals
Chapter 21. Benchmarking
Chapter 22. Linux
Chapter 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 F. Floating-Point Implementation
David Harris is the Harvey S. Mudd Professor of Engineering Design at Harvey Mudd College. He received his Ph.D. in electrical engineering from Stanford University and his M.Eng. in electrical engineering and computer science from MIT. Before attending Stanford, he worked at Intel as a logic and circuit designer on the Itanium and Pentium II processors. Since then, he has consulted at Sun Microsystems, Hewlett-Packard, Broadcom, and other design companies. David holds more than a dozen patents and is the author of three other textbooks on chip design, as well as many Southern California hiking guidebooks. When he is not working, he enjoys hiking, flying, and making things with his three sons.
James Stine is the Edward Joullian Professor of Engineering at Oklahoma State University. His area of research is in computer arithmetic, memory architectures, and Electronic Design Automation (EDA) design flow. He is the author of numerous articles on optimization of architectures for use with computer arithmetic as well as interfacing to memory architectures. He is the author of three texts: Digital Datapath Computer Arithmetic with Verilog, Adder Architectures for VLSI Implementations and System on Chip Design Flow and Standard-Cell Library.
Sarah L. Harris is an Assistant Professor of Engineering at Harvey Mudd College. She received her Ph.D. and M.S. in Electrical Engineering from Stanford University. Before attending Stanford, she received a B.S. in Electrical and Computer Engineering from Brigham Young University. Sarah has also worked with Hewlett-Packard, the San Diego Supercomputer Center, Nvidia, and Microsoft Research in Beijing.
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.
Rose Thompson is a processor architect at Skyworks Solutions, Inc. She received her Ph.D. in Electrical Engineering from Oklahoma State University and two B.S. degrees in Electrical Engineering and Computer Engineering from the University of Washington. She has also designed chips at the Air Force Research Laboratory. Her professional interests include SoC design and verification, custom instruction set architectures, branch prediction, memory systems, and secure computing. Rose also enjoys biking, hiking, rock climbing, and playing the piano.









