zoukankan      html  css  js  c++  java
  • 芯片面积大小

    芯片面积大小

    芯片大小是由芯片设计师乃至整个芯片设计团队共同沟通确定的,芯片绝对不是你想设计多大就多大,这里涉及到成本和效益等许多方面的问题,一般来说,在同等架构的条件下,芯片设计的越大规格越高,性能也就越强,但是受限于各种条件,芯片绝不能无限制的扩大。

    比如一颗PC芯片和手机芯片的设计标准就不一样,一颗英特尔CPU大小在100平方毫米以上是非常正常的,高端的i7和至强处理器达到200多平方毫米也是家常便饭,因为PC的体积较大,散热空间更好,可以把芯片规格做大来提高性能。

    而对于手机芯片来说,一颗骁龙或者麒麟处理器只能控制在几十平方毫米以内的面积,因为手机内部的空间寸土寸金,无法承受过大的芯片。

    如果CPU芯片就占据了三分之一的手机面积,那剩下的电池、各类传感器和摄像头都会受到很大影响,大芯片带来的发热和功耗也会急剧增加,这款手机的续航能力和使用体验也就很差了。

    芯片大小和采用的生产工艺也是密切相关,工艺越先进,在同等条件下的芯片面积越小,生产芯片用的晶圆大小都是差不多的,所以,芯片越大成本越高,良品率也会越低。

    由于芯片设计公司和制造公司都是不同的两家公司,所以在确定芯片大小的过程中还需要两方团队的密切协调,最终根据性能和良品率来确定一个最实际,效益最好的芯片大小。

    现在大小,主要考虑应用环境。手机上应用,需要速度快,体积还要小。要是工业上用,主要考虑稳定性,成本要低。

    芯片面积的估算

     IO neck 和 core neck 一般称作 IO limited 和 core limited,

    IO limited :这个芯片的面积是因为IO个数限制(太多),而不得不做得那么大。core部分其实用不了那么大。这时面积计算就简化为每边IO个数的计算了。

    Core limited:芯片面积是有core部分的决定的,IO没有那么多

    在Core limited情况下,die size的估算如下:

    芯片面积 = core面积+ power ring面积 +PAD ring面积

    core面积 = RAM面积 + 其他macro面积 + 标准单元面积

    RAM面积 = RAM 自身的面积 + RAM power ring面积 + keepout面积  + mbist面积

    RAM自身的面积可以通过memory compiler或者查datasheet得到,

    有些RAM 可以不要power ring。如果要的话,按照power mesh的宽度 x RAM的长宽 x 2 = 面积

    keepout + mbist 的面积一般是RAM自身面积的10%

    其他macro的面积,比如PLL,ADC,DAC等,直接把面积加起来,再留3~5%的keepout面积就好了

    标准单元的面积=(预估的gate count x 每个gate的面积)/ utilization

    utilization与使用的金属层数和设计的用途有关,简单地计算方法:

    5层metal:50%

    6层metal:60%

    7层metal:70%

    8层metal:80%

    以上不包括power专用的金属层

    如果设计是多媒体芯片,一般可以增加3~5% utilizaion,如果是网络芯片,则要减少3~5%

    芯片面积的主要涵盖部分分为三部分

    IO:芯片的信号及电源pad

    Standard cell : 实现芯片的功能逻辑

    Macro block :第三方IP( PLLDAC POR Memory .etc )

    芯片面积估计就是通过目标工艺的库信息,设计的spec、以往设计的信息及,部分IP的综合报告来统计这主要部分的总面积的过程。

    芯片面积估计

    获得面积信息

    获得IO面积:通过目标工艺的IO库文件得到各种IO的长宽及size大小,再根据设计是spec,pin_list文档中的pad选型和数量统计出。

    获得Standard cell面积:可以通过单独IP的综合过进行统计,转产项目科根据原设计的全芯片综合得到,对与没有完整RTL的IP,可以根据IP的复杂程度由设计方提供预估的等效逻辑门数,通过等效逻辑门※的数量计算面积。

    等效逻辑门:对数字设计的复杂程度一般用等效逻辑门的数量来评价,等效逻辑门一般为目标工艺下的一个标准大小(最小驱动能力)的与非门表示A(10k Gates)B(um2)=C(mm2),SMIC 110nm B=4.12。

    获得Macro block面积:第三方IP提供方提供的IP文档中会有形状及面积,Memorycompiler生成的memory文档中也有memory的形状及面积

    几种面积估计的方法

    有了以上三种面积基本信息,就可以进行面积估算了。

    首先要对获得的Standard cell及Marco block的面积信息进行一下转换,Standard cell的转换(如果Standard cell的总面积是需要做SCAN但是未插入SCAN,需要乘以一个SCAN后的面积增量,经验值为105%)主要是由于density,需将Standard cell的总面积除以density值,Macro block主要是由于blockage,需将Macro block的长宽加上两倍blockage的宽度再做乘积。

    density:由于芯片的Timing等原因,导致用于摆放Standard cell的区域不能全部被Standard cell填满,Standard cell的总面积占用于摆放Standard cell的区域的百分比就是density。

    blockage:第三方IP(多为模拟IP)为了防止外围环境的电气干扰,在文档中会要求保留一定的空区域或者用电源ring环绕,这部分区域就是blockage。

    Pad Limit

    这种情况是将芯片全部IO在四边紧密的排满,中间的面积大于转换过的Standard cell与Macro block的总和,因为四边排满IO没有办法在缩小,所以芯片的主体面积就是有IO排列决定的这块区域的面积,不需要估计由后端工程师排列好IO直接给出

    2. Core Limit

    这种情况是将芯片全部IO在四边紧密的排满,中间的面积小于CORE面积(转换过的Standard cell与Macro block的总和),这时CORE的面积决定了芯片面积的大小。

    Core Limit的时候如果设计有在IO ring上不能摆放其他单元的要求,估算时将CORE当做正方形(因为正方形在芯片生产的时候在wafer上浪费的面积最小,也有利有芯片内部电源布线,减少IRdrop),将面积值开方的到正方形的边长加上一个宽度为固定值或者边长百分比的ring(power ring等)的宽度的两倍,再加上IO高度的两倍,再进行平方得到芯片的主体面积。

     

     Core Limit的时候如果设计无要在IO ring上不能摆放其他单元的要求,估算是将CORE面积与IO面积相加即可。

     芯片生产出来的时候是许多芯片在一片wafer上的需要用划片机将芯片分割开来,这个时候就需要为分割芯片预留的空间scribe line,在分割芯片及芯片运输封装的过程中,芯片边缘的应力会产生变化,设计上需要在芯片周边做一圈钝化的区域(sealring)以保护芯片不碎裂以及屏蔽和防潮功能。

    这样整个芯片的面积就是芯片主体边长(主体面积开方)加上两倍的scribe line的宽度和两倍的sealring宽度再平方。

     

     

     图1,IO,Standard cell,Macro block

     图2 Standard cell,闲置区域(包含电源布线)

     

    图3

    人工智能芯片与自动驾驶
  • 相关阅读:
    【设计模式:单例模式】使用单例模式载入properties文件
    Java 强引用,软引用,弱引用
    sharepreference实现记住password功能
    WWDC2015
    activity之栈管理
    LeetCode:Palindrome Number
    ZOJ 3822 Domination(概率dp)
    WCF报 当前已禁用此服务的元数据发布的错误
    HTML常见标签总结
    xml基础总结
  • 原文地址:https://www.cnblogs.com/wujianming-110117/p/14879568.html
Copyright © 2011-2022 走看看