第1章 绪论 1
1.1 逻辑器件概述 1
1.2 可编程逻辑器件PLD的发展历程 2
1.3 FPGA的特点 4
1.4 CPLD/FPGA的基本结构 5
1.4.1 CPLD的基本结构 5
1.4.2 FPGA的基本结构 7
1.4.3 CPLD与FPGA比较 10
1.5 Xilinx FPGA产品介绍 10
1.5.1 Xilinx公司概述 10
1.5.2 Xlinx FPGA产品 11
第2章 开发软件与开发流程 19
2.1 开发软件简介 19
2.1.1 ISE开发软件简介 20
2.1.2 ISE9.1i的安装 20
2.1.3 ModelSim仿真软件简介 23
2.2 一个简单的开发项目 23
2.3 开发软件使用进阶 36
2.3.1 ISE9.1i集成开发环境界面 37
2.3.2 设计输入 40
2.3.3 设计综合 51
2.3.4 功能仿真 53
2.3.5 工程实现 60
2.3.6 时序仿真 61
2.3.7 器件配置 64
第3章 VHDL硬件描述语言 67
3.1 VHDL的历史和概况 67
3.2 VHDL基本设计思想 67
3.3 VHDL语言设计的基本单元 69
3.3.1 实体 70
3.3.2 构造体 74
3.3.3 配置 78
3.3.4 包集合 82
3.3.5 库 83
3.4 VHDL语言的对象和数据类型 85
3.4.1 VHDL语言的对象类型 85
3.4.2 VHDL语言的数据类型 88
3.4.3 不同数据类型之间的转换 98
3.5 VHDL语言运算操作符 99
3.6 VHDL语言的描述语句 103
3.6.1 有关规则和基本语句 104
3.6.2 并发描述语句 113
3.6.3 顺序描述语句 122
3.6.4 其他语句 130
3.7 VHDL的层次结构设计 135
3.7.1 参数与参数配置 135
3.7.2 元件与元件例化 137
3.7.3 generate语句 138
3.7.4 子程序(Subprogram) 143
3.7.5 VHDL的行为级建模与RTL建模 146
3.8 有限状态机(FSM) 148
3.8.1 有限状态机(FSM) 148
3.8.2 一个FSM的RTL代码实例 155
第4章 Xilinx IP核 158
4.1 Xilinx的IP介绍 158
4.2 Xilinx IP配置工具及使用方法 159
4.3 时钟管理IP 164
4.3.1 DCM模块 164
4.3.2 DCM的使用方法 165
第5章 FPGA的配置和电源设计 171
5.1 FPGA的配置 171
5.1.1 FPGA的配置引脚 171
5.1.2 FPGA的配置模式 171
5.1.3 FPGA的配置流程 172
5.1.4 FPGA的配置电路 173
5.2 FPGA的电源设计 175
5.2.1 FPGA的电源指标 175
5.2.2 FPGA的功耗估计 176
5.2.3 FPGA的电源解决方案 177
第6章 VHDL程序设计实验 181
6.1 实验一 层次化工程的创建 181
6.2 实验二 仿真测试平台的创建 188
6.3 实验三 存储器和记录类型实验 193
6.4 实验四 n比特计数器及RTL验证实验 197
6.5 实验五 比较器实验 203
6.6 实验六 算术逻辑单元实验 208
6.7 实验七 状态机实验 213
6.8 实验八 计数器实验 220
6.9 实验九 IP核应用实验 229
6.10 实验十 数字时钟管理IP核实验 239
第7章 FPGA逻辑设计实验 253
7.1 实验一 熟悉Xilinx开发工具 253
7.2 实验二 结构体生成向导和PACE 261
7.3 实验三 全局时钟约束实验 270
7.4 实验四 综合技巧实验 282
7.5 实验五 IP核生成实验 287
7.6 实验六 Chipscope调试实验 293
附录A VHDL关键字 302
附录B VHDL中的运算操作符 303
附录C VHDL中的描述语句及用法 304
附录D VHDL中的属性定义 310
附录E IEEE的标准库 313
参考文献 337