CN108446412B - 存储器编译方法、装置及生成的存储器 - Google Patents
存储器编译方法、装置及生成的存储器 Download PDFInfo
- Publication number
- CN108446412B CN108446412B CN201710083864.8A CN201710083864A CN108446412B CN 108446412 B CN108446412 B CN 108446412B CN 201710083864 A CN201710083864 A CN 201710083864A CN 108446412 B CN108446412 B CN 108446412B
- Authority
- CN
- China
- Prior art keywords
- memory
- gate
- level
- unit
- definition
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明提供了一种存储器编译方法、装置及生成的存储器,首先对构成存储器的存储阵列、读写译码进行结构化的定义,根据其结构化的定义形成硬件描述语言模块,根据硬件描述语言模块形成网表,进而通过规则化的布局、布线形成版图。在对存储器的存储阵列进行结构化定义时,先对存储单元进行结构化定义,根据存储器的位数、项数重复调用存储单元的结构化定义形成存储阵列的结构化定义,形成的存储器的存储阵列的结构是规则化的,从而提高了时序性能,规则化的存储阵列使得布局布线容易控制,在面积、布局可控等方面性能较高。存储单元基于门级单元内部路径透明可见,从而便于用户对存储器内部电路进行修改以及便于后续的静态时序分析。
Description
技术领域
本发明涉及数字计算机系统的存储器系统技术领域,尤其涉及一种存储器编译方法、装置及生成的存储器。
背景技术
半导体存储器(memory)是一种以半导体电路作为存储媒介的存储器,其最早出现于二十世纪60年代,至今已经历了50多年的发展历程。在当今的芯片中,70%以上的晶体管是用于存储器当中的,在可以预见的将来,这一比率还将继续增加。这种状况在系统级的层次上表现得更为突出,高性能工作站和计算机中包含的半导体存储器容量可达数百G字节甚至数T字节以上,并且随着集成电路技术的发展这一容量还在持续增长。当前,各种类型存储器的产量及其市场占有率的排序依次为DRAM、SRAM、ROM、EPROM、E2PROM和Flash。半导体存储器通常被看作是数字逻辑系统设计中最重要的微电子器件,这些系统包括从卫星到消费类电子产品以微处理器或SoC(芯片级系统)为基础的系统。
很多集成电路设计公司致力于研发用于商业目的的存储器知识产权核心,很多芯片制造厂(Foundry)也有自己的存储器编译器,如TSMC,SMIC,UMC等提供给客户多种存储器的IPs,这种IPs往往是下到管级采用全定制方式进行设计。现有技术中生成存储器的方法一是采用芯片制造厂商提供的存储器编译器自动产生存储器,存储器编译器产生的存储单元模块可以是SRAM,ROM,也可以是Flash等等,存储器编译器可以生成不同大小的存储器单元模块,并能做到单元模块面积和速度的最优化。用户一般根据存储器编译器的产生器(Generator)来产生所需要的存储器模块单元的GDSII文件和网表文件等。
现有技术中生成存储器的方法二是通过第三方逻辑综合工具(Design Compiler)生成存储器,设计库(Design Ware)是由集成电路设计工具厂商提供,其本质是寄存器文件堆的逻辑级实现,第三方逻辑综合工具在逻辑综合过程中调用设计库,综合生成一个简易的寄存器文件存储单元阵列门级网表,供后端物理设计使用。
在实现本发明的过程中,发明人发现现有技术中至少存在如下技术问题:
对于采用存储器编译器自动产生存储器,其编译器生成的存储器在数字后端设计中对于基于标准单元的设计流程是不透明的,用户看到的只是一个宏单元,不能修改存储器内部的电路和版图。从而在静态时序分析(STA)中只能依靠存储器编译器的生成器产生的.lib文档文件来获取它的时序信息,它内部路径上的器件类型、大小和连通方式均不可见,内部器件的延迟信息更加不可见,给静态时序分析带来了巨大的不便,降低了分析的准确性。对于通过第三方逻辑综合工具(Design Compiler)生成存储器,其编译器生成的存储器在数字后端设计中对于基于标准单元的设计流程是透明的,但这种方式生成的网表可读性较低,由网表逻辑综合的结果不固定,内部逻辑可读性较差,布局布线不易控制,从而造成时序、面积、布局可控性等性能较差。
发明内容
本发明提供一种存储器编译方法、装置及生成的存储器,生成的存储器基于门级标准单元是透明可见的,从而便于用户对存储器内部电路进行修改以及便于后续的静态时序分析,同时存储器基于门级标准单元,形成规则化的存储阵列结构,布局布线容易控制,从而在时序、面积、布局可控等方面性能较高。
一方面,本发明提供一种存储器编译方法,所述方法包括:
接收用户输入的用户需求定义及存储器结构配置参数;
接收用户输入的存储器的结构化定义,所述存储器的结构化定义包括存储单元的结构化定义及读/写译码电路的结构化定义;
基于门级单元库,根据所述存储器结构配置参数中的存储器的位数及项数重复调用所述存储单元的结构化定义,生成存储阵列的结构化定义;
根据所述存储阵列的结构化定义及所述读/写译码电路的结构化定义生成硬件描述语言模型;
根据所述硬件描述语言模型调用所述门级单元库中的标准门级单元及全定制门级单元生成网表;
根据所述网表及所述用户需求定义进行规则化布局、生成时钟树、布线以得到存储器的版图。
另一方面,本发明提供一种存储器编译装置,所述装置包括:
第一接收单元,用于接收用户输入的用户需求定义及存储器结构配置参数;
第二接收单元,用于接收用户输入的存储器的结构化定义,所述存储器的结构化定义包括存储单元的结构化定义及读/写译码电路的结构化定义;
第一生成单元,用于基于门级单元库,根据所述存储器结构配置参数中的存储器的位数及项数重复调用所述存储单元的结构化定义,生成存储阵列的结构化定义;
第二生成单元,用于根据所述存储阵列的结构化定义及所述读/写译码电路的结构化定义生成硬件描述语言模型;
第三生成单元,用于根据所述硬件描述语言模型调用所述门级单元库中的标准门级单元及全定制门级单元生成网表;
第四生成单元,用于根据所述网表及所述用户需求定义进行规则化布局、生成时钟树、布线以得到存储器的版图。
第三方面,本发明实施例还提供一种存储器,所述存储器采用上述所述的存储器编译方法制备而成。
本发明实施例提供的存储器编译生成方法、装置及生成的存储器,首先对构成存储器的存储阵列、读写译码进行结构化的定义,根据其结构化的定义形成硬件描述语言模块,根据硬件描述语言模块形成网表,进而通过规则化的布局、布线形成版图。在对存储器的存储阵列进行结构化定义时,先对存储单元进行结构化定义,根据存储器的位数、项数重复调用存储单元的结构化定义形成存储阵列的结构化定义,形成的存储器的存储阵列的结构是规则化的,从而提高了时序性能,规则化的存储阵列使得布局布线容易控制,在面积、布局可控等方面性能提高。存储单元可以采用标准门级单元构建或全定制构建,基于门级单元内部路径透明可见,从而便于用户对存储器内部电路进行修改以及便于后续的静态时序分析。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例存储器编译生成方法的流程图;
图2为本发明实施例存储器编译生成方法的详细流程图;
图3为寄存器堆的结构示意图;
图4为两写两读存储器的存储单元的结构示意图;
图5为本发明实施例存储器编译生成方法中的布局布线结构示意图;
图6为本发明实施例存储器编译生成装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种存储器编译生成方法,如图1所示,所述方法包括:
S11、接收用户输入的用户需求定义及存储器结构配置参数;
S12、接收用户输入的存储器的结构化定义,所述存储器的结构化定义包括存储单元的结构化定义及读/写译码电路的结构化定义;
S13、基于门级单元库,根据所述存储器结构配置参数中的存储器的位数及项数重复调用所述存储单元的结构化定义,生成存储阵列的结构化定义;
S14、根据所述存储阵列的结构化定义及所述读/写译码电路的结构化定义生成硬件描述语言模型;
S15、根据所述硬件描述语言模型调用所述门级单元库中的标准门级单元及全定制门级单元生成网表;
S16、根据所述网表及所述用户需求定义进行规则化布局、生成时钟树、布线以得到存储器的版图。
本发明实施例提供的存储器编译生成方法,首先对构成存储器的存储阵列、读写译码进行结构化的定义,根据其结构化的定义形成硬件描述语言模块,根据硬件描述语言模块形成网表,进而通过规则化的布局、布线形成版图。在对存储器的存储阵列进行结构化定义时,先对存储单元进行结构化定义,根据存储器的位数、项数重复调用存储单元的结构化定义形成存储阵列的结构化定义,形成的存储器的存储阵列的结构是规则化的,从而提高了时序性能,规则化的存储阵列使得布局布线容易控制,在面积、布局可控等方面性能提高。存储单元可以采用标准门级单元构建或全定制构建,基于门级单元内部路径透明可见,从而便于用户对存储器内部电路进行修改以及便于后续的静态时序分析。
可选地,所述门级单元库中包括所述标准门级单元及全定制门级单元的时序库及物理版图。
可选地,所述存储单元及所述读/写译码电路的内部电路通过所述门级单元库中的标准门级单元构建,或者,所述存储单元及所述读/写译码电路的内部电路通过所述门级单元库中的全定制门级单元构建。
可选地,所述用户需求定义包括:存储器的形状、大小、输入端口位置及输出端口位置。
可选地,存储器结构配置参数包括:存储器的位数、项数、读端口数、写端口数、存储器长宽比、存储器是否有写使能。
可选地,所述存储单元为单端口读写或多端口读写。在数字集成电路后端设计中,尤其是处理器芯片设计中,需要许多的存储单元电路,这些电路的规模不算大,存储量大小一般在几K比特左右,根据电路所要完成的逻辑功能不同,电路的组成单元可谓千差万别。其功能需求多样化的特点又直接影响着电路的实现方式,例如有些存储器要求多端口读写,那么在电路实现时我们要做到可以保证多个端口能同时读写。传统的定制级存储器编译器生成的存储器宏单元在面积和性能方面较为有优势,但它最多只满足两个端口同时读/写,并且它的设计是非透明的,对于后端设计工作者而言是一个黑盒,由于其内部的路径和单元的不可见,对静态时序分析(STA)带来了较大的不便。同时由于该存储器的设计是非透明的,用户无法对该存储器进行修改。基于第三方工具设计的存储器虽然其设计是透明的,但其生成的存储器在时序、面积、布局可控性等方面性能较差。
本发明提供的存储器编译方法,在对存储器的存储阵列进行结构化定义时,先对存储单元进行结构化定义,根据存储器的位数、项数重复调用存储单元的结构化定义形成存储阵列的结构化定义,使得生成的存储器的存储阵列的结构是规则化的,从而提高了时序性能,规则化的存储阵列使得布局布线容易控制,在面积、布局可控等方面性能较高。存储单元可以采用标准门级单元构建或全定制构建,基于门级单元内部路径透明可见,从而便于用户对存储器内部电路进行修改以及便于后续的静态时序分析。
本发明实施例提供的存储器编译生成方法的详细流程图如图2所示,该存储器编译生成方法是基于整个数字集成电路后端设计流程之上的。数字集成电路后端设计有两个主要特点,一是基于标准单元设计,二是静态时序分析(STA)。首先,现代集成电路设计都是基于标准单元的设计,芯片制造厂商会为用户提供他们所能制造的标准单元库,库中包含了各种元器件的版图,这些元器件的版图高度相等,宽度不等,称为标准单元。用户可以使用专门的布局布线工具,根据设计要求自动调用这些标准单元来完成版图设计,从而大大提高了设计效率。而所谓静态时序分析(STA),是一种穷尽分析方法,用以衡量电路性能。它提取整个电路的所有时序路径,通过计算信号沿在路径上的延迟传播找出违背时序约束的错误,主要是检查建立时间和保持时间是否满足要求,而它们又是分别通过对最大路径延迟和最小路径延迟的分析得到。在本发明实施例提供的存储器编译方法的流程中,首先输入用户需求定义、存储器结构配置参数及门级单元库。用户需求定义主要包括存储器的形状,大小,输入输出端口位置等。存储器结构配置参数主要包括存储器的位数,项数,读端口数,写端口数,存储器宽长比,是否有写使能等。以寄存器堆存储结构为例,表1为寄存器堆型存储结构部分配置参数定义,其中NDCbit为写入或读出地址位数,Nbit为输入、输出数据宽度,Nword为存储数据项数,Nwrite为一次写入数据项数,Nread为一次读出数据项数。
表1
门级单元库中包括标准门级单元及全定制门级单元,门级单元库中的标准门级单元包括不同阈值类型,沟道长度,工艺角下的标准单元时序库和物理版图等。全定制门级单元是根据性能的需要进行定制的单元。
其次,对构成存储器的各模块进行结构化定义,在本实施例中以寄存器堆型存储结构的编译生成为例进行说明,如图3所示,寄存器堆型的存储结构,主要包括了读地址译码、写地址译码、数据存储阵列等,每个部分可进行单独的设计。
首先对存储单元进行结构化的定义,存储单元是存储器中的基本存储结构,而各种寄存器堆型的存储结构是基于存储单元而组成的,存储单元的基本功能是完成对于1位(0或1)的存储功能。一个存储器是由多个这样的位单元组成一个存储阵列。而对于存储位单元又分为单端口读写和多端口读写,多端口读写在功能上和电路实现上都具有较大的实现难度。以两写两读存储器为例,其基本电路结构如图4所示,其中Wen0,Wen1为写地址经译码后得到的写选通信号,同理Ren0和Ren1为读地址经译码后得到的读选通信号。Din0和Din1为数据信号输入,Dout0和Dout1为数据信号输出。存储单元的内部电路结构可以采用门级单元库中的标准门级单元构建,也可以根据性能要求全定制实现,存储单元的内部电路结构可以采用触发器、锁存器等类型来实现存储单元的进一步全定制优化,使得数据存储的性能进一步提升。
在对存储单元进行结构化定义完之后,根据所述存储器结构配置参数中的存储器的位数及项数重复调用所述存储单元的结构化定义,生成存储阵列的结构化定义,使得重复调用后的存储单元组成的存储阵列具有所述存储器结构配置参数中的存储器的位数及项数。由于存储阵列的结构化定义是重复调用标准存储单元形成,因而最后生成的寄存器堆存储结构的存储阵列的结构是规则化的,从而提高了时序性能,规则化的存储阵列使得布局布线容易控制,在面积、布局可控等方面性能提高。此外存储单元可以采用标准门级单元构建或全定制构建,基于门级单元内部路径透明可见,从而便于用户对存储器内部电路进行修改以及便于后续的静态时序分析。生成的寄存器堆存储结构的存储器大小和读写端口数量可配,具有高灵活性和高兼容性,其端口数量最大可支持八写八读,存储容量最大为2048x 2048=4M bit大小。
在对存储阵列进行结构化定义之后,对读写译码电路进行结构化定义,译码电路中的内部电路结构可以采用标准门级单元构建或全定制构建。
在对构成寄存器堆存储结构的各模块进行结构化定义之后,基于所述存储阵列的结构化定义及所述读写译码电路的结构化定义,将所述存储阵列的结构化定义及所述读写译码电路的结构化定义中的相关参数采用硬件描述语言搭建模型,进而生成硬件描述语言模型。基于所述硬件描述语言模型调用所述门级单元库中的标准门级单元及全定制门级单元,通过逻辑综合生成网表。
根据所述网表及所述用户需求定义经过布局规划进行布局、生成时钟树、布线以得到存储器的版图,完成存储器的编译。其中,布局指将门级网表中的单元进行布置位置。其中布局规则是指根据存储器大小和端口数量的变化,在物理布局时设置布局规则,估计整体布图面积的大小,确保布局的合理性。布局的方式可以采用用户脚本的算法实现自动化布局,也可利用规则化自动布局工具如ICC进行布局。以用户脚本的算法为例,定义算法中的相关参数,根据实际使用需求,通过控制这些参数,可计算出存储单元在布局中的位置,以实现快速、自动、紧凑、规则的布局。然后,可以采用门控聚类的方式控制时钟关键路径的走向,生成时钟树。之后进行布线,布线时先对电源线和时钟信号布线,然后对信号线布线,目的是最大程度地满足时序。
寄存器堆型存储器布局方式可以根据输入端口,输出端口,关键,门控聚类等因素进行调整,实行半定制化设计,设计完成后数据的读写路径的走向和延时是完全可控的。根据设计需求其布局的方式有多种,以下以时钟门控聚类方式空间布局形式进行介绍,其结构如图5所示。存储阵列同一项采用同一时钟门控进行控制,经分支到达存储单元的每一项,写地址和读地址经译码后的写位选通信号和读位选通信号也对每个存储单元进行选通控制。门控和译码器都位于中间位置,且到达每个存储单元的路径采用缓冲控制,使得到达两侧的存储单元的延时均衡。采用时钟门控聚类方式更加节省空间,有利于时钟树的构建和位数的拼接。在布局过程中,读/写地址经译码后的选通逻辑通过缓冲器(buffer)到达每个存储单元,可以通过算法精确控制插入缓冲器的大小和位置来控制走线方向。
逻辑综合后形成的门级网表经过布局布线后,再经过静态时序分析及SPICE仿真后,再经过DRC(Design Rule Check,设计规则检查)、LVS(Layout vs Schematic Check,网表一致性检查)检查后输出结果。其中所述输出结果包括Verilog模型,网表文件,DEF文件,synopsys.lib文件及版图文件,满足了大部分IC后端设计流程涉及的文件格式和后端流程。
本发明所生成的存储器都是基于门级标准单元的设计,其生成的中间结果在常用的数字后端设计工具中均兼容可见,对后端设计中常用的时序性能分析手段——静态时序分析(STA)有较好的支持性。基于门级标准单元的可配置存储器编译器的输出结果有5项,包括Verilog模型,网表文件,DEF文件,synopsys.lib文件及版图文件,满足了大部分IC后端设计流程涉及的文件格式和后端eco流程。
本发明所生成的存储器存储阵列,生成方式灵活快速,它解决了全定制存储器编译器所生成的存储器作为宏单元在后端静态时序分析中不可见的缺点,同时相比于第三方工具所产生的存储器在性能和面积上均有优势。在性能结果分析中,本发明相比逻辑级寄存器文件存储方式,在时序和面积等性能指标均有较大的提升。在某40nm工艺环境下的实验评测结果表明,该编译器生成的存储器相对基于存储器编译器产生的寄存器文件在性能上提高了8%,面积上节省了10%。相对于第三方工艺厂商提供的存储器编译器性能上提高了30%,同时达到了由全定制方式设计的相同规模的存储器性能的70%以上。
本发明实施例还提供一种存储器编译生成装置,如附图6所示,所述装置包括:
第一接收单元61,用于接收用户输入的用户需求定义及存储器结构配置参数;
第二接收单元62,用于接收用户输入的存储器的结构化定义,所述存储器的结构化定义包括存储单元的结构化定义及读/写译码电路的结构化定义;
第一生成单元63,用于基于门级单元库,根据所述存储器结构配置参数中的存储器的位数及项数重复调用所述存储单元的结构化定义,生成存储阵列的结构化定义;
第二生成单元64,用于根据所述存储阵列的结构化定义及所述读/写译码电路的结构化定义生成硬件描述语言模型;
第三生成单元65,用于根据所述硬件描述语言模型调用所述门级单元库中的标准门级单元及全定制门级单元生成网表;
第四生成单元66,用于根据所述网表及所述用户需求定义进行规则化布局、生成时钟树、布线以得到存储器的版图。
本发明实施例提供的存储器编译生成装置,首先对构成存储器的存储阵列、读写译码进行结构化的定义,根据其结构化的定义形成硬件描述语言模块,根据硬件描述语言模块形成网表,进而通过规则化的布局、布线形成版图。在对存储器的存储阵列进行结构化定义时,先对存储单元进行结构化定义,根据存储器的位数、项数重复调用存储单元的结构化定义形成存储阵列的结构化定义,形成的存储器的存储阵列的结构是规则化的,从而提高了时序性能,规则化的存储阵列使得布局布线容易控制,在面积、布局可控等方面性能提高。存储单元可以采用标准门级单元构建或全定制构建,基于门级单元内部路径透明可见,从而便于用户对存储器内部电路进行修改以及便于后续的静态时序分析。
可选地,所述门级单元库中包括所述标准门级单元及全定制门级单元的时序库及物理版图。
可选地,所述存储单元及所述读/写译码电路的内部电路通过所述门级单元库中的标准门级单元构建,或者,所述存储单元及所述读/写译码电路的内部电路通过所述门级单元库中的全定制门级单元构建。
可选地,所述用户需求定义包括:存储器的形状、大小、输入端口位置及输出端口位置。
可选地,存储器结构配置参数包括:存储器的位数、项数、读端口数、写端口数、存储器长宽比、存储器是否有写使能。
可选地,所述存储单元为单端口读写或多端口读写。
第三方面,本发明实施例还提供一种存储器,所述存储器采用上述所述的存储器编译生成方法制备而成。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (12)
1.一种存储器编译方法,其特征在于,包括:
接收用户输入的用户需求定义及存储器结构配置参数;
接收用户输入的存储器的结构化定义,所述存储器的结构化定义包括存储单元的结构化定义及读/写译码电路的结构化定义;
基于门级单元库,根据所述存储器结构配置参数中的存储器的位数及项数重复调用所述存储单元的结构化定义,生成存储阵列的结构化定义,其中,所述存储单元基于门级单元内部路径透明可见;
根据所述存储阵列的结构化定义及所述读/写译码电路的结构化定义生成硬件描述语言模型;
根据所述硬件描述语言模型调用所述门级单元库中的标准门级单元及全定制门级单元生成网表;
根据所述网表及所述用户需求定义进行规则化布局,其中,布局指将门级网表中的单元进行布置位置;
采用门控聚类的方式控制时钟关键路径的走向从而生成时钟树,布线以得到存储器的版图,在所述布线后,还包括:输出结果,所述输出结果至少包括DEF文件。
2.根据权利要求1所述的存储器编译方法,其特征在于,所述门级单元库中包括所述标准门级单元及全定制门级单元的时序库及物理版图。
3.根据权利要求2所述的存储器编译方法,其特征在于,所述存储单元及所述读/写译码电路的内部电路通过所述门级单元库中的标准门级单元构建,或者,所述存储单元及所述读/写译码电路的内部电路通过所述门级单元库中的全定制门级单元构建。
4.根据权利要求1所述的存储器编译方法,其特征在于,所述用户需求定义包括:存储器的形状、大小、输入端口位置及输出端口位置。
5.根据权利要求1所述的存储器编译方法,其特征在于,存储器结构配置参数包括:存储器的位数、项数、读端口数、写端口数、存储器长宽比、存储器是否有写使能。
6.根据权利要求1所述的存储器编译方法,其特征在于,所述存储单元为单端口读写或多端口读写。
7.一种存储器编译装置,其特征在于,包括:
第一接收单元,用于接收用户输入的用户需求定义及存储器结构配置参数;
第二接收单元,用于接收用户输入的存储器的结构化定义,所述存储器的结构化定义包括存储单元的结构化定义及读/写译码电路的结构化定义;
第一生成单元,用于基于门级单元库,根据所述存储器结构配置参数中的存储器的位数及项数重复调用所述存储单元的结构化定义,生成存储阵列的结构化定义,其中,所述存储单元基于门级单元内部路径透明可见;
第二生成单元,用于根据所述存储阵列的结构化定义及所述读/写译码电路的结构化定义生成硬件描述语言模型;
第三生成单元,用于根据所述硬件描述语言模型调用所述门级单元库中的标准门级单元及全定制门级单元生成网表;
第四生成单元,用于根据所述网表及所述用户需求定义进行规则化布局,其中,布局指将门级网表中的单元进行布置位置,采用门控聚类的方式控制时钟关键路径的走向从而生成时钟树,布线以得到存储器的版图;
其中,所述第四生成单元还用于在所述布线后,输出结果,所述输出结果至少包括DEF文件。
8.根据权利要求7所述的存储器编译装置,其特征在于,所述门级单元库中包括所述标准门级单元及全定制门级单元的时序库及物理版图。
9.根据权利要求8所述的存储器编译装置,其特征在于,所述存储单元及所述读/写译码电路的内部电路通过所述门级单元库中的标准门级单元构建,或者,所述存储单元及所述读/写译码电路的内部电路通过所述门级单元库中的全定制门级单元构建。
10.根据权利要求7所述的存储器编译装置,其特征在于,所述用户需求定义包括:存储器的形状、大小、输入端口位置及输出端口位置。
11.根据权利要求7所述的存储器编译装置,其特征在于,存储器结构配置参数包括:存储器的位数、项数、读端口数、写端口数、存储器长宽比、存储器是否有写使能。
12.一种存储器,其特征在于,所述存储器采用权利要求1-6中任一项所述存储器编译方法制备而成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710083864.8A CN108446412B (zh) | 2017-02-16 | 2017-02-16 | 存储器编译方法、装置及生成的存储器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710083864.8A CN108446412B (zh) | 2017-02-16 | 2017-02-16 | 存储器编译方法、装置及生成的存储器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108446412A CN108446412A (zh) | 2018-08-24 |
CN108446412B true CN108446412B (zh) | 2023-01-24 |
Family
ID=63190576
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710083864.8A Active CN108446412B (zh) | 2017-02-16 | 2017-02-16 | 存储器编译方法、装置及生成的存储器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108446412B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109670255B (zh) * | 2018-12-26 | 2020-04-07 | 北京华大九天软件有限公司 | 一种时序参数聚类的典型仿真条件推荐方法 |
CN110164489B (zh) * | 2019-05-28 | 2021-05-07 | 珠海创飞芯科技有限公司 | 优化Nor Flash存储阵列面积的相关方法及系统 |
CN111796831B (zh) * | 2020-06-24 | 2023-02-28 | 苏州大学 | 一种多芯片兼容的编译方法和装置 |
US11347920B2 (en) * | 2020-10-21 | 2022-05-31 | Taiwan Semiconductor Manufacturing Company, Ltd. | Circuit synthesis optimization for implements on integrated circuit |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5541850A (en) * | 1994-05-17 | 1996-07-30 | Vlsi Technology, Inc. | Method and apparatus for forming an integrated circuit including a memory structure |
CN102376348A (zh) * | 2010-08-20 | 2012-03-14 | 中国科学院微电子研究所 | 一种低功耗的动态随机存储器 |
CN103106294A (zh) * | 2012-12-24 | 2013-05-15 | 西安华芯半导体有限公司 | 一种用于静态随机存储器编译器的版图编程方法 |
-
2017
- 2017-02-16 CN CN201710083864.8A patent/CN108446412B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5541850A (en) * | 1994-05-17 | 1996-07-30 | Vlsi Technology, Inc. | Method and apparatus for forming an integrated circuit including a memory structure |
CN102376348A (zh) * | 2010-08-20 | 2012-03-14 | 中国科学院微电子研究所 | 一种低功耗的动态随机存储器 |
CN103106294A (zh) * | 2012-12-24 | 2013-05-15 | 西安华芯半导体有限公司 | 一种用于静态随机存储器编译器的版图编程方法 |
Non-Patent Citations (2)
Title |
---|
嵌入式SRAM编译器的容量扩展方法的研究;潘非;《中国优秀硕士学位论文全文数据库 信息科技辑》;20140915(第9期);第I137-31页 * |
面向嵌入式SOC的Memory_Compiler设计与实现;龚展立;《中国优秀硕士学位论文全文数据库 信息科技辑》;20121015(第10期);第I137-31页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108446412A (zh) | 2018-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108446412B (zh) | 存储器编译方法、装置及生成的存储器 | |
US12169671B2 (en) | Apparatus and method for mapping foundational components during design porting from one process technology to another process technology | |
US9058860B2 (en) | Methods and apparatus for synthesizing multi-port memory circuits | |
JPH10293782A (ja) | レイアウト・コンパイル方法および設計システム | |
WO2014106038A1 (en) | Local clock skew optimization and incremental clock tree synthesis | |
Ataei et al. | AMC: An asynchronous memory compiler | |
US9727681B2 (en) | Generating specific memory models using generic memory models for designing memories in VLSI design | |
US9454628B1 (en) | Scaling memory components of integrated circuit design | |
Gibiluka et al. | A bundled-data asynchronous circuit synthesis flow using a commercial EDA framework | |
Prasad et al. | Siracusa: A 16 nm heterogenous RISC-V SoC for extended reality with at-MRAM neural engine | |
US10157253B2 (en) | Multi-bit-mapping aware clock gating | |
US10354032B2 (en) | Optimizing an integrated circuit (IC) design comprising at least one wide-gate or wide-bus | |
US9697314B1 (en) | Identifying and using slices in an integrated circuit (IC) design | |
Marinberg et al. | Efficient implementation of many-ported memories by using standard-cell memory approach | |
US7844937B2 (en) | Method and apparatus for making a semiconductor device using hardware description having merged functional and test logic blocks | |
US12045553B2 (en) | Method for implementing an integrated circuit comprising a random-access memory-in-logic | |
Shylashree et al. | Design and Implementation of 64-bit SRAM and CAM on Cadence and Open-source environment | |
Shahu | ASIC Design Implementation of UART using Synopsys EDA tools | |
Madhavan et al. | Physical Design and Implementation of Lakshya-Sub-system of Built in Self Test System | |
Han et al. | Clocked and asynchronous FIFO characterization and comparison | |
Patan et al. | Design and implementation of optimized register file for streaming applications | |
Melnikova et al. | Using multi-FPGA systems for ASIC prototyping | |
Sowash | Design of a RISC-V Processor with OpenRAM Memories | |
US20230186980A1 (en) | Synthesizable logic memory | |
Ataei et al. | A unified memory compiler for synchronous and asynchronous circuits |
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 | ||
CB02 | Change of applicant information |
Address after: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing Applicant after: Loongson Zhongke Technology Co.,Ltd. Address before: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing Applicant before: LOONGSON TECHNOLOGY Corp.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |