猜你喜欢
FPGA编程从零开始 使用Verilog

FPGA编程从零开始 使用Verilog

书籍作者:西蒙·蒙克 ISBN:9787302501343
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:1389
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介
探索基本的数字电路和数字逻辑
? 学习Mojo、Papilio One和Elbert 2开发板的特性
? 设置计算机并深入学习Verilog编程
? 了解ISE Design Suite和用户约束文件
? 理解和应用模块Verilog编程方法
? 使用开发板GPIO端口生成电子脉冲
? 控制伺服电机并创建自己的声音
? 附接VGA TV或计算机显示器并生成视频

作者简介
Simon Monk拥有控制和计算机科学学士学位,以及软件工程博士学位。Simon是一名全职作家,迄今已撰写多本书籍,包括Programming Arduino、Programming Raspberry Pi和Hacking Electronics,并参与撰写Practical Electronics for Inventors。Simon的个人网站是MonkMakes.com,Twitter是@simonmonk2。
前言

前 言



用自己的芯片完成想做的事,岂不是一件乐事?当然,现场可编程门阵列(Field-Programmable Gate Array,FPGA)可让你非常接近这一梦想。FPGA并非为你专门设计的芯片,而是通用芯片,能被配置用来完成你希望做的任何事情。
此外,要配置FPGA,既可绘制原理图,也可使用硬件定义语言Verilog;如果你的设计是成功的,Verilog也能用于生产真正的定制芯片。尽管《FPGA编程从零开始 使用Verilog》也将展示如何使用原理图编辑器进行设计,但《FPGA编程从零开始 使用Verilog》的重点是指导你学习Verilog语言。
可根据自己的需要多次修改FPGA配置,使其成为原型化设计的优秀工具。如果设计问题浮出水面,你可对设备重新编程,直到消除所有漏洞为止。当你意识到可真正配置FPGA来包含能运行程序的处理器时,这种十分出奇的灵活性就会显现出来。
在《FPGA编程从零开始 使用Verilog》中,你将学习FPGA的一般使用原则,将学习《FPGA编程从零开始 使用Verilog》描述的示例,并在三种最流行的FPGA评估板(Mojo、Papilio One和Elbert 2)上运行这些示例。
尽管从逻辑上讲,微控制器可胜任FPGA能完成的大部分工作,但FPGA的运行速度更快;另外,一些人员发现,相对于实现复杂的算法,描述逻辑门和硬件更简单。你可使用FPGA实现微控制器或其他处理器(以及其他人的工作)。
在其中一种低成本FPGA开发板上使用Verilog编程,可能最令人信服的原因仅在于学习一些新知识,收获一些乐趣!
读者可访问https://github.com/simonmonk/pro-fpgas下载《FPGA编程从零开始 使用Verilog》各章的项目文件,也可扫描封底的二维码下载。

目录
目 录

第1章 逻辑 1
1.1 逻辑门 1
1.1.1 非门 2
1.1.2 与门 3
1.1.3 或门 3
1.1.4 与非门和或非门 4
1.1.5 异或门 5
1.2 二进制 6
1.3 添加逻辑 8
1.4 触发器 9
1.5 移位寄存器 11
1.6 二进制计数器 12
1.7 小结 13
第2章 FPGA 15
2.1 FPGA的工作原理 15
2.2 Elbert 2 17
2.3 Mojo 18
2.4 Papilio 20
2.5 软件设置 22
2.5.1 安装ISE 22
2.5.2 安装Elbert软件 24
2.5.3 安装Mojo软件 25
2.5.4 安装Papilio软件 26
2.6 项目文件 26
2.7 小结 27
第3章 绘制逻辑 29
3.1 数据选择器示例 29
3.1.1 步骤1:创建一个新项目 30
3.1.2 步骤2:创建一个新的原理图 34
3.1.3 步骤3:添加逻辑符号 36
3.1.4 步骤4:连接门 36
3.1.5 步骤5:添加IO标记 37
3.1.6 步骤6:创建用户约束文件 38
3.1.7 步骤7:生成.bit文件 42
3.1.8 步骤8:编写开发板 44
3.1.9 测试结果 46
3.2 一个4位计数器示例 48
3.2.1 绘制原理图 49
3.2.2 实现约束文件 49
3.2.3 测试计数器 52
3.3 小结 52
第4章 Verilog简介 53
4.1 模块 53
4.2 引线、寄存器和总线 54
4.3 并行执行 54
4.4 数字格式 54
4.5 使用Verilog编写的数据选择器 55
4.6 使用Verilog编写的计数器 59
4.7 同步逻辑 62
4.8 小结 62
第5章 模块化Verilog 63
5.1 七段译码器 63
5.2 按钮去抖 68
5.3 复用七段显示器和计数器 73
5.3.1 项目结构 74
5.3.2 display_7_seg 76
5.3.3 counter_7_seg 79
5.3.4 用户约束文件 81
5.3.5 导入模块源代码 82
5.3.6 设置顶层模块 82
5.3.7 3数位版本 83
5.3.8 测试 83
5.4 小结 84
第6章 计时器示例 85
6.1 状态机 85
6.2 状态机设计 87
6.3 硬件 88
6.3.1 你之所需 88
6.3.2 构建 88
6.4 模块 90
6.5 用户约束文件 91
6.6 计时器模块 92
6.6.1 输入和输出 92
6.6.2 按压按钮 92
6.6.3 报警器实例 93
6.6.4 建模时间和显示 93
6.6.5 状态机实现 94
6.6.6 任务 96
6.7 测试 98
6.8 小结 98
第7章 PWM和伺服电机 99
7.1 脉冲宽度调制 99
7.2 PWM模块 100
7.2.1 PWM模块输入和输出 101
7.2.2 PWM测试模块 101
7.2.3 试一试 104
7.3 伺服电机 104
7.4 硬件 105
7.4.1 你之所需 105
7.4.2 构建 106
7.5 伺服模块 109
7.6 小结 112
第8章 音频 113
8.1 单音生成 113
8.2 Mojo的音频输出 115
8.3 通用音/频发生器 116
8.3.1 单音模块 116
8.3.2 tone_tester模块 118
8.3.3 测试 118
8.4 播放音频文件 121
8.4.1 音频文件 121
8.4.2 RAM 122
8.4.3 wav_player模块 122
8.4.4 测试 125
8.4.5 准备自己的音频 125
8.5 小结 128
第9章 视频 129
9.1 VGA 129
9.2 VGA定时同步 132
9.3 绘制矩形 133
9.3.1 VGA模块 134
9.3.2 VGA和Elbert 2 137
9.4 使物体运动 138
9.5 存储器映射显示 141
9.6 小结 143
第10章 扩展内容 145
10.1 仿真 145
10.2 更深层次的内容 146
10.3 核和软处理器 147
10.4 更多Papilio内容 147
10.5 更多Mojo内容 149
10.6 小结 150
附录A 资源 151
附录B Elbert 2参考 155
附录C Mojo参考 165
附录D Papilio One参考 173

短评

一本入门书,还没仔细看,希望有时间好好看看。

2018-09-09 11:12:37

此用户未填写评价内容

2018-09-30 21:50:35