第1章 现代数字系统设计技术概述 1
1.1 概述 1
1.1.1 可编程逻辑器件PLD概述 1
1.1.2 电子设计自动化技术概述 3
1.2 现代数字系统的设计流程 6
1.3 EDA软件工具简介 8
1.4 现代数字系统设计的发展趋势 14
小结 18
习题 19
第2章 基于原理图的设计 20
2.1 Xilinx ISE Foundation介绍 20
2.1.1 安装ISE Foundation 20
2.1.2 ISE Foundation界面 22
2.1.3 ISE Foundation的集成工具 23
2.2 基于原理图的设计流程 25
2.2.1 创建工程 25
2.2.2 原理图绘制 28
2.2.3 逻辑综合 34
2.2.4 物理实现 36
2.2.5 仿真验证 41
2.2.6 硬件配置 45
小结 47
习题 48
实验项目 48
实验一 七段译码原理电路的设计与仿真 48
实验二 二十五进制计数器设计与仿真 50
实验三 排球比赛计分显示系统设计与仿真 51
第3章 基于Verilog HDL语言的设计 52
3.1 Verilog HDL概述 52
3.1.1 几个简单的Verilog HDL例子 53
3.1.2 Verilog HDL的基础知识 56
3.1.3 Verilog HDL的描述层次 62
3.2 门级建模 63
3.2.1 门的类型 63
3.2.2 实例数组(Array of Instances) 65
3.2.3 应用举例 66
3.2.4 门延迟 66
3.3 数据流建模 68
3.3.1 连续赋值语句 68
3.3.2 表达式、运算符和操作数 68
3.3.3 举例 72
3.4 行为级建模 73
3.4.1 顺序块和并行块语句 73
3.4.2 条件语句 75
3.4.3 循环语句 78
3.4.4 赋值语句 81
3.4.5 结构化语句 82
3.4.6 系统任务和函数 87
3.4.7 编译预处理命令 92
3.4.8 有限状态机设计 95
3.5 Verilog HDL的可综合设计 100
3.6 Testbench文件与设计 102
3.6.1 测试平台的搭建 102
3.6.2 Testbench文件设计 104
3.7 Verilog HDL在ISE软件中设计示例 108
小结 113
习题 114
实验项目 116
实验一 七段数码显示译码器设计 116
实验二 含异步清零和同步使能的四位加法计数器 116
实验三 桶形移位器(Barrel Shifter)设计 117
实验四 用状态机实现序列检测器的设计 117
实验五 循环冗余校验(CRC)模块设计 118
第4章 基于IP Core的设计 120
4.1 IP模块的种类与应用 120
4.2 IP Core的选择与复用 121
4.2.1 IP Core的选择 121
4.2.2 IP Core的复用 123
4.3 IP Core生成工具简介 124
4.4 常用IP Core的设计 126
4.4.1 可逆计数器的设计 126
4.4.2 存储器的设计 129
4.4.3 时钟的设计 140
小结 147
习题 147
实验项目 147
实验一 计数器的设计 147
实验二 正弦波形发生器的设计 148
实验三 双口RAM的设计 148
第5章 系统仿真 150
5.1 ModelSim软件的安装及简介 150
5.1.1 ModelSim软件的安装 150
5.1.2 ModelSim窗口简介 151
5.1.3 ModelSim的使用方式 154
5.2 在ISE中调用ModelSim 158
5.2.1 建立仿真环境 158
5.2.2 在ISE中调用ModelSim实现功能仿真 162
5.2.3 在ISE中调用ModelSim实现时序仿真 163
5.3 在ModelSim中进行仿真 166
5.4 基于IP Core的FIFO仿真实例 169
5.4.1 建立FIFO IP Core的源文件 169
5.4.2 建立Testbench文件 170
5.4.3 在ModelSim中进行仿真 172
小结 174
习题 174
实验项目 175
实验一 数控分频器设计与仿真 175
实验二 8位十进制频率计设计 175
第6章 可编程逻辑器件原理 177
6.1 可编程逻辑器件的分类及特点 177
6.2 复杂可编程逻辑器件CPLD 178
6.2.1 简单低密度PLD的原理 178
6.2.2 CPLD的结构和工作原理 185
6.3 现场可编程门阵列FPGA 192
6.3.1 FPGA的基本结构 193
6.3.2 基于查找表的FPGA的结构和工作原理 194
6.4 FPGA的配置 203
6.4.1 FPGA在系统可配置原理 204
6.4.2 FPGA配置方式 205
6.4.3 配置流程 208
6.5 可编程逻辑器件的选用 208
6.6 Xilinx器件命名 210
6.6.1 CPLD器件命名 210
6.6.2 FPGA器件命名 210
小结 211
习题 211
第7章 基于FPGA的系统级设计技术 212
7.1 基于FPGA的嵌入式开发技术 212
7.1.1 嵌入式系统与SOPC技术 212
7.1.2 基于SOPC的嵌入式系统开发流程 214
7.2 MicroBlaze嵌入式处理器 216
7.3 嵌入式开发套件EDK 219
7.3.1 EDK的组成 220
7.3.2 EDK的任务流程、工具模块与工程管理 221
7.3.3 EDK的使用 224
7.4 在SOPC系统中添加定制外设IP Core 237
7.5 Xilinx DSP设计平台 249
7.5.1 FPGA实现DSP的特点 249
7.5.2 FPGA的DSP硬件资源 251
7.5.3 FPGA实现DSP的软件工具 256
7.5.4 DSP Tools软件 257
7.6 FIR滤波器设计 265
7.6.1 产生FIR滤波器的系数 266
7.6.2 输入FIR滤波器模块 268
7.6.3 FIR滤波器模型设计 268
7.6.4 在Simulink中仿真FIR滤波器 270
7.6.5 完善FIR滤波器设计 271
小结 272
习题 272
实验项目 273
实验一 利用BSB向导构建嵌入式基本系统 273
实验二 基于SOPC的流水灯设计 273
实验三 创建一个12×8的乘法累加器 274
实验四 FIR滤波器设计 275
第8章 在线逻辑分析技术 277
8.1 JTAG边界扫描测试 277
8.2 在线逻辑分析仪ChipScope Pro概述 278
8.3 在线逻辑分析仪ChipScope Pro的使用 280
小结 287
实验项目 287
实验一 移位相加八位硬件乘法器电路设计 287
实验二 DDS设计 287
第9章 其它设计工具简介 289
9.1 Synplicity公司的Synplify Pro 289
9.2 Aldec公司的Active HDL 295
9.3 Mentor Graphics公司的 FPGA Advantage 298
小结 302
附录 303
附录1 Spartan-3E StarterKit Board介绍 303
附录2 参考课题 304
课题一 数字式竞赛抢答器 304
课题二 数字钟 305
课题三 数字频率计 305
课题四 拔河游戏机 306
课题五 乒乓球比赛游戏机 306
课题六 交通信号灯控制器 307
课题七 电子密码锁 308
课题八 彩灯控制器 308
课题九 脉冲按键电话显示器 309
课题十 简易电子琴 309
课题十一 出租车自动计费器 309
课题十二 洗衣机控制器 310
课题十三 DDS波形发生器 311
课题十四 简单的时分复用系统 311
课题十五 异步串口通信 312
课题十六 64K数据适配器设计 313
课题十七 简化LAPS协议实现 315
课题十八 直接序列扩频通信系统 317
课题十九 设计一个MAC FIR滤波器 318
课题二十 直接型数字下变频器 318
参考文献 320