注册 登录 进入教材巡展
#

出版时间:2025-06

最新印次日期:2025-6

出版社:科学出版社

“十二五”普通高等教育本科国家级规划教材

以下为《EDA技术实用教程(第七版)(Verilog HDL版)》的配套数字资源,这些资源在您购买图书后将免费附送给您:
  • 科学出版社
  • 9787030826572
  • 7版
  • 577033
  • 43268686-3
  • 2025-06
  • 工学
  • 电子信息类
  • 电子与信息大类
  • 电子信息类
  • 本科
内容简介
本书根据课堂教学和实验操作的要求,以提高实际工程设计能力为目的,深入浅出地对EDA技术、Verilog HDL硬件描述语言、FPGA开发应用及相关知识做了系统和完整的介绍,使读者通过学习本书并完成推荐的实验,能初步了解和掌握EDA的基本内容及实用技术。
本书包括EDA技术概述、FPGA与CPLD的结构原理、组合电路的Verilog设计、仿真与硬件实现、时序电路的Verilog设计、IP核及其应用、MCU与FPGA片上系统开发、Verilog HDL深入、Verilog Test Bench仿真与时序分析、Verilog状态机设计技术、16位CPU创新设计和Verilog知识拾遗。各章都安排了习题或针对性较强的实验与设计。实现书中列举的大部分实验示例的EDA工具平台是Quartus,硬件平台是Cyclone 10 LP系列FPGA,并在EDA实验系统上通过了硬件测试。
本书可作为高等院校电子信息工程、通信、自动化、计算机应用技术、电子对抗、仪器仪表、数字信号或图像处理等学科的本科生或研究生教材及实验指导书,同时也可作为相关专业技术人员的自学参考书。
目录
第1章 EDA技术概述 1
1.1 EDA技术及其发展 1
1.2 EDA技术实现目标 3
1.3 硬件描述语言 5
1.4 HDL综合 6
1.5 自顶向下的设计技术 8
1.6 EDA技术的优势 10
1.7 EDA设计流程 12
1.7.1 设计输入(原理图/HDL文本编辑) 12
1.7.2 综合 13
1.7.3 适配 13
1.7.4 时序仿真与功能仿真、静态时序分析 14
1.7.5 编程下载 14
1.7.6 硬件测试 15
1.8 ASIC及其设计流程 15
1.8.1 ASIC设计简介 15
1.8.2 ASIC设计一般流程简述 17
1.9 常用EDA工具 18
1.9.1 设计输入编辑器 18
1.9.2 HDL综合器 19
1.9.3 仿真器与时序分析器 20
1.9.4 适配器 21
1.9.5 下载器 21
1.10 Quartus 概述 21
1.11 IP核 23
1.12 EDA技术发展趋势管窥 24
习题 26
第2章 FPGA与CPLD的结构原理 27
2.1 PLD概述 27
2.1.1 PLD的发展历程 27
2.1.2 PLD分类 28
2.2 简单PLD结构原理 29
2.2.1 逻辑元件符号表示 29
2.2.2 PROM结构原理 31
2.2.3 PLA结构原理 32
2.2.4 PAL结构原理 33
2.2.5 GAL结构原理 34
2.3 CPLD的结构原理 36
2.4 FPGA的结构原理 39
2.4.1 查找表逻辑结构 39
2.4.2 Cyclone 4E/10LP系列器件的结构 39
2.4.3 Cyclone 10GX系列器件的结构 44
2.4.4 内嵌Flash的FPGA器件 44
2.5 JTAG与硬件测试 44
2.5.1 内部逻辑测试 45
2.5.2 JTAG边界扫描 45
2.6 FPGA/CPLD产品概述 47
2.6.1 Altera公司的FPGA/CPLD 47
2.6.2 Lattice公司的FPGA/CPLD 49
2.6.3 AMD-Xilinx公司的FPGA/CPLD 49
2.6.4 MicroChip公司的FPGA/CPLD 50
2.6.5 Altera公司的FPGA配置方式与配置器件 50
2.6.6 国产FPGA器件 51
2.7 FPGA/ CPLD的编程与配置 51
2.7.1 CPLD在系统编程 51
2.7.2 FPGA配置方式 52
2.7.3 FPGA专用配置器件 53
2.7.4 使用单片机配置FPGA 54
习题 55
第3章 组合电路的Verilog设计 56
3.1 半加器电路的Verilog描述 56
3.2 多路选择器的Verilog描述 61
3.2.1 4选1多路选择器及case语句表述方式 61
3.2.2 4选1多路选择器及assign语句表述方式 66
3.2.3 4选1多路选择器及条件赋值语句表述方式 68
3.2.4 4选1多路选择器及条件语句表述方式 69

3.3 Verilog加法器设计 71
3.3.1 全加器设计及例化语句应用 71
3.3.2 8位加法器设计及算术操作符应用 74
3.3.3 算术运算操作符 75
3.3.4 BCD码加法器设计 76
3.4 组合逻辑乘法器设计 77
3.4.1 参数定义关键词parameter和localparam 77
3.4.2 整数型寄存器类型定义 78
3.4.3 for语句用法 78
3.4.4 移位操作符及其用法 79
3.4.5 两则乘法器设计示例 80
3.4.6 repeat语句用法 80
3.4.7 while语句用法 81
3.4.8 parameter的参数传递功能 82
3.5 RTL概念 84
习题 85
第4章 仿真与硬件实现 87
4.1 Verilog程序输入和编译 87
4.1.1 编辑和输入设计文件 87
4.1.2 创建工程 88
4.1.3 全程编译前约束项目设置 90
4.1.4 全程综合与编译 91
4.1.5 RTL电路图观察器应用 93
4.2 仿真测试 93
4.3 引脚锁定与硬件测试 96
4.3.1 引脚锁定 96
4.3.2 编译文件下载 97
4.3.3 JTAG间接编程模式 98
4.3.4 USB-Blaster驱动程序安装方法 100
4.4 电路原理图设计流程 100
4.5 HDL版本设置及Analysis & Synthesis功能 102
4.6 利用属性表述实现引脚锁定 103
4.7 keep属性应用 104
4.8 SignalProbe使用方法 105
习题 107
实验与设计 107

第5章 时序电路的Verilog设计 111
5.1 基本时序元件的Verilog表述 111
5.1.1 基本D触发器 111
5.1.2 含异步复位和时钟使能的D触发器 112
5.1.3 含同步复位控制的D触发器 113
5.1.4 基本锁存器 114
5.1.5 含清0控制的锁存器 115
5.1.6 异步时序电路的Verilog表述特点 116
5.1.7 时钟过程表述的特点和规律 117
5.2 二进制计数器的Verilog表述 118
5.2.1 简单加法计数器 118
5.2.2 实用加法计数器设计 120
5.3 移位寄存器的Verilog表述与设计 121
5.3.1 含同步预置功能的移位寄存器设计 122
5.3.2 使用移位操作符设计移位寄存器 122
5.4 自动预置型计数器设计 123
5.4.1 同步加载计数器 123
5.4.2 异步加载计数器 124
5.4.3 异步清0加载计数器 125
5.4.4 同步清0加载计数器 126
5.5 时序电路硬件设计与仿真示例 126
5.5.1 编辑电路、创建工程和仿真测试 126
5.5.2 FPGA硬件测试 127
5.6 SignalTap的使用方法 128
5.7 编辑SignalTap的触发信号 133
习题 133
实验与设计 134
第6章 IP核及其应用 145
6.1 计数器LPM模块调用示例 145
6.1.1 计数器模块文本的调用 145
6.1.2 LPM计数器代码与参数传递语句应用 146
6.1.3 创建工程与仿真测试 148
6.2 利用属性控制乘法器的构建 149
6.3 LPM 随机存储器的设置和调用 150
6.3.1 存储器初始化文件 150
6.3.2 LPM_RAM的设置和调用 152
6.3.3 仿真测试RAM宏模块 154
6.3.4 存储器的Verilog代码描述 154
6.3.5 存储器设计的结构控制 157
6.4 LPM_ROM的定制和使用示例 158
6.4.1 简易正弦信号发生器设计 158
6.4.2 正弦信号发生器硬件实现和测试 160
6.5 In-System Memory Content Editor应用 161
6.6 LPM嵌入式锁相环调用 163
6.6.1 建立嵌入式锁相环元件 163
6.6.2 测试锁相环 165
6.7 In-System Sources and Probes Editor使用方法 165
6.8 NCO核数控振荡器使用方法 168
6.9 FIR核使用方法 170
6.10 DDS实现原理与应用 172
6.10.1 DDS原理 172
6.10.2 DDS信号发生器设计示例 174
习题 175
实验与设计 176
第7章 MCU与FPGA片上系统开发 184
7.1 FPGA扩展MCU开发技术 184
7.1.1 FPGA扩展方案及其系统设计技术 185
7.1.2 基于单片机IP软核的SoC设计方案 188
7.2 基于单片机核的FPGA片上系统设计 190
实验与设计 194
第8章 Verilog HDL深入 200
8.1 过程中的两类赋值语句 200
8.1.1 未指定延时的阻塞式赋值语句 200
8.1.2 指定了延时的阻塞式赋值 201
8.1.3 未指定延时的非阻塞式赋值 202
8.1.4 指定了延时的非阻塞式赋值 203
8.1.5 深入认识阻塞式与非阻塞式赋值的特点 204
8.1.6 不同的赋初值方式导致不同综合结果的示例 206
8.2 过程语句归纳 208
8.2.1 过程语句应用总结 208
8.2.2 深入认识不完整条件语句与时序电路的关系 209
8.3 if语句归纳 211
8.3.1 if语句的一般表述形式 211
8.3.2 关注if语句中的条件指示 213
8.4 三态与双向端口设计 214
8.4.1 三态控制电路设计 214
8.4.2 双向端口设计 215
8.4.3 三态总线控制电路设计 217
8.5 Verilog系统设计优化 219
8.5.1 资源共享 219
8.5.2 逻辑优化 221
8.5.3 串行化 221
8.5.4 流水线设计 222
8.5.5 乒乓操作法 225
8.5.6 寄存器配平法 225
8.5.7 关键路径法 226
习题 226
实验与设计 228
第9章 Verilog Test Bench仿真与时序分析 237
9.1 Verilog HDL仿真流程 238
9.2 Verilog HDL Test Bench仿真 240
9.3 HDL仿真实例 241
9.4 Verilog系统任务和系统函数 246
9.4.1 系统任务和系统函数 246
9.4.2 预编译语句 252
9.5 延时模型 252
9.5.1 #延时和门延时 252
9.5.2 延时说明块 253
9.6 其他仿真语句 254
9.6.1 fork_join块语句 254
9.6.2 wait语句 255
9.6.3 force语句和release语句 255
9.6.4 deassign语句 256
9.7 仿真激励信号的产生 256
9.8 Verilog数字系统仿真 258
习题 259
实验与设计 259
第10章 Verilog状态机设计技术 261
10.1 Verilog状态机的一般形式 261
10.1.1 状态机的特点与优势 261
10.1.2 状态机的一般结构 262
10.1.3 初始控制与表述 266
10.2 Moore型状态机及其设计 267
10.2.1 多过程结构状态机 267
10.2.2 序列检测器及其状态机设计 271
10.3 Mealy型状态机设计 272
10.4 不同编码类型状态机 275
10.4.1 直接输出型编码 276
10.4.2 用宏定义语句定义状态编码 277
10.4.3 宏定义命令语句 279
10.4.4 顺序编码 279
10.4.5 一位热码编码 280
10.4.6 状态编码设置 280
10.5 异步有限状态机设计 281
10.6 安全状态机设计 284
10.6.1 状态导引法 285
10.6.2 状态编码监测法 285
10.6.3 借助EDA工具自动生成安全状态机 286
10.7 硬件数字技术排除毛刺 286
10.7.1 延时方式去毛刺 286
10.7.2 逻辑方式去毛刺 288
10.7.3 定时方式去毛刺 289
习题 290
实验与设计 290
第11章 16/32位CPU创新设计 298
11.1 KX9016的结构与特色 298
11.2 KX9016基本硬件系统设计 301
11.2.1 单步节拍发生模块 301
11.2.2 ALU模块 301
11.2.3 比较器模块 302
11.2.4 基本寄存器与寄存器阵列组 303
11.2.5 移位器模块 305
11.2.6 程序与数据存储器模块 306
11.3 KX9016v1指令系统设计 306
11.3.1 指令格式 306
11.3.2 指令操作码 308
11.3.3 软件程序设计实例 309
11.3.4 KX9016v1控制器设计 310
11.3.5 指令设计实例详解 314
11.4 KX9016的时序仿真与硬件测试 315
11.4.1 仿真与指令执行波形时序分析 316
11.4.2 CPU工作情况的硬件测试 317
11.5 KX9016应用程序设计实例和系统优化 320
11.5.1 乘法算法及其硬件实现 320
11.5.2 除法算法及其硬件实现 321
11.5.3 KX9016v1的硬件系统优化 322
习题 323
实验与设计 324
第12章 Verilog知识拾遗 328
12.1 Verilog文字规则 328
12.2 数据类型 330
12.2.1 net类型 330
12.2.2 register类型 331
12.2.3 存储器类型 331
12.3 操作符 331
12.4 常用语句补充 332
12.4.1 initial过程语句使用示例 332
12.4.2 forever循环语句 333
12.4.3 编译指示语句 333
12.4.4 任务和函数语句 335
12.5 库元件和UDP用法介绍 338
12.5.1 Verilog原语库元件与用法 338
12.5.2 UDP及用法示例 339
12.5.3 利用UDP元件设计多路选择器 340
12.5.4 用UDP表述D触发器 341
12.6 常用模块的Verilog简洁描述 342
12.6.1 多路选择器/复用器 342
12.6.2 译码器 342
12.6.3 数据分配器/解复用器 343
12.6.4 PWM发生器 344
习题 344
实验与设计 345
附录 EDA开发系统及相关软硬件 350
参考文献 364
第1章 EDA技术概述 1
1.1 EDA技术及其发展 1
1.2 EDA技术实现目标 3
1.3 硬件描述语言 5
1.4 HDL综合 6
1.5 自顶向下的设计技术 8
1.6 EDA技术的优势 10
1.7 EDA设计流程 12
1.7.1 设计输入(原理图/HDL文本编辑) 12
1.7.2 综合 13
1.7.3 适配 13
1.7.4 时序仿真与功能仿真、静态时序分析 14
1.7.5 编程下载 14
1.7.6 硬件测试 15
1.8 ASIC及其设计流程 15
1.8.1 ASIC设计简介 15
1.8.2 ASIC设计一般流程简述 17
1.9 常用EDA工具 18
1.9.1 设计输入编辑器 18
1.9.2 HDL综合器 19
1.9.3 仿真器与时序分析器 20
1.9.4 适配器 21
1.9.5 下载器 21
1.10 Quartus 概述 21
1.11 IP核 23
1.12 EDA技术发展趋势管窥 24
习题 26
第2章 FPGA与CPLD的结构原理 27
2.1 PLD概述 27
2.1.1 PLD的发展历程 27
2.1.2 PLD分类 28
2.2 简单PLD结构原理 29
2.2.1 逻辑元件符号表示 29
2.2.2 PROM结构原理 31
2.2.3 PLA结构原理 32
2.2.4 PAL结构原理 33
2.2.5 GAL结构原理 34
2.3 CPLD的结构原理 36
2.4 FPGA的结构原理 39
2.4.1 查找表逻辑结构 39
2.4.2 Cyclone 4E/10LP系列器件的结构 39
2.4.3 Cyclone 10GX系列器件的结构 44
2.4.4 内嵌Flash的FPGA器件 44
2.5 JTAG与硬件测试 44
2.5.1 内部逻辑测试 45
2.5.2 JTAG边界扫描 45
2.6 FPGA/CPLD产品概述 47
2.6.1 Altera公司的FPGA/CPLD 47
2.6.2 Lattice公司的FPGA/CPLD 49
2.6.3 AMD-Xilinx公司的FPGA/CPLD 49
2.6.4 MicroChip公司的FPGA/CPLD 50
2.6.5 Altera公司的FPGA配置方式与配置器件 50
2.6.6 国产FPGA器件 51
2.7 FPGA/ CPLD的编程与配置 51
2.7.1 CPLD在系统编程 51
2.7.2 FPGA配置方式 52
2.7.3 FPGA专用配置器件 53
2.7.4 使用单片机配置FPGA 54
习题 55
第3章 组合电路的Verilog设计 56
3.1 半加器电路的Verilog描述 56
3.2 多路选择器的Verilog描述 61
3.2.1 4选1多路选择器及case语句表述方式 61
3.2.2 4选1多路选择器及assign语句表述方式 66
3.2.3 4选1多路选择器及条件赋值语句表述方式 68
3.2.4 4选1多路选择器及条件语句表述方式 69

3.3 Verilog加法器设计 71
3.3.1 全加器设计及例化语句应用 71
3.3.2 8位加法器设计及算术操作符应用 74
3.3.3 算术运算操作符 75
3.3.4 BCD码加法器设计 76
3.4 组合逻辑乘法器设计 77
3.4.1 参数定义关键词parameter和localparam 77
3.4.2 整数型寄存器类型定义 78
3.4.3 for语句用法 78
3.4.4 移位操作符及其用法 79
3.4.5 两则乘法器设计示例 80
3.4.6 repeat语句用法 80
3.4.7 while语句用法 81
3.4.8 parameter的参数传递功能 82
3.5 RTL概念 84
习题 85
第4章 仿真与硬件实现 87
4.1 Verilog程序输入和编译 87
4.1.1 编辑和输入设计文件 87
4.1.2 创建工程 88
4.1.3 全程编译前约束项目设置 90
4.1.4 全程综合与编译 91
4.1.5 RTL电路图观察器应用 93
4.2 仿真测试 93
4.3 引脚锁定与硬件测试 96
4.3.1 引脚锁定 96
4.3.2 编译文件下载 97
4.3.3 JTAG间接编程模式 98
4.3.4 USB-Blaster驱动程序安装方法 100
4.4 电路原理图设计流程 100
4.5 HDL版本设置及Analysis & Synthesis功能 102
4.6 利用属性表述实现引脚锁定 103
4.7 keep属性应用 104
4.8 SignalProbe使用方法 105
习题 107
实验与设计 107

第5章 时序电路的Verilog设计 111
5.1 基本时序元件的Verilog表述 111
5.1.1 基本D触发器 111
5.1.2 含异步复位和时钟使能的D触发器 112
5.1.3 含同步复位控制的D触发器 113
5.1.4 基本锁存器 114
5.1.5 含清0控制的锁存器 115
5.1.6 异步时序电路的Verilog表述特点 116
5.1.7 时钟过程表述的特点和规律 117
5.2 二进制计数器的Verilog表述 118
5.2.1 简单加法计数器 118
5.2.2 实用加法计数器设计 120
5.3 移位寄存器的Verilog表述与设计 121
5.3.1 含同步预置功能的移位寄存器设计 122
5.3.2 使用移位操作符设计移位寄存器 122
5.4 自动预置型计数器设计 123
5.4.1 同步加载计数器 123
5.4.2 异步加载计数器 124
5.4.3 异步清0加载计数器 125
5.4.4 同步清0加载计数器 126
5.5 时序电路硬件设计与仿真示例 126
5.5.1 编辑电路、创建工程和仿真测试 126
5.5.2 FPGA硬件测试 127
5.6 SignalTap的使用方法 128
5.7 编辑SignalTap的触发信号 133
习题 133
实验与设计 134
第6章 IP核及其应用 145
6.1 计数器LPM模块调用示例 145
6.1.1 计数器模块文本的调用 145
6.1.2 LPM计数器代码与参数传递语句应用 146
6.1.3 创建工程与仿真测试 148
6.2 利用属性控制乘法器的构建 149
6.3 LPM 随机存储器的设置和调用 150
6.3.1 存储器初始化文件 150
6.3.2 LPM_RAM的设置和调用 152
6.3.3 仿真测试RAM宏模块 154
6.3.4 存储器的Verilog代码描述 154
6.3.5 存储器设计的结构控制 157
6.4 LPM_ROM的定制和使用示例 158
6.4.1 简易正弦信号发生器设计 158
6.4.2 正弦信号发生器硬件实现和测试 160
6.5 In-System Memory Content Editor应用 161
6.6 LPM嵌入式锁相环调用 163
6.6.1 建立嵌入式锁相环元件 163
6.6.2 测试锁相环 165
6.7 In-System Sources and Probes Editor使用方法 165
6.8 NCO核数控振荡器使用方法 168
6.9 FIR核使用方法 170
6.10 DDS实现原理与应用 172
6.10.1 DDS原理 172
6.10.2 DDS信号发生器设计示例 174
习题 175
实验与设计 176
第7章 MCU与FPGA片上系统开发 184
7.1 FPGA扩展MCU开发技术 184
7.1.1 FPGA扩展方案及其系统设计技术 185
7.1.2 基于单片机IP软核的SoC设计方案 188
7.2 基于单片机核的FPGA片上系统设计 190
实验与设计 194
第8章 Verilog HDL深入 200
8.1 过程中的两类赋值语句 200
8.1.1 未指定延时的阻塞式赋值语句 200
8.1.2 指定了延时的阻塞式赋值 201
8.1.3 未指定延时的非阻塞式赋值 202
8.1.4 指定了延时的非阻塞式赋值 203
8.1.5 深入认识阻塞式与非阻塞式赋值的特点 204
8.1.6 不同的赋初值方式导致不同综合结果的示例 206
8.2 过程语句归纳 208
8.2.1 过程语句应用总结 208
8.2.2 深入认识不完整条件语句与时序电路的关系 209
8.3 if语句归纳 211
8.3.1 if语句的一般表述形式 211
8.3.2 关注if语句中的条件指示 213
8.4 三态与双向端口设计 214
8.4.1 三态控制电路设计 214
8.4.2 双向端口设计 215
8.4.3 三态总线控制电路设计 217
8.5 Verilog系统设计优化 219
8.5.1 资源共享 219
8.5.2 逻辑优化 221
8.5.3 串行化 221
8.5.4 流水线设计 222
8.5.5 乒乓操作法 225
8.5.6 寄存器配平法 225
8.5.7 关键路径法 226
习题 226
实验与设计 228
第9章 Verilog Test Bench仿真与时序分析 237
9.1 Verilog HDL仿真流程 238
9.2 Verilog HDL Test Bench仿真 240
9.3 HDL仿真实例 241
9.4 Verilog系统任务和系统函数 246
9.4.1 系统任务和系统函数 246
9.4.2 预编译语句 252
9.5 延时模型 252
9.5.1 #延时和门延时 252
9.5.2 延时说明块 253
9.6 其他仿真语句 254
9.6.1 fork_join块语句 254
9.6.2 wait语句 255
9.6.3 force语句和release语句 255
9.6.4 deassign语句 256
9.7 仿真激励信号的产生 256
9.8 Verilog数字系统仿真 258
习题 259
实验与设计 259
第10章 Verilog状态机设计技术 261
10.1 Verilog状态机的一般形式 261
10.1.1 状态机的特点与优势 261
10.1.2 状态机的一般结构 262
10.1.3 初始控制与表述 266
10.2 Moore型状态机及其设计 267
10.2.1 多过程结构状态机 267
10.2.2 序列检测器及其状态机设计 271
10.3 Mealy型状态机设计 272
10.4 不同编码类型状态机 275
10.4.1 直接输出型编码 276
10.4.2 用宏定义语句定义状态编码 277
10.4.3 宏定义命令语句 279
10.4.4 顺序编码 279
10.4.5 一位热码编码 280
10.4.6 状态编码设置 280
10.5 异步有限状态机设计 281
10.6 安全状态机设计 284
10.6.1 状态导引法 285
10.6.2 状态编码监测法 285
10.6.3 借助EDA工具自动生成安全状态机 286
10.7 硬件数字技术排除毛刺 286
10.7.1 延时方式去毛刺 286
10.7.2 逻辑方式去毛刺 288
10.7.3 定时方式去毛刺 289
习题 290
实验与设计 290
第11章 16/32位CPU创新设计 298
11.1 KX9016的结构与特色 298
11.2 KX9016基本硬件系统设计 301
11.2.1 单步节拍发生模块 301
11.2.2 ALU模块 301
11.2.3 比较器模块 302
11.2.4 基本寄存器与寄存器阵列组 303
11.2.5 移位器模块 305
11.2.6 程序与数据存储器模块 306
11.3 KX9016v1指令系统设计 306
11.3.1 指令格式 306
11.3.2 指令操作码 308
11.3.3 软件程序设计实例 309
11.3.4 KX9016v1控制器设计 310
11.3.5 指令设计实例详解 314
11.4 KX9016的时序仿真与硬件测试 315
11.4.1 仿真与指令执行波形时序分析 316
11.4.2 CPU工作情况的硬件测试 317
11.5 KX9016应用程序设计实例和系统优化 320
11.5.1 乘法算法及其硬件实现 320
11.5.2 除法算法及其硬件实现 321
11.5.3 KX9016v1的硬件系统优化 322
习题 323
实验与设计 324
第12章 Verilog知识拾遗 328
12.1 Verilog文字规则 328
12.2 数据类型 330
12.2.1 net类型 330
12.2.2 register类型 331
12.2.3 存储器类型 331
12.3 操作符 331
12.4 常用语句补充 332
12.4.1 initial过程语句使用示例 332
12.4.2 forever循环语句 333
12.4.3 编译指示语句 333
12.4.4 任务和函数语句 335
12.5 库元件和UDP用法介绍 338
12.5.1 Verilog原语库元件与用法 338
12.5.2 UDP及用法示例 339
12.5.3 利用UDP元件设计多路选择器 340
12.5.4 用UDP表述D触发器 341
12.6 常用模块的Verilog简洁描述 342
12.6.1 多路选择器/复用器 342
12.6.2 译码器 342
12.6.3 数据分配器/解复用器 343
12.6.4 PWM发生器 344
习题 344
实验与设计 345
附录 EDA开发系统及相关软硬件 350
参考文献 364