高级的嵌入式市场主要分为以下三类: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 显示器(-____-)。

我的开发板长这个样子(红色的配套的下载器,必须的):

拿到开发板后,需要做的事情:

  1. 看看板子附带的光盘资料,包括用户手册、原理图等等。熟悉下资料。
  2. 第二步,altera 官网注册一个账号,下载一个 Quartus 软件。
  3. 熟悉光盘里的资料。
  4. 按照视频上的要求打开一个 Quartus 工程(.qpf 结尾)。
  5. 装好 USB-Blaster 驱动连上开发板的 Jtag 口,下载一个(.sof)文件看看效果。
  6. 按照 PDF 教程里的说明转化(.sof)文件文件为(.jic)文件,并烧录到 EPCS 里去。

Quartus 有 免费使用 的网络版本,免费版本与注册版本的区别如下:

  1. 免费版没有多线程编译的功能,如果是多核 CPU,免费版只会使用其中一个 CPU,编译速度会慢一些。
  2. 免费版如果使用了 IP 核,生成的烧录文件(.sof)只能在线使用(一直连着电脑),而(.pof)只能使用一个小时。
  3. 免费版中 Qsys 或者 SOPCBuilder中只能使用 NIOS 精简核,否则 quartus 编译报错。

Quartus 其他版本的区别:

  1. 9 ~ 10 版本中默认包括了图形仿真激励输入工具,10 ~ 12 版本中又把他删除了,但在 13 之后的版本再次添加该工具,如果没有图形仿真激励输入工具要想仿真只能通过编写 testbench 脚本,testbench 脚本的编写和 Modelsim 的操作方法对于初学者而言会是个巨大的障碍。
  2. 11 版本之后 Qsys 会代替 SOPCbuilder 用于构建 NIOS 处理器。
  3. 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 的安装相关推荐

  1. 密码算法学习笔记01:基础知识-公钥密码和混合密码系统

    来自书籍<图解密码技术 第三版.pdf> 密码算法基础知识-公钥密码和混合密码系统 一.公钥密码 公钥密码--用公钥加密,用私钥解密. 公钥密码无需向接收者配送用于解密的钥匙,只需向发送者 ...

  2. JavaScript学习笔记01【基础——简介、基础语法、运算符、特殊语法、流程控制语句】

    w3school 在线教程:https://www.w3school.com.cn JavaScript学习笔记01[基础--简介.基础语法.运算符.特殊语法.流程控制语句][day01] JavaS ...

  3. 奋斗的小孩系列 FPGA学习altera系列: FPGA学习altera 系列 第二十一篇 数码管设计

    奋斗的小孩系列 FPGA学习altera系列: FPGA学习altera 系列 第二十一篇 数码管设计 作者:奋斗的小孩 郝旭帅(转载请注明出处) 大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是 ...

  4. 《Java并发编程实践》学习笔记之一:基础知识

    <Java并发编程实践>学习笔记之一:基础知识 1.程序与进程 1.1 程序与进程的概念 (1)程序:一组有序的静态指令,是一种静态概念:  (2)进程:是一种活动,它是由一个动作序列组成 ...

  5. 汇编学习(1)——基础知识

    汇编学习(1)--基础知识 ---谨以此系列文章记录我的汇编学习.  关于汇编 说起汇编语言,那自然不得不想到机器语言,在汇编语言尚未诞生之际,程序猿们只能非常苦逼的敲着0和1,还要记住一大堆复杂难记 ...

  6. 学习python需要什么基础-学习Python需要哪些基础知识?

    今天是腊月二十七,给各位朋友拜个早年! Python学习可以分为几个阶段,入门.进阶.应用. 先说说入门需要哪些基本的知识储备. Python因为易于学习的特点,入门很简单,掌握基本的Python知识 ...

  7. python基础知识资料-学习Python列表的基础知识汇总

    千里之行,始于足下.要练成一双洞悉一切的眼睛,还是得先把基本功扎扎实实地学好.今天,本喵带大家仔细温习一下Python的列表.温故而知新,不亦说乎. 当然,温习的同时也要发散思考,因为有些看似无关紧要 ...

  8. Python学习--最完整的基础知识大全

    ##Python学习–最完整的基础知识大全 关于python的基础知识学习,网上有很多资料,今天我就把我收藏的整理一下分享给大家! #####菜鸟教程python2 #####菜鸟教程python3 ...

  9. 学习hadoop需要具备基础知识

    学习hadoop需要具备基础知识 首先整体上了解Hadoop,包括hadoop是什么,能够做什么,使用场景等,不需要考虑细节问题.在有了整体上的了解后,就开始准备系统地学习hadoop.建议:勿一味学 ...

最新文章

  1. 蛰伏7年!他一天发表两篇Nature,还曾是曹原的师弟!
  2. 几行代码轻松实现,Tensorlayer 2.0推出深度强化学习基准库
  3. java学习笔记(十二)----集合
  4. 【中文】Joomla1.7扩展介绍之JoomSEF Free (搜索引擎友好)
  5. Oracle的解惑一二to date 与24小时制表示法及mm分钟的显示
  6. VMware 提示”此虚拟机被配置为64位操作系统,然而,64位操作无法进行”
  7. RS(2)--从文本数据到用户画像
  8. java文件学生_文件存储学生信息(JavaIO流)
  9. JWT认证不通过导致不能访问视图的解决方案
  10. Linux下shell反弹
  11. javax.net.ssl.SSLException: closing inbound before receiving peer‘s close_notif---SpringCloud工作笔记111
  12. 如何在Rancher 2.0上快速部署Datadog
  13. 计算机广告制作教程,Photoshop实例教程:制作网站横条广告
  14. 递归函数python有什么特点_递的笔顺 笔画数:10 拼音:dì 部首:辶 - 智慧山
  15. Spring入门笔记总结
  16. 渐进符号与基本效率类型
  17. 时区,GMT时间,UTC时间,UNIX时间戳
  18. 在大数据认知观和真实性不一样的?
  19. mw325r 服务器无响应),新版水星(Mercury)MW325R拨不上号怎么办?【图解】
  20. android11.0 12.0Launcher3禁止拖拽app图标到第一屏

热门文章

  1. 命运惨淡 各大品牌遭冷遇手机一览(组图)
  2. 摩托罗拉Atrix预言了智能手机的现在和未来
  3. 端游下载的时候现在很多都是采用HTTP传输,为什么不是P2P传输?
  4. geographic
  5. python代码库-python 编码库
  6. hi mate, lets recall the bloody “JOIN“
  7. 多线程_锁(八股文)
  8. spring mnv (一)
  9. Hack The Box靶机——Ambassador
  10. VMware12 kali 安装、VMware tools安装、源更新和dvwa相关配置以及此过程中遇到的问题解决方式