2.2 布图与电源规划
布图与电源规划阶段主要根据整个芯片规范中定义的芯片大小及封装中对应凸块位置,进行芯片大小的规划、电源网络的规划和设计,以及顶层模块的位置分布,以保证电源网络的稳健性和绕线的拥塞(congestion)程度满足要求。
2.2.1 芯片面积规划
物理设计的三个重要指标是性能、功耗和面积。芯片的面积和成本直接相关,较小的芯片面积能够使得在一片晶圆上切割出更多的芯片,从而有效降低芯片的成本。同时芯片的面积也和物理设计收敛相关。芯片面积过小,会使得绕线过于拥塞,进而带来时序难以收敛的问题。芯片面积和所采用的金属层数有关,通常情况下,增加金属层数可以缩小芯片面积。增加金属层数,等同于把互连线的维度沿垂直于芯片表面的方向发展。芯片面积和芯片的端口数量有关,如果端口数量过多,则芯片面积受限于端口;反之,则受限于标准单元的数量及绕线的拥塞程度。因此,芯片面积的规划应当折中考虑这四个因素。
2.2.2 电源网络设计
电源网络的设计首先要考虑所采用的金属连线的层数。不同的金属层数电源网络的规划也有所不同。如常见1P7M5X1Z具有7层金属连线,包含了6层X金属和1层Z金属。这里的X和Y分别代表金属的不同厚度,同时设计规则中的宽度也有所不同。此时,采用的电源网络常为第1层和第3层形成的底层电源网络,第6层和第7层形成的高层电源网络,并通过中间几层的金属层和通孔层构成的叠层通孔层连接底层电源网络和高层电源网络。如1P9M5X2Y1Z具有9层金属连线,包含了6层X金属、2层Y金属和1层Z金属。对应的电源网络常为第1层和第3层形成的底层电源网络,第6层形成的中层电源互连,第8层和第9层形成的高层电源网络,并通过中间几层的金属层和通孔层构成的叠层通孔层连接底层电源网络和高层电源网络。
电源网络应当在满足电压降的情况下占用较少的绕线资源。首先,从凸块连接至标准单元电源端口的各层金属和通孔应当满足各自的电压降的需求,电流自上而下均匀地流下。其次,IP模块和标准单元的耗电不同,应根据IP模块和标准单元分布的不同,来确定电源网格的密度。最后,电源网络并不是越密越好,对于固定面积的芯片,绕线资源是一定的,因此需要合理地分配电源网络和信号绕线。对于电源网络的指标主要为电压降和地弹(ground bounce),通常为不能超过电源电压的5%,从而保证所连接的每一个标准单元包括IP,工作和关断时的电压稳定。电源网络如图2-8所示,其中右斜线区域为第2层金属连线,左斜线区域为第3层金属连线,左斜线区域中的方格为第2层通孔,共同组成了电源网络。点画线区域为标准单元内部的第1层金属连线,是标准单元的信号线。
图2-8 电源网络
2.2.3 SRAM、IP、端口分布
布图阶段的主要工作之一是完成SRAM、IP和端口的位置摆放。由于SRAM和IP的大小相对于标准单元大很多,是模块级中功能较为复杂的单个模块,决定了大致的数据流走向,所以这类模块不是交给工具去完成,而是采用人工定制的方法,在布图阶段完成位置摆放及相应供电网络的连接。在位置摆放时,会参考各个子模块的大致位置分布,避免后续绕线发生拥塞的情况。端口分布需要结合顶层凸块(bump)的位置和子模块的位置分布,来确保整个连线的通畅。在布图阶段会根据系统层面给定的凸块位置分布,设计凸块的电路网络,以及这些凸块和对应端口的信号连线,这些信号连线多采用顶层金属完成。SRAM、IP和端口位置摆放后的芯片示意图如图2-9所示。
图2-9 SRAM、IP和端口位置摆放后的芯片示意图
如果是顶层设计,则需要考虑各个模块的位置,相邻的模块之间应当预留出绕线通道和放置特定标准单元的位置。该特定标准单元是用于连接不同电压域的低功耗单元、用于满足时序要求的缓冲器单元等。
2.2.4 低功耗设计与通用功耗格式导入
常见的降低功耗技术包括多阈值电压技术(multi-Vt)、时钟开关技术(clock gating)等。先进的降低功耗技术包括多供电电压技术(multi-voltage)、区域电源关断技术(power shut off)、动态电压调频技术(dynamic voltage frequency scaling)、衬底偏置技术(body-biasing)等[2]。各种低功耗技术的对比如图2-10所示。可以看出,在性能指标方面,低功耗技术在降低功耗的同时,对时序及面积都会造成影响,是PPA相互平衡的过程。
低功耗约束文件主要定义了电路中所使用的各种电压信号,以及由此划分的电压域和所采用的各种低功耗单元。同时,该文件定义了各个电压域的可关断状况,如常开电压域、可关断电压域。根据电压域的定义,在布图阶段中完成电压域的区域划分和相应低功耗单元的位置摆放,进而形成完整的电源网络。常见的低功耗约束文件有Cadence公司的通用功耗格式(common power format,CPF)文件和Synopsys公司的统一功耗格式(unified power format,UPF)文件。
图2-10 各种低功耗技术的对比
常见的低功耗单元包括电源关断单元、隔离单元、常开单元、电平转换单元、可记忆的寄存器等。电源关断单元(power gating cell)包括控制信号的输入端口NSI及输出端口NSO、供电电压端口TVDD和输出电压端口VDD,如图2-11所示。通过控制信号的电平变化控制VDD端口是否和TVDD端口接通,进而实现控制某区域的电源供电情况。
图2-11 电源关断单元
隔离单元(isolation cell)用于控制不同电压域之间信号通路的开关状态。常开单元(always-on cell)能够在可关断的电压域中连接常开电源网络处于开启状态,不会受到当前电压域开关状态的影响。
电平转换单元(level shifter cell)包括输入信号INL及输出信号OUTH、关联的两个电压域的电压端口VDDH和VDDL、接地端口VSS。该单元用于转换不同电压域的信号供电电压,包括高压域到低压域的电平转换单元和低压域到高压域的电平转换单元,其电路图如图2-12所示。可记忆的寄存器(state-retention power-gated register)用于当前电压域关断时,该寄存器记忆输出能够持续保存,当前电压域再次开启时,该寄存器能够在更短时间内恢复,进而缩短系统的启动时间。
图2-12 低压域到高压域的电平转换单元电路图