1、数字电路基础。做FPGA一定要有数字硬件的概念。FPGA是硬件设计,而不是软件设计,首先要有这个概念
2、硬件描述语言,Verilog或VHDL,推荐Verilog
3、主流厂家的芯片底层结构,如LogicCell、DSPBlock、时钟、IO单元等
4、EDA工具的使用,如主流厂家的集成编译环境(QuartusII、Vivado等)、仿真软件(ModelSim等)的使用
5、熟悉FPGA设计流程(仿真,综合,布局布线,时序分析)。
6、熟练掌握资源估算(特别是slice,lut,ram等资源的估算)。
7、同步设计原理。
一个合格的FPGA工程师至少在以下三个方面的一个非常熟悉:?
嵌入式应用?2DSP应用?3高速收发器应用
扩展资料
FPGA工程师的核心竞争力
1、RTL设计实现能力。也就是算法实现能力,RTL实现是FPGA工程师或者说HDL开发人员的入门首先接触到的东西;
2、硬件调试能力。包括问题定位分析能力和系统调试能力,FPGA工程师真正的核心竞争力,因为这不仅仅需要经验的积累,同时还需要很好的逻辑思维和分析能力。
另外一方面是整个硬件软件系统层次的调试能力,要看得懂原理图PCB,懂硬件,了解软件接口,现在FPGA越来越讲究-design,软件硬件这个系统层次的调试能力对人的要求更加高。
3、更加高层次的能力。还是系统层次的东西。算法和架构,怎样将一系列数学公式,转换为算法,在最终形成系统硬件的实现;
整个系统采用什么样的架构,纯FPGA,armFPGA,DSPFPGA,SOCFPGA;FPGA顶层采用什么架构,通用总线还是自定义总线,如何考虑通用性和可扩展性等等,再大至什么样的应用适合用FPGA实现。
什么样的问题适合软件实现,怎样的组合能更加低成本高效率的解决问题,这一些列问题涉及的东西有很多,基本上都是以FPGA为核心做开发要面临的问题,其实其他平台的硬件、软件产品都是类似,系统层面的问题都是复杂的问题,同时,从系统层面去优化,解决问题才是最高效率的方式。
问题是够专业了。从前端的估计到后端应用,而且连扩展资料都问了(笑~)先来个简单的。
功能比较:
FPGA:
时序控制能力强。(时序能力强,没有指令周期,速度快)
控制能力较强(由于没有指令集,不如ARM和单片机)。
数字信号处理及算法弱(这里讲的弱是指内部不集成DSP的前提下)
DSP:
时序控制能力较弱。(没办法。有了指令集,就有指令周期。而且受到时钟约束)
控制能力较强(有指令集。但是不是专业搞控制的)
数字信号处理及算法强(专业特长嘛)
DSP和FPGA开发的概述:
DSP,专用电路(内部结构已经固定)通过对RAM内部的指令和数据工作(这个是CPU和ARM等等的工作方式)所以开发遵循嵌入式软件的设计原则。调试应更注重于算法的实现。
FPGA,ASIC一种,经典FPGA的内部结构是寄存器+组合逻辑(查找表)。最后是按照逻辑电路进行设计。所以是属于硬件设计原则。调试除了需要关心功能以外,还需要关心电路方面的特性。比如说延迟,整体功率等等。
开发工具:
DSP仿真器,开发板。仿真器比较多,网上查吧,DSP仿真器,网上大堆的,嫌不够正规,TI网站自己找教程和datasheet。
FPGA:开发工具比较多,他分成综合工具,仿真工具和开发板,综合工具altera的Quartus和xilinx的ISE以及synplicity的synplify用的比较多。仿真么,modelsim,时序仿真利器。也是网上去找吧。多滴很~~
技术支持你不用担心~TI和Xilinx和Altera的支持非常非常地道。就一个问题。英文要好。至少你能静下心来看。上了他们的网站。你就知道什么叫专业。fpga还好,因为就几家大公司才有能力出。dsp么,具体问题具体分析咯。
选择策略方面。这个是经验谈啊:不能绝对的说。DSP么,专业性比较强。而且的确能做别的IC做不了的事情(人家里面乘法器资源没话说稳定性和效率在数字信号处理这块基本无人能出其右)FPGA呢相对来说可以运用的面比较广泛(不过也是近期的事情。其实FPGA很早就有。只是当初设计领域都是通信方面的。现在有集成CPU和DSP以及公司提供的软核的强力支持,设计面越来越广)
也就能讲这点~~希望对你有用。真正的经验。只有在你动手以后~才知道。选择那条路无所谓。关键是在这条路上走的多好。移知FAE工程师为您解答
fpga开发板有CPU,自然能跑c。soc的原型验证必然有CPU综合到fpga去。
(后续还有问题的话,可以搜索“移知”,里面有问答专区可以提问IC行业相关的问题)
1、FPGA——现场可编程门阵列
FPGA(Field-ProgrammableGateArray),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
ASIC具有高性能、低功耗的优势,但它们包含的任何算法——除了那些在软件内部处理器内核执行的——其余都是“冻结的”。所以这个时候我们就需要现场可编程门阵列(FPGA)了。早期的FPGA器件的架构相对简单——只是一系列通过可编程互连的可编程模块。
用于深度学习加速的FPGA(XilinxKintex7Ultrascle)
FPGA最厉害的地方是,我们可以配置它的可编程架构来实现任意我们需要的数字功能组合。另外,我们可以以大规模并行的方式实施算法,这意味着我们可以非常迅速和有效地执行大数据的处理。
2、ASIC——特定应用集成电路
目前,在集成电路界ASIC被认为是一种为专门目的而设计的集成电路。是指应特定用户要求和特定电子系统的需要而设计、制造的集成电路。ASIC的特点是面向特定用户的需求,ASIC在批量生产时与通用集成电路相比具有体积更小、功耗更低、可靠性提高、性能提高、保密性增强、成本降低等优点。
用于深度学习加速的ASIC(MovidiusMyriad)
让我们从特定应用集成电路(ASIC)开始。正如其名称所表示的,这是因特定目的而创建的设备,一旦设计制造完成后电路就固定了,无法再改变。当大多数人听到这个词ASIC时,他们的“下意识”反应是,假设它是数字设备。事实上,不论它是模拟的、数字的,或两者的混合,任何定制的芯片都是一个ASIC。然而,对于这些讨论的目的,我们应该假设这是一个完全或主要部分是数字性质的芯片,任何模拟和混合信号功能是沿着物理接口线(物理层)或锁相回路(PLL)的。
FPGA设计优势
ASIC设计优势
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)