您的位置 首页 产品

FPGA怎么从入门到高手?

FPGA如何从入门到高手?-本文首先介绍了FPGA的特点与FPGA芯片结构,其次分析了FPGA与ASIC及CPLD对比,最后介绍了FPGA基础入门到高手相关知识与FPGA下载配置学习心得。

  FPGA简介

  FPGA是英文FieldProgrammableGateArray的缩写,即现场可编程门阵列,它是在可编程阵列逻辑PAL(ProgrammableArrayLogic)、门阵列逻辑GAL(GateArrayLogic)、可编程逻辑器材PLD(ProgrammableLogicDevice)等可编程器材的根底什么是FPGA前进一步开展的产品。

  它是作为专用集成电路ASIC(ApplicaTIonSpecificIntegratedCircuit)领域中的一种半定制电路而呈现的,既处理了定制电路的缺乏,又克服了原有可编程器材门电路数有限的缺陷。FPGA能完结任何数字器材的功用,上至高功用CPU,下至简略的74系列电路,都能够用FPGA来完结。FPGA好像一张白纸或是一堆积木,工程师能够经过传统的原理图什么是输入法,或是硬件描绘言语自在规划一个数字体系。经过软件仿真,咱们能够事前验证规划的正确性。在PCB完结往后,还能够运用FPGA的在线修正才干,随时修正规划而不用改动硬件电路。运用FPGA来开发数字电路,能够大大缩短规划时刻,削减PCB面积,前进体系的可靠性。PLD的这些长处使得PLD技能在90年代往后得到飞速的开展,一起也大大推动了电子规划主动化EDA(ElectronicDesignAutomaTIc)软件和硬件描绘言语VHDL(Very-High-SpeedIntegratedCircuitHardwareDescripTIon)的前进。

  FPGA的特色

  FPGA具有体系结构和逻辑单元灵敏、集成度高以及适用规模宽FPGA等特色。兼容了PLD和通用门阵列的长处,可完结较大规划的电路,编程也很灵敏。与门阵列等其它ASIC比较,它又具有规划开发什么是周期短、规划制作本钱低、开发东西先进、规范产品无需测验、质量安稳以及可实时在线查验等长处,因而被广泛运用于产品的原型规划和产品出产(一般在10,000件以下)之中。简直一切运用门阵列、PLD和中小规划通用数字集成电路的场合均可运用FPGA

  FPGA选用了逻辑单元阵列LCA(LogicCellArray)这样一个新概念,内部包括可装备逻辑模块CLB(ConfigurableLogicBlock)、输出输入模块IOB(InputOutputBlock)和内部连线(Interconnect)三个部分。FPGA的根本特色首要有:

  一是选用FPGA规划ASIC电路,用户不需求投片出产,就能得到合用的芯片。

  二是FPGA可做其它全定制或半定制ASIC电路的中试样片。

  三是FPGA内部有丰厚的触发器和I/O引脚。

  四是FPGA是ASIC电路中规划周期最短、开发费用最低、危险最小的器材之一。

  五是FPGA选用高速CHMOS工艺,功耗低,能够与CMOS、TTL电平兼容。

  FPGA芯片结构

  现在干流的FPGA仍是依据查找表技能的,现已远远超出了从前版别的根本功用,并且整合了常用功用(如RAM、时钟办理和DSP)的硬核(ASIC型)模块。FPGA芯片首要由6部分完结,分别为:可编程输入输出单元、根本可编程逻辑单元、完好的时钟办理、嵌入块式RAM、丰厚的布线资源、内嵌的底层功用单元和内嵌专用硬件模块。

FPGA怎么从入门到高手?
FPGA怎么从入门到高手?

  1.可编程输入输出单元(IOB)

  可编程输入/输出单元简称I/O单元,是芯片与外界电路的接口部分,完结不同电气特性下对输入/输出信号的驱动与匹配要求。为了便于办理和习惯多种电器规范,FPGA的IOB被划分为若干个组(bank),每个bank的接口规范由其接口电压VCCO决议,一个bank只能有一种VCCO,但不同bank的VCCO能够不同。只要相同电气规范的端口才干衔接在一起,VCCO电压相同是接口规范的根本条件。

  2.可装备逻辑块(CLB)

  CLB是FPGA内的根本逻辑单元。CLB的实践数量和特性会依器材的不同而不同,可是每个CLB都包括一个可装备开关矩阵,此矩阵由4或6个输入、一些选型电路(多路复用器等)和触发器组成。开关矩阵是高度灵敏的,能够对其进行装备以便处理组合逻辑、移位寄存器或RAM。

  3.嵌入式块RAM(BRAM)

  大大都FPGA都具有内嵌的块RAM,这大大拓宽了FPGA的运用规模和灵敏性。块RAM可被装备为单端口RAM、双端口RAM、内容地址存储器(CAM)以及FIFO等常用存储结构。CAM存储器在其内部的每个存储单元中都有一个比较逻辑,写入CAM中的数据会和内部的每一个数据进行比较,并回来与端口数据相同的一切数据的地址,因而在路由的地址交换器中有广泛的运用。除了块RAM,还能够将FPGA中的LUT灵敏地装备成RAM、ROM和FIFO等结构。在实践运用中,芯片内部块RAM的数量也是挑选芯片的一个重要因素。

  4.丰厚的布线资源

  布线资源连通FPGA内部的一切单元,而连线的长度和工艺决议着信号在连线上的驱动才干和传输速度。FPGA芯片内部有着丰厚的布线资源,依据工艺、长度、宽度和散布方位的不同而划分为4类不同的类别。第一类是大局布线资源,用于芯片内部大局时钟和大局复位/置位的布线;第二类是长线资源,用以完结芯片Bank间的高速信号和第二大局时钟信号的布线;第三类是短线资源,用于完结根本逻辑单元之间的逻辑互连和布线;第四类是散布式的布线资源,用于专有时钟、复位等操控信号线。

  在实践中规划者不需求直接挑选布线资源,布局布线器可主动地依据输入逻辑网表的拓扑结构和约束条件挑选布线资源来连通各个模块单元。从本质上讲,布线资源的运用办法和规划的成果有亲近、直接的联系。

  5.底层内嵌功用单元

  内嵌功用模块首要指DLL(DelayLockedLoop)、PLL(PhaseLockedLoop)、DSP和CPU等软处理核。现在越来越丰厚的内嵌功用单元,使得单片FPGA成为了体系级的规划东西,使其具有了软硬件联合规划的才干,逐渐向SOC渠道过渡。

  DLL和PLL具有相似的功用,能够完结时钟高精度、低颤动的倍频和分频,以及占空比调整和移持平功用。

  6.内嵌专用硬核

  内嵌专用硬核是相对底层嵌入的软核而言的,指FPGA处理才干强壮的硬核(HardCore),等效于ASIC电路。为了前进FPGA功用,芯片出产商在芯片内部集成了一些专用的硬核。例如:为了前进FPGA的乘法速度,干流的FPGA中都集成了专用乘法器;为了适用通讯总线与接口规范,许多高端的FPGA内部都集成了串并收发器(SERDES),能够到达数十Gbps的收发速度。

  FPGA与ASIC及CPLD比照

  1、FPGA和ASIC的比较

  ASIC是英文的ApplicaTIonSpecificIntegratedCircuits缩写,即专用集成电路,是指应特定用户要求和特定电子体系的需求而规划、制作的集成电路。现在用CPLD(杂乱可编程逻辑器材)和FPGA(现场可编程逻辑阵列)来进行ASIC规划是最为盛行的办法之一,它们的共性是都具有用户现场可编程特性,都支撑鸿沟扫描技能,但两者在集成度、速度以及编程办法上具有各自的特色。ASIC的特色是面向特定用户的需求,种类多、批量少,要求规划和出产周期短,它作为集成电路技能与特定用户的整机或体系技能紧密结合的产品,与通用集成电路比较具有体积更小、分量更轻、功耗更低、可*性前进、功用前进、保密性增强、本钱下降一级长处。

  FPGA特别合适于样品研发或小批量产品开发,使产品能以最快的速度上市,而当商场扩展时,它能够很简略的由ASIC完结,因而开发危险也大为下降。但ASIC也有它固有的优势,芯片能够取得最优的功用,即面积运用率高、速度快、功耗低,批量本钱低,所以在往后一段时刻内ASIC仍然会占有高端芯片商场和大批量运用的老练中低端商场。

  2、FPGA与CPLD的比较

  虽然FPGA和CPLD都是可编程ASIC器材,有许多一起特色,但因为CPLD和FPGA结构上的差异,具有各自的特色:

  一是CPLD更合适完结各种算法和组合逻辑,FPGA更合适于完结时序FPGA逻辑。换句话说,FPGA更合适于触发器丰厚的结构,而CPLD更合适于触发器有限而乘积项丰厚的结构。

  二是CPLD的接连式布线结构决议了它的时序推迟是均匀的和可猜测的,而FPGA的分段式布线结构决议了其推迟的不行猜测性。

  三是在编程上FPGA比CPLD具有更大的灵敏性。CPLD经过修正具有固定内连电路的逻辑功用来编程,FPGA首要经过改动内部连线的布线来编程;FPGA可在逻辑门下编程,而CPLD是在逻辑块下编程。

  四是FPGA的集成度比CPLD高,具有更杂乱的布线结构和逻辑完结。

  五是CPLD比FPGA运用起来更便利。CPLD的编程选用E2PROM或FASTFLASH技能,无需外部存储器芯片,运用简略。而FPGA的编程信息需存放在外部存储器上,运用办法杂乱。

  六是PLD的速度比FPGA快,并且具有较大的时刻可猜测性。这是因为FPGA是门级编程,并且CLB之间选用散布式互联,而CPLD是逻辑块级编程,并且其逻辑块之间的互联是集总式的。

  七是在编程办法上,CPLD首要是依据E2PROM或FLASH存储器编程,编程次数可达1万次,长处是体系断电时编程信息也不丢掉。CPLD又可分为在编程器上编程和在体系编程两类。FPGA大部分是依据SRAM编程,编程信息在体系断电时丢掉,每次上电时,需从器材外部将编程数据从头写入SRAM中。其长处是能够编程恣意次,可在作业中快速编程,然后完结板级和体系级的动态装备。

  八是CPLD保密性好,FPGA保密性差。

  九是一般情况下,CPLD的功耗要比FPGA大,且集成度越高越显着。

FPGA怎么从入门到高手?

  FPGA根底入门到高手相关常识

  1、FPGA器材有三类装备下载办法:主动装备办法(AS)和被迫装备办法(PS)和最常用 的(JTAG)装备办法。

  AS由FPGA器材引导装备操作进程,它操控着外部存储器和初始化进程,EPCS系列。如EPC S1,EPCS4装备器材专供AS形式,现在只支撑 Cyclone系列。运用Altera串行装备器材来完结。Cyclone期间处于主动位置,装备期间处于隶属位置。装备数据经过DATA0引脚送入 FPGA。装备数据被同步在DCLK输入上,1个时钟周期传送1位数据。PS则由外部计算机或操控器操控装备进程。经过加强型装备器材(EPC16,EPC8,EPC4)等装备器材来完结,在PS装备期间,装备数据从外部贮存部件,经过DATA0引脚送入FPGA。装备数据在DCLK上升沿锁存,1个时钟周期传送1位数据。

  JTAG接口是一个业界规范,首要用于芯片测验等功用,运用IEEE Std 1149.1联合鸿沟扫描接口引脚,支撑JAM STAPL规范,能够运用Altera下载电缆或主控器来完结。 FPGA在正常作业时,它的装备数据存储在SRAM中,加电时须从头下载。在试验体系中,一般用计算机或操控器进行调试,因而能够运用PS。在有用体系中,大都情况下有必要由FPGA主动引导装备操作进程,这时FPGA将主动从外围专用存储芯片中取得装备数据,而此芯片中fpga装备信息是用一般编程器将规划所得的pof格局的文件烧录进去。

  专用装备器材:epc类型的存储器

  常用装备器材:epc2,epc1,epc4,epc8,epc1441(现在好象现已被逐渐筛选了)等

  关于cyclone cycloneII系列器材,ALTERA还供给了针对AS办法的装备器材,EPCS系列。如EPCS1,EPCS4装备器材也是串行装备的。留意,他们只适用于cyclone系列。 除了AS和PS等单BIT装备外,现在的一些器材现已支撑PPS,FPS等一些并行装备办法,提高装备了装备速度。当然所外挂的电路也和PS有一些差异。还有处理器装备比方JRUNNER 等等,假如需求再baidu吧,至少不下十种。比方Altera公司的装备办法首要有Passive Serial(PS),Active Serial(AS),Fast Passive Parallel(FPP),Passive Parallel Synchronous(PPS),Passive Parallel Asynchronous(PPA),Passive Serial Asynchronous(PSA),JTAG等七种装备办法,其间Cyclone支撑的装备办法有PS,AS,JTAG三种。

  2、对FPGA芯片的装备中,能够选用AS形式的办法,假如选用EPCS的芯片,经过一条下载线进行烧写的话,那么开端的‘nCONFIG,nSTATUS’应该上拉,要是考虑多种装备形式,能够选用跳线规划。让装备办法在跳线中切换,上拉电阻的阻值能够选用10K。

  3、在PS形式下tip:假如你用电缆线装备板上的FPGA芯片,而这个FPGA芯片现已有装备芯片在板上,那你就有必要阻隔缆线与装备芯片的信号。(祥见下图)。一般平常调试时不会把装备芯片焊上的,这时分用缆线下载程序。只要在调试完结往后,才把程序烧在装备芯片中, 然后将芯片焊上。或许装备芯片便是能够便利取下焊上的那种。这样出了问题还能够便利地调试。

  在AS形式下tip: 用过一块板子用的AS下载,装备芯片一直是焊在板子上的,本来AS办法在用线缆对装备芯片进行下载的时分,会主动制止对FPGA的装备,而PS办法需求电路上阻隔。

  4、一般是用jtag装备epc2和flex10k,然后 epc2用ps办法装备flex10k.这样用比较好。(这是我在网上看到的,能够这样用吗?置疑中)望达人奉告。

  5、下载电缆,Altera下的下载电缆分为byteblaster和byteblasterMV,以及ByteBlaster II,现在还推出了依据USB-blaster.因为BB根本现已很少有人运用,而USB-Blaster现在又过于贵重,这儿就说一下BBII和 BBMV的差异。

  BBII支撑多电压供电5.5v,3.3v,2.5v,1.8v;BBII支撑三种下载形式:AS,可对Altera的As串行装备芯片(EPCS系列)进行编程 PS,可对FPGA进行装备 JTAG,可对FPGA,CPLD,即Altera装备芯片(EPC系列)编程 而BBMV只支撑PS和JTAG

  6、一般在做FPGA试验板,(如cyclone系列)的时分,用AS+JTAG办法,这样能够用JTAG办法调试,而最终程序现已调试无误了后,再用 AS形式把程序烧到装备芯片里去,并且这样有一个显着的长处,便是在AS形式不能下载的时分,能够运用Quartus自带的东西生成JTAG形式下能够运用的jic文件来验证装备芯片是否现已损坏。

  7、Altera的FPGA能够经过单片机,CPLD等加以装备,首要原理是满意datasheet中的时序即可,这儿我就不多说了,有爱好的朋友能够看看下面几篇文章,应该就能够理解是怎么回事了。

  8、装备时,quartus软件操作部分:

  (1)assignment–》device–》device&pin options–》挑选configuration scheme,configuaration mode,configuration device,留意在不支撑长途和本地更新的机器中configuration mode不行挑选,而configuration device中会依据不同的装备芯片发生pof文件, 假如挑选主动,会挑选最小密度的器材和合适规划。

  (2)能够界说双口引脚在装备结束后的效果,在方才的device&pin option–》dual-purpose pins–》,能够在装备结束后持续当I/O口运用

  (3)在general菜单下也有许多可钩选项,默许情况下一般不做改动,详细用法拜见alter a configuration handbook,volume2,sectionII.

  (4)关于不同后缀名的文件的适用规模: sof(SRAM Object File)当直接用PS形式下将装备数据下到FPGA里用到,USB BLASTER,MASTERBLASER,BBII,BBMV适用,quartusII会自

  动生成,一切其他的装备文件都是由sof生成的。 pof(Programmer Object File)也是由quartusII主动生成的,BBII适用,AS形式下将装备数据下到装备芯片中rbf(Raw Binary File)用于微处理器的二进制文件。在PS,FPP,PPS,PPA装备下有用途rpd(Raw Programing Data File)包括bitstream的二进制文件,可用AS形式装备,只能由pof文件生成hex(hexadecimal file)这个就不多说了,单片机里许多ttf(Tabular Text File)适用于FPP,PPS,PPA,和bit-wide PS装备办法sbf(Serial Bitstream File)用PS形式装备Flex 10k和Flex6000的jam(Jam File)专门用于program,verigy,blank-check

  FPGA下载装备学习心得

  1、依据FPGA在装备电路中的人物,装备数据能够运用3种办法载入到方针器材中:

  (1) FPGA主动办法:由FPGA来主动输出操控和同步信号给FPGA的串行装备芯片(EPCS系列),装备芯片收到指令后,把装备数据发给FPGA,完结装备进程;在AS形式下,FPGA有必要与AS串行装备芯片合作运用,它与FPGA的接口为四跟信号线,分别为:串行时钟输入(DCLK),AS操控信号输入 (ASDI),片选信号(nCS),串行数据输出(DATA)。

  (2) FPGA被迫办法:被迫形式下,由体系的其他设备建议并操控装备进程,这些设备能够是装备芯片(EPC系列),或许单板的微处理器、CPLD等。 FPGA在装备进程中彻底处于被迫位置,仅仅输出一些状况信号来合作装备进程;在PS形式下,需求装备时钟(DCLK),装备数据(DATA0),装备指令(nCONFIG),状况信号(nSTATUS),装备完结指示(CONF_DONE)这四个信号来完结装备进程。

  (3) JTAG形式:运用JTAG进行装备能够运用Altera的下载电缆,或许经过智能主机模仿JTAG的时序来进行装备;JTAG接口由四个有必要的信号TDI、TDO、TMS和TCK,以及一个可选的TRST构成。

  2、若运用ByteBlasterII下载电缆,支撑的装备办法有以下3种:

  AS办法:对AS装备芯片(ECPS系列)进行编程;

  PS办法:能够对FPGA进行装备;

  JTAG办法:能够对FPGA、CPLD以及Altera装备芯片(EPC系列)编程。

  3、AS及PS形式下的留意事项

  PS 形式:假如你用电缆线装备板上的FPGA芯片,而这个FPGA芯片现已有装备芯片在板上,那你就有必要阻隔缆线与装备芯片的信号一般平常调试时不会把装备芯片焊上的,这时分用缆线下载程序。只要在调试完结往后,才把程序烧在装备芯片中,然后将芯片焊上。或许装备芯片便是能够便利取下焊上的那种。这样出了问题还能够便利地调试。

  AS形式下: 用过一块板子用的AS下载,装备芯片一直是焊在板子上的,本来AS办法在用线缆对装备芯片进行下载的时分,会主动制止对FPGA的装备,而PS办法需求电路上阻隔。

  4、一般在做FPGA试验板,(如cyclone系列)的时分,用AS+JTAG办法,这样能够用JTAG办法调试,而最终程序现已调试无误了后,再用AS形式把程序烧到装备芯片里去,并且这样有一个显着的长处,便是在AS形式不能下载的时分,能够运用Quartus自带的东西生成JTAG形式下能够运用的jic文件来验证装备芯片是否现已损坏。

  

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/chanpin/338164.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部