CN115688656A - 仿真方法、装置、计算机设备及存储介质 - Google Patents
仿真方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN115688656A CN115688656A CN202110858277.8A CN202110858277A CN115688656A CN 115688656 A CN115688656 A CN 115688656A CN 202110858277 A CN202110858277 A CN 202110858277A CN 115688656 A CN115688656 A CN 115688656A
- Authority
- CN
- China
- Prior art keywords
- chips
- test data
- simulation
- repair
- product
- 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.)
- Pending
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
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/333—Design for testability [DFT], e.g. scan chain or built-in self-test [BIST]
-
- 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
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/22—Yield analysis or yield optimisation
-
- 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
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
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
技术领域
本申请涉及集成电路技术领域,特别是涉及一种仿真方法、装置、计算机设备及存储介质。
背景技术
集成电路芯片一般都会经历从设计到投产,然后再测试验证的过程。设计缺陷或者设计实施过程对于产出半导体产品良率的影响,一方面需要设计人员自行仿真来发现设计缺陷,另一方面需要测试人员对产出半导体产品测试验证来发掘设计实施过程对于产出半导体产品良率的影响。
然而,传统的经由测试人员来发掘设计缺陷的时间周期较长,造成生产成本和测试成本的浪费,并且延长了半导体产品的设计迭代更新周期。
发明内容
基于此,有必要提供一种仿真方法、装置、计算机设备及存储介质,在半导体产品投产以前获取当前设计在半导体产品上应用仿真的良率,帮助设计者提前发现设计中的缺陷并改善设计,防止缺陷设计投产造成生产及测试成本的浪费,并充分利用历史测试数据,大大缩短设计更迭周期。
为了实现上述目的及其他目的,本申请的一方面提供了一种仿真方法,包括:
获取产品的冗余设计配置及历史测试数据,所述冗余设计配置包括修补方案;
根据预设修补算法对所述历史测试数据的失效单元分配修补方案,并获取对应的模拟修补结果;
基于所述模拟修补结果和所述历史测试数据,得到所述产品的良率。
在其中一个实施例中,所述基于所述冗余设计配置和所述历史测试数据,得到所述产品的良率之前还包括:
获取持续时间,所述历史测试数据为所述持续时间内的测试数据。
在其中一个实施例中,所述历史测试数据包括失效单元的修补范围信息、子域信息及地址信息。
在其中一个实施例中,所述产品包括芯片,所述仿真方法还包括:
存储所述芯片总数量、不可修补的芯片总数量及所述产品的仿真的良率。
在其中一个实施例中,所述修补方案包括预设子域内可分派的行备用电路的数量和对应的位置数据及可分派的列备用电路的数量和对应的位置数据;所述预设修补算法包括修补规则;所述根据预设修补算法对所述历史测试数据的失效单元分配修补方案,并获取对应的模拟修补结果,包括:
获取所述产品的失效单元的位置数据;
根据所述失效单元的位置数据及修补规则分派行备用电路及列备用电路;
获取已分派的行备用电路及已分派的列备用电路的修补范围之外的失效单元的数量及位置数据,以生成对应的模拟修补结果。
在其中一个实施例中,所述基于所述模拟修补结果和所述历史测试数据,得到所述产品的良率包括:
基于所述历史测试数据中第i组芯片的测试数据和所述冗余设计配置对第i组芯片进行修补,以得到第i组芯片的模拟修补结果;所述第i组芯片的模拟修补结果包括第i组芯片中不可修补的芯片的数量;i的初始值为1且为正整数;
计算第i-1组芯片和第i组芯片中芯片的数量之和,以得到芯片总数量;
计算第i-1组芯片和第i组芯片中不可修补的芯片的数量之和,以得到不可修补的芯片总数量;
将i赋值i+1,并返回所述基于所述历史测试数据中第i组芯片的测试数据和所述冗余设计配置对第i组芯片进行模拟修补的步骤直到赋值后的i大于所述历史测试数据中芯片的组数;
基于所述芯片总数量和所述不可修补的芯片总数量,得到所述产品的良率。
在其中一个实施例中,所述的仿真方法还包括:
判断是否结束仿真;
若否,则获取更新后冗余设计配置,并基于所述更新后冗余设计配置和所述历史测试数据,得到在新的所述冗余设计配置下的所述产品的良率。
在其中一个实施例中,所述第i组芯片的模拟修补结果还包括第i组芯片中各芯片的尺寸;所述方法还包括:
基于各所述冗余设计配置下的所述产品的良率,得到各所述冗余设计配置中符合要求的所述冗余设计配置;或者
基于各所述冗余设计配置下的所述产品的良率和各芯片的尺寸,得到各所述冗余设计配置中符合要求的所述冗余设计配置。
在其中一个实施例中,当所述产品的良率大于或等于阈值时,所述产品符合要求。
在其中一个实施例中,所述行备用电路的延伸方向与字线的延伸方向一致;所述列备用电路的延伸方向与位线的延伸方向一致。
本申请的另一方面提供了一种仿真装置,包括获取模块、修补模块及仿真模块,获取模块用于获取产品的冗余设计配置及历史测试数据,所述冗余设计配置包括修补方案;修补模块用于根据预设修补算法对所述历史测试数据的失效单元分配修补方案,并获取对应的模拟修补结果;仿真模块用于基于所述模拟修补结果和所述历史测试数据,得到所述产品的良率。
在其中一个实施例中,所述获取模块还包括持续时间获取模块,持续时间获取模块用于获取持续时间;所述历史测试数据为所述持续时间内的测试数据。
在其中一个实施例中,所述历史测试数据包括失效单元的修补范围信息、子域信息及地址信息。
在其中一个实施例中,所述产品包括芯片,所述装置还包括数据点模块,数据点模块用于存储所述芯片总数量、不可修补的芯片总数量及所述产品的良率。
在其中一个实施例中,所述修补方案包括预设子域内可分派的行备用电路的数量和对应的位置数据及可分派的列备用电路的数量和对应的位置数据;所述修补模块包括失效单元位置数据获取单元、备用电路分派单元及模拟修补结果生成单元,失效单元位置数据获取单元用于获取所述产品的失效单元的位置数据;备用电路分派单元用于根据所述失效单元的位置数据及修补规则分派行备用电路及列备用电路;模拟修补结果生成单元用于获取已分派的行备用电路及已分派的列备用电路的修补范围之外的失效单元的数量及位置数据,以生成对应的模拟修补结果。
在其中一个实施例中,所述仿真模块包括修补单元、第一计算单元、第二计算单元、循环赋值单元及良率计算单元,修补单元用于基于所述历史测试数据中第i组芯片的测试数据和所述冗余设计配置对第i组芯片进行修补,以得到第i组芯片的模拟修补结果;所述第i组芯片的模拟修补结果包括第i组芯片中不可修补的芯片的数量;i的初始值为1且为正整数;第一计算单元用于计算第i-1组芯片和第i组芯片中芯片的数量之和,以得到芯片总数量;第二计算单元用于计算第i-1组芯片和第i组芯片中不可修补的芯片的数量之和,以得到不可修补的芯片总数量;循环赋值单元用于将i赋值i+1,并返回所述基于所述历史测试数据中第i组芯片的测试数据和所述冗余设计配置对第i组芯片进行模拟修补的步骤直到赋值后的i大于所述历史测试数据中芯片的组数;良率计算单元用于基于所述芯片总数量和所述不可修补的芯片总数量,得到所述产品的良率。
本申请的又一方面提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上任一项所述的方法的步骤。
本申请的再一方面提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述的方法的步骤。
上述仿真方法、装置、计算机设备及存储介质中,根据预设修补算法对获取的历史测试数据的失效单元分配来自获取的冗余设计配置中的修补方案,并获取对应的模拟修补结果,以基于模拟修补结果和历史测试数据,得到产品的良率,从而在半导体产品投产以前获取当前设计在半导体产品上应用仿真的良率,帮助设计者提前发现设计中的缺陷并改善设计,防止缺陷设计投产造成生产及测试成本的浪费,并充分利用历史测试数据,大大缩短设计更迭周期。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请第一实施例中提供的仿真方法的流程图;
图2为本申请第二实施例中提供的仿真方法的流程图;
图3为本申请第三实施例中提供的仿真方法的流程图;
图4为本申请第四实施例中提供的仿真方法的流程图;
图5为本申请一实施例中一预设修补范围内修补规则的实施示意图;
图6为本申请第五实施例中提供的仿真方法的流程图;
图7为本申请一实施例中部分修补范围内修补方案的实施示意图;
图8a-图8e为本申请不同实施例中部分修补范围内修补方案的实施示意图;
图9为根据图8a-图8e中修补方案得到的仿真良率示意图;
图10为本申请一实施例中提供的仿真装置的结构框图;
图11为本申请另一实施例中提供的仿真装置的结构框图;
图12为本申请又一实施例中提供的仿真装置的结构框图;
图13为本申请再一实施例中提供的仿真装置的结构框图。
附图标记说明:
10、修补范围;30、仿真装置;31、获取模块;32、修补模块;33、仿真模块;34、数据点模块;321、失效单元位置数据获取单元;322、备用电路分派单元;323、模拟修补结果生成单元;331、修补单元;332、第一计算单元;333、第二计算单元;334、循环赋值单元;335、良率计算单元。
具体实施方式
为了便于理解本申请,下面将参照相关附图对本申请进行更全面的描述。附图中给出了本申请的首选实施例。但是,本申请可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本申请的公开内容更加透彻全面。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
应当明白,当元件或层被称为“在...上”、“与...相邻”、“连接到”或“耦合到”其它元件或层时,其可以直接地在其它元件或层上、与之相邻、连接或耦合到其它元件或层,或者可以存在居间的元件或层。相反,当元件被称为“直接在...上”、“与...直接相邻”、“直接连接到”或“直接耦合到”其它元件或层时,则不存在居间的元件或层。应当明白,尽管可使用术语第一、第二、第三等描述各种元件、部件、区、层、掺杂类型和/或部分,这些元件、部件、区、层、掺杂类型和/或部分不应当被这些术语限制。这些术语仅仅用来区分一个元件、部件、区、层、掺杂类型或部分与另一个元件、部件、区、层、掺杂类型或部分。因此,在不脱离本发明教导之下,下面讨论的第一元件、部件、区、层、掺杂类型或部分可表示为第二元件、部件、区、层或部分;举例来说,可以将第一掺杂类型成为第二掺杂类型,且类似地,可以将第二掺杂类型成为第一掺杂类型;第一掺杂类型与第二掺杂类型为不同的掺杂类型。
空间关系术语例如“在...下”、“在...下面”、“下面的”、“在...之下”、“在...之上”、“上面的”等,在这里可以用于描述图中所示的一个元件或特征与其它元件或特征的关系。应当明白,除了图中所示的取向以外,空间关系术语还包括使用和操作中的器件的不同取向。例如,如果附图中的器件翻转,描述为“在其它元件下面”或“在其之下”或“在其下”元件或特征将取向为在其它元件或特征“上”。因此,示例性术语“在...下面”和“在...下”可包括上和下两个取向。此外,器件也可以包括另外地取向(譬如,旋转90度或其它取向),并且在此使用的空间描述语相应地被解释。
在此使用时,单数形式的“一”、“一个”和“所述/该”也可以包括复数形式,除非上下文清楚指出另外的方式。还应明白,当术语“组成”和/或“包括”在该说明书中使用时,可以确定所述特征、整数、步骤、操作、元件和/或部件的存在,但不排除一个或更多其它的特征、整数、步骤、操作、元件、部件和/或组的存在或添加。同时,在此使用时,术语“和/或”包括相关所列项目的任何及所有组合。
请参阅图1,本申请提供一种仿真方法,包括如下步骤:
步骤S110,获取产品的冗余设计配置及历史测试数据,所述冗余设计配置包括修补方案;
步骤S120,根据预设修补算法对所述历史测试数据的失效单元分配修补方案,并获取对应的模拟修补结果;
步骤S130,基于所述模拟修补结果和所述历史测试数据,得到所述产品的良率。
在上述实施例中的仿真方法,根据预设修补算法对获取的历史测试数据的失效单元分配来自获取的冗余设计配置中的修补方案,并获取对应的模拟修补结果,以基于模拟修补结果和历史测试数据,得到产品的良率,从而在半导体产品投产以前获取当前设计在半导体产品上应用仿真的良率,帮助设计者提前发现设计中的缺陷并改善设计,防止缺陷设计投产造成生产及测试成本的浪费,并充分利用历史测试数据,大大缩短设计更迭周期。
作为示例,步骤S110之前还包括:获取持续时间;所述历史测试数据为所述持续时间内的测试数据,以便于获取一个设计周期内的历史测试数据,可以根据当前设计周期的相邻前一个设计周期内的历史测试数据,来获取当前设计在半导体产品上应用仿真的良率,帮助设计者提前发现设计中的缺陷并改善设计,防止缺陷设计投产造成生产及测试成本的浪费,并充分利用历史测试数据,大大缩短设计更迭周期。
作为示例,以仿真芯片为例,所述仿真方法还包括:存储所述芯片总数量、不可修补的芯片总数量及所述产品的仿真的良率,以便于获取当前设计周期内的历史测试数据。
作为示例,请参阅图2,所述修补方案包括预设子域内可分派的行备用电路的数量和对应的位置数据及可分派的列备用电路的数量和对应的位置数据;所述预设修补算法包括修补规则;步骤S120包括:
步骤S121,获取所述产品的失效单元的位置数据;
步骤S122,根据所述失效单元的位置数据及修补规则分派行备用电路及列备用电路;
步骤S123,获取已分派的行备用电路及已分派的列备用电路的修补范围之外的失效单元的数量及位置数据,以生成对应的模拟修补结果。
作为示例,可以设置所述行备用电路的延伸方向与字线的延伸方向一致;所述列备用电路的延伸方向与位线的延伸方向一致。例如,可以将一个存储单元阵列划分为若干个区域,一个区域的范围包括:一条行备用电路在纵向例如字线方向(WL方向)上可分派修补的长度范围,且一条列备用电路在横向例如位线方向(BL方向)上可分派修补的长度范围。还可以将一个区域划分为数个子域,一个子域在横向例如位线方向(BL方向)上为一条列备用电路可分派修补的长度范围,在纵向例如字线方向(WL方向)上的范围可以根据产品的需求具体定义。
作为示例,请参阅图3,步骤S130包括:
步骤S131,基于所述历史测试数据中第i组芯片的测试数据和所述冗余设计配置对第i组芯片进行修补,以得到第i组芯片的模拟修补结果;所述第i组芯片的模拟修补结果包括第i组芯片中不可修补的芯片的数量;i的初始值为1且为正整数;
步骤S132,计算第i-1组芯片和第i组芯片中芯片的数量之和,以得到芯片总数量;
步骤S133,计算第i-1组芯片和第i组芯片中不可修补的芯片的数量之和,以得到不可修补的芯片总数量;
步骤S134,将i赋值i+1,并返回所述基于所述历史测试数据中第i组芯片的测试数据和所述冗余设计配置对第i组芯片进行模拟修补的步骤直到赋值后的i大于所述历史测试数据中芯片的组数;
步骤S135,基于所述芯片总数量和所述不可修补的芯片总数量,得到所述产品的良率。
可以设置所述第i组芯片的模拟修补结果还包括第i组芯片中各芯片的尺寸;基于各所述冗余设计配置下的所述产品的良率,得到各所述冗余设计配置中符合要求的所述冗余设计配置;或者基于各所述冗余设计配置下的所述产品的良率和各芯片的尺寸,得到各所述冗余设计配置中符合要求的所述冗余设计配置。
作为示例,请参阅图4,步骤S135之后,还包括:
判断是否结束仿真;
若否,则获取更新后冗余设计配置,并基于所述更新后冗余设计配置和所述历史测试数据,得到在新的所述冗余设计配置下的所述产品的良率。
具体地,以计算机设备执行本实施例中所述方法步骤来示例性说明本申请的实现原理,当计算机获取到产品(如DBRMA)仿真的数量以及包括修补方案的冗余设计配置之后,根据预设修补算法中的修补规则对产品历史测试数据的失效单元分配修补方案,并获取对应的模拟修补结果,以基于模拟修补结果和获取到的历史测试数据,得到获取产品的良率。以芯片产品为例,每一个仿真流程中,会获取到每一片晶元的历史测试数据,包括但不限于失效单元的修补范围信息、子域信息及地址信息等,对仿真产品中所有芯片执行本申请实施例中所述仿真方法中的步骤,直到获取到所有芯片的良率之后,仿真结束。为了获取到满足芯片良率要求的冗余设计配置,在对所有芯片执行一轮仿真流程并获取到所有芯片的良率之后,可以更改冗余设计配置,使得仿真方法执行主体例如是计算机获取更新后冗余设计配置,并基于所述更新后冗余设计配置和所述历史测试数据,得到在新的所述冗余设计配置下的所述产品的良率。从而获取芯片在不同冗余设计配置下仿真的良率,从而筛选出满足要求的良率对应的冗余设计配置,以确定最终应用于产品中满足产品良率要求的修补方案。例如,当仿真获取的产品的良率大于或等于阈值时,可以判断产品符合要求,可以确定对应的冗余设计配置中的修补方案为可行方案,能够用于实际产品中;反之,相关工程师可以更改设计方案以更新冗余设计配置,并基于更新后冗余设计配置和历史测试数据,得到在新的所述冗余设计配置下的所述产品的良率,避免缺陷设计投产造成生产及测试成本的浪费,并充分利用历史测试数据,大大缩短设计更迭周期。
作为示例,请参阅图5,以图5所示的存储单元阵列为一个预设的修补范围10,其中,以字线(Word Line,WL)与位线(Bit Line,BL)表示图中纵向与横向的连续存储单元,WL长度为纵向连续16位数据队列(Data Queue,DQ)的连续元位,BL长度为横向一位DQ的连续元位,一个DQ可以为多个元位组成的方块。修补方案包括预设子域内可分派的行备用电路(RWL)的数量和对应的位置数据及可分派的列备用电路(RBL)的数量和对应的位置数据。可以设置备用电路分派修补规则包括字线修补规则(RWL)及位线修补规则(RBL)。字线修补规则(RWL)包括:一个修补范围10内拥有第一预设数量条列备用电路,每一条列备用电路可分派修补修补范围10内的任意一条字线。位线修补规则(RBL)包括:一个预设的修补范围10内拥有第二预设数量条行备用电路,每一条行备用电路可分派修补预设的修补范围10内纵向4-DQ(4个连续DQ),每一条行备用电路可分派修补位于该4-DQ覆盖范围中的任何一条位线,且不能分派修补跨越该4-DQ覆盖范围之外的存储单元。
作为示例,请参阅图6,以仿真芯片产品为例来示意性说明本申请的实现原理。首先,获取持续时间,以获取持续时间内的测试数据作为历史测试数据(MD data),历史测试数据可以包括失效单元的修补范围信息、子域信息及地址信息;然后获取产品的冗余设计配置(RDC data)、历史测试数据(MD data)及持续时间,所述冗余设计配置包括修补方案。然后根据预设修补算法(RA)对所述历史测试数据的失效单元分配修补方案,在获取所述产品的失效单元的位置数据之后,根据所述失效单元的位置数据及修补规则分派行备用电路及列备用电路,获取已分派的行备用电路及已分派的列备用电路的修补范围之外的失效单元的数量及位置数据,以生成对应的模拟修补结果,其中,修补规则可以包括前文所述的字线修补规则(RWL)及位线修补规则(RBL)。循环仿真直至遍历历史测试数据中芯片的所有组数(Loop-MD),并执行预设修补算法(RA)对历史测试数据的失效单元分配修补方案,例如,基于历史测试数据中第i组芯片的测试数据和所述冗余设计配置对第i组芯片进行修补,以得到第i组芯片的模拟修补结果,第i组芯片的模拟修补结果包括第i组芯片中不可修补的芯片的数量,i的初始值为1且为正整数;计算第i-1组芯片和第i组芯片中芯片的数量之和,以得到芯片总数量;计算第i-1组芯片和第i组芯片中不可修补的芯片的数量之和,以得到不可修补的芯片总数量;将i赋值i+1,并返回所述基于所述历史测试数据中第i组芯片的测试数据和所述冗余设计配置对第i组芯片进行模拟修补的步骤直到赋值后的i大于所述历史测试数据中芯片的组数;基于所述芯片总数量和所述不可修补的芯片总数量,得到所述产品的良率。在循环仿真并执行预设修补算法(RA)对历史测试数据的失效单元分配修补方案期间,存储芯片总数量(TCC++)、不可修补的芯片总数量(TUCC++)及产品的良率(Yield)至预设存储空间(data_point)。当获取的产品的良率大于或等于阈值时,判断产品符合要求,反之,若产品的良率小于阈值,可以更改冗余设计配置,使得仿真方法执行主体例如计算机在获取更新后冗余设计配置之后,基于所述更新后冗余设计配置和所述历史测试数据,得到在新的所述冗余设计配置下的所述产品的良率。进一步地,可以基于各所述冗余设计配置下的所述产品的良率,得到各所述冗余设计配置中符合要求的所述冗余设计配置;或者基于各所述冗余设计配置下的所述产品的良率和各芯片的尺寸,得到各所述冗余设计配置中符合要求的所述冗余设计配置。因此,本实施例实现了在半导体产品投产以前获取当前设计在半导体产品上应用仿真的良率,帮助设计者提前发现设计中的缺陷并改善设计,防止缺陷设计投产造成生产及测试成本的浪费,并充分利用历史测试数据,大大缩短设计更迭周期。
作为示例,请参阅图7,假设当前冗余设计配置仿真良率不符合要求,设计者对行备用电路的分派修补方案保持不变,对列备用电路的分派修补方案给出如图8a、图8b、图8c、图8d及图8e所示的5种修改后的方案。如图7所示,存储阵列(Bank)中包括128条可以分派的行备用电路,行备用电路的分派修补方案包括:RA14/RA15同时被修补,DQ0-7与DQ8-15不能被同时修补,RA=0与RA=1同时被修补;列备用电路的分派修补方案包括:CA3与RA15的值不能被同时修补,8DQ同时被修补;设置192个区域,每个区域包括2个子域,每个区域内包括3条可分派的列备用电路,该Bank内包括3*4*48=576条可分派的列备用电路。
请参阅图8a,OPT1:存储阵列(Bank)中包括128条可以分派的行备用电路,行备用电路的分派修补方案包括:RA14/RA15同时被修补,DQ0-7与DQ8-15不能被同时修补,RA=0与RA=1同时被修补;列备用电路的分派修补方案包括:CA3与RA15同时被修补,8DQ同时被修补;设置12个区域,每个区域包括32个子域,每个区域内包括4条可分派的列备用电路,该Bank内包括12*4*12=576条可分派的列备用电路。
请参阅图8b,OPT2:存储阵列(Bank)中包括128条可以分派的行备用电路,行备用电路的分派修补方案包括:RA14/RA15同时被修补,DQ0-7与DQ8-15不能被同时修补,RA=0与RA=1同时被修补;列备用电路的分派修补方案包括:CA3与RA15同时被修补,16DQ同时被修补;设置3个区域,每个区域包括128个子域,每个区域内包括8条可分派的列备用电路,该Bank内包括24*8*3=576条可分派的列备用电路。
请参阅图8c,OPT3:与图8b的区别在于:设置6个区域,每个区域包括64个子域,每个区域内包括8条可分派的列备用电路,该Bank内包括12*8*6=576条可分派的列备用电路。
请参阅图8d,OPT4:与图8b的区别在于:设置24个区域,每个区域包括16个子域,每个区域内包括8条可分派的列备用电路,该Bank内包括3*8*24=576条可分派的列备用电路。
请参阅图8e,OPT5:与图8b的区别在于:设置3个区域,每个区域包括32个子域,每个区域内包括8条可分派的列备用电路,该Bank内包括6*8*12=576条可分派的列备用电路。
作为示例,请参阅图9,根据当前冗余设计配置(Current)、图8a、图8b、图8c、图8d及图8e中所述的方案进行仿真得到图9所示的良率图,横向为Option(不同的冗余设计配置),包括OPT1、OPT2、OPT3、OPT4及OPT5,纵向为Yield(仿真的良率),设定一个阈值τ,用以筛选良率符合要求的冗余设计配置,τ的具体数值可以根据产品的良率情况而定。例如可以设置τ>50%,得到良率大于50%的冗余设计配置。
请参阅图10,在本申请的一个实施例中,提供了一种仿真装置30,包括获取模块31、修补模块32及仿真模块33,获取模块31用于获取产品的冗余设计配置及历史测试数据,可以设置历史测试数据包括失效单元的修补范围信息、子域信息及地址信息;可以设置冗余设计配置包括修补方案;修补模块32用于根据预设修补算法对所述历史测试数据的失效单元分配修补方案,并获取对应的模拟修补结果;仿真模块33用于基于所述模拟修补结果和所述历史测试数据,得到所述产品的良率。
作为示例,请继续参阅图10,获取模块31还包括持续时间获取模块(未图示),持续时间获取模块用于获取持续时间;所述历史测试数据为所述持续时间内的测试数据。可以根据当前设计周期的相邻前一个设计周期内的历史测试数据,来获取当前设计在半导体产品上应用仿真的良率,帮助设计者提前发现设计中的缺陷并改善设计,防止缺陷设计投产造成生产及测试成本的浪费,并充分利用历史测试数据,大大缩短设计更迭周期。
作为示例,请参阅图11,以仿真芯片为例,仿真装置30还包括数据点模块34,数据点模块34用于存储芯片总数量、不可修补的芯片总数量及芯片仿真的良率,以便于获取当前设计周期内的历史测试数据。
作为示例,请参阅图12,修补方案包括预设子域内可分派的行备用电路的数量和对应的位置数据及可分派的列备用电路的数量和对应的位置数据;修补模块32包括失效单元位置数据获取单元321、备用电路分派单元322及模拟修补结果生成单元323,失效单元位置数据获取单元321用于获取产品的失效单元的位置数据;备用电路分派单元322用于根据失效单元的位置数据及修补规则分派行备用电路及列备用电路;模拟修补结果生成单元323用于获取已分派的行备用电路及已分派的列备用电路的修补范围10之外的失效单元的数量及位置数据,以生成对应的模拟修补结果。
作为示例,请参阅图13,仿真模块33包括修补单元331、第一计算单元332、第二计算单元333、循环赋值单元334及良率计算单元335,修补单元331用于基于历史测试数据中第i组芯片的测试数据和所述冗余设计配置对第i组芯片进行修补,以得到第i组芯片的模拟修补结果;第i组芯片的模拟修补结果包括第i组芯片中不可修补的芯片的数量;i的初始值为1且为正整数;第一计算单元332用于计算第i-1组芯片和第i组芯片中芯片的数量之和,以得到芯片总数量;第二计算单元333用于计算第i-1组芯片和第i组芯片中不可修补的芯片的数量之和,以得到不可修补的芯片总数量;循环赋值单元334用于将i赋值i+1,并返回基于历史测试数据中第i组芯片的测试数据和冗余设计配置对第i组芯片进行模拟修补的步骤直到赋值后的i大于历史测试数据中芯片的组数;良率计算单元335用于基于芯片总数量和不可修补的芯片总数量,得到产品的良率。
作为示例,以仿真芯片产品为例来示意性说明本申请的实现原理。首先,获取持续时间,以获取持续时间内的测试数据作为历史测试数据(MD data),所述历史测试数据可以包括失效单元的修补范围信息、子域信息及地址信息;然后获取产品的冗余设计配置(RDCdata)、历史测试数据(MD data)及持续时间,所述冗余设计配置包括修补方案。然后根据预设修补算法(RA)对所述历史测试数据的失效单元分配修补方案,在获取所述产品的失效单元的位置数据之后,根据所述失效单元的位置数据及修补规则分派行备用电路及列备用电路,获取已分派的行备用电路及已分派的列备用电路的修补范围之外的失效单元的数量及位置数据,以生成对应的模拟修补结果,其中,修补规则可以包括前文所述的字线修补规则(RWL)及位线修补规则(RBL)。循环仿真直至遍历所述历史测试数据中芯片的所有组数(Loop-MD),并执行预设修补算法(RA)对所述历史测试数据的失效单元分配修补方案,例如,基于所述历史测试数据中第i组芯片的测试数据和所述冗余设计配置对第i组芯片进行修补,以得到第i组芯片的模拟修补结果,所述第i组芯片的模拟修补结果包括第i组芯片中不可修补的芯片的数量,i的初始值为1且为正整数;计算第i-1组芯片和第i组芯片中芯片的数量之和,以得到芯片总数量;计算第i-1组芯片和第i组芯片中不可修补的芯片的数量之和,以得到不可修补的芯片总数量;将i赋值i+1,并返回所述基于所述历史测试数据中第i组芯片的测试数据和所述冗余设计配置对第i组芯片进行模拟修补的步骤直到赋值后的i大于所述历史测试数据中芯片的组数;基于所述芯片总数量和所述不可修补的芯片总数量,得到所述产品的良率。在循环仿真并执行预设修补算法(RA)对所述历史测试数据的失效单元分配修补方案期间,存储所述芯片总数量(TCC++)、不可修补的芯片总数量(TUCC++)及所述产品的良率(Yield)至预设存储空间(data_point)。当获取的产品的良率大于或等于阈值时,判断产品符合要求,反之,若产品的良率小于阈值,可以更改冗余设计配置,使得仿真方法执行主体例如计算机在获取更新后冗余设计配置之后,基于所述更新后冗余设计配置和所述历史测试数据,得到在新的所述冗余设计配置下的所述产品的良率。进一步地,可以基于各所述冗余设计配置下的所述产品的良率,得到各所述冗余设计配置中符合要求的所述冗余设计配置;或者基于各所述冗余设计配置下的所述产品的良率和各芯片的尺寸,得到各所述冗余设计配置中符合要求的所述冗余设计配置。因此,本实施例实现了在半导体产品投产以前获取当前设计在半导体产品上应用仿真的良率,帮助设计者提前发现设计中的缺陷并改善设计,防止缺陷设计投产造成生产及测试成本的浪费,并充分利用历史测试数据,大大缩短设计更迭周期。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上任一项实施例所述的方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项实施例所述的方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (18)
1.一种仿真方法,其特征在于,包括:
获取产品的冗余设计配置及历史测试数据,所述冗余设计配置包括修补方案;
根据预设修补算法对所述历史测试数据的失效单元分配修补方案,并获取对应的模拟修补结果;
基于所述模拟修补结果和所述历史测试数据,得到所述产品的良率。
2.根据权利要求1所述的仿真方法,其特征在于,所述基于所述冗余设计配置和所述历史测试数据,得到所述产品的良率之前还包括:
获取持续时间,所述历史测试数据为所述持续时间内的测试数据。
3.根据权利要求1所述的仿真方法,其特征在于,所述历史测试数据包括失效单元的修补范围信息、子域信息及地址信息。
4.根据权利要求1所述的仿真方法,其特征在于,所述产品包括芯片,所述方法还包括:
存储所述芯片总数量、不可修补的芯片总数量及所述产品的仿真的良率。
5.根据权利要求1-4任一项所述的仿真方法,其特征在于,所述修补方案包括预设子域内可分派的行备用电路的数量和对应的位置数据及可分派的列备用电路的数量和对应的位置数据;所述预设修补算法包括修补规则;
所述根据预设修补算法对所述历史测试数据的失效单元分配修补方案,并获取对应的模拟修补结果,包括:
获取所述产品的失效单元的位置数据;
根据所述失效单元的位置数据及修补规则分派行备用电路及列备用电路;
获取已分派的行备用电路及已分派的列备用电路的修补范围之外的失效单元的数量及位置数据,以生成对应的模拟修补结果。
6.根据权利要求5所述的仿真方法,其特征在于,所述基于所述模拟修补结果和所述历史测试数据,得到所述产品的良率包括:
基于所述历史测试数据中第i组芯片的测试数据和所述冗余设计配置对第i组芯片进行修补,以得到第i组芯片的模拟修补结果;所述第i组芯片的模拟修补结果包括第i组芯片中不可修补的芯片的数量;i的初始值为1且为正整数;
计算第i-1组芯片和第i组芯片中芯片的数量之和,以得到芯片总数量;
计算第i-1组芯片和第i组芯片中不可修补的芯片的数量之和,以得到不可修补的芯片总数量;
将i赋值i+1,并返回所述基于所述历史测试数据中第i组芯片的测试数据和所述冗余设计配置对第i组芯片进行模拟修补的步骤直到赋值后的i大于所述历史测试数据中芯片的组数;
基于所述芯片总数量和所述不可修补的芯片总数量,得到所述产品的良率。
7.根据权利要求6所述的仿真方法,其特征在于,还包括:
判断是否结束仿真;
若否,则获取更新后冗余设计配置,并基于所述更新后冗余设计配置和所述历史测试数据,得到在新的所述冗余设计配置下的所述产品的良率。
8.根据权利要求7所述的仿真方法,其特征在于,所述第i组芯片的模拟修补结果还包括第i组芯片中各芯片的尺寸;所述方法还包括:
基于各所述冗余设计配置下的所述产品的良率,得到各所述冗余设计配置中符合要求的所述冗余设计配置;或者
基于各所述冗余设计配置下的所述产品的良率和各芯片的尺寸,得到各所述冗余设计配置中符合要求的所述冗余设计配置。
9.根据权利要求8所述的仿真方法,其特征在于,当所述产品的良率大于或等于阈值时,所述产品符合要求。
10.根据权利要求5所述的仿真方法,其特征在于:
所述行备用电路的延伸方向与字线的延伸方向一致;
所述列备用电路的延伸方向与位线的延伸方向一致。
11.一种仿真装置,其特征在于,包括:
获取模块,用于获取产品的冗余设计配置及历史测试数据,所述冗余设计配置包括修补方案;
修补模块,用于根据预设修补算法对所述历史测试数据的失效单元分配修补方案,并获取对应的模拟修补结果;
仿真模块,用于基于所述模拟修补结果和所述历史测试数据,得到所述产品的良率。
12.根据权利要求11所述的仿真装置,其特征在于,所述获取模块还包括:
持续时间获取模块,用于获取持续时间;所述历史测试数据为所述持续时间内的测试数据。
13.根据权利要求11所述的仿真装置,其特征在于,所述历史测试数据包括失效单元的修补范围信息、子域信息及地址信息。
14.根据权利要求11所述的仿真装置,其特征在于,所述产品包括芯片,所述装置还包括:
数据点模块,用于存储所述芯片总数量、不可修补的芯片总数量及所述产品的良率。
15.根据权利要求11-14任一项所述的仿真装置,其特征在于,所述修补方案包括预设子域内可分派的行备用电路的数量和对应的位置数据及可分派的列备用电路的数量和对应的位置数据;所述修补模块包括:
失效单元位置数据获取单元,用于获取所述产品的失效单元的位置数据;
备用电路分派单元,用于根据所述失效单元的位置数据及修补规则分派行备用电路及列备用电路;
模拟修补结果生成单元,用于获取已分派的行备用电路及已分派的列备用电路的修补范围之外的失效单元的数量及位置数据,以生成对应的模拟修补结果。
16.根据权利要求15所述的仿真装置,其特征在于,所述仿真模块包括:
修补单元,用于基于所述历史测试数据中第i组芯片的测试数据和所述冗余设计配置对第i组芯片进行修补,以得到第i组芯片的模拟修补结果;所述第i组芯片的模拟修补结果包括第i组芯片中不可修补的芯片的数量;i的初始值为1且为正整数;
第一计算单元,用于计算第i-1组芯片和第i组芯片中芯片的数量之和,以得到芯片总数量;
第二计算单元,用于计算第i-1组芯片和第i组芯片中不可修补的芯片的数量之和,以得到不可修补的芯片总数量;
循环赋值单元,用于将i赋值i+1,并返回所述基于所述历史测试数据中第i组芯片的测试数据和所述冗余设计配置对第i组芯片进行模拟修补的步骤直到赋值后的i大于所述历史测试数据中芯片的组数;
良率计算单元,用于基于所述芯片总数量和所述不可修补的芯片总数量,得到所述产品的良率。
17.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至10中任一项所述的方法的步骤。
18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110858277.8A CN115688656A (zh) | 2021-07-28 | 2021-07-28 | 仿真方法、装置、计算机设备及存储介质 |
US17/655,612 US20230034552A1 (en) | 2021-07-28 | 2022-03-21 | Simulation method and apparatus, computer device and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110858277.8A CN115688656A (zh) | 2021-07-28 | 2021-07-28 | 仿真方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115688656A true CN115688656A (zh) | 2023-02-03 |
Family
ID=85037386
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110858277.8A Pending CN115688656A (zh) | 2021-07-28 | 2021-07-28 | 仿真方法、装置、计算机设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230034552A1 (zh) |
CN (1) | CN115688656A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116168750A (zh) * | 2023-04-26 | 2023-05-26 | 长鑫存储技术有限公司 | 存储器阵列修补方法 |
-
2021
- 2021-07-28 CN CN202110858277.8A patent/CN115688656A/zh active Pending
-
2022
- 2022-03-21 US US17/655,612 patent/US20230034552A1/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116168750A (zh) * | 2023-04-26 | 2023-05-26 | 长鑫存储技术有限公司 | 存储器阵列修补方法 |
CN116168750B (zh) * | 2023-04-26 | 2023-09-15 | 长鑫存储技术有限公司 | 存储器阵列修补方法 |
Also Published As
Publication number | Publication date |
---|---|
US20230034552A1 (en) | 2023-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112908403B (zh) | 备用电路分派方法、装置、设备及介质 | |
CN112908402B (zh) | 备用电路分派方法、装置、设备及介质 | |
KR101936354B1 (ko) | 메모리 장치 및 이의 테스트 방법 | |
US9978463B2 (en) | Semiconductor apparatus and repair method thereof | |
US6535993B1 (en) | Testing apparatus for semiconductor memory device | |
US6397349B2 (en) | Built-in self-test and self-repair methods and devices for computer memories comprising a reconfiguration memory device | |
Du et al. | At-speed built-in self-repair analyzer for embedded word-oriented memories | |
US11200962B2 (en) | Memory devices having spare column remap storages and methods of remapping column addresses in the memory devices | |
CN115688656A (zh) | 仿真方法、装置、计算机设备及存储介质 | |
Shoukourian et al. | An approach for evaluation of redundancy analysis algorithms | |
US7020033B2 (en) | Semiconductor memory apparatus and self-repair method | |
US10535418B2 (en) | Memory device including repair circuit and operation method thereof | |
US20050066226A1 (en) | Redundant memory self-test | |
US6317846B1 (en) | System and method for detecting faults in computer memories using a look up table | |
US7149941B2 (en) | Optimized ECC/redundancy fault recovery | |
JP2001155498A (ja) | メモリセルの冗長ユニットを有するダイナミック集積化半導体メモリ及び該ダイナミック集積化半導体メモリのメモリセルの自己修復方法 | |
WO2022052542A1 (zh) | 失效位元的修补方案的确定方法和装置 | |
US7565585B2 (en) | Integrated redundancy architecture and method for providing redundancy allocation to an embedded memory system | |
CN100576348C (zh) | 决定内存模块修补方案之方法及测试装置 | |
US6175936B1 (en) | Apparatus for detecting faults in multiple computer memories | |
CN116343885A (zh) | 存储器访问方法、装置、存储器、设备及存储介质 | |
Krištofík et al. | Enhancement of fault collection for embedded RAM redundancy analysis considering intersection and orphan faults | |
Pekmestzi et al. | A bisr architecture for embedded memories | |
KR20190036381A (ko) | 스페어 컬럼 리맵 스토리지를 갖는 메모리 장치 및 그 메모리 장치의 컬럼 어드레스 리맵핑 방법 | |
US20230290428A1 (en) | Apparatuses and methods for dynamic column select swapping |
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 |