一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

功率估计系统的制作方法

2021-11-15 17:47:00 来源:中国专利 TAG:

功率估计系统
1.优先权
2.本技术案主张2020年4月27日申请的第62/704,204号美国临时申请案的优先权,且将那个申请案全文并入进来。
技术领域
3.本公开涉及功率分析,且特定来说,涉及在没有模拟或仿真的情况下基于测试型式的分析的功率估计。


背景技术:

4.使用测试型式来验证所制造硅电路的完整性。将所制造芯片放置到测试机中且使用扫描链将型式输入到装置中。优化测试型式输入以提供对制造缺陷的最大控制及可见性。
5.在扫描测试期间,经由一组扫描链将测试型式串行地加载到电路中。在这个加载过程期间,电路内部的切换次数很高且峰值毛刺功率可能使测试器过载或损坏硅。
6.为了消除这些功率问题,可利用标准延迟格式(sdf)延迟来模拟具有测试型式的电路,接着执行功率计算。这个门级模拟及功率估计很慢且由于测试向量的长度,即使使用计算网格,这个过程也可能花费大量时间(例如,几周)来执行。
7.仿真无法解决这个问题,因为需要详细的延迟信息,这通常不是仿真器所支持的。
8.使用所有波形的详细且准确的功率计算很慢,但却是使用仿真或模拟输出所需要的。


技术实现要素:

9.一种用于集成电路设计的一部分的功率估计的方法,其包括:在扫描模式中将测试向量加载到第一触发器序列中;在扫描模式中评估所述测试向量且将所述评估的结果保存在第二触发器序列中;将结果从所述第二触发器序列读出到扫描链;及基于所述结果来计算由所述集成电路设计的所述部分使用的功率。
附图说明
10.在附图的图中通过实例且非限制的方式说明本公开,且其中类似参考编号是指类似元件且其中:
11.图1a说明用于测试向量刺激的功率估计的方法的一个实施例。
12.图1b说明用于功率估计的改进方法的一个实施例。
13.图2是功率估计系统的一个实施例的框图。
14.图3是功率估计过程的一个实施例的概述流程图。
15.图4是使用集成波形及功率引擎方法的功率分析系统的一个实施例的流程图。
16.图5说明所述过程中涉及的元件的一个实施例的简化图。
17.图6说明加载扫描数据的一个实施例。
18.图7是循序元件之间的评估的一个实施例的框图。
19.图8说明循序元件的实例性值。
20.图9说明随着时间的推移的评估序列。
21.图10a到10c说明实例性峰值功率型式。
22.图11a说明实例性矩阵。
23.图11b说明处理之后的图11a的矩阵。
24.图12描绘根据本公开的一些实施例的在集成电路的设计及制造期间使用的各种过程的流程图。
25.图13描绘本公开的实施例可在其中操作的实例计算机系统的图。
具体实施方式
26.本技术案通过消除门级模拟或仿真来解决测试向量的功率分析问题。使用集成波形及功率引擎方法来直接计算测试型式数据。在一个实施例中,从自动测试型式生成器接收测试型式数据,所述自动测试型式生成器计算相关数据,从而实现模拟特定所关注型式或循环,而无需串行地模拟先前循环以达到所关注循环。使用由自动测试型式生成器生成的初始状态数据实现更快模拟以及部分模拟,且还消除了对经压缩扫描链进行解压缩的需要。测试型式包含使用串行扫描链移入到硅装置中的一系列0/1值。这个型式数据集是扫描链中的每一循序单元的值。从测试型式数据,所述系统可针对整个测试直接识别所述设计中的所有扫描元件的值。
27.如果循序值是已知的,那么使用波形计算技术来计算所有组合单元的值。从扫描链已知所有循序单元的值;因此,这种方法可高效地计算所述设计中的所有节点。接着,集成功率引擎可使用每一节点的波形值在门级网表上执行快速的近似功率估计。
28.这提供了快速功率估计。因为初始状态数据适用于转变的相关子集,所以功率估计器将快得多地提供数据。可在生成每一测试向量之后执行这个功率计算,且可再生超过最大功率值的任何向量。这会带来满足功率要求的测试向量集。
29.在一个实施例中,扫描向量还经级联以形成一连串扫描测试。这些向量中的每一者与下一/前一集重叠。从硅读出一个向量,而将下一向量加载到硅中。功率计算是向量读取期间的切换及下一向量加载期间的切换的组合。个别地计算每一向量的功率允许所述系统重新排序且计算所有型式组合的功率,从而实现最优顺序以满足功率要求。因此,功率估计系统为所有型式组合提供快速、相关且准确的功率估计,从而实现针对集成电路的功率要求选择最优型式顺序。
30.图1a说明用于测试向量刺激的功率估计的方法的一个实施例。在一个实施例中,所述过程包含在110处使用测试型式生成器来生成测试向量。所述过程进一步包含在120处以sdf延迟在门级网表上模拟或仿真测试向量。所述过程进一步包含在130处以快速信号数据库(fsdb)或另一波形格式保存波形,及在140处使用功率分析系统来执行基于循环的功率分析。如下文将更详细地描述,功率分析系统确定峰值功率且确定测试向量是否满足电路的功率要求。
31.在一个实施例中,使用串行扫描链来将测试向量加载到所述设计中。这允许通过
经由扫描链加载所需数据来控制任何循序触发器。否则,使用设计逻辑很难或不可能控制这些循序单元。
32.图1b说明用于提供功率估计的本系统及方法的一个实施例。测试型式生成器150生成测试型式,且将数据160传递到功率分析器170,所述功率分析器170生成峰值功率图180。与图1a中所说明的方法相比,这种方法不利用门电平模拟。这使其就时间以及计算成本而言更高效。
33.图2是功率估计系统的一个实施例的框图。功率估计系统200包含自动测试型式生成器220及功率分析系统230。在一个实施例中,功率估计系统200是在计算机系统中实施。在一个实施例中,功率估计系统200的不同部分可在不同系统中实施。功率估计系统200用于集成电路设计及/或验证中,以确保可满足功率要求,如下文将论述。本系统提供一种改进的功率估计系统,其在例如现场可编程门阵列(fpga)、专用集成电路(asic)等的电路的设计及测试方面提供技术改进。
34.自动测试型式生成器220的输入是通常呈网表格式205的设计。网表表示集成电路设计或集成电路设计的一部分。在一个实施例中,测试目标由用户经由用户接口210选择。测试目标识别所关注循环的子集,以进行评估。在一个实施例中,测试目标还识别所关注集成电路的部分,以进行评估。在一个实施例中,所述系统用于评估可能引起功率尖峰或超过容量的循环的子集。在一个实施例中,用户可识别此类循环。在另一实施例中,其它系统215可识别此类循环以进行评估。
35.自动测试型式生成器(atpg)220接收对选定移位及/或捕获循环的循序元件的状态的请求。atpg 220为功率分析系统提供值输出。atpg 220利用测试型式生成来确定选定型式/循环的相关元件的状态。相关元件可包含扫描元件、非扫描元件(循序或组合)中的一或多者。atpg 220可输出元件的初始及最终状态的任何组合。
36.在一个实施例中,atpg 220输出可确定其值的所有扫描元件及非扫描元件的初始状态。在一个实施例中,这涵盖设计的大多数非扫描元件。在另一实施例中,atpg 220提供设计中的所有扫描及非扫描元件的初始及最终状态。在另一实施例中,atpg 220提供所有扫描及非扫描元件的初始状态以及所有组合元件的初始状态。在另一实施例中,atpg 220提供扫描及非扫描元件的初始及最终状态,以及组合元件的初始及最终状态。atpg 220能够提供所有扫描元件的初始状态、非扫描元件的初始状态及循序元件的初始状态以进行选定型式/循环选择。
37.在一个实施例中,功率分析系统230从atpg 220接收值输出。在一个实施例中,值输出是未经压缩的。在一个实施例中,值输出是电路的相关片段中的一些或所有元件的初始状态。在一个实施例中,可将循序扫描、循序非扫描及组合元件的初始状态提供给功率分析系统230。在一个实施例中,atpg 220将经压缩输出提供给硅测试器系统280以在生产芯片之后进行制造测试、诊断及故障分析。硅测试器系统280将atpg型式应用于所制造装置以验证芯片功能性。
38.扫描逻辑235将数据扫描到扫描链240中。由扫描逻辑235使用的数据是由atpg 220提供的初始状态数据。接着,在由扫描逻辑235扫描输出之前,由波形评估器245评估扫描链240中的数据。可并行地进行扫描输入及输出,如下文将论述。波形评估器245可为任何波形评估器。所述波形评估器评估循序元件之间的设计逻辑以计算设计评估时钟的一或多
个循环的目的循序元件的值。
39.组合节点计算器250使用基于扫描链的评估来计算作为两种测试型式的组合而生成的功率,如下文将更详细地描述。矩阵逻辑255识别所述型式的排序以选择最低功率值且识别最低功率路径。矩阵逻辑255利用功率矩阵,所述功率矩阵包含作为nxn矩阵的功率值—一行用于将首先运行的每一型式且一列用于将在其次运行的每个型式。矩阵逻辑255分析功率逻辑以基于最低组合功率值来识别所述型式的排序。
40.功率估计器260按经识别顺序执行测试,且利用重叠型式来测量功率。在一个实施例中,由功率估计器260使用扫描链240。由评估器265评估功率结果,以确定其是否满足功率准则。如果不满足,那么再生触发器270触发型式的再生。在一个实施例中,功率分析系统230可通过应用程序编程接口(api)275触发自动测试型式生成器220,以生成经更新型式,或提供后续数据。
41.图3是使用功率估计系统的一个实施例的流程图。所述过程在310处开始。在一个实施例中,这个过程是电路设计的逻辑设计及功能验证过程的部分。
42.在320处,由所述系统接收给定移位及/或捕获循环的特定所关注型式。在一个实施例中,可由用户选择这个数据。在一个实施例中,其它系统可识别可能引起功率骤增或尖峰的特定型式,且使用那些型式。
43.在330处,atpg计算将待传递到功率估计器的状态数据。状态数据可包含选定移位/捕获循环的一些或所有循序扫描、循序非扫描及组合元件初始状态。状态数据可另外或替代地包含这些元件的最终状态。
44.在340处,将状态数据传递到功率估计器。在一个实施例中,数据以其未经压缩状态从atpg传递。在另一实施例中,可使用单独系统来对数据进行解压缩。
45.在350处,使用扫描链来评估所关注型式的功率。图4提供这种计算的一个实施例。可使用基于所述元件的开始及/或结束状态来计算功率的其它方法。
46.在360处,所述过程确定值是否在范围内。如果所述值不超过最大功率也不低于阈值,那么所述值被认为是在范围内。如果结果在范围内,那么在370处,输出结果以进行评估。在一个实施例中,这可包含在用户接口上为用户输出功率曲线。接着,所述过程在380处结束。
47.如果结果不在范围内,那么在390处舍弃结果,且触发状态数据的再生。在一个实施例中,所述系统可警告用户结果在范围外。在一个实施例中,这些结果也可被用于评估,且可被标记。
48.图4是使用扫描链来评估功率的一个实施例的流程图。在一个实施例中,图4对应于图3的350。返回到图4,所述过程在410处开始,其中从atpg接收数据。
49.在415处,将扫描数据串行地加载到触发器中。扫描数据表示从atpg接收的正被评估的元件的初始状态。扫描数据是从atpg接收的初始状态数据。
50.在420处,在正常模式中针对一或多个循环对所述设计进行时控。这使状态向前移动一定数目的循环。
51.在425处,所述系统评估所述循环,且将值保存在循序单元中。
52.在430处,所述过程确定是否存在更多数据待评估。即,是否仍存在任何未经评估数据。如果是,那么所述过程继续到435。
53.在435处,读出结果且并行地,将用于下一评估的值移入到触发器中。这可实现数据的并行处理,且加速评估。接着,所述过程返回到420,以利用额外扫描数据对所述设计进行时控。
54.如果在430处未发现进一步的未经评估数据,那么在框440处,从扫描链读出最终值集。接着,在445处使用经保存数据来计算功率。接着,所述过程在450处结束。
55.图5说明功率估计过程中涉及的元件的一个实施例的简化图。将扫描输入数据510串行地加载到触发器520ff_a1到ff_a4中。
56.这个扫描链是由扫描逻辑连接及控制的一组循序元件。在

扫描模式’中,从扫描链中的先前触发器驱动每一触发器的输入。使用这种方法,可使用scan_enable及scan_in数据引脚串行地加载循序元件。对于具有1000个循序元件的扫描链,需要1000个时钟循环来将所有数据串行地加载到所述设计中。
57.测试型式生成器通常生成经压缩型式集,其接着由存在于硅上的电路解压缩。这允许测试型式更小,且在许多情况下,可从单个经压缩测试型式导出多个扫描链数据。接着,将未经压缩型式提供给本波形及功率计算系统及方法。
58.可将未经压缩型式的子集提供给本波形及功率计算系统及方法。测试型式生成器可对未经压缩型式执行某种基于切换的分析以确定哪些型式或型式的哪些切片更可能引起峰值功率事件。接着,可使用所描述过程来分析这些型式或切片。
59.接着,在正常(非扫描)模式中针对一或多个循环对所述设计进行时控。所有设计逻辑530将进行评估且新设计值将被保存在循序单元ff_b1到ff_b4 540中。接着,再次移位扫描链,且在一个实施例中,使用与扫描输出数据550相同的扫描链逻辑来将来自设计评估阶段的结果从所述设计移出。对于具有1000个循序元件的扫描链,将使用1000个时钟循环来从所述设计串行地读取所有数据。
60.在扫描加载阶段期间已知所有循序元件的值。如图6中所展示,随着将扫描数据加载到设计中,扫描链位置#n处的每一循序元件将具有由scan_data[t

n]指定的值。
[0061]
在所述设计的评估阶段期间,已知所有循序元件。波形评估器可评估循序元件之间的设计逻辑,以计算目的循序元件的值,如图7中所说明。这可用于一个循环,或用于任何数目个设计评估时钟。
[0062]
在扫描读取阶段期间,使用扫描链来从设计读出循序值。每一循序元件的值流动通过扫描链,且从前一步骤已知这些值,位置t处的每一循序元件具有scan_data[t n],如图8中所说明。
[0063]
在一个实施例中,扫描加载及扫描读取阶段并行地发生。当从所述设计读出向量m的数据值时,将向量m 1的扫描链值加载到所述设计中。两种型式的组合用于计算功率。图9说明这个序列随着时间的推移的简化实例。在这个实例中,针对四个循环移入数据,且接着针对一个循环评估数据。以这种方式,随着时间的推移,评估数据。
[0064]
为了在扫描加载/读取阶段期间计算门级设计的功率,使用每个循序元件的值。接着,应用波形评估技术来计算电路中的每个组合节点的值,而无需对所述设计进行循序模拟。
[0065]
为了计算每一循序单元的值,在一个实施例中,使用两种方法。
[0066]
·
随着将数据扫描到所述设计中,测试向量数据将流动通过扫描链。可从测试向
量数据确定所有循序元件值,例如循序元件值[n]=scan_vector[t

n]
[0067]
·
随着从所述设计读出数据,使来自评估阶段的值移位通过扫描链。可从设计评估数据确定所有循序元件值,例如循序元件值[n]=design_evaluation_value[t n]
[0068]
可使用上述方法确定所有循序单元的值。由于循序值现在对于全测试向量加载/存储阶段来说是已知的,因此可计算所有组合节点的值。这可通过运行用于在时间t1、t2、t3评估所有节点的模拟方法或通过波形评估方法来实现。
[0069]
如果在一个实施例中使用波形评估,那么可评估电路中的每个门一次。已知输入引脚值,且可针对所有输出引脚值评估所述单元一次。这具有消除竞争且允许在多线程或多主机计算环境上高效地调度所述设计的优势。由于计算线程之间不存在逐循环通信,因此简化了任务的动态调度。
[0070]
接着,当使所述设计进入正常模式且评估一或多个时钟循环时,发生设计评估。在这种情况下,评估设计逻辑且驱动每一触发器的值,但设计逻辑(非测试/扫描逻辑)除外。在一个实施例中,所述设计的评估使用与扫描加载/读取阶段相同的技术而发生。
[0071]
由于波形现在对于所述设计中的所有循序单元及组合单元来说是已知的,因此其可用于不同类型的功率估计方法中。所述方法可更准确、但更复杂且更慢,或更不准确、但更不复杂且更快。这将得到测试型式的平均及峰值功率结果。
[0072]
在一个实施例中,可由测试型式生成器启动这个功率计算以计算功率。如果功率超过最大值,那么可舍弃测试型式且利用不同值序列再生测试型式。这得到满足功率目标的测试型式集。
[0073]
在测试型式执行期间生成的功率是两种测试型式的组合。随着从第一测试型式读出结果,将下一测试型式读取到设计中。为了计算型式的功率,可同时获得及使用两种型式。
[0074]
这个重叠意味着经生成功率取决于型式的顺序,且可通过对测试型式进行重新排序来优化功率。两种型式的组合可能引起大功率尖峰,但当个别型式中的每一者与不同型式配对时,观察不到尖峰。
[0075]
在一个实施例中,随着基于布局或其它信息对扫描链进行排序,所述设计中的扫描触发器处于某种任意但固定的顺序中。由一组循序元件驱动的组合逻辑将具有来自新扫描型式及来自先前型式的结果两者的数据。
[0076]
来自各种型式的峰值功率可在每一型式内在不同循环处出现。图10a到10c说明实例性峰值功率型式。
[0077]
例如,如果按1 2 3顺序执行型式,那么型式#2的扫描输出(循环5)的峰值功率与型式#3的扫描输入(循环

5)的峰值功率对齐。如果将型式重新排序为3 2 1,那么这些峰值不会对齐且最大功率降低。
[0078]
在一个实施例中,可利用固定0x0及0x1的下一/先前数据执行每一型式且可平均化来自两次运行的型式功率。接着,可将每一对型式的功率图相加,其中对齐扫描输出 扫描输入时间且计算峰值功率。
[0079]
在一个实施例中,将每一功率值放置到nxn矩阵中—一用于将首先运行的每一型式且一列用于将在其次运行的每个型式。当行==列时,所述矩阵将具有空白条目集。这个矩阵也称为功率矩阵。
[0080]
图11a说明实例性矩阵。
[0081]
在一个实施例中,所述过程接着移除其中功率超过最大值的所有条目。图11b说明在移除此类条目之后的矩阵。如果任何行为空,那么具有任何其它型式的这个型式功率将超过最大功率值。在一个实施例中,解决方案是移除这种型式且再生型式。所述系统可重复这个过程直到所有行具有一或多个有效条目为止。
[0082]
在一个实施例中,所述过程在所述矩阵上进行迭代且用优先级标记所述矩阵中的每一条目。在一个实施例中,矩阵中具有最大功率值的条目是起点,且接着所述过程以降序进行。在一个实施例中,所述系统在维持每列2个值及每行2个值的同时,移除具有最大值的条目。
[0083]
在一个实施例中,评估过程如下:
[0084]
·
遍历矩阵以产生测试型式顺序。
[0085]
·
从具有最小值的单元开始(在这个实例中,在行4,列5处的单元1120具有值1.11)。
[0086]
·
识别与单元相关联的测试型式(在这个实例中,测试型式#4后接型式#5,由行及列表示)
[0087]
·
使整列#4无效,因为这种测试型式现在位于测试列表中。
[0088]
·
在第二测试型式的行(此处是行#5)处查找最小值(在这个实例中,单元1130,行#5及列#6,具有值1.19)。
[0089]
·
使列#5无效。
[0090]
·
重复直到矩阵遍历完成为止。
[0091]
选择与最小值单元相关联的列的最小值将选择具有最低功率的下一型式。当所述系统以这种方式遍历矩阵时,其将以最低功率路径或几乎最低功率路径结束。可能无法识别最低功率路径,因为识别绝对最低功率路径是np不完整的问题。然而,即使可能不是绝对最低的可能顺序,这个过程也选择几乎最优的顺序。
[0092]
在一个实施例中,所述过程使用测试顺序中的测试中的每一者来执行功率估计且利用重叠型式来测量功率。测试型式功率可能不同,因为这使用先前

下一型式的实际型式值而非算法中较早前使用的固定0x0/0x1值。所述型式通过串行扫描链加载,因此可通过每一触发器在这个加载期间将具有的值来计算在此加载期间使用的功率。然而,在一个实施例中,随着型式被加载,同时卸载先前型式。例如,如果所述型式是1k个触发器长—当所述系统已加载500个位时,从这种型式已知扫描链的前500个位。但接下来的500个位仍然设置为正被卸载的先前型式的值,因为加载及卸载同时发生。这意味着所述系统无法轻松计算出卸载部分的有功功率,因为那个有功功率可为任何值。功率是驱动所述设计中的所有组合逻辑的触发器。例如,在一种设计中,存在使用触发器500 501的and门。触发器500处的值是已知的,因为其刚刚被加载,但触发器501的值是未知的。因此,所述系统可计算已加载的n个触发器的功率,但必须猜测其余触发器(尚未加载,但正被卸载)的0x0或0x1。
[0093]
如果任何型式对超过最大功率,那么所述过程更新矩阵中的这些值且重复矩阵优化并遍历以获得新型式顺序。根据需要重复这个过程直到达到最小测试型式功率为止。以这种方式,本系统提供一种用于在不需要门级模拟或仿真的情况下评估设计的功率使用的方法。
[0094]
图12说明在例如集成电路的制品的设计、验证及制造期间用以变换及验证表示集成电路的设计数据及指令的实例过程集1200。这些过程中的每一者可经结构化且作为多个模块或操作启用。术语

eda’表示术语

电子设计自动化’。这些过程从使用由设计师供应的信息创建产品理念1210开始,所述信息经变换以创建使用eda过程集1212的制品。当所述设计完成时,退出1234所述设计,这是将集成电路的原稿(例如,几何图案)发送到制造工厂以制造掩模集的时候,接着使用所述掩模集来制造集成电路。在退出之后,制造1236半导体裸片且执行封装及组装过程1238以生产成品集成电路1240。
[0095]
电路或电子结构的规格可在从低级晶体管材料布局到高级描述语言的范围内。使用例如vhdl、verilog、systemverilog、systemc、myhdl或openvera的硬件描述语言(

hdl’),高表示级可用于设计电路及系统。可将hdl描述变换为逻辑级寄存器传送级(rtl)描述、门级描述、布局级描述或掩模级描述。作为更详细描述的每一较低表示级将更多有用细节添加到设计描述中,例如,包含所述描述的模块的更多细节。作为更详细描述的较低表示级可由计算机生成、从设计库导出或由另一设计自动化过程创建。处于用于指定更详细描述的较低表示语言级的规格语言的实例是spice,其用于对具有许多模拟组件的电路的详细描述。启用处于每一表示级的描述以供那个层的对应工具(例如形式验证工具)使用。设计过程可使用图12中所描绘的序列。所描述的过程可由eda产品(或工具)启用。
[0096]
在系统设计1214期间,指定待制造的集成电路的功能性。可针对所要特性(例如功耗、性能、面积(物理及/或代码行数)及成本降低等)优化所述设计。在这个阶段可将所述设计划分为不同类型的模块或组件。
[0097]
在逻辑设计及功能验证1216期间,以一或多种描述语言指定电路中的模块或组件且检查所述规格的功能准确性。例如,可验证电路的组件以生成匹配正被设计的电路或系统的规格的要求的输出。功能验证可使用模拟器及其它程序,例如测试平台生成器、静态hdl检查器及形式验证器。在一些实施例中,称为

仿真器’或

原型设计系统’的组件的特殊系统用于加速功能验证。在一个实施例中,本功率型式测试落在逻辑设计及功能验证1216内。
[0098]
在测试的合成及设计1218期间,将hdl代码变换为网表。在一些实施例中,网表可为图形结构,其中图形结构的边缘表示电路的组件且其中图形结构的节点表示组件的互连方式。hdl代码及网表两者是可由eda产品用来验证集成电路在被制造时根据经指定设计运行的分层制品。可针对目标半导体制造技术优化网表。另外,可测试成品集成电路以验证集成电路满足规格要求。
[0099]
在网表验证1220期间,检查网表与时序约束的符合性及与hdl代码的对应性。在设计规划1222期间,构建并分析集成电路的总体平面布置图以进行时控及顶层布线。
[0100]
在布局或物理实施1224期间,发生物理放置(例如晶体管或电容器的电路组件的定位)及布线(电路组件通过多个导体的连接),且可执行从库选择单元以启用特定逻辑功能。如本文中所使用,术语

单元’可指定提供布尔逻辑函数(例如,and、or、not、xor)或存储功能(例如,触发器或锁存器)的一组晶体管、其它组件及互连件。如本文中所使用,电路

块’可指代两个或更多个单元。单元及电路块两者可称为模块或组件且既作为物理结构启用又在模拟中启用。为选定单元(基于

标准单元’)指定参数,例如大小,且使所述参数可在数据库中存取以供eda产品使用。
[0101]
在分析及提取1226期间,以布局级验证电路功能,这容许改善布局设计。在物理验证1228期间,检查布局设计以确保制造约束是正确的,例如drc约束、电约束、光刻约束,且电路系统功能匹配hdl设计规格。在分辨率增强1230期间,变换布局的几何形状以改进电路设计的制造方式。
[0102]
在退出期间,创建数据以用于(在适当的情况下在应用光刻增强之后)光刻掩模的生产。在掩模数据准备1232期间,使用

退出’数据来生产用于生产成品集成电路的光刻掩模。
[0103]
计算机系统(例如图12的计算机系统1200或图10的主机系统1007)的存储子系统可用于存储由本文中所描述的一些或所有eda产品以及用于库的单元开发以及使用库的物理及逻辑设计的产品所使用的程序及数据结构。
[0104]
图13说明计算机系统1300的实例机器,在所述计算机系统1300内可执行用于致使所述机器执行本文中所论述的任何一或多种方法中的指令集。在替代实施方案中,所述机器可经连接(例如,联网)到lan、内联网、外联网及/或因特网中的其它机器。所述机器可在客户端

服务器网络环境中以服务器或客户端机器的身份操作,在对等(或分布式)网络环境中作为对等计算机操作,或在云计算基础结构或环境中作为服务器或客户端机器操作。
[0105]
所述机器可为个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、蜂窝电话、网络设备、服务器、网络路由器、交换机或网桥,或能够执行指定待由那个机器采取的动作的指令集(循序或其它)的任何机器。此外,虽然说明单个机器,但术语“机器”也应被理解为包含个别地或共同地执行一指令集(或多个指令集)以执行本文中所论述的任何一或多种方法的机器的任何集合。
[0106]
实例计算机系统1300包含处理装置1302、主存储器1304(例如,只读存储器(rom)、快闪存储器、动态随机存取存储器(dram)(例如同步dram(sdram))、静态存储器1306(例如,快闪存储器、静态随机存取存储器(sram)等)及数据存储装置1318,其经由总线1330彼此通信。
[0107]
处理装置1302表示一或多个处理器,例如微处理器、中央处理部件等。更具体来说,所述处理装置可为复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器、或实施其它指令集的处理器、或实施指令集组合的处理器。处理装置1302还可为一或多个专用处理装置,例如专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器等。处理装置1302可经配置以执行指令1326以执行本文中所描述的操作及步骤。
[0108]
计算机系统1300可进一步包含网络接口装置1308以通过网络1320进行通信。计算机系统1300还可包含视频显示部件1310(例如,液晶显示器(lcd)或阴极射线管(crt))、字母数字输入装置1312(例如,键盘)、光标控制装置1314(例如,鼠标)、图形处理部件1322、信号生成装置1316(例如,扬声器)、图形处理部件1322、视频处理部件1328及音频处理部件1332。
[0109]
数据存储装置1318可包含机器可读存储媒体1324(也称为非暂时性计算机可读媒体),在所述机器可读存储媒体1324上存储体现本文中所描述的任何一或多种方法或功能的一或多个指令集1326或软件。指令1326在其由计算机系统1300执行期间也可全部或至少部分地驻留在主存储器1304内及/或处理装置1302内,主存储器1304及处理装置1302也构
成机器可读存储媒体。
[0110]
在一些实施方案中,指令1326包含用于实施对应于本公开的功能性的指令。虽然机器可读存储媒体1324在实例实施方案中被展示为单个媒体,但术语“机器可读存储媒体”应被理解为包含存储一或多个指令集的单个媒体或多个媒体(例如,集中式或分布式数据库,及/或相关联高速缓冲存储器及服务器)。术语“机器可读存储媒体”还应被理解为包含能够存储或编码指令集以供机器执行且致使机器及处理装置1302执行本公开的任何一或多种方法的任何媒体。因此,术语“机器可读存储媒体”应被理解为包含但不限于固态存储器、光学媒体及磁性媒体。
[0111]
已关于对计算机存储器内的数据位的操作的算法及符号表示呈现前文详细描述的一些部分。这些算法描述及表示是数据处理领域的技术人员用于最有效地向所属领域的其它技术人员传达其工作实质的方式。算法作可为得到所要结果的操作序列。所述操作是需要对物理量进行物理操纵的操作。此类量采取能够被存储、组合、比较及以其它方式操纵的电信号或磁信号的形式。此类信号可称为位、值、元件、符号、字符、项、数字等。
[0112]
然而,应牢记,所有这些及类似术语将与适当物理量相关联且仅仅是应用于这些量的方便标签。如从本公开显而易见的是,除非另有具体地陈述,否则应明白,某些术语贯穿所述描述是指计算机系统或类似电子计算装置的动作及过程,所述计算机系统或类似电子计算装置将表示为计算机系统的寄存器及存储器内的物理(电子)量的数据操纵及变换成类似地表示为计算机系统存储器或寄存器或其它此类信息存储装置内的物理量的其它数据。
[0113]
本公开还涉及一种用于执行本文中的操作的设备。这个设备可经专门构造用于预期目的,或其可包含由存储在计算机中的计算机程序选择性地激活或重新配置的计算机。此计算机程序可经存储在计算机可读存储媒体中,例如但不限于任何类型的磁盘,包含软盘、光盘、cd

rom及磁光盘、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁卡或光卡、或适合于存储电子指令的任何类型的媒体,其各自耦合到计算机系统总线。
[0114]
本文中所呈现的算法及显示器并非固有地与任何特定计算机或其它设备相关。各种其它系统可与根据本文中的教示的程序一起使用,或可证明构造更专门的设备来执行所述方法是方便的。另外,未参考任何特定编程语言描述本公开。将明白,可使用各种编程语言来实施如本文中所描述的本公开的教示。
[0115]
本公开可被提供为计算机程序产品或软件,所述计算机程序产品或软件可包含其上存储有指令的机器可读媒体,所述指令可用于编程计算机系统(或其它电子装置)以执行根据本公开的过程。机器可读媒体包含用于以由机器(例如,计算机)可读的形式存储信息的任何机构。例如,机器可读(例如,计算机可读)媒体包含机器(例如,计算机)可读存储媒体,例如只读存储器(“rom”)、随机存取存储器(“ram”)、磁盘存储媒体、光学存储媒体、快闪存储器装置等。
[0116]
在前述公开内容中,本公开的实施方案已参考其特定实例实施例进行描述。本发明的实施例的详细描述参考附图,其中类似参考指示类似元件,其通过图解说明的方式展示实践本发明的特定实施例。对这些实施例的描述足够详细以使所属领域的技术人员能够实践本发明。所属领域的技术人员应理解,在不脱离本发明的范围的情况下,可利用其它实施例且可进行逻辑改变、机械改变、电改变、功能改变及其它改变。
[0117]
将显而易见的是,在不脱离如所附权利要求书中所阐述的本公开的实施方案的更广泛精神及范围的情况下,可对本公开进行各种修改。在本公开以单数意义指代一些元件的情况下,在图中可描绘一个以上元件且用类似编号标记类似元件。因此,本公开及附图应被认为是说明性而非限制性的,且本公开的范围仅由所附权利要求书来界定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献