一种获取存储器宏单元尺寸的方法及装置与流程

文档序号:12667862阅读:265来源:国知局
一种获取存储器宏单元尺寸的方法及装置与流程

本发明涉及存储器技术领域,尤其涉及一种获取存储器宏单元尺寸的方法及装置。



背景技术:

随着半导体制造工艺和集成电路设计能力的不断进步,系统级芯片(System-on-Chip,SoC)中使用的存储器数目日益增多,由于在同一个设计中需要各种大小不同或者结构不同的存储器,完全用全定制的方法设计这些存储器变得非常困难。存储器编译器就成为用来生成不同大小与功能的存储器的有效工具而被广泛使用。存储器编译器编程产生存储器宏单元时,部分设计文件需要获取存储器宏单元的尺寸,比如Datasheet、Synopsys Liberty模型文件等。获取存储器宏单元尺寸最直接的办法是编译产生真实版图,再读取版图尺寸。但是在实际环境中,由于版权控制的原因,存储器编译器不一定能提供真实版图,或者由于版图由版图编程编译产生,存储器编译器处于设计早期阶段,尚未形成真实版图,因此需要一套不依赖真实版图编程的方法。

目前现有技术中不依赖真实版图获取存储器宏单元尺寸的方法是查表,即在存储器编译器设计阶段预制一份以存储器宏单元参数(如存储器字数、位数)为索引的尺寸表,通过在所述尺寸表中检索存储器宏单元参数获取存储器宏单元尺寸信息。

在实现本发明的过程中,发明人发现现有技术中至少存在如下技术问题:存储器宏单元尺寸由存储器编译器参数决定,可能的参数组合数越多,以存储 器编译器参数为索引的尺寸表数据就越庞大,从而导致存储器编译器的设计复杂度大大增加。



技术实现要素:

本发明提供的一种获取存储器宏单元尺寸的方法及装置,能够降低存储器编译器的设计复杂度。

第一方面,本发明提供一种获取存储器宏单元尺寸的方法,所述获取存储器宏单元尺寸的方法包括:

获取全部的框架版图基本单元;

将所述全部的框架版图基本单元按照预设的版图拼接算法进行拼接,得到存储器宏单元顶层新建单元;

根据所述全部的框架版图基本单元的坐标获取所述存储器宏单元顶层新建单元的坐标;

根据所述存储器宏单元顶层新建单元的坐标计算所述存储器宏单元的尺寸。

可选地,所述根据所述全部的框架版图基本单元的坐标获取所述存储器宏单元顶层新建单元的坐标包括:

取各框架版图基本单元左下角的X坐标的最小值作为所述存储器宏单元顶层新建单元的左下角的X坐标,取各框架版图基本单元左下角的Y坐标的最小值作为所述存储器宏单元顶层新建单元的左下角的Y坐标;

取各框架版图基本单元右上角的X坐标的最大值作为所述存储器宏单元顶层新建单元的右上角的X坐标,取各框架版图基本单元右上角的Y坐标的最大值作为所述存储器宏单元顶层新建单元的右上角的Y坐标。

可选地,所述根据所述存储器宏单元顶层新建单元的坐标计算所述存储器宏单元的尺寸包括:

将所述存储器宏单元顶层新建单元的右上角的X坐标与左下角的X坐标作差,得到所述存储器宏单元的宽度;将所述存储器宏单元顶层新建单元的右上角的Y坐标与左下角的Y坐标作差,得到所述存储器宏单元的高度。

可选地,所述预设的版图拼接算法为版图编程中版图基本单元的拼接算法。

可选地,在所述根据所述存储器宏单元顶层新建单元的坐标计算所述存储器宏单元的尺寸之后,还包括当需要为所述存储器宏单元增加电源环时,将所述电源环的轮廓矩形的尺寸作为所述存储器宏单元的尺寸。

第二方面,本发明提供一种获取存储器宏单元尺寸的装置,所述获取存储器宏单元尺寸的装置包括:

第一获取单元,用于获取全部的框架版图基本单元;

拼接单元,用于将所述全部的框架版图基本单元按照预设的版图拼接算法进行拼接,得到存储器宏单元顶层新建单元;

第二获取单元,用于根据所述全部的框架版图基本单元的坐标获取所述存储器宏单元顶层新建单元的坐标;

计算单元,用于根据所述存储器宏单元顶层新建单元的坐标计算所述存储器宏单元的尺寸。

可选地,所述第二获取单元,用于取各框架版图基本单元左下角的X坐标的最小值作为所述存储器宏单元顶层新建单元的左下角的X坐标,取各框架版图基本单元左下角的Y坐标的最小值作为所述存储器宏单元顶层新建单元的左下角的Y坐标;取各框架版图基本单元右上角的X坐标的最大值作为所述存储器宏单 元顶层新建单元的右上角的X坐标,取各框架版图基本单元右上角的Y坐标的最大值作为所述存储器宏单元顶层新建单元的右上角的Y坐标。

可选地,所述计算单元,用于将所述存储器宏单元顶层新建单元的右上角的X坐标与左下角的X坐标作差,得到所述存储器宏单元的宽度;将所述存储器宏单元顶层新建单元的右上角的Y坐标与左下角的Y坐标作差,得到所述存储器宏单元的高度。

可选地,所述预设的版图拼接算法为版图编程中版图基本单元的拼接算法。

可选地,所述获取存储器宏单元尺寸的装置还包括重置单元,用于在所述计算单元根据所述存储器宏单元顶层新建单元的坐标计算所述存储器宏单元的尺寸之后,当需要为所述存储器宏单元增加电源环时,将所述电源环的轮廓矩形的尺寸作为所述存储器宏单元的尺寸。

本发明实施例提供的一种获取存储器宏单元尺寸的方法及装置,采用框架版图编程的方法获得存储器宏单元的尺寸,不需要在存储器编译器设计阶段制作表格,从而能够降低存储器编译器的设计复杂度。

附图说明

图1为本发明一实施例获取存储器宏单元尺寸的方法的流程图;

图2为本发明一实施例中框架版图基本单元进行拼接的结构示意图;

图3为本发明一实施例获取存储器宏单元尺寸的装置的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发 明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

存储器宏单元是由存储器编译器编译产生的存储器单元,由一组设计文件组成,通常包括版图、网表、EDA视图等,下文“宏单元”亦指“存储器宏单元。存储器宏单元尺寸指存储器宏单元的宽度和高度。所述获取存储器宏单元尺寸的方法通过框架版图编程的方法来实现。其中框架版图编程与版图编程相对应,版图编程是存储器编译器产生存储器过程中的编译任务之一,存储器编译器是生成存储器宏单元设计文件的一系列参数化的库和工具包的集合,通常包含版图编程、网表编程、EDA视图产生等模块。版图编程指使用编程的方法对版图基本单元、新建单元和图元进行选取、拼接、绘制等操作以形成版图的操作。其中版图基本单元作为版图编程的输入,版图编程读入基本单元用于拼接成新建单元,版图基本单元本身亦包含一系列图元信息可供版图编程调用。其中版图编程形成的版图是指将集成电路的金属、氧化物和半导体等各层次组成部分表示成平面几何图元的形式。其中版图编程的过程如下:

1、读取存储器版图基本单元;

2、使用存储器版图基本单元拼接以形成新建单元;

3、继续使用存储器版图基本单元和拼接好的新建单元,进行拼接,直至完成存储器宏单元顶层新建单元。

框架版图编程的过程与上述相似,特殊点在于所读取的基本单元是框架版图基本单元。框架版图基本单元是表示版图基本单元轮廓尺寸的矩形,仅包含一个几何图元的轮廓矩形。框架版图由框架版图基本单元组成,仅含版图编程所需几何图元的轮廓矩形,不含金属、氧化物和半导体等层次。

本发明实施例提供一种获取存储器宏单元尺寸的方法,如附图1所示,所述方法包括:

步骤S11:获取全部的框架版图基本单元。

在存储器编译器设计早期,由于完整版图尚未完备,但可以先将框架版图的基本单元绘制好。或者,虽然存储器编译具备完整版图,但由于版权控制等原因不提供版图的,可以在完整版图中将除了版图基本单元轮廓矩形以外的所有几何图元全部删除,只剩轮廓矩形,以作框架版图,由框架版图从而得到框架版图基本单元。

步骤S12:将所述全部的框架版图基本单元按照预设的版图拼接算法进行拼接,得到存储器宏单元顶层新建单元。框架版图编程的基本原理是模块拼接,从框架版图基本单元开始拼接形成高层次的模块,然后再对这些模块进行拼接直到最终形成存储器宏单元顶层新建单元。

如附图2所示,将框架版图基本单元进行拼接,以产生新建单元,新建单元拼接完成后,新建一个轮廓矩形于新建单元内,为后续拼接做准备。新建的轮廓矩形,覆盖所有拼接所用框架版图基本单元的轮廓矩形,但是为最小覆盖单一矩形。继续使用框架版图基本单元和拼接好的新建单元,进行拼接,直至完成存储器宏单元顶层新建单元。在这里框架版图编程中模块的拼接算法与版图编程中模块的拼接算法保持一致,比如如何选择子模块,以何种方式拼接子模块,对子模块个数与位置的调整与版图编程中拼接方法保持一致,从而确保最后得到的顶层新建单元中的轮廓矩形的尺寸与实际的存储器宏单元尺寸保持一致。

步骤S13:根据所述全部的框架版图基本单元的坐标获取所述存储器宏单元 顶层新建单元的坐标;

步骤S14:根据所述存储器宏单元顶层新建单元的坐标计算所述存储器宏单元的尺寸。

本发明实施例提供的一种获取存储器宏单元尺寸的方法,采用框架版图编程的方法获得存储器宏单元尺寸,不需要在存储器编译器设计阶段制作表格,从而能够减小存储器编译器的设计复杂度。

可选地,所述根据所述全部的框架版图基本单元的坐标获取所述存储器宏单元顶层新建单元的坐标包括:取各框架版图基本单元左下角的X坐标的最小值作为所述存储器宏单元顶层新建单元的左下角的X坐标,取各框架版图基本单元左下角的Y坐标的最小值作为所述存储器宏单元顶层新建单元的左下角的Y坐标;取各框架版图基本单元右上角的X坐标的最大值作为所述存储器宏单元顶层新建单元的右上角的X坐标,取各框架版图基本单元右上角的Y坐标的最大值作为所述存储器宏单元顶层新建单元的右上角的Y坐标。

如附图2所示,假设所述框架版图基本单元左下角和右上角的坐标分别为(xi1,yi1)、(xi2,yi2),其中i的取值为0-n,其中n为形成存储器宏单元顶层新建单元的框架版图基本单元的个数,那么,存储器宏单元顶层新建单元的左下角及右上角坐标为(min(x11,x21,…,xn1),min(y11,y21,…,yn1)),(max(x12,x22,…,xn2),max(y12,y22,…,yn2))。

可选地,所述根据所述存储器宏单元顶层新建单元的坐标计算所述存储器宏单元的尺寸包括:将所述存储器宏单元顶层新建单元的右上角的X坐标与左下角的X坐标作差,得到所述存储器宏单元的宽度;将所述存储器宏单元顶层新建单元的右上角的Y坐标与左下角的Y坐标作差,得到所述存储器宏单元的高度。

可选地,所述预设的版图拼接算法为版图编程中版图基本单元的拼接算法。

所述预设的版图拼接算法即框架版图编程中框架版图基本单元的拼接算法,框架版图基本单元的拼接算法与版图编程中版图基本单元的拼接算法保持一致,比如如何选择基本单元,以何种方式拼接基本单元,对基本单元个数与位置的调整与版图编程中的拼接方法保持一致,从而确保最后得到的顶层新建单元中的轮廓矩形的尺寸与实际的存储器宏单元尺寸保持一致。

可选地,在所述根据所述存储器宏单元顶层新建单元的坐标计算所述存储器宏单元的尺寸之后,还包括当需要为所述存储器宏单元增加电源环时,将所述电源环的轮廓矩形的尺寸作为所述存储器宏单元的尺寸。

当需要为存储器宏单元增加电源环时,此时把存储器宏单元顶层新建单元的轮廓矩形扩大到电源环的轮廓矩形。电源环的尺寸在版图编程的过程中由版图编程引擎计算出来的,同时也就得到电源环的轮廓矩形的尺寸,把该电源环的轮廓矩形的尺寸作为存储器宏单元的尺寸。

本发明实施例还提供一种获取存储器宏单元尺寸的装置,如图3所示,所述装置包括:

第一获取单元31,用于获取全部的框架版图基本单元;

拼接单元32,用于将所述全部的框架版图基本单元按照预设的版图拼接算法进行拼接,得到存储器宏单元顶层新建单元;

第二获取单元33,用于根据所述全部的框架版图基本单元的坐标获取所述存储器宏单元顶层新建单元的坐标;

计算单元34,用于根据所述存储器宏单元顶层新建单元的坐标计算所述存储器宏单元的尺寸。

在存储器编译器设计早期,由于完整版图尚未完备,但可以先将框架版图的基本单元绘制好。或者,虽然存储器编译具备完整版图,但由于版权控制等原因不提供版图的,可以在完整版图中将除了版图基本单元轮廓矩形以外的所有几何图元全部删除,只剩轮廓矩形,以作框架版图,由框架版图从而得到框架版图基本单元。获得框架版图基本单元后进行框架版图编程,框架版图编程的基本原理是模块拼接,从框架版图基本单元开始拼接形成高层次的模块,然后再对这些模块进行拼接直到最终形成存储器宏单元顶层新建单元。

如附图2所示,将基本单元进行拼接,以产生新建单元,新建单元拼接完成后,新建一个轮廓矩形于新建单元内,为后续拼接做准备。新建的轮廓矩形,覆盖所有拼接所用框架版图基本单元的轮廓矩形,但是为最小覆盖单一矩形。继续使用基本单元和拼接好的新建单元,进行拼接,直至完成存储器宏单元顶层新建单元。在这里框架版图编程中模块的拼接算法与版图编程中模块的拼接算法保持一致,比如如何选择子模块,以何种方式拼接子模块,对子模块个数与位置的调整与版图编程中拼接方法保持一致,从而确保最后得到的顶层新建单元中的轮廓矩形的尺寸与实际的存储器宏单元尺寸保持一致。

本发明实施例提供的一种获取存储器宏单元尺寸的装置,不需要在存储器编译器设计阶段制作表格,大大减小了存储器编译器的设计复杂度。

可选地,所述第二获取单元33,用于取各框架版图基本单元左下角的X坐标的最小值作为所述存储器宏单元顶层新建单元的左下角的X坐标,取各框架版图基本单元左下角的Y坐标的最小值作为所述存储器宏单元顶层新建单元的左下角的Y坐标;取各框架版图基本单元右上角的X坐标的最大值作为所述存储器宏单元顶层新建单元的右上角的X坐标,取各框架版图基本单元右上角的Y坐标的 最大值作为所述存储器宏单元顶层新建单元的右上角的Y坐标。

如附图2所示,假设所述框架版图基本单元左下角和右上角的坐标分别为(xi1,yi1)、(xi2,yi2),其中i的取值为0-n,其中n为形成存储器宏单元顶层新建单元的框架版图基本单元的个数,那么,存储器宏单元顶层新建单元的轮廓矩形的左下角及右上角坐标为(min(x11,x21,…,xn1),min(y11,y21,…,yn1)),(max(x12,x22,…,xn2),max(y12,y22,…,yn2))。

可选地,所述计算单元34,用于将所述存储器宏单元顶层新建单元的右上角的X坐标与左下角的X坐标作差,得到所述存储器宏单元的宽度;将所述存储器宏单元顶层新建单元的右上角的Y坐标与左下角的Y坐标作差,得到所述存储器宏单元的高度。

可选地,所述预设的版图拼接算法为版图编程中版图基本单元的拼接算法。

所述预设的版图拼接算法即框架版图编程中框架版图基本单元的拼接算法,框架版图基本单元的拼接算法与版图编程中版图基本单元的拼接算法保持一致,比如如何选择基本单元,以何种方式拼接基本单元,对基本单元个数与位置的调整与版图编程中的拼接方法保持一致,从而确保最后得到的顶层新建单元中的轮廓矩形的尺寸与实际的存储器宏单元尺寸保持一致。

可选地,所述获取存储器宏单元尺寸的装置还包括重置单元,用于在所述计算单元根据所述存储器宏单元顶层新建单元的坐标计算所述存储器宏单元的尺寸之后,当需要为所述存储器宏单元增加电源环时,将所述电源环的轮廓矩形的尺寸作为所述存储器宏单元的尺寸。

当需要为存储器宏单元增加电源环时,此时把存储器宏单元顶层新建单元的轮廓矩形扩大到电源环的轮廓矩形。电源环的尺寸在版图编程的过程中由版 图编程引擎计算出来的,同时也就得到电源环的轮廓矩形的尺寸,把该电源环的轮廓矩形的尺寸作为存储器宏单元的尺寸。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1