《基于FPGA的硬件系统设计实验与实践教程》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:姚爱红,张国印,武俊鹏主编
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2011
  • ISBN:9787302245377
  • 页数:285 页
图书介绍:本书配合大量实例与实际操作说明介绍了计算机硬件系统组织以及数字电路设计方法。

第1章 可编程逻辑器件简介 1

1.1 可编程逻辑器件概述 1

1.1.1 可编程逻辑器件的发展历程 2

1.1.2 可编程逻辑器件的分类方法 5

1.2 可编程逻辑器件的设计流程 6

1.3 FPGA发展概况 9

1.3.1 FPGA的主要优势与发展前景 9

1.3.2 主流FPGA产品及供应商简介 9

习题1 11

第2章 Verilog HDL基础 12

2.1 前言 12

2.2 程序示例 12

2.3 模块 14

2.3.1 模块的结构 14

2.3.2 模块的实例化 15

2.4 变量和信号的类型 16

2.5 Verilog HDL表达式 17

2.5.1 常量 17

2.5.2 操作符 18

2.6 Verilog HDL的主要功能语句 19

2.6.1 Verilog HDL对硬件的描述方式 19

2.6.2 数据流描述 20

2.6.3 行为描述——过程块 20

2.7 其他语法规则说明 24

2.7.1 标识符命名原则 24

2.7.2 标点的使用 25

2.7.3 注释 25

2.7.4 转义字符 25

2.7.5 编译命令 25

2.7.6 参数 26

2.8 示例程序分析 26

2.9 推荐阅读 27

习题2 27

第3章 实验环境介绍 28

3.1 EDA软件工具介绍 28

3.1.1 集成的FPGA开发环境 28

3.1.2 ModelSim介绍 30

3.1.3 Synplify简介 30

3.2 FPGA典型实验开发平台简介 31

3.2.1 康芯GW48-SoPC实验台 31

3.2.2 Xilinx XUP Spartan板 31

3.3 实验仪器的使用方法 32

3.3.1 函数信号发生器 32

3.3.2 数字存储示波器 32

3.3.3 逻辑分析仪 33

3.4 熟悉实验环境 33

3.4.1 实验目的 34

3.4.2 实验内容 34

3.4.3 实验步骤 34

习题3 45

第4章 基本组合逻辑电路设计 47

4.1 组合逻辑电路基础知识 47

4.1.1 组合逻辑电路的分析方法 47

4.1.2 组合逻辑电路分析举例 48

4.1.3 组合逻辑电路的设计方法 48

4.2 数据比较器 49

4.2.1 数据比较器的功能 49

4.2.2 比较器电路的设计 49

4.3 数据选择器 53

4.3.1 四选一数据选择器 53

4.3.2 四选一数据选择器的设计 53

4.3.3 数据选择器的应用 58

4.4 二进制加法器 59

4.4.1 半加器 59

4.4.2 全加器 61

4.5 编码/译码器 64

4.5.1 BCD码编码器 64

4.5.2 BCD码译码器 67

实验4-1 用原理图输入法设计四位加法器 70

实验4-2 数码显示译码器 70

习题4 72

第5章 基本时序逻辑设计 73

5.1 时序逻辑电路的基础知识 73

5.2 触发器 74

5.2.1 RS触发器 74

5.2.2 D触发器 76

5.2.3 JK触发器与T触发器 77

5.3 时序逻辑电路的分析方法 79

5.3.1 同步时序电路的分析方法 79

5.3.2 异步时序电路的分析方法 80

5.4 常见的时序逻辑电路设计 82

5.4.1 移位寄存器 82

5.4.2 计数器 85

5.4.3 分频器 87

5.4.4 顺序脉冲发生器 91

5.4.5 阶乘运算器 94

实验5-1 可预置的加减计数器实验 96

实验5-2 扭环形计数器 97

习题5 98

第6章 有限状态机设计 99

6.1 状态的描述 99

6.1.1 整数编码状态 99

6.1.2 parameter语句声明状态 100

6.1.3 define编译引导语句 100

6.2 FSM的设计方法 101

6.2.1 Moore型FSM的设计 101

6.2.2 Mealy型FSM的设计 104

6.2.3 混合型FSM的设计 107

6.3 FSM的复位和毛刺问题 111

6.4 FSM设计示例 112

6.4.1 乘法器建模 112

6.4.2 序列检测器的设计 117

6.4.3 交通灯控制器的设计 119

实验6-1 设计序列检测器 123

习题6 124

第7章 加法器设计 126

7.1 定点加法器 126

7.1.1 进位链结构 126

7.1.2 串行进位 127

7.1.3 并行进位 129

7.2 浮点加法器 131

7.2.1 规格化浮点数加减运算基本原理 132

7.2.2 浮点加法器的设计 133

7.3 运算器(ALU)的设计 139

实验7-1 8位加法器的设计 143

实验7-2 16位超前进位加法器 144

习题7 145

第8章 乘、除法器的设计 146

8.1 常用的机器数编码格式 146

8.2 定点乘法器原理及实现 147

8.2.1 原码一位乘算法及实现 147

8.2.2 补码一位乘算法及实现 152

8.3 定点除法器原理及实现 157

8.3.1 原码不恢复余数除法 158

8.3.2 补码不恢复余数除法 162

8.4 快速乘法器 165

8.4.1 修正布斯算法 165

8.4.2 华莱士树结构 166

实验8-1 原码两位乘法器 169

实验8-2 补码两位乘法器 170

习题8 171

第9章 存储器建模 172

9.1 只读存储器ROM的建模 172

9.1.1 ROM的基本结构 172

9.1.2 ROM的建模 173

9.1.3 ROM的仿真测试 174

9.2 随机存储器RAM的建模 175

9.2.1 RAM的基本结构 175

9.2.2 RAM的建模 175

9.2.3 RAM的仿真测试 179

9.3 利用IP Core工具生成ROM和RAM 181

实验9-1 利用SRAM设计并实现FIFO 184

习题9 185

第10章 CPU的设计 186

10.1 CPU的基本组成 186

10.1.1 控制部件 186

10.1.2 运算部件 188

10.1.3 寄存器组 188

10.2 CPU设计的一般过程 188

10.3 HEU-R1处理器指令集的设计 189

10.3.1 指令格式 189

10.3.2 指令集的设计 190

10.4 HEU-R1内部数据通路的设计 191

10.5 时序系统的设计 192

10.6 HEU-R1各功能模块的设计 192

10.6.1 指令译码模块的设计 192

10.6.2 立即数生成模块 194

10.6.3 分支处理模块 194

10.6.4 地址生成模块 195

10.6.5 算术逻辑单元模块 196

10.6.6 寄存器组模块 197

10.6.7 CPU模块 198

10.7 仿真验证及结果 201

10.7.1 外围模块建模 201

10.7.2 系统复位 204

10.7.3 功能验证 204

实验10-1 HEU-R1处理器核的指令集扩展 207

习题10 208

第11章 数字电子时钟设计 209

11.1 数字钟功能需求说明 209

11.2 实验平台相关电路说明 209

11.2.1 7段数码管 210

11.2.2 外部按键 210

11.2.3 音频输出 211

11.3 数字钟系统的设计 212

11.4 数字钟各模块的设计 212

11.4.1 时钟分频模块 212

11.4.2 计时模块(包含按键控制) 213

11.4.3 音频输出模块 215

11.5 仿真验证 218

11.6 引脚设置 219

实验11-1 整点报时闹钟设计 219

习题11 220

第12章 VGA接口控制器 221

12.1 视频信号原理 221

12.2 数字视频图像的表示 223

12.3 VGA接口介绍 225

12.4 VGA信号时序 225

12.5 VGA接口控制器设计 227

12.5.1 VGASig模块 228

12.5.2 ColorMap模块 230

12.5.3 顶层模块 231

12.5.4 功能仿真 233

12.5.5 引脚设置 233

实验12-1 800×600分辨率VGA接口的设计 234

实验12-2 VGA动态图形显示控制 235

习题12 236

第13章 FIR数字滤波器设计 237

13.1 数字滤波器概述 237

13.2 FIR滤波器的结构 238

13.3 FDATool工具使用介绍 240

13.3.1 MATLAB简介 240

13.3.2 FDATool设计FIR滤波器的参数 240

13.4 窗函数法FIR滤波器的设计 242

13.4.1 窗函数的选择 243

1 3.4.2 窗函数法FIR滤波器的设计步骤 243

13.5 FIR滤波器的FPGA实现 244

13.5.1 滤波器系数的量化 244

13.5.2 16阶FIR滤波器的实现 245

13.5.3 在ModelSim中加入Altera仿真库 250

13.6 FIR滤波器的仿真验证 251

13.6.1 仿真数据文件的格式 251

13.6.2 测试平台程序的设计 252

13.6.3 仿真结果分析 254

实验13-1 低通FIR滤波器的设计 256

实验13-2 FIR滤波器的硬件实现及仿真 258

习题13 259

第14章 基于Nios的SoPC系统 260

14.1 SoPC技术概述 260

14.1.1 IP核与IP复用技术 261

14.1.2 片上总线 262

14.2 嵌入式微处理器核介绍 263

14.2.1 Altera Nios Ⅱ软核处理器 263

14.2.2 Xilinx MicroBlaze核 264

14.3 基于Nios的SoPC系统开发流程 266

14.4 基于Nios的跑马灯控制器的设计 267

14.4.1 基本SoPC系统硬件结构 267

14.4.2 JTAG UART IP核 268

14.5 跑马灯控制器的硬件实现 269

14.5.1 新建SoPC设计项目 269

14.5.2 各模块的设计 271

14.5.3 存储器地址和IRQ分配 275

14.5.4 NiosⅡ系统生成 275

14.5.5 SoPC系统生成 276

14.6 跑马灯控制器的软件设计 279

14.6.1 C源程序输入 280

14.6.2 代码优化 281

14.6.3 程序运行和下载 282

实验14-1 基于NiosⅡ处理器计时器的设计 284

习题14 285

附录 Verilog HDL关键字 286

参考文献 287