MyFPGA Forum

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
查看: 36018|回复: 27

【转】学习FPGA的点滴心得

[复制链接]
发表于 2009-7-14 13:07:28 | 显示全部楼层 |阅读模式
  从去年开始学FPGA,以前一直做DSP,但因为项目的需要,在一个应用中只有FPGA才能解决问题,所以硬着头皮上FPGA,又因为结项目的时间比较紧,所以主要以解决问题为目的,说真的,项目做下来写了四千多行的代码,达到了设计目标,但对FPGA学习还不够系统,也正进一步的学习中.因为我是单干,没有团队,遇到问题只能在网上找资料,其难度可想而知,幸好以前用过CPLD,有一点基础,用的编程语言是AHDL,感觉AHDL写一点小程序还可以,但做复杂程序就有点费力了(应该是我的AHDL没学好),所以在做FPGA程序时我选择了比较简单的verilog语言。

  由于没人指导,所以买了一个简单的FPGA开发板,是Cyclone的,开发板就是好,送了较多学习资料,用了一个星期的时间,学习了NIOS II的基本应用,当然,我的需要就是知道如何在NIOS里控制一个信号的高低电平变化就够了,其它全是C语言的东西,主要是熟悉了Quartus的开发平台,并用NIOS程序把要实现的主要代码用C写了一遍,通过了,但速度上不去。有这些知识做铺垫后,就开始了项目的设计。

  项目要求将外部高速数据(40MB/s)进行存盘,并可以将存盘的数据在适当的时候原路返回(速度不变)。所以在硬件的设计上FPGA选择了EP2C35F484C8N,外部有128M的SDRAM做为数据的缓冲。所以FPGA的主要程序集中在ATA HOST控制器(实现UDMA读写)、SDRAM控制器(大容量循环缓冲)上,当然还包括一些其它的控制,如实时时钟,USB2.0芯片控制,RS232的通信及相应的通信协议。

  硬件完成后,大部分的时间都在写程序,感觉verilog跟C差不多,就将原来写成的C代码翻译了一下,每写一段代码就测试一下。起初并不知道在Quartus里还有逻辑分析仪的功能,所以程序出了问题只能使劲的分析代码,猜想问题可能出在哪里,万不得已时才做一下仿真(后来看很多有做程序都先做仿真,仿真通过后再下载到目标板里运行测试,但到现在我的仿真关还没过),所以做得很累。我感到这样做下去到时间结点肯定结了不了项目,就找FPGA的QQ群向高手们请教经验,知道了可以Quartus的逻辑分析仪来观察信号,哈哈,爽了(感谢感谢)。后面的程序找问题就容易多了,按照ATA协议、SDRAM手册、及各外围芯片手册一步步写下去,当然其中也遇到了各种各样的问题,但很快得到解决。一直到项目结束,都是用逻辑分析仪来找问题,没做过仿真(所以现在仿真关还没过)。

  今年又用FPGA做了一些项目。简单说一下体会吧,归结起来就三个字:做、想、问。书读千遍,不如做一遍;看别人做百次,不如自己做一次;就是要实践。实践的动力一方面来自兴趣,别一方面来自己压力,我个人觉得后者更重要。有需求会容易形成压力,也就是说最好能在实际的项目开发中锻炼,而不是为了学习而学习。在做的过程中要多想,多想想问题出现的原因,问题解决后要多问几个为什么,这也是经验积累的过程,最好要写项目日志,把问题及原因、解决的办法都写进去。还要多问,遇到问题经历了痛苦的思索后还得不到解决就要问了,问搜索引擎,问网友,问同学同行,一篇文章、朋友们的点拨都可能帮助自己快速解决问题。
发表于 2009-7-18 16:46:41 | 显示全部楼层
辛苦了!谢谢分享!
发表于 2009-8-1 00:57:52 | 显示全部楼层
Thank  you for your sharing !!
发表于 2009-8-4 14:06:13 | 显示全部楼层
同学、同学,共同学习
发表于 2009-8-6 08:51:51 | 显示全部楼层
新手上路
发表于 2009-11-20 18:48:45 | 显示全部楼层
辛苦了!
发表于 2009-12-2 14:22:11 | 显示全部楼层
感谢感谢啊
发表于 2009-12-4 10:59:18 | 显示全部楼层
加油阿 ~ 一起努力吧
发表于 2009-12-25 09:29:49 | 显示全部楼层
好聞分享...感謝
发表于 2010-4-18 10:44:49 | 显示全部楼层
谢谢楼主的建议!
发表于 2010-4-21 10:40:38 | 显示全部楼层
谢谢分享,很好啊!
发表于 2010-4-21 23:33:07 | 显示全部楼层
一起努力把
发表于 2010-5-10 18:15:15 | 显示全部楼层
深有同感
发表于 2010-5-16 18:28:32 | 显示全部楼层
刚刚接了一个这方面的课题,谢谢啊!
发表于 2010-5-24 14:53:07 | 显示全部楼层
谢谢分享!
发表于 2010-7-9 17:11:38 | 显示全部楼层
楼主说的对啊!大家多交流,我也是刚刚开始用FPGA做项目,光在选择哪一款芯片上就用了好长时间,选内存,估算管脚数目等等。以后还多多向大家学习。
发表于 2010-7-17 20:39:34 | 显示全部楼层
狂顶
发表于 2010-7-19 14:10:14 | 显示全部楼层
感谢分享。
发表于 2010-7-22 20:48:30 | 显示全部楼层
谢谢分享!
发表于 2010-8-1 11:09:26 | 显示全部楼层
好东西,谢谢分享!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|MyFPGA

GMT+8, 2020-8-9 23:29 , Processed in 0.103380 second(s), 16 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表