2023-11-10 14:40来源:m.sf1369.com作者:宇宇
由于现在大容量的FPGA越来越多地被用来做数据处理,也就需要输入输出有很大的吞吐量。如果采用并行处理就会需要很多的IO管脚,PCB布线也很麻烦。所以现在FPGA集成了高速串行接口,一条通路最高可以跑6.5G以上,还可以几条通路捆绑使用已达到更高的速度。
FPGA是英文Field-Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。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的使用非常灵活。
1.首先“处理如IP分片重组,解压缩以及数据包纠序时性能很低很低”,我不这么认为的。
2.看看CPU运行,它要经历 取指令-取数据-执行指令 这么几个过程,同时这几个过程同样是利用硬件完成的,那么从本质上说,软件的执行同样是硬件电路运行的结果。
3.有些看法中认为CPU执行速度快,因此相比FPGA来说性能高。其实FPGA的优势在于其并行处理的能力和流水线操作方式,原理上应该比软件快很多。就好比利用了很多个CPU同时处理数据,而且省却了很多无用的操作,例如取数据等。
4.“处理如IP分片重组,解压缩以及数据包纠序时性能很低很低”的观点出现主要是因为FPGA进行数据处理的设计难度大于软件设计。就好比利用CPP编写解压缩和利用机器码设计解压缩,后者明显难很多,而且和设计者的水平关系很大。同时如何设计内存接口也很关键。
5.所谓流水线的概念你可以想象一下汽车生产线。生产线上有很多个工位,同时进行着相关的加工生产,原料由生产线一段进入,经过流水线一步一步完成相应的加工工序。流水线的好处在于数据吞吐量很大,缺点是数据加工的时间较长。就像汽车生产线,一分钟可以出厂一辆汽车,但是由原料到汽车的过程却远远大于1分钟。
现在主流的嵌入式处理器
FPGA:Field-Programmable Gate Array(现场可编程逻辑阵列)
DSP:Digital Signal Processing(数字信号处理)
ARM:Advanced RISC Machines
学哪一种都挺有前途
能做出全世界最快的cpu和显卡,每当台积电新工艺成熟时如28nm,第一个使用的就是FPGA,用FPGA来模拟新一代显卡,试运行硬件芯片内部电路图的代码,就是硬件仿真,不能通过再修改方案,但是也没有100倍,1000倍的说法,因为受制于台积电工艺,以及价格,良率,散热,以及下游厂商设计考虑(用不着那么大的芯片),不可能有厂家让FPGA芯片有脸盆那么大,所以仅仅能比显卡和cpu面积大数倍,这才能仿真下一代显卡,一般台积电工艺成熟后需要3个月至半年后才有下一代的显卡和手机cpu芯片问世