我的 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
转载于:https://www.cnblogs.com/SummerSunnyDay/p/5542094.html
我的 FPGA 学习历程(01)—— FPGA 基础知识和 Quartus 的安装相关推荐
- 密码算法学习笔记01:基础知识-公钥密码和混合密码系统
来自书籍<图解密码技术 第三版.pdf> 密码算法基础知识-公钥密码和混合密码系统 一.公钥密码 公钥密码--用公钥加密,用私钥解密. 公钥密码无需向接收者配送用于解密的钥匙,只需向发送者 ...
- JavaScript学习笔记01【基础——简介、基础语法、运算符、特殊语法、流程控制语句】
w3school 在线教程:https://www.w3school.com.cn JavaScript学习笔记01[基础--简介.基础语法.运算符.特殊语法.流程控制语句][day01] JavaS ...
- 奋斗的小孩系列 FPGA学习altera系列: FPGA学习altera 系列 第二十一篇 数码管设计
奋斗的小孩系列 FPGA学习altera系列: FPGA学习altera 系列 第二十一篇 数码管设计 作者:奋斗的小孩 郝旭帅(转载请注明出处) 大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是 ...
- 《Java并发编程实践》学习笔记之一:基础知识
<Java并发编程实践>学习笔记之一:基础知识 1.程序与进程 1.1 程序与进程的概念 (1)程序:一组有序的静态指令,是一种静态概念: (2)进程:是一种活动,它是由一个动作序列组成 ...
- 汇编学习(1)——基础知识
汇编学习(1)--基础知识 ---谨以此系列文章记录我的汇编学习. 关于汇编 说起汇编语言,那自然不得不想到机器语言,在汇编语言尚未诞生之际,程序猿们只能非常苦逼的敲着0和1,还要记住一大堆复杂难记 ...
- 学习python需要什么基础-学习Python需要哪些基础知识?
今天是腊月二十七,给各位朋友拜个早年! Python学习可以分为几个阶段,入门.进阶.应用. 先说说入门需要哪些基本的知识储备. Python因为易于学习的特点,入门很简单,掌握基本的Python知识 ...
- python基础知识资料-学习Python列表的基础知识汇总
千里之行,始于足下.要练成一双洞悉一切的眼睛,还是得先把基本功扎扎实实地学好.今天,本喵带大家仔细温习一下Python的列表.温故而知新,不亦说乎. 当然,温习的同时也要发散思考,因为有些看似无关紧要 ...
- Python学习--最完整的基础知识大全
##Python学习–最完整的基础知识大全 关于python的基础知识学习,网上有很多资料,今天我就把我收藏的整理一下分享给大家! #####菜鸟教程python2 #####菜鸟教程python3 ...
- 学习hadoop需要具备基础知识
学习hadoop需要具备基础知识 首先整体上了解Hadoop,包括hadoop是什么,能够做什么,使用场景等,不需要考虑细节问题.在有了整体上的了解后,就开始准备系统地学习hadoop.建议:勿一味学 ...
最新文章
- 蛰伏7年!他一天发表两篇Nature,还曾是曹原的师弟!
- 几行代码轻松实现,Tensorlayer 2.0推出深度强化学习基准库
- java学习笔记(十二)----集合
- 【中文】Joomla1.7扩展介绍之JoomSEF Free (搜索引擎友好)
- Oracle的解惑一二to date 与24小时制表示法及mm分钟的显示
- VMware 提示”此虚拟机被配置为64位操作系统,然而,64位操作无法进行”
- RS(2)--从文本数据到用户画像
- java文件学生_文件存储学生信息(JavaIO流)
- JWT认证不通过导致不能访问视图的解决方案
- Linux下shell反弹
- javax.net.ssl.SSLException: closing inbound before receiving peer‘s close_notif---SpringCloud工作笔记111
- 如何在Rancher 2.0上快速部署Datadog
- 计算机广告制作教程,Photoshop实例教程:制作网站横条广告
- 递归函数python有什么特点_递的笔顺 笔画数:10 拼音:dì 部首:辶 - 智慧山
- Spring入门笔记总结
- 渐进符号与基本效率类型
- 时区,GMT时间,UTC时间,UNIX时间戳
- 在大数据认知观和真实性不一样的?
- mw325r 服务器无响应),新版水星(Mercury)MW325R拨不上号怎么办?【图解】
- android11.0 12.0Launcher3禁止拖拽app图标到第一屏
热门文章
- 命运惨淡 各大品牌遭冷遇手机一览(组图)
- 摩托罗拉Atrix预言了智能手机的现在和未来
- 端游下载的时候现在很多都是采用HTTP传输,为什么不是P2P传输?
- geographic
- python代码库-python 编码库
- hi mate, lets recall the bloody “JOIN“
- 多线程_锁(八股文)
- spring mnv (一)
- Hack The Box靶机——Ambassador
- VMware12 kali 安装、VMware tools安装、源更新和dvwa相关配置以及此过程中遇到的问题解决方式