首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

如何学习FPGA

如何学习FPGA

1。掌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的第一步,也是必不可少的一步。
2。选择合适的硬件开发平台
除了学习编程语言以外,更重要的是实践,将自己设计的程序能够在真正的FPGA里运行起来,这时我们需要一个硬件平台的支持。目前市场销售FPGA开发板的厂商很多,但大多只提供些简单的代码,没有详尽的文档和教程提供给初学者。经验表明,很多学生在学习FPGA设计技术的过程中,虽然刚开始学习热情很高,但真正坚持下来一直到“学会”的却寥寥无几,除了学生个人毅力的因素外,另外一个更主要的原因就是所选的开发板缺少配套的说明文档和手把手系列的入门教程。原本FPGA的学习门槛相对于单片机来说就高了不少,再加上缺少手把手系列教程资料,这就给初学者学习FPGA增添了更多的困难,很多初学者因为找不到入门的方法而渐渐失去了学习FPGA的兴趣和信心。所以初学者在选择开发板的时候要选择配套资料全的和售后服务好的开发板,个人推荐艾米电子工作室的开发套件就特别适合初学者。
3。选择软件开发平台
目前主要的FPGA厂商有Altera、xilinx、lattice都提供的了各自的FPGA开发环境,分别是:Altera的Quartus II,Xilinx的ISE,Lattice的ispLever。我们可以选择先熟悉一家公司的环境(或者根据开发板的具体芯片选择厂商环境),以后根据器件选择需要,再去熟悉其他的环境,学习周期就可以短了。作者选择的Altera公司的Quartus II开发软件,感觉其界面友好而且目前资料稍多一些比较适合初学者源码
4。技术进行巩固和升华
对于初学者来说,有了一定语法基础和合适的硬件开发平台并熟悉了软件开发环境后,应该将其继续的巩固和升华,可以按照开发板厂商提供的实验教程进行学习,先看别人的代码,特别是原厂提供的代码,这些代码应该代表了比较高的FPGA设计水平,从中我们可以学习两个方面的知识:一是相对比较大规模的逻辑设计如何组织模块结构,二是局部应用处理,可以照搬,作为我们开发时的模板。熟读唐诗三百首,不会作诗也会吟,看多了,就会习惯的学会他们的开发模式,我有这样的体会,看多了,很多东西思想上已经把它当作是自己的理所当然的东西了,实际一做,手生的很,遇到很多问题,解决这些问题,这个过程就通过了,学习就需要这么个过程。把别人的代码理解消化后,就可以自己试着写点代码,然后在开发板上验证。FPGA技术是不断发展变化的,罗马不是一天建成的,要掌握FPGA技术的精髓,需要设计者在实践中不懈地摸索与积累,逐步提高自己的设计水平。FPGA设计有点象围棋:易学难精。需要我们不断拓宽知识面,不厌其繁的去尝试,仔细去看编译综合报告,时序分析报告,并去尝试提升性能,从底层更深入的去理解硬件电路的设计,改进、尝试性能的提高。
返回列表