FPGA介绍
时间:2023-04-12 05:07:00
转载:http://www.elecfans.com/tags/fpga/
fpga简介
FPGA(Field-Programmable Gate Array),即现场可编程门阵列,在PAL、GAL、CPLD在可编程器件的基础上进一步发展的产物。它是一种特殊的集成电路(ASIC)该领域的半定制电路不仅解决了定制电路的不足,而且克服了原可编程器件门电路数量有限的缺点。
fpga特性
FPGA是专用集成电路(ASIC)该领域的半定制电路不仅解决了定制电路的不足,而且克服了原可编程器件门电路数量有限的缺点。
开发
FPGA与传统相比,发展PC、单片机的开发差别很大。FPGA以并行操作为主,用硬件描述语言实现;与PC或者单片机(无论是冯诺依曼结构还是哈佛结构)的顺序操作差别很大,也造成了FPGA很难开发。目前国内有专业FPGA北京中科鼎桥等外包开发厂家ZKDQ-TECH]等。FPGA开发需要从顶层设计、模块分层、逻辑实现、软硬件调试等方面入手。
工作原理
FPGA采用逻辑单元阵列LCA(Logic Cell Array)这样的概念包括可配置的逻辑模块CLB(Configurable Logic Block)、输入输出模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。 现场可编程门阵列(FPGA)与传统器件与传统的逻辑电路和门阵列(如PAL,GAL及CPLD与设备相比,FPGA结构不同。FPGA使用小型搜索表(16)×1RAM)为了实现组合逻辑,每个搜索表连接到D触发器的输入端,触发器驱动其他逻辑电路或驱动I/O,这构成了一个基本的逻辑单元模块,可以实现组合逻辑功能和时序逻辑功能。这些模块通过金属连接相互连接或连接I/O模块。FPGA逻辑是通过向内部静态存储单元加载编程数据来实现的。存储在存储单元中的值决定了逻辑单元的逻辑功能以及模块之间或模块之间的逻辑功能I/O连接方式最终决定了FPGA可实现的功能,FPGA允许无限编程。
电源类型
FPGA输出电压范围为1.2V到5V,输出电流范围从数十毫安到数安培。有三种电源:低压差(LDO)线性稳压器,开关式DC-DC稳压器和开关式电源模块。最终选择何种电源取决于系统、系统预算和上市时间要求。
如果电路板空间是首要考虑因素,低输出噪声非常重要,或者系统需要快速响应输入电压变化和负载变化,则应使用LDO稳压器。LDO功效低(因为是线性稳压器),只能提供中低输出电流。通常可以减少输入电容LDO输入电感和噪声。LDO输出端还需要电容器来处理系统的瞬变,并保持系统的稳定性。双输出也可以使用LDO,同时为VCCINT和VCCO供电。
如果效率在设计中非常重要,系统需要高输出电流,则开关稳压器具有优势。开关电源的效率高于LDO,但其开关电路会增加输出噪声。LDO不同的是,开关式稳压器需要电感来实现DC-DC转换。
fpga应用
电路设计
连接逻辑,控制逻辑FPGA早期发挥重要作用的领域也是FPGA应用的基石.事实上在电路设计中应用FPGA开发还是比较大的,这就要求开发者具备相应的硬件知识(电路知识)和软件应用能力(开发工具)人才总是短缺,经常从事新技术。成功开发新产品的产品将成为产品设计师在不久的将来应用的市场主流基础产品IP设计将成为热门行业!从事电路设计的前提是必须有一定的硬件知识。在这个层面上,工作比学习更重要,当然,快速开始是非常重要的,座位越好,电路开发就越不等人是一个黄金工作。
产品设计
将相对成熟的技术应用于通信、视频、信息处理等特定领域,开发满足行业需求、能够被行业客户接受的产品FPGA技术与专业技术的结合,以及与专业客户的界面问题。产品设计还包括专业工具产品和民用产品。前者以性能为重点,后者以实现产品功能为主要目的,FPGA在这一领域,技术是一种实现手段,FPGA由于接口、控制、功能IP,内嵌CPU有条件实现结构简单、固化程度高、功能全面的系统产品设计FPGA技术应用最广泛的市场,爆炸性需求空间产品设计对技术人员要求较高,这条路相对较长,但现在整个行业都处于形成首发团队的状态。只要你加入,光明的未来产品设计是一个专业的发展方向定位,而不是一个简单的爱好!产品设计领域将创造大量的企业家和企业家,这是发展的热点和机遇。
系统级
系统级应用是FPGA结合传统计算机技术,实现一种FPGA如果使用版本的计算机系统Xilinx V-4,V-5系列的FPGA,实现内嵌POWER PC CPU,然后配合各种外围功能,在这个平台上实现基本环境LINUX等系统,该系统还支持各种标准外设和功能接口(如图像接口)的快速构成FPGA大型系统来讲是很有帮助的。这种山寨味浓郁的系统早期优势不一定明显,类似ARM系统的境况但若能慢慢发挥出FPGA逐步实现一些特色系统也是一种发展方向。如果在系统级应用中,开发人员没有系统扩展开发能力,但编程没有意义,当然,设备驱动程序开发是另一种情况,系统级应用似乎起点高,但没有深度开发能力,可能成为爱好者,如很多人会做网页但不能称为编程。如果在系统级应用中,开发人员没有系统扩展开发能力,但编程没有意义,当然,设备驱动程序开发是另一种情况,系统级应用似乎起点高,但没有深度开发能力,很可能成为爱好者,如很多人会做网页但不能称为编程。以上是一些个人观点,我希望能帮助我想学习FPGA但是很茫然的人理一理思路。这是个好行业,有很好的个人成功机会。但也一定是一个竞争激烈的行业,关键在于速度、深度和市场适应性。
转载:https://blog.csdn.net/baidu_37973494/article/details/82926464
对初学者的FPGA选型建议
前言已经说得很清纯,虽然话是这样说,但是对于一个初学者来说,选择一款适合学习的FPGA是整个FPGA学习生涯的唯一途径。个人建议选择FPGA要抓住以下原则:
1.选择主流厂商的流行型号,更容易获得学习资源。
选择主流公司FPGA芯片:目前国内主流是Xilinx以及Altera(Intel)。获取信息最方便的方法是这些制造商的官方网站(http://www.altera.com.cn/,http://china.xilinx.com/)。一般来说,官方网站会根据产品系列或应用程序列出所有产品,并直观地告诉您系列产品的应用程序。比如在ALTERA该网站将明确标明其三类FPGA高端产品Stratix系列,中端Arria系列和低成本Cyclone系列。
2.选择性价比高的。FPGA芯片
1) Xilinx 的主流FPGA分为两类,一类侧重于低成本应用,容量中等,性能能能满足一般逻辑设计要求,如Spartan系列;还有一种高性能应用,容量大,性能满足各种高端应用,如Virtex系列。
2) Altera 的主流FPGA分为两类,一类侧重于低成本应用,容量中等,性能可满足一般逻辑设计要求,如Cyclone系列;还有一种侧重于高性能应用,容量大,性能能满足各类高端应用,如Startix系列。
用户可以根据自己的实际应用程序要求进行选择。当性能满足时,优先考虑低成本设备。对于初学者,我建议选择Xilinx的Spartan系列或者Altera的Cyclone系列。
3.选择学习资源较多的学习资源FPGA开发板
1)对于Cyclone系列:推荐选择Cyclone IV E系列。因为Cyclone IV E学习资源多,如黑金fpga开发板Cyclone IV EP4CE15有一整套视频和一系列学习笔《FPGA那些事。黑金开发板对应的社区论坛有:黑金动力社区。其实黑金动力社区也有Xilinx的spartan6系列的开发板。市场上也有华清远见的培训机构Cyclone系列产品。明德样FPGA还有培训机构Cyclone系列和spartan6系列开发板和学习资源。
从上图可以看出,学习时最好选择一个不是很旧也不是很新的系列。建议选择Cyclone IV。Cyclone IV分为Cyclone IV E和Cyclone IV GX(有兴趣的可以去官网查看两者的详细区别)。官网查看片上的资源如下图所示,选择芯片时可以查看。
2)对于Xilinx的spartan系列:推荐选择spartan 6.选择原因如下:
1.首先,一些高校现在已经开设了fpga使用课程spartan 6。主要原因也是因为这个系列fpga对于初学者来说,芯片更容易上手,在市场上使用spartan6系列芯片作为核心芯片fpga还有很多开发,也有很多培训机构使用这个系列的芯片开发板。总的来说,spartan6系列在线学习资源相对丰富。比如红飓风spartan使用了6系列开发板spartan6-XC6SLX16芯片
2、spartan 六是划时代的产品,如下图所示spartan 6是45nm,这不是我想说的。我想说的是:Xilinx公司的spartan 6系列和更早推出fpga开发环境使用系列芯片EAD是ISE,而spartan6系列后新推出fpga芯片利用开发环境EDA是vivido。其实两个开发EDA大同小异。但是,为了学习的全面性,建议初学者选择spartan6以及ISE。入门后再转vivado也是鱼得水的事。
与Cyclone IV分为Cyclone IV E和Cyclone IV GX相似,spartan-6也分为spartan-6 LX系列已经spartan-6 LXT下面给出系列spartan-6 LX电影系列资源(这些都是从官网截图下来的,感兴趣的朋友可以去官网查阅)
从上图来看,根据资源是否足够的原则,可以选择片上资源适中的,比如XC6SLX45,如果对片上资源要求不是那么大,也可以选择XC6SLX尽量不要选择XC6SLX4或者XC6SLX9.因为资源太少,不利于以后的扩张。以上是我对初学者的选择FPGA一些建议。
对于一个FPGA高手而言
选择具体的FPGA芯片型号及包装时,应综合考虑以下几个方面:
以下三点来自网友:https://blog.csdn.net/wh8007/article/details/9566761?utm_source=copy
1,片上资源,主要依据表1给出的信息。要根据设计的大小选择合适的片上资源。这个是比较难确定的一个参数,自己做的设计到底有多大,需要多少片上资源,很难一下子确定下来。比较推荐的一个方式是先拿之前的设计去综合后映射到某一个芯片上,看看需要占用多少的片内资源,然后评估要做的新的设计跟之前的大小,做换算后得到需要片上资源的数量。另外的一种方式就是先完成新的设计,直接综合出来映射到不同型号的芯片上,然后评估哪一种芯片合适。还有一个需要注意的地方就是,不能选择片上资源刚刚够用的芯片,要留有一定的余量,以便于后期设计错误的修正和升级。
2,选择封装,主要需要在两个方面考量,第一个就是可用的I/O口的数量。第二个就是封装的尺寸。I/O数量是一个必要的条件,先要根据这个条件筛选出可以用的芯片。然后在筛选出来的芯片中,再根据封装类型,尺寸和pitch尺寸选择合适的芯片。在封装尺寸符合要求的情况下,尽量选择有利于PCB设计和生产的封装。比如如果有TQFP封装的芯片,尺寸又符合项目的需求,那么就不要选择BGA封装的。对于BGA封装的芯片,如果有pitch为1.0mm的可以满足要求,就不要选择pitch为0.5mm的。这直接影响到PCB设计难度,制造成本和良率。
3,速度等级,速度等级是一个相对比较独立的参数。要根据实际设计所能综合出来的最高运行频率和需求的运行频率做比较,尽量选用速度等级比较慢的芯片。当所有的速度等级都不能满足需要的时候,更多的要从优化设计的角度来提高设计本身所能达到的最高运行频率。
————————————————
版权声明:本文为CSDN博主「aoxiang_ywj」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/baidu_37973494/article/details/82926464