第1章 Quartus Prime开发流程 1
1.1 Quartus Prime软件综述 1
1.2 设计输入 6
1.3 约束输入 7
1.4 综合 12
1.5 布局布线 14
1.6 仿真 16
1.7 编程与配置 20
第2章 Quartus Prime的使用 25
2.1 原理图和图表模块编辑 25
2.2 文本编辑 45
2.3 混合编辑(自底向上设计) 54
2.4 混合编辑(自顶向下设计) 59
第3章 第三方EDA工具的使用 66
3.1 第三方EDA工具简介 66
3.2 ModelSim仿真工具的使用 67
3.2.1 仿真简介 67
3.2.2 ModelSim简介 70
3.2.3 使用ModelSim进行功能仿真 75
3.2.4 使用ModelSim进行时序仿真 83
3.2.5 在Quartus Prime 中调用ModelSim进行仿真 88
3.2.6 ModelSim仿真工具的高级应用 91
3.3 Synplify Premier综合工具的使用 101
3.3.1 Synplify/Synplify Pro/Synplify Premier简介 101
3.3.2 Synplify Premier综合流程 108
3.3.3 Synplify Premier的其他综合技巧 125
第4章 Verilog HDL语言概述及基本要素 132
4.1 Verilog HDL语言简介 132
4.2 Verilog HDL设计流程 134
4.3 程序模块的说明 135
4.4 Verilog HDL的层次化设计 137
4.5 时延 142
4.6 Verilog HDL语言的描述形式 143
4.7 Verilog HDL语言基本要素 151
4.7.1 标志符 151
4.7.2 注释 152
4.7.3 格式 152
4.7.4 系统任务和函数 153
4.7.5 编译指令 153
4.7.6 逻辑数值 156
4.7.7 常量 156
4.7.8 数据类型 157
4.7.9 运算符和表达式 163
第5章 行为描述语句 173
5.1 触发事件控制 173
5.2 条件语句 175
5.3 循环语句 180
5.4 逻辑验证与Testbench编写 184
5.5 状态机 199
第6章 门电路设计范例 213
6.1 与非门电路 213
6.2 或非门电路 215
6.3 异或门电路 216
6.4 三态门电路 218
6.5 单向总线缓冲器 219
6.6 双向总线缓冲器 220
6.7 使用always过程语句描述的简单算术逻辑单元 221
第7章 组合逻辑电路设计范例 223
7.1 编码器 223
7.1.1 8线—3线编码器 223
7.1.2 8线—3线优先编码器 224
7.2 译码器 228
7.2.1 3线—8线译码器 228
7.2.2 BCD—七段显示译码器 231
7.3 数据选择器 233
7.3.1 4选1数据选择器 233
7.3.2 8选1数据选择器 235
7.3.3 2选1数据选择器 237
7.4 数据分配器 238
7.5 数值比较器 239
7.6 加法器 240
7.6.1 半加器 241
7.6.2 全加器 243
7.6.3 4位全加器 245
7.6.4 16位加法器 247
7.7 减法器 248
7.7.1 半减器 248
7.7.2 全减器 250
7.7.3 4位全减器 251
7.8 七人投票表决器 252
7.9 乘法器 253
第8章 触发器设计范例 255
8.1 R-S触发器 255
8.2 J-K触发器 256
8.3 D触发器 258
8.4 T触发器 259
第9章 时序逻辑电路设计范例 261
9.1 同步计数器 261
9.1.1 同步4位二进制计数器 261
9.1.2 同步二十四进制计数器 263
9.1.3 模为60的BCD码加法计数器 265
9.2 异步计数器 266
9.3 减法计数器 268
9.4 可逆计数器 269
9.5 可变模计数器 271
9.5.1 无置数端的可变模计数器 271
9.5.2 有置数端的可变模计数器 273
9.6 寄存器 274
9.7 锁存器 276
9.8 移位寄存器 278
9.8.1 双向移位寄存器 278
9.8.2 串入/串出移位寄存器 279
9.8.3 串入/并出移位寄存器 281
9.8.4 并入/串出移位寄存器 282
9.9 顺序脉冲发生器 283
9.10 序列信号发生器 284
9.11 分频器 285
9.11.1 偶数分频器 285
9.11.2 奇数分频器 288
9.11.3 半整数分频器 293
第10章 存储器设计范例 295
10.1 只读存储器(ROM) 295
10.2 随机存储器(RAM) 297
10.3 堆栈 299
10.4 FIFO 302
第11章 数字系统设计范例 304
11.1 跑马灯设计 304
11.2 8位数码扫描显示电路设计 308
11.3 4×4键盘扫描电路设计 310
11.4 数字频率计 313
11.5 乒乓游戏机 316
11.6 交通控制器 321
11.7 数字钟 328
11.8 自动售货机 337
11.9 出租车计费器 345
11.10 电梯控制器 357
第12章 可参数化宏模块和IP核的使用 369
12.1 ROM、RAM、FIFO的使用 369
12.2 乘法器和锁相环的使用 377
12.3 正弦信号发生器 380
12.4 NCO IP核的使用 381
第13章 基于FPGA的射频热疗系统 386
13.1 肿瘤热疗的生物学与物理学技术概论 387
13.1.1 热疗的生物学方面 387
13.1.2 热疗的物理技术方面 387
13.2 温度场特性的仿真 389
13.3 射频热疗系统设计 389
13.4 系统硬件电路设计 390
13.4.1 硬件整体结构 390
13.4.2 高精度数字温度传感器DS18B20 391
13.4.3 CycloneⅣ系列FPGA器件的特点 396
13.4.4 CycloneⅣGX器件的配置电路设计 398
13.4.5 电源电路 399
13.4.6 驱动电路设计 399
13.5 软件实现 402
13.5.1 系统软件设计电路 402
13.5.2 温度测量模块 404
13.5.3 指定温度设置模块 410
13.5.4 控制算法的选择与设计 413
13.5.5 信号调制 422
13.5.6 温度显示模块 423
13.5.7 分频模块 428
13.6 温度场测量与控制的实验 429
13.6.1 实验材料和方法 429
13.6.2 实验结果 430
13.6.3 实验结果分析 432
13.7 结论 433
第14章 基于FPGA的直流电机伺服系统 435
14.1 电机控制发展概况 435
14.2 系统控制原理 436
14.3 算法设计 437
14.4 系统硬件设计原理 439
14.5 系统软件设计原理 446
14.5.1 系统软件设计电路 446
14.5.2 AD1674控制模块 449
14.5.3 ADC0809控制模块 451
14.5.4 反馈控制模块 453
14.5.5 前馈控制模块 454
14.5.6 前馈和反馈量求和模块 454
14.5.7 过电流控制模块 455
14.5.8 PWM波生成模块 456
14.5.9 分频模块 456
14.6 系统调试及结果分析 457
14.6.1 硬件调试 457
14.6.2 可靠性、维修性、安全性分析 458
14.6.3 软件调试 459
14.7 结论 460