1 概述 1
1.1采用VHDL的原因 2
1.2不足之处 4
1.3采用VHDL设计综合的过程 5
1.4设计流程 9
1.5 Cypress的开发系统 10
1.6字型协定 10
练习1.1 11
1.7小结 13
问题1 13
2.1概述 14
2.2采用可编程逻辑的原因 14
2 可编程逻辑基础 14
2.3何谓可编程逻辑器件 16
2.4简单的PLD 22V10 22
练习2.1 28
2.5 CPLD器件结构 28
练习2.2 40
2.6 FPGA器件结构 41
练习2.3 54
2.7 PREP基准协议 54
2.8可编程逻辑的未来发展方向 56
练习2.4 57
问题2 57
3.2简单的实例 59
3 实体和构造 59
3.1概述 59
3.3设计实体 60
练习3.1 68
练习3.2 78
3.4标识符、数据对象、数据类型及属性 78
3.5常见错误 87
练习3.3 89
问题3 89
4 组合和同步逻辑的设计 92
4.1概述 92
4.2设计实例 92
4.3组合逻辑 94
练习4.1 110
4.4同步逻辑 111
练习4.2 121
4.5设计先进先出(FIFO)缓冲器 127
练习4.3 131
4.6常见错误 131
4.7测试平台 136
问题4 136
5 状态机设计 139
5.1概述 139
5.2一个简单的设计实例 139
5.3内存控制器设计 146
练习5.1 152
5.4设计的面积、速度和占用资源 154
练习5.2 168
5.5 Mealy型状态机设计 168
5.6设计中的其它因素 169
5.7小结 173
问题5 174
6 大型设计中的层次结构 176
6.1概述 176
6.2设计实例:AM2901 176
练习6.1 189
练习6.2 198
6.3设计实例:100BASE-T4以太网中继器 199
问题6 236
7 函数和过程 238
7.1概述 238
7.2函数 238
练习7.1 257
7.3过程 258
7.4有关子程序小结 261
问题7 261
8 逻辑综合和设计实现 262
8.1概述 262
8.2设计实现的实例 262
8.3逻辑综合和实现 265
8.4针对CPLD器件的设计实例 266
练习8.1 273
8.5针对FPGA器件的设计实例 297
8.6选择使用CPLD还是FPGA器件 311
练习8.2 311
问题8 311
9 优化数据通路 314
9.1概述 314
9.2流水线设计 314
9.3资源共享 317
练习9.1 330
9.4数值比较器 330
9.5高速计数器 333
问题9 336
10 建立测试平台 337
10.1概述 337
10.2建立测试平台的不同途径 338
10.3读写过程的重载 347
练习10.1 349
问题10 349
结束语 350
附录A 安装WARP软件及浏览手册的在线文本 352
附录B 保留字 353
附录C VHDL速查表 353
附录D 名词解释 373
附录E 词汇索引 376