CN114357931A - 存储体编译和布局协同的片上缓存设计方法和片上缓存 - Google Patents
存储体编译和布局协同的片上缓存设计方法和片上缓存 Download PDFInfo
- Publication number
- CN114357931A CN114357931A CN202210232665.XA CN202210232665A CN114357931A CN 114357931 A CN114357931 A CN 114357931A CN 202210232665 A CN202210232665 A CN 202210232665A CN 114357931 A CN114357931 A CN 114357931A
- Authority
- CN
- China
- Prior art keywords
- memory bank
- layout
- compiling
- bank
- area
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本申请涉及一种存储体编译和布局协同的片上缓存设计方法和片上缓存。所述方法对粘合逻辑进行预布局规划,得到其布局区域,并将布局区域标记为已布局区域,在布局区域选择存储体的汇聚点,将汇聚点作为存储体到粘合逻辑的距离计算基准点,在未布局区域中选择离汇聚点距离最近的位置,作为当前存储体的布局位置,根据布局位置与汇聚点的距离计当前存储体在该布局位置时的时序要求,对当前存储体进行穷举编译得到当前存储体的候选编译配置集合,在集合中选择满足时序要求的编译配置。采用本方法能够在存储体编译同时就考虑该存储体的位置信息,从而能够准确制定存储体编译的时序要求,编译出速度符合要求、功耗最优的存储体。
Description
技术领域
本申请涉及计算机芯片技术领域,特别是涉及一种存储体编译和布局协同的片上缓存设计方法和片上缓存。
背景技术
现代微处理器和各种SOC芯片中都具有大容量片上缓存,它们一般由存储体编译器生成的存储体构成,多个这样的存储体,经过粘合逻辑合并和选择来形成各种大容量的Cache、Scratch Pad Memory、共享缓冲池等片上缓存结构。片上缓存的容量不断增大,其面积达到全芯片的30%~45%或更高,功耗占比也随之提高,同时片上缓存往往也处于关键时序路径,决定了全芯片频率。因此如何进一步提高片上缓存的性能,并降低其功耗是提高芯片的关键。
在现有的设计流程中先根据存储体的功能编译完成存储体,然后加入粘合逻辑完成RTL级集成,最后才考虑存储体的时序、面积、布局位置等物理参数。使得在存储体编译时不得不预留较大的时序余量,从而造成不必要的面积和功耗开销。
发明内容
基于此,有必要针对上述技术问题,提供一种存储体编译和布局协同的片上缓存设计方法和片上缓存。
一种存储体编译和布局协同的片上缓存设计方法,所述方法包括:
对粘合逻辑进行预布局规划,得到所述粘合逻辑的布局区域,并将所述布局区域标记为已布局区域;
在所述布局区域选择存储体的汇聚点,将所述汇聚点作为所述存储体到所述粘合逻辑的距离计算基准点;
在未布局区域中选择离所述汇聚点距离最近的位置,作为当前存储体的布局位置,根据所述布局位置与所述汇聚点的距离计算所述当前存储体布局在所述布局位置时的时序要求;
对所述当前存储体进行穷举编译,得到所述当前存储体的候选编译配置集合,在所述候选编译配置集合选择满足所述时序要求的所述当前存储体的编译配置;
根据所述编译配置确定所述当前存储体的占用区域,将所述占用区域标记为已布局区域。
在其中一个实施例中,根据所述布局位置与所述汇聚点的距离计算所述当前存储体布局在所述布局位置时的时序要求:
tqm + tgt + td + tsr + tmg < tp
tqr + tgf + td + tsm + tmg < tp
其中,tqm是存储体的时钟到数据输出端的延时, tgt 是存储体到粘合逻辑方向上组合逻辑的延时,td是汇聚点到存储体的距离造成的延时,tsr是粘合逻辑上寄存器的建立时间,tmg是预留的时序余量,tqr是粘合逻辑上寄存器的时钟到数据输出端的延时,tgf是粘合逻辑到存储体方向上组合逻辑的延时,tsm是存储体的建立时间,tp是芯片工作的时钟周期。
在其中一个实施例中,对所述当前存储体进行穷举编译,包括:
对于远离所述粘合逻辑的所述当前存储体,选择拆分存储体、低阈值替换或者增大晶体管尺寸的编译方式进行穷举编译,得到所述当前存储体的候选编译配置集合;
对于靠近所述粘合逻辑的所述当前存储体,选择合并存储体、高阈值替换或者减小晶体管尺寸的编译方式进行穷举编译,得到所述当前存储体的候选编译配置集合;
当所述布局位置与所述汇聚点的距离大于距离阈值时,判断所述当前存储体远离所述粘合逻辑,当所述布局位置与所述汇聚点的距离不大于距离阈值时,判断所述当前存储体靠近所述粘合逻辑。
在其中一个实施例中,拆分存储体或合并存储体的步骤,包括:
拆分存储体包括拆分所述存储体的深度或者位宽,得到的候选编译配置集合中的存储体的所述深度和位宽均为2的幂次,且所述集合中各个拆分存储体的编译配置中存储体的总容量不超过1Mbit;
合并存储体包括合并所述存储体的深度或者位宽,得到的候选编译配置集合中的存储体的所述深度和位宽均为2的幂次,且所述集合中各个合并存储体的编译配置中存储体的总容量不超过1Mbit。
在其中一个实施例中,在所述布局区域选择存储体的汇聚点,包括:
将所述粘合逻辑的布局区域的中心或者所述中心靠近端口的位置作为汇聚点;所述端口是全芯片的对外端口。
在其中一个实施例中,对所述当前存储体进行穷举编译,得到所述当前存储体的候选编译配置集合,在所述候选编译配置集合中选择满足所述时序要求的所述当前存储体的编译配置,还包括:
在满足所述时序要求的前提下,以单位bit功耗最小为约束条件,确定所述当前存储体的编译配置。
在其中一个实施例中,在根据所述编译配置确定所述当前存储体的占用区域,将所述占用区域标记为已布局区域之后,所述方法还包括:
记录所述已布局区域的存储体总容量;
在未布局区域中选择离所述汇聚点距离最近的位置进行存储体编译和布局,直到所述已布局区域的存储体总容量达到预设值;
进行RTL集成、综合和后端布局布线,完成整个片上缓存设计。
一种存储体编译和布局协同的片上缓存设计装置,所述装置包括:
布局区域确定模块,用于对粘合逻辑进行预布局规划,得到所述粘合逻辑的布局区域,并将所述布局区域标记为已布局区域;
汇聚点选择模块,用于在所述布局区域选择存储体的汇聚点,将所述汇聚点作为所述存储体到所述粘合逻辑的距离计算基准点;
布局位置选择模块,用于在未布局区域中选择离所述汇聚点距离最近的位置,作为当前存储体的布局位置,根据所述布局位置与所述汇聚点的距离计算所述当前存储体布局在所述布局位置时的时序要求;
编译配置选择模块,用于对所述当前存储体进行穷举编译,得到所述当前存储体的候选编译配置集合,在所述候选编译配置集合选择满足所述时序要求的所述当前存储体的编译配置;
标记模块,用于根据所述编译配置确定所述当前存储体的占用区域,将所述占用区域标记为已布局区域。
一种片上缓存,所述片上缓存由执行上述实施例中方法的步骤后设计完成。
在一个实施例中,提供了一种计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
对粘合逻辑进行预布局规划,得到所述粘合逻辑的布局区域,并将所述布局区域标记为已布局区域;
在所述布局区域选择存储体的汇聚点,将所述汇聚点作为所述存储体到所述粘合逻辑的距离计算基准点;
在未布局区域中选择离所述汇聚点距离最近的位置,作为当前存储体的布局位置,根据所述布局位置与所述汇聚点的距离计算所述当前存储体布局在所述布局位置时的时序要求;
对所述当前存储体进行穷举编译,得到所述当前存储体的候选编译配置集合,在所述候选编译配置集合选择满足所述时序要求的所述当前存储体的编译配置;
根据所述编译配置确定所述当前存储体的占用区域,将所述占用区域标记为已布局区域。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中方法的步骤。
上述存储体编译和布局协同的片上缓存设计方法和片上缓存,首先对粘合逻辑进行预布局规划,得到粘合逻辑的布局区域,并将布局区域标记为已布局区域,在该布局区域选择存储体的汇聚点,将其作为存储体到粘合逻辑的距离计算基准点,然后在未布局区域中选择离汇聚点距离最近的位置作为当前存储体的布局位置,根据布局位置与汇聚点的距离计算当前存储体布局在该布局位置时的时序要求,对当前存储体进行穷举编译,在穷举编译结果中选择满足所述时序要求的当前存储体的编译配置,不同位置的存储体与粘合逻辑的距离各不相同,对不同位置的存储体采用不同的编译配置将能够减小面积、功耗并同时提升速度,根据编译配置确定当前存储体的占用区域,将所述占用区域标记为已布局区域。本方法在存储体编译同时就考虑该存储体的位置信息,从而能够准确制定存储体编译的时序要求,编译出速度符合要求、功耗最优化的存储体。
附图说明
图1为片上缓存的传统布局结构图;
图2为一个实施例中存储体编译和布局协同的片上缓存设计方法的流程示意图;
图3为一个实施例中存储体的不同编译配置示意图:(a)基准结构;(b)阈值替换;(c)增大bit cell 尺寸;(d)调整列多选数;(e)拆分;(f)合并;
图4为一个实施例中采用传统同构存储体的设计得到的存储体的配置和布局的示意图;
图5为一个实施例中采用协同编译优化的方法得到的存储体的配置和布局的示意图;
图6为一个实施例中存储体编译和布局协同的片上缓存设计装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
片上缓存的传统布局结构如图1所示,主体是存储体组成的存储阵列,存储阵列外是粘合逻辑,包括一系列的合并、选择、寄存操作或者总线协议转换逻辑,最后输出到外部单元或总线上。具体的,存储体可以是SRAM存储体。由于存储体具有较大的尺寸,不同位置的存储体与粘合逻辑的距离各不相同。如图1中角部的存储体与粘合逻辑的距离较远,延时较大,需要预留较大的时序余量,采用速度快的存储体,然而中心区域的与粘合逻辑的距离很近,如果中心区域和角部的存储体采用相同的编译配置则会导致功耗和面积的浪费。值得说明的是,图1中灰色区域表示存储体,上方白色区域表示粘合逻辑区。
在一个实施例中,如图2所示,提供了一种存储体编译和布局协同的片上缓存设计方法的流程示意图,该方法包括以下步骤:
步骤202,对粘合逻辑进行预布局规划,得到粘合逻辑的布局区域,并将布局区域标记为已布局区域。
预布局规划(floorplan)是芯片物理设计的第一个步骤,在这一过程中确定芯片的大小、信号引脚(pin)的位置、硬宏(hard macro)模块、电源地网络等关键信息。
粘合逻辑是数字电路的特殊形式,它作为中间接口,允许不同类型的逻辑芯片或电路一起工作。
步骤204,在布局区域选择存储体的汇聚点,将汇聚点作为存储体到粘合逻辑的距离计算基准点。
步骤206,在未布局区域中选择离汇聚点距离最近的位置,作为当前存储体的布局位置,从而最容易满足建立时间要求,根据布局位置与汇聚点的距离计算当前存储体在布局位置时的时序要求。
在本实施例中,时序要求包括:粘合逻辑到存储体的建立时间要求和存储体到粘合逻辑的建立时间要求。
步骤208,对当前存储体进行穷举编译,得到当前存储体的候选编译配置集合,在候选编译配置集合中选择满足时序要求的当前存储体的编译配置。
步骤210,根据编译配置确定当前存储体的占用区域,将占用区域标记为已布局区域。
当所有标记的已布局区域的存储体的总容量达到预设值时,停止布局和编译操作,否则,继续在未布局区域中选择离汇聚点距离最近的位置进行存储体编译、布局和标记操作,直到已布局区域的存储体总容量达到预设值。
上述存储体编译和布局协同的片上缓存设计方法和片上缓存,首先对粘合逻辑进行预布局规划,得到粘合逻辑的布局区域,并将布局区域标记为已布局区域,在该布局区域选择存储体的汇聚点,将其作为存储体到粘合逻辑的距离计算基准点,然后在未布局区域中选择离汇聚点距离最近的位置作为当前存储体的布局位置,根据布局位置与汇聚点的距离计算当前存储体布局在该布局位置时的时序要求,对当前存储体进行穷举编译,得到当前存储体的候选编译配置集合,在候选编译配置集合中选择满足时序要求的当前存储体的编译配置,不同位置的存储体与粘合逻辑的距离各不相同,对不同位置的存储体采用不同的编译配置将能够减小面积、功耗并同时提升速度,根据编译配置确定当前存储体的占用区域,将占用区域标记为已布局区域。本方法在存储体编译同时就考虑该存储体的位置信息,从而能够准确制定存储体编译的时序要求,编译出速度符合要求、功耗最优化的SRAM存储体。
在其中一个实施例中,根据布局位置与汇聚点的距离计算当前存储体在布局位置时的时序要求:
tqm + tgt + td + tsr + tmg < tp
tqr + tgf + td + tsm + tmg < tp
其中,tqm是存储体的时钟到数据输出端的延时, tgt 是存储体到粘合逻辑方向上组合逻辑的延时,td是汇聚点到存储体的距离造成的延时,可以采用与曼哈顿距离相关的延时模型进行计算,tsr是粘合逻辑上寄存器的建立时间,tmg是预留的时序余量,以抵消实际布线时少量的绕线和串扰的影响,tqr是粘合逻辑上寄存器的时钟到数据输出端的延时,tgf是粘合逻辑到存储体方向上组合逻辑的延时,tsm是存储体的建立时间,tp是芯片工作的时钟周期,
其中,tgt、tgf、tqr和tsr可从时序库中查表得到。由此可以得到当前存储体的时序要求:
还可以考虑使用useful skew的设计简化约束,那样时钟树构建将更加复杂,但不影响本方法实现,此处不再做进一步的讨论。
在其中一个实施例中,对当前存储体进行穷举编译,包括:
对于远离粘合逻辑的当前存储体,选择拆分存储体、低阈值替换或者增大晶体管尺寸的编译方式进行穷举编译,得到当前存储体的候选编译配置集合。
对于靠近粘合逻辑的当前存储体,选择合并存储体、高阈值替换或者减小晶体管尺寸的编译方式进行穷举编译,得到当前存储体的候选编译配置集合。
当布局位置与汇聚点的距离大于距离阈值时,判断当前存储体远离合逻辑,当布局位置与聚点的距离不大于距离阈值时,判断当前存储体靠近粘合逻辑。
一般来说,存储体的编译配置包括阈值替换,增大/减小尺寸,长宽比变形,拆分/合并四种,图3 提供了存储体的不同编译配置示意图。
1)阈值替换:
集成电路中经常采用阈值替换的方式来在速度和功耗之间权衡。低阈值的晶体管速度快但功耗高,高阈值的晶体管速度慢但功耗低。图3(a)为存储体编译配置基准结构,图3(b)提供了阈值替换的存储体编译配置。阈值替换的优点是其占用的面积相同,不需要调整芯片的布局规划,可以在物理设计的任意阶段替换插入。一般仅仅对译码电路,字线驱动等外围电路进行阈值替换。在存储体中,bit cell简单的阈值替换将会影响其噪声容限等特性,一般不对其进行阈值替换。
2)增大/减小尺寸:
尺寸调整也是速度和功耗之间权衡的一种常见方式。一般来说增大尺寸可以提高速度,但同时也带来面积和功耗的增加。尺寸调整以bit cell为核心进行,根据性能要求增大/减小bit cell的尺寸。然后根据bit cell的尺寸,调整设计译码器、IO、MUX等外围电路的尺寸。图3(c)提供了增大bit cell 尺寸的存储体编译配置。这一方法将会显著改变存储体面积,从而必然导致布局规划的改变。
3)长宽比变形
存储体可以保持容量不变,但长宽比发生改变。方法之一是改变存储体内的列多选,例如使得bit阵列的行数减半但列数加倍,再增加一个列多选来选择输出数据。图3(d)提供了调整列多选数的存储体编译配置。另一种保持容量不变的方法是改变存储体的深度与宽度,例如深度减半且宽度加倍或深度加倍且宽度减半,也有以上两种方法的组合。
总的来说,这些方法保持存储体的容量不变、总面积基本不变,但会明显改变字线和位线的长度,使得速度和功耗都会有所变化。
4)拆分与合并
拆分有两种方式:
一种是保持深度不变、拆分位宽,这种情况下,拆分后的小存储体可以保持和原大存储体的译码电路不变,仅仅将bit cell阵列宽度缩减一半。
另一种是保持位宽不变、拆分深度,这种情况下,bit cell阵列高度将缩减一半,地址缩减1位,译码电路随之缩减,拆分后的两个小存储体都保持原有数据位宽,使得数据线增加一倍,在外部需要加多选器在多个小存储体之间选择数据,这将对逻辑设计、布线都有影响。
这两种方法都会缩短字线或位线,从而提高速度。但是拆分后的各个存储体都需要译码等外围电路,还需要增加存储体间的间距,因此面积和功耗会变大。反之可以将2个(或多个存储体)合并为1个,从而减小面积和功耗,但会导致性能降低。图3(e)和图3(f)分别提供了拆分和合并的存储体编译配置。
在其中一个实施例中,拆分存储体或合并存储体的步骤,包括:
拆分存储体包括拆分存储体的深度或者位宽,得到的候选编译配置集合中的存储体的深度和位宽均为2的幂次,且集合中各个拆分存储体的编译配置中存储体的总容量不超过1Mbit;
合并存储体包括合并存储体的深度或者位宽,得到的候选编译配置集合中的存储体的深度和位宽均为2的幂次,且集合中各个合并存储体的编译配置中存储体的总容量不超过1Mbit。
存储体穷举编译同时考虑深度、位宽、阈值、尺寸、长宽比等几个维度上可能的存储体实例生成,这是一个很大的搜索空间,为了在有限时间内完成搜索,因此需要对这些维度做出一些限制。在以上约束下,存储器的编译配置一般能缩减在30~120种之间,从而穷举编译能够在3~4个小时内完成。
在其中一个实施例中,在布局区域选择存储体的汇聚点,包括:
将粘合逻辑的布局区域的中心或者中心靠近端口的位置作为汇聚点。
端口是全芯片的对外端口。
在其中一个实施例中,对当前存储体进行穷举编译,得到当前存储体的候选编译配置集合,在候选编译配置集合中选择满足时序要求的当前存储体的编译配置,还包括:
在满足时序要求的前提下,以单位bit功耗最小为约束条件,确定当前存储体的编译配置。
在其中一个实施例中,在根据编译配置确定当前存储体的占用区域,将占用区域标记为已布局区域之后,还包括:
记录已布局区域的存储体总容量,在未布局区域中选择离汇聚点距离最近的位置进行存储体编译和布局,直到已布局区域的存储体总容量达到预设值,最后进行RTL集成、综合和后端布局布线,完成整个片上缓存设计。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,具体说明存储体编译和布局协同的片上缓存设计过程并展示其效果,在该实施例中,片上缓存具体指的是一个共有48Mbit的存储容量的片上共享缓冲池,深度为24576,宽度为256,具有AXI接口与片上其他部件互联,其中,图4和图5分别是采用传统同构存储体的设计和采用协同编译优化的方法得到的存储体的配置和布局,在本实施中,以下对两者简称为基准设计和优化设计。
表1提供了不同编译配置下存储体的指标,其中采用传统同构存储体的设计的片上缓存结构,内部有96个数据存储体DMem,为了实现500Mhz的频率,选择如表1中第一行的存储体配置方式,其容量为4096x128bit,列多选为4。
采用协同编译优化的方法得到的存储体的配置和布局中,选取的汇聚点是粘合逻辑中间靠上的区域。其中包含4种不同存储体来实现这一片上缓存,每种存储体的具体参数如表1所示。
表1不同编译配置下存储体的指标
DMemX2H是深度相比DMem增大2倍且进行了HVT替换的存储体,它布局在最靠近中心标准单元的区域,在ML端角下该存储体的单位动态功耗相比原存储体有24.7%的减少,单位漏流功耗与基准设计基本相当。DMemX2是深度相比DMem增大2倍的存储体,它布局在DMemX2H的外围,它的单位动态功耗相比原DMem也有8.1%的降低。DMemR容量与DMem相同,只是深度增加了一倍、宽度降低了一半,可以减少存储体端口的布线拥塞,同时其功耗也有所减少,DMemR放置在DMemX2的更外围用跨越更远的距离。DMemRL是在DMemR的基础上进一步做了LVT替换,仅用在左下和右下两个角上,用于提高关键这两个位置的速度,如图5所示,a代表DMemX2H,b代表DMemX2,c代表DMemR,d代表DMemRL。
在本实施例中,也尝试了增尺寸的配置,但这种配置下单位功耗过大,所以在所有位置都没有选用。
基准设计和优化设计的一些关键指标的对比如表2和表3所示。在面积方面优化设计减小了8.6%,原因是采用了很多X2容量的存储体,消除了存储体之间的缝隙,从而全芯片宽度有所缩减。在关键路径延时上优化设计缩短了8.1%,这是因为我们在角部采用了LVT的存储体。在实例数方面,在设计的各个阶段优化设计都要明显少于基准设计,这是因为采用了X2以及DMemR存储体使得多选都在存储体内部,减少了外部所需要的多选单元及布线,因此单元数减少了9.9%。类似的原因,布线线长也减少了9.8%。
表2设计指标对比
表3设计实例数对比
最后,详细对比了基准设计和优化设计的功耗情况。功耗分析都按500MHz的频率进行,数据路径设定为0.2的翻转率,时钟路径设定为2的翻转率,时钟门控系数为0.6。分别在WCL和ML两个corner下进行了分析,具体结果如表4所示。优化设计WCL下总功耗降低了9.8%,漏流功耗与基准设计基本相当。ML下总功耗降低了10.9%,漏流功耗降低了6.2%。
表4功耗对比
在一个实施例中,如图6所示,提供了一种存储体编译和布局协同的片上缓存设计装置的结构框图,包括:布局区域确定模块、汇聚点选择模块、布局位置选择模块、编译配置选择模块和标记模块,其中:
布局区域确定模块,用于对粘合逻辑进行预布局规划,得到粘合逻辑的布局区域,并将布局区域标记为已布局区域。
汇聚点选择模块,用于在布局区域选择存储体的汇聚点,将汇聚点作为存储体到粘合逻辑的距离计算基准点。
布局位置选择模块,用于在未布局区域中选择汇聚点距离最近的位置,作为当前存储体的布局位置,根据布局位置与汇聚点的距离计算当前存储体布局在布局位置时的时序要求。
编译配置选择模块,用于对当前存储体进行穷举编译,得到当前存储体的候选编译配置集合,在候选编译配置集合选择满足时序要求的当前存储体的编译配置。
标记模块,用于根据编译配置确定当前存储体的占用区域,将占用区域标记为已布局区域。
在一个实施例中,存储体布局位置选择模块还用于,根据布局位置与汇聚点的距离计算当前存储体布局在布局位置时的时序要求:
tqm + tgt + td + tsr + tmg < tp
tqr + tgf + td + tsm + tmg < tp
其中,tqm是存储体的时钟到数据输出端的延时, tgt 是存储体到粘合逻辑方向上组合逻辑的延时,td是汇聚点到存储体的距离造成的延时,tsr是粘合逻辑上寄存器的建立时间,tmg是预留的时序余量,tqr是粘合逻辑上寄存器的时钟到数据输出端的延时,tgf是粘合逻辑到存储体方向上组合逻辑的延时,tsm是存储体的建立时间,tp是芯片工作的时钟周期。
在一个实施例中,编译配置选择模块还用于对于远离粘合逻辑的当前存储体,选择拆分存储体、低阈值替换或者增大晶体管尺寸的编译方式进行穷举编译,得到当前存储体的候选编译配置集合,对于靠近粘合逻辑的当前存储体,选择合并存储体、高阈值替换或者减小晶体管尺寸的编译方式进行穷举编译,得到当前存储体的候选编译配置集合。
当布局位置与汇聚点的距离大于距离阈值时,判断当前存储体远离粘合逻辑,当布局位置与汇聚点的距离不大于距离阈值时,判断当前存储体靠近粘合逻辑。
在一个实施例中,编译配置选择模块还用于:
拆分存储体包括拆分存储体的深度或者位宽,得到的候选编译配置集合中的存储体的深度和位宽均为2的幂次,且集合中各个拆分存储体的编译配置中存储体的总容量不超过1Mbit。
合并存储体包括合并存储体的深度或者位宽,得到的候选编译配置集合中的存储体的深度和位宽均为2的幂次,且集合中各个合并存储体的编译配置中存储体的总容量不超过1Mbit。
在一个实施例中,编译配置选择模块还用于在满足时序要求的前提下,以单位bit功耗最小为约束条件,确定当前存储体的编译配置。
在一个实施例中,汇聚点选择模块还用于,将粘合逻辑的布局区域的中心或者中心靠近端口的位置作为汇聚点。
端口是指全芯片的对外端口。
关于存储体编译和布局协同的片上缓存设计装置的具体限定可以参见上文中对于存储体编译和布局协同的片上缓存设计方法的限定,在此不再赘述。上述存储体编译和布局协同的片上缓存设计装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种片上缓存,片上缓存由执行上述实施例中方法的步骤后设计完成。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述实施例中方法的步骤。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (8)
1.一种存储体编译和布局协同的片上缓存设计方法,其特征在于,所述方法包括:
对粘合逻辑进行预布局规划,得到所述粘合逻辑的布局区域,并将所述布局区域标记为已布局区域;
在所述布局区域选择存储体的汇聚点,将所述汇聚点作为所述存储体到所述粘合逻辑的距离计算基准点;
在未布局区域中选择离所述汇聚点距离最近的位置,作为当前存储体的布局位置,根据所述布局位置与所述汇聚点的距离计算所述当前存储体布局在所述布局位置时的时序要求;
对所述当前存储体进行穷举编译,得到所述当前存储体的候选编译配置集合,在所述候选编译配置集合中选择满足所述时序要求的所述当前存储体的编译配置;
根据所述编译配置确定所述当前存储体的占用区域,将所述占用区域标记为已布局区域。
2.根据权利要求1所述的方法,其特征在于,根据所述布局位置与所述汇聚点的距离计算所述当前存储体布局在所述布局位置时的时序要求,包括:
根据所述布局位置与所述汇聚点的距离计算所述当前存储体布局在所述布局位置时的时序要求:
tqm + tgt + td + tsr + tmg < tp
tqr + tgf + td + tsm + tmg < tp
其中,tqm是存储体的时钟到数据输出端的延时, tgt 是存储体到粘合逻辑方向上组合逻辑的延时,td是汇聚点到存储体的距离造成的延时,tsr是粘合逻辑上寄存器的建立时间,tmg是预留的时序余量,tqr是粘合逻辑上寄存器的时钟到数据输出端的延时,tgf是粘合逻辑到存储体方向上组合逻辑的延时,tsm是存储体的建立时间,tp是芯片工作的时钟周期。
3.根据权利要求2所述的方法,其特征在于,对所述当前存储体进行穷举编译,得到所述当前存储体的候选编译配置集合,包括:
对于远离所述粘合逻辑的所述当前存储体,选择拆分存储体、低阈值替换或者增大晶体管尺寸的编译方式进行穷举编译,得到所述当前存储体的候选编译配置集合;
对于靠近所述粘合逻辑的所述当前存储体,选择合并存储体、高阈值替换或者减小晶体管尺寸的编译方式进行穷举编译,得到所述当前存储体的候选编译配置集合;
当所述布局位置与所述汇聚点的距离大于距离阈值时,判断所述当前存储体远离所述粘合逻辑,当所述布局位置与所述汇聚点的距离不大于距离阈值时,判断所述当前存储体靠近所述粘合逻辑。
4.根据权利要求3所述的方法,其特征在于,拆分存储体或合并存储体的步骤,包括:
拆分存储体包括拆分所述存储体的深度或者位宽,得到的候选编译配置集合中的存储体的所述深度和位宽均为2的幂次,且所述集合中各个拆分存储体的编译配置中存储体的总容量不超过1Mbit;
合并存储体包括合并所述存储体的深度或者位宽,得到的候选编译配置集合中的存储体的所述深度和位宽均为2的幂次,且所述集合中各个合并存储体的编译配置中存储体的总容量不超过1Mbit。
5.根据权利要求4所述的方法,其特征在于,在所述布局区域选择存储体的汇聚点,包括:
将所述粘合逻辑的布局区域的中心或者所述中心靠近端口的位置作为汇聚点;所述端口是全芯片的对外端口。
6.根据权利要求5所述的方法,其特征在于,对所述当前存储体进行穷举编译,得到所述当前存储体的候选编译配置集合,在所述候选编译配置集合中选择满足所述时序要求的所述当前存储体的编译配置,还包括:
在满足所述时序要求的前提下,以单位bit功耗最小为约束条件,确定所述当前存储体的编译配置。
7.根据权利要求1至6任一项所述的方法,其特征在于,在根据所述编译配置确定所述当前存储体的占用区域,将所述占用区域标记为已布局区域之后,所述方法还包括:
记录所述已布局区域的存储体总容量;
在未布局区域中选择离所述汇聚点距离最近的位置进行存储体编译和布局,直到所述已布局区域的存储体总容量达到预设值;
进行RTL集成、综合和后端布局布线,完成整个片上缓存设计。
8.一种片上缓存,其特征在于,所述片上缓存是执行权利要求1至7中任一项所述的方法的步骤设计得到的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210232665.XA CN114357931B (zh) | 2022-03-10 | 2022-03-10 | 存储体编译和布局协同的片上缓存设计方法和片上缓存 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210232665.XA CN114357931B (zh) | 2022-03-10 | 2022-03-10 | 存储体编译和布局协同的片上缓存设计方法和片上缓存 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114357931A true CN114357931A (zh) | 2022-04-15 |
CN114357931B CN114357931B (zh) | 2022-05-17 |
Family
ID=81094890
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210232665.XA Active CN114357931B (zh) | 2022-03-10 | 2022-03-10 | 存储体编译和布局协同的片上缓存设计方法和片上缓存 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114357931B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115618782A (zh) * | 2022-12-20 | 2023-01-17 | 中国人民解放军国防科技大学 | 局部降电压的集成电路物理实现方法、装置和计算机设备 |
CN116050328A (zh) * | 2022-12-30 | 2023-05-02 | 成都电科星拓科技有限公司 | 芯片存储器拆分方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5984510A (en) * | 1996-11-01 | 1999-11-16 | Motorola Inc. | Automatic synthesis of standard cell layouts |
US20150213177A1 (en) * | 2014-01-28 | 2015-07-30 | Arm Limited | Computer implemented system and method for generating a layout of a cell defining a circuit component |
CN111931447A (zh) * | 2020-07-22 | 2020-11-13 | 深圳市紫光同创电子有限公司 | Fpga布局方法、装置、电子设备及存储介质 |
CN112464609A (zh) * | 2020-12-08 | 2021-03-09 | 北京百瑞互联技术有限公司 | 一种集成电路相对位置布局优化方法、装置及存储介质 |
-
2022
- 2022-03-10 CN CN202210232665.XA patent/CN114357931B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5984510A (en) * | 1996-11-01 | 1999-11-16 | Motorola Inc. | Automatic synthesis of standard cell layouts |
US20150213177A1 (en) * | 2014-01-28 | 2015-07-30 | Arm Limited | Computer implemented system and method for generating a layout of a cell defining a circuit component |
CN111931447A (zh) * | 2020-07-22 | 2020-11-13 | 深圳市紫光同创电子有限公司 | Fpga布局方法、装置、电子设备及存储介质 |
CN112464609A (zh) * | 2020-12-08 | 2021-03-09 | 北京百瑞互联技术有限公司 | 一种集成电路相对位置布局优化方法、装置及存储介质 |
Non-Patent Citations (2)
Title |
---|
EUGENE ANTHONY CARTWRIGHT III: "Extending the HybridThread SMP Model for Distributed Memory", 《EUGENE ANTHONY CARTWRIGHT, III UNIVERSITY OF ARKANSAS BACHELOR OF SCIENCE IN COMPUTER ENGINEERING, 2009》 * |
胡晓旭 等: "QDRⅡ+SRAM PHY模块的设计研究", 《计算机研究与发展》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115618782A (zh) * | 2022-12-20 | 2023-01-17 | 中国人民解放军国防科技大学 | 局部降电压的集成电路物理实现方法、装置和计算机设备 |
CN115618782B (zh) * | 2022-12-20 | 2023-03-17 | 中国人民解放军国防科技大学 | 局部降电压的集成电路物理实现方法、装置和计算机设备 |
CN116050328A (zh) * | 2022-12-30 | 2023-05-02 | 成都电科星拓科技有限公司 | 芯片存储器拆分方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114357931B (zh) | 2022-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114357931B (zh) | 存储体编译和布局协同的片上缓存设计方法和片上缓存 | |
Vogelsang | Understanding the energy consumption of dynamic random access memories | |
Amrutur et al. | Speed and Power Scaling of SRAM's | |
Agarwal et al. | A process-tolerant cache architecture for improved yield in nanoscale technologies | |
JP3144967B2 (ja) | 半導体集積回路およびその製造方法 | |
US11120190B2 (en) | Metal zero power ground stub route to reduce cell area and improve cell placement at the chip level | |
US7788619B2 (en) | Memories, memory compiling systems and methods for the same | |
TW201419020A (zh) | 產生包含標準元件及至少一個記憶體實體兩者的積體電路之佈局的方法 | |
US11437316B2 (en) | Folded cell layout for 6T SRAM cell | |
US11710698B2 (en) | Dual-track bitline scheme for 6T SRAM cells | |
US20220138395A1 (en) | Hierarchical clock tree implementation | |
US20240020451A1 (en) | Systems and methods for integrated circuit layout | |
US10878157B2 (en) | Variant cell height integrated circuit design | |
Xu et al. | Enhanced 3D implementation of an Arm® Cortex®-A microprocessor | |
CN108446412B (zh) | 存储器编译方法、装置及生成的存储器 | |
CN115496647A (zh) | 一种gpu模块低功耗处理方法 | |
Koppanalil et al. | A 1.6 GHz dual-core ARM Cortex A9 implementation on a low power high-K metal gate 32nm process | |
Hsu et al. | Crosstalk-aware power optimization with multi-bit flip-flops | |
Wu et al. | A novel high performance and energy efficient NUCA architecture for STT-MRAM LLCs with thermal consideration | |
Marinberg et al. | Efficient Implementation of Many-Ported Memories by Using Standard-Cell Memory Approach | |
Shih et al. | DArT: A component-based DRAM area, power, and timing modeling tool | |
Bonetti et al. | Gain-cell embedded DRAMs: Modeling and design space | |
US10747931B2 (en) | Shift of circuit periphery layout to leverage optimal use of available metal tracks in periphery logic | |
Fadnavis et al. | PNR flow methodology for congestion optimization using different macro placement strategies of DDR memories | |
US20220147683A1 (en) | Method for implementing an integrated circuit comprising a random-access memory-in-logic |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |