FPGA系统工程师需要学什么东西?
1、数字电路基础。做FPGA一定要有数字硬件的概念。FPGA是硬件设计,而不是软件设计,首先要有这个概念
2、硬件描述语言,Verilog或VHDL,推荐Verilog
3、主流厂家的芯片底层结构,如Logic Cell、DSP Block、时钟、IO单元等
4、EDA工具的使用,如主流厂家的集成编译环境(Quartus II、Vivado等)、仿真软件(ModelSim等)的使用
5、熟悉FPGA设计流程(仿真,综合,布局布线,时序分析)。
6、熟练掌握资源估算(特别是slice,lut,ram等资源的估算)。
7、同步设计原理。
一个合格的FPGA工程师至少在以下三个方面的一个非常熟悉:
嵌入式应用 2.DSP应用 3.高速收发器应用
扩展资料
FPGA工程师的核心竞争力
1、RTL设计实现能力。也就是算法实现能力,RTL实现是FPGA工程师或者说HDL开发人员的入门首先接触到的东西;
2、硬件调试能力。包括问题定位分析能力和系统调试能力,FPGA工程师真正的核心竞争力,因为这不仅仅需要经验的积累,同时还需要很好的逻辑思维和分析能力。
另外一方面是整个硬件软件系统层次的调试能力,要看得懂原理图PCB,懂硬件,了解软件接口,现在FPGA越来越讲究HardwareSoftwareCo-design,软件硬件这个系统层次的调试能力对人的要求更加高。
3、更加高层次的能力。还是系统层次的东西。算法和架构,怎样将一系列数学公式,转换为算法,在最终形成系统硬件的实现;
整个系统采用什么样的架构,纯FPGA,arm+FPGA,DSP+FPGA,SOC+FPGA;FPGA顶层采用什么架构,通用总线还是自定义总线,如何考虑通用性和可扩展性等等,再大至什么样的应用适合用FPGA实现。
什么样的问题适合软件实现,怎样的组合能更加低成本高效率的解决问题,这一些列问题涉及的东西有很多,基本上都是以FPGA为核心做开发要面临的问题,其实其他平台的硬件、软件产品都是类似,系统层面的问题都是复杂的问题,同时,从系统层面去优化,解决问题才是最高效率的方式。