用于片上网络(NoC)实现的面积和时序评估的系统和方法与流程

文档序号:33698520发布日期:2023-03-31 17:20阅读:52来源:国知局
用于片上网络(NoC)实现的面积和时序评估的系统和方法与流程
用于片上网络(noc)实现的面积和时序评估的系统和方法
1.相关申请的交叉引用
2.本技术要求mokhtar hirech等人于2022年9月6日提交的美国非临时申请序列号17/903,992的权益,题为“片上网络(noc)实现的面积和时序评估的系统和方法(system and method forarea and timing assessment of a network-on-chip(noc) implementation)”,其要求保护benoit de lescure等人于2021 年9月29日提交的序列号为63/250210并且题为“用于片上网络(noc) 实现的区域和时间评估的系统和方法(system and method forarea and timing assessment of a network-on-chip (noc)implementation)”的美国临时申请的权益,其全部公开内容通过引用结合于此。
技术领域
3.本技术属于计算机辅助设计工具领域,并且更具体地涉及片上网络(noc,network-on-chip)实现。


背景技术:

4.许多半导体公司正在使用片上网络(noc)技术来支持单个芯片上增加的核心数目,以及对于不断增长的、与人工智能(ai)和其他应用相关的处理能力的需求。noc通过利用分组传输的更具可扩展性的通信架构而优于点对点连通性。
5.考虑包括noc的片上系统(system-on-chip,soc)的设计。寄存器传输级(register transfer level,rtl)可以用于soc的设计和验证流程。soc规范提供了技术、域、约束和布局的芯片定义,包括针对noc的基板面(real estate)和其他约束。noc的设计方生成noc 的可综合rtl描述,可综合rtl描述将与基板面相适应,并且将具有关于操作频率和诸如路由拥塞和功耗的其他因素的可预测结果。 noc的rtl描述被递送给soc集成方,soc集成方确定noc是否满足对其施加的约束。如果发现noc违反任何约束,则noc设计方修改noc的设计,生成noc的新rtl描述,并且将该新描述递送给 soc集成方进行重新评估。在noc满足所有约束之前,可能会发生多次迭代。
6.以这种方式缓解noc的设计问题会带来非常昂贵的代价,因为它可能对整个设计调度产生负面影响。


技术实现要素:

7.根据本文的各个实施例和方面,公开了用于设计片上网络(noc) 的系统和方法。限定noc的拓扑,无优化地执行对拓扑的面积和时序的近似;如果所近似的面积和时序满足约束条件,则生成拓扑的精确、完整寄存器传输级(rtl)描述。
附图说明
8.为了更全面地理解本发明,对附图进行参考。以下描述中的方面和实施例是参考附图或图形(图)来描述的,其中相同的数字表示相同或相似的元素。应当理解,这些附图不
应被认为是对权利要求范围的限制,通过使用附图,以附加的细节描述了目前描述的方面和实施例以及目前理解的本发明的最佳模式。
9.图1示出了根据本发明的各个方面和实施例的包括片上网络 (noc)的片上系统(soc)。
10.图2示出了根据本发明的各个方面和实施例的生成noc的rtl 描述的方法。
11.图3示出了根据本发明的各个方面和实施例的用于生成针对图2 的方法的对noc面积和时序的近似的模块。
12.图4示出了根据本发明的各个方面和实施例的用于noc实现的设计和验证流程的方法。
13.图5示出了根据本发明的各个方面和实施例的用于生成对noc 面积和时序的近似的细节。
14.图6a示出了根据本发明的各个方面和实施例的noc拓扑。
15.图6b示出了根据本发明的各个方面和实施例的针对图6a的 noc拓扑的dag。
16.图7示出了根据本发明的各个方面和实施例的管道适配器上的传输接口。
17.图8示出了根据本发明的各个方面和实施例的网络接口单元 (network interface unit,niu)。
18.图9示出了根据本发明的各个方面和实施例的noc元件或元素通过传输协议接口的连通性的表示。
19.图10示出了根据本发明的各个方面和实施例的可以如何确定时序路径和延迟。
20.图11示出了根据本发明的各个方面和实施例的用于生成noc的 rtl描述的系统。
21.图12示出了根据本发明的各个方面和实施例的用于生成noc的 rtl描述的系统的示例。
具体实施方式
22.此外,意图是这些等同物包括当前已知的等同物和将来开发的等同物,即,所开发的执行相同功能的任何元素,而不管结构如何。注意,所提供的具体示例是为了说明的目的,而不是作为对本发明的限制。注意,如本文所使用的,单数形式“一”、“一个”和“该”包括复数指示物,除非上下文另外清楚地指出。贯穿本说明书对“一个方面”、“另一方面”、“一个实施例”、“实施例”、“某个实施例”或类似语言的引用意味着结合该实施例描述的特定的方面、特征、结构或特性被包括在本发明的至少一个实施例中。因此,贯穿本说明书出现的短语“在一个方面”、“在一个实施例中”、“在至少一个实施例中”、“在实施例中”、“在一些实施例中”和类似语言可以但不必然都指相同的实施例或类似的实施例。
23.根据本发明的方面和一个或多个实施例,所描述的本发明的特征、结构或特性可以以任何合适的方式组合。在以下描述中,叙述了许多具体细节以提供对本发明的各个实施例的理解。然而,相关领域的技术人员将认识到,本发明可以在没有一个或多个具体细节的情况下实践,或者利用其他方法、元件、材料等实践。在其他情况下,没有详细示出或描述众所周知的结构、材料或操作,以避免模糊本发明的方面。
24.以下描述了本技术的各个方面和实施例。通常,示例可以以任何组合使用所描述的方面和实施例。本文中叙述原理、方面和实施例及其具体示例的所有陈述旨在涵盖其结
构和功能等同物。所提供的示例旨在作为非限制性示例。此外,意图是这些等同物包括当前已知的等同物和将来开发的等同物两者,即所开发的执行相同功能的任何元素,而不管结构如何。
25.参考图1,其示出了包括片上网络(noc)1010的片上系统(soc) 1000。soc 1000还包括多个核心1002,诸如视频卡、中央处理单元 (cpu)、相机、直接存储器存取(dma)、随机存取存储器(ram)、动态随机存取存储器(dram)、输入/输出(io)和硬盘驱动器(hdd)。 noc 1010在核心1002之间提供基于分组的通信。
26.如图1所示,noc 1010包括与核心1002对接的多个网络接口单元(niu)1020。这些niu 1020负责将数个支持的协议和数据大小转换成分组传输协议或从分组传输协议转换过来。
27.noc 1010还包括其他元件,诸如边缘(链路)、交换机(节点) 1030、宽度适配器、防火墙、时钟适配器、速率适配器、链路探针等。交换机和边缘用于在源核心与目的地核心之间路由和携带业务。适配器处理数据宽度、时钟和电源域(例如,cpu电源域)之间的各种转换。缓冲器用于插入流水线元素以跨越长距离,或者存储分组以处理快速发送器与慢速接收器之间的速率适配,反之亦然。除了niu 1020 之外,图1还示出了多个交换机1030。
28.noc 1010内的每个元件具有一个或多个明确限定的传输接口。当两个连接的元件具有不同大小的传输接口时,或者当从一个元件到另一元件的分组类型发生变化时(例如,从串行到并行或者从并行到串行),可以在链路上添加适配器。
29.一方面,noc拓扑是指存在于noc中的元件集合及其配置,另一方面,noc拓扑是指通过这些元件的路径集合描述了需要进行逻辑连接的业务源与业务目的地之间的精确路由。
30.在soc 1000的设计期间,soc架构师设计包括soc的平面布置图、功率策略和与环境相关的约束(例如,时钟及其频率、服务质量和与宏一起使用的协议类型)的规范。此外,平面布置图限定了芯片上用于核心和其他逻辑的面积。平面布置图还限定了将用于互连通信的面积(即针对noc的“基板面”)。soc架构师可以对noc设置附加约束。附加约束的示例包括频率、路由拥塞和功耗。
31.noc可以除了由soc架构师之外的一方设计。利用图2和图3 的方法,noc架构师可以用更少的迭代更快地递送noc的最终rtl 描述。该方法在noc的rtl描述被递送给soc集成方、与soc的其余部分的rtl描述集成、以及被综合为门之前尽早考虑了面积和时序近似。在这些近似的指导下,在生成soc的完全rtl描述之前,可以对noc拓扑进行修改。这比rtl之后的修改要快得多,同时允许可预测rtl结果,并且大大减少rtl之后的昂贵修正。
32.现在参考图2和图3,图2和图3示出了根据本发明的各个方面和实施例的用于生成noc的rtl描述的方法。在框210,限定noc 的拓扑。拓扑可以由完全noc网络描述310和noc元件的可配置参数集合320来限定,这些可配置参数限定了描述中的元件的初始配置。在noc的基本元件以及它们如何相互连接方面,完全noc描述310 可以作为描述noc结构的一个或多个计算机可读文件而被提供给模块300。
33.至于可配置参数集合320,根据本发明的各个方面和实施例,一些参数可以指定拓扑、数据宽度、分组类型和流水线寄存器的配置。根据本发明的各个方面和实施例,其他参数可以指定元件如何进行连接(例如,网格、环、交叉开关(crossbar)等),并且基于用户要
求来启用/禁用具体特征。根据本发明的各个方面和实施例。参数集合 320可以作为noc元件的可配置参数化rtl文件提供给模块300。
34.一般来说,noc是高度可配置的。某些元件(诸如,niu和交换机)具有多个不同的可能配置。诸如缓冲器的其他元件具有相对较少的可能配置。这些元件参数起着重要作用,因为可以改变参数值来优化每个元素的成本、性能和功耗。参数值的选择不是容易的事情,因为大多数参数都是相互依赖的,并且对生成的硬件有直接的影响。
35.在框220处,无优化地执行对noc拓扑的面积和时序的近似。独立于拓扑中的其他元件,针对面积和时序来近似拓扑中的每个元件。模块300根据参数集合320来配置noc描述中的元件中的每个元件,并且将基元(primitive)330映射到每个配置的元件。基元库330用于将元件综合为基本门(primitive gate)。从基本门来近似针对每个配置的元件的面积和延迟。
36.针对每个基本门的面积可以在晶体管单元的数目方面表征。对元件的面积求和,以产生针对noc拓扑的面积数340。
37.针对每个基本门的传播延迟可以在平均时间单位方面表征。为了简化近似并且减少近似时间,延迟可以仅包括通过基本门的延迟,而不包括针对连接它们的导线的延迟。所有组合延迟路径都可以在io 之间、io与寄存器之间、以及寄存器之间生成。找到连接的基本门的最长路径,并且对最长组合路径中的延迟求和。时序350可以被报告为最长组合路径中的延迟之和。这种延迟限制了时钟频率,因为它与频率成反比。
38.在框230处,如果面积和时序违反约束(例如,soc规范中指定的约束),则修改拓扑。对经修改的拓扑的面积和时序进行近似。如果所近似的面积和时序仍然违反约束,则再次修改拓扑。可能会有修改和近似的多次迭代,直到满足约束条件。
39.在框240处,针对其面积和时序近似满足约束的noc拓扑来提供完整寄存器传输级(rtl)描述。
40.如果noc在soc中实现,则rtl描述可以被递送给soc集成方。然后,确定noc设计是否符合由soc架构师限定的基板面,是否展现出关于操作频率的可预测结果,以及是否满足其他约束(诸如,路由拥塞和功耗)。如果不是,则重新设计noc拓扑。每次确定都是计算密集型的,并且可能花费数小时或数天。
41.尽管如此,通过知道面积和延迟,图2的方法可以在生成soc的完全rtl描述之前标识和修正主要的约束违反。这进而减少了生成完全rtl描述的迭代次数。因此,与生成每个完全rtl描述并且随后标识和修正约束违反的数小时或数天相反,修正面积和时序约束违反花费了数分钟。向soc集成方递送最终的完全rtl描述的时间和成本显著减少。
42.该方法提供了其他显著优点。可以无优化地执行近似。优化(指综合优化)是寻找满足设计约束的基元组合的计算密集型过程。它通常涉及将元件映射到跨大型技术库中的基元,其中给定的基元(诸如,寄存器或组合门)以数种变型的形式可用,每种变型都具有适应具体用途的特性(例如,驱动强度、工作电压和大小)。时序计算是“精确的”,并且使用复杂的模型来估计电阻、电容和晶体管传递函数,以预测综合电路的网络上的实际时序。在soc的情况下,生成单个精确的、完整rtl描述可能花费数小时乃至数天。
43.相比之下,框220中的近似不需要精妙的优化方案。元件被映射到基元并且被综合为多个基本门,并且该近似是基于基本门的。不具有优化的近似是不精确的,但是已经发现
它与由优化产生的精确面积和时序有很好的相关性。
44.另一优点是使用比完全的技术库集合小得多的库,该完全的技术库集合用于执行带优化的综合。用于具有优化的综合的库可能具有一千多个基元。相比之下,用于不具有优化的近似的库可以包括20个基元或更少。例如,基础基本门的列表可能包括组合门(反相器、缓冲器、2输入and、2输入or、2输入xor、2输入nand、2输入 nor、2输入xnor、2输入mux)和顺序门(dlatch、dlatchrs、 dff、dffrs)。
45.另一优点是可以标识和修改各个元件。例如,如果发现niu促成时序违反,则可以启用流水线来减少延迟,将经修改的元件综合为基本门,相对于门来近似时序和面积,并且确定该改变是否促成满足约束。修改可以增量地进行。即使仍然不满足约束,也可以观察趋势以确定修改是否朝着正确的方向进行。
46.现在参考图4,图4示出了如何使用图2和图3的方法来执行用于noc实现的设计和验证流程。在框410处,由soc架构师生成soc 规范。该规范提供了针对soc的芯片定义、技术、域和布局。该规范还限定了针对noc的基板面和其他noc约束。
47.在框420处,noc架构师执行noc设计和组装。从noc架构师的库中选择知识产权(ip)块,并且将所选的ip实例化。此外,可以执行ip连接和组装、套接字配置以及端到端性能捕获。在此阶段, noc描述定义了ip(来自soc)及其相关的套接字和协议,以及源与目标之间的通信流和内存映射。
48.在框430处,生成noc的架构配置。可以生成粗糙级拓扑,并且可以执行功率、性能和面积(power,performance and area,ppa)的权衡(例如,单元复制与交换机中的缓冲器大小一起决定)。从框430 回到框420的循环通过更改参数设置、更改连通性方案(例如,从网状到交叉或经修改的网状)、通过单元复制来实现安全性等来帮助最终确定架构配置。该循环一直持续到noc架构师对架构(总线宽度、服务质量、存储器映射以及许多其他标准)满意为止。最终架构就产生了。网络描述310和可配置参数化rtl文件集合320变得可用。
49.在框440处,执行生成器映射,以在来自noc库的元件方面得到 noc配置的设计,其中限定了参数和总线大小。架构配置中的通用元件被映射到来自noc库的元件。从框440回到框420的循环确保noc 架构的通用元件被有效地映射到来自noc库的元件,并且正确的适配器被自动添加和配置。如果noc架构师决定在该框之后对架构进行更改,则在框420中进行这些更改。
50.在框450处,对时序和面积近似。根据本发明的各个方面和实施例,面积被报告为门的面积之和。通过标识最长路径并且对沿着最长路径的门的延迟求和来报告时序。如果违反了面积约束或时序约束或两者,则修改拓扑。对元件的增量修改由框450覆盖。对于大规模修改,将控制返回到框420,并且选择不同的参数集合。
51.在框460处,执行导出和生成。产生了noc的完全rtl描述和所有附属文件。基于systemc的uvm软件可以用于对完全rtl描述的验证。可以生成实现脚本。也可以生成性能模型。
52.在框470处,执行noc集成、综合和仿真。集成noc的rtl和所有附属文件。综合工具(例如,synopsys design compiler)将这些文件和标准单元库作为输入,以产生门级网表作为输出。可以使用用于仿真和约束求解的工具(例如,synopsys vcs)进行验证。
53.在框480处,执行反馈分析。反馈从仿真结果、时序报告、拥塞等中被推导出。通过
循环回到框420来采取修正动作,如果有的话。然后,在采取了所有修正动作并且结果被判定为可接受之后,可以使用最终的网表。
54.在针对给定的soc约束完成验证之后,将noc的rtl描述递送给soc集成方。在那里,noc设计作为整个芯片的部分进行集成和验证。
55.现在参考图5,其示出了根据本发明的各个方面和实施例的生成 noc面积和时序的近似以及修改noc拓扑的更详细示例。在框510 处,创建有向非循环图(direct acyclic graph,dag)。dag表示noc 元件如何在数据流方面进行连接。这些元件经由传输链路进行连接。
56.在框520处,考虑noc的所有元件。在初始运行中,针对rtl 简化逻辑综合和网表创建,noc中的所有元件(无论是交换机、适配器还是niu)都被隔离考虑。
57.在框530处,根据本发明的各个方面和实施例,针对每个元件生成rtl表示。每个noc元件具有从参数化表示的描述和参数值集合而创建的自己的rtl表示。
58.在框540处,根据本发明的各个方面和实施例,无优化地针对每个元件执行简化的综合。每个元件被映射到基本门并且被展平。为了节省时间,可以选择性地考虑元件,以确保用相同配置(在参数值方面)而实例化多次的模块仅被综合一次。由于没有执行优化(没有通过选择最佳门和/或布尔优化进行面积方面的优化,也没有进行时序方面的优化,甚至忽略门之间网络的时序,除非它们非常长),因此简化的综合能够非常快速地得到给出时序和面积的一阶近似的结果。此外,每个noc元件的单独地综合使该方法的执行比在所有noc元件一次综合的上下文中进行综合快得多。速度增益非常大,因为通过元件的每个信号在元件接口处终止,而不是在综合完整的noc时继续到另一元件。
59.在框550处,通过组装单独地综合的元件来创建网表。网表标识 io与寄存器之间的门的所有组合路径以及寄存器之间的所有路径。通过组装框540的综合模块并且利用来自框510的dag,网表可以是eda类型的。
60.在框560处,报告面积数。针对noc的面积可以通过报告关于来自框550的eda网表的所有门和寄存器实例以及在单位面积方面与每个基础基本门相关联的面积来进行测量。术语“单位面积”是指所有门的面积被归一化为参考单元(通常是2输入nand逻辑门)的面积,而不是每个门使用具体的数(例如,平方微米)。那么所有面积被报告为该参考的倍数。
61.在框570处,根据本发明的各个方面和实施例,计算时序路径并且报告延迟。可以经由寄存器和锁存器通过跟踪从设计的输出端口回到输入端口的拓扑路径来计算时序路径。然后,每条路径被分段以提取三种类型的组合路径:直接在输入端口与输出端口之间;在寄存器之间;以及在寄存器与输入端口和输出端口之间。一旦路径被填充,它们将按照从最长到最短的降序来排序。针对组合路径的延迟是跨基本门的延迟的累积。然后考虑最长路径(在基本门的数目方面),因为它们对操作频率有影响。
62.在框580,根据本发明的各个方面和实施例,确定时序和面积约束是否被违反。如果不存在违反,则图5的方法完成,并且执行导出和生成(框460)。如果存在违反,但是所近似的面积和时序不接近约束,则控制返回到框420,并且修改noc的设计。例如,根据本发明的各个方面和实施例,如果近似值超过相对应的约束值达误差界限 (例如,30%),则控制返回到框420。
63.如果约束被违反,但是所近似的面积和时序接近约束(例如,近似值超过约束值,
但是落在误差界限内),则对noc拓扑的增量修改可能足以解决时序/面积问题。该流程是增量的,因为只有经过修改的 noc元件才会再次通过该流程。可以根据框590、592和594来执行每个增量改变。
64.在框590处,根据本发明的各个方面和实施例,标识用于修改的元件的子集。促成面积和约束违反的基本门可以被追溯到这些门所位于的元件。
65.在框592处,根据本发明的各个方面和实施例,可以手动或自动地微调所标识的元件的参数值。在框594处,综合经修改的元件,并且用与经修改的元件相对应的条目来更新网表。报告经更新的网表的面积和时序(框560和570),并且再次与约束进行比较(框580)。如果所近似的面积和时序趋向于正确的方向,则增量修改可以继续,直到满足约束。
66.图6a示出了在核心a、b与c之间提供基于分组的通信的noc 拓扑600的简单示例;并且图6b示出了可以如何使用图5的方法生成针对图6a的noc拓扑的rtl描述。核心a是数据的发起方,并且核心b和c是该数据的目标。发起方niu i0经由套接字axi与核心a通信。目标niu t0和t1经由套接字apb和apb与核心b和c 通信。管道适配器pa、交换机sw1和宽度适配器dwa提供了发起方niu i0与目标niu t0之间的通信路径。管道适配器pa和交换机sw2提供了发起方niu i0与目标niu t1之间的通信路径。交换机 sw2提供了从目标niu t0和t1到发起方niu i0的通信路径。所有元件通过传输协议(tp)链路接口进行连接。在图7中给出了管道适配器上的这种接口710的示例。niu i0与套接字的外部连通性取决于由noc设计方选择的协议(axi、apb等),如图8所示。因此,通过知道端口接口(其由tp协议定义,如图7的示例所示),noc可以通过经由已知的端口接口来连接noc元件实例而被组成。
67.图6b示出了元件i0、pa、sw1、dwa、t0和t1的dag 650 以及从发起方niu i0到目标niu t0和t1的连接(框510)。
68.针对dag 650中的每个元件i0、pa、sw1、dwa、t0和t1生成rtl(框520和530)。然后,元件i0、pa、sw1、dwa、t0和 t1被映射到基础门并且被展平(框540)。
69.通过组装单独地综合的元件来创建eda网表(框550)。这可以通过遍历dag、挑选由tp链路连接的元件对、为每个元件创建to 输入接口和tp输出接口、将时钟连接到元件、以及在元件之间创建网络来执行。图9示出了针对经由tp接口形成的核心a与b之间的连通性的网表表示910。
70.通过报告eda网表上的所有门和寄存器实例来报告面积数(框 560)。面积可以被建模为与技术库中的面积直接匹配的面积数,或者可以被建模为《晶体管数》*《晶体管单位面积》,其中晶体管数是针对每种类型的基元预定义的,而单位面积可以从技术库中提取。
71.计算时序路径并且报告延迟(框570)。考虑图10所示的门。考虑三种类型的时序路径——路径(a)、路径(b)和路径(c)。
72.a.路径(a)——pi与po之间直接的组合路径(例如,in1-》i0-》 i1-》i2-》i3-》out0)。
73.b.路径(b)——寄存器之间的组合路径(例如,dff1/q-》i4-》i5
ꢀ‑
》dff2/d)。
74.c.路径(c)——pi(或po)与寄存器之间的组合路径(例如, in0-》i1-》dff1/d或dff2/q-》i6-》i7-》out1)。
75.按照数量递减的逻辑电平来放置时序路径。前k个最长路径将用于确定延迟,并且具有关于工作频率的实现情况的参考。最长路径给出了关于工作频率的概念,其大体上被
计算为freq=1/(最大路径延迟)。该信息还用作增量设计方法中的参考以用于微调和高效硬件配置(诸如,启用/禁用niu中的流水线或交换机上的缓冲器等)。在图 10中,路径(a)最长。
76.如果满足时序和面积约束,则该方法终止(框580)。否则,修改拓扑。
77.本文的方法不限于noc实现。其他类型的实现包括但不限于利用可配置元件、架构原型和探索的设计实现。
78.参考图11。本文的方法可以由具有处理器1120和计算机可读存储器1130的计算机系统1110来执行。存储器1130存储例如图3的模块300。模块300包括可执行指令,当该可执行指令被执行时,使得处理器1120无优化地执行对noc拓扑的面积和时序的近似。存储器1130还可以存储包括可执行指令的rtl生成模块1140,当该可执行指令被执行时,使处理器1120生成其面积和时序近似满足约束的完整rtl描述。
79.现在参考图12,其示出了用于实现本文的方法的系统1210的另一示例。系统1210包括处理器1220和处理器可读存储器1230。处理器1220被编程为访问用于技术映射的门的精简库。存储器1230存储模块1240至1270。第一模块1240包括用于使处理器1220接收noc 信息的可执行指令。第二模块1250包括用于使处理器1220单独地综合noc元件的可执行指令。第三模块1260包括用于使处理器1220 分别构建跨多个元件的路径的可执行指令,其中元件被单独地考虑用于综合并且被组装成用于面积和时序评估的网表。第四模块1270包括用于使处理器1220如果面积和时序评估满足实现约束则生成noc 的完整rtl描述的可执行指令。
80.相应地,前面仅仅说明了结合在本发明的各个实施例中的各个方面和原理。应当理解,本领域的普通技术人员将能够设计出各种布置,这些布置虽然没有在本文明确描述或示出,但是体现了本发明的原理并且被包括在其精神和范围内。此外,本文叙述的所有示例和条件语言主要是为了帮助读者理解本发明的原理和发明人为促进本领域所贡献的概念,并且应被解释为不限于这些具体叙述的示例和条件。此外,本文中叙述本发明的原理、方面和实施例的所有陈述以及其具体示例旨在涵盖其结构和功能等同物。此外,意图是这样的等同物包括当前已知的等同物和将来开发的等同物,即,所开发的执行相同功能的任何元素,而不管结构如何。
81.除非另有定义,否则本文使用的所有技术和科学术语具有与本发明所属领域的普通技术人员通常理解的相同的含义。动词“耦合”、它的动词变化形式以及其他变体应该被理解为是指本发明的元素之间通过一个或多个中间元素的直接连接或交互操作方式,无论是否叙述了任何这样的中间元素。类似于或等同于本文所述的任何方法和材料也可以在本发明的实践中使用。还描述了代表性的说明性方法和材料。
82.本说明书中引用的所有出版物和专利在本文中引入作为参考,如同每个单独的出版物或专利被具体地和单独地指出引入作为参考,并且在本文中引入作为参考以公开和描述与引用的出版物相关的方法和/或系统。对任何出版物的引用是为了其在申请日之前的公开,并且不应被解释为承认本发明由于在先发明而无权先于该出版物。此外,所提供的出版日期可能与实际出版日期不同,这可能需要独立地确认。
83.此外,意图是这样的等同物包括当前已知的等同物和将来开发的等同物,即所开发的执行相同功能的任何元素,而不管结构如何。因此,本发明的范围并不旨在限于本文所
示出和描述的示例性实施例。
84.根据本发明的教导,计算机和计算设备是制品。制品的其他示例包括:位于主板上的电子元件、服务器、大型计算机或其他专用计算机,它们各自具有一个或多个处理器(例如,中央处理单元、图形处理单元或微处理器),该一个或多个处理器被配置为执行计算机可读程序代码(例如,算法、硬件、固件和/或软件)以接收数据、发送数据、存储数据或执行方法。
85.该制品(例如,计算机或计算设备)包括可以包括一系列指令(诸如,计算机可读程序步骤或其中编码的代码)的非暂态计算机可读介质或存储装置。在本发明的某些方面,非暂态计算机可读介质包括一个或多个数据储存库。因此,在根据本发明的任何方面的某些实施例中,计算机可读程序代码(或代码)被编码在计算设备的非暂态计算机可读介质中。处理器或模块进而执行计算机可读程序代码,以使用工具创建或修改现有的计算机辅助设计。本文使用的术语“模块”可以指一个或多个电路、元件、寄存器、处理器、软件子例程或其任意组合。在实施例的其他方面,计算机辅助设计的创建或修改被实现为基于网络的软件应用,其中与计算机辅助设计或工具或计算机可读程序代码相关的数据部分被接收或被发送到主机的计算设备。
86.根据本发明的各个方面,制品或系统以各种方式实现:一个或多个不同的处理器或微处理器、易失性和/或非易失性存储器以及外围设备或外围控制器;集成微控制器,其具有处理器、本地易失性和非易失性存储器、外围设备和输入/输出引脚;实现制品或系统的固定版本的分立逻辑;以及实现可以通过本地或远程接口重新编程的制品或系统版本的可编程逻辑。这种逻辑可以在逻辑中或者经由处理器所执行的命令集合来实现控制系统。
87.因此,本发明的范围并不旨在限于本文讨论和描述的各个方面和实施例。相反,本发明的范围和精神由所附权利要求体现。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1