原创 [z]一个合格的FPGA工程师需要掌握哪些知识?

2011-6-15 23:04 8528 12 20 分类: FPGA/CPLD
一个合格的FPGA工程师需要掌握哪些知识?这里根据自己的一些心得总结一下,其他朋友可以补充啊。
1.Verilog语言及其于硬件电路之间的关系。
2.器件结构(最好熟练掌握Spartan3,Vertix4系列的器件结构,及其资源于Verilog行为描述方法的关系。)。
3.开发工具(熟练掌握Synplify,Quartus,ISE,Modelsim)。
4.数字电路(组合电路,触发器,特别是D触发器构成分频器,奇数倍分频占空比为50%,时序电路,并且能用Verilog语言描叙。)。
5.熟悉FPGA设计流程(仿真,综合,布局布线,时序分析)。
6.熟练掌握资源估算(特别是slice,lut,ram等资源的估算)。
7.同步设计原理。
8.熟练掌握基本概念(如建立时间,保持时间,流量(即所做FPGA设计的波特率)计算,延迟时间计算(所做FPGA设计),竞争冒险,消除毛刺的方法等等)。
9.具备具体设计经验(对应届生而言如毕业设计)。
10.良好的设计思路(流水线设计即熟称打拍子,在速率资源功耗之间的折中考虑)。
一个合格的FPGA工程师至少在以下三个方面的一个非常熟悉:
1.嵌入式应用
2.DSP应用
3.高速收发器应用

将自己的走过的弯路和总结的经验与大家分享一下,希望对您有一点点的参考价值。
首先从先从如何成为一个合格的设计者说起吧!初学者觉得一切都是挑战,一切都新鲜,不知从何处下手。我总结了学习EDA逻辑设计的4个步骤,请拍砖!
1。 首先,应该好好学习一下FPGA/CPLD的设计设计流程。
不要简单的以为就是设计输入-》仿真-》综合-》实现那么一回事,要抠细,要学精,要多问每个步骤的注意事项,区分相关步骤的联系和区别。比如要搞清楚功能仿真、综合后仿真、Translate后仿真、Map后的仿真、布局布线后仿真的作用都是什么,什么时候应该做,什么时候可以不做这些仿真!学习清楚了设计流程最大的好处就是有利于培养良好的EDA设计习惯,日后会受益非浅!
2。 关于设计输入和Coding Style。
设计输入最好学习HDL语言,Verilog、VHDL都可以,可以把状态机输入和原理图输入作为补充内容,但不是重点。我在前面的帖子已经反复强调了 Coding Style的重要性。因为它是逻辑设计人员的一个基本业务素质。而且Coding Style不是看几篇文章,学几条原则就能够成为高手的,他需要您在工作中不断的体会和积累,在学习的最初,有Coding Style的意识,设计者就会有意的积累,对日后发展很有好处。反之则后患无穷。
3。 培养硬件的意识,培养系统的观念。
我也在交流和授课的时候很强调硬件意识,如果从形式上看,逻辑设计随着智能化和优化手段的不断发展最后会越来越灵活,越来越简单。比如我们现在在使用大型 FPGA时就很少谈如何用Floorplanner优化,手动布线,如果用手动方式,其工作量太大了啊!一个设计的优劣,关键看其设计者的硬件意识,和系统意识。硬件意识就是要求先做到对设计的硬件胸有成竹,HDL代码仅仅是一个表述心中硬件的工具。系统意识要求设计者有宏观的观念,对设计的全局有个合适的安排,比如时钟域,模块复用,约束,面积,速度等问题。要知道在系统上复用模块节省的面积远比在代码上小打小闹来的实惠得多。
4。 最后才是工具软件的使用。
现在EDA软件都越来越友好,越来越“傻瓜化”,如果您费了1年还没有基本摸清软件的使用,我敢说,那是一个比较烂的软件(起码在用户接口上),因为这是和EDA这种方式的理念背道而驰的。但是作为设计者,软件是工具,应该熟练掌握各个步骤不同方面的软件,这样才能最大程度地发挥您的聪明才智,才能使您如虎添翼!

需要对相关器件的要有一定的了解,对和这些器件之间的控制、数据交换等通信要清晰,对性能和功能清楚。而且作为基本的素质要求要能看懂原理图,和PCB要不没法调试,呵呵。
另外比较重要的一点是对FPGA设计的一些基本原则要有一个清晰的认识,比如:
“面积和速度的互换”,“流水线设计方式”,“乒乓操作”。
对最基本和最常用的模块要非常熟悉,比如单口/双口RAM,同步/异步FIFO等等。

除了问题要多想想自己的设计。虽然综合,布线工具的性能有差异,但是一个设计的优劣根本还是设计者的思路是否巧妙。当我们的设计达不到要求或者性能太差的时候,请不要埋怨综合工具太滥,布线结果太差,因为工具不会想人那么聪明。这时候,我们应该静下心,想一下自己的设计是不是有什么问题,结构是否合理,代码的风格是否符合工具的要求。系统结构的改进带来的优化远远超过最好的优化工具所能达到的结果。
PARTNER CONTENT

文章评论8条评论)

登录后参与讨论

用户377235 2016-2-6 09:48

真心不错

用户377649 2014-8-11 14:54

真心很不错,谢谢分享

用户377235 2014-2-24 21:05

谢谢楼主,好人

用户1669570 2013-9-1 22:58

不错,自己再加把劲

用户1002534 2013-8-30 16:51

学习了

用户309327 2013-4-20 14:13

谢谢你,辛苦啦

用户430196 2013-3-26 18:02

谢谢楼主,很好的文章值得一看。

用户1648059 2012-11-1 21:47

非常感谢楼主的分享

用户1525890 2012-10-11 10:35

这本书相当的好.

用户1610390 2012-6-14 09:41

下载后按照方法怎么不能解压啊
相关推荐阅读
wdzfd 2020-06-16 19:13
【富芮坤物联网开发板评测】FR8016H开发板体验及与上位机通信测试
【富芮坤物联网开发板评测】FR8016H开发板体验及与上位机通信测试    首先感谢富芮坤微电子有限公司和面包板社区搞得这次活动,本人有幸参与到活动,按惯例先上开发板的全家福照片:...
wdzfd 2014-01-19 16:48
一位工程师的FPGA项目开发经验总结
1. 要和人配合。以我们做硬件的工程师为例,测试的时候一般都需要软件的配合,一个对硬件来说无比复杂的工作,可能在软件工程师看来就是几行简单的代码。所以要和人配合,多听听别人的意见,这样必然可以产生...
wdzfd 2014-01-07 08:55
关于硬件设计经验
一:成本节约 现象一:这些拉高/拉低的电阻用多大的阻值关系不大,就选个整数5K吧 点评:市场上不存在5K的阻值,最接近的是4.99K(精度1%),其次是5.1K(精度5%),其成本分别比精度为...
wdzfd 2013-11-10 18:52
FPGA一体化高级设计方法
尽管 FPGA 为嵌入式设计带来了强大的功能与灵活性,但额外的开发流程也给设计工作增加了新的复杂性和限制问题。整合传统的硬件-FPGA-软件设计流程并充分利用 FPGA 的可再编程功能是我们的一个...
wdzfd 2013-10-25 11:10
HP大中华区总裁 / 孙振耀 退休感言(3)
五、跳槽与积累    首先要说明,工作是一件需要理智的事情,所以不要在工作上耍个性,天涯上或许会有人觉得你很有个性而叫好,煤气公司电话公司不会因为觉得你很有个性而免了你的帐单。当你很帅地炒掉了...
wdzfd 2013-10-25 11:09
HP大中华区总裁 / 孙振耀 退休感言(2)
三、什麽是好工作     当初微软有个唐骏,很多大学里的年轻人觉得这才是他们嚮往的职业生涯,我在清华bbs里发的帖子被这些学子们所不屑,那个时候学生们只想出国或者去外企,不过如今看来,我还是对的...
EE直播间
更多
我要评论
8
12
关闭 站长推荐上一条 /3 下一条