学习 FPGA 应学什么
---------------------------------------------------------------------------不仅仅学习, 更关注现实中的应用
FPGA 真正强大的地方在于它的快速的并行处理数据能力, 这也是它与单片
机、ARM、DSP 的很大的区别。所以她能进行高速的数据采样和处理,也只有
在通信和视频处理等领域才能发挥它的强大功能,IC 设计方面也只是用它来作
为设计验证的平台而已(个人观点)。
关于 NIOS,我个人觉得它并不是很好用,SOPC 在实际应用中很少用到,
实用性比不上
单片机和 ARM,使用起来远远比不上 ARM 和单片机方便,因为
关于 ARM、单片机的应用和支持实在太丰富了,而用 FPGA 仅仅作为 NIOS 的
平台,那他的代价实在是太高,起码到目前为止,NIOS 取代不了 ARM 和单片
机。NIOS、ARM、单片机都是基于 C
语言编程,如果你打算花时间去学 NIOS
(那也只是学习而已) 我建议你花更多的时间去学习 ARM 或单片机, 因为 ARM
或单片机更实用,更有“钱途” 。要弄清楚 C 语言和 Verilog 语言的本质区别
言归正传,学习 FPGA 到底应关注哪些方面呢?
本
开发板让你感觉到是在真正的进行 FPGA 的学习和设计,而不是把 FPGA
当作一个单片机来学习,不仅仅是用它来控制 LED,如此现实用处也不大。本
开发板会让你体验到 FPGA 设计和 matlab 结合是多么有趣,设计 FIR
滤波器、
CIC 滤波器、DDC/DUC、DDS 等,而这些正是现实的工作岗位所应该具备的能
力,让 FPGA 真正的发挥它应有的强大功能。
学习 FPGA 要有电路的思想, 而用 NIOS 编辑 C 语言完全不用考虑硬件电路
(这是 C 语言的特点), 所以学习 FPGA 时不用偏离了
数字电路的核心思想:逻
辑设计,而不是 C 语言设计,同时要了解 FPGA 的内部电路结构。
逻辑设计:就是用 verilog HDL 或者 VHDL 来设计要求的逻辑功能,通过综
合软件把代码综合成逻辑电路。
同步设计: “数字电路中,时钟是整个电路最重要、最特殊的信号。系统内大
部分器件的动作都是在时钟的跳变沿上进行, 这就要求时钟信号时延差要非常
小, 否则就可能造成时序逻辑状态出错;时钟信号通常是负载最重的信号, 所以
要合理分配负载。 出于这样的考虑在 FPGA 这类可编程器件内部一般都设有数量
不等的专门用于系统时钟驱动的全局时钟网络。 这类网络的特点是: 一、 负载能
力特别强, 任何一个全局时钟驱动线都可以驱动芯片内部的
触发器; 二是时延差
特别小; 三是时钟信号波形畸变小, 工作可靠性好。
同步设计时, 全局时钟输入一般都接在器件的时钟端, 否则会使其性能受到
影响。 若系统需要多个系统, 则最好由一个时钟源从 FPGA 时钟
管脚输入, 才从
同 FPGA 的 PLL 分频或倍频得到多个时钟。
时序约束: 这是学习 FPGA 的高级功能了, 在设计高速的电路时, 这个功能
常常会被用到,要使 quartus 综合出高速而稳定的 FPGA 电路,必须对高速接口
和 FPGA 内部的电路进行时序约束。
基本的时序约束:1. 核心频率约束
2. 核心频率约束+时序例外约束
3. 核心频率约束+时序例外约束+I/O 约束
这些约束在通信系统的设计者通常会用到,当然还有更详细的约束方法,大
家可以参考光盘 CD1 中的时序约束部分。
养成好的编码风格: 编码风格的养成要有一定的编码基础的, 不然看很多别
人写的关于编码风的文章你也看不懂, 也不能正确的执行, 等有了一定 FPGA 基
础之后, 再去审视自己的编码风格和别人建议的编码风格, 才最终形成一个成熟
的编码风格。 编码风格多种多样, 不同的编码风格应用的领域不一样, 有的编码
风格适用于通信领域,有的编码风格适用于 ASIC 设计。
学习 FPGA 的前景:
学习 FPGA 的前景
FPGA 从诞生以来经历了从配角到主角的转变,FPGA 主要用于取代复杂的逻辑电
路, 现在重点强调平台概念, 当集成数字信号处理器、 嵌入式处理器、 高速串行
和其它高端技术后, 从而被应用到更多的领域, 正因为其飞速的发展, 让更多学
FPGA 的人看到了希望,其广阔的前景正是我们选择的原因之一。
(1)广阔的发展前景
据
市场调研公司 Gartner Dataquest 预测, 2010 年 FPGA 和其它可编程逻辑器件
(PLD)市将从 2005 年的 32 亿美元增长到 67 亿美元, 未来还将有不断增长的趋势。
FPGA 及 PLD 产业发展的最大机遇是替代 ASIC 和专用标准产品(ASSP),由 ASIC
和 ASSP 构成的数字逻辑市场规模大约为 350 亿美元。 由于用户可以迅速地对 PL
D 进行编程,按照需求实现特殊功能,与 ASIC 和 ASSP 相比,PLD 在灵活性、开
发成本、产品快速上市方面更具优势,所以未来FPGA 将会是一个非常有前景的
行业。
由于 FPGA 结构的特殊性,可以重复编程,开发周期较短,越来越受到人们的青
睐,它的特点也更接近 ASIC,ASIC 比 FPGA 最大的优势是低成本,但是 FPGA 的
价格现在也越来越低,例如,Actel 的 Nano 系列更是打破了 FPGA 的价格屏障,
提供超过 50 种低于 1 美金的 FPGA,在一定程度上已经可以与 ASIC 相抗衡。
根据当前发展的趋势, 未来的 FPGA 势必将会取代大部分 ASIC 的市场, 虽然根据
摩尔定律(Moore’s Law): 每 18 至 24 个月能在相同的单位面积内多集成一倍的
晶体管数目, 也就意味着每 18 至 24 个月后芯片成本将减半, 但这只是指裸晶(D
ie)的成本,并不表示整个芯片的成本减半,这是由于
晶圆制造前端的掩膜(Mas
k)成本、 晶圆制造后端的封装(也称为: 构装、 包装)成本、 人力成本等都不会随
摩尔定律而变化, 反而芯片的成本有上升的趋势, 所以过去许多中、 小用量的芯
片无法用先进的工艺来生产,对此不是持续使用旧工艺来制造,或是必须改用 F
PGA 芯片来生产……
未来的趋势告诉我们,FPGA 将成为 21 世纪最重要的高科技产业之一,特别是国
内的 FPGA 市场,更是一个“未完全开垦的处女地”,抓住现在的机遇也就意味
着为我们的将来提供更强大的竞争力。
(2)更多的就业机会
虽然 FPGA 市场的广阔, 但是 FPGA 的技术人员却极度地缺乏, 很多高校仍然未重
视 FPGA 技术的教学, 导致学生毕业后连什么是 FPGA, 什么是Verilog 都不知道,
失去了很多的就业机会。广州周立功单片机发展有限公司三年来跑遍了全国 22
个城市, 每次宣讲会场里场外都站满了人, 每个学生都渴望寻找一份好工作的心
情由此可见一斑,但通过考试发现懂 FPGA 和 Verilog 的学生却寥寥无几,尽管
我们每年都对招聘 FPGA 人才寄予了很大的希望,但每次都失望而归,深深地体
会到招聘 FPGA 开发工程师困难重重。
由此可见在
应届毕业生中熟练掌握 FPGA 的学生已经属于稀缺资源了,然而企业
为培养 FPGA 开发工程师无不付出沉重的代价,所以对于在校电类专业的学生来
说,这是打造个人差异化竞争力的大好机会,事实上只要掌握 FPGA 就能够找到
一份薪水更好的工作。 我们公司每次在考核员工时, 往往都会特别关注这些“特
殊员工”,一般来说这些员工的薪水都会比其它岗位高 500 元,这就是学习 FPG
A 的就业优势,但是很多人不曾完全意识到掌握 FPGA 技术的重要性。
当前受
金融危机的影响,对学生的就业更是巨大的考验,据教育部的统计,200
8 年全国
普通高校毕业生达 559 万人, 比 2007 年增加 64 万人, 2009 年高校毕业
生规模达到 611 万人, 比 2008 年增加 52 万人, 如此多的大学生面临着就业的问
题, 如果个人不具备一定的优势, 必将淹没在人海茫茫的潮流中而找不到理想的
工作,而学习 FPGA 则可以帮助学生多一技之长,大大提高就业的机会。
(3)更大的技术发展空间
我们知道半导体一直是国内比较薄弱的产业,与国外相比相差甚远,大部分 IC
都来自欧美地区,国内拥有
自主知识产权的 IC 技术不多,多半需要引进国外先
进的IC 设计技术。但是自 2000 年以来,中国大陆的 IC 设计企业如雨后春笋般
迅速涌现,企业数量 5 年增加了 4 倍多,2005 年已经达到 500 多家,
销售收入过亿元人民币的设计企业达到 17 家,其中两家超过 5 亿元的销售规模。概括地
讲, 中国的 IC 设计公司可以分为 4 类, 第一类是国有 IC 设计公司, 一般是承担
政府研发任务的研究所转制后成立的; 第二类是由系统厂商的设计部门独立出来
的 IC 设计公司;第三类是民营 IC 设计公司,以海归型为主;最后一类是外资 I
C 设计公司。
由此可见 IC 设计也是未来发展的一个重点方向,将会是国家大力扶持的产业之
一, 而 IC 的设计人员必须掌握 FPGA 的技术, 在芯片
流片之前都是通过FPGA 来
进行前期设计验证的,与 FPGA 使用同样的设计语言,只是在后端的设计中才用
到 IC 设计方面的特定技术,而 IC 设计人员必定是懂得 FPGA 设计的人,因此掌
握 FPGA 技术是通往 IC 设计殿堂的必经之路