第1章 VHDL概述 1
1.1 硬件描述语言 1
1.1.1 硬件描述语言的产生 1
1.1.2 硬件描述语言的种类 2
1.2 VHDL硬件描述语言 3
1.2.1 VHDL的特点 4
1.2.2 VHDL设计流程 5
第2章 VHDL硬件描述语言 6
2.1 VHDL的基本元素 6
2.1.1 标识符 6
2.1.2 数据对象 8
2.1.3 数据类型 12
2.1.4 运算符和操作符 18
2.2 VHDL程序的基本结构 23
2.2.1 实体说明 27
2.2.2 结构体 30
2.2.3 程序包 36
2.2.4 库 38
2.3 VHDL的主要语句 41
2.3.1 进程语句 41
2.3.2 信号赋值语句 46
2.3.3 顺序描述语句 51
2.3.4 并行描述语句 70
2.3.5 GENERIC语句 74
2.3.6 GENERATE语句 76
2.3.7 BLOCK语句 80
2.3.8 过程及函数 85
2.4 VHDL的属性描述 94
2.4.1 值类属性 95
2.4.2 函数类属性 98
2.4.3 信号类属性 103
2.4.4 数据类型类属性 107
2.4.5 数据范围类属性 107
第3章 数字钟设计 110
3.1 设计任务 110
3.2 系统设计 110
3.3 模块实现 117
3.3.1 计时模块 117
3.3.2 校时模块 121
3.3.3 显示模块 126
第4章 通用串并乘法器设计 129
4.1 串并乘法器原理 129
4.2 系统设计 129
4.3 模块设计与实现 132
4.3.1 全加器模块 132
4.3.2 流水线单元模块 134
4.3.3 其他简单模块 135
第5章 串行通信接口SCI设计 139
5.1 RS—232串行通信简介 139
5.1.1 标准概述 139
5.1.2 协议规范 141
5.1.3 通信时序 143
5.2 系统设计 144
5.2.1 SCI内部寄存器 145
5.2.2 SCI顶层设计与实现 150
5.3 模块设计与实现 164
5.3.1 微处理器接口模块 164
5.3.2 发送模块 176
5.3.3 接收模块 184
5.3.4 波特率发生模块 193
5.3.5 LOOPBACK模块 196
5.3.6 Modem模块 198
第6章 看门狗设计 201
6.1 设计任务 201
6.2 系统设计 202
6.3 模块设计与实现 206
6.3.1 计数比较模块 206
6.3.2 分频模块 208
6.3.3 复位计时模块 210
第7章 出租车计价器设计 212
7.1 设计任务 212
7.2 系统设计 212
7.3 模块设计与实现 217
7.3.1 计费模块 217
7.3.2 显示模块 223
第8章 高层电梯控制器设计 231
8.1 设计任务 231
8.2 系统设计 232
8.3 模块设计与实现 233
8.3.1 主控制器模块 233
8.3.2 分控制器模块 244
第9章 数字频率计设计 248
9.1 计数测频 248
9.1.1 设计任务 249
9.1.2 系统设计 249
9.1.3 模块设计与实现 254
9.2 等精度测频 265
第10章 数字密码锁设计 268
10.1 设计任务 268
10.2 系统设计 268
10.3 模块设计与实现 276
10.3.1 控制模块 276
10.3.2 计数器模块 281
10.3.3 寄存器模块 282
10.3.4 比较器模块 284
10.3.5 编码器模块 285
第11章 I2C总线控制器设计 288
11.1 I2C总线概述 288
11.1.1 I2C总线基本概念 289
11.1.2 I2C数据传输时序 290
11.2 系统设计 291
11.2.1 微控制器接口 291
11.2.2 I2C控制器的内部寄存器 293
11.2.3 顶层实体设计及实现 296
11.3 模块设计与实现 301
11.3.1 微控制器接口模块 301
11.3.2 I2C协议控制器模块 310
11.3.3 其他简单模块 335
第12章 异步FIFO设计 338
12.1 异步FIFO原理 338
12.2 系统设计 340
12.3 模块设计与实现 343
12.3.1 空/满标志产生逻辑 343
12.3.2 格雷码计数器 347
12.3.3 格雷码-二进制码转换模块 349
12.3.4 存储器设计 350
第13章 数字直接频率合成设计 355
13.1 DDS原理 355
13.2 系统设计 358
13.3 模块设计与实现 365
13.3.1 微控制器接口模块 365
13.3.2 比例乘法器模块 379
13.3.3 相位累加器模块 384
13.3.4 双端RAM模块 386
第14章 基于FPGA的虚拟逻辑分析仪设计 393
14.1 虚拟仪器概述 393
14.1.1 虚拟仪器的发展 393
14.1.2 虚拟仪器的特点 395
14.1.3 虚拟逻辑分析仪 397
14.2 系统设计 399
14.2.1 人机界面设计 399
14.2.2 顶层设计及实现 401
14.3 模块设计及实现 404
14.3.1 触发模块 404
14.3.2 采样存储模块 409
14.3.3 其他简单模块 415
附录1 保留字 420
附录2 一些有用的网址 421
参考文献 422