集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1210|回复: 4

浅谈FPGA的演进 优势

[复制链接]
dameihuaxia 发表于 2019-12-4 18:21:15 | 显示全部楼层 |阅读模式
FPGA的演进 -

让我先来回顾一下历史。1989年我第一次接触到电路板的时候,上面密布着一系列的TTL、CMOS芯片,一颗14~20只管脚的芯片中一般只有4-6个简单的“门”,十几个芯片的大板子也就完成寻址、译码之类的功能,使用起来是非常的痛苦,如果要修改逻辑,只能用手术刀切割电路板并进行飞线。94年的时候我开始使用GAL(当时是Lattice的16V8,20V8),觉得那简直是一个革命,竟然可以用软件编程修改芯片内部的逻辑而不用切割电路板,当时GAL不方便的地方在于输入、输出管脚都已经固定好,不能够在线编程,每次修改逻辑都需要使用暴力把芯片从板座上拔下来放回编程器上进行修改。不久Lattice、AMD(好像还有Philips)都推出了能够在线编程的PLD(CPLD/EPLD),专业术语叫ISP(In System Programming),I/O管脚已经可以任意定义,管脚数量也达到44个以上,非常适合中等规模的数字逻辑设计。1995年后期由于项目的需要,PLD已经无法满足我们系统的要求,因为我们需要芯片内部要有大量的寄存器做Buffer, FIFO等。于是Altera, Xilinx以及他们的代理商轮番去拜访我们的实验室,给我们推荐新的器件 - FPGA。FPGA跟PLD有很大的不同:第一,PLD是可以通过再编程修改逻辑的器件,一旦编程好了,就如同功能固定的逻辑功能块可以做它该做的事情了,FPGA就像白痴一样,一掉电里面的东西全不见了,每次板子上电的时候需要从外部PROM(比小容量的FPGA还贵,而且原厂提供的一般都是只能一次编程的)把逻辑加载进来。第二,FPGA的结构跟PLD是不一样的,PLD的优势在于速度,主要用途在于灵活地构建各种组合和时序逻辑,而FPGA拼的是内部的存储器,后期的FPGA内部有大量的块状存储器(可方便地配置成SRAM,双口RAM、FIFO等)以及分立的存储器,适用于需要大量内部存储器的应用,比如数据采集,通信系统中的交织、去交织,在FPGA内部构建带有一定容量存储器的微处理器 - 8031、RISC等,在PLD里面你是没有任何可能的。因为当今的大多数设计中都会用到微处理器,FPGA厂商争相针对这些需求开发了一些软核,比如Xilinx的PicoBlaze(8位的)、MicroBlaze(32位的),后来觉得不过瘾干脆把PowerPC给硬化进去了,一颗不够,有的芯片里面还要塞4颗。

当年我们项目中采用了Xilx的XC40xx,设计采用原理图输入,非常的原始但是很直观。美中不足的地方在于Xilinx的软件界面不太友好。2000年到美国后仍然从事硬件设计,还是使用Xilinx的FPGA,不过设计的方式先进了很多 - 用上了Verilog,比较自豪的工程 - 完整的QAM调制器、基于USB的数字示波器、任意波形发生器以及一系列的通信系统应用模块。-

在前后十年多的时间里,可编程逻辑器件尤其是FPGA从结构、容量、速度、编程软件、服务模式等方面都有了巨大的变化,小到最基本的数字逻辑,大到复杂的通信网络、视频编解码系统乃至ASIC原型设计,无处不见FPGA的身影。今天如果一个研发用的电路板上没有FPGA,这个研发项目的技术含量基本不高;如果一个工程师不会使用FPGA,他根本不好意思跟别人说自己是做硬件的;如果一个理工科院校还没有FPGA的课程,这个学校一定十分不靠谱,需要Xilinx大学计划的帮助。
FPGA的优势:-

根据应用的不同,设计者所采用的解决方案也会不同,在大规模数字芯片中比较典型的技术主要有:微处理器、DSP、专用集成电路ASIC等,相对于这些技术的应用来讲,FPGA有什么优势呢?-

1. 微处理器:今天的微处理器(包括微控制器)品种繁多,结构也各不相同,从4位、8位、16位、32位到64位,有8051,PIC,RISC、ARM、MIPS、Xtensa以及X86等,他们大多有丰富的接口同各种外设进行连接,通过软件执行不同的进程,从而完成一定的任务,并将控制命令或结果进行输出。可以说通过软件编程微处理器可以做任何事情,但是致命的缺点就是速度有限,在外部时钟的节拍下顺序执行一条条的指令,不能并行处理,因此微处理器厂商只能玩命提高芯片的速度(比如Intel的芯片时钟在2GHz以上,ARM已经在600MHz以上),对于更复杂的任务只能多放几个兄弟在里面一起干活,也就是今天的多核技术。由于一般稍微复杂一些的系统都会用到微处理器用于输入输出、多进程处理以及网络通信等,很多满足一定性能需求的通用微处理器成本较低,因此被广泛采用。现在微处理器领域最热门的技术术语无疑就是 “嵌入式系统”了,但我可以负责任地讲,大多数人对“嵌入式系统”的理解是片面甚至是错误的。有些公司为了商业利益把嵌入式系统以“皇帝的新装”模式进行大规模地忽悠,导致人们几乎把“嵌入式系统”同某一种IP类型画上了等号,这个行业涌现出了大批的根本不懂嵌入式系统的嵌入式系统工程师。-

2. DSP: 数字信号处理,精于在数字域通过执行相应的程序进行信号的处理,广泛用于音、视频,通信等领域。众所周知,通用DSP的领导厂商当首推TI, 当然很多通信芯片公司、视频芯片公司都在自己芯片内部放入了相应的DSP模块,同微处理器一起构成完整的系统。微处理器负责控制、人机界面、网络通信等,其对应的执行软件一般称作Software;DSP负责算法,比如滤波、空间变换、FFT/IFFT、调制解调等,相应的执行程序被称作Firmware。DSP的优点是灵活,由软件控制的可编程,并支持大规模的乘除法运算,缺点同微处理器一样是串行处理,无论做多少个事情要一个个排着队来做。-

3. ASIC:专用集成电路。一般为厂商在确定市场量比较大的情况下,为了降低成本而把比较成熟的功能做在一颗芯片中,执行已经确定的一些应用。它的优点是显然的:便宜,专用。缺点也是明显的,发现有问题了再改?对不起重新交钱。如果量不大,平摊下来的单片成本就会相当的高,一颗芯片的设计、流片、测试的周期没有6个月是下不来的,时间成本是巨大的。另外客户的需求几乎是无限的,他们的胃口也是不断增加的,无论你设计中考虑的多么周全,都无法满足所有客户的需要,你会发现很多外设的接口需要增加、改进,内部的功能需要调整,片上的存储空间受到了限制等等。-

4. FPGA: 它比较明显的缺点就是相对来讲成本较高,主要用于研发过程中或者市场量不会很大,FPGA在系统的整体价格中不敏感。一颗FPGA芯片的价格从低于1美元到几千美元不等,当然这是可以理解的,毕竟灵活性是靠高度的冗余带来的。它的好处是其它任何一种技术无法比拟的 - 它几乎可以做任何事情,你可以用它搭建多个微处理器,用它构建自己的乘、除法单元做出几个DSP来,而且这些处理器、DSP可以同时干活,并行工作,与此同时您还可以利用芯片内部未用的资源做很多辅助的功能,可以说是高度的灵活。-

以一个应用为例,今天的汽车电子也是以人为本,该领域的一个重要的技术热点就是“司机帮助(DA)”系统,它由超声、雷达、照相机以及激光等多种不同的传感器构成,这些不同的传感器在不同的时刻或者同一时刻把相应的信号采集下来,发往中央处理单元进行识别、运算、做出判断,帮助司机在倒车、高速行驶以及夜间行驶的时候能够对周围的环境在最短的时间内做出准确的判断并做出一系列的安全保护动作。如果采用微处理器或DSP对多传感器的信号进行处理,它们无法并行执行多个任务,并且同其他系统进行互联,因此就会造成系统的处理时间延迟,可靠性差,从而导致事故无法及时避免。如果采用ASIC呢?随着用户对功能要求的不断增加,对性能要求的不断升级,也就要求算法要不断的改进,显然采用ASIC无论从灵活性还是成本上都是不合算的。
zhangyukun 发表于 2019-12-5 14:00:49 | 显示全部楼层
浅谈FPGA的演进 优势
lixirui 发表于 2019-12-5 14:59:17 | 显示全部楼层
浅谈FPGA的演进 优势
雷磊 发表于 2022-6-24 15:55:27 | 显示全部楼层
FPGA芯片解密和解密方法
http://www.fpgaw.com/forum.php?m ... 7&fromuid=54563
(出处: fpga论坛|fpga设计论坛)
 楼主| dameihuaxia 发表于 2022-6-27 14:12:23 | 显示全部楼层
西安大唐电信_fpga经验谈
http://www.fpgaw.com/forum.php?m ... 7&fromuid=58166
(出处: fpga论坛|fpga设计论坛)
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-11-16 08:26 , Processed in 0.058748 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表