CN104008216B - Method of using a memory compiler to generate optimized memory instances - Google Patents

Method of using a memory compiler to generate optimized memory instances Download PDF

Info

Publication number
CN104008216B
CN104008216B CN201310056648.6A CN201310056648A CN104008216B CN 104008216 B CN104008216 B CN 104008216B CN 201310056648 A CN201310056648 A CN 201310056648A CN 104008216 B CN104008216 B CN 104008216B
Authority
CN
China
Prior art keywords
memory
blocks
database
compiler
optimized
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
Application number
CN201310056648.6A
Other languages
Chinese (zh)
Other versions
CN104008216A (en
Inventor
连南钧
林孝平
石维强
林育均
叶有伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
M31 Technology Corp
Original Assignee
M31 Technology Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by M31 Technology Corp filed Critical M31 Technology Corp
Priority to CN201310056648.6A priority Critical patent/CN104008216B/en
Publication of CN104008216A publication Critical patent/CN104008216A/en
Application granted granted Critical
Publication of CN104008216B publication Critical patent/CN104008216B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

A method of using a memory compiler to generate optimized memory instances. Data describing the designed memory is provided, and front-end models and back-end models are generated to provide a database. Design criteria are received through a user interface. The memory design is optimized in terms of both speed, power, and area according to the provided database and design criteria, resulting in memory instances.

Description

使用存储器编译器以产生最佳化存储器实例的方法Method of using a memory compiler to generate optimized memory instances

技术领域technical field

本发明涉及一种存储器编译器(compiler),特别是涉及一种同时考量并自动最佳化速度、功率及面积的存储器编译器。The present invention relates to a memory compiler, in particular to a memory compiler which simultaneously considers and automatically optimizes speed, power and area.

现有技术current technology

存储器编译器(例如随机存取存储器编译器)可用于自动产生存储器实例(memoryinstance)。存储器编译器还可用于支援系统整合晶片(SoC)的设计能力。然而,传统的存储器编译器在产生存储器实例时,仅提供速度、功率或密度的单一特性规格来制定。因此,所产生的存储器实例通常没有同时考量三方面的最佳化以符合客户的要求。A memory compiler (eg, a random access memory compiler) can be used to automatically generate memory instances. The memory compiler can also be used to support system-on-chip (SoC) design capabilities. However, conventional memory compilers only provide a single characteristic specification of speed, power, or density when generating memory instances. Therefore, the generated memory instance usually does not consider the optimization of the three aspects at the same time to meet the customer's requirements.

此外,在产生存储器实例时,传统的存储器编译器操作于元件(device)层级。由于元件本身数量繁多,几乎是以百万以上的数量级来调整整体效率,因此,存储器实例的最佳化需耗费相当的时间。Furthermore, conventional memory compilers operate at the device level when generating memory instances. Due to the large number of components themselves, the overall efficiency is almost adjusted on the order of millions or more, so the optimization of the memory instance takes a considerable amount of time.

鉴于传统的存储器编译器无法有效且快速产生最佳化存储器实例,因此亟需提出一种新颖的存储器编译器,以克服传统存储器编译器的缺点。Since traditional memory compilers cannot efficiently and quickly generate optimized memory instances, it is urgent to propose a novel memory compiler to overcome the shortcomings of traditional memory compilers.

发明内容Contents of the invention

鉴于现有技术的上述问题,本发明实施例的目的之一在于提出一种使用存储器编译器以产生最佳化存储器实例的方法,其同时考量速度、功率及面积的三方因素以最佳化存储器的设计。在一个实施例中,所提出的存储器编译器执行于架构(architecture)层级、区块(block)层级及元件层级,用以加速存储器实例的产生。In view of the above-mentioned problems in the prior art, one of the purposes of the embodiments of the present invention is to provide a method for using a memory compiler to generate an optimized memory instance, which simultaneously considers the three factors of speed, power and area to optimize the memory the design of. In one embodiment, the proposed memory compiler executes at the architecture level, block level and device level to accelerate the generation of memory instances.

根据本发明的实施例,提供所设计存储器的相关描述数据,且产生前端模型和后端模型以提供一数据库。通过用户界面接收设计准则。根据所述数据库和设计准则,同时考量速度、功率及面积三方因素以最佳化该存储器的设计,从而产生存储器实例。According to the embodiment of the present invention, relevant description data of the designed memory is provided, and a front-end model and a back-end model are generated to provide a database. Receive design guidelines through the user interface. According to the database and design criteria, the three factors of speed, power and area are considered simultaneously to optimize the design of the memory, so as to generate memory instances.

在一特定实施例中,该最佳化步骤使用自上而下的方式,将所设计存储器的架构分解为多个区块,根据区块的特性做分析与选择最佳组合;对于这些分解区块,从数据库中获取至少一个高速度数据库、至少一个小功率数据库及至少一个小面积数据库;针对这些区块的表现特性做大方向的区块选择与调整;当最佳组合的区块选定后,调整该区块里面的元件参数做更细部的调整,以实现最佳化。该最佳化步骤还使用自下而上的方式,连结这些调整元件,以形成这些区块;且组合这些区块,以形成存储器,进而查看整体最佳化的表现。In a specific embodiment, the optimization step uses a top-down approach to decompose the designed memory architecture into multiple blocks, analyze and select the best combination according to the characteristics of the blocks; for these decomposed areas block, obtain at least one high-speed database, at least one low-power database, and at least one small-area database from the database; select and adjust the blocks in the general direction according to the performance characteristics of these blocks; when the best combination of blocks is selected Finally, adjust the component parameters in this block to make more detailed adjustments to achieve optimization. The optimization step also connects the adjustment elements to form the blocks using a bottom-up approach, and combines the blocks to form the memory to see the overall optimized performance.

附图说明Description of drawings

图1显示本发明实施例的使用存储器编译器以产生最佳化存储器实例的方法的流程图。FIG. 1 shows a flowchart of a method for using a memory compiler to generate an optimized memory instance according to an embodiment of the present invention.

图2显示图1的最佳化步骤的详细流程图。FIG. 2 shows a detailed flowchart of the optimization steps of FIG. 1 .

图3示出区块分解。Figure 3 shows the block decomposition.

图4示出三维限制条件曲面。Figure 4 shows a three-dimensional constraint surface.

附图标记说明Explanation of reference signs

11:提供存储器相关数据11: Provide memory related data

12:前端模型与和后端模型12: Front-end model and back-end model

13:存储器编译器用户界面13: Memory Compiler User Interface

14:最佳化14: Optimization

141:定义公式141: Defining Formulas

142:选择数据库的相关部分142: Select the relevant part of the database

143:架构分解143: Architecture Decomposition

144:获取高速度、小功率、小面积数据库144: Obtain high-speed, low-power, small-area database

145:元件调整145: Component adjustment

146:区块重映射146: Block remapping

147:架构重映射147: Schema Remapping

148:是否符合限制条件148: Whether it meets the restriction

149:实例产生149: Instance generation

15:候选表15: Candidate list

16:是否符合要求16: Whether it meets the requirements

41:三维限制条件曲面41: 3D constraint surface

2A:自上而下方式2A: Top-Down Approach

2B:自下而上方式2B: Bottom-up approach

XDEC:X解码器XDEC: X decoder

IO:输入输出电路IO: input and output circuit

具体实施方式detailed description

图1显示本发明实施例的使用存储器编译器以产生最佳化存储器实例的方法的流程图。本实施例可用以产生最佳化存储器实例,例如静态随机存取存储器(SRAM)、只读存储器(ROM)、内容可寻址存储器(content addressable memory,CAM)或快闪存储器。FIG. 1 shows a flowchart of a method for using a memory compiler to generate an optimized memory instance according to an embodiment of the present invention. This embodiment can be used to create optimized memory instances, such as static random access memory (SRAM), read only memory (ROM), content addressable memory (CAM) or flash memory.

首先,在步骤11,提供所设计存储器的相关描述数据,例如由半导体代工厂来提供。步骤11所提供的数据可以是集成电路模拟程序(SPICE)所描述的电路、设计法则(例如集成电路拓扑布局规则(TLR))或元件型态(例如随机存取存储器元件),但不限定于此。根据所提供的数据,在步骤12产生前端(F/E)模型和后端(B/E)模型,用以将具有设计行为模型的数据库(library)提供给最佳化器(optimizer),该最佳化器同时考量速度、功率及面积(或密度)这三方因素来最佳化存储器的设计。相反地,传统的存储器编译器仅针对速度、功率或密度中的单一特性因素作开发,而非所有三个因素。在本说明书中,前端模型是相关于所设计存储器的电流、电压和/或功率,而后端模型则相关于所设计存储器的布局样式(pattern)。在一优选实施例中,所提出的方法可适用于设计小面积(或高密度)存储器。相比于传统方法,本优选实施例在设计最佳化小面积(或高密度)存储器实例中更加有效。First, in step 11, relevant description data of the designed memory is provided, such as provided by a semiconductor foundry. The data provided in step 11 can be circuits described by the integrated circuit simulation program (SPICE), design rules (such as integrated circuit topology layout rules (TLR)) or device types (such as random access memory components), but are not limited to this. According to the provided data, generate a front-end (F/E) model and a back-end (B/E) model in step 12 to provide the database (library) with the design behavior model to the optimizer (optimizer), the The optimizer simultaneously considers the three factors of speed, power and area (or density) to optimize the memory design. In contrast, conventional memory compilers are developed for a single characteristic factor of speed, power or density, but not all three. In this specification, the front-end model is related to the current, voltage and/or power of the designed memory, while the back-end model is related to the layout pattern of the designed memory. In a preferred embodiment, the proposed method can be adapted to design small-area (or high-density) memories. Compared to conventional methods, the preferred embodiment is more efficient in designing optimized small area (or high density) memory instances.

另一方面,在步骤13,在具有存储器编译器的电脑上安装用户界面(例如图形用户界面(GUI)),用于从客户接收设计准则(design criteria),例如实例配置(configuration)。用户界面还接收速度、功率和面积的优先顺序。此外,用户界面还接收所设计存储器的储存容量(例如2MB或1GB)。在接下来步骤中,根据储存容量和优先顺序来设计并最佳化该存储器。On the other hand, at step 13 , a user interface, such as a graphical user interface (GUI), is installed on a computer with a memory compiler for receiving design criteria, such as instance configuration, from the customer. The user interface also receives priorities for speed, power and area. In addition, the user interface also receives the storage capacity of the designed memory (for example, 2MB or 1GB). In the next step, the memory is designed and optimized in terms of storage capacity and priority.

接着,在步骤14,根据步骤12所提供的数据库和步骤13所接收的限制条件(constraint)来最佳化速度、功率和面积的设计。将在下文中,结合图2来说明有关最佳化的细节。Next, in step 14 , the design of speed, power and area is optimized according to the database provided in step 12 and the constraints received in step 13 . Details about the optimization will be described below with reference to FIG. 2 .

在执行步骤14的最佳化之后,在步骤15准备候选表(candidate list),其包含多个产生的存储器实例,用以依据客户要求来进行最后评估。在步骤16,从候选表中选择所产生的存储器实例中的一个,其最符合客户的要求。After performing the optimization in step 14, a candidate list is prepared in step 15, which contains a plurality of generated memory instances for final evaluation according to customer requirements. At step 16, one of the generated memory instances is selected from the candidate list, which best meets the customer's requirements.

图2显示图1的最佳化(即,步骤14)的详细流程图。在步骤141,根据步骤13所接收的限制条件,对所设计存储器的速度、功率和面积定义出控制规则(或公式)。同时,在步骤142,根据在步骤13所接收的限制条件,选择所提供的数据库的相关部分。FIG. 2 shows a detailed flowchart of the optimization (ie, step 14 ) of FIG. 1 . In step 141 , according to the constraints received in step 13 , control rules (or formulas) are defined for the speed, power and area of the designed memory. Simultaneously, at step 142 , according to the constraints received at step 13 , the relevant portion of the provided database is selected.

根据本实施例的特征之一,使用自上而下方式(top-down approach)2A来最佳化存储器的设计。其中,在步骤143,如图3所例示,将所设计存储器的整个架构分解为多个区块:存储器单元、X解码器(XDEC)、控制电路以及输入输出电路(IO)。由此,可以区块层级来表示存储器的架构,以进行区块的特性分析与选择最佳组合。相反的,传统的存储器编译器则是执行于元件层级,因此其存储器设计较难操控。本实施例的区块可以是基于叶单元(leaf-cell-based)的区块,但不限定于此。According to one of the features of this embodiment, the design of the memory is optimized using a top-down approach 2A. Wherein, in step 143 , as shown in FIG. 3 , the whole structure of the designed memory is decomposed into multiple blocks: memory unit, X decoder (XDEC), control circuit and input-output circuit (IO). Therefore, the architecture of the memory can be represented at the block level, so as to analyze the characteristics of the blocks and select the best combination. On the contrary, the traditional memory compiler is executed at the device level, so its memory design is more difficult to control. The block in this embodiment may be a leaf-cell-based block, but is not limited thereto.

接下来,在步骤144,从步骤12所提供的数据库中获取这些区块相关的至少一个高速度数据库、至少一个小功率数据库以及至少一个小面积(或高密度)数据库。在本实施例中,修饰词“高”或“低/小”分别指一个物理量(例如速度、功率或面积)的值大于或小于一预设临界值。接着,针对这些区块表现特性做大方向的区块选择与调整。最后,在步骤145,当最佳组合的区块选定后,若有需要,则对这些区块的元件(例如,电晶体)的参数进行更细部的调整或微调。在本实施例中,所调整的参数可包含临界电压(例如低准位临界电压、标准临界电压或高准位临界电压)、P型金属氧化物半导体(PMOS)或N型金属氧化物半导体(NMOS)的宽度/长度、实体布局样式的并联/串联元件及动态/静态的组合/循序(combinational/sequential)闸门(gate)电路型态。Next, at step 144 , at least one high-speed database, at least one low-power database, and at least one small-area (or high-density) database related to these blocks are obtained from the database provided in step 12 . In this embodiment, the modifiers "high" or "low/small" respectively refer to a value of a physical quantity (such as speed, power or area) being greater than or less than a preset critical value. Then, select and adjust blocks in the general direction according to the performance characteristics of these blocks. Finally, in step 145, after the blocks with the best combination are selected, if necessary, the parameters of the components (eg, transistors) in these blocks are adjusted or fine-tuned in more detail. In this embodiment, the adjusted parameters may include threshold voltage (such as low-level threshold voltage, standard threshold voltage or high-level threshold voltage), P-type metal oxide semiconductor (PMOS) or N-type metal oxide semiconductor ( NMOS) width/length, physical layout style parallel/serial elements and dynamic/static combination/sequential (combinational/sequential) gate (gate) circuit type.

根据本实施例的另一特征,使用自下而上方式(bottom-up approach)2B来微调最佳化。在步骤146,将这些调整元件(例如,对部分作调整而另一部分未调整)予以连结(或重映射)以形成个别区块;在步骤147,将这些区块予以组合(或重映射)以形成存储器,再对该存储器进行整体组合模拟,以查看整体最佳化的表现。如果模拟结果符合限制条件(步骤148),则产生相关的存储器实例(步骤149);否则,根据步骤13所接收的优先顺序,至步骤142选择所提供数据库的另一部分,并再次执行自上而下方式2A和自下而上方式2B。由此,执行自上而下方式2A和自下而上方式2B一次或多次,从而得到候选表,其包含多个产生的存储器实例。According to another feature of this embodiment, the optimization is fine-tuned using a bottom-up approach 2B. At step 146, these adjusted elements (e.g., some adjusted and some not adjusted) are concatenated (or remapped) to form individual blocks; at step 147, these blocks are combined (or remapped) to form A memory is formed, and then the overall combination of the memory is simulated to see the overall optimal performance. If the simulation result meets the constraint condition (step 148), then generate the relevant memory instance (step 149); otherwise, according to the priority order received in step 13, go to step 142 to select another part of the provided database, and execute the top-down method again Bottom-up approach 2A and bottom-up approach 2B. Thus, the top-down approach 2A and the bottom-up approach 2B are performed one or more times, thereby obtaining a candidate list, which includes a plurality of generated memory instances.

如前所述,本实施例同时考量速度、功率和面积因素这三者来最佳化存储器的设计。因此,如图4所例示,在最佳化过程中建构出三维限制条件曲面(constraint surface)41。接近三维限制条件曲面41的一个或多个存储器实例即被选为最佳的候选者。As mentioned above, this embodiment optimizes the design of the memory by simultaneously considering the three factors of speed, power and area. Therefore, as shown in FIG. 4 , a three-dimensional constraint surface (constraint surface) 41 is constructed during the optimization process. One or more memory instances that are close to the three-dimensional constraint surface 41 are then selected as the best candidates.

以上所述仅仅是本发明的优选实施例而已,并非用于限定本发明的范围;其它未脱离发明所公开的精神下所完成的等效改变或修饰,均应包含在的本申请的范围内。The above descriptions are only preferred embodiments of the present invention, and are not intended to limit the scope of the present invention; other equivalent changes or modifications that do not deviate from the disclosed spirit of the invention should be included within the scope of the present application .

Claims (16)

1.一种使用存储器编译器以产生最佳化存储器实例的方法,包含:1. A method of using a memory compiler to generate an optimized memory instance, comprising: 提供所设计存储器的相关描述数据;Provide relevant description data of the designed memory; 产生前端模型和后端模型,以提供一数据库;generating a front-end model and a back-end model to provide a database; 通过用户界面接收设计准则;以及Receive design guidelines through the user interface; and 根据该数据库以及该设计准则,同时考量速度、功率及面积以最佳化该存储器的设计,从而产生存储器实例,According to the database and the design criteria, the design of the memory is optimized while considering speed, power and area, thereby generating a memory instance, 其中,所述设计准则包含速度、功率和面积的优先顺序,wherein the design criteria include priorities for speed, power, and area, 其中,所述最佳化步骤包含:Wherein, the optimization step includes: 根据所述优先顺序和规格要求,对所述所设计存储器的速度、功率和面积定义出控制规则;defining control rules for the speed, power and area of the designed memory according to the priority order and specification requirements; 根据所述优先顺序和规格要求,选择所述数据库的相关部分;select relevant parts of said database according to said priorities and specifications; 将所述所设计存储器的架构分解为多个区块;Decomposing the architecture of the designed memory into a plurality of blocks; 对于这些分解的区块,从所述数据库中获取至少一个高速度数据库、至少一个小功率数据库及至少一个小面积数据库;For these decomposed blocks, at least one high-speed database, at least one low-power database and at least one small-area database are obtained from said databases; 针对这些区块表现特性,做大方向的区块选择与调整;According to the performance characteristics of these blocks, make block selection and adjustment in the general direction; 调整这些区块的元件的参数;adjust the parameters of the elements of these blocks; 连结这些调整的元件,以形成所述这些区块;linking the adjusted elements to form the blocks; 组合所述这些区块,以形成所述存储器;以及combining said blocks to form said memory; and 对所述存储器进行整体组合模拟。An overall combinational simulation is performed on the memory. 2.根据权利要求1所述的使用存储器编译器以产生最佳化存储器实例的方法,还包含:2. The method of using a memory compiler to generate an optimized memory instance according to claim 1, further comprising: 准备一候选表,用以进行评估;该候选表包含多个所述存储器实例;以及preparing a candidate list for evaluation; the candidate list includes a plurality of said memory instances; and 从该候选表中选择这些存储器实例中的一个。One of these memory instances is selected from the candidate list. 3.根据权利要求1所述的使用存储器编译器以产生最佳化存储器实例的方法,其中所述描述数据包含描述的电路、设计法则或元件型态。3. The method of using a memory compiler to generate an optimized memory instance according to claim 1, wherein the description data includes described circuits, design rules or device types. 4.根据权利要求1所述的使用存储器编译器以产生最佳化存储器实例的方法,其中,所述前端模型相关于所述所设计存储器的电流、电压和/或功率。4. The method of using a memory compiler to generate an optimized memory instance of claim 1, wherein the front-end model is related to current, voltage and/or power of the designed memory. 5.根据权利要求1所述的使用存储器编译器以产生最佳化存储器实例的方法,其中,所述后端模型相关于所述所设计存储器的布局样式。5. The method of using a memory compiler to generate an optimized memory instance of claim 1, wherein the backend model is related to a layout pattern of the designed memory. 6.根据权利要求1所述的使用存储器编译器以产生最佳化存储器实例的方法,还包含:接收所述所设计存储器的储存容量。6. The method of using a memory compiler to generate an optimized memory instance according to claim 1, further comprising: receiving the storage capacity of the designed memory. 7.根据权利要求1所述的使用存储器编译器以产生最佳化存储器实例的方法,其中,所述这些分解区块包含存储器单元、X解码器、控制电路以及输入输出电路。7. The method of generating an optimized memory instance using a memory compiler as claimed in claim 1, wherein said decomposed blocks include memory cells, X decoders, control circuits, and I/O circuits. 8.根据权利要求1所述的使用存储器编译器以产生最佳化存储器实例的方法,其中,所述参数包含临界电压、P型金属氧化物半导体PMOS或N型金属氧化物半导体NMOS的宽度/长度、并联/串联元件及动态/静态的闸门电路型态。8. The method of using a memory compiler to generate an optimized memory instance according to claim 1, wherein said parameters include threshold voltage, width/width of PMOS or NMOS Length, parallel/series elements and dynamic/static gate types. 9.根据权利要求1所述的使用存储器编译器以产生最佳化存储器实例的方法,其中,所述最佳化步骤产生三维限制条件曲面,接近该三维限制条件曲面的一个或多个存储器实例被选为最佳的候选者。9. The method of using a memory compiler to generate optimized memory instances according to claim 1, wherein said optimizing step generates a three-dimensional constraint surface, one or more memory instances approximating the three-dimensional constraint surface was selected as the best candidate. 10.一种三维存储器编译器最佳化的方法,包含:10. A method for optimizing a three-dimensional memory compiler, comprising: 根据速度、功率和面积的三维优先顺序,对所设计存储器的三维定义出控制规则,从而产生三维限制条件曲面;According to the three-dimensional priority order of speed, power and area, define the control rules for the three-dimensional design of the memory, thereby generating a three-dimensional constraint surface; 将所述所设计存储器分解为多个区块;Decomposing the designed memory into a plurality of blocks; 对于这些分解的区块,从一提供数据库获取至少一个高速度数据库、至少一个小功率数据库以及至少一个小面积数据库;For the decomposed blocks, at least one high-speed database, at least one low-power database, and at least one small-area database are obtained from a provision database; 针对这些区块表现特性,做大方向的区块选择与调整;According to the performance characteristics of these blocks, make block selection and adjustment in the general direction; 调整这些区块的元件的参数;adjust the parameters of the elements of these blocks; 连结这些调整元件,以形成这些区块;linking the adjustment elements to form the blocks; 组合这些区块,以产生多个存储器实例;以及combine the blocks to produce multiple memory instances; and 选择接近所述三维限制条件曲面的一各或多个存储器实例,做为最佳的候选者。One or more memory instances close to the three-dimensional constraint surface are selected as the best candidates. 11.根据权利要求10所述的三维存储器编译器最佳化的方法,其中,这些分解区块包含存储器单元、X解码器、控制电路以及输入输出电路。11. The method for optimizing a 3D memory compiler according to claim 10, wherein the decomposed blocks include memory units, X decoders, control circuits, and input-output circuits. 12.根据权利要求10所述的三维存储器编译器最佳化的方法,其中所述参数包含临界电压、P型金属氧化物半导体PMOS或N型金属氧化物半导体NMOS的宽度/长度、并联/串联元件以及动态/静态的闸门电路型态。12. The method for optimizing a three-dimensional memory compiler according to claim 10, wherein said parameters include threshold voltage, width/length of PMOS or NMOS, parallel connection/serial connection Components and dynamic/static gate circuit types. 13.一种存储器编译器最佳化的方法,包含:13. A method for memory compiler optimization, comprising: 根据优先顺序,对所设计存储器的速度、功率和面积定义出控制规则;Define the governing rules for the speed, power and area of the designed memory according to the order of priority; 根据该优先顺序,选择一提供数据库的相关部分;According to this order of priority, select one to provide the relevant part of the database; 以自上而下的方式,将该所设计存储器的架构分解为多个区块,再分为多个元件;In a top-down manner, the architecture of the designed memory is decomposed into multiple blocks, and then divided into multiple components; 以自下而上的方式,连结这些元件以形成区块,再组合该区块以形成该存储器的架构;以及In a bottom-up manner, connecting the elements to form blocks, and then combining the blocks to form the architecture of the memory; and 对该存储器进行整体组合模拟,An overall combinatorial simulation of this memory is performed, 其中所述自上而下的步骤包含:The top-down steps described therein include: 将该所设计存储器的架构分解为多个区块;Decompose the architecture of the designed memory into multiple blocks; 对于这些分解的区块,从该数据库中获取至少一个高速度数据库、至少一个小功率数据库以及至少一个小面积数据库;For the decomposed blocks, at least one high-speed database, at least one low-power database, and at least one small-area database are obtained from the database; 针对这些区块表现特性,做大方向的区块选择与调整;以及Based on the performance characteristics of these blocks, select and adjust blocks in the general direction; and 调整这些区块的元件的参数。Adjust the parameters of the components of these blocks. 14.根据权利要求13所述的存储器编译器最佳化的方法,其中该自下而上的步骤包含:14. The method for memory compiler optimization according to claim 13, wherein the bottom-up step comprises: 连结这些调整元件,以形成这些区块;以及linking the tuning elements to form the blocks; and 组合这些区块,以形成该存储器。These blocks are combined to form the memory. 15.根据权利要求13所述的存储器编译器最佳化的方法,其中,这些分解区块包含存储器单元、X解码器、控制电路以及输入输出电路。15. The memory compiler optimization method according to claim 13, wherein the decomposed blocks include memory units, X decoders, control circuits, and I/O circuits. 16.根据权利要求13所述的存储器编译器最佳化的方法,其中所述参数包含临界电压、P型金属氧化物半导体PMOS或N型金属氧化物半导体NMOS的宽度/长度、并联/串联元件及动态/静态的闸门电路型态。16. The method for optimizing a memory compiler according to claim 13, wherein said parameters include threshold voltage, width/length of PMOS or NMOS, parallel/serial elements And dynamic/static gate circuit type.
CN201310056648.6A 2013-02-22 2013-02-22 Method of using a memory compiler to generate optimized memory instances Active CN104008216B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310056648.6A CN104008216B (en) 2013-02-22 2013-02-22 Method of using a memory compiler to generate optimized memory instances

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310056648.6A CN104008216B (en) 2013-02-22 2013-02-22 Method of using a memory compiler to generate optimized memory instances

Publications (2)

Publication Number Publication Date
CN104008216A CN104008216A (en) 2014-08-27
CN104008216B true CN104008216B (en) 2017-04-26

Family

ID=51368873

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310056648.6A Active CN104008216B (en) 2013-02-22 2013-02-22 Method of using a memory compiler to generate optimized memory instances

Country Status (1)

Country Link
CN (1) CN104008216B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106383938B (en) * 2016-09-07 2020-01-10 京微齐力(北京)科技有限公司 FPGA memory inference method and device
CN116362199B (en) * 2023-05-26 2023-08-11 上海韬润半导体有限公司 Method and device for optimizing type selection of memory in chip design

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101449256A (en) * 2006-04-12 2009-06-03 索夫特机械公司 Apparatus and method for processing an instruction matrix specifying parallel and dependent operations
US8037432B2 (en) * 2005-11-16 2011-10-11 Lsi Corporation Method and apparatus for mapping design memories to integrated circuit layout

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8037432B2 (en) * 2005-11-16 2011-10-11 Lsi Corporation Method and apparatus for mapping design memories to integrated circuit layout
CN101449256A (en) * 2006-04-12 2009-06-03 索夫特机械公司 Apparatus and method for processing an instruction matrix specifying parallel and dependent operations

Also Published As

Publication number Publication date
CN104008216A (en) 2014-08-27

Similar Documents

Publication Publication Date Title
CN102314525B (en) Low-power-consumption circuit design optimization method
US7949987B1 (en) Method and system for implementing abstract layout structures with parameterized cells
US11055463B1 (en) Systems and methods for gate array with partial common inputs
JP5127935B2 (en) Integrated circuit design and library optimization
CN101833590A (en) Method and apparatus for generating a floorplan using a reduced netlist
TWI839084B (en) Computer-implemented method, computer-implemented system and computer-readable medium
CN118171609B (en) Key path delay optimization method based on logic netlist
US20160110486A1 (en) Systems and methods for flexibly optimizing processing circuit efficiency
de Oliveira Conceição et al. Transistor count reduction by gate merging
TWI718296B (en) Intergration circuit simulation method and intergration circuit simulation system
US20050268268A1 (en) Methods and systems for structured ASIC electronic design automation
US20140245251A1 (en) Design Optimization for Circuit Migration
Tang et al. GenFin: Genetic algorithm-based multiobjective statistical logic circuit optimization using incremental statistical analysis
US10073944B2 (en) Clock tree synthesis based on computing critical clock latency probabilities
US7409658B2 (en) Methods and systems for mixed-mode physical synthesis in electronic design automation
CN104008216B (en) Method of using a memory compiler to generate optimized memory instances
Hsu et al. Crosstalk-aware power optimization with multi-bit flip-flops
CN101373490A (en) Design flow with annotated design libraries to ensure yield awareness
Shin AI-EDA: toward a holistic approach to AI-powered EDA
Attaoui et al. A new MBFF merging strategy for post-placement power optimization of IoT devices
US12277374B2 (en) Synthesis placement bounds based on physical timing analysis
US9213789B2 (en) Method of generating optimized memory instances using a memory compiler
Sylvester et al. Computer-aided design for low-power robust computing in nanoscale CMOS
Verplaetse et al. Synthetic benchmark circuits for timing-driven physical design applications
TWI517180B (en) Method of generating optimized memory instances using a memory compiler

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant