首页 / 专利库 / 制造过程 / 计算机集成制造 / 架构层级功率监控优化和风险减轻技术

架构层级功率监控优化和险减轻技术

阅读:406发布:2020-05-14

专利汇可以提供架构层级功率监控优化和险减轻技术专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种用于通过以下操作来自动综合定制集成 电路 的系统和方法:接收所述定制集成电路的包括计算机可读代码的规格,并且生成所述计算机可读代码的评测数据以确定指令使用情况;自动生成针对所述计算机可读代码独特定制的处理器架构,其中所述处理器架构具有一个或多个处理 块 以实现一个或多个指令;基于所述计算机可读代码的评测数据来确定指令执行序列,并且重新分配所述指令序列以使操作分散到IC上的不同块从而减少热点;以及将所生成的架构综合为用于 半导体 制造的所述定制集成电路的计算机可读描述。,下面是架构层级功率监控优化和险减轻技术专利的具体信息内容。

1.一种用于管理定制集成电路设计即定制IC设计中的功率的方法,包括:
a.接收定制集成电路的包括计算机可读代码的规格,并且生成所述计算机可读代码的评测数据以确定指令使用情况;
b.自动生成针对所述计算机可读代码独特定制的处理器架构,其中所述处理器架构具有在IC上执行一个或多个指令的一个或多个处理
c.基于所述计算机可读代码的评测数据来确定指令执行序列,并且重新分配或延迟所述指令序列以使操作或活动分散到处理块从而减少热点;以及
d.将所生成的架构综合为半导体制造所用的所述定制集成电路的计算机可读描述。
2.根据权利要求1所述的方法,其中,将各机器指令与硬件执行路径相关联,该方法还包括在数据模型中维持可能的执行路径和相关联的指令的记录。
3.根据权利要求1所述的方法,其中,数据模型接收机器指令的统计评测数据,并且提取任何给定周期内的指令执行的稳态概率。
4.根据权利要求1所述的方法,其中,数据模型针对各指令执行路径创建估计拓扑布局。
5.根据权利要求4所述的方法,其中,还包括:基于预先确定的协议使用一个或多个物理设计模型来估计布局,并且选择物理设计建模所需的预定抽象层级。
6.根据权利要求1所述的方法,其中,数据模型将指令的执行稳态概率与执行路径的拓扑相关联。
7.根据权利要求6所述的方法,其中,还包括:根据所述数据模型创建布局的子区域,并且针对各子区域确定交叉的执行路径的集合,从而产生一个或多个执行路径概率以确定子区域权重。
8.根据权利要求7所述的方法,其中,还包括:应用子区域权重分布以估计功率热点位置
9.根据权利要求1所述的方法,其中,还包括:应用数据模型以识别执行路径与功率热点交叉的受影响指令。
10.根据权利要求9所述的方法,其中,还包括:将功率热点区域建模为虚拟受限容量资源。
11.根据权利要求9所述的方法,其中,还包括:经由所述数据模型来将依赖于所述受限容量资源的受影响指令提供至编译器的指令调度器。
12.根据权利要求11所述的方法,其中,指令调度器优化考虑将所述受限容量资源与一个或多个性能成本函数相结合,以针对所述IC同时优化功率/热点和性能。
13.根据权利要求1所述的方法,其中,还包括:根据所述评测数据来生成功能块使用情况统计数据。
14.根据权利要求13所述的方法,其中,还包括:按照时间追踪不同处理块的使用情况。
15.根据权利要求1所述的系统,其中,还包括:推测地关断所述一个或多个处理块的电源,并且在需要的情况下自动接通已关断的处理块的电源。
16.根据权利要求1所述的方法,其中,还包括:使用指令译码器来确定何时要向各电源域供给电源。
17.根据权利要求1所述的方法,其中,还包括:进行所述计算机可读代码的静态评测或动态评测以确定处理块使用情况。
18.根据权利要求1所述的方法,其中,还包括:自动生成所述定制集成电路运行所述计算机可读代码所用的固件软件开发工具包即SDK。
19.根据权利要求1所述的方法,其中,还包括:将所述计算机可读代码编译成汇编代码,链接所述汇编代码以生成针对所选择的架构的固件,并且进行所述固件的循环精确仿真。
20.一种用于管理定制集成电路设计即定制IC设计中的功率的方法,包括:
a.接收定制集成电路的包括计算机可读代码的规格,并且生成所述计算机可读代码的评测数据以确定指令使用情况;
b.自动生成针对所述计算机可读代码独特定制的处理器架构,其中所述处理器架构具有一个或多个处理块以实现一个或多个指令;
c.基于所述计算机可读代码的评测数据来确定指令执行序列,并且在空间上分配所述处理块以使操作或活动分散到IC上的不同区域从而减少热点;以及
d.将所生成的架构综合为半导体制造所用的所述定制集成电路的计算机可读描述。

说明书全文

架构层级功率监控优化和险减轻技术

[0001] 相关申请的交叉引用
[0002] 本申请涉及共同拥有且同时提交的标题为“AUTOMATIC OPTIMAL INTEGRATED CIRCUIT GENERATOR FROM ALGORITHMS AND SPECIFICATION”的申请号为12/835,603的申请、标题为“AUTOMATIC OPTIMAL INTEGRATED CIRCUIT GENERATOR FROM ALGORITHMS AND SPECIFICATION”的申请号为12/835,621的申请、标题为“APPLICATION DRIVEN POWER GATING”的申请号为12/835,628的申请、标题为“SYSTEM,ARCHITECTURE AND MICRO-ARCHITECTURE(SAMA)REPRESENTATION OF AN INTEGRATED CIRCUIT”的申请号为12/835,631的申请和标题为“ARCHITECTURAL LEVEL POWER-AWARE OPTIMIZATION AND RISK MITIGATION”的申请号为12/835,640的申请,这些申请的内容通过引用而包含于此。

技术领域

[0003] 本发明涉及一种针对架构层级功率监控优化和风险减轻的方法和设备。

背景技术

[0004] 功率的分配通常与产品所消耗的功率平一样重要。即使所消耗的功率水平较低,在消费者位于受限区域内的情况下,这也可能造成该位置处的显著电压下降。这随之而来会造成该位置处的性能劣化。这被称为电压下降/IR热点。
[0005] 通常,架构师通过将产品划分成硬件软件来根据算法和/或产品规格来开发架构。然后,设计师将该架构转译成诸如寄存器传输语言(RTL)代码等的中间代码。然后进行平面设计,并且可以生成IC布局。在布局之后,可以对该布局进行热点分析,并且在热点分析表示由于当前设计而产生的IR热点不可接受的情况下,用户可以重新开始架构、RTL、平面设计、布局和热点分析的整个序列。该处理可能非常冗长并且根据设计的复杂度而可能花费数百万美元。

发明内容

[0006] 在第一方面中,公开了一种用于通过以下操作来自动综合定制集成电路的系统和方法:接收所述定制集成电路的包括计算机可读代码的规格,并且生成所述计算机可读代码的评测数据以确定指令使用情况;自动生成针对所述计算机可读代码独特定制的处理器架构,其中所述处理器架构具有一个或多个处理以实现一个或多个指令;基于所述计算机可读代码的评测数据来确定指令执行序列,并且重新分配所述指令序列以使操作分散到IC上的不同块从而减少热点;以及将所生成的架构综合为用于半导体制造的所述定制集成电路的计算机可读描述。
[0007] 在另一方面中,代替对执行序列重新排序以在空间上使操作分散到IC上,该处理可以基于代码评测数据来确定指令执行序列,并且在空间上分配处理块以使操作分散到IC上的不同区域从而减少热点。
[0008] 上述方面的实现可以包括以下中的一个或多个。该处理将每个机器指令与作为片上逻辑和互连结构的集合的相关硬件执行路径相关联。该执行路径可被视为指令的硬件“占用空间(foot-print)”。数据模型维持所有可能的执行路径及其相关指令的记录。该数据模型接收各种机器指令的统计评测数据,并且从该统计评测数据提取在任何给定周期内执行指令的稳态概率。该数据模型可以针对各指令执行路径创建估计拓扑布局。基于预先确定的协议使用多种物理设计模型来进行布局估计,以选择物理设计建模所需的适当抽象层级。该数据模型将指令的执行稳态概率与其执行路径的拓扑相关联。该数据模型创建了该布局的子区域,并且针对各子区域,存在交叉的执行路径的集合,从而产生用于计算子区域权重的执行路径概率的集合。使用(整个区域内的)子区域权重分布来估计功率热点位置。该数据模型识别执行路径与功率热点相交叉的受影响指令。然后,将功率热点区域建模成虚拟受限容量资源。数据模型针对编译器的指令调度器进行配置,以将受影响指令视为依赖于受限容量资源。受限容量转而限制子区域内应当容许紧邻顺次激活的执行路径的数量。这种资源相依性可以容易地添加至指令调度器的资源分配表。然后,指令调度器优化考虑将以上所创建的虚拟资源与其它性能成本函数相结合。因而,功率和性能同时被优化。该系统可以根据评测数据来生成功能块使用情况统计数据。该系统可以按照时间来追踪不同处理块的使用情况。该系统可以推测地切断一个或多个处理块的电源并且在需要时自动接通已关闭的处理块的电源。指令译码器可以确定何时向各电源域供给电源。可以自动生成定制IC运行应用程序代码所用的软件工具。这些工具包括编译器、汇编编译器、链接编译器、基于循环的仿真器中的一个或多个。该工具自动生成固件。这些工具可以评测固件并且提供固件评测数据作为反馈以优化架构。编译器的指令调度器可以在配备有该功率优化方案的情况下排列指令的顺序以使效益最大化。该系统可以基于预定的物理制约来迭代重复地优化处理器架构。该系统可以进行计算机可读代码的静态评测或动态评测。该系统可以自动生成定制集成电路运行计算机可读代码所用的软件开发工具包(SDK)。可以将该计算机可读代码变换成汇编代码并且可以链接该计算机可读代码以生成针对所选择的架构的固件。该系统可以进行固件的循环精确仿真。可以基于评测后的固件和/或汇编代码来优化该架构。该系统可以针对所选择的架构、以及如此针对在定时、面积或功率方面优化的物理设计来生成寄存器传输级(RTL)代码。该系统可以综合该RTL代码。
[0009] 优选实施例的优点可以包括以下中的一个或多个。可以从架构度控制静态功率。这将使芯片设计师预先较好地掌握功率消耗并且还避免功率相关的调度延迟。该系统通过更新成本函数提高了热点管理的可预测性。这样避免了热点引起的次最优性的意外情况。指令调度器经由数据模型监控功率使用情况,并且可以了解对指令执行进行调度的实际成本,从而得到芯片上的热点最少的高性能。因而,指令调度器“监控功率”的原因在于:指令调度器可以使用预测的热点信息并将该信息映射至虚拟资源制约,以使得标准的现成指令调度器可以变得能够监控功率。
[0010] 在另一方面中,公开了一种用于通过以下操作来自动综合定制集成电路的系统和方法:接收所述定制集成电路的规格,其中所述规格包括计算机可读代码以及针对所述定制集成电路的一个或多个制约;在数据模型中对架构层级知识进行编码以传递针对所述计算机可读代码独特定制的芯片规格的物理综合所用的信息;迭代重复地进行所述物理综合并且更新所述芯片规格的数据模型,直到满足所述制约为止;以及将所述芯片规格的所述计算机可读代码综合到半导体制造所用的所述定制集成电路内。
[0011] 上述方面的实现可以包括以下中的一个或多个。该系统可以应用前缀标签和后缀标签以表示阶层内的单元的分组是硬制约还是软制约。可以存储具有特定前缀/后缀的名称以从架构层级知识指示关键路径。该系统可以指示针对最佳定时的配置制约,其中配置制约具有以下其中之一:宏块名称、阶层名称、附注、备注、虚设模块、包装器模块。该系统可以进行预见(look ahead)以使用前一迭代中获得的或者用户供给的信息来检测关键路径。该制约可以是寄存器传输语言(RTL)制约、平面设计制约、物理制约、定时制约、功率制约、系统层级制约的其中一个。可以经由网表实例命令协议等将制约信息提供至数据模型。
[0012] 本系统的优选实施例的优点可以包括以下中的一个或多个。该系统使作为最详细层级设计活动的物理综合自动化。在初始设计阶段中,实际关键路径被可解决的关键路径所掩蔽。该系统自动确定要优化哪些关键路径并且自动显露实际关键路径。该系统使用在单次运行中对完成电路进行分析的非阶层设计方法和阶层方法。由于设计器和工具总是关注同一电路的所有方面,因而该全局方法使设计收敛成。该系统减轻了芯片设计的问题并使芯片设计成为简单过程。这些实施例使产品开发过程的关注点从硬件实现过程转变回至产品规格和计算机可读代码或算法设计。代替束缚于特定硬件选择,可以在专针对该应用而优化的处理器上实现计算机可读代码或算法。该优选实施例将该优化处理器连同所有相关联的软件工具和固件应用程序一起自动生成。该过程可以在数日内完成而非如传统那样需要数年来完成。该系统是设计硬件芯片解决方案的方式的彻底的模式转变。
[0013] 本系统消除了芯片设计的风险并使芯片设计成为自动过程,由此算法设计师本身无需具有任何芯片设计知识就可以直接制作硬件芯片。针对该系统的主要输入是采用如C或Matla那样的高级语言的计算机可读代码或算法规格。
[0014] 使用该系统的多个优点可以包括:
[0015] 1)时程(schedule):在芯片设计周期变为以周为单位而不是以年为单位来计量的情况下,用户可以通过使其产品快速地推向市场来打入迅速变化的市场。
[0016] 2)成本:为了实现芯片而通常需要雇佣的大量工程师变得多余。这样给使用本系统的公司带来巨额的成本节省。
[0017] 3)最优性:使用本系统所设计的芯片的产品在性能、面积和功耗方面均优良。
[0018] 本系统是设计具有数字芯片组件的系统时使用的方法的彻底的模式转变。该系统是根据以C/Matlab描述的算法来生成数字硬件的全自动化软件产品。该系统对于采用诸如C或Matlab等的高级语言来实现硬件芯片的过程使用独特方法。简言之,本系统使芯片设计成为全自动化软件过程。附图说明
[0019] 图1示出自动生成定制IC的示例系统。
[0020] 图2示出自动生成定制IC的示例工作流程。
[0021] 图3示出自动生成定制IC的示例过程。
[0022] 图4示出示例数据模型。
[0023] 图5示出示例架构层级的假设递增成本估计数据模型(WICE-DM)。
[0024] 图6示出初始化设计的前端、在这种情况下为WICE-DM的前端的示例过程。
[0025] 图7示出利用优化循环返回的示例物理综合过程。
[0026] 图8A示出基于指令执行评测来说明指令发送和路径练习之间的相关性的示例图。
[0027] 图8B示出基于指令执行评测来说明指令调度器如何使功率热点最小化的示例图。
[0028] 图8C示出根据本发明的一个方面的示例工作流程处理。
[0029] 图9A~9B示出描述利用数据模型如何实现热点监控指令调度器优化的示例任务层级处理。

具体实施方式

[0030] 图1示出自动生成定制IC的示例系统。图1的系统支持针对所选择的目标应用程序的最佳定制集成电路解决方案的自动生成。该目标应用程序的规格通常通过采用如C、Matlab、SystemC、Fortran、Ada或任何其它语言等的高级语言表示为计算机可读代码的算法来实现。该规格包括目标应用程序的描述,并且还包括诸如期望成本、面积、功率、速度、性能和硬件解决方案的其它属性等的一个或多个制约。为了辅助物理综合,该系统将“边带”信息编码成网表文件,并且可以获得与单独的原有用户制约相比、在引导物理综合时更富有成效的设计制约(物理和定时)。在特定实施例中,通过网表实例命名方案来“暗示”这些制约。
[0031] 在图1中,定制IC生成产品规格102。通常,存在获得了期望产品的所有主要功能的初始产品规格。根据该产品,算法专家识别针对该产品所需的计算机可读代码或算法。这些算法中的一部分算法可以作为IP从第三方或标准开发委员会来获得。该算法中的一部分必须作为产品开发的一部分来开发。以这种方式,产品规格102可以进一步细化为可表示为诸如C程序等的程序或诸如Matlab模型等的数学模型的计算机可读代码或算法104。此外,产品规格102还包含诸如成本、面积、功率、工艺类型、库和存储器类型等的要求106。
[0032] 将计算机可读代码或算法104和要求106提供至自动IC生成器110。仅基于该代码或算法104以及施加于芯片设计的制约,IC生成器110使用图2的处理来在无需人为参与的情况下自动生成如下输出,其中该输出包括GDS文件112、用以运行IC的固件114、软件开发工具包(SDK)116和/或测试套件118。GDS文件112用于制造定制芯片120。然后,在所制造的该芯片上运行固件114以实现定制产品规格102。
[0033] 在物理综合期间,IC生成器110将编码后的“边带”信息应用于网表文件。然后,该系统在指导物理综合时应用设计制约(物理和定时)。在特定实施例中,通过网表实例命名方案来“暗示”这些制约。
[0034] 图1的系统减轻了芯片设计的问题并使芯片设计成为简单过程。该系统使产品开发过程的关注点从硬件实现过程转变回至产品规格和算法设计。代替束缚于特定硬件选择,可以总是在专门针对该应用而优化的数字芯片处理器上实现算法。该系统将该优化处理器连同所有相关联的软件工具和固件应用程序一起自动生成。该整个过程可以在数日内完成而非如今需要数年来完成。简言之,该系统使产品开发的数字芯片设计部分成为黑盒子。
[0035] 在一个实施例中,本系统产品可以采用以下作为输入。
[0036] 以C/Matlab定义的计算机可读代码或算法
[0037] 所需的外设
[0038] IO规格
[0039] 面积目标
[0040] 功率目标
[0041] 余量目标(内置有多少开销以用于未来的固件更新和复杂度的增加)[0042] 过程选择
[0043] 标准单元库选择
[0044] 存储器编译器选择
[0045] 测试能(扫描、tap(测试访问端口)控制器、bist(内置自测试)等)[0046] 该系统的输出可以是数字硬宏以及所有相关联的固件。针对该数字硬宏而优化的软件开发工具包(SDK)也是自动生成的,由此在不必改变处理器的情况下实现未来针对固件的升级。
[0047] 图2示出自动生成定制IC的示例工作流程。该系统针对任何所选择的目标应用程序自动生成完整且最佳的硬件解决方案。尽管常见的目标应用程序存在于嵌入式应用程序范畴内,但这些目标应用程序并非必须局限于此。
[0048] 参考图2,定制ASIC生成产品规格202。产品规格202进一步细化为可表示为诸如C程序等的程序或者诸如Matlab模型等的数学模型的计算机可读代码或算法204。产品规格202还包含诸如成本、面积、功率、工艺类型、库和存储器类型等的产品参数和要求206。将计算机可读代码或算法204和产品参数206提供至包括自动最佳指令集架构生成器(AOISAG)(210)的自动IC生成器110。该生成器210控制自动最佳RTL生成器(AORTLG)242,其中该AORTLG242对自动最佳芯片生成器(AOCHIPG)244进行驱动。AOCHIPG244将“边带”信息编码成网表文件并且可以获得与单独的原有用户制约相比、在引导物理综合时更富有成效的设计制约(物理和定时)。在特定实施例中,通过网表实例命名方案来“暗示”这些制约。
[0049] AOCHIPG244和AORTLG242的输出通过反馈循环被提供至AOISAG210。AOISAG210还控制自动最佳固件工具生成器(AOFTG)246,其中该AOFTG246的输出被提供至自动最佳固件生成器(AOFG)248。该AOFG248的输出也通过反馈循环被提供至AOISAG。
[0050] IC生成器110生成GDS文件212、用以运行IC的固件214和软件开发工具包(SDK)216作为输出。将GDS文件212和固件214提供至诸如TSMC或UMC等的IC制造器230以制造定制芯片220。
[0051] 在一个实施例中,该系统为全自动化。无需人工干预或引导。该系统为最优化的。工具将自动生成最佳解决方案。在其它实施例中,用户可以在需要的情况下进行干预以提供人为引导。
[0052] AOISAG210可以自动生成最佳指令集架构(被称为ISA)。将该ISA定义为实现可编程的硬件解决方案所需的涵盖整个数字芯片规格的每一单项细节。这些细节可以包括以下示例因素中的一个或多个。
[0053] 1)指令集功能、编码和压缩
[0054] 2)协处理器/多处理器架构
[0055] 3)定标性(scalarity)
[0056] 4)寄存器文件大小和宽度、访问延迟和端口
[0057] 5)固定点大小
[0058] 6)静态和动态分支预测
[0059] 7)控制寄存器
[0060] 8)堆栈操作
[0061] 9)循环
[0062] 10)循环缓冲器
[0063] 11)数据寻址
[0064] 12)流水线深度和功能
[0065] 13)循环缓冲器
[0066] 14)外设
[0067] 15)存储器访问/延迟/宽度/端口
[0068] 16)扫描/tap控制器
[0069] 17)专用加速器模块
[0070] 18)时钟规格
[0071] 19)数据存储器和高速缓存系统
[0072] 20)数据预取机制
[0073] 21)程序存储器和高速缓存系统
[0074] 22)程序预取机制
[0075] AORTLG242是根据最佳ISA以寄存器传输语言(RTL)自动生成硬件解决方案的自动最佳RTL生成器。AORTLG242为全自动化。无需人工干预或引导。该工具将自动生成最佳解决方案。所生成的RTL是可综合且可编译的。
[0076] AOCHIPG244是根据最佳RTL自动生成GDSII硬件解决方案的自动最佳芯片生成器。该工具244为全自动化。无需人工干预或引导。该工具将自动生成最佳解决方案。所生成的芯片为全功能化,并且可以在无需修改的情况下利用标准FAB(标准晶圆制造厂)来制造。
[0077] AOFTG246是用于自动生成基于硬件解决方案来开发固件代码所需的软件工具的自动最佳固件工具生成器。AOFTG246为全自动化。无需人工干预或引导。该工具将自动生成最佳解决方案。可以基于数字芯片规格来自动生成诸如编译器、汇编编译器、链接编译器、功能仿真器、循环精确仿真器等的标准工具。AOFG248是自动最佳固件生成器,其中该AOFG248自动生成需要由如此得到的芯片220来执行的固件。该工具为全自动化。无需人工干预或引导。另外,该工具将自动生成最佳解决方案。还可以自动生成优化实时操作系统(RTOS)。
[0078] 芯片规格定义了执行定制应用程序所需的具体的功能单元。还具体地定义了固有的并行性,由此确定了并行使用的这些单元的数量。从评测信息提取微观和宏观层级的并行性的所有复杂度,因而利用该知识来设计芯片规格。因此,最佳地设计了芯片规格,并且芯片设计不会如在不具有这种评测信息而设计芯片规格的情况那样被过度设计或设计不足。在动态评测期间,收集分支统计数据,并且基于该信息来最佳地设计分支预测机制。此外,根据该评测可以得到连续指令之间的所有相依性检查,因而对芯片规格的流水线和所有指令调度方面进行了最佳设计。
[0079] 芯片规格可以提供诸如以下等的选项:
[0080] *硬件模块寻址,允许在不必持续地测试外包的情况下实现循环缓冲器。
[0081] *针对数据串流化所设计的存储器架构,大量地使用DMA并且期望将代码写成知晓高速缓存分层结构和相关联的延迟。
[0082] *驱动多个算术单元可能需要存储器架构支持每个指令周期的若干访问。
[0083] *将程序存储器和数据存储器分开(哈佛(Harvard)架构),并且有时对多个数据总线进行并行存取。
[0084] *特殊SIMD(单指令、多数据)运算。
[0085] *一些处理器使用VLIW技术,因而各指令并行驱动多个算术单元。
[0086] *诸如快速乘法-累加(MAC)等的特殊算术运算。
[0087] *作为用于计算FFT的特殊寻址模式的位反转寻址。
[0088] *诸如用于在无需针对指令提取或退出测试的开销的情况下、在非常紧凑的循环内执行少量指令字的架构支持等的特殊循环控制。
[0089] *特殊预取指令与数据预取机制相关,以使得执行单元不会因数据不足而停止。因而,针对给定的执行单元和使用这些执行单元的指令的调度来最佳地设计存储器带宽。
[0090] 图3示出用于自动生成图1的定制芯片120的示例处理流程。现在转向参考图3,生成定制产品规格(302)。定制产品规格302被进一步细化为可表示为诸如C程序等的程序或者诸如Matlab模型等的数学模型的计算机可读代码或算法304。
[0091] 以静态方式316和动态方式318对定制算法304进行评测。在架构优化器单元320中使用通过该评测收集到的统计数据。该单元还接收定制规格302。基本功能生成器
314确定实现定制算法304所需要的基本运算或执行单元。基本功能生成器314的输出还被馈给至架构优化器320。
[0092] 基于架构优化器320的输出,将初始芯片规格定义为架构322。然后,将该架构322馈送至工具生成器332单元以自动生成编译器306、汇编编译器308、链接编译器310、循环精确仿真器338。然后,使用这一系列工具将定制算法304转换成可以在架构322上运行的固件312。
[0093] 以静态方式334对汇编编译器308的输出进行评测,并且以动态方式340对循环精确仿真器338的输出进行评测。然后,架构优化器342使用这些评测信息来完善和改进架构322。
[0094] 重复执行322→332→306→308→310→312→338→340→342→322的反馈循环和322→332→306→308→334→342→322的反馈循环,直到满足定制规格为止。这些反馈循环在无人为干预的情况下自动发生,因而自动达到最佳解决方案。
[0095] 架构优化器342还基于架构平面设计器336以及综合和P&R328的反馈。不仅参考应用程序评测信息还参考物理布局和布线信息来进行架构决策。架构优化是精确的,并且在进行所设计的架构的后端设计的情况下不会发生意外情况。例如,在架构优化器选择使用乘法器单元的情况下,该架构优化器采用两个16位操作数作为输入并且生成32位结果。架构优化器342获知操作数的应用与来自平面设计器336和综合328的可用性结果之间的确切时间延迟。架构优化器342还获知在该乘法器布局和布线在实际芯片内的情况下的确切面积。因而,用于使用该乘法器的架构决策不仅基于来自评测数据的该乘法器的需求,还基于在面积、定时延迟(还称为性能)和功率方面的与该乘法器相关联的成本。
[0096] 在另一示例中,为了在性能对定制芯片造成制约的情况下加速该性能,编译器306处理在串行处理器上需要长时间来运行的程序、代码或算法,并且给出包含可以同时运行的多个处理单元的新架构,目的是通过将该程序分成多个处理单元能够并行或以重叠方式处理的多个段来缩短该程序的运行时间。前端的附加任务是寻找并行性计算,并且后端的附加任务是对该程序进行调度以使得获得正确结果和改进的性能。该系统确定该程序应被分成哪种段以及可以如何重排这些段。这涉及以下内容。
[0097] ●粒度、层级和并行性
[0098] ●针对并行执行的候选之间的相依性的分析
[0099] 在另一示例中,在空间或功率对定制芯片造成制约的情况下,编译器例如将生成顺次执行代码以节省功率和芯片面积需求的单一低功率处理器/数字信号处理器(DSP)。
[0100] 根据架构块322,该过程可以使用RTL生成器(324)来生成RTL。生成RTL代码(326),并且可以将该RTL代码提供至综合布局和布线块(328)。还可以考虑来自架构平面设计器的信息(336)。可以生成布局(330)。该布局例如可以是GDSII文件格式。
[0101] 本发明的另一个方面是创建统一的架构322表达方式,以使得软件工具生成器332和硬件RTL生成器324这两者都可以使用该表达方式。该表达方式被称为SAMA(系统、架构和微架构)。
[0102] 架构设计操作是基于针对定制芯片要执行的程序、代码或算法的分析。在一个实现中,针对需要长时间在单标量处理器上运行的程序,该系统可以通过将处理需求分成多个处理单元内能够并行或以重叠方式处理的各段来改善性能。前端的附加任务是寻找并行性,并且后端的附加任务是对该程序进行调度以使得获得正确的结果和改进的性能。该系统可以确定程序应分成哪种段以及可以如何重排这些段。这涉及粒度、并行性以及针对并行执行的候选之间的相依性的分析。由于程序段和多个处理单元在某个大小的范围内,因此可能存在相当数量的组合,从而需要不同的编译方法。
[0103] 针对这些组合来完成芯片规格,以使得正确设计支持计算单元所需的数据带宽,而不存在过度设计或设计不足。架构优化器342首先识别程序内的潜在并列单元,然后对这些并列单元进行相依性分析以找出彼此独立并且可以同时执行的这些段。
[0104] 架构优化器342识别机器指令的粒度层级的并行性。例如,在普通的标量处理器上添加两个N-元素向量将一次执行一个指令。但在向量处理器上,可以在N个单独处理器上执行所有N个指令,从而将总时间缩短成略大于执行一次添加所需时间的N倍。架构优化器采用与向量语句等同的顺序语句并且转译成向量机器指令。允许向量化的条件是源操作数的元素必须独立于结果操作数。例如,存在如下代码。
[0105] DO 1OO J=l,N
[0106] DO 100 1=l,N
[0107] DO 1OO K=1,N
[0108] C(l,J)=C(l,J)十A(I,k)*B(K,J)
[0109] 100 CONTINUE
[0110] 在该矩阵乘法示例中,在各次迭代中,使用先前迭代中计算出的C(I,J)的先前值来计算C(I,J),因而无法进行向量化。在期望性能的情况下,该系统将代码变换成如下代码。
[0111] DO 10O J=1,N
[0112] DO 1OO K=1,N
[0113] DO 100 I=1,N
[0114] C(I,J)=C(1,J)十A(1,k)*B(K,J)
[0115] 100CONTINUE
[0116] 在这种情况下,可以进行向量化,这是因为连续指令用于计算彼此独立并且可在不同处理器上同时执行的C(I-1,J)和C(I,J)。因而,指令层级的相依性分析可协助识别操作数层级相依性并且应用适当优化以允许向量化。
[0117] 图4示出示例数据模型。架构优化器342生成针对应用程序代码所定制的中间硬件表达方式,其中该中间硬件表达方式被称为作为ASIC的抽象统一表达方式的系统、架构和微架构(SAMA)表达方式120。数据模型(DM)280可以以各种设计视图来表示SAMA。SAMA用作软件编译和硬件综合之间的过渡层。这种过渡层意图利用编译器工具流中可用的优化,并且还对低层级综合器提供自由度,以探索针对专用实现的选项。DM280还可用于生成应用程序的各种视图。例如,架构优化器视图282提供诸如定时、面积、功率效率等的架构组成信息,以使得该优化器可以使设计最适合制约。可以生成解决诸如空间/大小要求等的物理制约的物理设计视图284。软件工具视图286可以充分利用DM280以针对要使用的软件提供ISA和架构制约。还可以根据DM280生成其它视图。DM280是利用图3的工具所生成的信息的仓库,并且需要这些信息以最终生成IC的布局。DM280可以生成能够利用不同工具进行查询的不同视图。这些视图可以在物理设计期间使用。
[0118] 图5示出用于使用图4的数据模型来进行物理综合的示例过程。该过程在数据模型中对初始架构层级知识进行编码以传递针对计算机可读代码独特定制的芯片规格的物理综合所用的信息(510)。接着,该过程迭代重复地进行芯片规格的物理综合,并且在该各次迭代中更新芯片规格的数据模型,直到满足了制约为止(520)。通过先前迭代所生成的信息被提供作为反馈循环信息,其中该信息是经由数据模型被供给至下一次迭代的关键路径预见信息(530)。例如,该系统可以应用前缀标签和后缀标签以表示该阶层内的单元的分组是硬制约还是软制约。该系统可以指示针对最佳定时的配置制约,其中配置制约具有以下其中之一:宏块名称、阶层名称、附注、备注、虚设模块、包装器模块。
[0119] 可以存储具有特定前缀/后缀的名称以从架构层级知识指示关键路径。因而,在一个示例中,在前次通过期间、需要将子模块A放置在子模块B和C附近的情况下,可以将该关系表示为ABC并且同样地针对B可以表示为BAC。
[0120] 在满足了所有制约的最后一次迭代时,该处理将芯片规格的计算机可读描述综合到定制集成电路内以进行半导体制造。
[0121] 图5示出示例架构层级的假设递增成本估计数据模型(WICE-DM)。该WICE-DM架构包括前端、后端、上下文管理区段和API区段。前端表示A2C设计方法中充分详述的架构设计状态。该详述设计以如下结构来存储,其中该结构是使得能够进行非常高效的可定制设计抽象模型(DAM)生成的交叉参考“多方面多层级”(MAML)超图结构。后端表示物理设计监控的假设递增成本估计引擎。上下文管理区段用于确定前端为了驱动后端的分析而必须生成的适当DAM。
[0122] 接着论述示例的MAML超图结构。超图是众所周知的图形结构,其用于提供被建模为与单一节点对相反的超边(即,多头和多尾)的互连结构。超图中的多层级阶层关系可以用在布局期间的网表分区并且用在设计验证问题中。该电路图可被解释为(表示为白色矩形和盘状的)四个顶点经由被绘制成树形的三个超边相连接的超图图形。例如,电路图可被解释为(表示为代表组件的白色矩形和盘状的)多个顶点经由被绘制成树形的超边相连接的超图图形。
[0123] 超图可以支持对重叠阶层关系进行支持的多个阶层关系方面。这使得超图能够在这些方面进行高效切换。
[0124] 图5示出针对架构和微架构层级的递增假设分析的基于物理设计(PD)模型的面积、功率和延迟成本估计的数据流。现在转向参考图5,在迭代i之后,在502中使用下一SAMA i+1作为针对下次迭代的输入。因而,在504中更新时间i处的SAMA。在506中将504中的SAMA提供至CA仿真器和架构优化器(AO)510。AO510经由成本函数查询API512进行通信。SAMA经由SAMA读取器API514进行通信。CAsim经由评测数据读取器API516发送评测信息。
[0125] SAMA读取器API514将架构和综合信息通信至架构设计状态(MAML-HG)518。成本函数查询API512向评价上下文管理515提供信息,并且还向MAML-HG518提供信息。上下文管理515可用于形成评价上下文物理设计模型。上下文管理515保持追踪所提出的从基线开始的设计修改。在成本评价的初始阶段提出许多未经确认的改变。确定后的上下文成为基线设计的一部分(SAMA文件更新)。
[0126] MAML-HG518向多层级X阶层管理器520提供多层级超图数据结构。管理器520还提供包括黑盒子视图522、定制多解决方案阶层视图524和完全可综合网表视图526的各种视图。视图522~526可用于形成基线物理设计模型528。
[0127] 模型528~530可以由功率热点估计引擎540、延迟和定时估计引擎542以及面积估计引擎544等来使用。功率热点估计引擎540可以从MAML-HG518接收估计活动因数(AF)。来自引擎540~544的数据被提供至分析信息管理器550,其中该分析信息管理器550经由成本函数查询API512向AO510提供反馈。
[0128] 以下更加详细地论述一个示例API。
[0129] 成本函数估计(CFE)API
[0130] boolean define_contextcontext_name{change_list}
[0131] boolean set_active_COntext context_name
[0132] response_typecomPute_delay{path|whole_chip}
[0133] response_type compute_area component
[0134] boolean commit_context context_name -outfileName xama_i.txt[0135] “response_type”包括以下信息:
[0136] ·相对成本(依赖于实际查询的延迟、面积和功率等)
[0137] ○定性(改善、无显著影响、劣化)
[0138] ○定量(定性改变的启发式测量)
[0139] ·具有补充物理设计优化的条件成本(SPDO)
[0140] ○补充PD优化ID(内部簿记ID以供未来参考)
[0141] ○在接受WA的情况下的新的相对成本
[0142] ·置信区间
[0143] ○0~1之间的值
[0144] ○1表示成本是利用最精确的数据驱动工作流计算出的
[0145] ○0表示成本是粗略计算出的,并且在进行了详细成本分析的情况下很可能变得显著不同。
[0146] 在架构优化(AO)仍在考虑中且尚未完成的情况下,用以提供补充优化提议(利用ID来表示)的能力提升了物理设计优化以影响该AO。在标准工业流程中,在架构优化完成之前不进行物理设计优化。同时,AO无需知晓解决方法的详细内容。该机制使得AO能够考虑优化措施的深远后果而不仅仅考虑立即计算出的成本函数,因而使得能够进行较好的设计收敛。
[0147] 另一示例API是如下的路径活动评测数据。
[0148] 路径评测数据(PP)API
[0149] set_pathm_likelihood path activity_factor
[0150] 路径活动因数(path activity factor)是路径获得练习的可能性或似然性。该信息可从循环精确仿真器获得。WICE-DM使该信息与通过物理设计建模所获得的路径拓扑信息进行整合。结果,针对物理设计的各单位面积生成功率利用估计值。然后,提供功率热点信息,然后该热点功率信息可以以资源约束的形式作为反馈被提供至指令调度器。这种反馈的净影响如下:(a)对指令进行调度以使得避免了潜在的定时信号和其它信号的完整性问题;以及(b)可以利用功率岛、时钟门控或其它技术对需要成为功率热点邻近地区的组件进行翻新,并且立即可取得这些临时性的面积/时间成本。
[0151] 在图5的一个实施例中,将架构层级知识编码成网表文件以传递通常不可用于物理综合的网表文件。例如,阶层名称可以包含前缀标签和后缀标签以表示该阶层内的单元的分组是硬制约还是软制约。该信息用于在物理分区时作出使得工具链性能改善的更为积极的决策,从而获得更加快速的周转时间。实例的名称还可以包含特定前缀/后缀以表示架构层级模型是否将此视为实际关键路径的可能途径。物理综合可以“预见”实际关键路径而不是消除错误路径直到找到正确路径为止。这样消除了不想要的优化(导致其它成本增加的过度优化)并且节省了周转时间。作为另一示例,可以对特定宏块进行命名以表示协助第一时间实现最佳定时的配置制约(诸如阵列配置等)。除了将“边带”信息编码成网表文件以外,图5的流程还能够生成与单独的原来用户制约相比、在引导物理综合时更富有成效的设计制约(物理和定时)。在一些情况下,通过网表实例命名方案来“暗示”这些制约。
[0152] 图6示出初始化设计的前端的示例过程。该前端表示“架构设计状态”。该前端从SAMA文件获得架构规格的高层级描述,并且生成实现所指定的架构所需的所有功能组件的完整详述。
[0153] 图6是用于初始化WICE-DM前端的过程。该过程使用XML标记语言以支持数据的机器理解。在该过程中,在602中接收SAMA DTD,并将该SAMA DTD发送至XML解析器604,其中XML解析器604还在606中接收SAMA版本信息。XML解析器604在610中设置WICE-DM回调函数,并且在612中设置SAMA变量空间。该过程还在614中详述架构并且在616中生成架构设计状态MAML-HG。一旦进行了初始化,则详述的架构用作所有成本函数查询的基线。
[0154] 图7示出利用优化循环返回710的示例物理综合过程。多个循环返回710使得该过程具有为了改进而可能关注的特定操作的精细粒度优化。从720中的前端开始,该过程进行阶层结构和透明度设计(722)。接着,在723中接收到I/O配置制约之后,进行全芯片I/O设计(724)。在726中可以进行块成形。接着,可以接收相对配置制约(727),并且在728中可以进行粗略配置。
[0155] 在750中可以进行馈通设计。该过程在752中继续进行电网设计和安装。在754中进行时钟配置设计。在756中可以进行HFN(高扇出网)和FTN(馈通网)安装操作。然后,可以在758中进行块层级预算分配。在760中进行顶层级和块层级的物理分区。在762中可以确定顶层级的优化配置。在764中可以确定顶层级优化时钟。在766中可以确定顶层级优化布线。
[0156] 从顶层级和块层级的物理分区开始,该过程可以针对芯片的各块进行模块788。在模块788内,在790中可以确定块层级的优化配置。在792中可以确定块层级的优化时钟。在794中可以确定块层级的优化布线。此外,在796中可以进行块STA。
[0157] 从766或796开始,该过程在768中进行全芯片集成并且在770中进行全芯片STA。在全芯片STA的结果为成功的情况下,该过程在780中生成物理设计模型,否则该过程循环回至710中的任一个以优化设计并使该设计适合制约。
[0158] 在一个实施例中,具有关键路径预见的物理综合过程的示例伪码如下所述:
[0159] 开始→门控层级网表
[0160] 1.设计分区
[0161] 2.粗略配置
[0162] 3.分区大小和成形
[0163] 4.顶层级I/O衬垫配置
[0164] 5.逻辑配置
[0165] 6.HFN缓冲
[0166] 7.块I/O分配(包括馈通)→块平面设计就绪
[0167] 8.缓冲优化
[0168] 9.估计STA←必须符合目标,否则设计极有可能将不会收敛
[0169] 10.块层级预算创建→块SDC就绪
[0170] 11.{块}
[0171] 1.开始→块I/O确定的块平面设计
[0172] 2.进行详细配置优化
[0173] 3.进行详细时钟树型综合和优化
[0174] 4.进行详细布线优化
[0175] 5.块层级STA←必须满足本地目标以确定当前定时问题
[0176] 12.顶层级汇编
[0177] 1.开始→顶层级网表的详细配置优化
[0178] 2.顶层级网表的详细时钟优化
[0179] 3.顶层级网表的详细布线优化
[0180] 13.详细寄生参数提取
[0181] 14.全芯片STA←必须符合目标以进入下线阶段(tape-out)
[0182] 15.芯片完工修整任务-金属填充等。
[0183] 结束→GDSII布局
[0184] 门控层级网表是针对该过程的输入。该过程具有两个循环。在循环1中,步骤1~9通常迭代重复多次以达到步骤9的目标。在循环2中,步骤11.1~11.5也针对各块重复多次,并且在步骤10中的预算被发现为非收敛的情况下可能需要重新进行循环1。由于步骤9中的估计STA与附加的现实情况不一致,因此步骤14可能失败。
[0185] 图8A示出基于指令执行评测来说明指令发送和路径练习之间的相关性的示例图。循环精确仿真器提供作为路径获得练习的可能性或似然性的路径活动因数。WICE-DM使该信息与通过物理设计建模所获得的路径拓扑信息进行整合。结果,针对物理设计的各单位面积生成功率利用估计值。然后,提供功率热点信息,然后该热点功率信息可以以资源约束的形式作为反馈被提供至指令调度器。这种反馈的净影响如下:(a)对指令进行调度以使得避免了潜在的定时信号和其它信号完整性问题;以及(b)可以利用功率岛、时钟门控或其它技术对需要成为功率热点邻近地区的组件进行翻新,并且立即可取得这些临时性的面积/时间成本。
[0186] 在传统流程中,在物理设计阶段,可利用的与路径练习似然性有关的信息仅是用户指定的伪路径(概率为0的路径)。在WICE-DM中,该概念扩展至表示0~1的概率值范围。该机制使得WICE-DM能够影响架构优化器的表现。因而,引导AO来搜索先前可能被遗漏的较新的路径,从而收敛于作为最佳的不同解决方案。图8A表示针对四个示例指令I1~I4示出指令执行路径(拓扑)的示例。在该示例中,指令调度器优选按I1→I2→I3→I4的顺序对这些指令的执行进行排序。基于功率热点估计成本,WICE-DM将插入新的资源制约以对指令调度器产生影响。因此,新的最佳执行顺序可以为I1→I3→I4→I2。对执行顺序重新排序使得能够在再次工作之前有时间冷却功率热点区域。
[0187] 图8B示出基于指令执行评测来说明指令调度器如何可以使功率热点最小化的示例图。该过程包括:接收定制集成电路的包括计算机可读代码的规格并且生成该计算机可读代码的评测数据以确定指令使用情况(810);自动生成针对该计算机可读代码独特定制的处理器架构,其中该处理器架构具有一个或多个处理块以实现一个或多个指令(812);基于代码评测数据来确定指令执行序列,并且重新分配该指令序列以使操作分散到IC的不同块从而减少热点(814)。代替改变指令序列,在其它选项中,还可以暂时延迟这些指令序列的一部分以求出热点的平均值。最后,该过程将所生成的架构综合为半导体制造所用的定制集成电路的计算机可读描述。
[0188] 图8C示出根据本发明的一个方面的示例工作流程处理。在图8C的流程中,该系统生成架构设计(850)。接着,进行热点分析(852)。然后,可以生成诸如RTL等的中间代码(854)。进行平面设计(856),并且可以进行布局(858)。在早期包含有热点分析期间所生成的信息。
[0189] 图9A~9B示出描述利用数据模型可以如何实现热点监控指令调度器优化的示例任务层级过程。在901中,该过程将各机器指令映射到相关联的硬件执行路径。在902中,该过程将所有可能的执行路径及其相关联的指令的记录维持在数据模型中。接着,在903中,数据模型接收各种机器指令的统计评测数据。在904中,数据模型从该统计评测数据中提取在任何给定周期内执行指令的稳态概率。在905中,数据模型可以针对各指令执行路径来创建估计拓扑布局。在906中,基于预先确定的协议使用多种物理设计模型来进行布局估计,以选择物理设计建模所需的适当抽象层级。在907中,数据模型将指令的执行稳态概率与其执行路径的拓扑相关联。
[0190] 在908中,数据模型创建该布局的子区域,并且针对各子区域,存在交叉的执行路径的集合,从而产生用于计算子区域权重的执行路径概率的集合。
[0191] 在909中,使用(整个区域内的)子区域权重分布来估计功率热点位置。在910中,数据模型识别执行路径与功率热点相交叉的受影响指令。然后,在911中,将功率热点区域建模成虚拟受限容量资源。数据模型针对指令调度器进行配置,以将受影响指令视为依赖于受限容量资源。受限容量转而限制子区域内应当容许紧邻顺次激活的执行路径的数量。这种资源相依性可以容易地添加至指令调度器的资源分配表。然后,在912中,指令调度器优化考虑将以上所创建的虚拟资源与其它性能成本函数相结合。因而,功率和性能同时被优化。
[0192] 尽管上述处理对执行序列重新排序,但可选地,代替对执行序列重新排序以使操作在空间上分散于IC,该处理可以基于代码评测数据来确定指令执行序列,并且在空间上分配处理块以使操作分散到IC的不同区域从而减少热点。
[0193] 在一个实施例中,可以按照如下生成微架构优化循环的快速递增物理延迟估计模型。首先,该过程识别预定的分区方案并将RTL转换成粗略的门控层级网表(来自ADM)。主要组件呈黑箱子状,并且接口被抽象成较少的网状物。该过程确定对于快速定时计算而言容易的简单预定布线形状。时序图是为了进行灵敏度分析而专门设计的。定时器使用Elmore延迟估计,并且提供(被建模为黑盒子)每个主块之间的最好、平均和最坏情况“飞行”时间。该模型允许进行递增查询并且比STA工具快了几个数量级。该速度用于提供递增成本反馈,而不是使结果质量测量结果(QoR)下线。
[0194] 在一个示例设计中,算法需要500M MAC操作/周期。利用图5的处理,在180nm TSMC处理节点上利用约250MHz的估计时钟速度来生成初始架构。针对2个MAC单元设计初始硬件以实现所需的吞吐量。然而,在门控层级综合之后,可实现的时钟频率下降为200MHz并且在DM 280中更新该信息。在后端流程(上述步骤14)之后,可实现的时钟频率进一步下降为<165MHz,并且利用该信息来更新DM280。由于程序段和多个处理单元在某个大小的范围内,因此可能存在相当数量的组合,从而需要不同的优化方法。架构优化器首先识别程序中的潜在并行单元,然后对这些并行单元进行相依性分析以找出彼此独立并且可以同时执行的这些段。该系统重新访问架构决策,并且现在针对3个MAC单元重新设计硬件。该新设计经由后端流程再次迭代循环以得知满足了设计目标。
[0195] 该系统减轻了芯片设计的问题并使芯片设计成为简单过程。这些实施例使产品开发过程的关注点从硬件实现过程转变回至产品规格和计算机可读代码或算法设计。代替束缚于特定硬件选择,可以总是在专门针对该应用而优化的处理器上实现计算机可读代码或算法。该优选实施例将优化处理器连同所有相关联的软件工具和固件应用程序一起自动生成。该过程可以在数日内完成而非如传统那样需要数年来完成。该系统是设计硬件芯片解决方案的方式的彻底的模式转变。使用本系统的优选实施例的多个优点中的三个优点包括以下:
[0196] 1)时程:在芯片设计周期变为以周为单位而不是以年为单位来计量的情况下,用户可以通过使产品快速地推向市场来打入迅速变化的市场;以及
[0197] 2)成本:为了实现芯片而通常需要雇佣的大量工程师变得多余。这样给使用本系统的公司带来巨额的成本节省;以及
[0198] 3)最优性:使用本系统所设计的芯片的产品在性能、面积和功耗方面均优良。
[0199] 例如,接着将论述支持自动芯片设计系统的计算机。该计算机优选包括通过CPU总线所连接的处理器、随机存取存储器(RAM)、程序存储器(优选为诸如闪速ROM等的可写式只读存储器(ROM))和输入/输出(I/O)控制器。该计算机可以可选地包括连接至硬盘和CPU总线的硬盘驱动器控制器。硬盘可用于存储诸如本发明等的应用程序以及数据。可选地,应用程序可以存储在RAM或ROM中。I/O控制器经由I/O总线连接至I/O接口。I/O接口经由诸如串行链路、局域网、无线链路和并行链路等的通信链路来接收和发送模拟或数字形式的数据。可选地,显示器、键盘和指示装置(鼠标)也可以连接至I/O总线。可选地,对于I/O接口、显示器、键盘和指示装置,可以使用单独的连接(单独的总线)。可以对可编程的处理系统进行预编程,或者可以通过从其它源(例如,软盘、CD-ROM或其它计算机)下载程序来对该可编程的处理系统进行编程(和重新编程)。
[0200] 各计算机程序有形地存储在通用或专用的可编程计算机能够读取的机器可读存储介质或装置(例如,程序存储器或磁盘)中,用于在计算机读取该存储介质或装置以进行这里所述的过程的情况下配置和控制该计算机的操作。本发明的系统还被视为嵌入配置有计算机程序的计算机可读存储介质,其中如此配置成的存储介质使得计算机以特定和预定方式操作以进行这里所述的功能。
[0201] 这里已经相当详细地说明了本发明,从而符合专利法规并且向本领域技术人员提供应用新颖原理并根据需要构造和使用这些专用组件所需的信息。然而,应当理解,可以利用具体不同的设备和装置来执行本发明,并且可以在没有背离本发明本身的范围的情况下实现针对设备细节和操作过程这两者的各种修改。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈