从研一开始接触FPGA,刚开始接触的时候,认为很简单,不就是写写代码就okey了吗?所以混混谔谔地度过了3个月,因为刚开始的时候接触的时比较简单的算法,所以对设计的时序和性能要求不是很高,写写代码完全就可以了,所以从来没有关心底层的东西(底层的手工布局布线),也很少写一些约束文件。可是后来随着设计月来月复杂,才认识到约束文件和底层布局布线的重要性。而这些东西设计的知识面还是比较广的 ,比如数字电路,高速时钟系统,电路工艺方面,系统设计等等。只有底层做好了,才是真正的高手。后来去709所调试板子的时候,有幸遇到一个经验很丰富并且很乐意帮助我们的工程师,她从90年代开始做FPGA,那个时候EDA工具不像现在智能化,她那个时候基本上完全是从底层做起来的,即使到我今年5月份去的时候,她才开始学习语言verilog,绝大部分工作都是自己从底层的模块搭建起来的。和我们的设计相比,她的设计性能更好,代价更小,系统更稳定。那一个月学到的东西,比我读研三年学到的东西更多。下面是自己的一些总结(个人意见,仅供参考):
1 要有对FPGA的兴趣,只有这样才能用最大的热情对待它。
2 要有对数字系统设计比较全面的把握,reg ,ram,counter,fifo,dsp,uc......
3 最好能有一个具体的项目(最好复杂一些,对系统的性能要求高一些),这样才能有的放矢,有压力才有动力。
4 找一个好的老师
5 重视底层,即使你的系统性能可以满足要求,也尝试着从底层进行一些开放和优化
6 多看看别人成功的例子,拓宽自己的视野,没事的时候到FPGA论坛逛逛。帮助他人也是帮助自己。
7 对要求实现的算法或者系统有一个清楚的认识