<我与FPGA-学习FPGA的那些年>
时间:10-02
整理:3721RD
点击:
记得第一次接触FPGA是因为学校李平的一本书《EDA技术教程》,薄薄的一本书,仅有200多页,里面高深一点的就是序列检测器,都是用的VHDL语言,纯粹凑字数的一本书。考试也是VHDL,考门级的一些描述。2年后因为FPGA门槛比较低,买了本夏宇闻的《Verilog HDL数字系统设计教程》来看,现在看来那本书很多缺点,却带我走入了FPGA的大门。基础的语法不表,后面提及的开关控制数据流动、异步时钟域处理等,让我受益匪浅。当然这本书缺点也很明显,基本都是一段式语法,而且缺少相应的实验,大片属于摘抄的内容,基本没有原创。不过在那个年代还是值得推荐的一本书。 后来自己开始试着写一些代码,买了本特权的《深入浅出玩转fpga》来看,里面大部分是实用的技巧,以及时序约束,讲得比较到位,但是时序约束不知道是不是说的啰嗦了点,反而不明白,特别是符号那里,没有讲清楚,我只好从官网下载了UG来看,终于搞清楚了,尽信书不如无书,So。
那年写了CH376的控制器,实现了CH376下载配置数据,存储在NORFlash阵列里面,上电后向特定区域读取数据配置FPGA,后来又升级成CY7C68013,特别是固件,着实研究了很长时间,走了很多弯路,网上很多前辈的心得给了我莫大的帮助。
第二个项目是并行DDS出扫频和线性调频,用到了LVDS的IP核,控制了AD9739两片出IQ正交信号并且做数据校准,这个项目让我进一步掌握了FPGA技巧、特别是项目规划,模块划分,真正从上到下的设计。值得一提的是,因为要用到nios做控制,特别是硬件的创建和软件,让人耳目一新,可以说和fpga是两种不同的开发方式,最好掌握微机原理还有单片机基础,否则入门很慢。我就是吃了这个的亏,qsys里面可以创建双核,DMA,还有自定义模块等等,还需要掌握avalon 总线:MM和ST接口。
后来派去搞以太网,搞1588,搞UDP分片和重组,搞TCP/IP,搞过纯硬件的,也搞过带nios的。我觉得最重要的是看要看懂IP手册,另外官网很多例子,可以参考,并在此基础上修改。现在FPGA很强大,集成了ARM,准备以后玩一下ARM,下一个项目就是带ARM了。还有我想搞数字信号处理,搞matlab,搞dsp builder,需要学习的还很多。至于项目中一些技巧,可以看特权的书,还有网上一些资料,比如乒乓,比如流水线,其实都是基本的东西,时序约束,官网有例程,那个是最权威的。
引用特权同学的一段话:
FPGA工程师的成长需要经历三个阶段。
第一阶段:
对于FPGA的初学者来说,要学会HDL语言,能够使用EDA工具完成综合,能够在开发板上下载并跑通例程,这可以说是完成了入门阶段。这一阶段的目标是“熟练”
第二阶段:
接下来,如何提高自己的设计和调试能力,属于提高阶段。这一阶段的目标是“精通”
第三阶段:
再接下来的阶段属于从业阶段,是最长也是最难的。即,如何在工作中通过项目做好一款乃至数款产品。以FPGA产品开发作为自己的职业,这一阶段的目标是“专业”
我想了一下,大概处于第二阶段到第三阶段之间,真心希望能得到《FPGA设计实战演练》,进一步提高,不说了,干活去了。
谢谢支持,脚踏实地,你的明天会越来越光明
童鞋看的出来你是真爱啊
学习学习
受教了,谢谢小编!
小编加油,我也加油