大概是在13年的时候,弟弟给我看了一段 verilog 代码,并且跟我说这东西很有用,于是网上查了查资料,大神们是这样说的:在大学,你只能学到 51单片机,作为电子的入门基础,但是实际上嵌入式市场上用的大多是更为高端的芯片,主要分为三类:ARM、DSP、FPGA。
既然决定学下 FPGA,就一定要有一块开发板。淘宝上的板子有很多家,有黑金、特权、至芯科技等等好多家,最后选了黑金的一块学生版AX301。当时以为 FPGA 嘛,肯定要比 51 高级一些,板子上有个 VGA 接口,因为用的是笔记本,说不定调试的时候需要一个屏幕,于是又买了个 VGA 7寸的小显示器(-____-)买到现在还不会写 VGA 驱动。
拿到开发板后,你需要做的事情:
第一步,看看板子附带的光盘资料,包括用户手册、原理图等等。熟悉下资料。
第二步,altera 官网注册一个账号,下载安装 quartus 软件。
- quartus 有免费的 网络版本,免费版本与注册版本的区别如下:
- 免费版没有多线程编译的功能,如果是多核 CPU,免费版只会使用其中一个 CPU,编译速度会慢一些。
- 免费版如果使用了 IP 核,生成的烧录文件(.sof)只能在线使用(一直连着电脑),而(.pof)只能使用一个小时。
- 免费版中 Qsys 或者 SOPCBuilder中只能使用 NIOS 精简核,否则 quartus 编译报错。
- quartus 版本区别:
- 9 ~ 10 版中包含 图形仿真输入工具,10 ~ 12 版中没有,13版中又添加了,没有图形输入就只能用 Modelsim 编写 testbench 来仿真了。图形仿真输入工具对于初学者而言是必须的。
- 11版之后 Qsys 会代替 SOPCbuilder。
- 14版之后只有 64 位机器的支持,而 Modelsim 只有 32位,也就是说,如果安装了 14 之后的版本,运行 Modelsim仿真软件,你的 CPU 要有虚拟化支持。
总的来说,对于入门而言免费的版本就足够了,我就用了一年的免费版,最后才用它制作了一个电子钟。
第三步,看看光盘里的快速入门视频、入门资料、工程项目。
- 按照视频上的要求打开一个 quartus 工程(.qpf)文件结尾
- 装好 USB-Blaster 驱动连上开发板的 Jtag 口,下载一个(.sof)文件看看效果。
- 按照 PDF 教程里的说明转化(.sof)文件文件为(.jic)文件,烧录到 EPCS 里去。
FPGA 的自学入门之路真的很曲折。(*>.<*)曾经三个月连个灯都点不亮。
我用的是Altera 的 FPGA,使用的 HDL 语言是 verilog。
要想入门前需要数字逻辑基础知识:
- 基本逻辑门
- 卡诺图和逻辑化简
当时我在熟悉板子之后只会编译别人写好的工程,烧写文件,而 verilog 却一直无法入门。附带的 PDF 教程里有 Verilog 扫盲文,此外还有建模篇,我的天哪,第一个例程就是流水灯,第二个就是按键消抖,,verilog 一行我都看不懂。
回头想想也没什么难的,只不过是一个计数器而已。只是当时我没有任何基础罢了,做教程、做板子的大神自然不会教你那些最基础的东西,因为他们觉得 我的知道的东西也是你理所应当知道的 。
黑金社区做整套教程确实不易,而且难得文笔轻松活泼。可是一本笔记性质的东西教不了初学者什么,知识零零散散,需要事先有硬件从业者的经历、VHDL 的知识,转行到这块板子上才能轻轻松松读的懂。我个人可能比较愚钝,大约一年之后我才看得懂这本建模篇。
光盘上还有夏文宇老师的《数字逻辑设计》 PDF版,这本书从语法的角度讲了 verilog,语法讲的非常细致,没有区分可综合和不可综合的部分,此外没有实验方法,我不知道该用什么软件来练习书中的例子。
网上几乎没有 verilog 的入门视频,只能去买本书了,很快就入了一本《FPGA数字逻辑设计教程——Verilog》,老外写的,国人翻译,确实质量不错。但是这本译作是以 Digilent 公司的 BASYS2 和 NEXYS2 开发板作为例程的,那两块板子用的都是 xilinx 公司的 FPGA。书里用的工具是 ISE。不过虽然是竞争公司的产品,但不同厂商之间 FPGA 区别不大、verilog 通用性强,只要把书中的开关输入改为常数、把多个LED灯改成不超过4个LED灯,其他的真还没什么问题。