VHDL语言是国际标准化硬件描述语言,在电子系统自动化设计中已经十分流行,并且成为主要的硬件描述工具。如今在电子系统设计领域中,它已成为广大技术人员必须掌握的一种语言。\r\n\r\n 本书分为三个部分对VHDL语言进行全面介绍。第一部分主要介绍VHDL语言的基础知识,为初学者打下一个良好的基础;第二部分主要介绍目前在电子电路设计中常用的电路结构的VHDL描述,以使读者掌握用VHDL语言设计简单逻辑电路的基本方法;第三部分从一些大型实例出发,介绍用VHDL语言设计大型复杂电路的流程和在设计过程中所用到的设计技巧,以使读者全面掌握VHDL语言并成为这方面的高手。书中列举的大量实例都是经过微机上的MAX+plusII软件和SUN SPARC工作站上的Synopsys软件的验证。\r\n\r\n 本书的特点是全面系统、易读易懂、由浅入深,能够使读者逐步掌握VHDL语言。本书既可作为高等学校计算机和电子工程专业的研究生。本科生的教材和教学参考书,也可作为广大电子电路设计工程师、A-SIC设计人员和系统设计人员的参考书。\r\n\r\n\r\n
\r\n
第一章 VHDL简介 \r\n\r\n 1. 1 VHDL的历史 \r\n\r\n 1. 2 VHDL的特点 \r\n\r\n 1. 3 用VHDL进行设计的流程 \r\n\r\n 第二章 VHDL的基本结构 \r\n\r\n 2. 1 设计实体 \r\n\r\n 2. 2 实体说明 \r\n\r\n 2. 2. 1 类属参数说明 \r\n\r\n 2. 2. 2 端口说明 \r\n\r\n 2. 3 结构体 \r\n\r\n 2. 3. 1 行为描述方式 \r\n\r\n 2. 3. 2 数据流描述方式 \r\n\r\n 2. 3. 3 结构描述方式 \r\n\r\n 2. 3. 4 混合描述方式 \r\n\r\n 第三章 VHDL结构体的子结构 \r\n\r\n 3. 1 块语句结构 \r\n\r\n 3. 1. 1 块语句的结构 \r\n\r\n 3. 1. 2 卫式块语句 \r\n\r\n 3. 2 进程语句结构 \r\n\r\n 3. 2. 1 进程的结构 \r\n\r\n 3. 2. 2 进程同步 \r\n\r\n 3. 3 子程序结构 \r\n\r\n 3. 3. 1 过程 \r\n\r\n 3. 3. 2 函数 \r\n\r\n 第四章 VHDL的对象. 数据类型及运算操作符 \r\n\r\n 4. 1 VHDL的对象 \r\n\r\n 4. 1. 1 常量 \r\n\r\n 4. 1. 2 信号 \r\n\r\n 4. 1. 3 变量 \r\n\r\n 4. 1. 4 文件 \r\n\r\n 4. 1. 5 信号与变量的区别 \r\n\r\n 4. 2 VHDL的数据类型 \r\n\r\n 4. 2. 1 标量类型 \r\n\r\n 4. 2. 2 复合类型 \r\n\r\n 4. 2. 3 子类型 \r\n\r\n 4. 3 VHDL的运算操作符 \r\n\r\n 4. 3. 1 逻辑运算符 \r\n\r\n 4. 3. 2 算术运算符 \r\n\r\n 4. 3. 3 关系运算将 \r\n\r\n 4. 3. 4 并置运算符 \r\n\r\n 4. 3. 5 操作运算符的优先级 \r\n\r\n 4. 4 VHDL的词法单元 \r\n\r\n 4. 4. 1 注释 \r\n\r\n 4. 4. 2 数字 \r\n\r\n 4. 4. 3 字符和字符串 \r\n\r\n 4. 4. 4 位串 \r\n\r\n 第五章 VHDL中的顺序语句 \r\n\r\n 5. 1 信号代入语句和变量赋值语句 \r\n\r\n 5. 2 wait语句 \r\n\r\n 5. 2. 1 wait on \r\n\r\n 5. 2. 2 wait until \r\n\r\n 5. 2. 3 wait for \r\n\r\n 5. 2. 4 多条件等待语句 \r\n\r\n 5. 2. 5 超时等待的处理 \r\n\r\n 5. 3 if语句 \r\n\r\n 5. 4 case语句 \r\n\r\n 5. 5 loop语句 \r\n\r\n 5. 5. 1 for loop循环 \r\n\r\n 5. 5. 2 while loop循环 \r\n\r\n 5. 6 next语句 \r\n\r\n 5. 7 exit语句 \r\n\r\n 5. 8 return语句 \r\n\r\n 5. 9 null语句 \r\n\r\n 5. 10 过程调用语句 \r\n\r\n 5. 11 断言语句 \r\n\r\n 5. 12 report语句 \r\n\r\n 第六章 VHDL中的并行语句 \r\n\r\n 6. 1 进程语句 \r\n\r\n 6, 2 块语句 \r\n\r\n 6. 3 并行信号代入语句 \r\n\r\n 6. 3. 1 并发信号代入语句 \r\n\r\n 6. 3. 2 条件信号代入语句 \r\n\r\n 6. 3. 3 选择信号代入语句 \r\n\r\n 6. 4 并行断言语句 \r\n\r\n 6. 5 并行过程调用语句 \r\n\r\n 6. 6 参数传递语句 \r\n\r\n 6. 7 元件例化语句 \r\n\r\n 6. 8 生成语句 \r\n\r\n 6. 8. 1 for模式的生成语句 \r\n\r\n 6. 8. 2 if模式的生成语句 \r\n\r\n 第七章 库. 程序包和配置 \r\n\r\n 7. 1 库 \r\n\r\n 7. 2 程序包 \r\n\r\n 7. 3 配置 \r\n\r\n 7. 3. 1 默认连接和默认配置 \r\n\r\n 7. 3. 2 元件配置 \r\n\r\n 7. 3. 3 块的配置 \r\n\r\n 7. 3. 4 结构体的配置 \r\n\r\n 第八章 VHDL的预定义属性 \r\n\r\n 8. 1 值类属性 \r\n\r\n 8. 1. 1 常用数据类型的值类属性 \r\n\r\n 8. 1. 2 数组的值类属性 \r\n\r\n 8. 1. 3 块的值类属性 \r\n\r\n 8. 2 函数类属性 \r\n\r\n 8. 2. 1 数据类型属性函数 \r\n\r\n 8. 2. 2 数组属性函数 \r\n\r\n 8. 2. 3 信号属性函数 \r\n\r\n 8. 3 信号类属性 \r\n\r\n 8. 3. 1 属性'delaved[(t)] \r\n\r\n 8. 3. 2 属性'stable[(t)] \r\n\r\n 8. 3. 3 属性'quiet[(t)] \r\n\r\n 8. 3. 4 属性'transaction \r\n\r\n 8. 4 数据类型类属性 \r\n\r\n 8. 5 数据范围类属性 \r\n\r\n 第九章 重载 \r\n\r\n 9. 1 子程序重载 \r\n\r\n 9. 1. 1 子程序参数的重载 \r\n\r\n 9. 1. 2 子程序参数数目的重载 \r\n\r\n 9. 1. 3 标准程序包的重载 \r\n\r\n 9. 2 运算符重载 \r\n\r\n 第十章 组合逻辑电路的设计 \r\n\r\n 10. 1 门电路 \r\n\r\n 10. 1. 1 二输入与门电路 \r\n\r\n 10. 1. 2 二输入或门电路 \r\n\r\n 10. 1. 3 二输入与非门电路 \r\n\r\n 10. 1. 4 二输入或非门电路 \r\n\r\n 10. 1. 5 反相门电路 \r\n\r\n 10. 1. 6 二输入异或门电路 \r\n\r\n 10. 1. 7 三输入与非门电路 \r\n\r\n 10. 2 编码器和译码器 \r\n\r\n 10. 2. 1 编码器 \r\n\r\n 10. 2. 2 译码器 \r\n\r\n 10. 3 多路选择器 \r\n\r\n 10. 4 比较器 \r\n\r\n 10. 5 加法器 \r\n\r\n 第十一章 时序逻辑电路的设计 \r\n\r\n 11. 1 触发器 \r\n\r\n 11. 1. 1 D触发器 \r\n\r\n 11. 1. 2 JK触发器 \r\n\r\n 11. 1. 3 T触发器 \r\n\r\n 11. 1. 4 锁存器 \r\n\r\n 11. 2 寄存器和移位寄存器 \r\n\r\n 11. 2. 1 寄存器 \r\n\r\n 11. 2. 2 移位寄存器 \r\n\r\n 11. 3 计数器 \r\n\r\n 11. 3. 1 同步计数器 \r\n\r\n 11. 3. 2 异步计数器 \r\n\r\n 11. 4 分频器 \r\n\r\n 第十二章 有限状态机 \r\n\r\n 12. 1 有限状态机的基本描述 \r\n\r\n 12. 1. 1 有限状态机的描述方式 \r\n\r\n 12. 1. 2 一个Moors型有限状态机的描述 \r\n\r\n 12. 2 有限状态机的同步输出和复位 \r\n\r\n 12. 2. 1 同步输出信号 \r\n\r\n 12. 2. 2 有限状态机的复位 \r\n\r\n 12. 3 改进的Moors型有限状态机 \r\n\r\n 12. 3. 1 把状态作为输出信号的Moors型有限状态机 \r\n\r\n 12. 3. 2 并行输出寄存器的译码输出的Moors型有限状态机 \r\n\r\n 第十三章 实例1--秒表 \r\n\r\n 13. 1 秒表的功能描述 \r\n\r\n 13. 2 顶层设计的VHDL源代码 \r\n\r\n 13. 2. 1 顶层实体的VHDL源代码 \r\n\r\n 13. 2. 2 顶层结构体的设计及VHDL源代码 \r\n\r\n 13. 3 秒表各个模块的分析及其VHDL源代码 \r\n\r\n 13. 3. 1 键输入模块 \r\n\r\n 13. 3. 2 时钟分频模块 \r\n\r\n 13. 3. 3 控制模块 \r\n\r\n 13. 3. 4 秒表计时模块 \r\n\r\n 13. 3. 5 秒表显示模块 \r\n\r\n 第十四章 实例2--数字密码引爆器 \r\n\r\n 14. 1具数字密码引爆器的功能描述 \r\n\r\n 14. 2 顶层设计的VHDL源代码 \r\n\r\n 14. 2. 1 顶层实体的VHDL源代码 \r\n\r\n 14. 2. 2 顶层结构体的设计及VHDL源代码 \r\n\r\n 14. 3 次级电路分析及其VHDL源代码 \r\n\r\n 14. 3. 1 输出消抖同步电路 \r\n\r\n 14. 3. 2 编码电路 \r\n\r\n 14. 3. 3 比较电路 \r\n\r\n 14. 3. 4 预置密码电路 \r\n\r\n 14. 3. 5 计数器选择电路 \r\n\r\n 14. 3. 6 控制指示灯电路 \r\n\r\n 14. 3. 7 分频电路 \r\n\r\n 14. 3. 8 七段显示译码电路 \r\n\r\n 14. 3. 9 其他电路 \r\n\r\n 14. 4 控制器的分析及其VHDL源代码 \r\n\r\n 第十五章 实例3--常用程序包 \r\n\r\n 15. 1 std_logic_1164 \r\n\r\n 15. 2 std_logic_unsigned \r\n\r\n 15. 3 std_logic_signed \r\n\r\n 15. 4 std_logic_arith \r\n\r\n 附录A VHDL的保留字 \r\n\r\n 附录B 一些有用的网址 \r\n\r\n \r\n\r\n \r\n
\r\n
21世纪以来, 随着信息技术的不断发展, 电子技术面临着严峻的挑战. 随着技术发展周期的不断缩短, 专用集成电路(ASIC)的设计面临着设计复杂度木断提高而设计周期不断缩短的矛盾. 为了解决这个矛盾, 要求我们必须采用新的设计方法和使用高层次的设计工具. 其中重要的一点就是采用电子设计自动化(EDA)的方法, 该方法使得几乎硬件电子电路的所有设计过程都可以通过计算机来完成. 这种方法的好处是大大缩短专用集成电路的设计周期, 使得生产厂商的产品能够迅速上市, 大大提高产品的竞争能力.
在硬件电子电路设计领域中, 设计自动化工具已经被广大电子工程师所接受, 它必将取代人工设计方法, 成为主要的设计手段. 电子设计自动化的重要特征就是要求采用形式化语言来描述硬件电子电路的功能, 即使用硬件描述语言来描述硬件电子电路. 目前, 作为硬件描述语言之一的VHDL已经成为各家EDA工具和集成电路厂商所普遍认同和共同推广的标准化硬件描述语言. 掌握VHDL语言, 学会用VHDL语言设计硬件电子电路, 是每个电子工程师所必须掌握的一项基本技能.
VHDL是一种非常适用于可编程逻辑器件的应用设计, 并且正在得到普及. VHDL设计技术是引起电子系统设计方式发生突破性变化的技术. VHDL(Very High Speed IntegratedCircuit(VHSIC)Hardware Description Language)作为IEEE标准所规范的硬件描述语言, 随着各种EDA工具和集成电路厂商的普遍认同和推广, 目前正在全球范围内先进国家的电子系统设计领域获得广泛应用.
如今在国内电子产业界, 无论ASIC设计人员还是系统设计人员, 都需要学习VHDL来提高他们的工作效率, 多所高等学校也已先后开设了电子电路设计自动化的课程, 要求某些专业的本科生. 研究生必须掌握VHDL语言.
随着VHDL语言的广泛应用, 无论是电子设计工程师, 还是高等院校的学生都迫切需要一本除了介绍VHDL基本概念和基本语法外, 还能够从实际出发. 着重介绍各种不同电路结构的描述方法的参考书. 可以看出, 广大读者迫切需要一本这样的书:能够较详细地介绍VHDL的基本概念和基本语法, 能够介绍目前在硬件电子电路设计中常用的电路结构的VHDL描述, 能够举一些实例, 来描述用VHDL语言设计硬件电子电路的流程和在设计过程
中所用到的设计技巧等等. 作者编写此书的目的就是从以上方面来满足广大读者的需要, 以使读者能够全面掌握VHDL语言.
本书分为三个部分对VHDL语言进行全面介绍.
第一部分主要介绍VHDL语言的基础知识, 目的是为初学者打下一个良好的基础. 该部分由第一章到第九章组成, 重点介绍了VHDL的基本结构. VHDL结构体的三种子结构. VHDL的对象. VHDL的数据类型. VHDL的运算操作符. VHDL的词法单元. VHDL的顺序语句. VHDL的并行语句. VHDL的库. 程序包和配置的概念. VHDL的预定义属性以及重载的概念.
第二部分主要介绍目前在硬件电子电路设计中常用的电路结构的VHDL描述, 以使读者掌握用VHDL语言设计简单逻辑电路的基本方法. 这部分主要包括第十章到第十二章:第十章介绍了常用的组合逻辑电路的VHDL描述, 第十一章介绍了常用的时序逻辑电路的VHDL描述, 第十二章主要介绍了在硬件电路设计中广泛使用的有限状态机, 有限状态机在硬件电路设计中常常用来实现控制器的功能.
第三部分从一些大型实例出发, 介绍用VHDL语言设计大型复杂电路的流程和在设计过程中所用到的设计技巧, 以使读者全面掌握VHDL语言而成为使用VHDL的高手. 这部分主要介绍了三个应用实例:第十三章介绍了秒表设计的整个流程以及其中各个模块的实现, 使读者初步掌握自项向下的设计方法, 第十四章给出了一个数字密码引爆器的设计, 目的是加深对自须向下的设计方法的理解, 第十五章给出了常用的程序包, 目的是希望读者掌握程序包中所包含的内容和其中使用的设计方法.
作者在本书中列举的大量小例子许多都取自于实际硬件电路的设计, 并且经过了微机上的MAX+plusII软件和SUN SPARC工作站上的Synopsys软件的编译验证.
本书的特点是全面系统. 易读易懂. 由浅入深, 使读者逐步掌握VHDL语言. 本书既可作为高等学校计算机和电子工程专业的研究生和本科生的教材和教学参考书, 也可作为广大电子电路设计工程师. ASIC设计人员和系统设计人员的参考书.
作者在编写本书的过程中参考了许多关于VHDL语言的最新专著及文献, 同时本书也包含着作者在使用VHDL语言设计硬件电路过程中的经验总结. 作者在此向所有对本书提出宝贵建议的学者表示衷心地感谢, 同时向使本书顺利出版的北京邮电大学出版社的领导和编辑及工作人员表示深深的谢意!
作者有幸通过本书的编写与读者交流使用VHDL语言进行硬件电路设计的心得体会. 但是鉴于作者的水平, 书中一定存在错误和不足之处, 望读者不吝批评指正.
作者
2001年6月
无封面