FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。那么这项技术的独特的优势在哪里?下面我们就来介绍FPGA,一起了解FPGA的优势。
1、什么是FPGA?
在最高层面上,FPGA是可重新编程的硅芯片。使用预建的逻辑块和可重新编程布线资源,用户无需再使用电路试验板或烙铁,就能配置这些芯片来实现自定义硬件功能。用户在软件中开发数字计算任务,并将它们编译成配置文件或比特流,其中包含元器件相互连接的信息。此外,FPGA可完全可重配置,当用户在重新编译不同的电路配置时,能够当即呈现全新的特性。过去,只有熟知数字硬件设计的工程师懂得使用FPGA技术。然而,高层次设计工具的兴起正在改变FPGA编程的方式,其中的新兴技术能够将图形化程序框图、甚至是C代码转换成数字硬件电路。
各行各业纷纷采用FPGA芯片是源于FPGA融合了ASIC和基于处理器的系统的最大优势。FPGA能够提供硬件定时的速度和稳定性,且无需类似自定制ASIC设计的巨额前期费用的大规模投入。可重新编程的硅芯片的灵活性与在基于处理器的系统上运行的软件相当,但它并不受可用处理器内核数量的限制。与处理器不同的是,FPGA属于真正的并行实行,因此不同的处理操作无需竞争相同的资源。每个独立的处理任务都配有专用的芯片部分,能在不受其它逻辑块的影响下自主运作。因此,添加更多处理任务时,其它应用性能也不会受到影响。
2、FPGA工作原理
FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。
3、FPGA的基本特点
1)采用FPGA设计ASIC电路(特定用途集成电路),用户不需要投片生产,就能得到合用的芯片。
2)FPGA可做其它全定制或半定制ASIC电路的中试样片。
3)FPGA内部有丰富的触发器和I/O引脚。
4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。
5) FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。
可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。
FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。
加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。
4、FPGA技术的五大优势
1)性能
利用硬件并行的优势,FPGA打破了顺序执行的模式,在每个时钟周期内完成更多的处理任务,超越了数字信号处理器(DSP)的运算能力。著名的分析与基准测试公司BDTI,发布基准表明在某些应用方面,FPGA每美元的处理能力是DSP解决方案的多倍。2在硬件层面控制输入和输出(I/ O)为满足应用需求提供了更快速的响应时间和专业化的功能。
2)上市时间
尽管上市的限制条件越来越多,FPGA技术仍提供了灵活性和快速原型的能力。用户可以测试一个想法或概念,并在硬件中完成验证,而无需经过自定制ASIC设计漫长的制造过程。3由此用户就可在数小时内完成逐步的修改并进行FPGA设计迭代,省去了几周的时间。商用现成(COTS)硬件可提供连接至用户可编程FPGA芯片的不同类型的I/O。高层次的软件工具的日益普及降低了学习曲线与抽象层,并经常提供有用的IP核(预置功能)来实现高级控制与信号处理。
3)成本
自定制ASIC设计的非经常性工程(NRE)费用远远超过基于FPGA的硬件解决方案所产生的费用。ASIC设计初期的巨大投资表明了原始设备制造商每年需要运输数千种芯片,但更多的最终用户需要的是自定义硬件功能,从而实现数十至数百种系统的开发。可编程芯片的特性意味着用户可以节省制造成本以及漫长的交货组装时间。系统的需求时时都会发生改变,但改变FPGA设计所产生的成本相对ASCI的巨额费用来说是微不足道的。
4)稳定性
软件工具提供了编程环境,FPGA电路是真正的编程“硬”执行过程。基于处理器的系统往往包含了多个抽象层,可在多个进程之间计划任务、共享资源。驱动层控制着硬件资源,而操作系统管理内存和处理器的带宽。对于任何给定的处理器内核,一次只能执行一个指令,且基于处理器的系统时刻面临着严格限时的任务相互取占的风险。而FPGA不使用操作系统,拥有真正的并行执行和专注于每一项任务的确定性硬件,可减少稳定性方面出现问题的可能。
5)长期维护
正如上文所提到的, FPGA芯片是现场可升级的,无需重新设计ASIC所涉及的时间与费用投入。举例来说,数字通信协议包含了可随时间改变的规范,而基于ASIC的接口可能会造成维护和向前兼容方面的困难。可重新配置的FPGA芯片能够适应未来需要作出的修改。随着产品或系统成熟起来,用户无需花费时间重新设计硬件或修改电路板布局就能增强功能。
5、FPGA的应用
微处理器是为通用而设计的,必须按照时钟的节拍,逐条取指、译指、执行,大多用于低速、实时性要求不高的场合,例如石油探测;FPGA 应用场合相当多,特别是在高速的、实时性强并对时间要求相当苛刻的场合,有很强的数据处理能力,例如无线通信、雷达探测等;是FPGA的一些典型应用:
典型应用一:接口逻辑控制--提供前所未有的灵活性
1)PCI、PCI Express、PS/2、USB等接口控制器
2)SDRAM、DDR、SDRAM、QDR、SRAM、NAND flash、NOR Flash等接口控制器
3)电平转换,LVDS、TTL、COMS、SSTL等
典型应用二:高速的数字信号处理--提供前所未有的计算能力
1)无线通信领域,如软件无线电(SDR);
2)视频图像处理领域,如高清晰数字电视(HDTV);
3)军事和航空航天领域,如雷达声纳、安全通信。
其他应用领域
1)汽车,如网关控制器、车用PC、远程信息处理系统等;
2)消费产品,如显示器/投影仪、数字电视和机顶盒、家庭网络等;
3)医疗,如电疗、血液分析仪、医疗检测设备等
4)通信设备 ,如蜂窝基础设施、宽带无线通信、软件无线电等
5)测试与测量,如通信测试与监测、半导体、自动测试设备、通用仪表等。
FPGA技术的采用也越来越为广泛,不管你是一名逻辑设计师、硬件工程师或系统工程师,甚或拥有所有这些头衔,只要你在任何一种高速和多协议的复杂系统中使用了FPGA,你就很可能需要努力解决好器件配置、电源管理、IP集成、信号完整性和其他的一些关键设计问题,那就要认真了解FPGA技术啦!
-
FPGA
+关注
关注
1629文章
21736浏览量
603247 -
cpld
+关注
关注
32文章
1248浏览量
169353 -
pal
+关注
关注
1文章
43浏览量
27277 -
可编程门阵列
+关注
关注
0文章
18浏览量
7774
发布评论请先 登录
相关推荐
评论