赞
踩
整理一些个人对FPGA工程师职业发展的观点,仅是个人见解,分享交流。
首先,需要建立一个概念:FPGA仅是实现一个项目所采用的工具/方式/芯片,项目结果才是价值所在!
不要把自己局限在专研FPGA语法/软件工具使用等层面。FPGA仅是实现工具和手段,就像有了砖和泥,如何盖高楼大厦才是重点!高楼大厦才是砖和泥的价值所在!因此,FPGA也仅是一种工具,看你如何使用,则体现了你能创造的价值以及你的价值所在!至于工具使用的熟练度问题,也就是或早或晚掌握的问题。
当你充分掌握了FPGA开发技能之后(这些技能也很容易掌握),就会遇到职业发展的瓶颈了。一般FPGA从业3-5年,也就到了瓶颈期。
基础技能 | |
1、良好的文档撰写能力,熟练使用办公软件。 | 2、良好的英语水平及英文文档阅读能力。加分项:良好的英文交流能力。 |
3、熟练掌握常用通信协议及通信接口设计:UART/IIC/SPI/PCIE/ Aurora/Ethernet/SRIO | 4、熟练了解常用存储器件:Flash/SDR SDRAM/DDR3 SDRAM |
5、理解并掌握同步设计、跨时钟域处理。 | 6、熟练使用Verilog编程,具有扎实的Verilog语法基础和良好的代码风格, |
7、理解可综合和不可综合代码设计。 | 8、熟悉各种FPGA芯片资源: Virtex-5/virtex-7/kintex-7/UltraScale+/kintex ultrascale FPGA等。 |
9、理解并掌握时序约束思想,熟练使用时序约束工具 | 10、理解并掌握约束相关理论,并熟练使用相关软件工具。 |
11、具有相关专业的知识理论基础 | 12、具有相关行业的背景知识。 |
FPGA逻辑工程师应该掌握的各种能力
本节内容引用自:一个FPGA工程师的成长之路
建议初学者可以看看原文!本节仅是引用原文的部分内容。
引用如下:
大概设置了5种能力,每种能力在不同的阶段有不同的要求。其中,设计完成能力是最基本的要求。
第一阶段:可以完成设计,基本知道verilog的语法,能够把一个需求用代码实现出来,并且能够调试出来,经常会上网搜索现成的模块,对逻辑的硬件思维基本没有
第二阶段:开始关注代码风格,开始把自己的代码写的风格统一,并且开始关注代码的硬件实现,突出标志就是开始关注rtl视图,比较能明确的区分可综合语句与仿真语句的区别
第三阶段:在这个阶段,对模块内部的代码书写有了更加深刻的认识,模块内部的写法开始更加统一,基本上,模块内部的代码可以直接生成rtl视图。而且,开始考虑设计的复用,开始考虑模块的划分,注重模块接口,平台化等等
第四阶段:该阶段已经可以比较轻松的完成一个逻辑设计,而且结构合理,易读,可复用。
第五阶段:可以带领一个团队完成比较大规模的逻辑设计,分配不同的工作任务,可以准确的预估项目的风险,进度,可以准确的做出逻辑的整体方案,仿真方案,调试方案,对于整体的业务流有全面而深刻的认识
第一阶段:知道FPGA的意思,但是基本上不知道fpga的内部结构
第二阶段:不怎么关注器件视图。但是基本知道器件的大概结构,知道fpga里面有le,ram,dsp,全局等等,对逻辑器件有了基本的认识
第三阶段:此时开始关注器件结构,了解fpga的内部架构,时钟网络,route,对时序约束有了基本的了解
第四阶段:对器件结构有了比较深入的认识,开始认识到不同厂家器件结构的不同
第五阶段:熟知各个厂家的各种逻辑器件的内部结构,基本逻辑单元结构,以及由此带来的代码风格的相应的改变
第一阶段:基本不知道什么是时序约束
第二阶段:知道时序约束,会做时钟约束,可以根据简单的公式计算输出输出约束
第三阶段:懂得时序约束与布线的关系,熟练掌握最基本的常用约束
第四阶段:对时序约束有深刻的认识,可以主动设计整体时钟和复位系统
第五阶段:熟知时序约束,并且能够采取各种手段,解决各种时序问题
第一阶段:无
第二阶段:有一点点概念,知道大概可以划分模块,对模块的功能,接口没有要求,一般有需要就直接加一个接口信号,不能在项目开始就主动设计
第三阶段:开始考虑设计的复用,开始考虑模块的划分,注重模块接口,平台化等等
第四阶段:接手一些比较大的设计,开始有架构的考虑,对于模块的划分,模块接口,模块职责,整体方案的实现,开始有更多的考虑,此时,可以做出比较好的,合理的方案
第五阶段:对整体的逻辑架构有所考虑,并且开始准确的划分逻辑架构,模块接口,功能划分,工作职责,协同交流
第一阶段:无
第二阶段:无
第三阶段:开始接触到时序收敛,有单个时序不过的信号,能够予以解决
第四阶段:开始主动设计时序,基本可以完成整个设计的时序收敛任务。
第五阶段:对于逻辑的布局,数据流走向有深刻的认识,能够在项目支出就通过设计来保证时序收敛。
第一阶段:开始接触简单的接口,
第二阶段:开始掌握如串口,spi,i2c等简单的外部接口
第三阶段:开始接触ddr,ssram,ad,lpc等等略复杂的接口
第四阶段:开始接触pcie,transceiver,rapid io,phy,等等复杂且带协议的接口
第五阶段:无,此阶段,不需要用掌握接口的多少来衡量
第一阶段:基本不知道正规逻辑流程,基本无设计文档
第二阶段:能够根据已知的流程完成设计,写出文档
第三阶段:比较熟练逻辑流程,并且能够顺利完成设计文档
第四阶段:有比较严格的逻辑流程,并且完成各种文档,对流程的认识比较深刻
第五阶段:可以根据现状,制定合理流程和文档要求
根据以上不同阶段对各种能力的要求,可以完成V模型
其中,完成设计是最基本、核心的要求,随着水平的增长,对其他能力的要求也随之变高。
在阅读完上面引用部分后,读者可思考如何针对性的提高自己各方面的专业能力!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。