没有合适的资源?快使用搜索试试~ 我知道了~
首页XILINX FPGA Verilog编程大全.pdf
资源详情
资源评论
资源推荐


XILINX Veriog 编程大全 2015 版(SLX9) 酷炫论坛主页 www.osrc.cn FPGA QQ 群:86730608
1
第一章 Verilog 语法基础............................................................................................................................................5
1.1 技术背景...................................................................................................................................................... 5
1.1.1 学习 VHDL 还是 verilog............................................................................................................... 5
1.1.2 时序设计第一种办法——状态机设计..........................................................................................5
1.1.3 时序设计第二种方法——FPGA 中运行 CPU..................................................................................6
1.1.4 用 FPGA 好还是专用的集成电路(ASIC)....................................................................................6
1.1.5 一段求和的 C 代码.......................................................................................................................... 6
1.1.6 一段求和的 verilog 代码............................................................................................................. 6
1.2 Verilog 最最基础语法............................................................................................................................. 7
1.2.1 C 语言和 verilog 相对应的关键词和结构。..............................................................................7
1.2.2 C 语言和 verilog 相对应的运算符.............................................................................................7
1.3 关键字...........................................................................................................................................................8
1.3.1 信号.................................................................................................................................................... 8
1.3.2 结构.................................................................................................................................................. 8
1.3.3 符号.................................................................................................................................................. 9
1.3.4 参数.................................................................................................................................................. 10
1.3.5 预处理命令...................................................................................................................................... 11
1.4 Verilog 中数值表示的方式.................................................................................................................... 11
第二章 Verilog 语法实战..................................................................................................................................... 12
2.1 简单的 Verilog 模块............................................................................................................................... 12
2.1.1 EX01-加法器设计......................................................................................................................... 12
2.1.2 EX02-计数器设计......................................................................................................................... 14
2.2 Verilog 语言模块的调用........................................................................................................................ 16
2.2.1 EX03-8bit 计数器....................................................................................................................... 17
2.2.2 EX04-8bit 串进并出,并进串出 使用移位模块设计.............................................................19
第三章 Verilog 实战应用案例.................................................................................................................................23
3.1 EX01-RunLed 设计................................................................................................................................... 23
3.2 EX02-RunLed 另一种实现....................................................................................................................... 25
3.3 EX03-Flash Led 闪耀灯设计................................................................................................................. 26
3.4 EX04-按钮实验(延时去抖动,同步电路设计).................................................................................28
3.5 EX05-SPI 通信协议设计......................................................................................................................... 31
3.6 EX06-SPI 通过 74HC595 扩展 IO 数码动态显示................................................................................38
3.7 EX07-SPI 通过 74HC595 扩展 IO 实现数码计数器............................................................................44
3.8 EX08-常规串口发送模块设计................................................................................................................. 46
3.9 EX09-常规的串口接受模块设计............................................................................................................. 50
3.10 EX10-PS2 键盘解码实验........................................................................................................................ 54
3.11 EX11-VGA 彩条实验............................................................................................................................... 60
3.12 EX12-VGA 多彩动画 屏保...................................................................................................................... 64
3.13 EX13-I2C 通信协议设计 读写 EEPROM 24LC02..................................................................................68
3.14 EX14-串口发送代码的优化设计........................................................................................................... 82
3.15 EX15-串口接收模块的优化改进设计...................................................................................................87
3.16 EX16-UartLOOP 串口回传程序.............................................................................................................. 90
第四章 SRAM、SDRAM、DDR2 内存应用实战.......................................................................................................... 94

XILINX Veriog 编程大全 2015 版(SLX9) 酷炫论坛主页 www.osrc.cn FPGA QQ 群:86730608
2
4.1 异步 SRAM-61LV25616 Busrt 读写测试 Verilog..................................................................................94
4.2 SDR SDRAM 读写测试 Verilog............................................................................................................... 100
4.3 DDR2 SDRAM 基于 MCB 硬核读写测试 Verilog....................................................................................107
第五章 Block 模块方案实战................................................................................................................................123
5.1 ADC/DAC 模块使用实验.......................................................................................................................... 123
5.1.1 主要硬件参数.............................................................................................................................. 123
5.1.2 ADC 部分原理图.......................................................................................................................... 124
5.1.3 DAC 部分原理图.......................................................................................................................... 125
5.1.4 基于 FPGA 的高速 ADC DAC 驱动程序设计..............................................................................125
5.2 CY7C68013A USB2.0 高速采集模块使用实验......................................................................................128
5.2.1 主要硬件参数.............................................................................................................................. 128
5.2.2 ADC 部分原理图:...................................................................................................................... 129
5.2.3 USB2.0 部分原理图.................................................................................................................... 130
5.2.4 CY7C68013A USB2.0 FPGA ADC 采集方案...............................................................................130
5.2.5 CY7C68013A USB2.0 固件设计.................................................................................................132
5.2.6 基于 MFC 界面设计.................................................................................................................... 134
5.3 视频图像卡图像采集输出..................................................................................................................... 135
5.3.1 图像采集输出原理....................................................................................................................... 135
5.3.2 基于 SRAM 的简单的视频采集输出.........................................................................................137
5.3.3 基于 SDR SDRAM 的简单的视频采集输出............................................................................153
5.3.4 基于 DDR2 SDRAM 的简单的视频采集输出........................................................................... 169
第六章 Microblaze AXI4 BUS 32BITS CPU SOC 开发实战..............................................................................189
6.1 SOC 第一课:Hello world.................................................................................................................... 189
6.2 SOC 第二课:SRAM 测试......................................................................................................................... 197
6.3 SOC 第三课:RunLed 流水灯............................................................................................................... 201
6.4 SOC 第四课:Button 按钮输入............................................................................................................. 204
6.5 SOC 第五课:STimer 自定义超级定时器.............................................................................................207
6.6 SOC 第六课:Timer 系统定时器中断..................................................................................................212
6.7 SOC 第七课:GPIO 中断......................................................................................................................... 214
6.8 SOC 第八课:UART 中断......................................................................................................................... 216
6.9 SOC 第九课:SPI 回传........................................................................................................................... 218
6.10 SOC 第十课:I2C 读写 24LC02 实验...................................................................................................221
6.11 SOC 第十一课:数码管 Verilog 驱动...............................................................................................224
6.12 SOC 第十二课:CPU+Verilog 驱动彩屏.............................................................................................227
6.13 SOC 第十三课:CPU+Verilog 图片显示实验.....................................................................................230
6.14 SOC 第十四课:SD 卡链接测试实验.................................................................................................. 231
6.15 SOC 第十五课:SD 卡图片显示实验................................................................................................... 233
6.16 SOC 第十六课:UCOSIII 操作系统实验............................................................................................234
6.17 SOC 第十七课:10M 以太网通信实验.................................................................................................236
第七章 XILINX 常用 IP 测试实验......................................................................................................................241
7.1 IP 第一课:简单端口 ROM.................................................................................................................... 241
7.2 IP 第二课:单端口先写模式................................................................................................................ 246
7.3 IP 第三课:单端口先读模式................................................................................................................ 253
7.4 IP 第四课:单端口无变化模式............................................................................................................ 260
7.5 IP 第五课:简单双端口 RAM 无改变模式............................................................................................267

XILINX Veriog 编程大全 2015 版(SLX9) 酷炫论坛主页 www.osrc.cn FPGA QQ 群:86730608
3
7.6 IP 第六课:FIFO.................................................................................................................................... 274
7.7 IP 第七课:DCM...................................................................................................................................... 279
7.8 IP 第八课:PLL...................................................................................................................................... 285
第八章 ISE 新建工程以及联合 Modelsim 仿真实例..........................................................................................288
8.1 ISE 新建工程.......................................................................................................................................... 288
8.2 新建源码文件.......................................................................................................................................... 289
8.3 新建仿真测试文件-TestBench............................................................................................................. 291
8.4 设置第三方仿真工具 Modelsim.............................................................................................................292
8.5 编译 XILINX 仿真库............................................................................................................................... 293
8.6 ISE、Modelsim 联合仿真...................................................................................................................... 296
8.7 添加 UCF 管脚约束文件并编译工程.................................................................................................... 297
第九章 在线逻辑分析仪 Chipscope 在线仿真实例...........................................................................................298
9.1 添加 Chipcope IP-CORE......................................................................................................................... 298
9.2 设置需要观察的仿真信号...................................................................................................................... 298
9.3 编译工程并启动 chipscope 逻辑分析仪................................................................................................. 301
9.4 确保开发板通电,并通过 JTAG 链接到电脑之后运行逻辑分析仪....................................................301
第十章 XILINX 下载器使用................................................................................................................................ 304
10.1 XILINX JTAG 下载程序入门...............................................................................................................304
10.1.1 酷炫 XILINX JTAG 下载器 MINI 工程师便携版................................................................... 304
10.1.2 酷炫 XILINX JTAG 下载器链接示意图...................................................................................304
10.2 下载 BIT 格式程序到 FPGA................................................................................................................. 306
10.3 下载 PROM 文件....................................................................................................................................309
10.3.1 生成 PROM 文件.........................................................................................................................309
10.3.2 下载程序到 PROM....................................................................................................................... 311

XILINX Veriog 编程大全 2015 版(SLX9) 酷炫论坛主页 www.osrc.cn FPGA QQ 群:86730608
4
序言
玩开发板是一件很有趣和有意义的事情,一方面用开发板可以 DIY 实用的小东西,另一方面开发板
的技术也能运用到工程项目中,带来经济效益。在中国,在全世界,都有很大一批人在玩开发板,玩开发
板对搞技术的工程师来说,就是一道盛宴。回想,笔者刚开始玩 XILINX FPGA 开发板的,刚毕业没多久,
在 2009 年左右,那时候 XILINX FPGA 的开发板是超级的贵,一个 spartan3e 的开发板国产的很少,至少
也得 1K,USB 下载器也要 200 多,手头拮据,耽误了不少时间,后来自己借到一块 spartan2 的开发板,然
后根据官方提供 spartan3e 的开发板图纸,简化设计了一款板子,那可是国产第一款低价的 sparan3e 的开
发板,很有成就感,几年过去,现在设计的板子也是也来越复杂,功能也是越来越强大。几年下来,结交
了很多和笔者一样喜欢玩开发板,专研技术的朋友,笔者感觉这是最大的幸运。
经过这几年的积累,目前笔者的开发板内容也是越来越丰富,但是总感觉只是做开发板,不是什么大
的理想,也没有太大的意义。又是经过一段时间思考后以及笔者和网友的探讨,笔者定位为,完全开源基
础学习类型的内容,并且提高核心技术的支持。以基础学习免费,开源,免费技术支持,核心技术以技术
支持形式收取一定费用的的思路。2014 年下半年是我们实现第一步计划关键的一年,这半年首先我们将
公布大量免费技术资料和源码,以及免费的技术支持,对于工作 0-5 年内从事 FPGA 工作的新手,或者工
程师都会有很多参考学习的价值。目前,笔者已经建设了论坛 www.osrc.cn,欢迎技术爱好者参与进来,
和我们一起分享玩转开发板的乐趣,分享技术带来的成就感,也欢迎志同道合合者,一起参与到 2016 版
的编程大全的编写做。
在这里面简单介绍下<<XILINX FPGA Verilog 编程大全 2015 版>> ,本版本是笔者编写的第一个版
本,主要例子都是笔者这些年积累下来的精华,学习中给出了大量的实战例子给读者来学习,练手,全面
覆盖了 Verilog 基础语法、XILINX FPGA 编程基础、内存操作、图像处理、网络传输、Microblaze SOC
嵌入式开发、Modelsim 仿真,Chipcope 在线逻辑分析的使用,仿真下载器的使用。
在后续的版本中笔者将同小伙伴们对 FPGA 的三大应用领域进行详细讲说,即通信行业、图像视频行
业、工控自动化行业。在三个行业领域内,我们将从该行业的常用接口、常用算法、常用协议等等方面的
FPGA 实现为基础,进一步深入到各个行业各个应用,提高读者对感兴趣的一个行业的认识。具体而言,
通信行业我们将主要讲到光通信,无线通信,计算机网络通信;图像视频行业,我们将讲到图像压缩,图
像密写,图像预处理算法,视频压缩,视频特效,视频拼接;工控自动化行业,我们将讲到运动控制,
ETHERCAT 总线控制与机器人,机器视觉,数控系统等等。
由于时间和精力有限,本版本难免会有错误和遗漏之处,恳请读者给予批评和指正。
有梦想就有希望,感恩感谢!
汤金元
2014 年 9 月 6 日
南京
剩余314页未读,继续阅读


















long游天下
- 粉丝: 26
- 资源: 31
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制

评论0