打印

FPGA学习步骤,我的体会

[复制链接]
16926|98
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
钻研的鱼|  楼主 | 2009-9-27 10:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
FPGA在目前应用领域非常,在目前的单板设计里面,几乎都可以看到它的身影。从简单的逻辑组合,到高端的图像、通信协议处理,从单片逻辑到复杂的ASIC原型验证,从小家电到航天器,都可以看到FPGA应用,它的优点在这里无庸赘述。从个人实用角度看,对于学生,掌握FPGA可以找到一份很好的工作,对于有经验的工作人员,使用fgpa可以让设计变得非常有灵活性。掌握了fpga的设计,单板硬件设计就非常容易(不是系统设计),特别是上大学时如同天书的逻辑时序图,看起来就非常亲切。但fpga的入门却有一定难度,因为它不像软件设计,只要有一台计算机,几乎就可以完成所有的设计。fpga的设计与硬件直接相关,需要实实在在的调试仪器,譬如示波器等。这些硬件设备一般比较昂贵,这就造成一定的入门门槛,新人在入门时遇到一点问题或者困难,由于没有调试设备,无法定位问题,最后可能就会放弃。其实这时如果有人稍微指点一下,这个门槛很容易就过去。
          我用FPGA做设计很多年了,远达不到精通的境界,只是熟悉使用,在这里把我对fpga的学习步骤理解写出来,仅是作为一个参考,不对的地方,欢迎大家讨论和指正。
     1、工欲善其事,必先利其器。
     计算机必不可少。目前FPGA应用较多的是Altera和xilinx这两个公司,可以选择安装quartusII或者ISE软件。这是必备的软件环境。
     硬件环境还需要下载器、目标板。虽然有人说没有下载器和目标板也可学习fpga,但那总是纸上谈兵。这就像谈女朋友, 总是嘴上说说,通个电话,连个手都没牵,能说人家是你朋友?虽说搭建硬件环境需要花费,但想想,硬件环境至多几百元钱, 你要真的掌握FPGA的设计,起薪比别人都不止高出这么多。这点花费算什么?
     
     2、熟悉verilog语言或者vhdl语言 ,熟练使用quartusII或者ISE软件。
     VHDL和verilog各有优点,选择一个,建议选择verilog。熟练使用设计软件,知道怎样编译、仿真、下载等过程。
     起步阶段不希望报一些培训班,除非你有钱,或者运气好,碰到一个水平高、又想把自己的经验和别人共享的培训老师, 不然的话,培训完后总会感觉自己是一个冤大头。入门阶段可以在利用网络资源完成。
     
     3、设计一个小代码,下载到目标板看看结果
     此时可以设计一个最简答的程序,譬如点灯。如果灯在闪烁了,表示基本入门了。如果此时能够下载到fpga外挂的flash,fpga程序能够从flash启动,表明fpga的最简单设计你已经成功,可以到下一步。
     
     4、设计稍微复杂的代码,下载到目标板看看结果。
     
     可以设计一个UART程序,网上有参考,你要懂RS232协议和fpga内置的逻辑分析仪。网上下载一个串口调试助手,调试一番,如果通信成功了,  恭喜,水平有提高。进入下一步。
     
     5、设计复杂的代码,下载到目标板看看结果。
     譬如sdram的程序,网上也有参考,这个设计难度有点大。可用串口来调试sdram,把串口的数据存储到sdram,然后读回,如果成功,那你就比较熟悉fpga的设计饿了
     
     6、设计高速接口,譬如ddr2或者高速串行接口
      这要对fpga的物理特性非常了解,而且要懂得是时序约束等设计方法,要看大量的原厂文档,这部分成功了,那就对fpga的物理接口掌握很深,你就是设计高手了
      
     7、设计一个复杂的协议
        譬如USB、PCIexpress、图像编解码等,锻炼对系统的整体把握和逻辑划分。完成这些,你就是一个一流的高手、
        
     8、学习再学习
        学习什么,我也不知道,我只知道“学无止境,山外有山”。
        
上述只是一些简单的学习步骤,希望能对大家有所帮助!
评分
参与人数 7威望 +8 收起 理由
GoldSunMonkey + 2 我很赞同
tear086 + 1 不错。
sxhhhjicbb + 1
icycoffee + 1 有用
xixiadwr + 1

查看全部评分

相关帖子

沙发
senzh01| | 2009-10-6 15:47 | 只看该作者
刚刚听说这个挺好,来看看能不能学习一下!

使用特权

评论回复
板凳
wfch_will| | 2009-10-8 10:42 | 只看该作者
楼主说的非常好,学习了。我有这样的条件,应该更好的学了

使用特权

评论回复
地板
jqjszxd0| | 2009-10-9 15:51 | 只看该作者
顶一下,好经验

使用特权

评论回复
5
fu10| | 2009-10-9 16:40 | 只看该作者
很好,顶一下,最好能交流下就最好了:lol:lol

使用特权

评论回复
6
钻研的鱼|  楼主 | 2009-10-9 21:43 | 只看该作者
有什么问题可以在这里讨论。这几天刚刚看了看ddr2的时序设计,主要是参考xilinx开源设计。我觉得对一些高端、高速设计,最好能看看原厂的设计,对提高器件、设计的理解很有好处。

使用特权

评论回复
7
jc981| | 2009-10-11 20:22 | 只看该作者
学习了

使用特权

评论回复
8
sunny19832| | 2009-10-13 14:20 | 只看该作者
我初学者 留着以后慢慢琢磨

使用特权

评论回复
9
weather985| | 2009-10-13 19:23 | 只看该作者
初学fpga,借鉴经验

使用特权

评论回复
10
liulongyi| | 2009-10-14 19:20 | 只看该作者
正想要学FPGA

使用特权

评论回复
11
yj8919| | 2009-10-21 08:33 | 只看该作者

使用特权

评论回复
12
钻研的鱼|  楼主 | 2009-10-21 21:31 | 只看该作者
不要光顶,有想法可以提出来,一起努力。

使用特权

评论回复
13
stormf1| | 2009-10-22 19:15 | 只看该作者
学习fpga和学习cpld有差别么?我要制作的东西可能要用到cpld,但是选型还没选好.选东西学习的话,感觉现在fpga好火啊,自己买个板子学习的话什么好点呢?

使用特权

评论回复
14
钻研的鱼|  楼主 | 2009-10-22 21:00 | 只看该作者
fpga的资源多一些,可以实现较为复杂的逻辑。

使用特权

评论回复
15
cjplegend0| | 2009-10-24 10:08 | 只看该作者
我是个菜鸟,想问一下各位,GAL 16V8 能否反复擦写编程,见笑?

使用特权

评论回复
16
xiaobo21| | 2009-10-24 18:28 | 只看该作者
学习了

使用特权

评论回复
17
jewson| | 2009-10-29 20:07 | 只看该作者
呵呵!现在才在第4点哦!UART,I2C,SPI,我头都晕了

使用特权

评论回复
18
beijixue521| | 2009-11-9 16:49 | 只看该作者
xiandingle!!!

使用特权

评论回复
19
huang8033| | 2009-11-12 21:10 | 只看该作者
很好的**  呵呵 谢谢

使用特权

评论回复
20
RaisinWW| | 2009-11-14 19:44 | 只看该作者
初学EDA技术啊,与硬件有直接联系所以学起来比较困难,但是加油啦。。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

64

主题

967

帖子

4

粉丝