多语言展示
当前在线:1432今日阅读:84今日分享:32

FPGA,你值得学习-经验分享

此文的目的,鼓励大家,更加积极学习FPGA、嵌入式系统设计...若有问题,欢迎赐教简单介绍下本博主:phdwong,开博时间为Sep.24,2010。2011年硕士毕业,2011年3月就。从研究生开始,自学FPGA,摸爬滚打,目前具备的系统级设计能力。现在供职,FPGA系统产品开发负责人。或许,时间很短,或许不具备上述技能,但是,我确实做到了。掌握HDL;熟悉FPGA开发流程,熟悉Xilinx FPGA 开发环境ISE、EDK,熟悉Altera Quartus 开发环境,熟练使用Modelsim进行仿真,掌握TCL/DO文件的编写应用。掌握常用接口的开发设计如DDR3 SDRAM、DDR2 SDRAM、SRAM、SPI、I2C、UART。精通Xilinx MicroBlaze系统级构架,并基于MicroBlaze,进行数字预失真(DPD)设计,优化达到15dB。熟悉C/C++、MATLAB,具备算法级开发能力。熟练使用Protel/Candence进行设计......................做个的项目:基于超声波测量风速基于超声波工业检测-探伤基于超声波医疗器械-B超/PW/CFM....基于Xilinx 以太网/DDR3设计基于MicroBlazeDPD设计,全部知识产权,达到15dB基于FPGA的数字中频的设计实现,FIR/DUC/DDC/CIC...基于FPGA的RRU/BBU设计基于FPGA的光口设计。。。。。。。。。。。。。。2008年~2011年,在研究生学习阶段,专业方向,并不是FPGA,只是本科具备了C/C++、MATLAB、HDL、数字信号处理基础,经过一段时间的实习,毅然投身FPGA伟大事业。大四毕业那年,我们寝室四兄弟,在讨论,在大学毕业时刻,我们真正得到了什么?学到了什么?我们当时得到的一致结论时:怎么样与人相处、以及自己的学习能力!结束了大学四年的学习生活,步入研究生阶段的学习,那股冲劲,依旧不减。在研二阶段,实习过后,当时的职位是硬件工程师,每天套个牌牌,感觉自然不错,对FPGA产生了浓厚的兴趣,当然,算法也不例外。就FPGA而言,所有的方方面面,都是自己花时间学习的,有问题想尽一切办法去解决。曾经有位老师与我分享了一句话:这个社会相当浮躁,沉下来,你就是伟人!当然,这个伟人,参考对象,是你本人。我觉得此话很有道理。就这样,真正学习FPGA是2009年11月。由于本科阶段的东西,只是打了个基础。忘记得差多不了。基本是从0开始:首先:学习了51单片机,对C语言进行温习,对硬件设计的原理图,相关术语进行了解与掌握,比如IO、定时器等等。这个我是花了2个月的时间,作为FPGA的过渡期。现在看来,是很有必要的。因为当你作为一个系统工程师、算法工程师、了解原理图(数字部分)更好的提升你的数字设计、算法设计。其次:接下来的工作就是学习FPGA。学习FPGA的基础是:首先学习HDL、(如Xilinx /Altera...)开发环境进行熟悉、学会结合Modelsim进行仿真,这个是FPGA设计基本的入门基础吧熟悉HDL、熟悉开发环境与设计流程,只能说明你有些FPGA的基础,此时,千万不能急躁。买块板子,我09年买了块800元,简直就坑人,那个Demo板,进行实战设计演练,强化熟悉开发流程。对于基础而言(Xilinx):大家需要知道的HDL RTL级的描述;ISE的使用;如何阅读FPGA datasheet,由于FPGA是一个比较大型的器件(对于Xilinx 高端器件,资料更多),需要大家,有针对性的进行阅读。比如此时,在了解JTAG CHAIN,那么需要阅读configuration资料;比如进行器件选型,需要阅读具备资源的资料等等。UCF文件的编写;UCF,用户约束文件,包括IO约束、时序约束、物理约束等。对于纲接触的用户,可能更多的是设计IO约束。ISE联合Modelsim的仿真,对于大型设计,建议自己写Testbench,采用Modelsim进行功能仿真,以确保前期的功能验证。对于熟练使用Xilinx ISE fpga逻辑设计,可以考虑学习更高级的MicroBlaze、SystemGenerator等工具。如何掌握MATLAB产生仿真激励信号,这个也非常重要。对于基础阶段的学习,大家需要做的太多太多,遇到问题,可以Google进行答案寻找,可以与网友进行沟通交流。后续心得,继续更新中..........................每天一点点进步
推荐信息