我的 FPGA 学习历程(01)—— FPGA 基础知识和 Quartus 的安装
高级的嵌入式市场主要分为以下三类:ARM、DSP 和 FPGA。
其中 ARM 是行业内的佼佼者,目前几乎所有的安卓智能手机都使用 ARM 授权的 CPU架构;而 DSP(数字信号处理器) 早年就被大面积的应用与电话、DVD、通讯基站等领域。DSP 与 ARM 的区别在于,ARM 是通用 CPU,DSP 则是专用 CPU。FPGA 则与他们不同,FPGA 的名称的由来是由于 FPGA 功能的成型是在实验室等通常工作环境下进行的;区别与专有集成电路 (ASIC)在晶圆工厂的制造,所以 FPGA 被称为是 现场可编程门阵列。
我的开发板是 黑金 AX301,当时傻乎乎的以为 FPGA 一定是比 51 高级的芯片,在商品介绍图片上的 VGA 接口,考虑到我的是笔记本电脑的显示器不可外接,在调试时需要一个外接屏幕显示打印信息,于是又另买了个 7寸的 VGA 显示器(-____-)。
我的开发板长这个样子(红色的配套的下载器,必须的):

拿到开发板后,需要做的事情:
- 看看板子附带的光盘资料,包括用户手册、原理图等等。熟悉下资料。
- 第二步,altera 官网注册一个账号,下载一个 Quartus 软件。
- 熟悉光盘里的资料。
- 按照视频上的要求打开一个 Quartus 工程(.qpf 结尾)。
- 装好 USB-Blaster 驱动连上开发板的 Jtag 口,下载一个(.sof)文件看看效果。
- 按照 PDF 教程里的说明转化(.sof)文件文件为(.jic)文件,并烧录到 EPCS 里去。
Quartus 有 免费使用 的网络版本,免费版本与注册版本的区别如下:
- 免费版没有多线程编译的功能,如果是多核 CPU,免费版只会使用其中一个 CPU,编译速度会慢一些。
- 免费版如果使用了 IP 核,生成的烧录文件(.sof)只能在线使用(一直连着电脑),而(.pof)只能使用一个小时。
- 免费版中 Qsys 或者 SOPCBuilder中只能使用 NIOS 精简核,否则 quartus 编译报错。
Quartus 其他版本的区别:
- 9 ~ 10 版本中默认包括了图形仿真激励输入工具,10 ~ 12 版本中又把他删除了,但在 13 之后的版本再次添加该工具,如果没有图形仿真激励输入工具要想仿真只能通过编写 testbench 脚本,testbench 脚本的编写和 Modelsim 的操作方法对于初学者而言会是个巨大的障碍。
- 11 版本之后 Qsys 会代替 SOPCbuilder 用于构建 NIOS 处理器。
- 14 版本之后的 Quartus 只存在对 64 位机器的支持,而 Modelsim 目前只有 32位版本的。也就是说,如果用户安装了 14 之后的版本,在运行 Modelsim仿真软件时需要 CPU 的虚拟化功能。
总的来说,对于入门而言免费的版本就足够了。
黑金社区为开发板制作了整套 PDF 教程,而且难得文笔轻松活泼。可惜对我而言笔记性质的教程是教不会初学者什么,想要看懂那些教程需要事先有硬件从业者的经历以及相关知识。
此外光盘上还附带有夏文宇老师的《数字逻辑设计》 PDF 版,这本书从语法的角度详细描述了 verilog 语言,但可能由于成书较早,书中并没有严格的区分可综合逻辑和不可综合逻辑,更要命的是没有介绍实验的方法,读者并不知道该用什么软件来练习书中的例子。
当时在网上查不到任何关于 verilog 的入门视频,只能去买本《FPGA数字逻辑设计教程——Verilog》作为教材硬着头皮去啃了。意外的的是老外写的书着实质量不错,可惜译作是以 xilinx 公司的 FPGA 作为练习的例子,使用 ISE 作为开发环境。本以为多多少少的会有些问题,但 verilog 语言强大的通用性消去了不同厂家产品的区别;当我试着把书中的多个开关输入改为常数,把多个 LED 灯减少到不超过 4 个 LED 灯作为练习,一年下来的入门学习并没有受到什么影响。
上面讲的英文词汇,可能会让人觉得云里雾里,难以理清它们之间的关系和区别。这里简单的以 51 单片机作为对比,介绍下 FPGA 的相关术语。
|
名称 |
FPGA |
FPGA |
8051 |
|
生产厂商 |
Altera |
Xilinx |
STC |
|
设计工具 |
Quartus |
ISE |
Keil |
|
语言 |
Verilog HDL、VHDL |
Verilog HDL、VHDL |
C |
最后讲一下 Quartus 的安装,Quartus 是 Altera 公司的产品,它同时支持 Windows 和 Linux 操作系统。其中 Web 版本的下载和使用是免费的,任何人可以到 Altera 官网去注册下载,百度搜索也可以得到一些下载链接,这里假设您已经下载好了对应您机器的版本。
无论是下载组合包,还是独立文件或者是 DVD 镜像,解压后应该能找到类似以下的一些文件,当然不同的版本会有些区别:

双击 setup.bat 或者 QuartusSetup.exe 开始安装,安装中可能会出现窗口假死的情况,这是由于磁盘读写达到上限所导致的:

许可证,不管他,(¬︿̫̿¬☆)哼。

安装路径选择,不想失败的话就不要做任何修改,默认的是在 C:\altera\13.0sp1,不是在 C:\Program Files\altera\13.0sp1。安装目录不允许有任何中文、空格或者特殊符号;同样的,工程目录也是如此。

Quartus 安装选项,64 位机器的请勾上 Quartus II 64-bit support,Modelsim-Altera 也存在免费和付费的版本。

如果安装了 DSP Builder 就会有这一步,DSP Builder 可以联合 Matlab 进行 DSP 的设计,这里我没有装 Matlab,需要的同学请自行设定。

准备安装,这里需要大约 9G,显示分区空余 57G。
耐心的等上大约 30 分钟,配置好的可能会快一些,安装过程中会有些小弹窗。

完毕,下图的三个选项是:是否创建桌面快捷方式、是否立即启动 Quartus 软件、是否反馈用户信息。

装完后,如果提示没有安装器件库,像这样:

点击上图中的确定或是在 Tool 菜单中打开器件安装工具,注:较老版本的 Quartus 没有这个 Install Devices 选项:


找到你存放器件库压缩包(.qdz)的目录:

选择要安装的器件库,如果目录下有多个 qdz 文件,这里会显示更多。


成功,Quartus 安装完成。o(^▽^)o

我的 FPGA 学习历程(01)—— FPGA 基础知识和 Quartus 的安装的更多相关文章
- ios开发学习笔记001-C语言基础知识
先来学习一下C语言基础知识,总结如下: 在xcode下编写代码. 1.编写代码 2.编译:cc –c 文件名.c 编译成功会生成一个 .o的目标文件 3.链接:把目标文件.o和系统自带的库合并在一起, ...
- Java-2-学习历程2:基础知识1,2,3文档、完整版视频资源、电子书籍下载
Java学习历程:基础知识1,2,3文档.完整版视频资源.电子书籍 1.基础知识1,2.3可到下面地址下载: http://download.csdn.net/detail/iot_li/886 ...
- 【java基础】01 计算机基础知识
一.计算机基础知识 1. 计算机 1. 什么是计算机? 计算机在生活中的应用举例 计算机(Computer)全称:电子计算机,俗称电脑.是一种能够按照程序运行,自动.高速处理海量数据的现代化智能电子设 ...
- 学习android学习必备的java基础知识--四大内部类
学习android必备的java基础知识--四大内部类 今天学习android课程,因为我的主专业是JAVA,但是兴趣班却有这其他专业的同学,学习android 需要具备一些java的基础知识,因此就 ...
- 《Python基础教程(第二版)》学习笔记 -> 第一章 基础知识
写笔记的原因:书也看了一遍,视频也看了,但总是感觉效果不好,一段时间忘记了,再看又觉得有心无力,都是PDF的书籍,打开了就没有心情了,上班一天了,回家看这些东西,真的没多大精力了,所以,我觉得还是把p ...
- Web学习篇之---css基础知识(一)
css基础知识(一) 1.css样式: 载入css样式有下面四种: 1).外部样式 2).内部样式 3).行内样式 4).导入样式 <link href="layout.css&quo ...
- Spring笔记01(基础知识)
1.基础知识 01.Spring:轻量级Java EE开源框架,它是由Rod Johnson为了解决企业应用程序开发的复杂性而创建. 02.目标:实现一个全方位的整合框架,实现“一站式”的企业应用开发 ...
- FreeRTOS学习笔记——FreeRTOS 任务基础知识
RTOS 系统的核心就是任务管理,FreeRTOS 也不例外,而且大多数学习RTOS 系统的工程师或者学生主要就是为了使用RTOS 的多任务处理功能,初步上手RTOS 系统首先必须掌握的也是任务的创建 ...
- Web学习篇之---html基础知识(一)
html基础知识(一) 本篇文章主要介绍HTML头部所包括的信息. 一.下面都是在标签<head>...</head>之间的内容: 1.<title>-</t ...
随机推荐
- (七)File 文件的操作
一.文件读写模式 1.文件的几种模式: 格式:f=open("文件名","模式",encode="utf-8") #文件的只读模式 f1=o ...
- Selenium for C#(一) 环境安装
Selenium 环境安装 本地环境为VS2015,由于selenium 官网不知什么原因打不开. 特记录下VS上使用NuGet安装Selenium的步骤. 利用Package Manager Con ...
- MySql 从SQL文件导入
1. 运行cmd进入命令模式,进入Mysql安装目录下的bin目录(即mysql.exe所在的目录): cd c:\"program Files"\MySQL\"MySQ ...
- Apple Tree POJ - 2486 (树形dp)
题目链接: D - 树形dp POJ - 2486 题目大意:一颗树,n个点(1-n),n-1条边,每个点上有一个权值,求从1出发,走V步,最多能遍历到的权值 学习网址:https://blog.c ...
- (三)ORB特征匹配
ORBSLAM2匹配方法流程 在基于特征点的视觉SLAM系统中,特征匹配是数据关联最重要的方法.特征匹配为后端优化提供初值信息,也为前端提供较好的里程计信息,可见,若特征匹配出现问题,则整个视觉SLA ...
- Java并发编程之美之并发编程线程基础
什么是线程 进程是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,线程则是进程的一个执行路径,一个进程至少有一个线程,进程的多个线程共享进程的资源. java启动main函数其实就 ...
- python3简单实现支持括号的加减乘除运算
1.首先表达式的空格. 2.循环计算最内层带括号的表达式(提取运算符出现的顺序,然后计算) 3.计算最外层的表达式输出. 刚接触python,代码不够严谨,仅实现功能.不知道如何在函数中使用运算符变量 ...
- Oracle SQL性能优化总结
1. SQL语句执行步骤 语法分析> 语义分析> 视图转换 >表达式转换> 选择优化器 >选择连接方式 >选择连接顺序 >选择数据的搜索路径 >运行“执 ...
- Socketserver的源码分析
Socketserver的源码分析
- osg做的路面项目