第1章 绪论
1.1 EDA工具的历史及现状
1.2 硬件描述语言HDL
1.3 VHDL简述
1.3.1 VHDL的诞生
1.3.2 VHDL语言特点
1.3.3 VHDL设计简述
1.3.4 VHDL的结构体描述
1.4 一个简单实例
1.5 小结
第2章 VHDL语言基础
2.1 VHDL程序设计基本结构
2.1.1 实体声明
2.1.2 结构体
2.1.3 配置
2.1.4 程序包
2.2 VHDL中的数据
2.2.1 标志符
2.2.2 数据对象
2.2.3 VHDL数据类型
2.2.4 用户自定义类型
2.2.5 类型声明与子类型声明的地方
2.3 VHDL中的表达式
2.3.1 操作符
2.3.2 操作数
2.4 小结
第3章 VHDL中的描述语句
3.1 顺序描述语句
3.1.1 对象与赋值语句
3.1.2 变量赋值与信号赋值
3.1.3 if语句
3.1.4 case语句
3.1.5 loop语句
3.1.6 子程序
3.1.7 return语句
3.1.8 wait语句
3.1.9 null语句
3.2 并行描述语句
3.2.1 进程语句
3.2.2 块语句
3.2.3 顺序描述语句的并行版本
3.2.4 组件例化语句
3.2.5 生成语句
3.3 子程序
3.3.1 子程序声明
3.3.2 子程序主体
3.3.3 子程序重载
3.3.4 决断函数
3.4 小结
第4章 编程实例
4.1 编码器
4.2 译码器
4.3 加法器
4.4 寄存器
4.5 移位寄存器
4.6 计数器
4.7 串并转换器
4.8 并串转换器
4.9 存储器的实现和应用
4.10 信号发生器
4.11 更为复杂的信号发生器
4.12 序列计数器
4.13 一个具有层次化的设计示例----微处理器
4.13.1 AM2901结构简介
4.13.2 为AM2901建立一个程序包
4.13.3 AM2901功能设计
4.13.4 AM2901顶层数据包
4.13.5 AM2901顶层实体
4.14 小结
第5章 MAX+plusⅡ及其应用
5.1 MAX+plusⅡ简介与应用例解
5.2 安装MAX+plusⅡ 9.4
5.3 启动MAX+plusⅡ
5.4 感性认识----编写一个计数器counter
5.4.1 建立VHDL语言的设计输入文件
5.4.2 建立工程
5.4.3 设置编译选项, 编译综合工程
5.4.4 仿真
5.4.5 器件编程
5.5 利用Altera公司的库快速生成程序
5.6 小结
第6章 Quartus及其应用
6.1 Quartus 2000.02 版软件包
6.2 安装Quartus 2000.02
6.3 感性认识----编写一个除法小程序
6.3.1 使用向导建立工程divide
6.3.2 建立设计输入文件divider.vhd
6.3.3 设定编译选项
6.3.4 编译文件
6.3.5 编辑波形仿真文件
6.3.6 进行仿真并分析结果
6.4 除法器电路的一些改进
6.5 Quartus中Altera库函数
6.5.1 直接调用方式
6.5.2 使用Quartus的Megawizard Plus_In Manager
6.6 小结
第7章 VHDL编程指南
7.1 一些相关设计理论
7.1.1 使用自顶向下的系统级设计方法
7.1.2 使用状态机的设计方法
7.1.3 使用流水线的设计方法
7.2 设计中的一些重要概念
7.2.1 组合逻辑和时序逻辑
7.2.2 Latch和Flip_flop
7.2.3 资源库的使用
7.2.4 片内存储器RAM的使用
7.2.5 高阻状态设置
7.3 可编程逻辑器件CPLD和FPGA
7.3.1 CPLD简介
7.3.2 FPGA简介
7.4 小结
附录A VHDL保留字
附录B 部分FPGA厂家名录
附录C EDA工具软件一览表
C.1 VHDL编辑软件一览表
C.2 RTL级综合工具软件一览表
C.3 VHDL仿真工具软件一览表
C.4 FPGA编程软件一览表
附录D 预定义的程序包
D.1 std_logic_1164程序包
D.2 std_logic_arith程序包
D.3 std_logic_unsigned程序包
D.4 std_logic_signed程序包
附录E VHDL语法的BNF范式表示
参考文献
后 记