FPGA技术的发展历史和动向
本文关键字:fpga技术,fpga发展, fpga培训,FPGA应用开发入门与典型实例
一、FPGA技术的发展历史
纵观数字集成电路的发展历史,经历了从电子管、晶体管、小规模集成电路到大规模以及超大规模集成电路等不同的阶段。发展到现在,主要有3类电子器件:存储器、处理器和逻辑器件。
存储器保存随机信息(电子数据表或数据库的内容);处理器执行软件指令,以便完成各种任务(运行数据处理程序或视频游戏);而逻辑器件可以提供特殊功能(器件之间的通信和系统必须执行的其他所有功能)。
逻辑器件分成两类:
① 固定的或定制的。
② 可编程的或可变的。
其中,固定的或定制的逻辑器件通常称为专用芯片(ASIC)。ASIC是为了满足特定的用途而设计的芯片,例如MP3解码芯片等。其优点是通过固化的逻辑功能和大规模的工业化生产,降低了芯片的成本,同时提高了产品的可靠性。随着集成度的提高,ASIC的物理尺寸也在不断的缩小。
但是,ASIC设计的周期很长,而且投资大,风险高。一旦设计结束后,功能就固化了,以后的升级改版困难比较大。电子产品的市场正在逐渐细分,为了满足快速产品开发,产生了现场可编程逻辑器件(FPGA)。
自1984年Xilinx公司推出了第一片现场可编程逻辑器件(FPGA)至今,FPGA已经历了20几年的快速发展历程。特别是近几年来,更是发展迅速。FPGA的逻辑规模已经从最初的1000个可用门发展到现在的1000万个可用门。
FPGA技术之所以具有巨大的市场吸引力,其根本原因在于:FPGA不仅可以解决电子系统小型化、低功耗、高可靠性等问题,而且其开发周期短、投入少,芯片价格不断下降。FPGA正在越来越多地取代传统上ASIC,特别是在小批量、个性化的产品市场方面。
二、FPGA技术的发展动向
随着芯片设计工艺水平的不断提高,FPGA技术呈现出了以下4个主要的发展动向。
1.基于FPGA的嵌入式系统(SoPC)技术正在成熟
System on Chip(SoC)技术在芯片设计领域被越来越广泛地采用,而SoPC技术是SoC技术在可编程器件领域的应用。这种技术的核心是在FPGA芯片内部构建处理器。Xilinx公司主要提供基于Power PC的硬核解决方案,而Altera提供的是基于NIOSII的软核解决方案。
Altera公司为NIOSII软核处理器提供了完整的软硬件解决方案,可以让客户短时间完成SoPC系统的构建和调试工作。
如图1所示,是Altera Stratix III FPGA基于NIOS II解决方案的内部结构图。
图1 NIOS II解决方案
2.FPGA芯片向高性能、高密度、低压和低功耗的方向发展
随着芯片生产工艺不断提高,FPGA芯片的性能和密度都在不断提高。早期的FPGA主要是完成接口逻辑设计,比如AD/DA和DSP的粘合逻辑。现在的FPGA正在成为电路的核心部件,完成关键功能。
在高性能计算和高吞吐量I/O应用方面,FPGA已经取代了专用的DSP芯片,成为最佳的实现方案。因此,高性能和高密度也成为衡量FPGA芯片厂家设计能力的重要指标。
随着FPGA性能和密度的提高,功耗也逐渐成为了FPGA应用的瓶颈。虽然FPGA比DSP等处理器的功耗低,但是要明显高于专用芯片(ASIC)的功耗。FPGA的厂家也在采用各种新工艺和技术来降低FPGA的功耗,并且已经取得了明显的效果。
例如,Altera公司的StratixIII系列FPGA的功耗比上一代产品StratixII系列降低了50%以上。
3.基于IP库的设计方法
未来的FPGA芯片密度不断提高,传统的基于HDL的代码设计方法很难满足超大规模FPGA的设计需要。随着专业的IP库设计公司不断增多,商业化的IP库种类会越来越全面,支持的FPGA器件也会越来广泛。
作为FPGA的设计者,主要的工作是找到适合项目需要的IP库资源,然后将这些IP整合起来,完成顶层模块设计。由于商业的IP库都是通过验证的,因此整个项目的仿真和验证工作主要就是验证IP库的接口逻辑设计的正确性。
目前,由于国内的知识产权保护的相关法律法规还不尽完善,基于IP库的设计方法还没有得到广泛应用。但是随着FPGA密度不断提高和IP库的价格逐渐趋于合理化,这种设计方法将会成为主流的FPGA设计技术。
4.FPGA的动态可重构技术
FPGA动态重构技术主要是指对于特定结构的FPGA芯片,在一定的控制逻辑的驱动下,对芯片的全部或部分逻辑资源实现高速的功能变换,从而实现硬件的时分复用,节省逻辑资源。
由于密度不断提高,FPGA能实现的功能也越来越复杂。FPGA全部逻辑配置一次的需要的时间也变长了,降低了系统的实时性。局部逻辑的配置功能可以实现“按需动态重构”,大大提高了配置的效率。
动态可重构的FPGA可以在系统运行中对电路功能进行动态配置,实现硬件的时分复用,节省了资源,主要适用于以下两个系统设计。
① 最新通信系统。
FPGA的动态重构特性可以适应不同体制和不同标准的通信要求,满足软件无线电技术的发展和第三代(3G)和第四代(4G)移动通信系统的需要。
② 重构计算机:
FPGA具有并行处理能力和动态配置能力,可自动改变硬件来适应正在运行的程序,产生了基于这种软硬件环境的全新概念的计算机。
本文选自华清远见FPGA培训教材《FPGA应用开发入门与典型实例》
FPGA技术的发展历史和动向的更多相关文章
- 为什么会出现container、injection技术?发展历史及未来发展趋势
container 原因: 随着软件开发的发展,相比于早期的集中式应用部署方式,现在的应用基本都是采用分布式的部署方式,一个应用可能包含多种服务或多个模块,因此多种服务可能部署在多种环境中,如虚拟服务 ...
- Erlang cowboy 入门参考之现代Web的发展历史
Erlang cowboy 入门参考之现代Web发展史 原文: http://ninenines.eu/docs/en/cowboy/1.0/guide/modern_web/ 让我回顾一下web技术 ...
- Spring项目的发展历史和SpringBoot的发展历史
Spring项目的发展历史和SpringBoot的发展历史 在Java做web应用的服务端开发领域,一直存在着两套技术体系,一套是Sun公司官方推出的JavaEE,另一套是Spring.Spring ...
- Web开发技术发展历史
Web开发技术发展历史 来自:天码营 原文:http://www.tianmaying.com/tutorial/web-history Web的诞生 提到Web,不得不提一个词就是"互 ...
- 【转载】Web开发技术发展历史-版本1
原文在这里. Web开发技术发展历史 Web的诞生 提到Web,不得不提一个词就是“互联网”.Web是World Wide Web的简称,中文译为万维网.“万维网”和我们经常说的“互联网”是两个联系极 ...
- 区块链学习笔记:D02 区块链的技术发展历史和趋势
对于区块链的技术发展历史,其实在我的印象中也就对比特币有所了解,也听过什么火币之类的玩意,但是具体是什么.怎么运作的就不清楚了... 这次的内容首先是讲解了区块链的技术演进,一张图一目了然,虽然里面涉 ...
- Web开发的发展历史
了解一下Web开发相关的历史,相关技术的演进历程,知其前世今生,非常有助于加深Web开发相关技术的理解和认识. 下面是对网上几篇相关文章的总结和摘要: 1. Web开发的发展史 对过去的15年来,We ...
- CentOS以及Oracle数据库发展历史及各版本新功能介绍, 便于构造环境时有个对应关系
CentOS版本历史 版本 CentOS版本号有两个部分,一个主要版本和一个次要版本,主要和次要版本号分别对应于RHEL的主要版本与更新包,CentOS采取从RHEL的源代码包来构建.例如CentOS ...
- 软件项目发展历史<人月神话>这本书好
几乎是计算机软件开发的发展历史 人月神话,增加人手并不一定能提高开发速度. 原因在于,有些任务是无法分解的,存在先后顺序.无法同步进行. 增加人手,增加的是沟通成本,相互牵制.可以分解的任务就 ...
随机推荐
- Spring XML配置文件示例(二)——web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_ID" ...
- Jquery easy UI 上中下三栏布局 分类: ASP.NET 2015-02-06 09:19 368人阅读 评论(0) 收藏
效果图: 源代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w ...
- phpcms-v9系统搭建wap网站及单页面
如需要绑定域名为wap.domain.com,作下如操作: 一.把wap.domain.com域名绑定到你的这个网站主机上. 二.在网站后台——模块——手机门户域名里面填写“http://wap.do ...
- memset中的sizeof
记录memset中的sizeof的用法, unsigned char *buff = (unsigned char*) malloc(128 * sizeof(char)); //错误的:memset ...
- HDU 2222 Keywords Search (AC自动机)
题意:给你一些模式串,再给你一串匹配串,问你在匹配串中出现了多少种模式串,模式串可以相同 AC自动机:trie树上进行KMP.首先模式串建立trie树,再求得失配指针(类似next数组),其作用就是在 ...
- POJ 2002 统计正方形 HASH
题目链接:http://poj.org/problem?id=2002 题意:给定n个点,问有多少种方法可以组成正方形. 思路:我们可以根据两个点求出对应正方形[有2个一个在两点左边,一个在两点右边] ...
- POJ 2201 Cartesian Tree ——笛卡尔树
[题目分析] 构造一颗笛卡尔树,然后输出这棵树即可. 首先进行排序,然后用一个栈维护最右的树的节点信息,插入的时候按照第二关键字去找,找到之后插入,下面的树成为它的左子树即可. 然后插入分三种情况讨论 ...
- Dapper ORM 用法—Net下无敌的ORM(转)
假如你喜欢原生的Sql语句,又喜欢ORM的简单,那你一定会喜欢上Dapper这款ROM.点击下载Dapper的优势:1,Dapper是一个轻型的ORM类.代码就一个SqlMapper.cs文件,编译后 ...
- sed 字符串替换
1. sed替换的基本语法为: sed 's/原字符串/替换字符串/' 单引号里面,s表示替换,三根斜线中间是替换的样式,特殊字符需要使用反斜线”\”进行转义. 2. 单引号” ‘ ’”是没有办法用反 ...
- 点击 Run 之后发生了什么?
这是我以前去链家网面试的一个题目,当时回答不够全面,现在看了2016 WWDC以及Sunnyxx iDev大会的分享之后,感觉对这个问题有了一些简单的认识,就来总结下.如果大家有补充,麻烦评论下哦! ...