对于新手学习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%的电路了。
上面是笔者的一些愚见,希望对大家有所帮助。
审核编辑 :李倩
-
FPGA
+关注
关注
1625文章
21665浏览量
601756 -
Verilog
+关注
关注
28文章
1343浏览量
109976 -
开发板
+关注
关注
25文章
4943浏览量
97183
原文标题:大神经验谈 | 新手学习FPGA的入门之道
文章出处:【微信号:FPGA研究院,微信公众号:FPGA研究院】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论