1、基于 Verilog HDL 的数字系统设计快速入门高敬鹏摇武超群摇左伟平摇编著内 容 简 介本书以 Quartus 域软件为平台,结合 Verilog HDL 语言,通过丰富的实例,从实验、实践、实用的角度,详细介绍了 FPGA/CPLD 在电子系统设计中的应用。本书共 11 章,主要内容包括可编程逻辑器件基础、Quartus 域基本设计操作、Quartus 域软件进阶设计、Verilog HDL 语言概述、面向综合的行为描述语句、Verilog HDL 语言基础程序设计、基于 Quartus域的 ModelSim 仿真、面向验证与仿真的行为描述语句、系统任务、编译预处理与仿真激励、外设接口
2、设计和综合系统设计,全面详细地阐述了 FPGA/CPLD 的设计方法和开发过程。本书由浅入深,从易到难,各章节既相对独立,又前后关联,其最大的特点就是打破了传统书籍的讲解方法,以图解的方式讲解了 Quartus 域的应用与操作,并通过提示、技巧和注意的方式指导读者对重点注意事项的理解,从而能够真正将该技术运用到实际产品的设计生产中去。书中介绍了大量的基础实验和应用系统的设计实例,以便帮助读者更快、更容易地掌握及应用此门技术。本书适合电路设计及相关行业工程技术人员阅读使用,也可作为高等学校相关专业电子系统设计课程的教学用书。未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。版权所有,侵权必
3、究。图书在版编目(CIP)数据基于 Verilog HDL 的数字系统设计快速入门/高敬鹏,武超群编著 郾 北京:电子工业出版社,2016郾 8(卓越工程师培养计划)ISBN 978-7-121-29488-4玉郾 淤基摇 域郾 淤高摇 于武摇 芋郾 淤VHDL 语言-程序设计摇 郁郾 淤TP312中国版本图书馆 CIP 数据核字(2016)第 173653 号策划编辑:张摇 剑(zhang phei郾 com郾 cn)责任编辑:张摇 剑文字编辑:牛平月印摇 摇 刷:三河市良远印务有限公司装摇 摇 订:三河市良远印务有限公司出版发行:电子工业出版社北京市海淀区万寿路 173 信箱摇 邮编 10
4、0036开摇 摇 本:787 伊1 092摇 1/16摇 印张:21郾 75摇 字数:557 千字版摇 摇 次:2016 年 8 月第 1 版印摇 摇 次:2016 年 8 月第 1 次印刷印摇 摇 数:3 000 册摇 摇 定价:58郾 00 元凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888,88258888。质量投诉请发邮件至 zlts phei郾 com郾 cn,盗版侵权举报请发邮件至 dbqq phei郾 com郾 cn。本书咨询联系方式:zhang phei郾 com郾 cn。前摇摇言当今社会是数字化
5、的社会,数字集成电路得到广泛应用。作为全球领先的可编程逻辑器件供应商的 Altera,不仅创造了复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)和现场可编程门阵列(Field Programmable Gate Array,FPGA)技术,也一直致力于CPLD 与 FPGA 技术的开发及应用。科技的不断创新及中国半导体工业的发展,促使我们将可编程逻辑器件的技术应用到越来越多的行业,如航空、航天、汽车、造船、通用机械和电子等领域。科技的运用,将使我们的生活更加精彩。本书结合 Verilog HDL 硬件描述语言,以 Altera 公司的 Quar
6、tus 域软件作为 CPLD/FPGA软件设计工具,详细介绍了 CPLD/FPGA 软/硬件系统的设计方法和开发过程。本书以 Quartus 域软件开发环境为背景,介绍 CPLD/FPGA 产品开发的完整解决方案。本书共 11 章,分别从 FPGA 硬件设计、Quartus 域软件设计和硬件描述语言设计等三个方面进行阐述,主要内容包括可编程逻辑器件基础、Quartus 域基本设计操作、Quartus 域软件进阶设计、Verilog HDL 语言概述、面向综合的行为描述语句、Verilog HDL 语言基础程序设计、基于 Quartus域的 ModelSim 仿真、面向验证与仿真的行为描述语句、
7、系统任务、编译预处理与仿真激励、外设接口设计和综合系统设计等,最后通过丰富的工程实例,将 CPLD/FPGA 开发语言、开发思想与工程实现完美结合。为了帮助初学者迅速入门,提高对电子系统设计的兴趣与爱好,并能在短时间内掌握电子系统设计开发的要点,作者在编写过程中注重内容的侧重,使本书具有以下特点。由浅入深,循序渐进。本书在内容编排上遵循由浅入深、由易到难的原则,基础知识与大量实例相结合,边学边练。兼顾原理,注重实用。本书侧重于实际应用,精炼理论讲解内容。实例丰富,涉及面广。本书提供了丰富的 FPGA 程序设计实例,内容涉及电子系统的各个领域。本书由高敬鹏、武超群、左伟平编著。其中,第 1 5
8、章由哈尔滨工程大学高敬鹏编写,第 7 11 章由黑龙江工程学院武超群编写,第 6 章由左伟平编写。另外,参加本书编写的还有管殿柱、管玥、宋一兵、付本国、赵景伟、赵景波、张洪信、王献红、魏代善、谈世哲、李文秋和初航。感谢您选择了本书,希望我们的努力对您的工作和学习有所帮助,也希望您将对本书的意见和建议告诉我们。编著者目摇摇录第 1 章摇 可编程逻辑器件基础1摇 摇1郾 1摇 可编程逻辑器件1摇 摇1郾 2摇 Altera 公司的 CPLD 产品3摇 摇1郾 3摇 Altera 公司的典型 FPGA 产品5摇 摇1郾 4摇 FPGA 的工艺结构6摇 摇1郾 5摇 FPGA 技术的发展方向7摇 摇1
9、郾 6摇 FPGA 芯片的应用9摇 摇1郾 7摇 FPGA 的设计流程9摇 摇1郾 8摇 FPGA 的设计开发工具11摇 摇1郾 9摇 Quartus 域软件简介12摇 摇1郾 10摇 FPGA 硬件最小系统16摇 摇1郾 11摇 FPGA 的硬件设计技巧22摇 摇1郾 12摇 FPGA 的硬件调试方法23第 2 章摇 Quartus 域基本设计操作25摇 摇2郾 1摇 Quarters域基本设计流程25摇 摇2郾 2摇 Quarturs 域工程创建25摇 摇2郾 3摇 Quartus 域设计输入28摇 摇2郾 4摇 Quartus 域编译项目31摇 摇2郾 5摇 Quartus 域设计文件的
10、仿真32摇 摇2郾 6摇 Quartus 域引脚分配与器件编译36摇 摇2郾 7摇 Quartus 域器件编程38摇 摇2郾 8摇 Quartus 域固化程序到外部存储器41摇 摇2郾 9摇 Quartus 域其他操作43第 3 章摇 Quartus 域软件进阶设计46摇 摇3郾 1摇 Quartus 域参数化宏功能模块及其使用方法46摇 摇3郾 2摇 SignalTap 域在线逻辑分析仪的使用方法54摇 摇 摇 摇3郾 2郾 1摇 SignalTap 域介绍54摇 摇 摇 摇3郾 2郾 2摇 使用 SignalTap 域操作流程55摇 摇 摇 摇3郾 2郾 3摇 SignalTap 域逻辑分
11、析仪的使用55摇 摇3郾 3摇 典型实例:正弦波发生器及 SignalTap 域的使用63吁第 4 章摇 Verilog HDL 语言概述72摇 摇4郾 1摇 硬件描述语言的概念72摇 摇4郾 2摇 Verilog HDL 的产生与发展73摇 摇4郾 3摇 Verilog HDL 语言的魅力74摇 摇 摇 摇4郾 3郾 1摇 Verilog HDL 语言与 VHDL 语言的比较74摇 摇 摇 摇4郾 3郾 2摇 Verilog HDL 与 C 语言的比较75摇 摇 摇 摇4郾 3郾 3摇 Verilog HDL 的应用76摇 摇4郾 4摇 采用 Verilog HDL 设计复杂数字电路的优点7
12、6摇 摇4郾 5摇 Verilog HDL 程序设计模式77摇 摇4郾 6摇 Verilog HDL 程序基本结构78摇 摇 摇 摇4郾 6郾 1摇 Verilog HDL 程序入门79摇 摇 摇 摇4郾 6郾 2摇 模块的框架81摇 摇 摇 摇4郾 6郾 3摇 Verilog HDL 语言的描述形式82摇 摇4郾 7摇 Verilog HDL 语言基本要素89摇 摇 摇 摇4郾 7郾 1摇 标志符与注释90摇 摇 摇 摇4郾 7郾 2摇 数字与逻辑数值90摇 摇 摇 摇4郾 7郾 3摇 数据类型92摇 摇 摇 摇4郾 7郾 4摇 常用运算符99摇 摇 摇 摇4郾 7郾 5摇 Verilog
13、HDL 语言的赋值105摇 摇 摇 摇4郾 7郾 6摇 Verilog HDL 语言的关键词106摇 摇4郾 8摇 典型实例:利用 Verilog HDL 语言在 FPGA 上实现 LED 流水灯107第 5 章摇 面向综合的行为描述语句114摇 摇5郾 1摇 可综合模型的设计114摇 摇5郾 2摇 触发事件控制115摇 摇5郾 3摇 条件语句117摇 摇5郾 4摇 循环语句123摇 摇5郾 5摇 任务与函数127摇 摇5郾 6摇 有限状态机的设计132摇 摇5郾 7摇 Quartus II 图形化状态机输入工具使用141第 6 章摇 Verilog HDL 语言基础程序设计145摇 摇6郾
14、1摇 Verilog HDL 语言实现组合逻辑电路145摇 摇6郾 2摇 Verilog HDL 语言实现时序逻辑电路147摇 摇6郾 3摇 Verilog HDL 语言的代码风格148摇 摇 摇 摇6郾 3郾 1摇 Verilog HDL 语言的基本原则148摇 摇 摇 摇6郾 3郾 2摇 Verilog HDL 语言的编写规范151摇 摇 摇 摇6郾 3郾 3摇 Verilog HDL 语言的处理技巧156摇 摇6郾 4摇 硬件描述语言设计基础实例158遇摇 摇 摇 摇6郾 4郾 1摇 8-3 编码器158摇 摇 摇 摇6郾 4郾 2摇 3-8 译码器159摇 摇 摇 摇6郾 4郾 3摇
15、数据选择器160摇 摇 摇 摇6郾 4郾 4摇 多位数值比较器162摇 摇 摇 摇6郾 4郾 5摇 全加器163摇 摇 摇 摇6郾 4郾 6摇 D 触发器164摇 摇 摇 摇6郾 4郾 7摇 寄存器165摇 摇 摇 摇6郾 4郾 8摇 双向移位寄存器166摇 摇 摇 摇6郾 4郾 9摇 四位二进制加/减法计数器167摇 摇 摇 摇6郾 4郾 10摇 顺序脉冲发生器168摇 摇 摇 摇6郾 4郾 11摇 序列信号发生器170第 7 章摇 ModelSim 仿真171摇 摇7郾 1摇 ModelSim 仿真工具简介171摇 摇7郾 2摇 ModelSim 的命令与文件185摇 摇7郾 3摇 Mod
16、elSim 仿真工具安装与使用197摇 摇7郾 4摇 典型实例:SDRAM 读写控制的实现与仿真202第 8 章摇 面向验证与仿真的行为描述语句207摇 摇8郾 1摇 验证与仿真简介207摇 摇8郾 2摇 仿真程序执行原理214摇 摇8郾 3摇 延时控制语句216摇 摇8郾 4摇 常用的行为仿真描述语句219摇 摇8郾 5摇 典型实例:全加器的验证与仿真226第 9 章摇 系统任务、编译预处理与仿真激励231摇 摇9郾 1摇 系统任务231摇 摇9郾 2摇 编译预处理247摇 摇9郾 3摇 产生仿真激励255第 10 章摇 外设接口设计264摇 摇10郾 1摇 数码管显示接口实验264摇 摇10郾 2摇 LCD 液晶显示接口实验273摇 摇10郾 3摇 VGA 显示接口实验282摇 摇10郾 4摇 RS-232C 串行通信接口实验285第 11 章摇 综合系统设计295摇 摇11郾 1摇 实时温度采集系统295摇 摇11郾 2摇 实时红外采集系统315摇 摇11郾 3摇 实时键盘采集系统322喻第 1 章可编程逻辑器件基础20 世纪 80 年代中期,Altera 公司推出了类似于可编程