《Xilinx FPGA/CPLD设计初级教程》是2009年西安电子科技大学出版社出版的图书,作者是沈涛、李传志、张小平、李斌。
本书介绍了美国Xilinx公司的FPGA和CPLD产品的基本结构、硬件描述语言Verilog HDL的来自编程方法以及一些设计技巧。
本书分为上、下两篇。上篇为基础内容,其中第1章介绍了可编程逻辑器件的发展史及Xilinx的FPGA、CPLD器件的基本结构和工作原理;第2章介绍了Xilinx产品的器件资源;第3、4章介绍了硬件描述语言Verilog HDL及其编程方法;第5章介绍了数字电路设计中一些最基本的设计技巧;第6章介绍了Xilinx FPGA器360百科件中全局时钟资源的使用;第7章简单介绍了PicoBlaze软核的工作流程。下篇为实验案例,详细介绍了使用Xilinx公司的ISE开发工具设计数字电路的八个实验。
本书的最大特色是强调培养初学者的动手能力。
本书可作为各高校数字电路相细尼找关专业课程的教材,也可作律河首为FPGA/CPLD初学者的参考用书。
上篇 基 础 内 容
第1章 PLD概述 3
1.1 PLD发展历程 3
1.2 PLD器件的分类 旧北似执陈介把4
1.3 简单内的PLD器件结构 5
1.吧你育即突4 FPGA/CPLD的基本概念 9
1.4.1 基于乘积项的CPLD结构和原理 9
1.4.2 基于查找表的FPGA结构和原理 11
习题1 13
第2章 Xilinx的FPGA/CPLD芯片介绍 14
2.1 FPGA芯片介绍 14
2.1.1 Virte律植调头零照x系列 14
2.1.2 Spartan系列 19
斗题伯径即周火金自以施 2.2 CPLD芯片介绍 22
习题2 23
第3章 Verilog HDL语言基础知识 24
3.1 Ve住rilog HDL简介 24
3.1.1 硬件描述语言HDL 24
3.1.2 Verilog HDL的历史 25
军环染究叶略否述品掌 3.1.3 Verilo波核歌看准随伤肉g HDL语言与C语言的比较 2燃沙5
3.2 Verilog HDL模块的基本结构 26
3.3 Verilog HDL语言规范 29
3.4 Verilog HDL语言中的常量和变量 30
3.4.1 常量 30
3.4.2 符号常量 32
3.4.3 变量 33
3.5 Verilog HDL语言中的运算符 35
3.5.1 算术运算符 36
3.5.2 位运算符 36
3.5.3 逻辑运算符 38
3.5.4 关系运算符 38
3.5.5 等式运算符 38
3.5.6 移位运算符 39
3.5.7 条件运边乡标增算符 40
3.5.8 位拼接运算符 40
3.5.9 缩减运算符 40
3.6 Verilog HDL语言中的块语句和赋值语句 41
3.6.1 块语句 41
3.6.2 赋值语句 41
3.7 过程语句 42
3.7.1 initial语句 42
3.7.2 always语句 43
3.8 条件语句 44
3.8.1 if-else语句 44
3.8.2 case语句 47
3.9 循环语句 48
蛋重凯毛血零终步剂 3.9.1 forever语紧味紧升女根美句 48
3.9.2 具顶讨介师密困南repeat语句 49
3.9.3 while语句 49
3.9.4 for语句 49
3.10 tas指主离州婷距类k和function说明语句 5协字致完顺章与己其析杀0
3.10.1 task说明语句 50
3.10.2 function说明语句 51
3.11 系统任务和函数 52
3.11.1 系统任务$display和 $w时rite 52
3.11.2 系统任务$monitor 55
3.11.3 系统函数$time和 $realtime 55
3.11.4 系统任务$stop和$finish 56
3.11.5 系统任务$readmemb和 $readmemh 56
3.11.6 系统函数$random 57
3.12 编译预处理 57
3.12.1 宏定义 define 57
3.12.2 文件包含处理 include 58
3.12.3 时间尺度 timescale 58
习题3 59
第4章 Verilog HDL程序的描述方式 60
4.1 门级结构描述 60
4.1.1 Verilog HDL内置门元件的介绍 60
4.1.2 门级结构描述实例 62
4.2 行为描述 63
4.3 数据流描述 65
4.4 混合描述 65
习题4 66
第5章 常用数字电路的设计技巧 67
5.1 锁存器的产生 67
5.2 D触发器的妙用 68
5.2.1 毛刺的消除 68
5.2.2 系统工作频率的提高 69
5.3 优化的有限状态机设计 70
5.4 按键抖动的消除方法 73
习题5 77
第6章 FPGA器件的全局时钟资源的使用 78
6.1 全局时钟资源的使用方法 78
6.2 含有CLKDLL模块的全局时钟资源调用 80
6.3 含有DCM模块的全局时钟资源调用 85
习题6 90
第7章 微控制器PicoBlaze介绍 91
7.1 PicoBlaze处理器概述 91
7.2 PicoBlaze处理器软件包介绍 92
7.3 PicoBlaze处理器结构分析 94
习题7 98
下篇 实 验 案 例
实验一 LED循环流水灯显示 101
实验二 按键消抖 117
实验三 键控走马灯 134
实验四 音符演奏器 152
实验五 数码管循环计数器 163
实验六 数码管蛇形显示 176
实验七 数字秒表一 188
实验八 数字秒表二 201
附录1 基于BASYS的实验指导--LED循环流水灯显示 216
附录2 EZBoard CPLD板卡介绍 230
F2.1 系统概述 230
F2.2 套件各部分详细说明 230
F2.2.1 主芯片--Xilinx XC95144XL-10TQG100C 231
F2.2.2 电源部分 231
F2.2.3 LED 231
F2.2.4 7段4位数码管 232
F2.2.5 拨码开关 232
F2.2.6 按键 233
F2.2.7 蜂鸣器 233
F2.2.8 扩展接口 234
F2.2.9 时钟电路 234
F2.2.10 CPLD JTAG 235
参考文献 236