开拓者 FPGA 开发指南
ALIENTEK PIONEER 开发板教程
FPGA 开发指南V1.1
−ALIENTEK 开拓者 PIONEER 开发板教程
I
开拓者 FPGA 开发指南
广州市星翼电子科技有限公司
ALIENTEK PIONEER 开发板教程
淘宝店铺 1: http://eboard.taobao.com
淘宝店铺 2: http://openedv.taobao.com
技术支持论坛 (开源电子网 ):www.openedv.com
官方网站: www.alientek.com
最新资料下载链接: http://www.openedv.com/posts/list/13912.htm
E-mail: 389063473@qq.com QQ: 389063473
咨询电话: 020-38271790
传真号码 :020-36773971
团队: 正点原子团队
正点原子,做最全面 、最 优秀的嵌入式开发平台软硬件供应商。
友 情 提 示
如果您想及时免费获取“正点原子”最新资料,敬请关注正点原子
微信公众平台 ,我们将及时给您发布最新消息和重要资料。
关注方法:
(1)微信“扫一扫”,扫描右侧二维码,添加关注
(2)微信→添加朋友→公众号→输入“正点原子”→关注
(3)微信→添加朋友→输入“alientek_stm32”→关注
II
开拓者 FPGA 开发指南
内容简介 ........................................................................ 1
ALIENTEK PIONEER 开发板教程
前 言 ......................................................................... 2
第一篇
硬件篇 ............................................................... 3
第一章 FPGA简介 ................................................................. 4
1.1
FPGA的由来与特点 .................................................. 5
1.2
FPGA的基本结构 .................................................... 8
1.3
FPGA的设计流程 ................................................... 12
第二章 实验平台简介 ............................................................ 16
2.1
ALIENTEK开拓者EP4CE10开发板资源初探 .............................. 17
2.2
ALIENTEK开拓者FPGA开发板资源说明 ................................. 20
2.2.1 硬件资源说明 .............................................. 20
2.2.2 软件资源说明 .............................................. 26
2.2.3 开拓者IO引脚分配 .......................................... 27
第三章 硬件资源详解 ............................................................ 36
3.1 开发板原理图详解 ................................................. 37
3.1.1
FPGA ...................................................... 37
3.1.2 时钟输入 .................................................. 39
3.1.3
JTAG 接口 ................................................. 40
3.1.4 时钟/复位/按键电路 ........................................ 40
3.1.5
LED ....................................................... 41
3.1.6 有源蜂鸣器 ................................................ 41
3.1.7 电容触摸按键 .............................................. 42
3.1.8 数码管 .................................................... 42
III
开拓者 FPGA 开发指南
ALIENTEK PIONEER 开发板教程
3.1.9
RS232 接口 ................................................ 43
3.1.10
RS485 接口 ................................................ 44
3.1.11
VGA 接口 .................................................. 44
3.1.12
MCU LCD 模块接口 .......................................... 46
3.1.13
RGB LCD 模块接口 .......................................... 46
3.1.14 红外接收头 ................................................ 47
3.1.15 单总线接口 ................................................ 48
3.1.16
EEPROM .................................................... 49
3.1.17 实时时钟 .................................................. 49
3.1.18 环境光传感器 .............................................. 50
3.1.19
AD/DA接口 ................................................. 50
3.1.20
I2S音频编解码 ............................................. 51
3.1.21
SDRAM ..................................................... 51
3.1.22 以太网接口(RJ45 ) ....................................... 52
3.1.23
CAN接口 ................................................... 53
3.1.24
USB串口/串口 1选择接口 ..................................... 54
3.1.25
USB串口 ................................................... 54
3.1.26
OLED/摄像头模块接口 ....................................... 55
3.1.27
SD卡接口 .................................................. 56
3.1.28
SPI FLASH ................................................. 56
3.1.29
ATK模块接口 ............................................... 57
3.1.30
WIRELESS模块接口 .......................................... 57
3.1.31 引出IO口 .................................................. 58
IV
开拓者 FPGA 开发指南
ALIENTEK PIONEER 开发板教程
3.1.32
FPGA 电源设计 ............................................. 59
3.1.33 电源适配器输入接口 ........................................ 60
3.1.34 电源按键开关 .............................................. 61
3.1.35 电压转换电路 .............................................. 61
3.1.36 电源输入输出接口 .......................................... 62
3.2 开发板使用注意事项 ............................................... 63
3.3
FPGA的学习方法 ................................................... 63
第二篇
软件篇 .............................................................. 66
第四章 Quartus II软件的安装和使用 .............................................. 67
4.1
Quartus II软件的安装 ............................................. 68
4.2
USB Blaster驱动安装 .............................................. 73
4.3
Quartus II软件的使用 ............................................. 77
4.3.1 新建工程 .................................................. 77
4.3.2 设计输入 .................................................. 85
4.3.3 配置工程 .................................................. 90
4.3.4 分析与综合(编译) ........................................ 92
4.3.5 分配引脚 .................................................. 94
4.3.6 编译工程 .................................................. 96
4.3.7 下载程序 .................................................. 97
4.4
SignalTap II软件的使用 .......................................... 109
第五章 Modelsim软件的安装和使用 ............................................... 122
5.1
Modelsim的安装 .................................................. 123
5.2
Modelsim的使用 .................................................. 128
V
开拓者 FPGA 开发指南
ALIENTEK PIONEER 开发板教程
5.2.1 手动仿真 ................................................. 129
5.2.2 自动仿真(联合仿真) ..................................... 142
第三篇
语法篇 ............................................................. 154
第六章 Verilog HDL语法 ........................................................ 155
6.1
Verilog概述 ..................................................... 156
6.1.1
Verilog简介 .............................................. 156
6.1.2 为什么需要Verilog ........................................ 156
6.1.3
Verilog和VHDL区别 ........................................ 156
6.1.4
Verilog和C的区别 ......................................... 157
6.2
Verilog基础知识 ................................................. 157
6.2.1
Verilog的逻辑值 .......................................... 158
6.2.2
Verilog的标识符 .......................................... 158
6.2.2.1 定义 ................................................. 158
6.2.2.2 规范建议 ............................................. 159
6.2.3
Verilog的数字进制格式 .................................... 159
6.2.4
Verilog的数据类型 ........................................ 160
6.2.4.1 寄存器类型 ........................................... 160
6.2.4.2 线网类型 ............................................. 160
6.2.4.3 参数类型 ............................................. 160
6.2.5
Verilog的运算符 .......................................... 161
6.2.5.1 算术运算符 ........................................... 161
6.2.5.2 关系运算符 ........................................... 161
6.2.5.3 逻辑运算符 ........................................... 162
VI
开拓者 FPGA 开发指南
ALIENTEK PIONEER 开发板教程
6.2.5.4 条件运算符 ........................................... 162
6.2.5.5 位运算符 ............................................. 162
6.2.5.6 移位运算符 ........................................... 163
6.2.5.7 拼接运算符 ........................................... 163
6.2.5.8 运算符的优先级 ....................................... 164
6.3
Verilog程序框架 ................................................. 164
6.3.1 注释 ..................................................... 164
6.3.2 关键字 ................................................... 165
6.3.3 程序框架 ................................................. 166
6.4
Verilog高级知识点 ............................................... 169
6.4.1 阻塞赋值 ................................................. 170
6.4.2 非阻塞赋值 ............................................... 170
6.4.3
assign和always区别 ....................................... 171
6.4.4 带时钟和不带时钟的always ................................. 171
6.4.5 什么是latch .............................................. 172
6.4.6 状态机 ................................................... 173
6.4.6.1 Mealy状态机 .......................................... 174
6.4.6.2 Moore状态机 .......................................... 174
6.4.6.3 三段式状态机 ......................................... 175
6.4.7 模块化设计 ............................................... 178
6.5
Verilog编程规范 ................................................. 180
6.5.1 编程规范重要性 ........................................... 181
6.5.2 工程组织形式 ............................................. 181
VII
开拓者 FPGA 开发指南
ALIENTEK PIONEER 开发板教程
6.5.3 文件头声明 ............................................... 181
6.5.4 输入输出定义 ............................................. 182
6.5.5
prameter定义 ............................................. 182
6.5.6
wire/reg定义 ............................................. 183
6.5.7 信号命名 ................................................. 183
6.5.8
always块描述方式 ......................................... 184
6.5.9
assign块描述方式 ......................................... 185
6.5.10 空格和TAB ................................................ 185
6.5.11 注释 ..................................................... 185
6.5.12 模块例化 ................................................. 185
6.5.13 其他注意事项 ............................................. 186
第四篇
实战篇 ............................................................. 187
第七章 流水灯实验 ............................................................. 188
7.1
LED灯简介 ....................................................... 189
7.2 实验任务 ........................................................ 189
7.3 硬件设计 ........................................................ 190
7.4 程序设计 ........................................................ 190
7.5 下载验证 ........................................................ 194
第八章 按键控制LED灯实验 ...................................................... 197
8.1 按键简介 ........................................................ 198
8.2 实验任务 ........................................................ 198
8.3 硬件设计 ........................................................ 199
8.4 程序设计 ........................................................ 200
VIII