图书简介:
模块一 EDA基础设计项目
项目1 3-8译码器设计 1
项目要求 1
一、项目任务 1
二、实训设备 1
三、学习目标 1
项目相关知识 2
一、EDA技术与硬件描述语言 2
二、Verilog HDL模块结构 5
三、译码器原理 6
四、源码 6
项目实施 7
一、编辑调试模块代码 7
二、创建和导入原理图 10
三、仿真 12
拓展练习 18
项目2 8-3编码器设计 19
项目要求 19
一、项目任务 19
二、实训设备 19
三、学习目标 19
项目相关知识 19
一、Verilog HDL基本规范 19
二、case语句 20
三、编码器原理 21
四、模块符号 22
五、源码 22
项目实施 23
一、编辑调试模块代码 23
二、仿真测试模块功能 23
拓展练习 24
项目3 优先编码器设计 25
项目要求 25
一、项目任务 25
二、实训设备 25
三、学习目标 25
项目相关知识 25
一、Verilog HDL的常量 25
二、优先编码器原理 27
三、模块符号 27
四、源码 28
项目实施 28
一、编辑调试模块代码 28
二、仿真测试模块功能 29
拓展练习 30
项目4 数据选择器设计 31
项目要求 31
一、项目任务 31
二、实训设备 31
三、学习目标 31
项目相关知识 31
一、Verilog HDL参数型常量 31
二、if-else语句 32
三、数据选择器原理 33
四、模块符号 34
五、源码 34
项目实施 35
一、编辑调试模块代码 35
二、仿真测试模块功能 35
拓展练习 37
项目5 多位数值比较器设计 38
项目要求 38
一、项目任务 38
二、实训设备 38
三、学习目标 38
项目相关知识 38
一、关系运算符和全等运算符 38
二、Verilog HDL的变量 39
三、多位数值比较器原理 41
四、模块符号 41
五、源码 42
项目实施 43
一、编辑调试模块代码 43
二、仿真测试模块功能 43
拓展练习 44
项目6 半加器与全加器设计 45
项目要求 45
一、项目任务 45
二、实训设备 45
三、学习目标 45
项目相关知识 45
一、位拼接运算符 45
二、结构化的建模方式 46
三、数据流建模方式 46
四、半加器原理 47
五、全加器原理 48
六、模块符号 48
七、源码 49
项目实施 49
一、编辑调试模块代码 49
二、仿真测试模块功能 50
拓展练习 51
项目7 D触发器设计 52
项目要求 52
一、项目任务 52
二、实训设备 52
三、学习目标 52
项目相关知识 52
一、算术运算符和位运算符 52
二、行为建模方式 54
三、D触发器原理 55
四、模块符号 56
五、源码 57
项目实施 57
一、编辑调试模块代码 57
二、仿真测试模块功能 57
拓展练习 58
项目8 寄存器,双向移位寄存器设计 59
项目要求 59
一、项目任务 59
二、实训设备 59
三、学习目标 59
项目相关知识 59
一、赋值运算 59
二、移位运算 60
三、寄存器原理 61
四、移位寄存器原理 61
五、模块符号 61
六、源码 62
项目实施 63
一、编辑调试模块代码 63
二、仿真测试模块功能 63
拓展练习 65
项目9 四位二进制加减计数器设计 66
项目要求 66
一、项目任务 66
二、实训设备 66
三、学习目标 66
项目相关知识 66
一、逻辑运算符 66
二、缩减运算符 67
三、计数器原理 67
四、模块符号 69
五、源码 70
项目实施 70
一、编辑调试模块代码 70
二、仿真测试模块功能 70
拓展练习 72
项目10 十进制加减计数器设计 73
项目要求 73
一、项目任务 73
二、实训设备 73
三、学习目标 73
项目相关知识 73
一、Testbench 73
二、顺序块语句 73
三、十进制计数器原理 75
四、模块符号 76
五、源码 76
项目实施 78
一、编辑调试模块代码 78
二、仿真测试模块功能 78
拓展练习 79
项目11 顺序脉冲发生器设计 80
项目要求 80
一、项目任务 80
二、实训设备 80
三、学习目标 80
项目相关知识 80
一、顺序脉冲发生器原理 80
二、模块符号 81
三、源码 81
项目实施 82
一、编辑调试模块代码 82
二、仿真测试模块功能 82
拓展练习 83
项目12 序列信号发生器设计 84
项目要求 84
一、项目任务 84
二、实训设备 84
三、学习目标 84
项目相关知识 84
一、序列信号发生器原理 84
二、模块符号 85
三、源码 85
项目实施 86
一、编辑调试模块代码 86
二、仿真测试模块功能 86
拓展练习 88
项目13 串行数据检测器设计 89
项目要求 89
一、项目任务 89
二、实训设备 89
三、学习目标 89
项目相关知识 89
一、串行数据检测器原理 89
二、模块符号 90
三、源码 90
项目实施 91
一、编辑调试模块代码 91
二、仿真测试模块功能 92
拓展练习 93
项目14 分频器设计 94
项目要求 94
一、项目任务 94
二、实训设备 94
三、学习目标 94
项目相关知识 94
一、分频器原理 94
二、整数分频器的设计 94
三、模块符号 95
四、源码 95
项目实施 96
一、编辑调试模块代码 96
二、仿真测试模块功能 96
拓展练习 97
模块二 FPGA技术应用项目
项目1 跑马灯设计 98
项目要求 98
一、项目任务 98
二、实训设备 98
三、学习目标 98
项目相关知识 99
一、可编程逻辑器件 99
二、SP-FGCE11A FPGA实训平台 102
三、跑马灯原理 103
四、引脚分配 104
五、模块符号 109
六、源码 110
项目实施 110
一、编辑调试模块代码 110
二、分配引脚 111
三、配置 112
四、编译 113
五、下载 113
拓展练习 115
项目2 按键控制LED设计 116
项目要求 116
一、项目任务 116
二、实训设备 116
三、学习目标 116
项目相关知识 116
一、按键控制led灯原理 116
二、模块符号 116
三、源码 117
项目实施 117
一、编辑调试模块代码 117
二、分配引脚 117
三、配置 118
四、编译 118
五、下载 118
拓展练习 118
项目3 蜂鸣器设计 119
项目要求 119
一、项目任务 119
二、实训设备 119
三、学习目标 119
项目相关知识 119
一、蜂鸣器原理 119
二、模块符号 120
三、源码 120
项目实施 121
一、编辑调试模块代码 121
二、分配引脚 121
三、配置 121
四、编译 121
五、下载 121
拓展练习 122
项目4 七段数码管扫描显示设计 123
项目要求 123
一、项目任务 123
二、实训设备 123
三、学习目标 123
项目相关知识 123
一、七段数码管扫描显示原理简介 123
二、模块符号 124
三、源码 124
项目实施 125
一、编辑调试模块代码 125
二、分配引脚 125
三、配置 125
四、编译 126
五、下载 126
拓展练习 126
项目5 点阵控制设计 127
项目要求 127
一、项目任务 127
二、实训设备 127
三、学习目标 127
项目相关知识 127
一、点阵控制原理简介 127
二、模块符号 128
三、源码 128
项目实施 130
一、编辑调试模块代码 130
二、分配引脚 130
三、配置 131
四、编译 131
五、下载 131
拓展练习 131
项目6 直流电机控制设计 132
项目要求 132
一、项目任务 132
二、实训设备 132
三、学习目标 132
项目相关知识 132
一、直流电机控制原理简介 132
二、模块符号 133
三、源码 133
项目实施 136
一、编辑调试模块代码 136
二、分配引脚 136
三、配置 136
四、编译 136
五、下载 136
拓展练习 137
项目7 步进电机控制设计 138
项目要求 138
一、项目任务 138
二、实训设备 138
三、学习目标 138
项目相关知识 138
一、步进电机控制原理简介 138
二、模块符号 139
三、源码 139
项目实施 140
一、编辑调试模块代码 140
二、分配引脚 141
三、配置 141
四、编译 141
五、下载 141
拓展练习 141
项目8 矩阵键盘接口控制设计 142
项目要求 142
一、项目任务 142
二、实训设备 142
三、学习目标 142
项目相关知识 142
一、矩阵键盘接口控制原理简介 142
二、模块符号 144
三、源码 144
项目实施 146
一、编辑调试模块代码 146
二、分配引脚 147
三、配置 147
四、编译 147
五、下载 147
拓展练习 147
项目9 LCD1602控制器设计 148
项目要求 148
一、项目任务 148
二、实训设备 148
三、学习目标 148
项目相关知识 148
一、LCD1602原理 148
二、模块符号 151
三、源码 152
项目实施 153
一、编辑调试模块代码 153
二、分配引脚 154
三、配置 154
四、编译 154
五、下载 154
拓展练习 154
项目10 ADC0809控制设计 155
项目要求 155
一、项目任务 155
二、实训设备 155
三、学习目标 155
项目相关知识 155
一、ADC0809转换原理 155
二、ADC0809控制器符号 158
三、源码 158
项目实施 160
一、编辑调试模块代码 160
二、分配引脚 161
三、配置 161
四、编译 161
五、下载 161
拓展练习 162
项目11 DAC0832控制设计 163
项目要求 163
一、项目任务 163
二、实训设备 163
三、学习目标 163
项目相关知识 163
一、DAC0832转换原理 163
二、DAC0832控制器符号 166
三、源码 166
项目实施 167
一、编辑调试模块代码 167
二、分配引脚 167
三、配置 168
四、编译 168
五、下载 168
拓展练习 168
模块三 FPGA技术综合设计项目
项目1 多功能数字时钟设计 169
项目要求 169
一、项目任务 169
二、实训设备 169
三、学习目标 169
项目相关知识 170
一、自顶向下的设计方法 170
二、数字钟的功能要求 170
三、顶层设计 170
四、模块 170
五、源码 174
项目实施 178
一、编辑调试模块代码 178
二、分配引脚 183
三、配置 183
四、编译 183
五、下载 183
拓展练习 184
项目2 VGA图像显示设计 185
项目要求 185
一、项目任务 185
二、实训设备 185
三、学习目标 185
项目相关知识 185
一、VGA简介 185
二、VGA接口引脚图 185
三、VGA 时序分析 186
四、硬件电路 187
五、顶层设计 189
六、程序解析 190
七、源码 191
项目实施 195
一、编辑调试模块代码 195
二、分配引脚 195
三、配置 196
四、编译 196
五、下载 196
拓展练习 196
项目3 UART通信接口设计 197
项目要求 197
一、项目任务 197
二、实训设备 197
三、学习目标 197
项目相关知识 197
一、模块实例化方法 197
二、串口引脚图 199
三、UART传输时序 199
四、调试 200
五、源码 200
项目实施 209
一、编辑调试模块代码 209
二、分配引脚 209
三、配置 209
四、编译 210
五、下载 210
拓展练习 210
项目4 I2C总线接口设计 211
项目要求 211
一、项目任务 211
二、实训设备 211
三、学习目标 211
项目相关知识 211
一、I2C总线简介 211
二、I2C总线特征介绍 211
三、二线制I2C串行EEPROM读/写操作 212
四、模块符号 213
五、源码 213
项目实施 225
一、编辑调试模块代码 225
二、分配引脚 225
三、配置 226
四、编译 226
五、下载 226
拓展练习 226
展开
本书是根据国家高职骨干校重点建设专业的课程标准及模式,结合应用CPLD/FPGA技术开发电子产品的工作内容,并针对学生的实践能力和再学习能力的培养而编写的基于工作过程的项目教材。
CPLD/FPGA技术包含了硬件描述语言、EDA工具软件、PLD器件及数字系统设计方法等多方面知识,对高职高专学生来说,要掌握这些知识和技能有较大的难度。因此,本书打破传统的学科式教材的模式,针对学生循序渐进地掌握知识的认知规律,使项目的设计由浅入深地将EDA工具的使用,Verilog HDL语法规则、基本数字逻辑电路和复杂电子系统设计的方法和步骤逐渐融入到各个项目中,每个项目的设计都是按照工作过程进行和实施的,每个项目都以“项目要求—项目相关知识—项目实施—拓展练习”结构形式组织,“每个项目重复的只是过程”,每个项目都在已具备的知识基础上增加了新知识、新内容,通过不断地温故知新的方式,让学生能够较容易地完成新任务的学习。
本书由广东科学技术职业学院的陈明芳教师担任主编,负责编制提纲和统稿工作,并编写了模块二的项目15至项目20、模块三的项目26和项目27;广东科学技术职业学院的樊秋月教师编写了模块一的项目1至项目6;广东科学技术职业学院的黄进财教师编写了模块一的项目11至项目14;广东科学技术职业学院的尹海昌教师编写了模块二的项目21至项目25;广东科学技术职业学院的王志辉教师编写了模块一的项目7至项目10;北京凌阳爱普科技有限公司王超工程师编写了模块三的项目28和项目29。
本书在编写过程中参阅了大量同类教材,在此对这些教材的作者表示衷心的感谢!
本书在编写过程中得到了北京凌阳爱普科技有限公司大力支持和帮助,该公司的王超工程师和李哲哲工程师均为本书的撰写提出了宝贵的建议,表示诚挚的谢意。
另外,广东科学技术职业学院应用电子技术专业陈伟传、刘远辉、林景超、郭远强、吴集明和林晓明等同学完成了本书的文字和格式校对工作,在此一并表示感谢。
限于编者的水平,书中难免有不妥之处,恳请读者批评指正。
编者
2014年8月于珠海
展开