集成电路设计的功率意图中的不一致约束的诊断的制作方法

文档序号:33001341发布日期:2023-01-18 01:19阅读:29来源:国知局
集成电路设计的功率意图中的不一致约束的诊断的制作方法
集成电路设计的功率意图中的不一致约束的诊断
1.相关申请
2.本技术要求于2021年7月15日提交的美国临时申请序列号63/222,326的权益,该申请的内容出于所有目的通过引用其整体并入本文。
技术领域
3.本公开涉及集成电路(ic)设计。更具体地,本公开涉及ic设计的功率意图(power intent)中的不一致约束的诊断。


背景技术:

4.随着低功率ic设计的出现,功率优化变得更加复杂。复杂的功率优化实现可以使用复杂的功率网络。术语“功率网络”可以指在ic设计中向ic设计中的组件供应供电电压和接地电压的电路系统。


技术实现要素:

5.本文描述的实施例可以以ic设计的功率意图中的不一致约束的诊断为特征。功率意图可以被加载到ic设计上。功率意图可以描述ic设计的电源状态(power state)以及电源状态与ic设计中的其他状态或逻辑信号之间的关系。功率意图可以由约束集来表示。可以使用表格和/或逻辑表达式来描述约束集。可以基于约束集和期望对功率意图执行的规则检查来构造逻辑网络。可以使用逻辑网络对功率意图执行规则检查。响应于规则检查的失败,可以基于逻辑网络来创建一个或多个反演证明(refutation proof)。可以基于一个或多个反演证明来标识约束集的子集,其中约束集的子集可以包括导致规则检查失败的不一致性。然后可以修改ic设计以去除导致规则检查失败的不一致性。
6.在本文描述的一些实施例中,功率意图可以定义一组电源域。该组电源域可以对应于一组供电电压。将功率意图加载到ic设计上可以包括将该组供电电压电连接到ic设计中的组件的相应的电源端子,并创建电路系统以根据功率意图改变该组电源域的电源状态。
7.在本文描述的一些实施例中,逻辑网络中的信号可以对应于电源的状态、ic设计中的信号或约束集中的约束。
8.在本文描述的一些实施例中,可以提供图形用户界面(gui),其中gui可以标识与导致规则检查失败的不一致性相对应的逻辑网络的一部分。
附图说明
9.可以基于以下给出的详细描述和附图来理解本公开。附图、示例和实施例用于说明目的,并且不限制本公开的范围。此外,附图不一定按比例绘制。
10.图1图示了根据本文描述的一些实施例的设计流程。
11.图2图示了根据本文描述的一些实施例的对应于错误场景的逻辑网络。
12.图3图示了根据本文描述的一些实施例的图2中的逻辑网络的表示。
13.图4图示了根据本文描述的一些实施例的为什么图3中的表示不可满足的最小原因。
14.图5图示了根据本文描述的一些实施例的用于不一致约束的自动诊断的过程。
15.图6图示了根据本文描述的一些实施例的集成电路的设计、验证和制造的示例流程。
16.图7图示了在其中可以执行一组指令的计算机系统的示例机器,该组指令用于使机器执行本文讨论的方法中的任何一个或多个方法。
具体实施方式
17.在ic设计期间,可以为ic设计中的不同块创建块级功率意图描述。可以使用标准化语言来描述功率意图,该标准化语言可以包括但不限于统一功率格式(upf)。块级功率意图描述可能很复杂,并且系统级处的块级功率意图描述之间的交互可能会产生附加的复杂度级别。可以对系统级功率意图执行静态规则检查和动态规则检查。不一致约束可能会导致规则检查失败。在一些方法中,用户可以手动诊断不一致约束。这种用于诊断不一致约束的手动方法可能是耗时的且容易出错。
18.本文描述的一些实施例以自动标识和突出功率网络中对规则检查失败负责的最小部分的技术和系统为特征。本文描述的一些实施例可以基于功率网络和约束集来构造逻辑语句(logical statement),然后使用从基于形式化方法(formal-method-based)的求解器所获得的反演证明来诊断规则检查失败的根本原因。本文描述的一些实施例可以生成标识不一致约束的报告。一些实施例可以显示和/或突出显示ic设计中导致规则检查失败的逻辑部分。
19.本文描述的实施例的益处包括但不限于(1)自动地诊断功率意图描述中的不一致约束,以及(2)减少用于标识规则检查失败的根本原因的时间量和计算资源量。
20.图1图示了根据本文描述的一些实施例的设计流程。
21.可以接收ic设计102和功率意图104作为输入。ic设计102可以描述ic的功能,并且功率意图104可以描述ic设计102的功率优化,功率优化可以降低功耗并满足期望的功能规范。可以使用upf来描述功率意图104,并且功率意图104可以定义ic设计102可以在其中操作的操作模式。
22.具体地,功率意图104可以为ic设计102定义一个或多个电源域,并且可以定义用于操作ic设计102的一个或多个电源状态。电源域可以包括ic设计102中的一个或多个组件。每个电源域可以对应于供电电压。对应于电源域的供电电压可以为属于该电源域的组件供电。ic设计102的电源状态可以指定用于一个或多个电源域的状态和/或电压电平。例如,功率意图104可以定义两个电源域pd1和pd2,并且可以指定三个电源状态s1、s2和s3。功率意图104可以指定ic设计102中的哪些组件属于电源域pd1以及哪些组件属于pd2。在电源状态s1中,电源域pd1和pd2都可以关闭。例如,在电源状态s1下,pd1和pd2中的供电电压可以为0v。在电源状态s2中,电源域pd1可以开启,但电源域pd2可以关闭。例如,在电源状态s2下,pd1和pd2的供电电压可以分别为3v和0v。在电源状态s3下,电源域pd1和pd2都可以开启。例如,在电源状态s3下,pd1和pd2的供电电压可以分别为3v和5v。
23.功率意图104可以被加载在(在106处)ic设计102上。加载功率意图可以包括(1)将供电电压电连接到ic设计102中的组件的电源端子,以及(2)创建基于在功率意图104中定义的电源状态来开启/关闭电源域的电路系统。具体地,可以使用第一网表来描述ic设计102。在ic设计102上加载功率意图104可以创建第二网表,其可以包括(1)在第一网表中描述的电路系统,(2)ic设计102中的组件与供电电压之间的电连接,以及(3)基于在功率意图104中定义的电源状态来开启/关闭电源域的电路系统。
24.一旦功率意图被加载(在106处),就可以通过对功率意图104执行静态规则检查和动态规则检查来分析功率意图(在108处)。在一些实施例中,可以基于功率意图和规则检查来创建逻辑网络,并且逻辑网络可以被用来执行规则检查。规则检查可以确保功率意图中定义的电源状态被正确地实现。如果所有的规则检查都通过(从110发出的“是”分支),那么设计流程可以进行到下一阶段(在图1中被示为“完成116”)。另一方面,如果一个或多个规则检查失败(从110发出的“否”分支),那么可以诊断规则检查失败(在112处),并且可以细化(refine)(在114处)功率意图以纠正规则检查失败。然后可以将经纠正的功率意图加载到ic设计上(在106处)。
25.可以对功率意图执行不同类型的规则检查。一种类型的规则检查可以确定电源是否可以开启。例如,如果控制电源的信号只能导致电源处于关闭状态或不关心状态、但绝不会导致电源进入开启状态,则此类规则检查将失败。电源的状态可以取决于驱动电源的功率网络和适用于该电源的功率约束的组合。功率网络中的错误(例如,与关闭状态相连的开关使能)可能比约束集中的错误更容易调试。例如,可能难以手动分析和证明约束集导致电源永不开启。
26.在一些方法中,当功率意图分析(在图1中的108处)失败时,它可以标识失败的规则检查以及所涉及的电源。在某些方法中,用户可能会手动尝试修复导致失败的问题。具体地,用户可能会试图手动标识导致规则检查失败的最小功率意图逻辑。手动标识这种最小功率意图逻辑通常很麻烦,并且可能需要客户和供应商的大量工时。本文描述的一些实施例可以使故障诊断自动化。具体地,本文描述的一些实施例可以生成报告,该报告标识导致功率分析规则检查失败的功率意图中的问题部分(其可以是最小问题部分)。此外,本文描述的一些实施例可以使用gui来显示逻辑的问题部分以在诊断过程期间向用户提供视觉帮助。
27.本文描述的一些实施例通过基于约束集构造逻辑表达式并标识逻辑表达式中的包括矛盾的部分来诊断规则检查失败。具体地,在本文描述的一些实施例中,错误场景(其可以对应于规则检查的失败)可以被表示为逻辑网络。接下来,基于形式化方法的求解器,例如可满足性(sat)求解器或自动测试模式生成(atpg)求解器,可以被用来检查逻辑网络的输出是否可以被分配为逻辑值1。
28.错误场景(即,规则检查的失败)可以对应于逻辑网络的输出为恒定逻辑值0。换句话说,错误场景(即,规则检查的失败)的存在可以对应于逻辑网络的输出无法等于1的情况(其可以对应于与逻辑网络不可满足相对应的逻辑表达式)。在这种情形中,基于形式化方法的求解器可以被用来生成表示为什么无法满足目标的原因(其可能是最小原因)的反演证明。
29.规则检查可以被表示为在一组变量上的逻辑表达式,其中规则检查失败可以对应
于逻辑表达式不可满足。该组变量可以包括对应于ic设计102中的对象的第一组变量(例如,对应于ic设计102中的信号的逻辑值的变量),以及对应于功率意图104中的对象的第二组变量(例如,对应于处于特定电源状态下的ic设计102的变量)。
30.逻辑表达式可以被表示为一组子句的合取(conjunction)。针对逻辑表达式的反演证明可以指的是形式证明,其证明没有变量分配使得所有子句都为真。可以通过执行一系列解析步骤来生成反演证明,其中,在每个解析步骤中,可以从两个现有子句中导出一个新子句。例如,在解析期间,可以从子句“非x”(not x)和“x或y”(x or y)中导出新子句“y”。反演证明中的最后一个子句可能是矛盾的(例如,“x与非x”(x and not x)),这意味着没有变量分配可以使所有子句为真。
31.术语“原因”可以指的是导致第一逻辑表达式不可满足的第二逻辑表达式。例如,如果第一逻辑表达式包括子句“非x”(not x)、“x或y”(x or y)和“x”,那么原因(即,第二逻辑表达式)可以是“x与非x”(x and not x)。反演证明可以包括针对给定逻辑表达式的原因(其可能是最小原因)。例如,由反演证明生成的原因(即,第二逻辑表达式)可以指示作为第一逻辑表达式的一部分并且包括矛盾的第二逻辑表达式(其可能是最小原因)。
32.可以构造逻辑表达式,以使得作为反演证明中最小原因的一部分的约束对应于用户需要纠正的冲突约束的最小集合。逻辑表达式中的对应于最小原因的部分可以表示针对错误场景的根本原因。因此,本文描述的一些实施例可以利用由反演证明生成的最小原因来(1)生成具有冲突约束的报告,用户可以解决该冲突约束以解决错误场景,以及(2)显示功率网络的逻辑子集,这使得设计人员能够理解针对错误场景的根本原因。
33.图2图示了根据本文描述的一些实施例的对应于错误场景的逻辑网络。
34.每个约束可以定义ic设计中的电源之间的逻辑关系。具体地,约束可以被表示为在一组变量上定义的逻辑表达式,其中变量可以对应于ic设计中的信号、规则检查中的约束和/或电源。
35.作为一个具体示例,考虑一个规则检查,例如,r1,它确保给定的电源(例如,ps1)可以被开启。换言之,如果电源ps1永远无法开启,则规则检查失败r1。假设当一组信号为真时电源ps1开启。此外,假设由功率意图定义的约束集也必须为真。可以使用可以由如图2中所示的逻辑网络200(其也可以被称为逻辑电路)来表示的逻辑表达式来执行规则检查r1。逻辑网络200中的每个逻辑信号可以对应于逻辑表达式中的变量或约束的值。可以为每个信号分配从v1到v10的标签。例如,门202接收输入信号v2、v3和v4,并生成输出信号v7。同样,门204接收输入信号v5、v6、v7、v9和v10,并生成输出信号v8。门202和204执行“与”操作。
36.假设在约束集中存在四个需要为真的约束,例如ca到cd。信号v5可以对应于约束ca,信号v6可以对应于约束cb,信号v9可以对应于约束cc,并且信号v10可以对应于约束cd。对应于约束的信号可以具有对应于约束的真值的逻辑值。因此,如果约束ca为假,则信号v5可以具有逻辑值0,并且如果约束ca为真,则信号v5可以具有逻辑值1。
37.可以基于ic设计中的一个或多个信号来确定约束的值。例如,ic设计的逻辑锥206可以确定约束cc(其对应于信号v9)是否为真,并且ic设计的逻辑锥208可以确定约束cd(其对应于信号v10)是否为真。同样,ic设计的逻辑锥(图2中未示出)可以确定信号v1、v2、v3和v4的逻辑值。一个或多个逻辑锥可以相互重叠,即,ic设计中的一个逻辑门可以属于多个逻辑锥。与信号相关联的“逻辑锥”可以指的是ic设计中确定信号值的部分。例如,可以通过在
ic设计中的一个或多个级别上反向(即,从输出到输入)跟踪信号v9来确定逻辑锥206。
38.信号v5(其对应于约束ca)和信号v6(其对应于约束cb)可以彼此反相,如非门210所示。门202可以实现如下需求:信号v2、v3和v4必须具有逻辑1值,以用于电源ps1(其对应于信号v7)开启。门204可以实现如下需求:当电源ps1(其对应于信号v7)开启时,约束ca、cb、cc和cd也必须为真。因此,如果信号v8为真,那么意味着当约束ca到cd为真时,电源ps1(其对应于信号v7)可以被开启。另一方面,如果信号v8永远不能为真,那么意味着在满足约束ca到cd的同时电源ps1(其对应于信号v7)永远不能被开启。
39.在本文描述的一些实施例中,可以检查规则检查r1(例如,在图1中的108处)。接下来,如果规则检查r1失败(例如,图1中的110的“否”分支),那么可以确定由逻辑网络200表示的逻辑表达式的反演证明(在图1中的112处)。反演证明可以生成逻辑表达式为什么不可满足的原因(其可以是最小原因)并且突出显示逻辑网络200中的对应于该原因的子电路。例如,在图2中,子电路212可以被突出显示为对应于逻辑网络200的逻辑表达式不可满足的原因。子电路212可以经由图形用户界面(gui)而被显示给用户,这可以促进故障诊断(在图1中的112处)。
40.图3图示了根据本文描述的一些实施例的图2中的逻辑网络的表示。
41.图3中所示的表示是离散数学和理论计算机科学中心(dimacs)合取范式(cnf)格式。cnf格式仅被用于说明目的,并非旨在限制本公开的范围;一般来说,任何格式都可以被用来表示逻辑网络。cnf公式是一组子句的合取(逻辑“与”操作)。每个子句都是一组文字的析取(逻辑“或”操作),其中文字是变量或变量的否定。在dimacs cnf中,正整数表示变量,并且负整数表示变量的否定。每个子句都被指定在单独的行上,并以0终止。
42.例如,cnf表示300中的第一个子句是“2-7 0”,其表示信号v2与信号v7的否定之间的逻辑“或”操作。cnf表示300中的前四个子句对应于门202,其对信号v2、v3和v4执行“与”操作。cnf表示300中的最后一个子句是“8 0”,其表示信号v8。只有当cnf表示300中的每个子句都为真时,所有子句的合取才为真。因此,cnf表示300中的最后一个子句要求信号v8必须为真,即等于1。
43.图2中所示的逻辑网络200中的信号v8不能等于1,因为信号v5和v6互为补码。因此,可以将cnf表示300提供给sat求解器,sat求解器可以生成反演证明。反演证明可以被用来标识为什么cnf表示300不可满足的原因(其可能是最小原因)。术语“最小原因”可以指的是包含不一致性的最小约束集。本文描述的一些实施例可以生成多个反演证明,其中每个反演证明可以对应于不同的最小原因。
44.图4图示了根据本文描述的一些实施例的为什么图3中的表示不可满足的最小原因。
45.最小原因400包括信号v1、v5、v6和v8。其他信号不被包括在最小原因400中。最小原因400可以被用户用来确定约束ca和cb不能一起被满足。因此,用户可以调试对应于约束ca和cb的逻辑并且忽略其他逻辑和/或约束。具体地,在本文描述的一些实施例中,可以使用gui来突出显示对应于最小原因400的子电路。例如,图2中的子电路212(其对应于最小原因400)可以被突出显示。
46.图5图示了根据本文描述的一些实施例的用于不一致约束的自动诊断的过程。
47.功率意图可以被加载到ic设计上,其中功率意图可以由约束集来表示(在502处)。
功率意图可以定义一组电源域,其中该组电源域可以对应于一组供电电压。将功率意图加载到ic设计上可以包括将该组供电电压电连接到ic设计中的组件的相应电源端子,并创建电路系统以根据功率意图改变该组电源域的电源状态。功率意图可以描述ic设计的电源状态以及电源状态与ic设计中的其他状态或逻辑信号之间的关系。具体地,功率意图可以由约束集来表示,其中约束可以是在一组变量上定义的逻辑表达式,并且其中变量可以对应于ic设计中的电源的状态或信号。如果逻辑表达式的计算结果为真值,则满足约束。
48.可以基于约束集和期望对功率意图执行的规则检查来构造逻辑网络(在504处)。例如,可能希望对功率意图执行规则检查r1(如参考图2所述),其中规则检查r1可以与约束ca到cd相关联(如上所述)。
49.可以使用逻辑网络对功率意图执行规则检查(在506处)。例如,可以针对规则检查r1构造图2中所示的逻辑网络200,并且可以使用标准表示法(例如图3中所示的cnf表示300)来表示逻辑网络200。在本公开中,术语“逻辑网络”可以指可以使用逻辑门网络来表示的逻辑表达式。逻辑网络中的信号可以对应于电源的状态、ic设计中的信号或约束集中的约束。例如,信号v2、v3和v4可以对应于ic设计中的信号,信号v5、v6、v9和v10可以对应于约束,并且信号v7可以对应于电源的状态。在本文描述的一些实施例中,如果逻辑网络可以产生“1”值(即,逻辑网络是可满足的),那么规则检查可以通过。另一方面,如果逻辑网络不能产生“1”值(即逻辑网络不可满足),那么规则检查可能会失败。
50.响应于规则检查的失败,可以基于逻辑网络来创建一个或多个反演证明(在508处)。可以基于一个或多个反演证明来标识约束集的子集,其中约束集的子集包括导致规则检查失败的不一致性(在510处)。例如,基于形式化方法的求解器,例如sat求解器,可以被用来基于图3中的cnf表示300来生成反演证明,并且反演证明可以被用来生成图4中的最小原因400。接下来,可以基于最小原因400来标识约束ca和cb。
51.在本文描述的一些实施例中,可以向用户提供一个或多个不同的最小原因,并且用户可以使用这些一个或多个最小原因来调试功率意图。例如,用户可以调试或诊断导致约束ca和cb彼此不一致的功率意图中的问题。在本文描述的一些实施例中,一个或多个最小原因可以被用来突出显示导致规则检查失败的逻辑网络的一部分。例如,图2中的子电路212可以被突出显示。在本文描述的一些实施例中,可以修改功率意图以去除导致规则检查失败的不一致性。具体地,可以接收来自用户的对功率意图的修改。接下来,可以将修改后的功率意图加载到ic设计上,并且可以再次执行该组规则检查。
52.图6图示了根据本文描述的一些实施例的集成电路的设计、验证和制造的示例流程。
53.eda过程612(首字母缩写词“eda”指的是“电子设计自动化”)可以被用来转换和验证表示集成电路的设计数据和指令。这些过程中的每一个过程都可以作为多个模块或操作来被构建和使能。
54.流程600可以从使用由设计者所供应的信息来创建产品创意610开始,该信息通过使用eda过程612来进行转换和验证。当设计完成时,设计被下线634,这是将集成电路的图稿(例如几何图案)发送到制造工厂以制造掩模组的时候,然后掩模组被用来制造集成电路。在下线之后,制造636半导体裸片并且执行封装和组装638以生产成品ic芯片640。
55.用于电路或电子结构的规范范围可以从低级晶体管材料布局到高级描述语言。使
用诸如vhdl、verilog、systemverilog、systemc、myhdl或openvera之类的硬件描述语言(“hdl”),高级表示可以被用来设计电路和系统。hdl描述可以被转换为逻辑级寄存器传输级(“rtl”)描述、门级描述、布局级描述或掩模级描述。作为更具体描述的每个较低表示级别将更多细节添加在设计描述中。作为更具体描述的较低级别的表示可以由计算机生成,从设计库导出,或由另一个设计自动化过程创建。用于指定更详细描述的处于较低级别表示语言的规范语言示例是spice(其代表“具有集成电路重点的仿真程序”)。在每个表示级别的描述都包含足以供该层的对应工具(例如,形式验证工具)使用的详细信息。
56.在系统设计614期间,指定要被制造的集成电路的功能。可以针对诸如功耗、性能、面积(物理和/或代码行)和成本降低等等之类的期望特性对设计进行优化。在这个阶段,可以将设计划分为不同类型的模块或组件。
57.在逻辑设计和功能验证616期间,以一种或多种描述语言指定电路中的模块或组件,并且针对功能准确性而对该规范进行检查。例如,可以验证电路的组件以生成与所设计的电路或系统的规范要求相匹配的输出。功能验证可以使用模拟器和其他程序,诸如测试台发生器、静态hdl检查器和形式验证器。在一些实施例中,被称为“仿真器”或“原型系统”的特殊组件系统被用来加速功能验证。
58.在用于测试的综合和设计618期间,hdl代码被转换为网表。在一些实施例中,网表可以是图结构,其中图结构的边表示电路的组件,并且其中图结构的节点表示组件如何互连。hdl代码和网表二者都是分层的制品,eda产品可以使用它们来验证集成电路在被制造时根据指定的设计执行。可以针对目标半导体制造技术对网表进行优化。此外,可以对成品集成电路进行测试,以验证集成电路满足规范的要求。
59.在网表验证620期间,检查网表遵守时序约束并且与hdl代码相对应。在设计规划622期间,针对时序和顶层布线,构造并分析集成电路的总体平面图。
60.在布局或物理实现624期间,发生物理放置(诸如晶体管或电容器之类的电路组件的定位)和布线(电路组件通过多个导体的连接),并且可以执行从库中选择单元以使能特定逻辑功能。如本文中所使用的,术语“单元”可以指定提供布尔逻辑功能(例如,and、or、not、xor)或存储功能(例如触发器或闩锁)的一组晶体管、其他组件和互连。如本文中所使用的,电路“块”可以指代两个或更多单元。单元和电路块都可以被称为模块或组件,并且可以作为物理结构并且在仿真中被启用。为所选择的单元(基于“标准单元”)指定诸如尺寸之类的参数,并且使得可在数据库中访问以供eda产品使用。
61.在分析和提取626期间,电路功能在布局级被验证,这允许布局设计的细化。在物理验证628期间,检查布局设计以确保诸如drc约束、电气约束、光刻约束之类的制造约束是正确的,并且电路功能与hdl设计规范相匹配。在分辨率增强630期间,布局的几何形状被转换以改进电路设计的制造方式。
62.在下线期间,用于生产光刻掩模的数据被创建(如果合适的话,在应用光刻增强之后)。在掩模数据准备632期间,“下线”数据被用来生产用于生产成品集成电路的光刻掩模。
63.计算机系统(例如图7中的计算机系统700)的存储子系统可以被用来存储程序和数据结构,其被本文描述的eda产品中的一些或所有eda产品使用,并且被用于开发用于库以及使用该库的物理和逻辑设计的单元的产品所使用。
64.图7图示了在其中可以执行一组指令的计算机系统700的示例机器,该组指令用于
使机器执行本文讨论的任何一个或多个方法。
65.在替代实现中,机器可以连接(例如,联网)到lan、内联网、外联网和/或互联网中的其他机器。该机器可以在客户端-服务器网络环境中以服务器或客户端机器的身份来操作,作为对等(或分布式)网络环境中的对等机器来操作,或者作为云计算基础设施或环境中的服务器或客户端机器来操作。
66.该机器可以是个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、蜂窝电话、网络设备、服务器、网络路由器、交换机或桥,或任何能够(顺序或以其他方式)执行一组指令的机器,该组指令指定该机器要采取的动作。此外,虽然说明了单个机器,但是术语“机器”也应被理解为包括单独或联合执行一组(或多组)指令以执行本文讨论的任何一个或多个方法的任何机器集合。
67.示例计算机系统700包括处理设备702、主存储器704(例如,只读存储器(rom)、闪存、诸如同步dram(sdram)之类的动态随机存取存储器(dram)、静态存储器706(例如,闪存、静态随机存取存储器(sram)等)和数据存储设备718,它们经由总线730而相互通信。
68.处理设备702表示一个或多个处理器,诸如微处理器、中央处理单元等。更具体地,处理设备可以是复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器、或实现其他指令集的处理器或实现指令集组合的处理器。处理设备702也可以是一个或多个专用处理设备,诸如专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器等。处理设备702可以被配置为执行指令726,以执行本文描述的操作和步骤。
69.计算机系统700还可以包括网络接口设备708以通过网络720进行通信。计算机系统700还可以包括视频显示单元710(例如,液晶显示器(lcd)或阴极射线管(crt))、字母数字输入设备712(例如,键盘)、光标控制设备714(例如,鼠标)、图形处理单元722、信号生成设备716(例如,扬声器)、图形处理单元722、视频处理单元728和音频处理单元732。
70.数据存储设备718可以包括机器可读存储介质724(也被称为非暂时性计算机可读介质),在其上存储体现本文描述的任何一个或多个方法或功能的一组或多组指令726或软件。指令726还可以在由计算机系统700对其执行期间完全地或至少部分地驻留在主存储器704内和/或处理设备702内,主存储器704和处理设备702也构成机器可读存储介质。
71.在一些实现中,指令726包括用于实现与本公开相对应的功能的指令。虽然机器可读存储介质724在示例实现中被示为单个介质,但是术语“机器可读存储介质”应该被理解为包括存储一组或多组指令的单个介质或多个介质(例如,集中式或分布式数据库,和/或关联的高速缓存和服务器)。术语“机器可读存储介质”还应被理解为包括能够存储或编码一组指令以供机器执行并且使机器和处理设备702执行本公开的任何一个或多个方法的任何介质。因此,术语“机器可读存储介质”应被理解为包括但不限于固态存储器、光学介质和磁介质。
72.前面详细描述的一些部分已经根据对计算机存储器内的数据位的操作的算法和符号表示来呈现。这些算法描述和表示是数据处理领域的技术人员用来最有效地将他们的工作内容传达给本领域的其他技术人员的方式。算法可以是导致期望结果的一系列操作。这些操作是那些需要对物理量进行物理操纵的操作。这些量可以采取能够被存储、组合、比较和以其他方式操纵的电或磁信号的形式。这样的信号可以被称为位、值、元素、符号、字
符、项、数字等。
73.然而,应该记住,所有这些和类似的术语都将与适当的物理量相关联并且仅仅是被应用于这些量的方便标签。除非从本公开中清楚地另外明确说明,否则应当了解,在整个描述中,某些术语是指计算机系统或类似电子计算设备的动作和过程,其操纵被表示为计算机系统的寄存器和存储器内的物理(电子)量的数据并将它们转换为类似地表示为计算机系统存储器或寄存器或其他此类信息存储设备内的物理量的其他数据。
74.本公开还涉及一种用于执行本文中的操作的装置。该装置可以为预期目的而被专门构造,或者它可以包括由存储在计算机中的计算机程序选择性地激活或重新配置的计算机。这样的计算机程序可以被存储在计算机可读存储介质中,诸如但不限于任何类型的磁盘,包括软盘、光盘、cd-rom和磁光盘、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁卡或光卡,或任何类型的适合存储电子指令的介质,其每一个都连接到计算机系统总线。
75.本文所呈现的算法和显示与任何特定的计算机或其他装置没有内在关联。根据本文的教导,各种其他系统可以与程序一起使用,或者可以证明构造更专业的装置来执行该方法是方便的。此外,没有参考任何特定的编程语言来描述本公开。应当了解,可以使用多种编程语言来实现如本文所述的本公开的教导。
76.本公开可以作为计算机程序产品或软件而被提供,其可以包括在其上存储有指令的机器可读介质,该指令可以被用来对计算机系统(或其他电子设备)进行编程以执行根据本公开的过程。机器可读介质包括用于以机器(例如,计算机)可读的形式存储信息的任何机制。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质,诸如只读存储器(“rom”)、随机存取存储器(“ram”)、磁盘存储介质、光存储介质、闪存设备等。
77.在前述公开中,已经参考本公开的具体示例实现描述了本公开的实现。显而易见的是,在没有背离如所附权利要求中阐述的本公开实现的更广泛的精神和范围的情况下,可以对其进行各种设计修改。在本公开以单数时态提及一些元素的情况下,可以在附图中描绘多于一个的元素并且相似的元素用相似的数字来标记。因此,本公开和附图应被视为说明性意义而非限制性意义。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1