信息存储应用技术一种降低ir drop的存算阵列折叠布局方法技术领域1.本发明涉及一种降低ir drop的存算阵列折叠布局方法,属于集成电路技术领域。背景技术:2.传统计算机架构大多是冯-诺伊曼架构,即存储与计算分离架构,这种架构不仅会导致计算机在数据传输时消耗大量能量,也会导致存储速率和运算速率不同步,从而影响整体的运算速度。存内计算实现了存算一体化,打破了存算的“速度墙”和“功耗墙”;目前常采用非易失性器件作为存算单元(cim),非易失性存算器件组成的存算阵列在工作时,可以通过改变器件的阈值电压从而改变权重,并且通过存算阵列中均工作在线性区的两列非易失性器件输出电流的减法实现输入数据与权重的乘累加运算,两列器件的输出电流经过电流减法电路之后的电流差值的大小代表了运算的结果。3.非易失性存算单元由忆阻器、flash等类型,存算单元通常包含数据输入端、卷积结果输出端。由存算单元构成的存算阵列通常有字线wl、位线bl、源线sl等多个端口,字线wl端作为存算单元的数据输入端,位线bl端作为存算单元的数据输出端,源线sl端作为存算单元的源端;其中字线wl端连接多个存算单元的wl,位线bl端连接多个存算单元的bl,源线sl连接多个存算单元的sl,如图1所示为构成存算阵列的存算单元。4.由于数据输入端与数据输出端在存算电源的连接方向上相互垂直,因此存算阵列的wl 端与bl端可互为数据输入端与数据输出端;存算阵列在工作时可分为卷积计算和权重擦写两个模式,在卷积计算模式下,通过字线wl端的驱动电路输入的数据作为一个运算量,再通过位线bl端的读出电路施加钳位电压使得在单个存算器件中预先编程的权重数据作为另一运算量与字线wl的输入数据完成乘法运算,单个存算器件的乘法运算的电流公式如下:[0005][0006]其中,i是单个存算器件乘法运算的电流值,vds是存算器件的漏极与源极的电压差, vgs是存算器件的栅极与源极的电压差,vth是存算器件的阈值电压;bl端的读出电流由一条bl上所有打开的存算器件的电流i相加得到。[0007]进一步,在权重擦写模式下,存算阵列的所有端口均需驱动电路完成存算器件的权重擦写功能。因此,在存算阵列外需要大量的驱动电路和读出电路等外围电路来实现存内计算。[0008]在细长金属线上的寄生电阻导致该条金属线在通过电流时存在电压降(ir drop),电压降问题是影响存算阵列的计算精度的重要因素;并且随着存算阵列规模的扩大,bl端单条金属线所连接的存算器件数量也不断增多,存算阵列bl端单条金属线上的电压降问题也愈发显著,这将导致存算阵列bl端单条金属线上所有存算器件的vds无法完全相同,从而由于每个存算器件的电流i不同,进一步导致该条bl线上的读出电流有所偏差,最终影响存算阵列的计算精度。[0009]以smic55nm工艺下1000×1000规模的存算阵列为例,存算器件之间距离(pitch)为 3um,存算器件之间使用宽度为0.5um的金属线连接,根据代工厂提供的金属线的方块电阻为0.05ohm/sqr,从而在该阵列中一条bl上由金属长度线带来的寄生电阻为300ohm。若 bl端的读出电流为50ua,则电压降为15mv,从而导致该条bl线上第一个存算器件的vds与最后一个存算器件的vds相差15mv,这将导致该条bl线上相连接的存算器件的电流i不同,进而导致该条bl线上的读出电流出现误差。[0010]此外,在现有的存算芯片设计中,由于数据量在存算芯片中的逐层递增,从而各层的存算阵列规模也逐层递增,这将导致在芯片版图设计中由于存算阵列布局面积相差过大,难以形成标准的正方形芯片,造成大量的面积浪费。技术实现要素:[0011]为了解决目前存在的上述问题,本发明对大规模存算阵列中的存算单元布局方式进行了优化,提供一种降低ir drop的存算阵列折叠布局方法,改进了存算阵列的版图形状,有效缓解了细长金属线上的电压降(ir drop)问题。[0012]本发明提供了一种存算阵列折叠布局的方法,所述技术方案如下:[0013]为实现上述目的:本发明提供如下技术方案:如图3所示的m×n规模的存算阵列的传统布局方式,传统布局方式具有以下特征:所述存算阵列包括m行存算单元与n列存算单元,通常数据输入端与数据输出端方向相互垂直,因此规定字线端wl《1》至wl《m》为m行存算单元的数据输入端,位线端bl《1》至bl《n》为n列存算单元的数据输出端,源线端 sl《1》至sl《n》为n列存算单元的源极。[0014]本发明所述的一种降低ir drop的存算阵列折叠布局方法,具体包括如下步骤:[0015]步骤一:将如图3所示的m×n的存算阵列在wl《m/2》处沿wl方向切断,形成两个 m/2×n规模的存算阵列;[0016]步骤二:上述步骤得到的所述两个m/2×n的存算阵列中,将相同的位线bl与相同的源线sl进行跨线连接,如图4所示;[0017]步骤三:将如图4所示的跨线连接的两个m/2×n规模的存算阵列交叉合并:将相同的位线bl合并由一条金属线引出,将相同的源线sl合并由一条金属线引出;[0018]步骤四,字线wl端的wl《1》至wl《m/2》由阵列左侧引出,wl《m/2+1》至wl《m》由阵列右侧引出。[0019]根据本发明的一种降低ir drop的存算阵列折叠布局方法,由所述步骤三进行交叉合并后的存算阵列中,位线bl端bl《1》至bl《n》的每条金属线上连接有两列存算单元。[0020]根据本发明的一种降低ir drop的存算阵列折叠布局方法,可选地,所述方法还包括:将如图5所示交叉合并后的阵列中,位线bl端bl《1》至bl《n》中n为偶数的位线bl相连接的两列存算单元以该位线bl的金属线为中心进行镜像对称,并将对称后相邻的两列存算单元的栅极互联,由一条字线wl引出。[0021]根据本发明的一种降低ir drop的存算阵列折叠布局方法,由于所述步骤二跨线连接的两个阵列中,相同bl、sl距离很远,这将带来bl端读出电路与驱动电路信号延时,导致 bl端电流读出精度下降;因此将两个阵列进行交叉合并,将相同的位线bl合并由一条金属线引出,将相同的源线sl合并由一条金属线引出。[0022]根据本发明的一种降低ir drop的存算阵列折叠布局方法,经过所述步骤四后形成的存算阵列中,wl端与存算单元的栅极之间连线复杂,wl端的连线上存算单元栅极的频繁跳线会导致各个存算单元栅极的一致性下降,增大存算单元的权重误差。因此,将存算阵列中的部分存算单元进行镜像对称处理,并且经过镜像对称处理后的相邻存算单元的栅极能够互联,能够保证存算单元栅极的局部一致性,降低权重误差。[0023]根据本发明的一种降低ir drop的存算阵列折叠布局方法,对比图3传统阵列布局,存算阵列的规模由m×n变为m/2×2n,在不改变阵列拓扑结构的情况下,实现对阵列长、宽的灵活调整,有效避免了在存算芯片中间层出现m远大于n的阵列的情况,以及与较小规模的存算阵列难以拼接成正方形版图的情况。[0024]根据本发明的一种降低ir drop的存算阵列折叠布局方法,对比图3传统阵列布局,bl 端一条金属线上的存算器件的数量由m个减少为m/2个,该条bl金属线的长度将为传统阵列布局的1/2。进一步的,根据电阻计算公式(其中,□为本发明的存算阵列布局的工艺下的金属线的方块电阻)可知,寄生电阻将为传统阵列布局的1/2。进一步的,该条bl上的ir drop将为传统阵列布局的1/2。[0025]本发明有益效果是:[0026]本发明对存算阵列中互联的存算单元的布局方式进行了优化,提供一种降低ir drop的存算阵列折叠布局方法。根据本发明的一种降低ir drop的存算阵列折叠布局方法,在保证存算阵列原有存算单元互联关系的条件下,能够使存算阵列的列方向长度减小50%,并且使存算器件的漏极与存算阵列bl端的驱动电路和读出电路之间的走线距离减小50%,从而远距离金属走线的寄生电阻降低了50%,能够使bl端在卷积计算模式下由于长金属线导致的 ir drop降低50%。[0027]进一步,根据本发明的一种降低ir drop的存算阵列折叠布局方法,将存算阵列中的部分存算单元进行镜像对称处理,并且经过镜像对称布局后的相邻存算单元的栅极能够互联,以保证存算单元栅极的局部一致性。[0028]此外,本发明的布局方式整体改进了存算阵列版图形状,提升了不同尺寸存算阵列的适配性,大幅降低了阵列布局时的面积浪费。附图说明[0029]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。[0030]图1为本发明所述构成存算阵列的存算单元;[0031]图2是本发明的一种降低ir drop的存算阵列折叠布局方法的流程示意图;[0032]图3为m×n的存算阵列的传统布局方式;[0033]图4为根据本发明的叠布局方法,经过步骤一和二后形成的存算阵列示意图;[0034]图5为根据本发明的叠布局方法,经过步骤三后形成的存算阵列示意图;[0035]图6为根据本发明的叠布局方法,镜像对称后形成的存算阵列示意图;[0036]图7为根据本发明的实施例的1024×256的存算阵列的示意图;[0037]图8为1024×256的存算阵列,经过步骤一和二后形成的存算阵列示意图;[0038]图9为两个512×256的存算阵列,经过步骤三后形成的存算阵列示意图;[0039]图10为交叉合并后的存算阵列,进一步镜像对称后形成的存算阵列示意图。具体实施方式[0040]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。[0041]实施例一:[0042]本实施例提供一种降低ir drop的存算阵列折叠布局方法,结合图7所示,存算阵列具有以下特征:存算单元为浮栅存算管,所述存算阵列包括1024行存算单元与256列存算单元,子线wl端wl《1》至wl《1024》分别连接至1024行存算单元的栅极,位线bl端bl《1》 至bl《256》分别连接至256列存算单元的漏极,源线sl端sl《1》至sl《256》分别连接至256 列存算单元的源极。[0043]本实例中所述的存算阵列,在实际的版图中阵列行与列的长度相差5倍,在bl、sl、 wl增加驱动电路与读出电路后整体形状及不规律,难以与小阵列适配。因此可通过下述步骤,在不改变存算单元原本互连关系的情况下,合理改变存算阵列形状。[0044]步骤一:将图7所示的1024×256规模的存算阵列在wl《512》处沿wl方向切断,形成两个256×512规模的存算阵列,[0045]步骤二:将所述两个512×256规模的存算阵列中,相同的bl与相同的sl如图8所示跨线连接;跨线连接的两个阵列中,相同bl、sl距离很远,这将带来bl端读出电路与驱动电路信号延时,导致bl端电流读出精度下降;[0046]步骤三:将图8所示的两个512×256规模的存算阵列交叉合并,相同的bl合并由一条金属线引出,相同的sl合并由一条金属线引出;[0047]步骤四:wl《1》至wl《512》由阵列左侧引出,wl《513》至wl《1024》由阵列右侧引出,阵列布局如图9所示。[0048]经过上述步骤形成阵列布局后的存算阵列在列方向的宽度增加了一倍,bl端的驱动电路与读出电路与每个存算单元的漏极之间的距离减小1/2,能够减小bl金属线上的电压降。[0049]然而,这种布局的缺点为形成的存算阵列中,wl端与存算单元的栅极之间连线复杂, wl端的连线上存算单元栅极的频繁跳线会导致各个存算单元栅极的一致性下降,增大存算单元的权重w误差。[0050]根据本实施例,将上述图9的存算阵列布局中的bl《1》至bl《256》中的偶数列的存算单元以bl金属线为中心镜像对称,得到如图10所示的阵列布局,其中相邻存算单元的栅极可互联,能够提高存算阵列中存算单元栅极的一致性,降低权重误差。[0051]综上所述,本实施例所述一种降低ir drop的存算阵列折叠布局方法,保证存算单元原有互联关系的条件下,可使存算阵列的列方向长度减小50%,并且使存算器件的漏极与存算阵列bl端的驱动电路和读出电路之间的走线距离减小50%,远距离金属走线的寄生电阻降低了50%,从而能够使bl端在卷积计算模式下由于长金属线导致的ir drop降低50%。并且,本发明的布局方式整体改进了存算阵列版图形状,提升了不同尺寸存算阵列的适配性,大幅降低了阵列布局时的面积浪费。[0052]本发明实施例中的部分步骤,可以利用软件实现,相应的软件程序可以存储在可读取的存储介质中,如光盘或硬盘等。[0053]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
一种降低IRDrop的存算阵列折叠布局方法
作者:admin
2022-07-30 16:59:16
543