高级的嵌入式市场主要分为以下三类: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:altera13.0sp1,不是在 C:Program Filesaltera13.0sp1。安装目录不允许有任何中文、空格或者特殊符号;同样的,工程目录也是如此。
Quartus 安装选项,64 位机器的请勾上 Quartus II 64-bit support,Modelsim-Altera 也存在免费和付费的版本。
如果安装了 DSP Builder 就会有这一步,DSP Builder 可以联合 Matlab 进行 DSP 的设计,这里我没有装 Matlab,需要的同学请自行设定。
耐心的等上大约 30 分钟,配置好的可能会快一些,安装过程中会有些小弹窗。
完毕,下图的三个选项是:是否创建桌面快捷方式、是否立即启动 Quartus 软件、是否反馈用户信息。
装完后,如果提示没有安装器件库,像这样:
点击上图中的确定或是在 Tool 菜单中打开器件安装工具,注:较老版本的 Quartus 没有这个 Install Devices 选项:
找到你存放器件库压缩包(.qdz)的目录:
选择要安装的器件库,如果目录下有多个 qdz 文件,这里会显示更多。
成功,Quartus 安装完成。o(^▽^)o