郭同学 发表于 2014-11-13 15:29:38

FPGA的工资高,但是初学者应该如何来学习FPGA

本帖最后由 fpgaw 于 2015-7-30 04:56 编辑

FPGA的工资高,但是初学者应该如何来学习FPGA

FPGA作为一种高新的技术,已经逐渐普及到了各行各业,无论是消费类、通信类、电子行业都无处不在它的身影,从1985年第一颗FPGA诞生至今,FPGA已经历了将近20多个年头,从当初的几百个门电路到现在的几百万门、几千万门……,从原来的上千元的天价到现在几元的超低价,可谓是出现了翻天覆地的变化。所以当前正是学习FPGA的最好时机,无论是社会的需求也好,还是技术的成熟度也好,已经达到了前所未有的高度,我们可以花更少的成本,并以最快的速度掌握一种新的前沿技术,对我们的未来发展将会是非常大的帮助。
作为一个FPGA的初学者必须要了解以下几个问题:什么是FPGA?为什么要学习FPGA?如何去学FPGA?
1.1 什么是FPGA?
   FPGA是Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
FPGA诞生于1985年,当时第一个FPGA采用2μm工艺,包含64个逻辑模块和85000个晶体管,门数量不超过1000个,由名为Ross Freema所发明,当时他所创造的FPGA被认为是一个不切实际发明,他的同事Bill Carter曾说:“这种理念需要很多晶体管,并且那时晶体管是非常珍贵的东西。”,所以人们认为Ross的想法过于脱离现实。但是Ross预计:根据摩尔定律(每18个月晶体管密度翻一翻),晶体管肯定会越来越便宜,因此它就越来越常见。在短短的几年内,正如Ross所预言的,出现了数十亿美元的现场可编程门阵列(FPGA)市场。但是可惜的是,他无法享受这一派欣欣向荣的景象,在1989年Ross Freeman就与世长辞了,但是它的发明却持续不断地促进电子行业的进步与发展。
我们都知道构成数字逻辑系统最基本的单元是与门、或门、非门等,而他们都是用三极管、二极管和电阻等元件构成,然后与门、或门、非门又构成了各种触发器,实现状态记忆,FPGA属于数字逻辑电路的一种,同样由这些最基本的元件构成。一个FPGA可以将上亿个门电路组合在一起,集成在一个芯片内,打破以往需要用庞大分立门电路元器件搭建的历史,不仅电路面积、成本大大减小,而且可靠性得到了大幅度的提升。
一般的FPGA内部是由最小的物理逻辑单位LE、布线网络、输入输出模块以及片内外设组成,所谓的最小物理逻辑单元是指用户无法修改的、固定的最小的单元,我们只能将这些单元通过互联线将其连接起来,然后实现用户特定的功能。一个LE由触发器、LUT以及控制逻辑组成,可以实现组合逻辑和时序逻辑;随着FPGA集成度的不断增加,其内部的片内外设也越来越多,内部可集成SRAM、Flash、AD、RTC等外设,真正实现单芯片解决整个系统功能的目的。所以我们所理解的FPGA最底层是一些实实在在的门电路构成,然后由门电路构成最小的物理逻辑单元,然后通过布线层将这些最小物理逻辑单元连接成用户需要的特定功能,我们所需要控制的是布线层之间的互连开关,这也是我们编程的对象,通过这些开关来改变功能。
当今的FGPA按工艺分主要有SRAM工艺和Flash工艺(工艺是针对它们的编程开关来说的)两类,SRAM工艺的FPGA最大的特点是掉电数据会丢失,无法保存,所以它们的系统除了一个FPGA以外,外部还需要增加一个配置芯片用于保存编程数据,每次上电的时候都需要从这个配置芯片将配置数据流加载到FPGA,然后才能正常的运行;但是Flash架构的FPGA掉电不会丢失数据,无需配置芯片,上电即可运行,它的特点非常类似ASIC,但是又比ASIC更加的灵活,可以重复编程。在一些小规模的公司或者产品量不是很大的时候往往更倾向于用FPGA来取代ASIC,不仅能够降低风险,而且能够降低成本。
1.2为什么要学习FPGA?
FPGA从诞生以来,经历了从配角到主角的过程,从初期开发应用到限量生产应用再到大批量生产应用的发展历程。从技术上来说,最初只是逻辑器件,现在强调平台概念,加入数字信号处理、嵌入式处理、高速串行和其他高端技术,从而被应用到更多的领域,正因为其飞速的发展,让更多学FPGA的人看到了希望,其广阔的前景正是我们选择的原因之一。
1. 广阔的发展前景
据市场调研公司Gartner Dataquest预测,2010年FPGA和其它可编程逻辑器件(PLD)市场将从2005年的32亿美元增长到67亿美元,未来还将有不断往上增长的趋势。FPGA及PLD产业发展的最大机遇是替代ASIC和专用标准产品(ASSP),由ASIC和ASSP构成的数字逻辑市场规模大约为350亿美元。由于用户可以迅速对PLD进行编程,按照需求实现特殊功能,与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个月就可以减半,但这只是指裸晶(Die)的成本,并不表示整个芯片的成本减半,这是由于晶圆制造更前端的掩膜(Mask)成本、晶圆制造更后端的封装(也称为:构装、包装)成本、人力成本等都不会随摩尔定律而变化,反而芯片的成本有上升的趋势,所以过去许多中、小用量的芯片无法用先进的工艺来生产,对此不是持续使用旧工艺来生产,就是必须改用FPGA芯片来生产……
因此,未来的趋势告诉我们,FPGA将成为21世纪最重要的高科技产业之一,特别是国内的FPGA市场,更是一个“未开垦的处女地”,抓住现在的机遇意味着为我们将来的产品提供更多的竞争力。
2. 提供更多就业机会
    虽然FPGA市场的广阔,但是FPGA的技术人员是极度地缺乏,其原因是还未得到高校的重视,很多学校都未开FPGA的课程,导致学生毕业后连什么是FPGA,什么是Verilog都不知道,失去了很多就业的机会。我们公司(广州单片机发展有限公司)这三年来跑遍了全国22个城市,每次宣讲会场里场外都站满了人,每个学生都渴望寻找一份好工作的心情由此可见一斑,但通过考试发现懂FPGA和Verilog的学生却寥寥无几,尽管我们每年都对招聘FPGA人才寄予了很大的希望,但每次都失望而归,深深地体会到招聘FPGA开发工程师困难重重。
由此可见在应届毕业生中熟练掌握FPGA的学生属于稀缺资源,然而企业为培养FPGA开发工程师无不付出沉重的代价,所以对于在校电类专业的学生来说,这就是打造个人差异化竞争力的机会,事实上只要掌握FPGA就能够找到一份薪水更好的工作。我们公司每次在考核员工时往往都会特别关注这些“特殊员工”的情况,一般来说这些员工的工作都会比其它岗位高500元,这就是学习FPGA的优势,但是很多人不曾完全意识到掌握FPGA技术的重要性。
当前受金融危机的影响,对学生的就业更是巨大的考验,据教育部的统计,2008年,全国普通高校毕业生达559万人,比2007年增加64万人,2009年高校毕业生规模达到611万人,比2008年增加52万人,如此多的大学生面临着就业的问题,如果不具备一定的技能,将会淹没在大学生的潮流之中而找不到理想的工作,而学习FPGA可以帮助学生多一技之长,大大提高就业的机会。
3.具有更大的技术扩展空间
   我们都知道,以前IC半导体产业一直是国内比较薄弱的产业,与国外的发展步伐相比还差甚远,我们所用的IC大部分都来自欧美地区,国内拥有自主产品的IC技术不多,多半需要引进国外先进的IC设计技术,但是自2000年以来,中国大陆的IC设计企业如雨后春笋般迅速涌现,企业数量5年增加了4倍多,2005年已经达到500多家,销售收入过亿元人民币的设计企业达到17家,其中两家超过5亿元。概括地讲,中国的IC设计公司可以分为四类,第一类是国有IC设计公司,一般是承担政府研发任务的研究所转制后设立;第二类是由系统厂商的设计部门独立出来的IC设计公司;第三类是民营IC设计公司,以海归型为主;最后一类是外资IC设计公司。
所以IC设计也是未来发展的一个重点方向,将会是国家大力扶持的产业之一,而IC的设计人员所必须掌握的是FPGA的技术,在芯片流片之前都是通过FPGA来进行前期的设计验证,用的语言也是FPGA的设计语言,只是在后端的设计中才用到IC设计的特定技术,所以IC设计人员必定是懂得FPGA设计的人,掌握FPGA的技术是通往IC设计殿堂的必经之路,学习FPGA有助于给我们更大的技术扩展空间。
怎样学FPGA?
    既然FPGA对我们如此的重要,那对于初学者的我们又应该如何去学呢?学习一样知识应该有好的老师教导,我们才能更快的掌握,可惜的是大部分的学校未开相关的课程,也缺少相关专业的老师,我们如何能够找到一个捷径或方法帮助我们学会这么极具竞争力的技术,让我们通向成功的殿堂呢?笔者觉得应该需要有步骤,有目的、循序渐进地掌握相关的技术,我们公司从原来的1人的FPGA团队,发展到如今30人左右的FPGA团队,有着一些成长的经历和经验,也希望在此能与大家一起分享。
掌握FPGA编程语言
    在学习一门技术之前我们往往从它的编程语言开始,就如学习单片机一样,我们从C语言开始,掌握了C语言,开发单片机就不是什么难事了。学习FPGA也是如此,FPGA的编程语言有两种:VHDL和Verilog,这两种都适合用于FPGA的编程,VHDL比Veirlog早出现,由美国的军方组织开发,在1987年成为了IEEE的标准;Verilog则是由民间一家普通的公司私有财产转化而来,基于其优越性,在1995成为了IEEE标准。VHDL在欧地区应用的较为广泛,而Verilog在中国、美国、日本、台湾等地应用较为广泛,笔者比较推崇的是Verilog,因为它非常易于学习,很类似于C语言,如果具有C语言基础的人,只需要花很少的时间便能掌握Verilog,而VHDL较为抽象,学习需要一段较长的时间。
如果是学生,学习Verilog最好的时期是在大学二年级,与数字电路同步学习,不仅能够理解数字电路实现的方式,更能通过FPGA将数字电路得以实现,笔者发现华中科技大学康华光教授主编的《电子技术基础(数字部分)》非常好,可以说是一本与时俱进的教材,在其中介绍了Verilog语言,并且在每一章的最后一节都介绍了如何使用Verilog建模实现相关数字电路的内容,非常适合大二学习FPGA的学生,本书同样以《电子技术基础(数字部分)》为背景,并与该书进行配套同步,在它的基础上进行了升华和改进,源于它而又高于它,所以也可以同步学习。大三、大四的学生还可以进一步将Verilog进行强化,学习北京航天航空大学的夏宇闻教授编写的《Verilog数字系统设计教程(第二版)》可以比较全面地、详细地掌握Verilog的基本语法,对大二学习的内容进一步的巩固和强化。
如果是其他初学者,可以直接借助《Verilog数字系统设计教程(第二版)》和本书即能对Verilog的语法进行全面的掌握。这是学习FPGA的第一步,也是必不可少的一步。

zhiweiqiang33 发表于 2014-11-15 18:33:34

学习FPGA这门高大上的技术 要做到 心中有电路 手中有代码

fpgaw 发表于 2015-7-30 04:17:27


FPGA作为一种高新技术,由于其结构的特殊性,可以重复编程,开发周期较短,越来越受到电子爱好者的青睐,其应用已经逐渐普及到了各行各业。因此,越来越多的电子爱好者想尽快掌握这门技术进入该领域。

笔者从2007年初次接触并系统学习FPGA及工作后应用FPGA做产品至今已有7年的时间,初次接触学习FPGA时由于没有专业老师的指导,自己摸索学习FPGA走了很多的弯路。有过问题迎刃而解的快乐,也有过苦苦寻求结果和答案的痛苦历程,回想起自己学习FPGA的经历,从开始的茫然,到后来的疯狂看书,购买开发板,在开发板上练习各种FPGA实例,到毕业工作后用一直FPGA做产品,独立完成项目,一路走来,感受颇多。发觉学习FPGA只要选择正确的方法是有捷径可走的。笔者经常在FPGA相关技术论坛及FPGA技术交流QQ群解答初学者在学习过程中遇到的技术问题,发现很多初学者都是怀着浮躁的心态来学习FPGA,总是急于求成。在学习FPGA设计技术的过程中,虽然刚开始学习热情很高,但真正坚持下来一直到“学会”的却寥寥无几,除了学生个人毅力的因素外,另外一个重要的原因没有好的学习教程的指引和缺乏正确的学习方法的指导,原本FPGA的学习门槛相对于单片机来说就高了不少,再加上缺少手把手系列的教程资料和正确的学习方法,这就给初学者学习FPGA增添了更多的困难,很多初学者因为找不到入门的方法而渐渐失去了学习FPGA的兴趣和信心。

针对现状,笔者从初学者的角度出发,结合笔者学习FPGA的经验以及使用FPGA做项目的亲身体会,遵循“宁可啰嗦一点,也不放过细节”的原则在电子产品世界通过在线培训的形式推出手把手教你学习FPGA系列教程,教程主要面向FPGA初学者。希望初学者通过对本教程的学习,能够快速掌握FPGA的学习方法,少走弯路,轻松走进FPGA设计开发的大门。

此系列教程主要分为FPGA学习方法篇、FPGA基础篇、FPGA实例篇以及FPGA设计技巧篇,其中FPGA基础篇又包括FPGA基础知识篇、硬件描述语言篇、FPGA开发工具篇、数字电路基础篇以及硬件电路篇;FPGA实例篇包括FPGA入门实验篇、FPGA进阶实验篇、IP核使用篇以及FPGA综合实验篇。视频共计54讲。

FPGA学习方法篇:主要是结合笔者学习FPGA的经历及心得体会讲解FPGA的学习方法,让初学者掌握正确的学习方法,把握学习FPGA正确的方向,少走弯路,避免进入FPGA学习的误区。在学习方法篇中还会讲解硬件描述语言有关的知识,主要是让初学者正确认识硬件描述语言和其他编程语言的区别,掌握学习硬件描述语言的正确方法。在学习方法篇的最后会讲解如何选择正确的硬件开发平台,因为要掌握FPGA这门技术,扎实的理论知识还远远不够,购买一块FPGA开发板,多动手练习实践更显得尤为重要。而如何选择性价比很高的硬件开发平台,也是初学者比较迷惑的问题,笔者通过硬件开发平台选型指南将会教给初学者如何花最少的钱选择性价比高的FPGA开发板入门FPGA技术。

FPGA基础知识篇:主要是讲解FPGA内部结构、FPGA可编程的基本原理以及FPGA的开发流程方面的知识。要想学好FPGA,必须先搞清楚FPGA是什么,这是入门FPGA技术的基础。通过本篇教程学习主要是让初学者掌握FPGA的基础知识,了解FPGA可编程的基本原理以及了解FPGA的开发流程。

FPGA开发工具篇:主要是讲解FPGA开发工具Quartus II软件的安装、破解和使用;FPGA仿真工具modelsim软件的安装、破解和使用;FPGA片上debug工具SignalTap II软件的的使用。

硬件描述语言篇:主要是硬件描述语言的verilogHDL的简介、基本语法介绍以及verilogHDL的编码规范。

数字电路篇:无论是FPGA的哪个方向,都离不开数字逻辑知识的支撑。FPGA说白了是一种实现数字逻辑的方式而已。如果连最基本的数字逻辑的知识都有问题,学习FPGA的愿望只是空中楼阁而已。本篇主要介绍介绍组合逻辑电路,时序逻辑电路方面的基础知识以及状态机的设计,重新复习下数字电路相关知识。

FPGA硬件电路篇:介绍FPGA最小系统及外围电路的设计,学习硬件电路方面的知识。

FPGA实例篇:FPGA的学习只有通过大量的操作与实践才能很好并快速的掌握,实例篇以芯创电子的开发板为硬件开发平台,对开发板上的每个外设编写实例,为激起初学者学习FPGA的兴趣,在实例篇中采用“授人以渔”的方式,努力做到不仅讲述怎样进行试验,而且分析为什么这样做,重点介绍设计思路,以便初学者深刻理解并快速掌握FPGA的学习方法。在实例篇中会穿插介绍一些常用IP核,如PLL、单双口ROM、RAM、同步FIFO和异步FIFO等IP核的使用。实例篇的最后是综合实例,难度接近小的项目,笔者会从实际项目的流程进行讲解,让初学者提前进入项目实战阶段。

FPGA设计技巧篇:主要介绍FPGA设计的一些思想和原则,如串并转换、乒乓操作、流水线、模块划分技巧以及同步电路设计等。深圳FPGA技术学习,小班授课,实操为主,详情联系郭老师QQ754634522,报名免费送资料哦

或许您可能听说过FPGA,但不是很了解;或许您已经知道FPGA的存在,但没有掌握这门技术;或许您打算在不久的将来对FPGA进行初步尝试;不管怎样,只要您对FPGA感兴趣,EEPW将带领您一起踏出通往FPGA世界的第一步,轻松迈进FPGA设计开发的大门。

FPGA技术是不断发展变化的,要掌握FPGA技术的精髓,需要设计者在实践中不懈地摸索与积累,逐步提高自己的设计水平,本实验教程试图对初学者起到快速入门的作用。







fpgaw 发表于 2015-7-30 04:18:23

这里我谈谈我的一些经验和大家分享,希望能对IC设计的新手有一定的帮助,能使得他们能少走一些弯路!

在IC工业中有许多不同的领域,IC设计者的特征也会有些不同。在A领域的一个好的IC设计者也许会花很长时间去熟悉B领域的知识。在我们职业生涯的开始,我们应该问我们自己一些问题,我们想要成为怎样的IC设计者?消费?PC外围?通信?微处理器或DSP?等等?
IC设计的基本规则和流程是一样的,无论啥样的都会加到其中。HDL,FPGA和软件等是帮助我们理解芯片的最好工具。IC的灵魂是知识。因此我们遇到的第一个挑战将是获得设计的相关信息,然后理解信息并应用它。

但是有些信息不是免费的,我们需要加入一些协会或从如IEEE/ISO等那些组织购买一些文档。设计者应该有很强的背景知识来很快的理解他们,甚至能改进存在的标准或。一个好的设计者应该应该有足够的设计技能和工具应用知识并且不断的积累他们。

例如:8口以太网转换HUB控制器
需要知识:IEEE802.3标准,包括10MHZ以太网和100MHZ快速以太网。
相关领域:异步传输模式(ATM),IEEE802.11无限局域网,IEEE1394,USB等。

HDL,计算机仿真和只能解决ASIC设计流程的数字部分。如果在IC中有任何模拟部分,他将依赖模拟设计者或从另外的厂家购买。甚至一些纯数字部分也能从另外一些厂家购买以加速上市时间。那些不是被我们设计的部分称为IP,包括HDL代码,网表,硬核。对于我们设计的技术取决于硬核。一些IP是非常贵的,如在USB2.0中的 PHY。一些小的公司没有足够的人力和软件资源来完成有些工作,甚至他们不能在缺货期预定足够的晶原,因此涉及服务公司取代了他们的工作。但并不是每个 IP都满足我们的需要,有时我们需要在购买后作一些修改。我们要在设计前决定所要用到的IPs。

在设计开始,设计者必须理解所有相关的标准、规范和算法。但是有许多方法来应用这些规范和算法。最好的结构是快速和最小芯片尺寸的结合。不幸的是,快速的需求常常和最小芯片尺寸的需求是对立的。因此,在HDL编码工作前规划一个最优的结构也是一个重要的问题。

例如:
1:除法器
除数被固定。最快的方法是查表,但是这个方法需要大的内存。我们可以可以从被除数中不断的减去除数直到新的被除数比除数小。它会花更多的时间但用最少的硬件。还有许多的方法来构建除法器,每种方法都有他自己的优点和缺点。

2:图像处理的动态评估器
从前一个图片中发现最相似的8×8模块,在整个电影剪辑中。最基本的有全搜索和三步搜索的方法。许多的论文已经讨论过优化硬件复杂度和速度的结构,这里我不再祥解释。

一个好的设计者应该要被实际经验培训和不断的。我们要在每个设计工作中非常小心和耐心。因为一个NRE将会消耗大量的金钱和数周的时间,如果他不小心犯错,设计者将会对金钱和计划失败负责。经验和小心也许是来完成一个成功的设计项目最好的方法。

以下条款是一些对一个稳步的和成功的设计的建议:(可能有些朋友也指出了其中的部分,我这里只作简要说明,可能稍有不同)

命名风格:

1不要用关键字做信号名;
2不要在中用VERILOG关键字做信号名;
3命名信号用含义;
4命名I/O口用尽量短的名字;
5不要把信号用高和低的情况混合命名;
6信号的第一个字母必须是A-Z是一个规则;
7使模块名、实例名和文件名相同;

编码风格:
记住,一个好的代码是其他人可以很容易阅读和理解的。
1尽可能多的增加说明语句;
2在一个设计中固定编码格式和统一所有的模块,根从项目领导者定义的格式;
3把全部设计分成适合数量的不同的模块或实体;
4在一个always/process中的所有信号必须相关;
5不要用关键字或一些经常被用来安全综合的语法;
6不要用复杂逻辑;
7在一个if语句中的所有条件必须相关;

设计风格

1强烈建议用同步设计;
2在设计时总是记住时序问题;
3在一个设计开始就要考虑到地电平或高电平复位、同步或异步复位、上升沿或下降沿触发等问题,在所有模块中都要遵守它;
4在不同的情况下用if和case;
5在锁存一个信号或总线时要小心;
6确信所有寄存器的输出信号能够被复位/置位;
7永远不要再写入之前读取任何内部存储器(如SRAM)
8从一个时钟到另一个不同的时钟传输数据时用数据缓冲,他工作像一个双时钟FIFO;
9在VHDL中二维数组可以使用,它是非常有用的。在VERILOG中他仅仅可以使用在测试模块中,不能被综合;
10遵守register-in register-out规则;
11像synopsys的DC的综合工具是非常稳定的,任何bugs都不会从综合工具中产生;
12确保FPGA版本与ASIC的版本尽可能的相似,特别是SRAM类型,若版本一致是最理想的;
13在嵌入式存储器中使用BIST;
14虚单元和一些修正电路是必需的;
15一些简单的测试电路也是需要的,经常在一个芯片中有许多测试模块;
16除非低功耗不要用门控时钟;
17不要依靠脚本来保证设计。但是在脚本中的一些好的约束能够起到更好的性能(例如前向加法器);
18如果时间充裕,通过时钟做一个多锁存器来取代用MUX;
19不要用内部tri-state, ASIC需要总线保持器来处理内部tri-state;
20在top level中作pad insertion;
21选择pad时要小心(如上拉能力,施密特触发器,5伏耐压等);
22小心由时钟偏差引起的问题;
23不要试着产生半周期信号;
24如果有很多函数要修正,请一个一个地作,修正一个函数检查一个函数;
25在一个计算等式中排列每个信号的位数是一个好习惯,即使综合工具能做;
26不要使用HDL提供的除法器;
27削减不必要的时钟。它会在设计和布局中引起很多麻烦,大多数FPGA有1-4个专门的时钟通道;
以上是大家在设计中最好遵守的要点,它可以使你的设计更好。

fpgaw 发表于 2015-7-30 04:20:03


随着科技的发展,技术提高产品性能要求越来越高,近几年可编程的门阵列(FPGA)技术发展迅速,其高度的灵活性,使其在通信、数据处理、网络、仪器、工业控制、军事和航空航天等领域得到越来越广泛的应用。在数字IC设计领域,前端验证工作一般都是用FPGA完成的,因此FPGA工程师也是IC设计公司迫切需要的人才。 FPGA/IC逻辑设计开发已经成为当前最有发展前途的行业之一,特别是熟悉硬件构架的FPGA系统工程师
第一阶段的课程主要帮助学员了解FPGA系统设计的基础知识,掌握FPGA最小系统硬件电路设计方法,学会操作QuartusII软件来完成FPGA的设计和开发。
1.可编程逻辑设计技术简介
2.下一代可编程逻辑设计技术展望
3.可编程逻辑器件硬件上的四大发展趋势
4.EDA软件设计方法及发展趋势
5.FPGA的设计流程
6.FPGA的常用开发工具
7.FPGA的基本结构
8.主流低成本FPGA Cyclone
10.FPGA芯片的选型策略详解
11.FPGA关键电路的设计(最小电路设计):
    11.1FPGA管脚设计
    11.2下载配置与调试接口电路设计
    11.3高速SDRAM存储器接口电路设计
    11.4异步SRAM(ASRAM)存储器接口电路设计
    11.5FLASH存储器接口电路设计
    11.6开关、按键与发光LED电路设计
    11.7VGA接口电路设计
    11.8PS/2鼠标及键盘接口电路设计
    11.9RS-232串口
    11.10字符型液晶显示器接口电路设计
    11.11USB2.0接口芯片CY7C68013电路设计
    11.12电源电路设计
    11.13复位电路设计
    11.14拨码开关电路设计
    11.15i2c总线电路设计
    11.16时钟电路设计
    11.17图形液晶电路设计
12.Alter FPGA的结构

第二阶段:熟练掌握硬件描述语言(Verilog HDL)是FPGA工程师的基本要求。通过本节课程的学习,学员可以了解目前最流行的Verilog HDL语言的基本语法,掌握Verilog HDL语言中最常用的基本语法。通过本节课程学习,学员可以设计一些简单的FPGA程序,掌握组合逻辑和时序逻辑电路的设计方法。通过实战训练,学员可以对Verilog HDL语言有更深入的理解和认识。

1.Verilog HDL语言简介
2.Verilog HDL语言逻辑系统
3.Verilog HDL操作数和操作符
4.Verilog HDL和VHDL语言的对比
5.Verilog HDL循环语句
6.Verilog HDL程序的基本结构
7.Verilog HDL语言的数据类型和运算符
8.Verilog HDL语言的赋值语句和块语,阻塞和非阻塞赋值语句的区别
9.Verilog HDL语言的条件语句,包括IF语句和CASE语句的典型应用
10.Verilog HDL语言的其他常用语句
11.Verilog HDL语言实现组合逻辑电路
12.Verilog HDL语言实现时序逻辑电路
第三阶段
虽然利用第二阶段课程学到的HDL基本语法可以完成大部分的FPGA功能,但相对复杂的FPGA系统设计中,如果能够合理的应用Verilog HDL的高级语法结构,可以达到事半功倍的效果。通过第三天课程的学习,学员可以掌握任务(TASK),函数(FUNCTION)和有限状态机(FSM)的设计方法,可以更好的掌握FPGA的设计技术。此外,本节课程还介绍了QuartusII软件的两个常用的高级工具-SignalTAP和LogicLock,可以提高FPGA设计和调试的效率。

1. TASK和FUNCTION语句的应用场合
2. Verilog HDL高级语法结构-任务(TASK)
3. Verilog HDL高级语法结构-任务(FUNCTION)
4. 有限状态机(FSM)的设计原理及其代码风格
5. 逻辑综合的原则以及可综合的代码设计风格
6. SignalTap II在线逻辑分析仪使用方法
7. Logic Lock逻辑锁定工具使用技巧

第四阶段:随着FPGA芯片的性能和密度不断提高, 基于FPGA的SOPC系统正在逐渐成熟并且在很多领域得到了应用。第四阶段课程主要给学员介绍Altera公司基于NIOSII软核的SoPC系统设计流程和方法。通过硬件开发板上的SoPC系统设计实验,学员能够体会SoPC技术给系统设计带来的灵活性。最后通过FPGA综合设计实验,学员完成对四天学习内容的回顾和总结。

1. 基于FPGA的SOPC系统组成原理和典型方案
2. Altera公司的NIOS II 解决方案
3. 基于NIOS II的硬件系统设计流程
4. 基于NIOS II的软件系统设计流程
5. 基于NIOS II的软件系统调试方法
第五阶段
Alter的IP工具
1.IP的概念、Alter的IP
1.1 IP的概念
1.2 Alter可提供的IP
1.3 Alter IP在设计中的作用
2.使用Alter的基本宏功能
2.定制基本的宏功能
2.1定制基本宏功能
2.2实现基本宏功能
2.3设计实例
3.使用Alter的IP核
3.1定制IP核
3.2实现IP核
3.3设计实例








508482294 发表于 2022-1-1 17:27:29

谢谢楼主与老师们的分析,让我深有体会
页: [1]
查看完整版本: FPGA的工资高,但是初学者应该如何来学习FPGA