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

硅光器件布局方法、装置及硅光芯片与流程

2022-07-23 11:44:23 来源:中国专利 TAG:


1.本公开涉及光子学领域,尤其涉及硅光器件领域,具体涉及一种硅光器件布局方法、装置、计算机设备、计算机可读存储介质及计算机程序产品,以及一种硅光芯片。


背景技术:

2.近年来,随着硅光技术的快速发展,对硅光器件乃至硅光芯片的设计也提出了更高的要求,从而满足不断增长的技术需求和产业需求。与传统的集成电路(ic)的布局类似,硅光器件也涉及相应的布局方法。然而,专门面向硅光器件的布局方法尚处于探索中,仍然是研究中的热点及难点问题之一。


技术实现要素:

3.本公开提供了一种硅光器件布局方法、装置、计算机设备、计算机可读存储介质及计算机程序产品,以及一种硅光芯片。
4.根据本公开的一方面,提供了一种硅光器件布局方法。方法包括获取用于描述待布局硅光器件的信息的网表,信息包括硅光器件的种类和硅光器件之间的连接关系。方法还包括将网表参数化为至少一个图结构,每个图结构包括多个节点。方法还包括确定每个图结构中的多个节点的每个节点的邻接模式,邻接模式包括节点所属的连接类型和与连接类型有关的关联节点。方法还包括基于邻接模式确定硅光器件的布局。
5.根据本公开的另一方面,提供了一种硅光器件布局装置。装置包括网表获取模块,被配置为获取用于描述待布局硅光器件的信息的网表,信息包括硅光器件的种类和硅光器件之间的连接关系。装置还包括图生成模块,被配置为将网表参数化为至少一个图结构,每个图结构包括多个节点。装置还包括邻接模式确定模块,被配置为确定每个图结构中的多个节点的每个节点的邻接模式,邻接模式包括节点所属的连接类型和与连接类型有关的关联节点。装置还包括布局确定模块,被配置为基于邻接模式确定硅光器件的布局。
6.根据本公开的一方面,提供了一种计算机设备,包括:至少一个处理器;以及至少一个存储器,其上存储有计算机程序,其中,计算机程序在被处理器执行时,使处理器执行如上所述的方法。
7.根据本公开的一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时,使处理器执行如上所述的方法。
8.根据本公开的一方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,使处理器执行如上所述的方法。
9.根据本公开的另一方面,提供了一种硅光芯片,包括硅光器件,其中,硅光器件根据如上所述的方法布局。
10.根据本公开的一个或多个实施例,可以提供面向硅光器件的自动化布局。
11.根据在下文中所描述的实施例,本公开的这些和其他方面将是清楚明白的,并且将参考在下文中所描述的实施例而被阐明。
附图说明
12.在下面结合附图对于示例性实施例的描述中,本公开的更多细节、特征和优点被公开,在附图中:
13.图1示出根据本公开实施例的硅光器件布局方法的流程图;
14.图2示出根据本公开实施例的连接类型的示例;
15.图3a至3c示出根据本公开实施例的确定图结构中的节点的邻接模式并确定布局的过程的示例;
16.图4示出根据本公开实施例的光子计算芯片的部分布局的示例,其中还示出了关于节点分组的过程的示例;
17.图5示出根据本公开实施例的波分复用功能元件的布局的示例;
18.图6示出根据本公开实施例的硅光器件布局装置的示意性框图;以及
19.图7示出可以被用来实施本公开所描述的方法的计算机设备的示例配置。
具体实施方式
20.将理解的是,尽管术语第一、第二、第三等等在本文中可以用来描述各种元件、部件、区、层和/或部分,但是这些元件、部件、区、层和/或部分不应当由这些术语限制。这些术语仅用来将一个元件、部件、区、层或部分与另一个元件、部件、区、层或部分相区分。因此,下面讨论的第一元件、部件、区、层或部分可以被称为第二元件、部件、区、层或部分而不偏离本公开的教导。
21.本文中使用的术语仅出于描述特定实施例的目的并且不意图限制本公开。如本文中使用的,单数形式“一个”、“一”和“该”意图也包括复数形式,除非上下文清楚地另有指示。将进一步理解的是,术语“包括”和/或“包含”当在本说明书中使用时指定所述及特征、整体、步骤、操作、元件和/或部件的存在,但不排除一个或多个其他特征、整体、步骤、操作、元件、部件和/或其群组的存在或添加一个或多个其他特征、整体、步骤、操作、元件、部件和/或其群组。如本文中使用的,术语“和/或”包括相关联的列出项目中的一个或多个的任意和全部组合,并且短语“a和b中的至少一个”是指仅a、仅b、或a和b两者。
22.除非另有定义,本文中使用的所有术语(包括技术术语和科学术语)具有与本公开所属领域的普通技术人员所通常理解的相同含义。将进一步理解的是,诸如那些在通常使用的字典中定义的之类的术语应当被解释为具有与其在相关领域和/或本说明书上下文中的含义相一致的含义,并且将不在理想化或过于正式的意义上进行解释,除非本文中明确地如此定义。
23.在相关技术中,由于传统ic的布局方法可借鉴性不高,目前仍大多依赖于人工方式手动地进行硅光器件的布局。
24.一方面,传统ic的布局方法本身面临容易陷入局部最优、优化效率随器件数量增加而迅速降低的缺点,使得其自动化布局的可靠性不高。另外,器件布局的设计目标函数在硅光器件的布局中也尚未形成完整体系,使得可能难于与传统ic的布局方法匹配。这些方面的限制导致传统的优化算法可能无法适用于硅光器件的布局。
25.另一方面,在硅光器件的布局中还需要考虑诸多其他因素。例如,由于硅光器件是通过波导进行连接并利用光的干涉来实现信号处理的,因此需要波导满足一定的光程差要
求。同时,波导的转弯半径也有一定的要求。这些对波导在布线上的考虑因素也相应影响了整体的布局方法,使得布局需要能够满足硅光器件的对称性。在这一点上,传统ic的布局方法也无法满足硅光器件的布局需求。
26.为此,根据本公开实施例的一方面,提供了一种硅光器件布局方法。下面将结合附图详细描述本公开的实施例。
27.图1示出根据本公开实施例的硅光器件布局方法100的流程图。如图1所示,方法100包括步骤s102至s108。
28.在步骤s102,获取用于描述待布局硅光器件的信息的网表。该信息包括硅光器件的种类和硅光器件之间的连接关系。
29.在示例中,布局可以针对整个硅光芯片,因此待布局硅光器件可以是指构成该硅光芯片的全部硅光器件。替代地,布局也可以针对硅光芯片的一部分或特定硅光链路,因此待布局硅光器件也可以是构成硅光芯片的该部分或该特定硅光链路的硅光器件。
30.在示例中,网表可以通过索引来表示硅光器件的序号,进而指示硅光器件的种类(例如,mzi调制器、谐振环等)和它们之间的连接关系(例如,端口之间如何连接等)。
31.在步骤s104,将网表参数化为至少一个图结构,每个图结构包括多个节点。
32.因此,每个节点都对应于单个硅光器件,使得整个网表能够以图的形式来表示。
33.在步骤s106,确定每个图结构中的多个节点的每个节点的邻接模式。邻接模式包括节点所属的连接类型和与该连接类型有关的关联节点。
34.在一些实施例中,邻接模式的确定可以是以每个节点仅对应于一种特定邻接模式的方式来实现的。即,对于某一节点而言,在该节点所属的连接类型被确定时,与该连接类型有关的关联节点也被确定,其包括构成该连接类型的全部节点。
35.在示例中,可以存在仅包括单个节点的连接类型,在此情况下,与该连接类型有关的关联节点仅包括该单个节点。
36.在步骤s108,基于邻接模式确定硅光器件的布局。
37.因此,根据本公开的实施例提供了一种面向硅光器件的自动化布局方法。
38.本公开实施例的方法基于图论,将硅光器件的网表参数化为图,使得图中的各节点分别对应于各硅光器件,由此便利于借助于图论的方法来确定布局。进一步地,通过确定图中的每个节点的邻接模式,可以表征布局所需的每个硅光器件的连接特征或特性,继而可以基于该邻接模式来推导布局。
39.本公开实施例的方法既可以脱离传统优化算法的束缚,又可以解决依赖手动布局的现状,能够实现面向硅光器件的自动化布局。同时,由于布局结果是依据节点的邻接模式而推导得出的,由此使得本方法能够提供可解释性以支持布局结果的检查。
40.本公开实施例的方法能够有效地辅助硅光芯片的设计、降低设计难度以及简化设计工作流,从而有利于缩短硅光芯片的设计与开发周期。
41.以下详细描述根据本公开实施例的硅光器件布局方法100的各个方面。
42.根据一些实施例,在步骤s104,将网表参数化为至少一个图结构可以包括:将通过网表获得的硅光器件之间的连接关系以邻接矩阵的方式表示;以及基于邻接矩阵构建至少一个图结构。
43.在示例中,邻接矩阵的行和列均可以指示硅光器件的索引。因此,邻接矩阵中为一
的元素可以表示对应的硅光器件之间具有连接关系,反之,为零的元素可以表示没有连接关系。
44.这里,由于基于邻接矩阵构建图结构可以是本领域技术人员已知的技术,因此不再过多赘述其细节。
45.通过这种方式,可以借助于邻接矩阵来表达硅光器件之间的连接关系,并由此构建本方法基于图论所需的图结构。
46.根据一些实施例,基于邻接矩阵构建出的至少一个图结构可以包括一个连通图或多个连通子图。
47.换言之,网表有可能被参数化为一个连通图,也有可能被参数化为多个连通子图,这取决于网表的实际情况。
48.在示例中,可以进行关于连通图的判断。如果基于网表的邻接矩阵所构建的图结构是连通图,则后续步骤s106和s108可以相应地针对该连通图执行;而如果基于网表的邻接矩阵所构建的图结构不是连通图,则意味着此时包括了多个连通子图,因此,后续步骤s106和s108可以相应地针对该多个连通子图分别执行,直到所有的连通子图都经过处理为止。
49.通过这种方式,可以进一步根据网表的实际情况选用适当的处理方式,以全面覆盖网表所包含的信息。
50.根据一些实施例,在步骤s106,确定每个图结构中的多个节点的每个节点的邻接模式可以包括:
51.将每个图结构中的多个节点根据该多个节点各自的特征向量中心度划分成至少一个分组,其中,包含锚点节点的分组为至少一个分组中的起始分组,锚点节点是被预先选定以作为图结构的起始的节点;以及从起始分组起识别每个分组中的每个节点的邻接模式。
52.这里,特征向量中心度(eigenvector centrality)可以是一种反映节点中心性的度量,其表示一个节点的中心性是相邻节点中心性的函数。根据本实施例,可以基于特征向量中心度将多个节点分组以使得各个分组分别对应于不同的特征向量中心度。为此,可以首先提取多个节点各自的特征向量中心度。由于提取节点的特征向量中心度可以是本领域技术人员已知的技术,因此这里不再过多赘述其细节。
53.由于步骤s106涉及对每个节点的遍历,因此,在获得至少一个分组之后,可以按照分组为单位来执行节点的遍历。根据本实施例,可以设置遍历过程中的起始分组,该起始分组可以是包含锚点节点的分组。由于锚点节点可以是被预先选定以作为图结构的起始的节点,因此,以包含锚点节点的分组作为起始分组可以在遍历时兼顾节点的相对位置关系。
54.通过这种方式,可以利用节点分组来便利于节点层级的特征提取,以获得布局所需的每个硅光器件的连接特征或特性。
55.根据一些实施例,被划分在同一分组中的至少一个节点可以在布局中被分配相同的横向位置。
56.根据一些实施例,起始分组中除锚点节点之外的其余节点按照其到达锚点节点的路径长度被分配相应的纵向位置。
57.通过这种方式,还可以利用节点分组来便利于硅光器件在横向和纵向上的布局。
58.根据一些实施例,在步骤s106中进行节点分组之后,可以确定跨至少一个分组所形成的最长非重复路径以作为每个图结构的横向范围的参考。还可以确定至少一个分组之中节点数量最多的分组的最大分组长度以作为每个图结构的纵向范围的参考。最长非重复路径和最大分组长度可以用于对硅光器件的布局的范围进行估计。
59.通过这种方式,还可以利用节点分组来便利于图层级的特征提取,以获得对于布局的长宽信息的估计。稍后将进一步结合图4说明关于节点分组的过程的示例。
60.根据一些实施例,在步骤s108,基于邻接模式确定硅光器件的布局可以包括:基于每个图结构中的每个节点的连接类型和关联节点,将每个图结构映射成硅光器件的相应布局。
61.通过这种方式,可以将经由图论的方法所获得的结果输出为所需的器件布局。
62.根据一些实施例,连接类型可以是根据该连接类型所包含的节点数量和节点之间的连接方式而预先设定的。
63.在示例中,连接类型所包含的节点数量可以例如是两个、三个、四个等等。如前所述,也可以存在仅包括单个节点的连接类型,即节点数量是一。另外,考虑到硅光器件在两端分别具有两个端口,使得可能出现不同的连接方式,诸如串联连接(如图2所示的1t1型)、分叉连接(如图2所示的1y2型之一)、交叉连接(如图2所示的2x2型)等不同情况,因此,连接类型也可以是基于这些不同的连接方式来预先设定的。
64.在示例中,连接类型还可以是经过专家布局经验而验证过的。下文将结合图2说明六种预先设定的且经专家验证过的连接类型的示例。
65.通过这种方式,可以有利于将经由图论的方法所获得的结果映射为所需的器件布局,从而有利于实现自动化布局。
66.另外,连接类型还可以是动态可扩展的,由此提供自动化布局的可扩展性。
67.根据一些实施例,在步骤s108之后,可以基于硅光器件的种类从预置的工艺库获取关于硅光器件的几何信息,以及在硅光器件的布局中应用该几何信息以确定硅光器件的尺寸和硅光器件之间的间距。
68.在示例中,预置的工艺库例如可以是可接入的pdk(process design kit)库,其中可以包括诸如各种基本硅光器件的几何信息。
69.通过这种方式,可以将基于图论的方法所获得的布局赋值,由此完成整个自动化布局。
70.如前所述,本公开实施例的方法既可以脱离传统优化算法的束缚,又可以解决依赖手动布局的现状,能够实现面向硅光器件的自动化布局。因此,能够有效地辅助硅光芯片的设计、降低设计难度以及简化设计工作流,从而有利于缩短硅光芯片的设计与开发周期。
71.以下进一步结合图2、图3a至3c、图4及图5描述本公开实施例的方法的示例。
72.图2示出根据本公开实施例的连接类型的示例。
73.如图2所示,示出了六种预先设定的且经专家验证过的连接类型,在图中分别标记为t0型、1t1型、1y2型、2x2型、2w3型和4x2型。考虑与硅光器件的端口相符,各连接类型中的节点以侧面包括两个端口为例示出。
74.t0型可以是仅包括单个节点201的连接类型。在如结合图1所述的步骤s106确定了节点201所属的连接类型为t0型时,与该连接类型有关的关联节点则包括该单个节点201。
75.1t1型可以包括以串联方式连接的两个节点202和203。在如结合图1所述的步骤s106确定了节点202所属的连接类型为1t1型时,与该连接类型有关的关联节点则包括节点202和203。
76.1y2型可以包括以串联方式连接的三个节点204、205和206。替代地,1y2型可以包括一个节点204’和以分叉方式与该节点204’连接的两个节点205’和206’。即,节点204’面向节点205’和206’的两个端口分别与节点205’和206’连接。在如结合图1所述的步骤s106确定了节点204或204’所属的连接类型为1y2型时,与该连接类型有关的关联节点则包括节点204、205和206,或204’、205’和206’。
77.2x2型可以包括四个节点207至210,其中节点207分别与节点209和210连接,且节点208也分别与节点209和210连接,使得在这四个节点之间形成了交叉连接的情况。在如结合图1所述的步骤s106确定了节点207或208所属的连接类型为2x2型时,与该连接类型有关的关联节点则包括该四个节点207至210。
78.2w3型可以类似于1y2型中的第二种,但可以包括五个节点211至215,即,两个节点211和212以及分别以分叉方式与该节点211和212连接的三个节点213、214和215。即,节点211面向节点213和214的两个端口分别与该节点213和214连接,且节点212面向节点214和215的两个端口分别与该节点214和215连接。在如结合图1所述的步骤s106确定了节点211或212所属的连接类型为2w3型时,与该连接类型有关的关联节点则包括该五个节点211至215。
79.4x2型可以包括六个节点216至221,其中节点220和221中每一者的四个端口分别与节点216至219连接。即,节点216面向节点220和221的两个端口分别与该节点220和221连接,且节点217面向节点220和221的两个端口也分别与该节点220和221连接。节点218面向节点220和221的两个端口分别与该节点220和221连接,且节点219面向节点220和221的两个端口也分别与该节点220和221连接。在如结合图1所述的步骤s106确定了节点216至219之一所属的连接类型为4x2型时,与该连接类型有关的关联节点则包括节点216至221。
80.可以理解的是,图2仅图示了连接类型的若干示例。然而,如前所述,连接类型可以是动态可扩展的。
81.借助于连接类型的设定,经由图论的方法所获得的结果能够被映射为所需的器件布局。
82.图3a至3c示出根据本公开实施例的确定图结构中的节点的邻接模式并确定布局的过程的示例。其中,图3a示出了在执行如图1所示的步骤s104之后所得的示例图结构(例如,为多个连通子图之一),图3b示出了如图1所示的步骤s106的示例过程,且图3c示出了如图1所示的步骤s108的示例过程。
83.如图3a所示,连通子图310可以包括第一至第八节点3100至3107。如前所述,每个节点都对应于单个硅光器件。为便于说明,在图3a中还示出了每个节点的索引,标记为“0”至“7”。
84.如图3b所示,执行如图1所示的步骤s106,即,确定连通子图310中的第一至第八节点3100至3107的每个节点的邻接模式。为便于说明,在列320中示出了第一至第八节点3100至3107各自的索引,即“0”至“7”;在列322中示出了第一至第八节点3100至3107各自所属的连接类型(如结合图2所述的连接类型);在列324中示出了与相应连接类型有关的关联节
点。
85.对于索引为“0”的第一节点3100,可以确定该节点所属的连接类型为1t1型,并且与该1t1型有关的关联节点为第一节点3100和第二节点3101,即索引为“0”、“1”。类似地,可以确定索引为“2”的第三节点3102和索引为“3”的第四节点3103所属的连接类型也为1t1型。相应地,与该1t1型有关的关联节点分别被标记为“2”、“3”;以及“3”、“4”。
86.此外,可以确定索引为“1”的第二节点3101和索引为“5”的第六节点3105所属的连接类型为1y2型。相应地,与该1y2型有关的关联节点分别被标记为“1”、“2,5”和“5”、“6,7”。换言之,在索引为“1”的第二节点3101被遍历时,索引为“2”的第三节点3102和索引为“5”的第六节点3105可以分别被视为该索引为“1”的第二节点3101的子节点。同理,在索引为“5”的第六节点3105被遍历时,索引为“6”的第七节点3106和索引为“7”的第八节点3107可以分别被视为该索引为“5”的第六节点3105的子节点。
87.另外,可以确定索引为“4”的第五节点3104、索引为“6”的第七节点3106和索引为“7”的第八节点3107所属的连接类型为t0型。t0型是仅包括单个节点的连接类型。因此,与该t0型有关的关联节点分别被标记为“4”、“[]”(表示“空”);“6”、“[]”;以及“7”、“[]”。
[0088]
如前所述,本文中,邻接模式的确定是以每个节点仅对应于一种特定邻接模式的方式来实现的。即,对于某一节点而言,在该节点所属的连接类型被确定时,与该连接类型有关的关联节点也被确定,其包括构成该连接类型的全部节点。正如在列322中所示的,第一至第八节点3100至3107分别具有各自的一种连接类型。相应地,正如在列324中所示的,与相应连接类型有关的关联节点包括构成该连接类型的全部节点。
[0089]
如图3c所示,执行如图1所示的步骤s108,即,基于邻接模式确定硅光器件的布局。在如图3b所示确定第一至第八节点3100至3107中的每个节点的邻接模式之后,可以基于邻接模式将连通子图310映射成器件布局330。为了说明这种映射关系,图3c中也以索引“0”至“7”标记对应的硅光器件。
[0090]
此时,还可以从pdk库获取硅光器件的几何信息,从而进一步确定器件布局330中的器件尺寸(如“x
e”、“y
e1”所示)和器件之间的间距(如“y
e2”、“y
e3”所示)。
[0091]
出于示例的目的,图3c仅示出了部分未知距离,其他未知距离例如还可以包括索引为“0”的器件与索引为“1”的器件之间的间距、索引为“1”的器件与索引为“2”的器件之间的间距等等。
[0092]
因此,基于图论的方法所获得的布局可以被赋值,由此完成整个自动化布局。
[0093]
图4示出根据本公开实施例的光子计算芯片的部分布局的示例,其中还示出了关于节点分组的过程的示例。
[0094]
为了便于比较,图4在上部示出了以人工方式布局的结果,在下部示出了根据本公开实施例的自动化布局的结果。如图4所示的硅光器件可以例如是在pdk库中命名为“m2x2_te_1550_extra_port”的mzi调制器。
[0095]
在执行根据本公开实施例的自动化布局方法时,布局完成时间小于0.5秒。因此,本方法可以提供极高的布局速度,能够几乎实时地输出布局结果。
[0096]
另外,与图4上部所示出的人工布局对照,本方法在器件顺序、连接的远近关系和/或摆放逻辑上均正确,且每次的输出结果稳定。因此,本方法还可以提供较高的结果鲁棒性和可重复性。
[0097]
这里,还结合图4描述根据本公开实施例的方法中的节点分组的示例。
[0098]
参考如图4下部示出的根据本公开实施例的自动化布局的结果,其中,索引为“0”、“3”、“6”、“9”的节点可以被划分成一个分组。类似地,索引为“24”、“26”、“36”、“38”的节点可以被划分成一个分组;索引为“25”、“27”、“37”、“39”的节点可以被划分成一个分组;索引为“72”、“74”、“76”、“78”的节点可以被划分成一个分组;且索引为“73”、“77”、“75”、“79”的节点可以被划分成一个分组。
[0099]
在这些分组之中,索引为“0”的节点可以是被预先选定的锚点节点,因此,包括索引为“0”的锚点节点的分组可以是起始分组,并且从该起始分组起识别每个分组中的每个节点的邻接模式。
[0100]
另外,被划分在同一分组中的节点(如索引为“0”、“3”、“6”、“9”的节点,或索引为“24”、“26”、“36”、“38”的节点,等等)可以在布局中被分配相同的横向位置。起始分组中除索引为“0”的锚点节点之外的其余节点(即,索引为“3”、“6”、“9”的节点)按照其到达索引为“0”的锚点节点的路径长度被分配相应的纵向位置。换言之,索引为“3”的节点距索引为“0”的锚点节点的路径最短,而索引为“9”的节点距索引为“0”的锚点节点的路径最长。
[0101]
图5示出根据本公开实施例的波分复用功能元件的布局的示例。
[0102]
为了便于比较,图5在左侧示出了以人工方式布局的结果,在右侧示出了根据本公开实施例的自动化布局的结果。如图5所示的硅光器件可以例如是定向耦合器。
[0103]
在执行根据本公开实施例的自动化布局方法时,布局完成时间也小于0.5秒。因此,本方法可以提供极高的布局速度,能够几乎实时地输出布局结果。
[0104]
另外,如前所述,由于本方法可以基于最长非重复路径来确定图结构的横向范围,因此能够实现横向空间的规划。另外,由于本方法可以基于最大分组长度来确定图结构的纵向范围,因此能够预留纵向空间以用于容纳分支结构。
[0105]
根据本公开的一方面,还提供了一种硅光芯片,包括硅光器件,所述硅光器件根据上文描述的任一方法的实施例布局。
[0106]
根据本公开的一方面,还提供了一种硅光器件布局装置。
[0107]
图6示出根据本公开实施例的硅光器件布局装置600的示意性框图。
[0108]
如图6所示,装置600包括网表获取模块602、图生成模块604、邻接模式确定模块606以及布局确定模块608。
[0109]
网表获取模块602可以被配置为获取用于描述待布局硅光器件的信息的网表。所述信息包括硅光器件的种类和硅光器件之间的连接关系。
[0110]
图生成模块604可以被配置为将网表参数化为至少一个图结构,每个图结构包括多个节点。
[0111]
邻接模式确定模块606可以被配置为确定每个图结构中的所述多个节点的每个节点的邻接模式。邻接模式包括节点所属的连接类型和与该连接类型有关的关联节点。
[0112]
布局确定模块608可以被配置为基于邻接模式确定硅光器件的布局。
[0113]
应当理解,图6中所示的装置600的各个模块可以与参考图1描述的方法100中的各个步骤相对应。由此,上面针对方法100描述的操作、特征和优点同样适用于装置600及其包括的模块。为了简洁起见,某些操作、特征和优点在此不再赘述。
[0114]
虽然上面参考特定模块讨论了特定功能,但是应当注意,本文讨论的各个模块的
功能可以分为多个模块,和/或多个模块的至少一些功能可以组合成单个模块。本文讨论的特定模块执行动作包括该特定模块本身执行该动作,或者替换地该特定模块调用或以其他方式访问执行该动作(或结合该特定模块一起执行该动作)的另一个组件或模块。因此,执行动作的特定模块可以包括执行动作的该特定模块本身和/或该特定模块调用或以其他方式访问的、执行动作的另一模块。
[0115]
还应当理解,本文可以在软件硬件元件或程序模块的一般上下文中描述各种技术。上面关于图6描述的各个模块可以在硬件中或在结合软件和/或固件的硬件中实现。例如,这些模块可以被实现为计算机程序代码/指令,该计算机程序代码/指令被配置为在一个或多个处理器中执行并存储在计算机可读存储介质中。可替换地,这些模块可以被实现为硬件逻辑/电路。例如,在一些实施例中,网表获取模块602、图生成模块604、邻接模式确定模块606和布局确定模块608中的一个或多个可以一起被实现在片上系统(system on chip,soc)中。soc可以包括集成电路芯片(其包括处理器(例如,中央处理单元(central processing unit,cpu)、微控制器、微处理器、数字信号处理器(digital signal processor,dsp)等)、存储器、一个或多个通信接口、和/或其他电路中的一个或多个部件),并且可以可选地执行所接收的程序代码和/或包括嵌入式固件以执行功能。
[0116]
根据本公开的一方面,还提供了一种计算机设备,其包括存储器、处理器以及存储在存储器上的计算机程序。该处理器被配置为执行计算机程序以实现上文描述的任一方法实施例的步骤。
[0117]
根据本公开的一方面,还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上文描述的任一方法实施例的步骤。
[0118]
根据本公开的一方面,还提供了一种计算机程序产品,其包括计算机程序,该计算机程序被处理器执行时实现上文描述的任一方法实施例的步骤。
[0119]
在下文中,结合图7描述这样的计算机设备、非暂态计算机可读存储介质和计算机程序产品的说明性示例。
[0120]
图7示出了可以被用来实施本公开所描述的方法的计算机设备700的示例配置。上述硅光器件布局装置600可以全部或至少部分地由计算机设备700或类似设备或系统实现。
[0121]
计算机设备700可以是各种不同类型的设备。计算机设备700的示例包括但不限于:台式计算机、服务器计算机、笔记本电脑或上网本计算机、移动设备(例如,平板电脑、蜂窝或其他无线电话(例如,智能电话)、记事本计算机、移动台)、可穿戴设备(例如,眼镜、手表)、娱乐设备(例如,娱乐器具、通信地耦合到显示设备的机顶盒、游戏机)、电视或其他显示设备、汽车计算机等等。
[0122]
计算机设备700可以包括能够诸如通过系统总线714或其他适当的连接彼此通信的至少一个处理器702、存储器704、(多个)通信接口706、显示设备708、其他输入/输出(i/o)设备710以及一个或更多大容量存储装置712。
[0123]
处理器702可以是单个处理单元或多个处理单元,所有处理单元可以包括单个或多个计算单元或者多个核心。处理器702可以被实施成一个或更多微处理器、微型计算机、微控制器、数字信号处理器、中央处理单元、状态机、逻辑电路和/或基于操作指令来操纵信号的任何设备。除了其他能力之外,处理器702可以被配置成获取并且执行存储在存储器704、大容量存储装置712或者其他计算机可读介质中的计算机可读指令,诸如操作系统716
的程序代码、应用程序718的程序代码、其他程序720的程序代码等。
[0124]
存储器704和大容量存储装置712是用于存储指令的计算机可读存储介质的示例,所述指令由处理器702执行来实施前面所描述的各种功能。举例来说,存储器704一般可以包括易失性存储器和非易失性存储器二者(例如ram、rom等等)。此外,大容量存储装置712一般可以包括硬盘驱动器、固态驱动器、可移除介质、包括外部和可移除驱动器、存储器卡、闪存、软盘、光盘(例如cd、dvd)、存储阵列、网络附属存储、存储区域网等等。存储器704和大容量存储装置712在本文中都可以被统称为存储器或计算机可读存储介质,并且可以是能够把计算机可读、处理器可执行程序指令存储为计算机程序代码的非暂态介质,所述计算机程序代码可以由处理器702作为被配置成实施在本文的示例中所描述的操作和功能的特定机器来执行。
[0125]
多个程序可以存储在大容量存储装置712上。这些程序包括操作系统716、一个或多个应用程序718、其他程序720和程序数据722,并且它们可以被加载到存储器704以供执行。这样的应用程序或程序模块的示例可以包括例如用于实现以下部件/功能的计算机程序逻辑(例如,计算机程序代码或指令):网表获取模块602、图生成模块604、邻接模式确定模块606和布局确定模块608和/或本文描述的另外的实施例。
[0126]
虽然在图7中被图示成存储在计算机设备700的存储器704中,但是模块716、718、720和722或者其部分可以使用可由计算机设备700访问的任何形式的计算机可读介质来实施。如本文所使用的,“计算机可读介质”至少包括两种类型的计算机可读介质,也就是计算机可读存储介质和通信介质。
[0127]
计算机可读存储介质包括通过用于存储信息的任何方法或技术实施的易失性和非易失性、可移除和不可移除介质,所述信息诸如是计算机可读指令、数据结构、程序模块或者其他数据。计算机可读存储介质包括而不限于ram、rom、eeprom、闪存或其他存储器技术,cd-rom、数字通用盘(dvd)、或其他光学存储装置,磁盒、磁带、磁盘存储装置或其他磁性存储设备,或者可以被用来存储信息以供计算机设备访问的任何其他非传送介质。与此相对,通信介质可以在诸如载波或其他传送机制之类的已调制数据信号中具体实现计算机可读指令、数据结构、程序模块或其他数据。本文所定义的计算机可读存储介质不包括通信介质。
[0128]
一个或更多通信接口706用于诸如通过网络、直接连接等等与其他设备交换数据。这样的通信接口可以是以下各项中的一个或多个:任何类型的网络接口(例如,网络接口卡(nic))、有线或无线(诸如ieee 802.11无线lan(wlan))无线接口、全球微波接入互操作(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、bluetooth
tm
接口、近场通信(nfc)接口等。通信接口706可以促进在多种网络和协议类型内的通信,其中包括有线网络(例如lan、电缆等等)和无线网络(例如wlan、蜂窝、卫星等等)、因特网等等。通信接口706还可以提供与诸如存储阵列、网络附属存储、存储区域网等等中的外部存储装置(未示出)的通信。
[0129]
在一些示例中,可以包括诸如监视器之类的显示设备708,以用于向用户显示信息和图像。其他i/o设备710可以是接收来自用户的各种输入并且向用户提供各种输出的设备,并且可以包括触摸输入设备、手势输入设备、摄影机、键盘、遥控器、鼠标、打印机、音频输入/输出设备等等。
[0130]
本文描述的技术可以由计算机设备700的这些各种配置来支持,并且不限于本文所描述的技术的具体示例。例如,该功能还可以通过使用分布式系统在“云”上全部或部分地实现。云包括和/或代表用于资源的平台。平台抽象云的硬件(例如,服务器)和软件资源的底层功能。资源可以包括在远离计算机设备700的服务器上执行计算处理时可以使用的应用和/或数据。资源还可以包括通过因特网和/或通过诸如蜂窝或wi-fi网络的订户网络提供的服务。平台可以抽象资源和功能以将计算机设备700与其他计算机设备连接。因此,本文描述的功能的实现可以分布在整个云内。例如,功能可以部分地在计算机设备700上以及部分地通过抽象云的功能的平台来实现。
[0131]
虽然在附图和前面的描述中已经详细地说明和描述了本公开,但是这样的说明和描述应当被认为是说明性的和示意性的,而非限制性的;本公开不限于所公开的实施例。通过研究附图、公开内容和所附的权利要求书,本领域技术人员在实践所要求保护的主题时,能够理解和实现对于所公开的实施例的变型。在权利要求书中,词语“包括”不排除未列出的其他元件或步骤,不定冠词“一”或“一个”不排除多个,术语“多个”是指两个或两个以上,并且术语“基于”应解释为“至少部分地基于”。在相互不同的从属权利要求中记载了某些措施的仅有事实并不表明这些措施的组合不能用来获益。
再多了解一些

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

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

相关文献