本书作为现代电子技术课程教学的重要组成部分,将VHDL语言与数字系统设计有机地结合起来。书中第1章为VHDL语言基础,介绍VHDL的语句和语法;第2,3章为组合电路、时序电路的VHDL基础实验,使读者轻松入门并巩固数字电路基础知识;第4章为状态机设计;第5章为存储器设计;第6章为DSP设计;第7章为数字系统设计实例。全书共有108个设计范例,读者可结合EDA工具和FPGA/CPLD开发系统进行实践,参照设计范例先做改动设计,逐渐熟悉VHDL开发后,就可独立设计出自己的源程序。
本书可作为高等院校电类和绝大部分非电类本科生、专科生教材,亦可作为电视大学、职业学校以及远程教育、网络教育的教材,本书还可用做从事数字系统设计的工程技术人员的参考书。
第1章 VHDL语言基础
1. 1 概述
1. 2 VHDL程序结构
1. 2. 1 VHDL程序的基本结构
1. 2. 2 实体
1. 2. 3 结构体
1. 2. 4 配置
1. 3 VHDL的设计资源
1. 3. 1 库
1. 3. 2 程序包
1. 4 数据对象. 类型及操作符
1. 4. 1 VHDL文字
1. 4. 2 VHDL数据对象
1. 4. 3 VHDL数据类型
1. 4. 4 VHDL操作符
1. 4. 5 属性描述与定义语句
1. 4. 6 VHDL描述方式
1. 5 VHDL顺序语句
1. 5. 1 赋值语句
1. 5. 2 转向控制语句
1. 5. 3 等待语句
1. 5. 4 子程序调用语句
1. 5. 5 返回语句
1. 5. 6 空操作语句
1. 5. 7 其他语句
1. 6 VHDL并行语句
1. 6. 1 进程语句
1. 6. 2 块语句
1. 6. 3 并行信号赋值语句
1. 6. 4 并行过程调用语句
1. 6. 5 元件例化语句
1. 6. 6 生成语句
1. 7 子程序
1. 7. 1 函数
1. 7. 2 重载函数
1. 7. 3 过程
1. 7. 4 重载过程
第2章 组合逻辑电路基础实验
2. 1 基本门电路
2. 1. 1 基本门电路描述实验
2. 1. 2 VHDL实验快速入门
2. 2 三态门
2. 3 总线缓冲器
2. 3. 1 单向总线缓冲器
2. 3. 2 双向总线缓冲器
2. 3. 3 74HC245双向总线缓冲器
2. 4 数据选择器
2. 4. 1 四选一数据选择器1
2. 4. 2 四选一数据选择器2
2. 4. 3 八选一数据选择器
2. 4. 4 八选一数据选择器的宏调用
2. 5 数据分配器
2. 6 编码器
2. 6. 1 八-三优先编码器1
2. 6. 2 八-三优先编码器2
2. 6. 3 二-十进制优先编码器
2. 7 译码器
2. 7. 1 二-四译码器
2. 7. 2 三-八译码器
2. 7. 3 两位BCD-七段静态LED译码器
2. 7. 4 十进制-二进制译码器
2. 8 比较器
2. 9 加法器
2. 9. 1 半加器
2. 9. 2 四位全加器
2. 9. 3 八位全加器
2. 10 减法器
2. 10. 1 半减器
2. 10. 2 四位全减器
2. 11 奇偶校验电路和数据检测器
2. 11. 1 奇偶校验位发生器
2. 11. 2 奇偶校验位检测器
2. 12 移位器
2. 13 补码生成电路
2. 14 锁存器
2. 15 算术逻辑单元ALU设计
2. 15. 1 两位算术逻辑单元ALU设计
2. 15. 2 带进位四位算术逻辑单元ALU设计
第3章 时序逻辑电路基础实验
3. 1 RS触发器
3. 2 T触发器
3. 3 JK触发器
3. 4 D触发器
3. 4. 1 D触发器基本设计
3. 4. 2 D触发器宏调用
3. 4. 3 三级D触发器延迟电路
3. 5 寄存器
3. 5. 1 n位寄存器
3. 5. 2 24位寄存器
3. 5. 3 24位寄存器的LPM设计
3. 5. 4 多种功能的寄存器设计比较
3. 6 移位寄存器
3. 6. 1 双向移位寄存器
3. 6. 2 串人串出(SISO)移位寄存器
3. 6, 3 串人并出(SIPO)移位寄存器
3. 6. 4 并人串出(PISO)移位寄存器
3. 7 异步计数器
3. 8 同步计数器
3. 8. 1 同步二十四进制计数器
3. 8. 2 同步四十进制计数器
3. 9 可逆计数器
3. 10 移存型计数器
3. 10. 1 自启动格雷码钮环计数器
3. 10. 2 移存型七进制计数器
3. 11 模可变计数器
3. 11. 1 离散模可变计数器
3. 11. 2 模256以内任意可变计数器
3. 12 分频器
3. 12. 1 加法分频器
3. 12. 2 减法分频器
3. 12. 3 半整数分频器
3. 12. 4 积分分频器
3. 13 脉冲发生和整形
3. 13. 1 顺序脉冲发生器1
3. 13. 2 顺序脉冲发生器2
3. 13. 3 由D触发器构成的脉冲整形电路
3. 13. 4 脉冲整形计数器
第4章 状态机设计
4. I Moore状态机
4. 1. 1 简单的Moore状态机
4. 1. 2 Moore状态机设计比较
4. 1. 3 采用Moore状态机设计计数器
4. 2 Mealy状态机
4. 2. 1 采用Mealy状态机设计计数器
4. 2. 2 Mealy状态机1
4. 2. 3 Mealy状态机2
4. 3 特定序列脉冲发生器
4. 4 循环彩灯控制器
4. 5 交通灯控制器
4. 5. 1 交通灯控制器1
4. 5. 2 交通灯控制器2
第5章 存储器设计
5. 1 RAM
5. 1. 1 RAM的LPM设计
5. 1. 2 RAM的快速定制
5. 2 双口RAM
5. 2. 1 简单的双口 RAM设计
5. 2. 2 单地址双口 RAM的LPM设计
5. 2. 3 双地址双口 RAM的LPM设计
5. 2. 4 双N RAM的宏调用设计
5. 3 FIFO
5. 3. 1 FIFO的LPM设计1
5. 3. 2 FIFO的LPM设计2
5. 4 ROM
5. 4. 1 简单的ROM设计
5. 4. 2 用ROM实现九九乘法表
5. 5 堆栈
第6章 DSP设计实例
6. 1 串行数据检测器
6. 2 伪随机码发生器
6. 3 汉明编码器和译码器
6. 3. 1 汉明编码器
6. 3. 2 汉明译码器
6. 4 循环冗余校验(CRC)
6. 5 15位流水线加法器
6. 6 乘法器
6. 6. 1 普通乘法器
6. 6. 2 移位相加8位乘法器
6. 6. 3 乘法器的LPM设计
6. 7 除法器
6. 8 FIR滤波器
6. 8. 1 可编程FIR滤波器
6. 8. 2 四抽头直接形式FIR滤波器
6. 9 IIR滤波器
6. 9. 1 IIR滤波器1
6. 9. 2 IIR滤波器2
6. 9. 3 IIR滤波器3
第7章 数字系统设计实例
7. 1 BCD-七段动态LED译码显示电路
7. 2 汽车尾灯控制电路
7. 3 频率计
7. 4 数字钟
7. 5 密码锁
7. 6 8位脉宽调制器
7. 7 硬件电子琴
7. 8 函数发生器
7. 9 AD0809模拟信号采集
7. 10 VGA彩条信号发生器
7. 11 通用异步收发器(UART)
7. 12 数字系统设计课题
7. 12. 1 乒乓球游戏机
7. 12. 2 四人抢答器
7. 12. 3 数字秒表
7. 12. 4 出租车计费器
7. 12. 5 汽车停车场停车车位显示系统
7. 12. 6 五层电梯控制器
7. 12. 7 自动售货机的控制电路
附录 掌宇CIC310 CPLD/FPGA开发系统使用简介
参考文献
VHDL硬件描述语言是目前国内外数字系统的主流设计语言, 也是现代电子技术发展的重要依托之一. 随着片上系统(SOC)的不断推陈出新, VHDL的语言内涵也在向外延伸, 现在已经有不少扩充子集支持SOC的开发. 与此同时, 各种EDA工具广泛支持VHDL的IEEE标准, 并且近年来在VHDL建模. 综合. 仿真. 测试和验证上都取得了较大突破. 随着FPGA/CPLD器件规模在千万门级基础上继续扩大, 随着嵌入式微处理器 (如ARM, Nios, MIPS)迅猛发展, VHDL的应用也从传统的数字系统设计, 扩展到超大规模集成电路设计. 嵌入式系统设计当中, 并在以通信. 自动控制. 计算机为代表的信息领域中占据重要地位.
基于VHDL的广泛应用和发展前景, 近年来国内高校纷纷开设与VHDL相关的各种EDA教学. 我校的VHDL教学开展也较早, 通过这些年的教学和实践, 我们深刻体会到借助EDA工具开展VHDL教学, 对学生掌握数字电路基础知识, 增强实践能力有事半功倍的效果. 另外, VHDL教学作为信息类专业基础平台课开设, 对后续专业课程的学
习有着重要的铺垫作用. 例如, 通过对状态机VHDL设计. 存储器VHDL设计, 对后续“计算机组成原理”. “嵌入式系统设计”和“计算机控制系统”等课程的学习而言, 无疑是起着承上启下的作用, 又如. 通过数字信号处理(DSP)的VHDL设计, 对于后续“信号与系统”. “数字信号处理原理”等课程而言, VHDL提供了一种理论联系实际的桥梁, 从而使老师教起来轻松, 学生学起来有兴趣.
感谢电子工业出版社将本书列入其规划出版的《高等学校电工电子实践系列》教材丛书中, 同时也鞭策我们尽快地总结这些年来的教学经验, 同时吸纳当前EDA技术进展, 从而形成教材. 经过我们艰苦而仔细的耕耘, 本书得以按时完稿. 在写作风格上, 我们力图从实践角度人手, 没有拘泥于传统教学方式——将VHDL当做一门语言课(如C语言)来教. 读者翻开本书可以看到, 本书实践部分共有108个设计范例, 前面的范例是以数字电路各组成要素为主线, 密切结合数字电路基础教学内容来安排的. 对学生而言, 有了一种比照的基础, 就能轻松入门并动手操作, 对于VHDL的初学者而言, 这样的安排, 也能使其巩固数字电路基础知识并理解VHDL基本组成模块的设计. 在掌握VHDL基本设计以后, 读者可以回过头来仔细阅读第1章VHDL语法, 并结合实例操作. 在这之
后, 本书安排有状态机设计. 存储器设计. DSP设计以及数字系统设计实例, 读者可结合EDA工具和FPGA/CPLD开发系统进行实践, 参照设计实例先做改动设计, 逐渐熟悉VHDL设计和仿真方法后, 就可独立开发出自己的源程序了.
本书由杨刚. 龙海燕共同编著. 四川省自动化仪表研究所所长. 四川大学电气信息学院教授汪道辉先生担任本书主审. 同时参加本书审稿工作还有四川大学电气信息学院的田远富教授. 黄华教授. 夏建刚副教授, 感谢他们审阅全书, 并提出宝贵意见. 作者在编写过程中还得到四川大学电气信息学院各位老师和领导的鼓励和支持, 在此一并表示感谢!
本书不足之处, 恳请读者批评指正.
作 者
2004年1月于四川大学
无封面