ASIC全称: Application Specific Integrated Circuit
简介,定制,设计,成本评述, 简介 目前,在集成电路界ASIC被认为是一种为专门目的而设计的积体电路。是指应特定用户要求和特定电子系统的需要而设计、制造的集成电路。ASIC的特点是面向特定用户的需求,ASIC在批量生产时与通用集成电路相比具有体积更小、功耗更低、可靠性提高、性能提高、保密性增强、成本降低等优点。 ASIC晶片 定制 ASIC分为全定制和半定制。全定制设计需要设计者完成所有电路的设计,因此需要大量人力物力,灵活性好但开发效率低下。如果设计较为理想,全定制能够比半定制的ASIC晶片运行速度更快。半定制使用库里的标准逻辑单元(Standard Cell),设计时可以从标准逻辑单元库中选择SSI(门电路)、MSI(如加法器、比较器等)、数据通路(如ALU、存储器、汇流排等)、存储器甚至系统级模组(如乘法器、微控制器等)和IP核,这些逻辑单元已经布局完毕,而且设计得较为可靠,设计者可以较方便地完成系统设计。 现代ASIC常包含整个32-bit处理器,类似ROM、RAM、EEPROM、Flash的存储单元和其他模组. 这样的ASIC常被称为SoC(片上系统)。 FPGA是ASIC的近亲,一般通过原理图、VHDL对数字系统建模,运用EDA软体仿真、综合,生成基于一些标准库的网路表,配置到晶片即可使用。它与ASIC的区别是用户不需要介入晶片的布局布线和工艺问题,而且可以随时改变其逻辑功能,使用灵活。 设计 ASIC的设计方法和手段经历了几十年的发展演变,从最初的全手工设计发展到现在先进的可以全自动实现的过程。这也是近几十年来科学技术,尤其是电子信息技术发展的结果。从设计手段演变的过程划分,设计手段经历了手工设计、计算机辅助设计(ICCAD)、电子设计自动化EDA、电子系统设计自动化ESDA以及用户现场可程式器阶段。集成电路制作在只有几百微米厚的原形矽片上,每个矽片可以容纳数百甚至成千上万个管芯。集成电路中的电晶体和连线视其复杂程度可以由许多层构成,目前最复杂的工艺大约由6层位于矽片内部的扩散层或离子注入层,以及6层位于矽片表面的连线层组成。就设计方法而言,设计集成电路的方法可以分为全定制、半定制和可程式IC设计三种方式。 ASIC完备指南 全定制设计 全定制ASIC是利用集成电路的最基本设计方法(不使用现有库单元),对积体电路中所有的元器件进行精工细作的设计方法。全定制设计可以实现最小面积,最佳布线布局、最优功耗速度积,得到最好的电特性。该方法尤其适宜于模拟电路,数模混合电路以及对速度、功耗、管芯面积、其它器件特性(如线性度、对称性、电流容量、耐压等)有特殊要求的场合;或者在没有现成元件库的场合。特点:精工细作,设计要求高、周期长,设计成本昂贵。 由于单元库和功能模组电路越加成熟,全定制设计的方法渐渐被半定制方法所取代。在现在的IC设计中,整个电路均采用全定制设计的现象越来越少。全定制设计要求:全定制设计要考虑工艺条件,根据电路的复杂和难度决定器件工艺类型、布线层数、材料参数、工艺方法、极限参数、成品率等因素。需要经验和技巧,掌握各种设计规则和方法,一般由专业微电子IC设计人员完成;常规设计可以借鉴以往的设计,部分器件需要根据电特性单独设计;布局、布线、排版组合等均需要反复斟酌调整,按最佳尺寸、最合理布局、最短连线、最便捷引脚等设计原则设计版图。版图设计与工艺相关,要充分了解工艺规范,根据工艺参数和工艺要求合理设计版图和工艺。 半定制设计方法 半定制设计方法又分成基于标准单元的设计方法和基于门阵列的设计方法。 基于标准单元的设计方法是:将预先设计好的称为标准单元的逻辑单元,如与门,或门,多路开关,触发器等,按照某种特定的规则排列,与预先设计好的大型单元一起组成ASIC。基于标准单元的ASIC又称为CBIC(CellbasedIC)。 基于门阵列的设计方法是在预先制定的具有电晶体阵列的基片或母片上通过掩膜互连的方法完成专用积体电路设计。半定制相比于全定制,可以缩短开发周期,降低开发成本和风险。 1.基于标准单元的设计方法 该方法采用预先设计好的称为标准单元的逻辑单元,如门电路、多路开关、触发器、时钟发生器等,将它们按照某种特定的规则排列成阵列,做成半导体门阵列母片或基片,然后根据电路功能和要求用掩膜版将所需的逻辑单元连线成所需的专用积体电路。 单元库中所有的标准单元均采用定制方法预先设计,如同搭积木或砌墙一样拼接起来,通常按照等高不等宽的原则排列,留出宽度可调的布线通道。CBIC的主要优、缺点:※用预先设计、预先测试、预定特性的标准单元库,省时、省钱、少风险地完成ASIC设计任务。※设计人员只需确定标准单元的布局以及CBIC中的互连。※标准单元可以置放于晶片的任何位置。※所有掩膜层是定制的;※可内嵌定制的功能单元;※制造周期较短,开发成本不是太高。※需要花钱购买或自己设计标准单元库;※要花较多的时间进行掩膜层的互连设计。 2.基于门阵列的ASIC门阵列 是将电晶体作为最小单元重复排列组成基本阵列,做成半导体门阵列母片或基片,然后根据电路功能和要求用掩膜版将所需的逻辑单元连线成所需的专用积体电路。用门阵列设计的ASIC中,只有上面几层用作电晶体互连的金属层由设计人员用全定制掩膜方法确定,这类门阵列称为掩膜式门阵列MGA(maskedgatearray)。门阵列中的逻辑单元称为宏单元,其中每个逻辑单元的基本单元版图相同,只有单元内以及单元之间的互连是定制的。客户设计人员可以从门阵列单元库中选择预先设计和预定特性逻辑单元或宏单元,进行定制的互连设计。门阵列主要适合于开发周期短,低开发成本的小批量数字电路设计。 可程式器件的ASIC设计 可程式ASIC是专用集成电路发展的另一个有特色的分支,它主要利用可程式的积体电路如PROM,GAL,PLD,CPLD,FPGA等可程式电路或逻辑阵列编程,得到ASIC。其主要特点是直接提供软体设计编程,完成ASIC电路功能,不需要再通过积体电路工艺线加工。 可程式器件的ASIC设计种类较多,可以适应不同的需求。其中的PLD和FPGA是用得比较普遍得可程式器件。适合于短开发周期,有一定复杂性和电路规模的数字电路设计。尤其适合于从事电子系统设计的工程人员利用EDA工具进行ASIC设计。 成本评述 ASIC设计需要根据电路功能和性能要求,选择电路形式、器件结构、工艺方案和设计规则,尽量减小晶片面积、降低设计成本、缩短设计周期,最终设计出正确、合理的掩膜版图,通过制版和工艺流片得到所需的积体电路。 从经济学的角度看,ASIC的设计要求是在尽可能短的设计周期内,以最低的设计成本获得成功的ASIC产品。但是,由于ASIC的设计方法不同,其设计成本也不同。 全定制设计周期最长,设计成本贵,设计费用最高,适合于批量很大或者对产品成本不计较的场合。 半定制的设计成本低于全定制,但高于可程式ASIC,适合于有较大批量的ASIC设计。 用FPGA设计ASIC的设计成本最低,但晶片价格最高,适合于小批量ASIC产品。 现在的大部分ASIC设计都是以半定制和FPGA形式完成的。半定制和FPGA可程式ASIC设计的元件成本比较:CBIC元件成本IC价格的2-5倍。但是半定制ASIC必须以数量取胜,否者,其设计成本要远远大于FPGA的设计成本。ASIC设计生产不单单要考虑元件成本,ASIC元件的批量大小、生产周期的长短,产品利润、产品寿命等等因素,也是决定采取哪种设计方法、生产工艺和成本限制的重要因素。姓名:任佩怡 学号:19020100348 学院:电子工程学院
转自:https://blog.csdn.net/qq_18597483/article/details/106649227?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162849450116780357280058%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=162849450116780357280058&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v29-29-106649227.first_rank_v2_pc_rank_v29&utm_term=FPGA&spm=1018.2226.3001.4187
【嵌牛导读】对于专业人士来说,FPGA并不陌生,它一直都被广泛使用。但是,大部分人还不是太了解它,对它有很多疑问——FPGA到底是什么?为什么要使用它?相比CPU、GPU、ASIC(专用芯片),FPGA有什么特点?……
【嵌牛鼻子】FPGA, CPU, GPU, ASIC
【嵌牛提问】FPGA, CPU, GPU, ASIC的区别及FPGA的过人之处
【嵌牛正文】
二、微软部署 FPGA 的实践
2016 年 9 月,《连线》(Wired)杂志发表了一篇《微软把未来押注在 FPGA 上》的报道 [3],讲述了 Catapult 项目的前世今生。
紧接着,Catapult 项目的老大 Doug Burger 在 Ignite 2016 大会上与微软 CEO Satya Nadella 一起做了 FPGA 加速机器翻译的演示。
演示的总计算能力是 103 万 T ops,也就是 1.03 Exa-op,相当于 10 万块顶级 GPU 计算卡。一块 FPGA(加上板上内存和网络接口等)的功耗大约是 30 W,仅增加了整个服务器功耗的十分之一。
Ignite 2016 上的演示:每秒 1 Exa-op (10^18) 的机器翻译运算能力
微软部署 FPGA 并不是一帆风顺的。 对于把 FPGA 部署在哪里这个问题,大致经历了三个阶段:
专用的 FPGA 集群,里面插满了 FPGA
每台机器一块 FPGA,采用专用网络连接
每台机器一块 FPGA,放在网卡和交换机之间,共享服务器网络
第一个阶段是专用集群,里面插满了 FPGA 加速卡,就像是一个 FPGA 组成的超级计算机。
在半导体行业,只要批量足够大,芯片的价格都将趋向于沙子的价格。
当然现在数据中心领域用两家公司 FPGA 的都有。 只要规模足够大,对 FPGA 价格过高的担心将是不必要的。
像超级计算机一样的部署方式,意味着有专门的一个机柜全是上图这种装了 24 块 FPGA 的服务器(下图左)。
这种方式有几个问题:
不同机器的 FPGA 之间无法通信,FPGA 所能处理问题的规模受限于单台服务器上 FPGA 的数量;
数据中心里的其他机器要把任务集中发到这个机柜,构成了 in-cast,网络延迟很难做到稳定。
FPGA 专用机柜构成了单点故障,只要它一坏,谁都别想加速了;
装 FPGA 的服务器是定制的,冷却、运维都增加了麻烦。
一种不那么激进的方式是,在每个机柜一面部署一台装满 FPGA 的服务器(上图中)。这避免了上述问题 (2)(3),但 (1)(4) 仍然没有解决。
第二个阶段,为了 保证数据中心中服务器的同构性 (这也是不用 ASIC 的一个重要原因),在每台服务器上插一块 FPGA(上图右),FPGA 之间通过专用网络连接。这也是微软在 ISCA'14 上所发表论文采用的部署方式。
红框是放 FPGA 的位置。
FPGA 采用 Stratix V D5,有 172K 个 ALM,2014 个 M20K 片上内存,1590 个 DSP。板上有一个 8GB DDR3-1333 内存,一个 PCIe Gen3 x8 接口,两个 10 Gbps 网络接口。一个机柜之间的 FPGA 采用专用网络连接,一组 10G 网口 8 个一组连成环,另一组 10G 网口 6 个一组连成环,不使用交换机。
这样一个 1632 台服务器、1632 块 FPGA 的集群,把 Bing 的搜索结果排序整体性能提高到了 2 倍(换言之,节省了一半的服务器)。
如下图所示,每 8 块 FPGA 穿成一条链,中间用前面提到的 10 Gbps 专用网线来通信。这 8 块 FPGA 各司其职,有的负责从文档中提取特征(黄色),有的负责计算特征表达式(绿色),有的负责计算文档的得分(红色)。
FPGA 在 Bing 的部署取得了成功,Catapult 项目继续在公司内扩张。
微软内部拥有最多服务器的,就是云计算 Azure 部门了。
Azure 部门急需解决的问题是网络和存储虚拟化带来的开销。Azure 把虚拟机卖给客户,需要给虚拟机的网络提供防火墙、负载均衡、隧道、NAT 等网络功能。由于云存储的物理存储跟计算节点是分离的,需要把数据从存储节点通过网络搬运过来,还要进行压缩和加密。
在 1 Gbps 网络和机械硬盘的时代,网络和存储虚拟化的 CPU 开销不值一提。随着网络和存储速度越来越快,网络上了 40 Gbps,一块 SSD 的吞吐量也能到 1 GB/s,CPU 渐渐变得力不从心了。
例如 Hyper-V 虚拟交换机只能处理 25 Gbps 左右的流量,不能达到 40 Gbps 线速,当数据包较小时性能更差;AES-256 加密和 SHA-1 签名,每个 CPU 核只能处理 100 MB/s,只是一块 SSD 吞吐量的十分之一。
为了加速网络功能和存储虚拟化,微软把 FPGA 部署在网卡和交换机之间 。
如下图所示,每个 FPGA 有一个 4 GB DDR3-1333 DRAM,通过两个 PCIe Gen3 x8 接口连接到一个 CPU socket(物理上是 PCIe Gen3 x16 接口,因为 FPGA 没有 x16 的硬核,逻辑上当成两个 x8 的用)。物理网卡(NIC)就是普通的 40 Gbps 网卡,仅用于宿主机与网络之间的通信。
FPGA(SmartNIC)对每个虚拟机虚拟出一块网卡,虚拟机通过 SR-IOV 直接访问这块虚拟网卡。原本在虚拟交换机里面的数据平面功能被移到了 FPGA 里面,虚拟机收发网络数据包均不需要 CPU 参与,也不需要经过物理网卡(NIC)。这样不仅节约了可用于出售的 CPU 资源,还 提高了虚拟机的网络性能(25 Gbps),把同数据中心虚拟机之间的网络延迟降低了 10 倍。
这就是微软部署 FPGA 的第三代架构,也是目前「每台服务器一块 FPGA」大规模部署所采用的架构。
FPGA 复用主机网络的初心是加速网络和存储,更深远的影响则是把 FPGA 之间的网络连接扩展到了整个数据中心的规模 ,做成真正 cloud-scale 的「超级计算机」。
第二代架构里面,FPGA 之间的网络连接局限于同一个机架以内,FPGA 之间专网互联的方式很难扩大规模,通过 CPU 来转发则开销太高。
第三代架构中,FPGA 之间通过 LTL (Lightweight Transport Layer) 通信。同一机架内延迟在 3 微秒以内;8 微秒以内可达 1000 块 FPGA;20 微秒可达同一数据中心的所有 FPGA。第二代架构尽管 8 台机器以内的延迟更低,但只能通过网络访问 48 块 FPGA。为了支持大范围的 FPGA 间通信,第三代架构中的 LTL 还支持 PFC 流控协议和 DCQCN 拥塞控制协议。
通过高带宽、低延迟的网络互联的 FPGA 构成了介于网络交换层和传统服务器软件之间的数据中心加速平面。
除了每台提供云服务的服务器都需要的网络和存储虚拟化加速,FPGA 上的剩余资源还可以用来加速 Bing 搜索、深度神经网络(DNN)等计算任务。
对很多类型的应用,随着分布式 FPGA 加速的规模扩大,其性能提升是超线性的。
例如 CNN inference,当只用一块 FPGA 的时候,由于片上内存不足以放下整个模型,需要不断访问 DRAM 中的模型权重,性能瓶颈在 DRAM;如果 FPGA 的数量足够多,每块 FPGA 负责模型中的一层或者一层中的若干个特征,使得模型权重完全载入片上内存,就消除了 DRAM 的性能瓶颈,完全发挥出 FPGA 计算单元的性能。
当然,拆得过细也会导致通信开销的增加。 把任务拆分到分布式 FPGA 集群的关键在于平衡计算和通信。
在 MICRO'16 会议上,微软提出了 Hardware as a Service (HaaS) 的概念,即把硬件作为一种可调度的云服务,使得 FPGA 服务的集中调度、管理和大规模部署成为可能。
从第一代装满 FPGA 的专用服务器集群,到第二代通过专网连接的 FPGA 加速卡集群,到目前复用数据中心网络的大规模 FPGA 云,三个思想指导我们的路线:
硬件和软件不是相互取代的关系,而是合作的关系;
必须具备灵活性,即用软件定义的能力;
必须具备可扩放性(scalability)。
现在被称作半导体器件的种类如下所示。按照其制造技术可分为分立器件半导体、光电半导体、逻辑IC、模拟IC、存储器等大类,一般来说这些还会被再分成小类。此外,IC除了在制造技术上的分类以外,还有以应用领域、设计方法等进行分类,最近虽然不常用,但还有按照IC、LSI、VLSI(超大LSI)及其规模进行分类的方法。此外,还有按照其所处理的信号,可以分成模拟、数字、模拟数字混成及功能进行分类的方法。\x0d\x0a半导体器件的种类: \x0d\x0a一、分立器件\x0d\x0a1、 二极管\x0d\x0aA、一般整流用\x0d\x0aB、高速整流用:\x0d\x0a①FRD(Aast Recovery Diode:高速恢复二极管)\x0d\x0a②HED(Figh Efficiency Diode:高速高效整流二极管)\x0d\x0a③SBD(Schottky Barrier Diode:肖特基势垒二极管)\x0d\x0aC、定压二极管(齐纳二极管)\x0d\x0aD、高频二极管\x0d\x0a①变容二极管\x0d\x0a②PIN二极管\x0d\x0a③穿透二极管\x0d\x0a④崩溃二极管/甘恩二极管/骤断变容二极管\x0d\x0a2、 晶体管\x0d\x0a①双极晶体管\x0d\x0a②FET(Fidld Effect Transistor:场效应管)\x0d\x0aⅠ、接合型FET\x0d\x0aⅡ、MOSFET\x0d\x0a③IGBT(Insulated Gate Bipolar Transistor:绝缘栅双极晶体管)\x0d\x0a3、 晶闸管\x0d\x0a①SCR(Sillicon Controllde Rectifier:硅控整流器)/三端双向可控硅\x0d\x0a②GTO(Gate Turn off Thyristor:栅极光闭晶闸管) \x0d\x0a③LTT(Light Triggered Thyristor:光触发晶闸管)\x0d\x0a\x0d\x0a二、光电半导体\x0d\x0a1、LED(Light Emitting Diode:发光二极管)\x0d\x0a2、激光半导体\x0d\x0a3、受光器件\x0d\x0a①光电二极管(Photo Diode)/太阳能电池(Sola Cell)\x0d\x0a②光电晶体管(Photo Transistor)\x0d\x0a③CCD图像传感器(Charge Coupled Device:电荷耦合器)\x0d\x0a④CMOS图像传感器(complementary Metal Oxide Semiconductor:互补型金属氧化膜半导体)\x0d\x0a4、光耦(photo Relay)\x0d\x0a①光继电器(photo Relay)\x0d\x0a②光断路器(photo Interrupter)\x0d\x0a5、光通讯用器件\x0d\x0a\x0d\x0a三、逻辑IC\x0d\x0a1、通用逻辑IC\x0d\x0a2、微处理器(Micro Processor)\x0d\x0a①CISC(Complex Instruction Set Computer:复杂命令集计算机)\x0d\x0a②RISC(Reduced instruction SET Computer:缩小命令集计算机)\x0d\x0a3、DSP(Digital Signal processor:数字信号处理器件)\x0d\x0a4、AASIC(Application Specific integrated Circuit:特殊用途IC)\x0d\x0a①栅陈列(Gate-Array Device)\x0d\x0a②SC(Standard Cell:标准器件)\x0d\x0a③FPLD(Field programmable Logic Device:现场可编程化逻辑装置)\x0d\x0a5、MPR(Microcomputer peripheral:微型计算机外围LSI)\x0d\x0a6、系统LSI(System LSI)\x0d\x0a\x0d\x0a四、模拟IC(以及模拟数字混成IC)\x0d\x0a1、电源用IC\x0d\x0a2、运算放大器(OP具Amp)\x0d\x0a3、AD、DA转换器(AD DA Converter)\x0d\x0a4、显示器用驱动器IC(Display Driver IC)\x0d\x0a\x0d\x0a五、存储器\x0d\x0a1、DRAM(Dynamic Random Access Memory:动态随机存取存储器)\x0d\x0a2、SRAM(Static Random Access Memory:静态随机存取储器)\x0d\x0a3、快闪式存储器(Flash Memory)\x0d\x0a4、掩模ROM(mask Memory)\x0d\x0a5、FeRAM(Ferroelectric Random Access Memory:强介电质存储器)\x0d\x0a6、MRAM(Magnetic Random Access Memory:磁性体存储器)欢迎分享,转载请注明来源:内存溢出
评论列表(0条)