CN114764554A - 波导总线及用于自动生成波导总线的布局的方法、系统 - Google Patents
波导总线及用于自动生成波导总线的布局的方法、系统 Download PDFInfo
- Publication number
- CN114764554A CN114764554A CN202111505707.4A CN202111505707A CN114764554A CN 114764554 A CN114764554 A CN 114764554A CN 202111505707 A CN202111505707 A CN 202111505707A CN 114764554 A CN114764554 A CN 114764554A
- Authority
- CN
- China
- Prior art keywords
- bends
- path
- particular path
- cell
- paths
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/0012—Optical design, e.g. procedures, algorithms, optimisation routines
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B6/00—Light guides; Structural details of arrangements comprising light guides and other optical elements, e.g. couplings
- G02B6/10—Light guides; Structural details of arrangements comprising light guides and other optical elements, e.g. couplings of the optical waveguide type
- G02B6/12—Light guides; Structural details of arrangements comprising light guides and other optical elements, e.g. couplings of the optical waveguide type of the integrated circuit kind
- G02B6/122—Basic optical elements, e.g. light-guiding paths
- G02B6/125—Bends, branchings or intersections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Optics & Photonics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Architecture (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- Optical Integrated Circuits (AREA)
Abstract
本发明涉及波导总线及用于自动生成波导总线的布局的方法、系统,公开一用于生成指示波导总线的平衡光波导的路径的布局的系统、方法、软件工具等。网格用于路由路径,分别在对应的第一和第二输入/输出节点间延伸,并且在定义区域的边界内。路径将自动重新路由以平衡长度和弯曲数量,而不会过度增加这些路径中的长度或弯曲数量,也不会进一步移动输入/输出节点或超出已建立的边界。基于与网格上的点的不同路径特定集合相关的各种交集运算的结果,迭代地执行路径的自动重新路由,以确定何时及何处向路径中插入附加直线段和弯曲。然后,生成指示平衡路径的布局。还公开一具有平衡光波导的波导总线结构。
Description
技术领域
本发明涉及光波导,更具体地,涉及用于自动生成波导总线的布局的设计方法、系统和软件工具的实施例,以及根据所述布局制造的波导总线的实施例。
背景技术
更具体地,硅光子集成芯片(PIC)可以包括光波导(WG)总线(即,一组光WG)。WG总线中的每个WG在一对输入/输出节点之间传输光信号。在PIC设计期间,光WG的路径根据,例如针对关键尺寸、最小化面积消耗等的设计规则自动地布置(例如,通过WG布局生成工具)。通常,生成的自动生成布局中的每条路径在其对应的输入/输出节点之间具有可能的最短长度和最少弯曲数量。然而,一些PIC设计要求WG总线中的WG是平衡的。为了本发明的目的,“平衡WG”是指使通过其中的光信号经受基本相同的传输损耗和相移的WG。本领域技术人员将认识到,通过WG的光信号的传输损耗和相移将取决于WG的长度和WG内弯曲的数目。也就是说,传输损耗和相移都是由长度和弯曲引起的。通常,如果需要平衡WG,则自动生成布局(例如,如上所述,每条路径在其对应的输入/输出节点之间具有可能的最短长度和最少弯曲数量)。然后,手动改变一个或多个路径的长度和/或一个或多个路径中的弯曲数量,使得所有路径具有大致相同的长度和弯曲数量。理想情况下,进行WG平衡,不仅可以均衡传输损耗和相移,而且可以最小化传输损耗和相移。不幸的是,在考虑到这些目标的情况下手动更改布局的路径可能会非常耗时、不一致、容易出错等。
发明内容
本文公开了一种设计系统的实施例,用于自动生成指示WG总线的平衡光波导(WG)路径的布局。所述系统可包括存储介质,其存储包括具有多个光WG的WG总线的设计(例如,示意图(schematic diagram))。所述系统还可以包括与所述存储介质通信的处理器。所述处理器可以从所述存储介质访问所述设计,并根据所述设计为所述光WG路由路径。具体地,所述处理器可以路由所述路径,使得它们分别在对应的第一和第二输入/输出节点之间延伸,并且使得它们在矩形区域的定义边界内。处理器可以进一步自动地重新路由所述路径,以减少所述路径之间的总长度和弯曲总数的任何差异(即,平衡路径的长度和弯曲数量)。具体地,所述处理器可以在不移动第一和第二输入/输出节点中的任一者并且不超出所定义的所述边界的情况下,将每个等于一个长度单位的附加直线段和/或附加弯曲插入到所述路径中的至少一个中。在所述路径中插入附加直线段和/或附加弯曲将创建平衡路径。所述技术,尤其是,用于确定何时何处自动插入附加直线段和/或附加弯曲的算法(如下面详细描述部分中进一步讨论的)确保平衡路径在与所述路径相同的对应的第一和第二输入/输出节点之间延伸,在相同的定义边界内,并且在长度和相同的弯曲数量上具有最小差异(如果有的话)。所述处理器可以进一步生成布局,其指示光WG的平衡路径。
本文还公开了一种设计方法的实施例,用于自动生成指示WG总线的平衡光波导(WG)的路径的布局。所述方法可包括由处理器从存储介质访问包括具有多个光WG的WG总线的设计(例如,示意图)。所述方法还可包括由所述处理器基于所述设计为光WG路由路径。可执行路由所述路径的过程,使得所述路径分别在对应的第一和第二输入/输出节点之间延伸,并且使得它们在矩形区域的定义边界内。所述方法还可以包括由所述处理器自动地重新路由所述路径,以减少所述路径之间的总长度和弯曲总数的任何差异(即,平衡路径的长度和弯曲数量)。自动重新路由所述路径的过程可以包括在不移动第一和第二输入/输出节点并且不超出所定义的所述边界的情况下,将每个等于一个长度单位的附加直线段和/或附加弯曲插入到所述路径的至少一个中。在所述路径中插入附加直线段和/或附加弯曲将创建平衡路径。所述技术,特别是用于确定何时何处自动插入附加直线段和/或附加弯曲的算法(在下面的详细描述部分中进一步讨论)确保平衡路径在与所述路径相同的对应的第一和第二输入/输出节点之间延伸,在相同的定义边界内,并且在长度和相同的弯曲数量上存在最小差异(如果有的话)。所述方法还可以包括由所述处理器生成指示光WG的平衡路径的布局。
本文还公开了计算机程序产品的实施例。所述计算机程序产品可以包括计算机可读存储介质,所述计算机可读存储介质至少具有软件工具,所述软件工具具有用于波导(WG)布局生成的程序指令。用于波导布局生成的所述程序指令可由处理器读取,所述处理器可执行这些指令以执行上述用于自动生成指示WG总线的平衡光波导(WG)的路径的布局的方法。
本文还公开了结构(例如,硅光子集成电路(PIC)芯片)的实施例。所述结构可以包括衬底(substrate)和在所述衬底上具有多个光WG的波导(WG)总线。例如,光WG可以是根据特定布局制造的WG,所述布局由上述系统、方法或计算机程序产品实施例中的任何一个自动生成。具体而言,WG总线可以位于具有定义边界的矩形区域内。所述WG总线可以包括多个光WG。光WG可以分别在对应的第一和第二输入/输出节点之间延伸。不同WG的第一和第二输入/输出节点可以通过不同的距离隔开。即,第一WG可以在被第一距离隔开的第一和第二输入/输出节点之间延伸;第二WG可以在不同的第一和第二输入/输出节点之间延伸,所述第一和第二输入/输出节点被大于所述第一距离的第二距离隔开;以此类推。所述光WG可以包括直线段和弯曲的不同组合,使得光WG的总长度在长度单位数量的阈值差内,并且使得光WG中的弯曲总数相等。最后,由于所述WG总线是根据由上述系统、方法或计算机程序产品实施例中的任何一个自动生成的布局来制造的,因此在被最长距离隔开的第一和第二输入/输出节点之间延伸的一个特定光WG可以包括直线段和弯曲的特定组合,并且此特定组合可以包括具有阶梯形状的弯曲级联。
附图说明
通过以下参考附图的详细描述,本发明将得到更好的理解,附图不一定按比例绘制,其中:
图1A为自动生成布局的示意图,显示了WG总线的四个光波导(WG)的四条路径;
图1B为示例性修改布局的示意图,其中,图1A中所示的路径已被手动重新路由;
图2为计算机辅助设计(CAD)系统的公开实施例的示意图,所述计算机辅助设计(CAD)系统用于自动生成指示WG总线的平衡光WG的路径的布局;
图3为根据所公开的实施例所示的WG总线的光WG的路径的初始布置的示意图;
图4为根据公开的实施例所示的减少了总长度和弯曲总数差异的自动重新路由路径的示意图;
图5A-图5B为自动调整类型1的图表,其中,可增加路径长度而不增加路径中的弯曲数量;
图6A-图6B为自动调整类型2的图表,其中,路径的长度增加并且路径中的弯曲的数量也增加;
图7A-图7B为路径自动调整类型3的图表,其中,路径的弯曲数量可以在不增加路径长度的情况下增加;
图8A-图8B为路径自动调整类型4的图表,其中,路径的直线段在不增加路径长度或路径中的弯曲数量的情况下移动;
图9A-图9B为路径自动调整类型5的图表,其中,路径的长度和弯曲数量都减小;
图10A-图10E为更详细地示出用于将光WG的路径从图3所示的路径自动重新路由到图4所示的路径的迭代处理的图;
图11为示出异质光WG的路径重新路由的类似结果的图;
图12为示出用于自动生成指示WG总线的平衡光WG的路径的布局的公开方法实施例的流程图;
图13A和图13B示出了使用所公开的系统和方法形成的结构(例如,硅光子集成电路(PIC)芯片)的示例性实施例;以及
图14为示出可用于实现所公开的系统和方法实施例的示例性计算机系统的示意图。
具体实施方式
如上所述,硅光子集成芯片(PIC)可包括光波导(WG)总线(即,一组光WG)。WG总线中的每个WG在一对输入/输出节点之间传输光信号。在PIC设计期间,光WG的路径根据例如针对关键尺寸、最小化面积消耗等的设计规则自动地布置(例如,通过WG布局生成工具)。通常,生成的自动生成布局中的每条路径在其对应的输入/输出节点之间具有可能的最短长度和最少弯曲数量。然而,一些PIC设计要求WG总线中的WG是平衡的。为了本发明的目的,“平衡WG”是指使通过其中的光信号经受基本相同的传输损耗和相移的WG。本领域技术人员将认识到,通过WG的光信号的传输损耗和相移将取决于WG的长度和WG内弯曲的数目。也就是说,传输损耗和相移都是由长度和弯曲引起的。通常,如果需要平衡的WG,则自动生成布局(例如,如上所述,每条路径在其对应的输入/输出节点之间具有可能的最短长度和最少弯曲数量)。然后,手动改变一个或多个路径的长度和/或一个或多个路径中的弯曲数量,使得所有路径具有大致相同的长度和弯曲数量。理想情况下,进行WG平衡,不仅可以均衡传输损耗和相移,而且可以最小化传输损耗和相移。不幸的是,在考虑到这些目标的情况下手动更改布局的路径可能会非常耗时、不一致、容易出错等。
例如,图1A是示出示例性自动生成布局100的图,布局100示出WG总线的四个光WG的四条路径p1-p4。布局生成(例如,通过传统WG布局工具)在为每个路径布置第一和第二输入/输出节点之后执行(例如,参见路径p1-p4的第一输入/输出节点101.1-101.4,和路径p1-p4的第二输入/输出节点102.1-102.4)。如图所示,第一输入/输出节点101.1-101.4和第二输入/输出节点102.1-102.4已被布置,使得第一输入/输出节点全部在第一方向上对齐,并且使得第二输入/输出节点全部在垂直于第一方向的第二方向上对齐。对应的第一和第二输入/输出节点之间的路径的路由(routing)通常基于定向到CD(关键尺寸(criticaldimensions))等的设计规则,使得每个路径遵循在其第一和第二输入/输出节点之间具有可能的最少弯曲次数的最短路由。因此,至少路径的长度不同(例如,p4的长度大于p3的长度,p3的长度大于p2的长度,等等)。因此,如果根据此自动生成的布局来制造WG总线,则通过不同光WG的光信号将经受到不同量的传输损耗和相移。图1B是示出示例性手动修改布局100MR的图,其中WG总线的光WG的路径p1-p4已被手动重新路由以尝试平衡它们(即,尝试使它们在长度上都相等且具有相同数目的弯曲)而不移动输入/输出节点。虽然这些手动重新路由的路径p1-p4都具有相同数量的弯曲(即,九个弯曲),但是长度可能仍然不同,解决方案是随机的,路径p1-p4的长度较小和/或弯曲较少的替代解决方案是可能的。
鉴于上述,本文公开了一种设计系统、方法、软件工具等的实施例,用于自动生成指示WG总线的平衡光波导(WG)路径的布局。具体地,这些实施例可以使用网格(grid)来路由光WG的路径,这些路径分别在对应的第一和第二输入/输出节点之间延伸,并且在定义区域的边界内。这些实施例可以进一步自动地重新路由路径,以减少弯曲的长度和数量的任何差异(即,针对弯曲长度和弯曲数量平衡路径)而不过度增加这些路径中的弯曲长度或弯曲数量,并且进一步地不移动输入/输出节点或不超出先前建立的边界。例如,可以使用算法来执行路径的自动重新路由,所述算法采用迭代处理和与网格上的点的不同路径特定集合相关的各种交集运算(intersection operation)的结果,以确定何时何处向路径中插入附加的直线段和弯曲。最后,这些实施例可以生成指示光WG的平衡路径的布局。本文还公开了一种结构的实施例,所述结构包括具有平衡光WG的WG总线,并根据上述自动生成的布局制造。
更具体地,图2是示出计算机辅助设计(CAD)系统200的公开实施例的示意图。CAD系统200可以包括多个系统组件。这些系统组件可以包括但不限于一个或多个处理器250、一个或多个监视器260和一个或多个计算机可读存储介质210。系统组件可以通过系统总线201(如图所示)和/或通过有线或无线网络(未示出)互连。为了说明的目的,下面描述CAD系统200并在图2中说明为具有单个处理器和单个存储介质。然而,应当理解,图2并非意在限制。或者,CAD系统200可以包括用于在设计流程中执行一个或多个不同过程的多个处理器和/或多个存储介质,这些存储介质可由处理器访问,并且存储用于在设计流程中执行不同过程的所需数据、软件工具等。
存储介质210可存储电子设计自动化(EDA)工具230(例如,专用软件程序)。每个EDA工具230包括可由处理器250执行的程序指令,以使处理器250执行计算机辅助设计流程中的过程步骤。由存储介质210存储并可由处理器250访问的EDA工具230中的至少一个可以是新型波导(WG)布局生成工具231(在本文中也称为WG布局生成器),如下面更详细地描述的。
存储介质210还可以存储一般设计信息240,在执行过程步骤期间,一个或多个EDA工具230可以访问和使用这些信息。设计信息240可以是例如工艺设计套件(PDK)的形式。在任何情况下,设计信息240可以包括但不限于特定技术节点的技术文件、特定技术节点的设计规则组、各种数据库等。本领域技术人员将认识到,通常,特定技术节点的技术文件是指定义特定制造工艺的特定技术节点中可用的层和设备的文件以及特定技术节点的通用物理和电气规则。特定技术节点的设计规则组是指设计规则的离散集合(也称为运行集合(run set))。每个规则组包括一组适用于设计流程中一个或多个特定工艺的设计规则。设计规则是根据与所讨论的特定技术节点相关联的工艺假设以及根据这些工艺假设可能发生的各种失效机制来确定的。
存储介质210还可以存储可由处理器250访问的硅光子集成电路(PIC)或其部分的初步设计220(例如,示意图或基本图)。所述初步设计220展示了至少一个具有多个光WG的波导(WG)总线,通过设计,这些光WG应该是平衡的。例如,这种示意图或基本图可以通过图形符号来显示WG总线的连接和功能,而不考虑实际的物理布局。如前所述,存储在存储介质210上并且可由处理器250访问的EDA工具230中的一个可以是新型波导(WG)布局生成工具231(本文也称为WG布局生成器)。WG布局生成器231可以包括用于WG布局生成的程序指令,并且具体地包括用于自动生成布局的程序指令,所述布局将指示WG总线的平衡光WG的路径。
因此,在公开的系统200中,处理器250可以执行WG布局生成器231的程序指令,从而使处理器250自动生成布局,所述布局表示PIC设计220中引用的WG总线的光波导(WG)的路径,以确保光WG将基本上平衡,以获得最小的传输损耗和相移。即,当根据布局制造WG总线时,通过光WG的光信号将经受基本相同的传输损耗和相移,并且传输损耗和相移将最小化。
具体而言,处理器250可以从存储介质210访问PIC设计220(或其显示WG总线的部分)。基于设计220,处理器250可以分别为WG总线的光WG路由(即,建立布置)路径(例如,参见图3中所示的示例性路径p1-p4)。为了便于说明,图中示出了用于四个光WG的四条路径;然而,应当理解,取决于PIC设计220,WG总线中的任意数量的两个或多个光WG可以有任意数量的两个或多个路径。
在任何情况下,为了路由路径p1-p4,处理器250可以形成以列和行排列的单元311的网格310(例如,笛卡尔网格)。单元311可以是正方形并且大小相同。为了测量路径的总长度,每个单元的边长可以对应于一个长度单位(UL),这一个UL应等于固定弯曲半径(BR)的两倍。为了本发明的目的,WG总线的光WG中的弯曲都可以具有相同的90度固定弧角(θ)、相同的固定BR和相同的固定弧长(S)。θ、BR和S可以在设计信息240或设计220中指定。网格310的外线可以定义矩形区域的侧边界,路径p1-p4将在所述矩形区域内被路由(例如,参见顶侧边界321、左侧边界322、底侧边界323和右侧边界324)。最后,网格310内的列和行的数目可以定义所述矩形区域的大小(即,分别以UL测量的宽度和长度)。
处理器250可以将每个光WG的第一和第二输入/输出节点分别布置在网格310上。可以执行第一和第二输入/输出节点布置,使得用于光WG的第一输入/输出节点301.1-301.4(以分别用于路径p1-p4)布置在矩形区域的一个侧边界上的不同网格点处,并且使得用于光WG的第二输入/输出节点302.1-302.4(以分别用于路径p1-p4)布置在矩形区域的相邻侧边界的不同网格点处,其垂直于具有第一输入/输出节点301.1-301.4的侧边界。例如,第一输入/输出节点301.1-301.4可以布置在顶侧边界321上的不同网格点处,第二输入/输出节点302.1-302.4可以布置在左侧边界322上的不同网格点处。第一输入/输出节点301.1-301.4在网格310的顶侧边界321上的布置和(特别是)间距,以及第二输入/输出节点302.1-302.4在左侧边界322上的布置和(特别是)间距,可以基于设计220以及设计信息240中的设计规则(例如,指定CD的设计规则)。因此,第一输入/输出节点301.1-301.4的节距可以与第二输入/输出节点302.1-302.4的节距相同或不同(例如,小于或大于)。例如,如图所示,第一输入/输出节点301.1-301.4具有比第二输入/输出节点302.1-302.4(例如,12UL节距)更小的节距(例如,1UL节距)。如上所述,每个UL等于网格310内的一个单元311的边长。从左到右顺序的每个第一输入/输出节点301.1-301.4可以与从上到下顺序的第二输入/输出节点302.1-302.4配对。因此,用于每个光WG的每对第一和第二输入/输出节点之间的间隔距离将逐渐变大。例如,如图3所示,用于第一光WG的第一和第二输入/输出节点301.1/302.1将具有最短的间隔距离;用于第二光WG的第一和第二输入/输出节点301.2/302.2将具有下一个最短的间隔距离;以此类推,用于第四光WG的第一和第二输入/输出节点301.4/302.4具有最长的间隔距离。
在第一和第二输入/输出节点布置之后,处理器250可以为网格310上的光WG路由路径p1-p4,使得每个路径分别在对应的第一和第二输入/输出节点之间延伸。也就是说,可以路由路径,使得第一路径p1在第一和第二输入/输出节点301.1-302.1之间延伸,使得第二路径p2在第一和第二输入/输出节点301.2-302.2之间延伸,依此类推。这些路径p1-p4可以被路由,使得它们与网格310的垂直线和水平线对齐并沿着网格310的垂直线和水平线延伸,其中每个路径通常遵循在其第一和第二输入/输出节点之间具有最少数量的90度转弯的最短路由。
应当理解,路由的执行使得路径不相互交叉,并且不违反临界距离设计规则(例如,使得路径保持至少最小间隔距离的间隔)。还应注意,在路由期间,网格310上的路径的每90度转弯对应于光WG中的一个弯曲。也就是说,如上所述,虽然光WG中的实际弯曲将具有弧角(θ)、相同的固定弯曲半径(BR)和相同的固定弧长(S),但是为了降低路由期间的复杂性,这些弯曲被折推(snapped)到单元角。因此,例如,如图3所示,第一和第二输入/输出节点301.1-302.1之间的路径p1具有4UL的长度和表示一个弯曲的一个90度转弯。第一和第二输入/输出节点301.2-302.2之间的路径p2具有17UL的长度和表示一个弯曲的一个90度转弯。第一和第二输入/输出节点301.3-302.3之间的路径p3具有30UL的长度和表示一个弯曲的一个90度转弯。最后,第一和第二输入/输出节点301.4-302.4之间的路径p4具有42UL的长度和表示一个弯曲的一个90度转弯。因此,虽然路径p1-p4具有相同数量的90度转弯(即弯曲),但是它们具有不同的长度。
如图4所示,处理器250可以进一步自动重新路由路径p1-p4,以减少路径之间的总长度和弯曲总数的任何差异,然后生成指示用于光WG的平衡路径bp1-bp4的布局400。为了本公开的目的,“平衡路径”是指路径的长度全部在预设阈值长度差内(例如,小于1UL的长度差(理想情况下)、小于2UL的长度差、小于3UL的长度差等)并且路径中的弯曲数量全部相等(例如,弯曲数量的差值为0)的路径。
具体地,处理器250可以在不移动第一和第二输入/输出节点以及不超出定义边界的情况下,将每个等于一个UL的附加直线段和/或附加弯曲插入到至少一个路径中。在路径中插入附加的直线段和/或附加的弯曲将创建平衡路径。用于确定何时和何处自动插入附加直线段和/或附加弯曲的技术和特别是用于确定何时和何处自动插入附加直线段和/或附加弯曲的算法具体地确保平衡路径bp1-bp4在与路径p1-p4相同的第一和第二输入/输出节点的对应对301.1/302.1、301.2/302.2、301.3/302.3、301.4-302.4之间延伸,位于网格310的相同定义边界321-324内,并且在长度和相同弯曲数量上具有最小差异(如果有的话)。此外,所述技术可用于实现每条路径可能的最短长度和/或最少数量的弯曲。
更具体地,为了平衡路径p1-p4(例如,如图3所示)的长度和弯曲数量,以及为了生成具有平衡路径bp1-bp4的布局400(例如,如图4所示),处理器250可以在给定以下数据集、整数和适用于其的规则的情况下以迭代方式重新路由路径p1-p4:
数据集和整数:
P是所有路径pi的集合(最初按长度索引,使得p1是路径的最短路径,p|P|是最长路径)。
Ai是路径pi上所有网格点的集合。Bi是路径pi上所有弯曲(即90度转弯或转角)的集合。
Si是选定单元(即,选定的正方形所以|Si|=4)的所有网格点的集合,它可以位于路径pi上并在为Bi元素的弯曲b中延伸。
K是最弯曲路径中的弯曲数量与路径pi中的弯曲数量之差ki的集合。
|P|是实际路径数。
li是以长度单位(UL)表示的最长路径的长度与路径pi的长度之差。
ki是最弯曲路径中的弯曲数量与路径pi中的弯曲数量之差。
规则:
规则1:路径长度差异更新:XOR(Bi,Si)通过2x(3-|Ai∩Si|)更新li;
规则2:|Bi∩Si|下限/上限:|Ai∩Si|-2≤|Bi∩Si|≤|Ai∩Si|;
规则3:弯曲路径数更新:XOR(Bi,Si)通过2x(2-|Bi∩Si|)更新|Bi|。
因此,对于正在考虑的任何特定路径pi,可以应用上述规则以便将附加直线段和/或附加弯曲插入到网格310上的特定路径pi中,并且这些插入将基于特定路径上的所有网格点的集合(即,集合Ai)和具有与特定路径中的至少一个弯曲对齐的至少一个角的特定单元的所有角的集合(即集合Si)之间的交集运算以及特定路径中的所有弯曲的集合(即集合Bi)和特定单元的所有角的集合(即同一集合Si)之间的交集运算的结果。
例如,当特定路径pi的长度与最长路径的长度之差大于1时(即,当li>1时),则处理器250可以重新路由特定路径pi以两种方式之一增加其长度:(a)调整类型1,路径长度增加而不增加路径内的弯曲数量(如果可能),如图5A-图5B所示;或者(b)调整类型2,路径中的长度和弯曲数量增加(如有必要),如图6A-图6B所示。具体地,当li>1时,应用规则1和3以识别可用于增加特定路径pi(例如,最短路径)的长度而不增加特定路径pi中的弯曲数量的特定单元。也就是说,可以扫描特定路径pi以尝试识别(即,查找、定位等)特定单元(本文中称为第一单元501),所述特定单元具有与特定路径pi中的至少一个弯曲对齐的至少一个角并且满足第一条件的集合。所述第一条件的集合可包括:特定路径上的所有网格点的集合与第一单元501的所有角的集合之间的交集等于2;并且特定路径pi中的所有弯曲的集合与第一单元501的所有角的集合之间的交集(intersection)也等于2(即,|Ai∩Si|=2∧|Bi∩Si|=2)。如果识别出这样的第一单元501(如图5A所示),则处理器250可围绕第一单元501拖动(drag)(即,移动、拉动等)特定路径pi,以有效地将两个附加的直线段插入到路径中,以将UL的总数增加2,同时保持弯曲的总数恒定(如图5B所示)。然而,如果没有识别到如上所述的第一单元501,则增加特定路径pi(例如,最短路径)的长度仍然是可能的。具体地,可以扫描特定路径pi以尝试识别(即,查找、定位等)另一特定单元(在本文中称为第二单元602),其具有与特定路径中的至少一个弯曲对齐的至少一个角并且满足第二条件的集合。第二条件的集合可包括:特定路径上所有网格点的集合与第二单元的所有角的集合之间的交集等于2;并且特定路径中所有弯曲的集合与第二单元的所有角的集合之间的交集等于1(即,|Ai∩Si|=2∧|Bi∩Si|=1)。如果识别出这样的第二单元602(如图6A中所示),则处理器250可围绕第二单元602拖动(即,移动、拉动,等)特定路径pi,以有效地将两个附加的直线段和两个附加的弯曲插入到路径中,以将UL的总数增加两个,并且还将弯曲的总数增加两个(如图6B所示)。
此外,当特定路径pi具有比最弯曲路径少的弯曲(即,当max(K)>ki时),则处理器250可以通过使用调整类型3来重新路由路径以增加特定路径pi中的弯曲数量,其中路径中的弯曲数量增加而不增加路径的长度(如果可能),如图7A-图7B所示。具体地,当max(K)>ki时,处理器250可以扫描特定路径pi以尝试识别(即,找到、定位等)特定单元703(在本文中称为第三单元),单元703具有与特定路径pi中的至少一个弯曲对齐的至少一个角并且满足第三条件的集合。第三条件的集合可以包括:特定路径上的所有网格点的集合与第三单元的所有角的集合之间的交集等于3;并且特定路径中所有弯曲的集合与第三单元的所有角的集合之间的交集等于1(即|Ai∩Si|=3∧|Bi∩Si|=1)。如果识别出这样的第三单元703(如图7A所示),则处理器250可围绕第三单元703拖动(即,移动、拉动等)特定路径pi,以有效地将两个附加的弯曲插入路径中,以将路径中的弯曲总数增加两个,同时保持UL的总数恒定(如图7B所示)。
应注意,当li>1和/或max(K)>ki,但在定义区域的边界内没有足够的空间来执行如上所述必要的重新路由(即,通过在满足条件的集合的已识别单元周围拖动特定路径pi,以增加特定路径pi内的长度和/或弯曲数量),中间重新路由可以通过使用调整类型4来完成,以便在不改变UL总数或弯曲总数的情况下简单地移动特定路径pi,从而在矩形区域内为进一步的路径路由改变提供额外的空间,如图8A-图8B所示。例如,处理器250可以扫描特定路径pi以尝试识别(即,查找、定位等)另一特定单元804(本文称为第四单元),单元804具有与特定路径中的至少一个弯曲对齐的至少一个角并且满足第四条件的集合。第四条件的集合可以包括:特定路径上所有网格点的集合与第四单元的所有角的集合之间的交集等于3,并且特定路径中所有弯曲的集合与第四单元804的所有角的集合之间的交集等于2(即,|Ai∩Si|=3∧|Bi∩Si|=2)。如果识别出这样的第四单元804(如图8A所示),则处理器250可以围绕第四单元804拖动(即,移动、拉动等)特定路径pi,从而移动特定路径pi的部分,同时保持长度单位总数和弯曲总数不变(如图8B所示)
可选地,处理器250还可以自动重新路由路径p1-p4,以通过使用调整类型5来减少路径之间的总长度和弯曲总数的任何差异,以移除部分特定路径pi(例如,最长路径),如图9A-图9B所示。例如,处理器250可以扫描特定路径pi以定位另一特定单元905(在本文中称为第五单元),其具有与特定路径pi中的至少一个弯曲对齐的至少一个角并且满足第五条件,包括:特定路径pi上所有网格点的集合与第五单元905的所有角的集合之间的交集等于4,并且特定路径pi中所有弯曲的集合与第五单元905的所有角的集合之间的交集等于2,3或4(即,|Ai∩Si|=4∧|Bi∩Si|=2,3or4)。如果找到这样的第五单元905(如图9A所示),则处理器250可以将特定路径pi拖离第五单元905,以便将其拉到单元的一侧而不是被三侧缠绕,从而将长度减少2,并且根据|Bi∩Si|的值,减少或保持弯曲的总数(如图9B所示)。具体来说,如果|Ai∩Si|=4∧|Bi∩Si|=3(参见示例A),则特定路径pi的长度减少2,弯曲的总数减少2。如果|Ai∩Si|=4∧|Bi∩Si|=2(参见示例B),则特定路径pi的长度增加2,并且保持弯曲的总数。如果|Ai∩Si|=4∧|Bi∩Si|=4(参见示例C),则特定路径pi的长度减少2,弯曲的总数减少4。
上述路径调整操作可在迭代处理期间应用,以确定何时何处自动插入附加直线段和/或附加弯曲(或如果适用,移除直线段和/或附加弯曲)。
例如,在示例性实施例中,当路径p1-p4具有不同长度和/或不同数量的弯曲时,处理器250可以评估路径p1-p4并调整路径以如下方式平衡长度和/或弯曲数量。处理器250可以应用调整类型1来增加较短路径的长度,而不增加较短路径中的弯曲数量,如果可能的话。调整类型1可以执行,直到第二最长路径的长度达到平衡,或者由于空间不足而无法进行进一步调整。如果最初不可能应用调整类型1,则处理器250可以应用调整类型2以增加较短路径的长度以及较短路径中的弯曲的数量。处理器250然后可以应用调整类型1,直到第二最长路径的长度平衡,或者由于空间不足而不能对长度进行进一步的调整。一旦第二最长路径的长度达到平衡,或者由于空间不足而不能进行进一步的调整,处理器250就可以应用调整类型3来向那些弯曲比最弯曲路径少的路径添加弯曲,直到所有路径具有相同的弯曲数量,或者由于空间不足而不能进行进一步的调整。处理器250可以进一步确定当前是否需要附加的空间来进行调整,如果需要,则可以应用调整类型4来重构一个或多个路径,而不增加路径的长度或路径中的弯曲的数量。处理器250然后可以迭代地重复这些步骤,直到所有路径对于长度和弯曲的数量是平衡的。
图10A-图10E进一步说明用于路径p1-p4的自动重新路由的示例性迭代处理。
具体地,从图10A开始,处理器250可以确定路径p1-p4都具有不同的长度,并且因此可以发起用于自动重新路由的迭代处理以平衡路径。由于调整类型1最初不可能,因此处理器250可以应用调整类型2以将较短路径(即p1-p3)的长度增加两个UL,并且还将那些路径中的弯曲的数量增加2。处理器250然后可以重复地将调整类型1应用于较短路径(即p1-p3)以增加那些路径的长度而不进一步增加弯曲的数目,直到第二最长路径(即p3)的长度平衡(即,具有与最长路径p4相同的长度)。处理器250然后可以应用调整类型3来向路径p4添加弯曲,路径p4是唯一具有比其它路径更少弯曲数量的路径(参见图10B)。
在下一次迭代中,处理器250可以确定仍然存在具有不同长度的路径,特别是路径p1-p2仍然短于最长路径(现在是p3和p4),并重复上述过程步骤。具体地,从图10B开始并转到图10C,处理器250可以根据需要应用调整类型1和2,增加路径p1和p2的长度以及路径p1和p2中的弯曲的数量。然后,处理器250可以应用调整类型3来向路径p3和p4添加弯曲,而不增加路径p3和p4的长度,从而使所有路径具有相同数量的弯曲(参见图10C)。
在下一次迭代中,处理器250可以确定仍然存在具有不同长度的路径,特别是路径p1仍然短于最长路径(现在是p2-p4),并重复上述过程步骤。具体地,从图10C开始并转到图10D,处理器250可以根据需要应用调整类型1和2,增加路径p1的长度以及路径p1中的弯曲的数量。处理器250可以进一步确定路径p2-p4都具有较少的弯曲,但是没有足够的空间可用于向路径p3或p4添加弯曲。因此,处理器250可以应用调整类型3来向路径p2添加弯曲,并且可以应用调整类型4来改造路径p3和p4(参见图10D)。
在下一次迭代中,处理器250可以确定仍然存在具有不同长度的路径,特别是路径p1仍然比最长路径(现在是p2-p4)短,并重复上述过程步骤。具体地,从图10D开始并转到图10E,处理器250可以应用调整类型1来进一步增加路径p1的长度而不增加路径p1内的弯曲的数目。处理器250还可以确定路径p3和p4仍然具有较少的弯曲,并且可以应用调整类型3来向路径p3和p4添加弯曲而不增加其各自的长度(参见图10E)。因此,图10E所示的路径对于长度和弯曲的数量都是平衡的(即,平衡路径bp1-bp4)。
应该理解,重新路由的执行使得路径不相互交叉并且不违反临界距离设计规则(例如,使得路径保持至少最小间隔距离的间隔)。
还应注意,用于WG总线的设计中的光WG可以是同质WG。也就是说,它们可以完全由相同的材料制成(即,在相同的掩模层次(mask level))。例如,它们可以是硅WG、氮化硅WG或任何其他合适的光WG材料的WG。或者,用于WG总线的设计中的光WG可以是异质WG。也就是说,设计可以表明WG应该包括用不同WG材料制成的不同部分(即,在不同的掩模层次上制成)。例如,每个WG可以包括硅部分和氮化硅部分。在这种情况下,处理器250还可以平衡不同部分中的长度和弯曲数量的路径。具体地,处理器250可以首先对路径中的总长度和弯曲总数执行平衡(如上面讨论的和图10A-图10E所示)。然后,对于具有不同材料(即,主要材料或第一材料381和第二材料382)的不同部分,处理器250例如可以通过以下方式进行:首先将平衡路径bp1-bp4与主要材料381相关联;确定不同部分的不同长度(即,具有主要材料的部分的第一长度和具有第二材料的部分的第二长度);以及在每个路径中,用第二材料382替换相同数量的等长直线段的第一材料381,以实现每个路径中第一材料381的第一长度和第二材料382的第二长度(如图11所示)。应当理解,图11及其讨论并不意在限制。对于具有异质光WG的WG总线,可以执行类似的平衡,WG具有由两种以上不同材料制成的不同部分。
在任何情况下,一旦已经实现平衡路径bp1-bp4,处理器250可以生成修改后的布局300R(如图4所示)。修改后的布局300R的生成包括从网格单元311的角不折推(unsnapping)每个路径中的弯曲,使得弯曲具有相同的弧角(θ)(例如,90度)、相同的固定BR和相同的固定弧长(S)。也就是说,处理器250可以重塑所有平衡路径bp1-bp4内的所有90度转弯,以形成具有相同弧角(θ)(例如,90度)、相同固定BR和相同固定弧长(S)的曲线状弯曲。由于每个网格单元311的边长是固定BR的两倍,因此以这种方式不折推弯曲将减少路径bp1-bp4的长度,但是所有路径的长度将减少完全相同的量,因为每个路径bp1-bp4具有相同的弯曲数量。因此,路径上的任何长度差将保持在设置的阈值长度差内(例如,1UL内、2UL内等)。
应当注意的是,尽管上文参照定义的矩形区域描述了所公开的技术,其中第一和第二输入/输出节点被布置在顶侧和左侧边界上,但是输入/输出节点被布置在不同的相邻侧边界上的所有其他情况(例如,底侧和右侧边界等)可以视为这种基本情况的旋转或级联复合(cascaded composite)。
因此,当根据如上所述由公开的系统200自动生成的布局(例如,修改的布局300R)制造WG总线时,通过不同光WG的任何光信号将经受到基本等量的传输损耗和相移。此外,传输损耗和相移的量将被最小化,因为布局中提出的解决方案将是最优的,平衡路径bp1-bp4相对较短且弯曲较少。
参考图12的流程图,本文还公开了用于自动生成波导(WG)总线布局的设计方法的实施例,波导(WG)总线具有平衡的路径,以实现基本相等且最小的传输损耗和相移。
具体而言,所述方法可以包括由处理器250从存储介质210访问硅光子集成电路(PIC)或其部分的初步设计220(例如,示意图或基本图),所述硅光子集成电路或其部分包括至少一个具有多个光WG的波导(WG)总线,根据设计,这些光WG应该是平衡的(参见过程步骤1202)。所述方法还可以包括用于WG总线的光WG的路由路径(参见过程步骤1204和图3中所示的示例性路径p1-p4),自动地重新路由路径以平衡路径的长度和路径中的弯曲的数量(参见过程步骤1214),以及生成指示WG总线的光WG的平衡路径的布局(例如,参见具有平衡路径bp1-bp4的图4的示例性修改布局300R)。为了便于说明,图中示出了用于四个光WG的四条路径;然而,应当理解,取决于PIC设计220,WG总线中的任意数量的两个或多个光WG可以有任意数量的两个或多个路径。
更具体地,处理步骤1204可以包括形成单元311的网格310(例如,笛卡尔网格),单元311排列成列和行(参见过程步骤1206)。单元311可以是正方形并且大小相同。为了测量路径的总长度,每个单元的边长可对应于一个长度单位(UL),并且这一个UL应等于固定弯曲半径(BR)的两倍(如上文关于系统实施例所讨论)。网格310的外线可以定义矩形区域的侧边界,路径p1-p4将在矩形区域内被路由(例如,参见顶侧边界321、左侧边界322、底侧边界323和右侧边界324)(参见过程步骤1208)。最后,网格310内的列和行的数目可以定义此矩形区域的大小(即,分别以UL测量的宽度和长度)。
过程步骤1204还可以包括分别将每个光WG的第一和第二输入/输出节点布置在网格310上(参见过程步骤1210)。可以在过程步骤1210处执行第一和第二输入/输出节点布置,使得用于光WG的第一输入/输出节点301.1-301.4(以分别用于路径p1-p4)被布置在矩形区域的一侧边界(例如,顶侧边界321)上的不同网格点处,并且使得用于光WG的第二输入/输出节点302.1-302.4(以分别用于路径p1-p4)被布置在矩形区域的相邻侧边界(例如,左侧边界322)的不同网格点处,其垂直于具有第一输入/输出节点301.1-301.4的侧边界。
过程步骤1204还可以包括用于沿着网格310的光WG的路由路径p1-p4,使得每个路径分别在对应的第一和第二输入/输出节点之间延伸(参见过程步骤1212)。这些路径p1-p4可以被路由,使得它们与网格310的垂直线和水平线对齐并且沿着网格310的垂直线和水平线延伸,其中每个路径通常遵循在其第一和第二输入/输出节点之间具有最少数量的90度转弯的最短路由。应当理解,在步骤1204执行路由,使得路径不相互交叉并且不违反临界距离设计规则(例如,使得路径保持至少最小间隔距离的间隔)。还应注意,在过程步骤1204的路由期间,网格310上的路径的每90度转弯对应于光WG中的一个弯曲。也就是说,如上所述,虽然光WG中的实际弯曲将具有弧角(θ)、相同的固定弯曲半径(BR)和相同的固定弧长(S),但是为了降低路由期间的复杂性,这些弯曲被折推到单元角。
在过程步骤1204之后,路径p1-p4可以自动重新路由,以减少路径之间的总长度和弯曲总数的任何差异(参见过程步骤1214)。为了本公开的目的,“平衡路径”是指路径的长度全部在预设阈值长度差内(例如,小于1UL的长度差(理想情况下)、小于2UL的长度差、小于3UL的长度差,等),并且路径中的弯曲数量都相等(即弯曲数量之差为0)。自动重新路由路径的过程步骤1214可包括在不移动第一和第二输入/输出节点且不落在所定义的边界之外的情况下,将每个等于一个UL的附加直线段和/或附加弯曲插入到路径中的至少一个中。在路径中插入附加的直线段和/或附加的弯曲将创建平衡路径。
在过程1214中用以确定何时何处自动插入附加直线段和/或附加弯曲所使用的技术以及(特别是)算法是采用特定的调整操作(例如,参见图5A-图5B至图9A-图9B中所示的调整类型1-5)。如上文关于CAD系统200更详细地讨论的,这些调整操作基于适用于某些数据集合(例如P,Ai,Si,K)和特定整数(例如,|P|,li,pi,和ki)的特定规则(例如,规则1-3)。所述技术进一步迭代地应用这些调整操作。
例如,当路径p1-p4具有不同长度和/或不同的弯曲数量时,可以评估路径p1-p4,并且可以如下调整路径中的长度和/或弯曲数量。如果可能的话,可以应用调整类型1来增加较短路径的长度,而不增加较短路径中的弯曲数量(参见过程步骤1216)。可以执行调整类型1,直到第二最长路径的长度达到平衡,或者由于空间不足而无法进行进一步调整。如果最初不可能应用调整类型1,则可以应用调整类型2来增加较短路径的长度以及较短路径中的弯曲数量(参见过程步骤1218)。然后,可以应用调整类型1,直到第二最长路径的长度达到平衡,或者由于缺少空间而不能对长度进行进一步的调整(参见过程步骤1216)。一旦第二最长路径的长度达到平衡,或者由于空间不足而无法进行进一步的调整,则可以应用调整类型3向那些弯曲少于最弯曲路径的路径添加弯曲,直到所有路径具有相同的弯曲数量,或者由于空间不足而无法进行进一步的调整(参见过程步骤1220)。可以确定当前是否需要附加的空间来进行调整,如果需要,可以应用调整类型4来改造一个或多个路径,而不增加路径的长度或路径中的弯曲数量(参见过程步骤1222)。然后可以迭代地重复过程1216-1222,直到所有路径的长度和弯曲数量达到平衡。也就是说,直到平衡路径bp1-bp4在第一和第二输入/输出节点301.1/302.1、301.2/302.2、301.3/302.3301.4-302.4的相同对应对之间延伸,与路径p1-p4一样,在网格310的相同定义边界321-324内,并且在长度和相同数量的弯曲方面具有最小差异(如果有的话)。
另见图10A-图10E和上面的详细讨论,进一步说明了调整操作的这种迭代应用。
应当理解,执行上述重新路由使得路径不相互交叉并且不违反临界距离设计规则(例如,使得路径保持至少最小间隔距离的间隔)。
还应注意,用于WG总线的设计中的光WG可以是同质WG。也就是说,它们可以完全由相同的材料制成(即,在相同的掩模层次)。例如,它们可以是硅WG、氮化硅WG或任何其他合适的光WG材料的WG。或者,用于WG总线的设计中的光WG可以是异质WG。也就是说,设计可以表明WG应该包括用不同WG材料制成的不同部分(即,在不同的掩模层次上制成)。例如,每个WG可以包括硅和氮化硅部分。在这种情况下,还可以针对不同部分中的的长度和弯曲数量来平衡路径。具体地,可以执行路径中的总长度和弯曲总数的平衡(如上面讨论的和图10A-图10E中所示)。然后,对于具有不同材料(即,主要材料或第一材料381和第二材料382)的不同部分,所述方法例如可以通过以下方式进行:首先将平衡路径bp1-bp4与主要材料381相关联;确定不同部分的不同长度(即,第一长度用于具有主要材料的部分,第二长度用于具有第二材料的部分);以及在每个路径中,用第二材料382替换相同数量的等长直线段的第一材料381,以实现每个路径中第一材料的第一长度和第二材料的第二长度(如图11所示)。应当理解,图11及其讨论并不意在限制。对于具有异质光WG的WG总线,可以执行类似的平衡,WG具有由两种以上不同材料制成的不同部分。
在任何情况下,一旦实现了平衡路径bp1-bp4(例如,如图10E所示),就可以生成修改后的布局300R(参见过程步骤1226和图4)。修改后的布局300R的生成可以包括从网格单元311的角不折推每个路径中的弯曲,使得弯曲具有相同的弧角(θ)(例如,90度)、相同的固定BR和相同的固定弧长(S)。也就是说,所有平衡路径bp1-bp4内的所有90度转弯都可以重塑,以形成具有相同弧角(θ)(例如,90度)、相同固定BR和相同固定弧长(S)的曲线状弯曲。由于每个网格单元311的边长是固定BR的两倍,因此以这种方式不折推弯曲将减少路径bp1-bp4的长度,但是所有路径的长度将减少完全相同的量,因为每个路径bp1-bp4具有相同的弯曲数量。因此,路径上的任何长度差将保持在设置的阈值长度差内(例如,1UL内、2UL内等)。
应当注意的是,尽管上文参照第一和第二输入/输出节点被布置在顶侧和左侧边界上的定义的矩形区域描述了所公开的技术,但是输入/输出节点被布置在不同的相邻侧边界上的所有其他情况(例如,底侧和右侧边界等)可以视为此基本情况的旋转或级联复合。
所述方法还可以包括根据自动生成的修改布局300R制造WG总线(参见过程步骤1228)。作为根据布局300R形成的结果,在WG总线操作期间,通过不同光WG的任何光信号将经受到基本等量的传输损耗和相移。此外,传输损耗和相移的量将被最小化,因为布局中提出的解决方案将是最优的,平衡路径bp1-bp4相对较短且弯曲较少。
参考图13A和13B,本文还公开了结构1390A、1390B(例如,硅光子集成电路(PIC)芯片)的实施例。结构1390A、1390B可以包括衬底1391,以及在衬底1391上具有多个光WG的波导(WG)总线1392A、1392B(例如,参见光WG bwg1-bwg4)。为了说明的目的,四个光WG示出在图13A和13B中;然而,应该理解,或者,WG总线中可以有任意数量的两个或更多WG。例如,光WG bwg1-bwg4可以是根据特定布局制造的WG,所述布局是由上述系统、方法或计算机程序产品实施例中的任何一个自动生成的,使得它们对于长度和弯曲的数量是平衡的,如下所述。
具体而言,WG总线1392A、1392B可以位于具有定义的边界1321-1324的矩形区域1310内。每个光WG的第一和第二输入/输出节点可以分别位于相邻的侧边界上。也就是说,分别用于光WG bwg1-bwg4的第一输入/输出节点1301.1-1301.4可以位于一侧边界上(例如,顶侧边界1321),分别用于光WG bwg1-bwg4的第二输入/输出节点1302.1-1302.4可以位于相邻的侧边界上(例如,左侧边界1322),其垂直于具有第一输入/输出节点1301.1-1301.4的侧边界。第一输入/输出节点1301.1-1301.4的节距可以与第二输入/输出节点1302.1-1302.4的节距相同或不同(例如,小于或大于)。对于每个光WG,在每对第一和第二输入/输出节点之间的间隔距离是不同的,并且对于每个光WG,间隔距离逐渐增大。例如,如图所示,用于第一光WG bwg1的第一和第二输入/输出节点1301.1/1302.1被最短距离隔开;用于第二光WG bwg2的第一和第二输入/输出节点1301.2/1302.2被下一最短间隔距离隔开;以此类推,用于第四光WG bwg4的第一和第二输入/输出节点1301.4/1302.4被最长间隔距离隔开。
光WGs bwg1-bwg4可以分别在对应的第一和第二输入/输出节点之间延伸。也就是说,第一光WG bwg1可以在第一和第二输入/输出节点1301.1/1302.1之间延伸;第二光WGbwg2可以在第一和第二输入/输出节点1301.2/1302.2之间延伸;第三光WG bwg3可以在第一和第二输入/输出节点1301.3/1302.3之间延伸;并且第四光WG bwg4可以在第一和第二输入/输出节点1301.4/1302.4之间延伸。此外,这些光WG bwg1-bwg4中的每一个可以包括直线段和弯曲的不同组合,以便它们在长度和弯曲的数量上保持平衡。也就是说,使得路径bwg1-bwg4的长度都在预设的阈值长度差内(例如,小于1个长度单位(UL)的长度差(理想情况下)、小于2UL的长度差、小于3UL的长度差等),并使路径中的弯曲数量相等(即弯曲数量之差为0)。
应当理解,光WG bwg1-bwg4彼此不交叉,并且不违反临界距离设计规则(例如,路径至少被最小间隔距离隔开)。此外,应当注意,WG总线1392A或1392B的光WG bwg1-bwg4中的弯曲都可以具有相同的90度固定弧角(θ)、相同的固定BR和相同的固定弧长(S)。此外,上面讨论的每个长度单位(UL)可以等于固定BR的两倍。
在任何情况下,由于WG总线1390A、1390B是根据由上述任何系统、方法或计算机程序产品实施例自动生成的布局制造的,在被最长距离隔开的第一和第二输入/输出节点之间延伸的至少一个特定光WG可以包括直线段和弯曲的特定组合,并且所述特定组合可以包括具有阶梯形状的弯曲的级联。所述相同的光WG还可以包括所有光WG bwg1-bwg4的所有直线段中的最长的单个直线段,其沿着矩形区域的一侧边界从其第一输入/输出节点延伸到弯曲级联的第一端。在一些实施例中,附加直线段可以从其第二输入/输出节点沿着相邻侧边界延伸到弯曲级联的第二端。在其他实施例中,弯曲级联的第二端可以连接到第二输入/输出节点。
例如,如图13A和图13B所示,光WG bwg4在第一和第二输入/输出节点1301.4/1302.4之间延伸,其被所有第一和第二输入/输出节点对的最长距离隔开。光WG bwg4包括直线段和弯曲的特定组合,包括具有阶梯形状的弯曲级联1370。在直线段和弯曲的组合内,同一光WG bwg4包括两个直线段。两个直线段包括所有光WG bwg1-bwg4的所有直线段中最长的单个直线段1371,其从光WG bwg4的第一输入/输出节点1301.4沿着矩形区域1310的右侧边界1324延伸到弯曲级联1370的第一端,以及附加直线段1372,其比直线段1371短并且从光WG bwg4的第二输入/输出节点1302.4沿着矩形区域1310的底侧边界1323延伸到弯曲级联1310的第二端。
还应注意,WG总线492A的光WG bwg1-bwg4可以是同质WG(参见图13A和结构1390A)。也就是说,它们可以完全由相同的材料制成(即,在相同的掩模层次)。例如,它们可以是硅WG、氮化硅WG或任何其他合适WG材料的WG。或者,WG总线1392B的光WG bwg1-bwg4可以是异质WG(参见图13B和结构1390B)。也就是说,在WG总线1392B中,光WG bwg1-bwg4可以包括由不同WG材料制成的不同部分。例如,每个光WG bwg1-bwg4可以包括硅部分和氮化硅部分。在这种情况下,该光WG bwg1-bwg4对于不同材料部分中的长度和弯曲的数量也是平衡的。也就是说,每个WG中的相同材料可以具有相同的总长度和相同的弯曲数量。例如,每个光WG bwg1-bwg4可以具有主要或第一材料区段1381和第二材料区段1382。在每个光WGbwg1-bwg4中,组合的主要第一区段1381和第二材料区段1382可以遵循在布局中列举的平衡路径。此外,每对第一材料区段1381可以由第二材料区段1382连接,所有第二材料区段1382只可以是直线的并且可以具有相同的长度,并且所有光WG bwg1-bwg4可以包括相同数量的第二材料区段1382。因此,每个WG的第一材料区段1381中的总长度和弯曲总数量将相同,并且类似地,每个WG的第二材料区段1382中的总长度和弯曲总数量将相同。
本文还公开了计算机程序产品的实施例。所述计算机程序产品可以包括计算机可读存储介质,所述计算机可读存储介质具有(例如,存储在所述计算机可读存储介质上)至少一个具有用于波导(WG)布局生成的程序指令的软件工具。用于波导布局生成的程序指令可由处理器读取,其可执行这些指令,以便执行上述用于自动生成指示WG总线的平衡光波导(WG)的路径的布局的方法。
更具体地,如上所述,本发明可以实现为系统或方法。另外,本发明的各态样(例如,控制器,如上所述)可以以计算机程序产品的形式实现。计算机程序产品可以包括在其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),用于使处理器执行本发明的各态样。
计算机可读存储介质可以是能够保留和存储指令以供指令执行设备使用的有形设备。计算机可读存储介质可以是,例如,但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备,或上述的任何适当组合。计算机可读存储介质的更具体示例的非详尽列表包括:便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备(如穿孔卡)或槽中的凸起结构(其上记录有指令),以及上述各项的任何适当组合。本文所使用的计算机可读存储介质不应被解释为瞬态信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤电缆的光脉冲)、或通过电线传输的电信号。
本文所述的计算机可读程序指令可经由网络(例如,因特网、局域网、广域网和/或无线网络)从计算机可读存储介质下载到各自的计算/处理设备或下载到外部计算机或外部存储设备。所述网络可包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在各个计算/处理设备内的计算机可读存储介质中。
用于执行本发明操作的计算机可读程序指令可以是汇编程序指令、指令集体系结构(ISA)指令、机器指令、机器相关指令、微码、固件指令、状态设置数据,或源代码或目标代码,编写在一个或多个编程语言的任何组合,包括面向对象的编程语言,如Smalltalk,C++等,和传统的程序设计语言,如“C”编程语言或类似的编程语言。计算机可读程序指令可以完全在用户计算机上执行,部分在用户计算机上执行,作为独立软件包,部分在用户计算机上执行,部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过包括局域网(LAN)或广域网(WAN)的任何类型的网络连接到用户的计算机,或者可以连接到外部计算机(例如,通过使用因特网服务提供商的因特网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以个人化电子电路,以便执行本发明的各个态样。
本文参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图图示和/或方框图来描述本发明的各个态样。应当理解,流程图图示和/或方框图的每个区块以及流程图图示和/或方框图中的区块的组合可以通过计算机可读程序指令来实现。
这些计算机可读程序指令可提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,以产生机器,使得通过计算机或其他可编程数据处理装置的处理器执行的指令创建实现流程图和/或方框图中指定的功能/动作的手段。这些计算机可读程序指令还可以存储在计算机可读存储介质中,该计算机可读存储介质可以指示计算机、可编程数据处理装置和/或其他装置以特定方式工作,使得具有存储在其中的指令的计算机可读存储介质包括制造物品,所述制造物品包括实现在流程图和/或方框图中指定的功能/动作的态样的指令。
计算机可读程序指令也可加载到计算机、其他可编程数据处理装置或其他设备上,以使在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或方框图中指定的功能/动作。
图中的流程图和方框图说明了根据本发明各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。就此而言,流程图或方框图中的每个区块可以表示指令的模块、段或部分,其包括用于实现指定逻辑功能的一个或多个可执行指令。在一些替代实现中,区块中标注的功能可能与图中标注的顺序不符。例如,连续示出的两个区块实际上可以基本上同时执行,或者有时可以根据所涉及的功能以相反顺序执行这些区块。还应注意,方框图和/或流程图的每个区块,以及方框图和/或流程图中的区块组合,可由基于专用硬件的系统实现,这些系统执行特定的功能或动作,或执行专用硬件和计算机指令的组合。
图14中描绘了用于实现所公开的系统和方法实施例的代表性硬件环境(即,计算机系统)。所述示意图示出了根据本文实施例的信息处理/计算机系统的硬件配置。所述系统包括至少一个处理器或中央处理单元(CPU)10。CPU 10通过系统总线12互连到各种设备,例如随机存取存储器(RAM)14、只读存储器(ROM)16和输入/输出(I/O)适配器18。I/O适配器18可以连接到外围设备,例如磁盘单元11和磁带驱动器13,或者系统可读的其他程序存储设备。系统可以读取程序存储设备上的发明指令,并遵循这些指令来执行本文实施例的方法。所述系统还包括用户接口适配器19,其将键盘15、鼠标17、扬声器24、麦克风22和/或诸如触摸屏设备(未示出)的其他用户接口设备连接到总线12以收集用户输入。另外,通信适配器20将总线12连接到数据处理网络25,并且显示适配器21将总线12连接到显示设备23,例如,显示设备23可以被实现为诸如监视器、打印机或发射器之类的输出设备。
应当理解,本文中使用的术语是为了描述所公开的结构和方法,而不是限制性的。例如,如本文所使用的,除非上下文另有明确指示,否则单数形式“一”、“一个”和“所述”也意图包括复数形式。此外,如本文所使用的,术语“包括”、“包含”、“包括有”和/或“包含有”指定所述特征、整数、步骤、操作、元素和/或组件的存在,但不排除一个或多个其他特征、整数、步骤、操作、元素、组件、和/或其组合的存在或添加。此外,如本文所使用的,诸如“右”、“左”、“垂直”、“水平”、“顶”、“底”、“上”、“下”、“下方”、“下面”、“底”、“上方”、“上面”、“平行”、“垂直”等术语,用于描述相对位置,如附图所示(除非另有说明),以及诸如“接触”、“直接接触”、“邻接”、“直接相邻”、“紧邻”等术语,旨在指示至少一个元件与另一元件物理接触(没有其他元件将所述元件分开)。本文使用术语“横向”来描述元件的相对位置,并且更具体地,指示一个元件位于另一个组件的侧面,而不是在另一个元件的上方或下方,因为这些元件在附图中被定向和示出。例如,与另一个元件横向相邻的一个元件将位于另一个元件旁边,与另一个元件横向紧邻的一个元件将直接位于另一个元件旁边,以及横向包围另一元件的一个元件将与另一元件的外侧壁相邻并与之接界。以下权利要求中所有手段或步骤加功能元件的对应结构、材料、动作和等效物旨在包括用于与具体要求保护的其他权利要求元件组合执行功能的任何结构、材料或动作。
本发明的各种实施例的描述是为了说明的目的而给出的,但并不打算穷尽或局限于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员将是显而易见的。选择本文中使用的术语是为了最好地解释实施例的原理、相对于市场中发现的技术的实际应用或技术改进,或者使本领域的普通技术人员能够理解本文中公开的实施例。
Claims (20)
1.一种方法,包括
通过处理器路由用于波导总线的光波导的路径,其中,所述路径在矩形区域的边界内被路由并且分别在对应的第一和第二输入/输出节点间延伸;
通过所述处理器自动重新路由所述路径,以减少总长度和弯曲总数的任一个的差异,其中,所述路径的所述自动重新路由包括将附加直线段和附加弯曲中的任一个插入到所述路径的至少一个中,以创建分别在所述对应的第一和第二输入/输出节点间延伸并且在所述边界内的平衡路径;以及
通过所述处理器生成指示所述光波导的所述平衡路径的布局。
2.根据权利要求1所述的方法,其中,减少所述总长度和所述弯曲总数的所述差异平衡了通过所述光波导传输的光信号的传输损耗和相移。
3.根据权利要求1所述的方法,其中,所述路径的所述路由包括:
形成由单元组成的网格,其中,所述单元呈正方形,且其中,每个单元的各侧对应于一个长度单位,并且是为所述光波导中的所有弯曲设置的固定弯曲半径的两倍;
沿所述网格上的线建立所述矩形区域的所述边界;
将用于所述光波导的所述第一和第二输入/输出节点布置在所述网格上,使得所有第一输入/输出节点位于所述矩形区域的一侧边界上的网格点处,且所有第二输入/输出节点位于所述矩形区域的相邻侧边界上的网格点处;以及
沿所述网格的线路由所述路径,使得第一输入/输出节点和第二输入/输出节点间的各路径表示具有最小数量的90度转弯的最短路由,其中,各90度转弯对应于一弯曲。
4.根据权利要求3所述的方法,其中,迭代地执行所述路径的所述重新路由,且其中,对于所考虑的任何特定路径,附加直线段插入和附加弯曲插入是基于所述特定路径上的所有网格点的集合与具有与所述特定路径中的至少一个弯曲对齐的至少一个角的已识别单元的所有角的集合间的交集运算以及所述特定路径中的所有弯曲的集合与所述已识别单元的所有角的所述集合间的交集运算的结果。
5.根据权利要求3所述的方法,
其中,所述路径的所述重新路由包括增加特定路径的长度,以及
其中,所述特定路径的所述长度的所述增加包括以下任意一个:
扫描第一单元,所述第一单元具有与所述特定路径中的至少一个弯曲对齐的至少一个角并且满足第一条件,所述第一条件包括:所述特定路径上的所有网格点的集合与所述第一单元的所有角的集合间的交集等于2,以及所述特定路径中的所有弯曲的集合与所述第一单元的所有角的集合间的交集等于2;
当所述第一单元被识别时,围绕所述第一单元拖动所述特定路径,以有效地在所述特定路径中插入两个附加直线段,使所述总长度增加两个长度单位,并保持所述弯曲总数不变;
当没有第一单元被识别时,扫描第二单元,所述第二单元具有与所述特定路径中的至少一个弯曲对齐的至少一个角并且满足第二条件,所述第二条件包括:所述特定路径上的的所有网格点的所述集合与所述第二单元的所有角的集合间的交集等于2,以及所述特定路径中的所有弯曲的所述集合与所述第二单元的所有角的所述集合间的交集等于1;以及
当所述第二单元被识别时,围绕所述第二单元拖动所述特定路径,以有效地将两个附加直线段和两个附加弯曲插入所述特定路径中,从而有效地将所述总长度增加两个长度单位,并将所述弯曲总数增加两个。
6.根据权利要求3所述的方法,
其中,所述路径的所述重新路由包括在特定路径中增加弯曲数量,以及
其中,所述特定路径中的所述弯曲数量的所述增加包括:
扫描第三单元,所述第三单元具有与所述特定路径中的至少一个弯曲对齐的至少一个角并且满足第三条件,所述第三条件包括:所述特定路径上的所有网格点的集合与所述第三单元的所有角的集合间的交集等于3,以及所述特定路径中的所有弯曲的集合与所述第三单元的所有角的所述集合间的交集等于1;以及
当所述第三单元被识别时,围绕所述第三单元拖动所述特定路径,有效地将两个附加弯曲插入所述特定路径中,以将所述弯曲总数增加两个并保持所述总长度不变。
7.根据权利要求3所述的方法,
其中,所述路径的所述重新路由包括移动特定路径以提供附加空间用于进一步的路径路由改变;以及
其中,所述特定路径的所述移动包括:
扫描第四单元,所述第四单元具有与所述特定路径中的至少一个弯曲对齐的至少一个角并且满足第四条件,所述第四条件包括:所述特定路径上的所有网格点的所述集合与所述第四单元的所有角的集合间的交集等于3,以及所述特定路径中的所有弯曲的所述集合与所述第四单元的所有角的所述集合间的交集等于2;以及
当所述第四单元被识别时,围绕所述第四单元拖动所述特定路径,以便在保持所述总长度和所述弯曲总数不变的同时,移动所述特定路径。
8.根据权利要求3所述的方法,其中,所述布局的所述生成包括在所有所述平衡路径内重塑所有90度转弯,以形成具有所述固定弯曲半径的曲线状弯曲。
9.一种系统,包括
存储介质,存储包括多个光波导的波导总线的示意图;以及
处理器,与所述存储介质通信;
其中,所述处理器访问所述示意图,并基于所述示意图,在矩形区域的边界内为所述光波导路由路径,其中,所述路径分别在第一和第二输入/输出节点间延伸;
其中,所述处理器还通过将附加直线段和附加弯曲中的任一个插入到所述路径的至少一个中,以自动地重新路由所述路径以减少总长度和弯曲总数中的任一个的差异,以在所述边界内创建分别在对应的第一和第二输入/输出节点间延伸的平衡路径;以及
其中,所述处理器还生成指示所述光波导的所述平衡路径的布局。
10.根据权利要求9所述的系统,其中,所述总长度和所述弯曲总数的所述差异的减少平衡了通过所述光波导传输的光信号的传输损耗和相移。
11.根据权利要求9所述的系统,其中,所述处理器通过下列步骤路由所述路径:
形成由单元组成的网格,其中,所述单元呈正方形,并且其中,每个单元的各侧对应于一个长度单位,并且是为所述光波导中的所有弯曲设置的固定弯曲半径的两倍;
沿所述网格上的线建立所述矩形区域的所述边界;
将用于所述光波导的所述第一和第二输入/输出节点布置在所述网格上,使得所有第一输入/输出节点位于所述矩形区域的一侧边界上的网格点处,且所有第二输入/输出节点位于所述矩形区域的相邻侧边界上的网格点处;以及
沿着所述网格的线路由所述路径,使得第一输入/输出节点和第二输入/输出节点间的每条路径表示具有最小数量的90度转弯的最短路由,其中,每个90度转弯对应于一弯曲。
12.根据权利要求11所述的系统,其中,所述处理器以迭代方式重新路由所述路径,并且其中,对于所考虑的任何特定路径,基于所述特定路径上的所有网格点的集合与具有与所述特定路径中的至少一个弯曲对齐的至少一个角的已识别单元的所有角的集合间的交集运算以及所述特定路径中的所有弯曲的集合与所述已识别单元的所有角的所述集合间的交集运算的结果,插入附加直线段和附加弯曲。
13.根据权利要求11所述的系统,其中,所述处理器通过下列步骤通过增加特定路径的长度以重新路由所述路径:
扫描第一单元,所述第一单元具有与所述特定路径中的至少一个弯曲对齐的至少一个角并且满足第一条件,所述第一条件包括:所述特定路径上的所有网格点的集合与所述第一单元的所有角的集合间的交集等于2,以及所述特定路径中的所有弯曲的集合与所述第一单元的所有角的所述集合间的交集等于2;
当所述第一单元被识别时,围绕所述第一单元拖动所述特定路径,有效地在所述特定路径中插入两个附加直线段,以将所述总长度增加两个长度单位,并保持所述弯曲总数不变;
当没有第一单元被识别时,扫描第二单元,所述第二单元具有与所述特定路径中的至少一个弯曲对齐的至少一个角并且满足第二条件,所述第二条件包括:所述特定路径上的所有网格点的集合与所述第二单元的所有角的集合间的交集等于2,以及所述特定路径中的所有弯曲的所述集合与所述第二单元的所有角的所述集合间的交集等于1;以及
当所述第二单元被识别时,围绕所述第二单元拖动所述特定路径,以有效地将两个附加直线段和两个附加弯曲插入所述特定路径中,从而有效地将所述总长度增加两个长度单位,并将所述弯曲总数增加两个。
14.根据权利要求11所述的系统,其中,所述处理器通过下列步骤通过在特定路径中增加弯曲数量以重新路由所述路径:
扫描第三单元,所述第三单元具有与所述特定路径中的至少一个弯曲对齐的至少一个角并且满足第三条件,所述第三条件包括:所述特定路径上的所有网格点的集合与所述第三单元的所有角的集合间的交集等于3,以及所述特定路径中的所有弯曲的集合与所述第三单元的所有角的所述集合间的交集等于1;以及
当所述第三单元被识别时,围绕所述第三单元拖动所述特定路径,有效地将两个附加弯曲插入到所述特定路径中,以将所述弯曲总数总数增加两个,并保持所述总长度不变。
15.根据权利要求11所述的系统,其中,所述处理器通过下列步骤通过移动特定路径以重新路由所述路径,以便为进一步的路径路由改变提供附加空间:
扫描第四单元,所述第四单元具有与所述特定路径中的至少一个弯曲对齐的至少一个角并且满足第四条件,所述第四条件包括:所述特定路径上的所有网格点的所述集合与所述第四单元的所有角的集合间的交集等于3,以及所述特定路径中的所有弯曲的所述集合与所述第四单元的所有角的所述集合间的交集等于2;以及
当所述第四单元被识别时,围绕所述第四单元拖动所述特定路径,以便在保持所述总长度和所述弯曲总数不变的同时,移动所述特定路径。
16.根据权利要求11所述的系统,其中,所述处理器通过重塑所有所述平衡路径内的所有90度转弯来生成所述布局,以形成具有所述固定弯曲半径的曲线状弯曲。
17.一种结构,包括:
衬底;以及
波导总线,位于所述衬底上并包括光波导;
其中,所述光波导分别在以不同距离隔开的对应的第一和第二输入/输出节点间延伸;
其中,所述光波导包括直线段和弯曲的不同组合,使得所述光波导的总长度在长度单位数量的阈值差内,并使得所述光波导中的弯曲总数相等;以及
其中,在第一和第二输入/输出节点间延伸的由最长距离隔开的一特定光波导包括直线段和弯曲的特定组合,而所述弯曲包括具有阶梯形状的弯曲级联。
18.根据权利要求17所述的结构,其中,直线段和弯曲的所述特定组合还包括所有所述波导的所有直线段的最长直线段,并且其中,所述最长直线段从第一输入/输出节点延伸到所述弯曲级联的第一端。
19.根据权利要求18所述的结构,其中,直线段和弯曲的所述特定组合还包括:从第二输入/输出节点延伸到所述弯曲级联的第二端的附加直线段。
20.根据权利要求17所述的结构,其中,所有所述波导中的所有弯曲都具有固定弯曲半径,并且其中,每个长度单位等于所述固定弯曲半径的两倍。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/146,509 | 2021-01-12 | ||
US17/146,509 US11500198B2 (en) | 2021-01-12 | 2021-01-12 | Waveguide bus with balanced optical waveguides and method, system, and software tool for automatic generation of a layout for the waveguide bus |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114764554A true CN114764554A (zh) | 2022-07-19 |
Family
ID=82116184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111505707.4A Pending CN114764554A (zh) | 2021-01-12 | 2021-12-10 | 波导总线及用于自动生成波导总线的布局的方法、系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11500198B2 (zh) |
CN (1) | CN114764554A (zh) |
DE (1) | DE102021130859A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115903136A (zh) * | 2023-01-10 | 2023-04-04 | 深圳华大九天科技有限公司 | 一种自适应生成多模板光波导版图的方法、装置及存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6219471B1 (en) * | 1999-01-15 | 2001-04-17 | Lucent Technologies Inc. | Optical device having equal length waveguide paths |
JP5619750B2 (ja) * | 2009-09-04 | 2014-11-05 | 古河電気工業株式会社 | 90度ハイブリッド |
CN102822707A (zh) * | 2010-03-17 | 2012-12-12 | 日本电气株式会社 | 光波导和光波导器件 |
US8627240B1 (en) * | 2012-06-28 | 2014-01-07 | International Business Machines Corporation | Integrated design environment for nanophotonics |
US10331842B2 (en) | 2014-12-16 | 2019-06-25 | Massachusetts Institute Of Technology | Methods and apparatus for automated design of semiconductor photonic devices |
CN112334804B (zh) | 2019-03-04 | 2022-10-11 | 华为技术有限公司 | 分光器芯片、分光器组件、分光器装置和光纤盒 |
US11474384B2 (en) * | 2020-04-02 | 2022-10-18 | HyperLight Corporation | Velocity matched electro-optic devices |
-
2021
- 2021-01-12 US US17/146,509 patent/US11500198B2/en active Active
- 2021-11-25 DE DE102021130859.3A patent/DE102021130859A1/de active Pending
- 2021-12-10 CN CN202111505707.4A patent/CN114764554A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115903136A (zh) * | 2023-01-10 | 2023-04-04 | 深圳华大九天科技有限公司 | 一种自适应生成多模板光波导版图的方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US11500198B2 (en) | 2022-11-15 |
US20220221714A1 (en) | 2022-07-14 |
DE102021130859A1 (de) | 2022-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3790679B2 (ja) | グラフデータ視覚化装置、グラフィックス作成方法、プログラム及び記憶媒体 | |
JP7098793B2 (ja) | 因果関係表示システム及び方法 | |
US6480991B1 (en) | Timing-driven global placement based on geometry-aware timing budgets | |
US7962879B2 (en) | VLSI artwork legalization for hierarchical designs with multiple grid constraints | |
US7197738B1 (en) | Method and apparatus for routing | |
US8683393B2 (en) | Integrated design environment for nanophotonics | |
US10650110B2 (en) | Photonic circuit design systems | |
WO2006136845A2 (en) | Integrated circuit routing and compaction | |
US10726187B2 (en) | Self-aligned double patterning-aware routing in chip manufacturing | |
TWI222580B (en) | System and method for H-tree signal layout | |
US9858377B2 (en) | Constraint-driven pin optimization for hierarchical design convergence | |
CN114764554A (zh) | 波导总线及用于自动生成波导总线的布局的方法、系统 | |
US9684753B2 (en) | Techniques for generating nanowire pad data from pre-existing design data | |
US10885260B1 (en) | Fin-based fill cell optimization | |
US9904754B2 (en) | Layout of interconnect lines in integrated circuits | |
US20230351089A1 (en) | Using a machine trained network during routing to account for opc cost | |
US11074379B2 (en) | Multi-cycle latch tree synthesis | |
US20050246671A1 (en) | Method and apparatus for determining worst case coupling within a differential pair group | |
KR101187431B1 (ko) | 목적 포인트에 최소거리로 라우팅하는 맨해튼 라우팅 | |
WO2022272024A1 (en) | Length compensating waveguide for an optical circuit | |
US20200327208A1 (en) | Via design optimization to improve via resistance | |
JP2010073073A (ja) | レイアウト設計方法、装置及びプログラム | |
US11775730B2 (en) | Hierarchical large block synthesis (HLBS) filling | |
JP5104592B2 (ja) | データ処理装置、データ処理方法およびプログラム | |
WO2018133023A1 (en) | Method for partial updating |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |