![]()
编辑推荐 继MIPS版和ARM版之后,本书与时俱进地推出了RISC-V版。本书从计算机体系结构的角度,由最基础的二进制数开始,系统介绍数字逻辑设计的基础知识,引导读者逐步了解RISC-V微处理器的设计,并在硬件仿真、软件仿真和真实硬件中对其进行编程。 通过将轻松的写作风格和数字设计的实践方法相结合,本书引领读者从数字逻辑的基础知识开始,逐步学习真实的处理器设计。希望读者通过阅读本书,能够设计出自己的RISC-V微处理器,并对其工作原理有自顶向下的理解。 本书从数字逻辑门开始,逐步深入到组合电路和时序电路的设计,并利用这些基本构件作为设计RISC-V处理器的基础。全书包含大量实例,并列讲解基本功能模块的SystemVerilog和VHDL设计,并完整地讨论了单周期、多周期和流水线版本的RISC-V体系结构的实现方法。 内容推荐 继MIPS版和ARM版之后,本书与时俱进地推出了RISC-V版。全书从计算机体系结构的角度介绍数字逻辑设计的基础知识,从基本的二进制数开始,详细讨论RISC-V处理器的设计原则、技术与方法。本书首先介绍数字逻辑门,接着讲解组合电路和时序电路的设计,并以这些基本的数字逻辑设计概念为基础,重点介绍如何设计真实的处理器。书中包含大量示例,并分别用SystemVerilog和VHDL给出相应数字系统设计的实现。本书不仅反映了当前数字电路设计的主流方法,而且突出了计算机体系结构的工程特点,适合高等院校计算机相关专业的学生阅读,也适合从事处理器设计的技术人员参考。 目录 译者序 前言 第1章 数字系统 1 1.1 写在最前面 1 1.2 管理复杂性的技术 1 1.2.1 抽象 1 1.2.2 准则 2 1.2.3 三Y原则 3 1.3 数字抽象 3 1.4 数制系统 4 1.4.1 十进制数 4 1.4.2 二进制数 5 1.4.3 十六进制数 6 1.4.4 字节、半字和字 7 1.4.5 二进制加法 8 1.4.6 有符号二进制数 8 1.5 逻辑门 11 1.5.1 非门 11 1.5.2 缓冲器 11 1.5.3 与门 11 1.5.4 或门 12 1.5.5 其他二输入逻辑门 12 1.5.6 多输入逻辑门 12 1.6 数字抽象的相关概念 13 1.6.1 电源电压 13 1.6.2 逻辑电平 13 1.6.3 噪声容限 14 1.6.4 直流传输特性 14 1.6.5 静态准则 15 1.7 CMOS晶体管* 16 1.7.1 半导体 16 1.7.2 二极管 17 1.7.3 电容 17 1.7.4 nMOS和pMOS晶体管 17 1.7.5 CMOS非门 19 1.7.6 其他CMOS逻辑门 19 1.7.7 传输门 21 1.7.8 伪nMOS逻辑 21 1.8 功耗* 21 1.9 本章总结和后续章节概览 23 习题 23 面试题 29 第2章 组合逻辑设计 30 2.1 引言 30 2.2 布尔表达式 32 2.2.1 术语 32 2.2.2 与或式 32 2.2.3 或与式 33 2.3 布尔代数 34 2.3.1 公理 34 2.3.2 单变量定律 34 2.3.3 多变量定律 35 2.3.4 定律的统一证明方法 36 2.3.5 表达式化简 37 2.4 从逻辑到门 37 2.5 多级组合逻辑 39 2.5.1 逻辑门量的精简 39 2.5.2 推气泡法 40 2.6 非法值和浮空值 42 2.6.1 非法值X 42 2.6.2 浮空值Z 42 2.7 卡诺图 43 2.7.1 画圈的原理 44 2.7.2 用卡诺图最小化逻辑 44 2.7.3 无关项 46 2.7.4 小结 47 2.8 组合逻辑模块 47 2.8.1 多路选择器 47 2.8.2 译码器 50 2.9 时序 50 2.9.1 传输延迟和最小延迟 50 2.9.2 毛刺 53 2.10 本章总结 54 习题 55 面试题 59 第3章 时序逻辑设计 60 3.1 引言 60 3.2 锁存器和触发器 60 3.2.1 SR锁存器 61 3.2.2 D锁存器 62 3.2.3 D触发器 63 3.2.4 寄存器 63 3.2.5 带使能端的触发器 63 3.2.6 带复位功能的触发器 64 3.2.7 晶体管级的锁存器和触发器设计* 64 3.2.8 小结 65 3.3 同步逻辑设计 66 3.3.1 问题电路 66 3.3.2 同步时序电路 67 3.3.3 同步和异步电路 68 3.4 有限状态机 68 3.4.1 有限状态机设计实例 69 3.4.2 状态编码 72 3.4.3 Moore型和Mealy型状态机 73 3.4.4 状态机的分解 76 3.4.5 由电路图导出有限状态机 77 3.4.6 小结 79 3.5 时序逻辑电路的时序 79 3.5.1 动态准则 80 3.5.2 系统时序 80 3.5.3 时钟偏移* 83 3.5.4 亚稳态 85 3.5.5 同步器 86 3.5.6 分辨时间的推导* 87 3.6 并行 89 3.7 本章总结 91 习题 92 面试题 96 第4章 硬件描述语言 97 4.1 引言 97 4.1.1 模块 97 4.1.2 语言起源 98 4.1.3 仿真与综合 99 4.2 组合逻辑 100 4.2.1 位运算符 100 4.2.2 注释和空白字符 102 4.2.3 归约运算符 102 4.2.4 条件赋值 103 4.2.5 内部变量 105 4.2.6 优先级 106 4.2.7 数字 107 4.2.8 Z和X 108 4.2.9 位混合 109 4.2.10 延迟 109 4.3 结构建模 110 4.4 时序逻辑 113 4.4.1 寄存器 113 4.4.2 可复位寄存器 115 4.4.3 使能寄存器 116 4.4.4 多寄存器 117 4.4.5 锁存器 117 4.5 更多组合逻辑 118 4.5.1 case 语句 120 4.5.2 if语句 122 4.5.3 含无关项的真值表 123 4.5.4 阻塞和非阻塞赋值 124 4.6 有限状态机 127 4.7 数据类型* 130 4.7.1 System Verilog 130 4.7.2 VHDL 131 4.8 参数化模块* 133 4.9 测试平台 136 4.10 本章总结 139 习题 139 System Verilog 习题 142 VHDL习题 145 面试题 146 第5章 常见数字模块 147 5.1 引言 147 5.2 算术电路 147 5.2.1 加法 147 5.2.2 减法 153 5.2.3 比较器 153 5.2.4 算术逻辑单元 155 5.2.5 移位器和循环移位器 158 5.2.6 乘法* 159 5.2.7 除法* 159 5.2.8 扩展材料 160 5.3 数制系统 161 …… |