新手学习FPGA的入门之道

描述

对于新手学习FPGA设计,要从基础开始做,基础牢,才有成为高手的可能。 对于初学者,有以下几步是必须要走的。

第一步

学习了解FPGA结构,FPGA到底是什么东西,芯片里面有什么,不要开始就拿个开发板照着别人的东西去编程。

很多开发板的程序写的很烂,笔者也做过一段时间的开发板设计。笔者觉得很大程度上,开发板在误人子弟。不过原厂提供的正品开发板,代码很优秀的,可以借鉴。

只有了解了FPGA内部的结构才能明白为什么写Verilog和写C整体思路是不一样的。

第二步

掌握FPGA设计的流程。了解每一步在做什么,为什么要那么做。很多人都说不就是那几步吗,有什么奇怪的?呵呵,笔者想至少有一半以上的人不知道synthesize和traslate的区别吧。

了解了FPGA的结构和设计流程才有可能知道怎么去优化设计、提高速度、减少资源。不要急躁,不要去在为选择什么语言和选择哪个公司的芯片上下功夫。

语言只是一个表达的方式,重要的是你的思维,没有一个好的指导思想,语言用得再好,不过是个懂语言的人。

第三步

开始学习代码了。笔者建议要学代码的人都去Altera或Xilinx的网站上下原厂工程师的代码学习。不要一开始就走入误区。

第四步

template很重要。能不能高效利用fpga资源,一是了解fpga结构;二是了解欲实现的逻辑功能和基本机构;三是使用正确的模板。FPGA内部器件种类相对较单一,用好模板,你的逻辑才能被高效的综合成FPGA擅长表达的结构。

结语

做FPGA主要是要有电路的思想。作为初学者,往往对器件可能不是熟悉,那么应该对于数字电路的知识很熟悉吧?FPGA中是由触发器和查找表以及互联线等基本结构组成的,其实在我们在代码里面能够看到的就是与非门以及触发器。

不要把verilog和C语言等同起来,根本就是不同的东西,没有什么可比性。

在写一句程序的时候应该想到出来的是一个什么样的电路,计数器、选择器、三态门等等。理解时序,逻辑是一拍一拍的东西,在设计初期想的不是很清楚的时候可以画画时序图,这样思路会更加的清晰。

还有就是仿真很重要,不要写完程序就去往FPGA中去加载。首先要仿真,尤其是对比较大型一点的程序,想像自己是在做asic,是没有二次机会的,所以一定要把仿真做好。

还有很多新手对于语言的学习不知道选vhdl好还是verilog好,个人偏好verilog。当然不是说vhdl不好,反正写出来的都是电路,那当然就不要在语言的语法上面花太多的功夫了。verilog言简意赅,assign、always、case、if else掌握这些几乎可以写出90%的电路了。

上面是笔者的一些愚见,希望对大家有所帮助。

审核编辑 :李倩 

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分