FPGA基础知识,应用,ASIC、ASSP区别(四)
一、ASIC与ASSP区别?
专用应用集成电路( ASIC) 是一种由电子组件组成的集成电路,例如 :晶体管、电容器、电阻器等,这些组件被植入到晶元上 ;晶元由硅或其他半导体材料组成,并可按照特定用途定制。话音记录器和高频比特币矿机都是 ASIC。多年来,集成电路的组件体积已经缩小,这意味着在相同空间的情况下,可制成复杂度更高的电路。由于组件体积的缩小,现在有些 ASIC 足够容纳多个微处理器以及其他复杂的子系统。
专用应用标准产品( ASSP) 则是专门针对特定应用市场的集成电路,可以销售给不止一个用户(因此才被称为“标准”),而 ASIC的设计和销售只针对单个客户。许多智能手机和平板电脑在核心位置安装的微控制器和系统芯片都是 ASSP。ASIC 和 ASSP 都是针对特定功能设计的。由于配置的严格控制,ASIC 和 ASSP 体积非常紧凑、成本低廉、速度快、功耗低,这些都是电子设计非常需要的特征。由于它们的功能在制造时已是硬连接,因此即便只是修改一小部分电路的功能,也并不容易。事实上,由于它们的电路永久性地植入到硅晶元上,因此您根本无法把它拆开,再换成其他线路。如果您需要修改已设计好的内容,只能放弃整个芯片,然后从头再来。
在FPGA的运算比在专用标准产品(ASSP)的微处理器更加简单快速和节能。
二、FPGA与ASIC区别?
(成本与灵活性)FPGA能够执行 ASIC 能够执行的任何逻辑功能。FPGA 的独特优势在于芯片制造完成之后,还能更新芯片功能,这在许多应用都是理想需求。FPGA 比 ASIC 更具成本效益,这是因为能够按照自身需求对 FPGA 进行编程。
(设计时间风险的降低与速度)现在最快的 FPGA 已经能够直接与上一代 ASIC 竞争。另外, FPGA 不仅降低了设计工作量,而且极大减少了风险。使用 FPGA 将缩短您的设计时间,降低发生设计错误的风险,并且总体拥有成本低于 ASIC。对于多数应用而言, FPGA 的功耗将能满足您的需要。
三、异构计算与平行计算?
计算架构的转变 :从多核CPU 转向异构计算。所谓“异构计算”,是指使用不止一个类型的处理器,实现一个具有专业处理能力的系统。例如,图形渲染系统就是一个异构计算系统,该系统使用 CPU 和 GPC(图形处理单元)在计算机上渲染三维图形。 GPU 尤其擅长渲染三维场景,以及在数学意义上,对大型数据集执行密集计算。 CPU 在后台工作,可以执行操作系统任务和数据联网任务。随着系统的整合,异构计算系统越来越标准化,并且必须包含几种不同的处理器架构。
平行计算是计算机具有的同时执行多个计算的能力,其原理是将大问题拆分成小问题,然后同时解决(即“平行计算”)。平行计算有多种形式 :比特级、指令级、数据及任务等。平行计算已不再局限于高性能计算,平行计算已成为计算机架构的主要范式,并且大都以多核处理器形式出现。“数据平行”,是将数据分散给多个处理器,这样就可平行执行。多核处理器的做法往往是:将一个程序的多个实例“分包”给各个处理器,以同时执行这些指令。所谓“任务平行”,是由一个处理器将计算机的代码块(线程)“分包”给不同处理器,以平行执行这些代码块。
四、FPGA应用?
(一)单设备电动控制器
多数电机控制系统都采用微控制器技术设计。然而,微控制器却不能满足复杂电机控制算法的性能需求,例如 :直接转矩控制( DTC)或无传感器磁场定向控制( SFOC)。过去,曾经使用数字信号处理器( DSP)克服这个问题,但当涉及高性能时,其成本效益通常无法与 FPGA 匹敌。可使用 FPGA 片上系统插入一个电机控制模块,该模块有两个独立控制的直流电机,以及一个简单的光反馈系统。 FPGA片上系统包含一个管理反馈信息和控制信号的内嵌处理器,这样两台电机可独立运动。该处理器读取反馈系统提供的数据,并且执行相关算法,实现两台电机之间的运动同步和转速控制。通过使用 FPGA 片上系统,您可搭建自己的 IP 组件,该 IP 组件定制方便,可在其他电机控件上运行。
(二)视频传输
电视广播站采用串行数字接口( SDI)标准,在 75 欧姆同轴电缆(与有线电视 / 卫星电视接收器和电视之间的电缆相同)上传输无压缩数字视频。每次视频图像质量改进,该标准都要扩容。最新标准被称为“ 3-Gbps (3G)-SDI”,能够在演播室内传输 4KultraHD 信号。伴随着这些变化, FPGA 也迎来另一个闪光点!FPGA 解决方案提供核心收发器,能够在同一台收发器上,兼容所有三种 SDI 速率( SD SDI、 HD SDI 以及 3G-SDI)。新的数字技术可帮助剪辑视频流、改进或修正画量,以及压缩图像,以供电缆或卫星线路传输。最新的压缩标准 H.265(也被称为“高效视频编解码标准”)极大减少了影视节目的编码位数。但是,该标准需要海量计算。许多设备供应商都发现,一边要把功能打包到一个片上系统,一边又要解决快速发展造成的压力⸺二种需求的再次组合, FPGA 是最佳解决方案。
(三)无线技术
许多 FPGA 都配备内嵌式低延时高级网络 IP 组件和产能强化工具,使得制造商能够利用 FPGA 的性能、功率、价格和产能优势,把精力主要放在产品差异化上,而不是对无线设施基本组件的机械式编程。
(四)自动驾驶辅助摄像头
前向摄像头系统由高速视频处理系统、复杂的传感器融合系统以及实时数据分析系统组成 ;当发生驾驶员打瞌睡或偏道等情况时,该系统可使车辆执行修正措施。前向摄像头结合了雷达和激光传感器等各类传感器实际功用。不需要 DSP 或微控制器,您可将整个摄像系统整合到一个单独的、低成本的 FPGA 片上系统。您可使用FPGA 逻辑开发硬件平行处理引擎,以及综合运用 FPGA 片上系统硬处理器系统的软件算法,以此提高系统性能。
(五)高性能计算
在高性能计算里,浮点是数字表示法,用一系列数字或数位表示真实数字。应用程序需要浮点数据类型,以获得比整数计算更为精确的计算结果。浮点运算需要更多的处理器逻辑,因此也需要更多能力。常见的浮点应用包括 :
快速傅里叶变换( FFT)
✓ 雷达
✓ 生物科学
✓ 有限冲击响应滤波器( FIR)
✓ 金融期权交易
✓ 矩阵数学(在三维图形和图像处理上广泛使用)
✓ 分子动力学
✓ 地震成像和医学成像
“协处理器”是用于补充主处理器或中央处理器( CPU)的计算机处理器。协处理器通常被用于执行浮点计算、信号处理、字符串处理、编码或与外围设备的 I/O 接口。协处理器负责密集型运算,从而解放了 CPU,使 CPU 能够专注于计算机的核心功能。
注:本文来源整理自《现场可编程门阵列FPGA for dummies》英特尔专版。
FPGA基础知识,应用,ASIC、ASSP区别(四)的更多相关文章
- FPGA基础知识了解
FPGA学习的一些误区 FPGA入门必看资源 FPGA百度百科 FPGA基础知识及其工作原理 高端设计工具为少有甚是没有硬件设计技术的工程师和科学家提供现场可编程门阵列(FPGA).无论你使用图形化设 ...
- FPGA基础知识关键点摘要
FPGA基础知识关键点摘要 一.组合逻辑和时序逻辑的区别:组合逻辑与输入直接实时相关,时序逻辑还必须在时钟上升沿出发后输出新值,有没有时钟输入是他们最大的区别!组合时序容易出现竞争冒险现象出现亚稳态, ...
- 我的 FPGA 学习历程(01)—— FPGA 基础知识和 Quartus 的安装
高级的嵌入式市场主要分为以下三类:ARM.DSP 和 FPGA. 其中 ARM 是行业内的佼佼者,目前几乎所有的安卓智能手机都使用 ARM 授权的 CPU架构:而 DSP(数字信号处理器) 早年就被大 ...
- Java基础知识二次学习--第四章 异常
第四章 异常处理 时间:2017年4月26日11:16:39~2017年4月26日11:28:58 章节:04章_01节 04章_02节 视频长度:20:46+01:16 内容:异常的概念 心得: ...
- FPGA基础知识1
1.乘法 在FPGA中,乘法运算可以分为 1)信号与信号之间的运算,用乘法器核实现: 2)常数与信号之间的运算,利用移位及加减法实现. A x 16 = A左移4位: A x 20 = A x 16 ...
- FPGA基础知识8(FPGA静态时序分析)
任何学FPGA的人都跑不掉的一个问题就是进行静态时序分析.静态时序分析的公式,老实说很晦涩,而且总能看到不同的版本,内容又不那么一致,为了彻底解决这个问题,我研究了一天,终于找到了一种很简单的解读办法 ...
- Java基础知识➣序列化与反序列化(四)
概述 Java 提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据.有关对象的类型的信息和存储在对象中数据的类型. 将序列化对象写入文件之后,可以从文件 ...
- 多线程基础知识---sleep和wait区别
1.sleep()是Thread类的静态方法:wait()是Object的成员方法 2.sleep()可以在任何地方使用;wait()只能在同步方法或代码块中使用
- 如何学习FPGA?FPGA学习必备的基础知识
如何学习FPGA?FPGA学习必备的基础知识 时间:2013-08-12 来源:eepw 作者: 关键字:FPGA 基础知识 FPGA已成为现今的技术热点之一,无论学生还是工程师都希望 ...
随机推荐
- Anaconda套件,精簡版miniconda
雖然Anaconda會預先安裝豐富的套件模組,尤其是在數據科學領域方面,有非常豐富的寶藏, 大多範例或教學或許為了節省後續的麻煩,不解釋為什麼,直接就安裝Anaconda 就對了: 但是大部份的模組套 ...
- Vim快捷输出查找寄存器的内容(去除\<,\>和\V)
Vim自带的*搜索会自动在单词两头加上\<和\>,使用第三方的vnoremap *,则是加上前缀\V, 当我们想要输出刚刚搜索的内容时可用<C-r>/,但是很可能会带上多余的符 ...
- git-day1-安装和基础使用
Git介绍 Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件 ...
- YII2.0安装教程,数据库配置前后台 [ 2.0 版本 ]
1.首先下载yii-advanced-app-2.0.6.tgz 2.解压到D:\wamp\www\yii2目录下面将目录advanced下所有文件剪切到 D:\wamp\www\yii2 3.打开c ...
- CentOS 7 Nginx+PHP环境搭建!
1.Nginx 安装 rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx. ...
- SAP S/4HANA销售订单创建时,会自动触发生产订单的创建
这个自动触发的过程是怎么实现的? 使用下面的代码创建一个销售订单: DATA: ls_header TYPE bapisdhd1, ls_headerx TYPE bapisdhd1x, lt_bap ...
- C语言main函数的参数
在Windows下使用gcc编译器: 1.首先介绍下MinGW MinGW(Minimalist GNU for Windows),又称mingw32,是将GCC编译器和GNU Binutils移植到 ...
- 移动端适配插件(flexible.js)
;(function(win, lib) { var doc = win.document; var docEl = doc.documentElement; var metaEl = doc.que ...
- MQ--API总结
研究MQ很长时间了, 每个类,方法,都查了很长时间,在此总结一下! Java编写访问MQ的程序 1.MQQueueManager―――队列管理器访问类 常用方法: public MQQueueMan ...
- sort给文件按照大小排序
ls -l|sort -n -k5 -n 表示以数值排序-k5 表示以第几列排序还可以用 -t参数指定行内容的分隔符 参考链接:http://www.cnblogs.com/myd620/p/6002 ...