Inverse design of parameterized photonic devices using geometric primitives
The inverse design process using gradient-based optimization and first-principles simulation addresses the limitations of traditional photonic device design by optimizing nearly unlimited parameters, resulting in advanced, efficient, and cost-effective optical signal separation devices.
Patent Information
- Application Number
- JP2025533611
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-12-15
- Filing Date
- 2023-09-27
- Publication Date
- 2026-01-21
AI Technical Summary
The cost and complexity of devices that separate optical carrier signals in wavelength division multiplexing systems are prohibitive, and traditional design methods for photonic devices are limited by a small number of adjustable parameters, failing to optimize the vast number of design parameters needed for advanced functionality and manufacturing tolerances.
An inverse design process using gradient-based optimization and first-principles simulation to generate photonic integrated circuit designs, particularly for multi-channel demultiplexers and multiplexers, allowing optimization of nearly unlimited design parameters and improving performance, size, and robustness.
The inverse design process results in photonic devices that surpass current state-of-the-art designs in performance, size, and robustness, efficiently separating optical carrier signals while being scalable and manufacturable.
Smart Images

Figure 2026502091000001_ABST
Abstract
Description
[Technical Field]
[0001] (CROSS-REFERENCE TO RELATED APPLICATIONS) This application claims the benefit of U.S. Patent Application No. 18 / 066,948, filed December 15, 2022, the contents of which are incorporated herein by reference.
[0002] FIELD OF THE INVENTION The present disclosure relates generally to the inverse design of physical devices, and particularly, but not exclusively, to the inverse design of photonic devices. [Background technology]
[0003] Optical fiber communications are typically used to transmit information from one location to another via light modulated to carry the information. For example, many telecommunications companies use optical fiber to transmit telephone signals, internet communications, and cable television signals. However, the cost of deploying optical fiber for optical fiber communications can be prohibitive. Therefore, techniques have been developed to more efficiently use the available bandwidth within a single optical fiber. Wavelength division multiplexing is one such technique that bundles multiple optical carrier signals onto a single optical fiber using different wavelengths. Summary of the Invention
[0004] In some embodiments, a non-transitory computer-readable medium is provided having computer-executable instructions stored thereon, the instructions, when executed by one or more processors of the computing system, causing the computing system to perform actions for designing a physical device, the actions including: generating, by the computing system, an initial design based on a design specification, the initial design including a list of geometric shape primitives; determining, by the computing system, a set of construction parameters using the list of geometric shape primitives; simulating, by the computing system, performance of the initial design using the set of construction parameters to determine a performance loss value; and updating, by the computing system, at least one of a size or a position of at least one of the geometric shape primitives using a gradient of the performance loss value.
[0005] In some embodiments, a computer-implemented method for designing a physical device is provided. A computing system generates an initial design based on a design specification. The initial design includes a list of geometric shape primitives. The computing system uses the list of geometric shape primitives to determine a set of construction parameters. The computing system simulates performance of the initial design using the set of construction parameters to determine a performance loss value. The computing system uses a gradient of the performance loss value to update at least one of a size or a position of at least one of the geometric shape primitives. [Brief explanation of the drawings]
[0006] Non-limiting and non-exhaustive embodiments of the present invention are described with reference to the following figures, in which like reference numerals refer to like parts throughout the various figures unless otherwise specified. Not every instance of an element is necessarily labeled, so as not to clutter the figures where appropriate. The figures are not necessarily to scale, emphasis instead being placed on illustrating the principles described. To easily identify discussion of any particular element or operation, the most significant digit(s) in a reference numeral refers to the figure number in which that element is first introduced. [Figure 1] FIG. 1 is a functional block diagram illustrating a non-limiting exemplary embodiment of a system for optical communication between two optical communication devices via optical signals, in accordance with various aspects of the present disclosure. [Figure 2A] 1A-1C illustrate non-limiting exemplary embodiments of a demultiplexer and a multiplexer, respectively, according to various aspects of the present disclosure. [Figure 2B] 1A-1C illustrate non-limiting exemplary embodiments of a demultiplexer and a multiplexer, respectively, according to various aspects of the present disclosure. [Figure 2C] 1 illustrates non-limiting exemplary embodiments of distinct wavelength channels of a multi-channel optical signal in accordance with various aspects of the present disclosure. [Figure 3A] 1 illustrates different views of non-limiting exemplary embodiments of a photonic demultiplexer according to various aspects of the present disclosure. [Figure 3B] 1 illustrates different views of non-limiting exemplary embodiments of a photonic demultiplexer according to various aspects of the present disclosure. [Figure 3C] 1 illustrates different views of non-limiting exemplary embodiments of a photonic demultiplexer according to various aspects of the present disclosure. [Figure 3D] 1 illustrates different views of non-limiting exemplary embodiments of a photonic demultiplexer according to various aspects of the present disclosure. [Figure 4A] 1 illustrates a more detailed cross-sectional view of a dispersion region of a non-limiting exemplary embodiment of a photonic demultiplexer, in accordance with various aspects of the present disclosure. [Figure 4B] 1 illustrates a more detailed cross-sectional view of a dispersion region of a non-limiting exemplary embodiment of a photonic demultiplexer, in accordance with various aspects of the present disclosure. [Figure 5] FIG. 1 is a functional block diagram illustrating a non-limiting exemplary embodiment of a system for generating a design of a photonic integrated circuit, according to various aspects of the present disclosure. [Figure 6A] 1 illustrates a non-limiting exemplary embodiment of a simulation environment for describing photonic integrated circuits in accordance with various aspects of the present disclosure. [Figure 6B] 1 illustrates a non-limiting exemplary embodiment of a photonic integrated circuit operational simulation in accordance with various aspects of the present disclosure. [Figure 6C] 1 illustrates a non-limiting example embodiment of adjoint simulation within a simulation environment by backpropagating loss values, in accordance with various aspects of the present disclosure. [Figure 7A] 1 is a flowchart illustrating exemplary time steps for motion simulation and adjoint simulation, according to various aspects of the present disclosure. [Figure 7B] 10 is a chart illustrating the relationship between update operations of a motion simulation and ad joint simulation (e.g., backpropagation), according to an embodiment of the present disclosure. [Figure 8] FIG. 1 is a schematic, illustrative diagram of a non-limiting exemplary embodiment of parameterizing an initial design using geometric shape primitives, according to various aspects of the present disclosure; [Figure 9] 1 is a flowchart illustrating a non-limiting example embodiment of a method for generating a design of a physical device, such as a photonic integrated circuit, using geometric shape primitives, according to various aspects of the present disclosure. [Figure 10] 1 includes a schematic, illustrative diagram of a first signed distance field and a second signed distance field, according to various aspects of the present disclosure. [Figure 11]Included are three illustrative diagrams of manufacturing constraints that can be easily represented and analyzed using geometric shape primitives, according to various aspects of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION
[0007] Embodiments of techniques for the reverse design of physical devices are described herein in the context of generating designs for photonic integrated circuits (including multi-channel photonic demultiplexers or multiplexers). In the following description, numerous specific details are set forth to provide a thorough understanding of the embodiments. However, those skilled in the art will recognize that the techniques described herein can be practiced without one or more of the specific details, or with other methods, components, materials, etc. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring certain aspects.
[0008] References throughout this specification to "one embodiment" or "an embodiment" mean that a particular feature, structure, or characteristic described in connection with an embodiment is included in at least one embodiment of the present invention. Thus, the appearances of the phrase "in one embodiment" or "in an embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0009] Wavelength division multiplexing and its variants (e.g., dense wavelength division multiplexing, coarse wavelength division multiplexing, etc.) utilize the bandwidth of an optical fiber by bundling multiple optical carrier signals onto a single optical fiber. Once multiple carrier signals are bundled together, they can be transmitted from one location to another over a single optical fiber, where they can be demultiplexed to be read by an optical communication device. However, devices that separate the carrier signals from one another are still prohibitive in terms of cost, size, etc.
[0010] Furthermore, the design of photonic devices, such as those used in optical communications, is traditionally designed through conventional techniques in which a small number of design parameters from a given design or building block may be determined through simple guess-and-check methods or manually guided grid searches, where a small number of design parameters are adjusted for suitability for a particular application. However, in reality, these devices may have design parameters ranging from hundreds to billions or more, depending on device size and functionality. Thus, as the functionality of photonic devices increases and manufacturing tolerances improve, allowing for smaller device feature sizes, it becomes increasingly important to fully utilize these improvements through optimized device design.
[0011] Described herein are embodiments of photonic integrated circuits (e.g., multi-channel photonic demultiplexers and / or multiplexers) having designs obtainable through an inverse design process. More specifically, the techniques described in embodiments herein utilize gradient-based optimization in combination with first-principles simulation to generate designs from an understanding of the underlying physics expected to govern the operation of photonic integrated circuits. It is understood that in other embodiments, design optimization of photonic integrated circuits without gradient-based techniques may also be used. Advantageously, the embodiments and techniques described herein are not limited to traditional techniques used in designing photonic devices, where a small number of design parameters of predefined building blocks are adjusted based on their suitability for a particular application. Rather, the first-principles-based designs described herein do not necessarily rely on human intuition and may generally result in designs that surpass current state-of-the-art designs in performance, size, robustness, or a combination thereof. Furthermore, rather than being limited to a small number of design parameters resulting from traditional techniques, the embodiments and techniques described herein may provide scalable optimization of a nearly unlimited number of design parameters. Although the design and fabrication of photonic integrated circuits is described throughout this specification, it will be appreciated that similar inverse design techniques may be used to generate designs for other types of physical devices.
[0012] 1 is a functional block diagram illustrating a system 100 for optical communication (e.g., via wavelength division multiplexing or other techniques) between an optical communication device 102 and an optical communication device 120 via an optical signal 110, in accordance with various aspects of the present disclosure. More generally, the optical communication device 102 is configured to transmit information by modulating light from one or more optical sources into a multi-channel optical signal 110 (e.g., a single optical signal including multiple distinct wavelength channels), which is then transmitted from the optical communication device 102 to the optical communication device 120 via an optical fiber, light guide, waveguide, or other photonic device. The optical communication device 120 receives the multi-channel optical signal 110 and demultiplexes each of the multiple distinct wavelength channels from the multi-channel optical signal 110 to extract the transmitted information. It is understood that in some embodiments, optical communication device 102 and optical communication device 120 may be separate, individual devices (e.g., an optical transceiver or transmitter communicatively coupled to a separate optical transceiver or receiver via one or more optical fibers). However, it is understood that in other embodiments, optical communication device 102 and optical communication device 120 may be part of a single component or device (e.g., a smartphone, a tablet, a computer, an optical device, etc.). For example, optical communication device 102 and optical communication device 120 may both be components on a monolithic integrated circuit embedded within the monolithic integrated circuit and coupled to each other via a waveguide adapted to carry optical signal 110 between optical communication device 102 and optical communication device 120 or otherwise transmit optical signals between one location and another.
[0013] In the illustrated embodiment, the optical communication device 102 includes a controller 104, one or more interface devices 112 (e.g., fiber optic couplers, light guides, waveguides, etc.), a multiplexer (mux), a demultiplexer (demux), or a combination thereof (MUX / DEMUX 114), one or more light sources 116 (e.g., light emitting diodes, lasers, etc.), and one or more light sensors 118 (e.g., photodiodes, phototransistors, photoresistors, etc.), coupled to each other. The controller includes one or more processors 106 (e.g., one or more central processing units, application specific circuits, field programmable gate arrays, or otherwise) and memory 108 (e.g., volatile memory such as DRAM and SAM, non-volatile memory such as ROM, flash memory, etc.). It is understood that the optical communication device 120 may include the same or similar elements as the optical communication device 102, which are omitted for clarity.
[0014] The controller 104 coordinates operation of the optical communication device 102 to transmit and / or receive an optical signal 110 (e.g., a multi-channel optical signal having multiple distinct wavelength channels or otherwise). The controller 104 includes software (e.g., instructions contained in a memory 108 coupled to the processor 106) and / or hardware logic (e.g., an application specific integrated circuit, a field programmable gate array, etc.) that, when executed by the controller 104, causes the controller 104 and / or the optical communication device 102 to perform operations.
[0015] In one embodiment, controller 104 may direct operation of optical communication device 102 to cause light source 116 to generate multiple distinct wavelength channels, which are multiplexed via MUX / DEMUX 114 into a multi-channel optical signal 110, which is then transmitted via interface device 112 to optical communication device 120. In other words, light source 116 may output light having different wavelengths (e.g., 1271 nm, 1291 nm, 1311 nm, 1331 nm, 1506 nm, 1514 nm, 1551 nm, 1571 nm, or another) that may be modulated or pulsed via controller 104 to generate multiple distinct wavelength channels representing information. The multiple distinct wavelength channels are then combined or otherwise multiplexed via MUX / DEMUX 114 into a multi-channel optical signal 110, which is transmitted via interface device 112 to optical communication device 120. In the same or another embodiment, the controller 104 may direct the operation of the optical communication device 102 so that multiple separate wavelength channels are demultiplexed via the MUX / DEMUX 114 from the multi-channel optical signal 110 received from the optical communication device 120 via the interface device 112.
[0016] It is understood that in some embodiments, certain elements of optical communication device 102 and / or optical communication device 120 may be omitted to avoid obscuring certain aspects of the present disclosure. For example, optical communication device 102 and optical communication device 120 may include amplification circuitry, lenses, or components to facilitate transmission and reception of optical signal 110. Furthermore, it is understood that in some embodiments, optical communication device 102 and / or optical communication device 120 may not necessarily include all elements illustrated in FIG. 1 . For example, in one embodiment, optical communication device 102 and / or optical communication device 120 is a passive device that operates as an intermediate device that may passively multiplex multiple distinct wavelength channels into and / or demultiplex multiple distinct wavelength channels from multi-channel optical signal 110.
[0017] 2A and 2B illustrate an exemplary demultiplexer 206 and multiplexer 208, respectively, in accordance with various aspects of the present disclosure. The demultiplexer 206 and multiplexer 208 are possible implementations of the MUX / DEMUX 114 illustrated in FIG. 1 and may be part of an integrated photonic circuit, a silicon photonic device, or otherwise.
[0018] 2A, the demultiplexer 206 includes an input region 202 and a plurality of output regions 204. The demultiplexer 206 outputs a plurality of distinct wavelength channels (e.g., each of which is λ1, λ2, λ3, ... λ N 1), to optically separate each of the plurality of distinct wavelength channels from the multi-channel optical signal 110, and to guide each of the plurality of distinct wavelength channels to a corresponding one of a plurality of output regions 204 (e.g., a plurality of waveguides that may correspond to the interface device 112 illustrated in FIG. 1). More specifically, in the illustrated embodiment, each of the output regions 204 is configured to receive a multi-channel optical signal 110 including a plurality of distinct wavelength channels (e.g., λ1, λ2, λ3, ... λN) having center wavelengths corresponding to λ1, λ2, λ3, ... λN, respectively, via an input region 202 (e.g., a waveguide that may correspond to the interface device 112 illustrated in FIG. 1), optically separate each of the plurality of distinct wavelength channels from the multi-channel optical signal 110, and respectively guide each of the plurality of distinct wavelength channels to a corresponding one of a plurality of output regions 204 (e.g., a plurality of waveguides that may correspond to the interface device 112 illustrated in FIG. 1). More specifically, in the illustrated embodiment, each of the output regions 204 receives a plurality of optical signals (e.g., λ1, λ2, λ3, ... λN) N 1 ), which may be output as a demultiplexed optical signal from the optical fiber 102. The plurality of output regions 204 may each be coupled to a respective optical sensor (e.g., corresponding to optical sensor 118 illustrated in FIG. 1 ), which may be utilized to convert the demultiplexed optical signal from the multi-channel optical signal 110 into an electrical signal for further processing.
[0019] 2B, multiplexer 208 includes a plurality of input regions 216 and an output region 210. Multiplexer 208 multiplexes a plurality of separate optical signals (e.g., λ1, λ2, λ3, ... λ N2A and 2B. 2B are configured to receive the multiplexers 206 and 208, respectively, at a respective one of a plurality of input regions 216 (e.g., a plurality of waveguides that may correspond to the interface devices 112 illustrated in FIG. 1). The multiplexers 208 are structured or otherwise configured to optically combine (i.e., multiplex) each of the plurality of distinct wavelength channels into a multi-channel optical signal 110 that is guided to an output region 210 (e.g., a waveguide that may correspond to the interface devices 112 illustrated in FIG. 1). It will be appreciated that in some embodiments, the demultiplexer 206 illustrated in FIG. 2A and the multiplexer 208 illustrated in FIG. 2B may be bidirectional, such that each device may function as both a demultiplexer and a multiplexer.
[0020] 2C illustrates exemplary distinct wavelength channels of a multi-channel optical signal (e.g., Ch. N is the multi-channel optical signal 110 illustrated in FIGS. 1, 2A, and 2B) in accordance with various aspects of the present disclosure. The exemplary channels may represent individual channels included in a plurality of distinct wavelength channels of the multi-channel optical signal that may be demultiplexed and / or multiplexed by the demultiplexer 206 of FIG. 2A and / or the multiplexer 208 of FIG. 2B. Each of the distinct wavelength channels has a different center wavelength (λ ) including at least one of 1271 nm, 1291 nm, 1311 nm, 1331 nm, 1506 nm, 1514 nm, 1551 nm, or 1571 nm, or others. N2C , the distinct wavelength channels have channel bandwidths 212 that are approximately 13 nm wide. However, in other embodiments, the channel bandwidths may differ from 13 nm wide. Rather, the channel bandwidth may be considered a configurable parameter depending on the structure of the MUX / DEMUX 114 of FIG. 1 , the demultiplexer 206 of FIG. 2A , and / or the multiplexer 208 of FIG. 2B . For example, in some embodiments, each of the multiple distinct wavelength channels may share a common bandwidth that may correspond to 13 nm or others. Referring again to FIG. 2C , the channel bandwidth 212 may be defined as the width of the passband region 218 (i.e., defined as being between PB1 and PB2). The passband region 218 may represent the approximate power transmission of the demultiplexer or multiplexer. It is understood that in some embodiments, the passband region 218 may include ripples, as illustrated in FIG. 2C , corresponding to variations in the passband region 218. In one or more embodiments, the ripple in the passband region about the center value 214 may be + / - 2 dB or less, + / - 1 dB or less, + / - 0.5 dB or less, or other. In some embodiments, the channel bandwidth 212 may be defined by the passband region 218. In other embodiments, the channel bandwidth 212 may be defined by a threshold (e.g., dB th 2A ) may be defined as the measured power above a corresponding channel bandwidth (i.e., λ ) of channel N, which is equal to the range of wavelengths above a threshold that are transmitted to the output region 204 mapped to channel N. N) In the same or other embodiments, channel isolation (i.e., as defined by channel bandwidth 212) may also be considered when optimizing the design. Isolation may be defined as the ratio between the passband area 218 and the stopband area (e.g., the area less than SB1 and greater than SB2). It should be further understood that the transition band areas (e.g., the first transition area between SB1 and PB1, and the second transition area between PB2 and SB2) are exemplary and may be exaggerated for purposes of illustration. In some embodiments, optimizing the design of a photonic demultiplexer may also include target metrics such as the slope, width, etc. of the transition band areas.
[0021] 3A-3D illustrate different views of an exemplary photonic demultiplexer in accordance with one embodiment of the present disclosure. Photonic demultiplexer 316 is one possible implementation of MUX / DEMUX 114 illustrated in FIG. 1 and demultiplexer 206 illustrated in FIG. 2A. While the following discussion may be directed to photonic integrated circuits capable of demultiplexing multiple separate wavelength channels from a multi-channel optical signal, it is further understood that in other embodiments, a demultiplexer (e.g., demultiplexer 316) may also, or alternatively, be capable of multiplexing multiple separate wavelength channels into a multi-channel optical signal in accordance with embodiments of the present disclosure.
[0022] 3A illustrates a cross-sectional view of demultiplexer 316 along a lateral plane within the active layer defined by width 320 and length 322 of demultiplexer 316. As illustrated, demultiplexer 316 includes an input region 302 (e.g., corresponding to input region 202 illustrated in FIG. 2A), a plurality of output regions 304 (e.g., corresponding to plurality of output regions 204 illustrated in FIG. 2A), and a dispersive region optically disposed between input region 302 and plurality of output regions 304. Input region 302 and plurality of output regions 304 (e.g., output region 308, output region 310, output region 312, and output region 314) may each be a waveguide (e.g., a slab waveguide, a strip waveguide, a slot waveguide, etc.) capable of propagating light along a waveguide path. The dispersion region 332 includes a first material and a second material that are non-uniformly interspersed to form a plurality of interfaces, each corresponding to a change in refractive index of the dispersion region 332, and that collectively structure the dispersion region 332 to optically separate each of the plurality of distinct wavelength channels (e.g., Ch. 1, Ch. 2, Ch. 3, ... Ch. N illustrated in FIG. 2A ) from the multi-channel optical signal (e.g., optical signal 110 illustrated in FIG. 2A ) when the input region 302 receives the multi-channel optical signal, and to guide each of the plurality of distinct wavelength channels to a corresponding one of the plurality of output regions 304 (see, e.g., FIG. 3D ). In other words, the input region 302 is adapted to receive a multi-channel optical signal including the plurality of distinct wavelength channels, and the plurality of output regions 304 are each adapted to receive a corresponding one of the plurality of distinct wavelength channels demultiplexed from the multi-channel optical signal via the dispersion region 332.
[0023] As illustrated in FIG. 3A and more clearly shown in FIGS. 3D and 4A-4B, the shape and arrangement of the non-uniformly interspersed first and second materials creates a plurality of interfaces that collectively form a material interface pattern along the cross-sectional area of the dispersion region 332, which is at least partially surrounded by the peripheral region 318, which includes the second material. In some embodiments, the peripheral region 318 has a substantially homogeneous composition, including the second material. In the illustrated embodiment, the dispersion region 332 includes a first side 328 and a second side 330, each of which has an interface with an inner boundary (i.e., the unlabeled dashed line of the peripheral region 318 disposed between the dispersion region 332 and the dash-dotted line corresponding to the outer boundary of the peripheral region 318). The first side 328 and the second side 330 are disposed on opposite sides of the dispersion region 332. The input region 302 is disposed adjacent to the first side 328 (e.g., one side of the input region 302 abuts the first side 328 of the dispersion region 332), while each of the multiple output regions 304 is disposed adjacent to the second side 330 (e.g., one side of each of the multiple output regions 304 abuts the second side 330 of the dispersion region 332).
[0024] In the illustrated embodiment, each of the multiple output regions 304 is parallel to one another of the multiple output regions 304. However, in other embodiments, the multiple output regions 304 may not be parallel to one another or may not be disposed on the same side (e.g., one or more of the multiple output regions 304 and / or the input region 302 may be disposed adjacent to the side of the dispersion region 332 adjacent to the first side 328 and / or the second side 330). In some embodiments, when the multiple output regions include at least three output regions, adjacent ones of the multiple output regions are separated from one another by a common separation distance. For example, as illustrated, adjacent output regions 308 and 310 are separated from one another by distance 306, which may be common to the separation distance between other pairs of adjacent output regions.
[0025] 3A , demultiplexer 316 includes four output regions 304 (e.g., output region 308, output region 310, output region 312, output region 314), each mapped to a respective one of the four channels included in the plurality of distinct wavelength channels (i.e., by the structure of dispersion region 332). More specifically, the multiple interfaces of dispersion region 332 defined by the non-uniform interspersion of the first and second materials form a material interface pattern along the cross-sectional area of dispersion region 332 (e.g., as illustrated in FIG. 3A , 4A , or 4B ) such that when input region 302 splits the multi-channel optical signal, dispersion region 332 optically separates each of the four channels from the multi-channel optical signal and routes each of the four channels to a respective one of four output regions 304.
[0026] It is noted that the first and second materials of the dispersion region 332 are positioned and shaped within the dispersion region such that the material interface pattern is substantially proportional to the design resulting from the inverse design process. The inverse design process is discussed in more detail later in this disclosure. More specifically, in some embodiments, the inverse design process may include iterative gradient-based optimization of a design based at least in part on a loss function that incorporates performance losses (e.g., to implement a function) and manufacturing losses (e.g., to implement manufacturability and binarization of the first and second materials) that are reduced or otherwise adjusted via iterative gradient-based optimization to generate a design. In the same or other embodiments, other optimization techniques may be used in place of or in conjunction with the gradient-based optimization. Advantageously, this enables optimization of a nearly unlimited number of design parameters to achieve function and performance within a given area that may not have been possible with traditional design techniques.
[0027] For example, in one embodiment, dispersion region 332 is structured to optically separate each of the four channels from the multi-channel optical signal within a predetermined area of 35 μm×35 μm (e.g., as defined by width 324 and length 326 of dispersion region 332) when input region 302 receives the multi-channel optical signal. In the same or another embodiment, the dispersion region is structured to accommodate a common bandwidth for each of the four channels, each of which has a different center wavelength. In one embodiment, the common bandwidth is approximately 13 nm wide, and the different center wavelengths are selected from the group consisting of 1271 nm, 1291 nm, 1311 nm, 1331 nm, 1506 nm, 1514 nm, 1551 nm, and 1571 nm. In some embodiments, the entire structure of the demultiplexer 316 (e.g., including the input region 302, the peripheral region 318, the dispersion region 332, and the plurality of output regions 304) fits within a predetermined area (e.g., as defined by the width 320 and the length 322). In one embodiment, the predetermined area is 35 μm by 35 μm. In other embodiments, the dispersion region 332 and / or the demultiplexer 316 fit within other areas that are larger or smaller than 35 μm by 35 μm, it being understood that this may result in changes to the structure of the dispersion region 332 (e.g., the arrangement and shape of the first and second materials and / or other components of the demultiplexer 316).
[0028] In the same or another embodiment, the dispersion region is structured to have, for a given wavelength of one of the plurality of distinct wavelength channels, a power transmission of −2 dB or greater from input region 302 through dispersion region 332 to a corresponding one of the plurality of output regions 304. For example, if channel 1 of a multi-channel optical signal is mapped to output region 308, when demultiplexer 316 receives the multi-channel optical signal at input region 302, dispersion region 332 optically separates channel 1 from the multi-channel optical signal and guides a portion of the multi-channel optical signal corresponding to channel 1 to output region 308 with a power transmission of −2 dB or greater. In the same or another embodiment, dispersion region 332 is structured to have an adverse power transmission (i.e., isolation) for a given wavelength from the input region to any of the plurality of output regions other than the corresponding one of the plurality of output regions of −30 dB or less, −22 dB or less, or other. For example, if channel 1 of the multi-channel optical signal is mapped to output region 308, the adverse power transmission from input region 302 to any other one of the plurality of output regions (e.g., output region 310, output region 312, output region 314) other than the corresponding one of the plurality of output regions (e.g., output region 308) is −30 dB or less, −22 dB or less, or other. In some embodiments, the maximum power reflection from demultiplexer 316 of an input signal (e.g., multi-channel optical signal) received at an input region (e.g., input region 302) reflected back to the input region by dispersive region 332 or otherwise is −40 dB or less, −20 dB or less, −8 dB or less, or other. It is understood that in other embodiments, the power transmission, adverse power transmission, maximum power, or other performance characteristics may differ from the respective values discussed herein, and the structure of dispersive region 332 may vary due to the inherent relationship between the structure, function, and performance of demultiplexer 316.
[0029] FIG. 3B illustrates a vertical schematic view or stack of various layers included in an illustrated embodiment of demultiplexer 316. However, it is understood that the illustrated embodiments are not exhaustive and that certain features or elements may be omitted to avoid obscuring certain aspects of the invention. In the illustrated embodiment, demultiplexer 316 includes a substrate 334, a dielectric layer 336, an active layer 338 (e.g., as shown in the cross-sectional illustrative view of FIG. 3A), and a cladding layer 340. In some embodiments, demultiplexer 316 may be a photonic integrated circuit or a silicon photonic device, partially or otherwise compatible with conventional fabrication techniques (e.g., lithography techniques such as photolithography, electron beam lithography, sputtering, thermal evaporation, physical and chemical vapor deposition, etc.).
[0030] In one embodiment, a silicon-on-insulator (SOI) wafer may first be provided, including a support substrate (e.g., a silicon substrate) corresponding to substrate 334, a silicon dioxide dielectric layer corresponding to dielectric layer 336, a silicon layer (e.g., intrinsic, doped, or other), and an oxide layer (e.g., intrinsic, grown, or other). In one embodiment, the silicon in active layer 338 may be selectively etched by lithographically creating a pattern on the SOI wafer that is transferred to the SOI wafer via a dry etching process (e.g., via a photoresist mask or other hard mask) to remove portions of the silicon. The silicon may be etched all the way down to dielectric layer 336 to form voids, which may then be backfilled with silicon dioxide, which is then encapsulated with silicon dioxide to form cladding layer 340. In one embodiment, there may be several etch depths, including a full etch depth of silicon, to obtain the target structure. In one embodiment, the silicon may be 206 nm thick, so the full etch depth may be 206 nm. In some embodiments, this may be a two-step encapsulation process, where two silicon dioxide depositions are performed with an intermediate chemical mechanical planarization used to provide a flat surface.
[0031] 3C illustrates a more detailed view of the active layer 338 (relative to FIG. 3B) along a portion of the peripheral region 318 that includes the input region 302 of FIG. 3A. In the illustrated embodiment, the active layer 338 includes a first material 342 having a refractive index of ε1 and a second material 344 having a refractive index of ε2, different from ε1. The homogeneous regions of the first material 342 and the second material 344 may form a waveguide or a portion of a waveguide corresponding to the input region 302 and the multiple output regions 304, as illustrated in FIGS. 3A and 3C.
[0032] 3D illustrates a more detailed view of the active layer 338 (relative to FIG. 3B ) along the dispersive region 332. As previously described, the active layer 338 includes a first material 342 (e.g., silicon) and a second material 344 (e.g., silicon dioxide) that are non-uniformly interspersed to form a plurality of interfaces 346 that collectively form a material interface pattern. Each of the plurality of interfaces 346 forming the interface pattern corresponds to a change in the refractive index of the dispersive region 332 to structure the dispersive region (i.e., the shape and arrangement of the first material 342 and the second material 344) to at least partially provide the functionality of the demultiplexer 316 (i.e., optical separation of a plurality of distinct wavelength channels from a multi-channel optical signal when the input region 302 receives the multi-channel optical signal and respective guidance of each of the plurality of distinct wavelength channels to a corresponding one of the plurality of output regions 304).
[0033] As shown in FIGS. 3A-3D, in the illustrated embodiment of demultiplexer 316, the refractive index change is shown as being consistent in the vertical direction (i.e., it is understood that first material 342 and second material 344 form an interface that is substantially perpendicular or orthogonal to the lateral plane or cross-section of demultiplexer 316). However, in the same or other embodiments, multiple interfaces (e.g., interface 346 illustrated in FIG. 3D) may not be substantially orthogonal to the lateral plane or cross-section of demultiplexer 316.
[0034] Figure 4A illustrates a more detailed cross-sectional view of the dispersion region of an exemplary photonic demultiplexer 400, according to an embodiment of the present disclosure. Figure 4B illustrates a more detailed view of the interface pattern formed by the shape and arrangement of the first material 410 and the second material 412 for the dispersion region of the photonic demultiplexer 400 of Figure 4A. The photonic demultiplexer 400 is one possible implementation of the MUX / DEMUX 114 illustrated in Figure 1, the demultiplexer 206 illustrated in Figure 2A, and the demultiplexer 316 illustrated in Figures 3A-3D.
[0035] 4A and 4B, photonic demultiplexer 400 includes an input region 402, a plurality of output regions 404a-404d, and a dispersive region 406 optically disposed between input region 402 and the plurality of output regions 404a-404d. Dispersive region 406 is at least partially surrounded by a peripheral region 408 that includes an inner boundary 414 and an outer boundary 416. It will be understood that like-named or labeled elements of photonic demultiplexer 400 may similarly correspond to like-named or labeled elements of other demultiplexers described in embodiments of the present disclosure.
[0036] The first material 410 (i.e., the black regions within the dispersive region 406) and the second material 412 (i.e., the white regions within the dispersive region 406) of the photonic demultiplexer 400 are non-uniformly interspersed to create a plurality of interfaces that collectively form the material interface pattern 420 illustrated in FIG. 4B . More specifically, an inverse design process utilizing iterative gradient-based optimization, Markov chain Monte Carlo optimization, or other optimization techniques is combined with first-principles simulation to generate a design that is substantially replicated by the dispersive region 406 in a proportional or scaled manner to provide the desired functionality of the photonic demultiplexer 400. In the illustrated embodiment, the dispersive region 406 is structured to optically separate each of a plurality of distinct wavelength channels from the multi-channel optical signal when the input region 402 receives the multi-channel optical signal and to guide each of the plurality of distinct wavelength channels to a corresponding one of the plurality of output regions 404 a–404 d. More specifically, the plurality of output regions 404a-404d are respectively mapped to wavelength channels having center wavelengths corresponding to 1271 nm, 1291 nm, 1311 nm, and 1331 nm. In another embodiment, the plurality of output regions 404a-404d are respectively mapped to wavelength channels having center wavelengths corresponding to 1506 nm, 1514 nm, 1551 nm, and 1571 nm.
[0037] As illustrated in FIG. 4B , material interface pattern 420, defined by the black lines in dispersion region 406 and corresponding to the refractive index changes in dispersion region 406, includes multiple protrusions 422a and 422b. First protrusion 422a is formed from first material 410 and extends from peripheral region 408 into dispersion region 406. Similarly, second protrusion 422b is formed from second material 412 and extends from peripheral region 408 into dispersion region 406. As further illustrated in FIG. 4B , dispersion region 406 includes multiple islands 424a and 424b formed from either first material 410 or second material 412. Multiple islands 424a and 424b include a first island 424a formed from first material 410 and surrounded by second material 412. The plurality of islands 424 a and 424 b also includes a second island 424 b formed from a second material 412 and surrounded by a first material 410 .
[0038] In some embodiments, the material interface pattern 420 includes one or more dendritic shapes, each of which is defined as a branched structure formed from the first material 410 or the second material 412 and having a width that alternately increases and decreases in size along a corresponding direction. Referring back to FIG. 4A , for clarity, the dendritic structure 418 has a black border and is labeled with a white arrow. As can be seen, the width of the dendritic structure 418 alternatively increases and decreases in size along a corresponding direction (i.e., the white labeled arrow overlapping the length of the dendritic structure 418) to create a branched structure. It is understood that in other embodiments, there may be no protrusions, no islands, no dendritic structures, or any number, including zero, of protrusions, islands of any material included in the dispersion region 406, dendritic structures, or a combination thereof.
[0039] In some embodiments, the inverse design process includes manufacturing steps to enforce a minimum feature size to ensure the manufacturability of the design. In the illustrated embodiment of the photonic demultiplexer 400 illustrated in FIGS. 4A and 4B, the material interface pattern 420 is shaped to enforce a minimum feature size within the dispersion region 406 such that no interfaces within the cross-sectional area formed by the first material 410 and the second material 412 have a radius of curvature less than a threshold size. For example, if the minimum feature size is 150 nm, the radius of curvature for any of the interfaces is the reciprocal of half the minimum feature size (i.e., 1 / 75 nm -1 ) has a dimension below a threshold size corresponding to a minimum feature size. Enforcing such a minimum feature size prevents the reverse design process from generating designs that are not manufacturable by considering manufacturing constraints, limitations, and / or yield. In the same or other embodiments, different or additional checks on metrics related to manufacturability may be utilized to enforce a minimum width or spacing as the minimum feature size.
[0040] FIG. 5 is a functional block diagram illustrating a computing system 500 for generating a design of a photonic integrated circuit (i.e., a photonic device) according to one embodiment of the present disclosure. The computing system 500 can be utilized to perform an inverse design process that generates a design using iterative gradient-based optimization that considers the fundamental physics governing the operation of the photonic integrated circuit. More specifically, the computing system 500 is a design tool that can be utilized to optimize structural parameters of the photonic integrated circuit (e.g., the shape and placement of the first and second materials within the dispersion regions of the embodiments described in this disclosure) based on first-principles simulations (e.g., electromagnetic simulations to determine the field response of the photonic device to an excitation source) and iterative gradient-based optimization. In other words, the computing system 500 can provide a design obtained via the inverse design process that is substantially replicated (i.e., proportionally scaled) by the dispersion regions 332 and 406 of the demultiplexer 316 and photonic demultiplexer 400 illustrated in FIGS. 3A and 4A, respectively.
[0041] As illustrated, computing system 500 includes a controller 512, a display 502, an input device 504, a communication device 506, a network 508, a remote resource 510, a bus 534, and a bus 520. Controller 512 includes a processor 514, a memory 516, local storage 518, and a photonic device simulator 522. Photonic device simulator 522 includes an operational simulation engine 526, a manufacturing loss calculation logic 528, a calculation logic 524, an adjoint simulation engine 530, and an optimization engine 532. It will be understood that in some embodiments, controller 512 may be a distributed system.
[0042] Controller 512 is coupled to a display 502 (e.g., a light emitting diode display, a liquid crystal display, etc.) coupled to bus 534 through bus 520 for displaying information to a user utilizing computing system 500 to optimize structural parameters of a photonic device (i.e., a demultiplexer). Input device 504 is coupled to bus 534 through bus 520 for communicating information and command selections to processor 514. Input device 504 may include a mouse, trackball, keyboard, stylus, or other computer peripheral to facilitate interaction between a user and controller 512. In response, controller 512 may provide verification of the interaction through display 502.
[0043] Another device that may optionally be coupled to the controller 512 is a communications device 506 for accessing remote resources 510 of the distributed system via a network 508. The communications device 506 may include any of a number of networking peripheral devices, such as those used to couple to an Ethernet, the Internet, a wide area network, or the like. The communications device 506 may further include mechanisms that provide connectivity between the controller 512 and the outside world. Note that any or all of the components and associated hardware of the computing system 500 illustrated in FIG. 5 may be used in various embodiments of the present disclosure. The remote resources 510 may be part of a distributed system and may include any number of processors, memory, and other resources for optimizing the structural parameters of a photonic device.
[0044] The controller 512 coordinates the overall operation of the computing system 500 to optimize structural parameters of a photonic device. The processor 514 (e.g., one or more central processing units, graphics processing units, and / or tensor processing units), memory 516 (e.g., volatile memory such as DRAM and SRAM, non-volatile memory such as ROM and flash memory, etc.), local storage 518 (e.g., magnetic memory such as a computer disk drive), and photonic device simulator 522 are coupled to each other through a bus 520. The controller 512 includes software (e.g., instructions contained in memory 516 coupled to the processor 514) and / or hardware logic (e.g., application-specific integrated circuits, field-programmable gate arrays, etc.) that, when executed by the controller 512, cause the controller 512 or the computing system 500 to perform operations. The operations may be based on instructions stored in any one or combination of the memory 516, the local storage 518, the physical device simulator 522, and remote resources 510 accessed through the network 508.
[0045] In the illustrated embodiment, components of the photonic device simulator 522 are utilized to optimize structural parameters of photonic devices (e.g., MUX / DEMUX 114 of FIG. 1 , demultiplexer 206 of FIG. 2A , multiplexer 208 of FIG. 2B , demultiplexer 316 of FIGS. 3A-3D , and photonic demultiplexer 400 of FIGS. 4A-4B ). In some embodiments, the computing system 500 may optimize the structural parameters of the photonic devices through, among other things, simulations (e.g., behavioral simulations and adjoint simulations) to model field responses (e.g., electric and magnetic fields within the photonic devices) utilizing finite-difference time-domain (FDTD) methods, finite-difference frequency-domain (FDFD) methods, or any other suitable techniques. The behavioral simulation engine 526 provides instructions for performing electromagnetic simulations of the photonic devices operating in response to excitation sources within a simulation environment. In particular, the operational simulation determines field responses of the simulation environment (and thus the photonic device described by the simulation environment) in response to excitation sources to determine performance metrics of the physical device (e.g., based on an initial photonic device description or input design describing structural parameters of the photonic device within the simulation environment having multiple voxels). The structural parameters may correspond, for example, to the specific design, material composition, dimensions, etc. of the physical device. The fabrication loss calculation logic 528 provides instructions for determining fabrication losses utilized to enforce minimum feature sizes to ensure manufacturability. In some embodiments, the fabrication losses are also used to perform binarization of the design (i.e., so that the photonic device includes a first material and a second material interspersed to form multiple interfaces). The calculation logic 524 computes a loss metric based on the performance metric and the fabrication losses, which is determined via a loss function incorporating the performance losses.The adjoint simulation engine 530 is utilized in conjunction with the behavioral simulation engine 526 to perform adjoint simulation of the photonic device and back-propagate the loss metric through the simulation environment via a loss function to determine how changes in the structural parameters of the photonic device affect the loss metric. The optimization engine 532 is utilized to update the structural parameters of the photonic device to reduce the loss metric and generate a revised description of the photonic device (i.e., revise the design).
[0046] 6A-6C illustrate non-limiting exemplary embodiments of an initial setup of a simulation environment 606 that describes a photonic device, performs a behavioral simulation of the photonic device in response to an excitation source within the simulation environment 608, and performs an adjoint simulation of the photonic device within the simulation environment 610, according to various aspects of the present disclosure. The initial setup of the simulation environment, the one-dimensional representation of the simulation environment, the behavioral simulation of the physical device, and the adjoint simulation of the physical device may be implemented using the computing system 500 illustrated in FIG.
[0047] As illustrated in Figures 6A-6C, the simulation environment is represented in two dimensions. However, it is understood that other dimensionality (e.g., three-dimensional space) may be used to describe the simulation environment and the photonic device. In some embodiments, optimization of the structural parameters of the photonic device illustrated in Figures 6A-6C may be achieved through an inverse design process that includes, among other things, simulations (e.g., motional simulations and adjoint simulations) that model field responses (e.g., electric and magnetic fields) to excitation sources using the finite-difference time-domain (FDTD) method, the finite-difference frequency-domain (FDFD) method, or any other suitable technique.
[0048] FIG. 6A illustrates an exemplary simulation environment 606 for describing a photonic integrated circuit (i.e., a photonic device such as a waveguide, demultiplexer, etc.) in accordance with a non-limiting embodiment of the present disclosure. More specifically, in response to receiving an initial description of a photonic device defined by one or more structural parameters (e.g., an input design), a system (e.g., computing system 500 of FIG. 5) configures the simulation environment 606 to represent the photonic device. As illustrated, the simulation environment 606 (and subsequently the photonic device) is described by a plurality of voxels 612, each representing an individual (i.e., discretized) element of two-dimensional (or other dimensional) space. Each of the voxels 612 is illustrated as a two-dimensional square. However, it will be understood that a voxel may be represented as a cube or other shape in three-dimensional space. It will be understood that the particular shape and dimensions of the plurality of voxels 612 may be adjusted depending on the simulation environment 606 and the photonic device being simulated. Furthermore, it should be noted that only a portion of the voxels 612 are illustrated to avoid obscuring other aspects of the simulated environment 606 .
[0049] Each of the plurality of voxels 612 may be associated with a structural value, a field value, and a source value. Collectively, the structural values of the simulation environment 606 describe structural parameters of the photonic device. In one embodiment, the structural values may correspond to a dielectric constant, a magnetic permeability, and / or a refractive index that collectively describe a structural (i.e., material) boundary or interface (e.g., material interface pattern 420 of FIG. 4B ) of the photonic device. For example, the interface 616 may represent where the dielectric constant changes in the simulation environment 606 and define a boundary of the photonic device where a first material contacts or otherwise interfaces with a second material. The field values describe a field (or loss) response calculated (e.g., via Maxwell's equations) in response to an excitation source described by the source values. The field response may correspond, for example, to a vector describing the electric and / or magnetic field (e.g., in one or more orthogonal directions) at a particular time step for each of the plurality of voxels 612. Thus, the field response may be based at least in part on the structural parameters of the photonic device and the excitation source.
[0050] In the illustrated embodiment, the photonic device corresponds to an optical demultiplexer having a design region 614 (e.g., corresponding to dispersion region 332 of FIG. 3A and / or dispersion region 406 of FIG. 4A), and structural parameters of the physical device may be updated or otherwise revised. More specifically, through an inverse design process, an iterative gradient-based optimization of a loss metric determined from a loss function is performed to generate a design of a photonic device that functionally causes a multi-channel optical signal to be demultiplexed and guided from input port 602 to a corresponding one of output ports 604. Thus, input port 602 of the photonic device (e.g., corresponding to input region 302 of FIG. 3A, input region 402 of FIG. 4A, etc.) corresponds to the location of a pump source for providing an output (e.g., a Gaussian pulse, a wave, a waveguide mode response, etc.). The output of the excitation source interacts with the photonic device based on the structural parameters (e.g., the electromagnetic wave corresponding to the excitation source may be perturbed, retransmitted, attenuated, refracted, reflected, diffracted, scattered, absorbed, dispersed, amplified, or otherwise altered as the wave propagates through the photonic device in the simulated environment 606). In other words, the excitation source may alter the field response of the photonic device, which depends on the underlying physics governing the physical domain and structural parameters of the photonic device. The excitation source is positioned to originate from or otherwise be proximate to the input port 602 and propagate through the design space 614 toward the output port 604 of the photonic device (or otherwise affect the field values of multiple voxels). In the illustrated embodiment, the input port 602 and the output port 604 are positioned outside the design space 614. In other words, in the illustrated embodiment, only a portion of the structural parameters of the photonic device are optimizable.
[0051] However, in other embodiments, the entire photonic device may be placed within the design domain 614, such that the structural parameters may represent any portion or the entire photonic device design. The electric and magnetic fields within the simulation environment 606 (and subsequently the photonic device) may vary in response to excitation sources (e.g., represented by field values of individual voxels that collectively correspond to the field response of the simulation environment). The output ports 604 of the optical demultiplexer may be used to determine performance metrics of the photonic device in response to excitation sources (e.g., power transmission from the input port 602 to a particular one of the output ports 604). An initial description of the photonic device, including initial structural parameters, excitation sources, performance parameters or metrics, and other parameters describing the photonic device, is received by a system (e.g., computing system 500 of FIG. 5 ) and used to configure the simulation environment 606 for performing a first-principles-based simulation of the photonic device. These particular values and parameters may be defined directly by a user (e.g., a user of computing system 500 of FIG. 5), indirectly (e.g., by selecting predefined values stored in memory 516, local storage 518, or remote resource 510 via controller 512), or a combination thereof.
[0052] 6B illustrates a non-limiting exemplary embodiment of an operational simulation of a photonic device in response to an excitation source within a simulation environment 608 in accordance with various aspects of the present disclosure. In the illustrated embodiment, the photonic device is an optical demultiplexer structured to optically separate each of a plurality of distinct wavelength channels included in a multi-channel optical signal received at an input port 602 and respectively guide each of the plurality of distinct wavelength channels to a corresponding one of a plurality of output ports 604. An excitation source may be selected (randomly or otherwise) from the plurality of distinct wavelength channels and originates from the input port 602 with a specified spatial, phase, and / or temporal profile. The operational simulation is performed over multiple time steps, including the illustrated time step. When performing the operational simulation, changes to the field response (e.g., field values) of each of a plurality of voxels 612 are incrementally updated in response to the excitation source over the multiple time steps. The change in the field response at a particular time step is based at least in part on the structural parameters, excitation source, and field response of the simulation environment 610 at an immediately preceding time step included in the multiple time steps. Similarly, in some embodiments, source values for multiple voxels 612 are updated (e.g., based on spatial and / or temporal profiles describing the excitation source). It is understood that the motion simulation is incremental, and the field values (and source values) of the simulated environment 610 are incrementally updated at each time step as time progresses for each of multiple time steps during the motion simulation. It is further noted that in some embodiments, the updating is an iterative process, and each update of the field and source values is based at least in part on previous updates of the field and source values.
[0053] Once the operational simulation reaches a steady state (e.g., changes in field values in response to the pump source substantially stabilize or reduce to a negligible value) or otherwise terminates, one or more performance metrics may be determined. In one embodiment, the performance metric corresponds to the power transmitted at a corresponding one of the output ports 604 mapped to the distinct wavelength channels being simulated by the pump source. In other words, in some embodiments, the performance metric represents the power (at one or more frequencies of interest) in the target mode shape at a particular location of the output port 604. A loss value or metric of the input design (e.g., the initial design and / or any refined design with updated structural parameters) based at least in part on the performance metric may be determined via a loss function. The loss metric, in conjunction with the adjoint simulation, may be utilized to determine a structural gradient (e.g., the effect of the structural parameters on the loss metric) for updating or otherwise revising the structural parameters to reduce the loss metric (i.e., increase the performance metric). Note that the loss metric may be further based on manufacturing loss values and / or other loss values utilized to enforce a minimum feature size of the photonic device to facilitate the manufacturability of the device.
[0054] FIG. 6C illustrates a non-limiting example embodiment of an adjoint simulation within a simulation environment 610 by backpropagating a loss metric in accordance with various aspects of the present disclosure. More specifically, an adjoint simulation is a backward-in-time simulation in which the loss metric is treated as an excitation source that interacts with a photonic device to cause a loss response. In other words, an adjoint (or virtual source) based on the loss metric is placed at an output domain (e.g., output port 604) or other location corresponding to the location used in determining the performance metric. The adjoint source is treated as a physical stimulus or excitation source during the adjoint simulation. The loss response of the simulation environment 608 is calculated (e.g., backward in time) for each of multiple time steps in response to the adjoint source. The loss response collectively refers to the loss values of multiple voxels 612 that are incrementally updated in response to the adjoint source over multiple time steps. A change in the loss response based on the loss metric may correspond to a loss gradient, which indicates how changes in the field response of the physical device affect the loss metric. The loss gradient and field gradient may be combined in an appropriate manner to determine the structural gradient of the photonic device / simulation environment (e.g., how changes in the structural parameters of the photonic device in the simulation environment affect the loss metric). Once the structural gradient for a particular cycle (e.g., operational simulation and adjoint simulation) is known, the structural parameters may be updated to reduce the loss metric and generate a revised description or design of the photonic device.
[0055] In some embodiments, the iterative cycle of performing operational and adjoint simulations, determining structural gradients, and updating structural parameters to reduce the loss metric is performed continuously as part of an inverse design process utilizing iterative gradient-based optimization. An optimization scheme such as gradient descent may be utilized to determine a specific amount or degree of change to the structural parameters of the photonic device to incrementally reduce the loss metric. More specifically, after each cycle, the structural parameters are updated (e.g., optimized) to reduce the loss metric. The operational simulations, adjoint simulations, and structural parameter updates are repeated iteratively until the loss metric substantially converges or is otherwise below or within a threshold or range such that the photonic device provides desired performance while maintaining manufacturability.
[0056] 7A is a flowchart 700 illustrating example time steps for an operational simulation 702 and an adjoint simulation 704 according to various aspects of the present disclosure. The flowchart 700 is one possible implementation that a system may use to perform an operational simulation 702 and an adjoint simulation 704 of a simulation environment describing a photonic integrated circuit (e.g., an optical device operating in the electromagnetic domain, such as a photonic demultiplexer). In the illustrated embodiment, the operational simulation 702 utilizes a finite-difference time-domain (FDTD) method, a finite-difference frequency-domain (FDFD) method, or any other suitable technique to model the field response (both electric and magnetic) or loss response in each of a plurality of voxels for a plurality of time steps in response to physical stimuli corresponding to excitation sources and / or adjoint sources.
[0057] 7A , operational simulation 702 includes a construction portion 748 and a simulation portion 750. In construction portion 748, an initial design 736 is generated based on design specifications. In some embodiments, the design specifications set one or more goals for the reverse design process, such as by providing predicted performance characteristics and / or initial locations for one or more input ports, predicted performance characteristics and / or initial locations for one or more output ports, the size of the design space, allowable locations for the input and / or output ports, manufacturing constraints (including, but not limited to, one or more of: minimum feature size, minimum distance between features, or boundary buffers).
[0058] In some embodiments, the initial design 736 includes a parameterization of the design. The parameters representing the design are optimized by the remainder of the behavioral simulation 702 and adjoint simulation 704 to produce a design for a high-performance physical device. One non-limiting exemplary parameterization is voxel-based parameterization, illustrated in Figures 6A-6C and described above. Other techniques for parameterizing the design are described below.
[0059] It is understood that initial design 736 may be a relative term. Thus, in some embodiments, initial design 736 may be a first description of a physical device described within the context of a simulation environment (e.g., a first input design for running a first operational simulation). However, in other embodiments, the term initial design 736 may refer to the initial design 736 of a particular cycle (e.g., of running operational simulation 702, running adjoint simulation 704, and updating structural parameters). In such embodiments, initial design 736, or the design of that particular cycle, may correspond to a revised description or refined design (e.g., generated from a previous cycle). In some embodiments, the simulation environment includes a design domain that includes a portion of multiple voxels having structural parameters that may be updated, revised, or otherwise changed to optimize the structural parameters of the physical device. In the same or other embodiments, the structural parameters are associated with the geometric boundaries and / or material composition of the physical device based on material properties (e.g., dielectric constant, refractive index, etc.) of the situation environment.
[0060] In some embodiments, after determining the initial design 736, the operational simulation 702 generates multiple perturbed initial designs 706. Each perturbed initial design 706 represents a change that would exist in the parameters of the initial design 736 after fabrication by a manufacturing system under a different set of operating conditions. In some embodiments, a manufacturing model may be used to simulate fabrication of a photonic device based on the initial design 736 and the operating conditions to generate each perturbed initial design 706. For example, if the ambient temperature for a set of operating conditions is higher than a nominal or default ambient temperature, the corresponding perturbed initial design 706 may include features with rounded or otherwise less precise corners than those fabricated under the nominal or default ambient temperature.
[0061] In some embodiments, a range of values for each of the operating conditions may be predetermined. Any suitable technique may then be used to determine a set of operating conditions for generating the perturbed initial design 706. For example, values within a predetermined range of values may be stochastically sampled for each of the operating conditions, and the combination of the stochastically sampled values may be used as the set of operating conditions. As another example, values within a predetermined range of values may be evenly sampled for each operating condition, and the combination of the evenly sampled values may be used as the set of operating conditions. As yet another example, a sensitivity to each operating condition may be determined, and then values within a predetermined range of values may be nonlinearly sampled based on the determined sensitivity. This sensitivity may be determined by analyzing results obtained with multiple sets of operating conditions that vary each operating condition separately.
[0062] Although flowchart 700 is illustrated with this step of generating multiple perturbed initial designs 706, in some embodiments, a single initial design 736 based directly on the design specifications may be used without generating a perturbed initial design 706.
[0063] After the perturbed initial designs 706 have been determined (or a single initial design 736 has been generated), the operational simulation 702 proceeds to a simulation portion 750, which is run separately for each perturbed initial design 706 (or once for the single initial design 736). To simulate the performance of the physical device, a set of structural parameters 708 are generated based on the perturbed initial designs 706 (or the single initial design 736). The structural parameters 708 represent the physical structure of the physical device being simulated and may be represented by voxels 612 (or another format suitable for processing by the simulation environment), regardless of the particular parameterization provided by the initial designs 736 or perturbed initial design 706.
[0064] The simulation portion 750 occurs over multiple time steps (e.g., from an initial time step to a final time step over a predetermined or conditional number of time steps having a specified time step size) and models changes (e.g., from initial field values 712) in the electric and magnetic fields of multiple voxels that collectively describe the simulation environment and / or photonic device corresponding to the field responses. More specifically, the update operations (e.g., update operation 714, update operation 716, and update operation 718) are iterative and based on the field responses, structural parameters 708 (i.e., for a selected one of the initial designs 706), and one or more excitation sources 710. Each update operation is followed by another update operation and represents successive steps forward in time within the multiple time steps. For example, update operation 716 updates field values 740 (e.g., see FIG. 7B ) based on the field responses determined from the previous update operation 714, excitation sources 710, and structural parameters 708. Similarly, update operation 718 updates field values 742 (see, e.g., FIG. 7B) based on the field response determined from update operation 716. In other words, at each time step of the operational simulation, the field values (and therefore the field response) are updated based on the previous field response and structural parameters of the photonic device.
[0065] When the final time step of the simulation portion 750 is performed, a performance loss function 720 is used to determine a performance loss value 722 associated with the selected initial designs 706. The performance loss values 722 for each of the perturbed initial designs 706 may be combined into an overall performance loss value that may be used to determine (or may be used as) a loss metric 724. The performance loss values 722 may be combined using any suitable technique. For example, in some embodiments, a linear combination of the performance loss values 722 may be used as the overall performance loss value. As another example, in embodiments in which nonlinear sampling of operating conditions was performed based on sensitivities associated with each operating condition, a nonlinear combination of the performance loss values 722 based on the sensitivities may be performed to create the overall performance loss value. In some embodiments, additional loss values may be combined with one or more performance loss values 722, including, but not limited to, a manufacturing loss value based on whether portions of the structural parameters 708 (and / or the perturbed initial designs 706 or the initial designs 736) are detected as violating one or more manufacturability constraints.
[0066] At block 726, a loss gradient may be determined from the loss metric 724. The loss gradients determined from block 726 may be treated as adjoint or virtual sources (e.g., physical stimuli or excitation sources originating from an output domain or port), which are backpropagated backward (incrementally from the final time step through multiple time steps, via update operation 728, update operation 732, and update operation 730, until the initial time step is reached) to determine structural gradients 734. Because they are determined based on the total performance loss value, structural gradients 734 are associated with the initial design 736, as opposed to each individual perturbed initial design 706. This allows the initial design 736 to be updated without having to process each of the perturbed initial designs 706 individually and propagate the design changes back to the initial design 736, thus eliminating a large amount of unnecessary computation.
[0067] In the illustrated embodiment, the FDTD solution (e.g., simulation portion 750 of motion simulation 702) and backward solution (e.g., adjoint simulation 704) problems are described graphically from a high level using only "update" and "loss" operations and their corresponding gradient operations. The simulation is initially set up, and the structural parameters of the simulation environment (and photonic device), physical stimuli (i.e., excitation sources), and initial field states are provided (e.g., via an initial description and / or input design). As discussed above, the field values are updated in response to the excitation sources based on the structural parameters. More specifically, the update operation is given by φ, where x for i=1,...,n i+1 =φ(x i ,b i , z), where n corresponds to the total number of time steps (e.g., multiple time steps) for the behavioral simulation, where x i corresponds to the field response of the simulation environment at time step i (the field values associated with the electric and magnetic fields at each of the voxels), and b i where σ corresponds to the excitation sources of the simulation environment at time step i (the source values associated with the electric and magnetic fields for each of the voxels), and z corresponds to the structural parameters describing the topology and / or material properties of the physical device (e.g., relative dielectric constants, refractive index, etc.).
[0068] Note that using the FDTD method, the update operation can be specifically shown as follows: φ(x i ,b i ,z)=A(z)x i +B(z)b i
[0069] That is, the FDTD update is linear in the field and source terms. Specifically,
[0070]
number
[0071]
number
[0072] In terms of revising or otherwise optimizing the structural parameters of a physical device, the relevant quantities to generate are:
[0073]
number
[0074] 7B is a chart 738 illustrating the relationship between update operations for motion simulation and adjoint simulation (e.g., backpropagation) according to an embodiment of the present disclosure. More specifically, FIG. 7B illustrates the relationship between the structure gradient
[0075]
number
[0076]
number
[0077]
number
[0078]
number
[0079]
number
[0080]
number
[0081]
number
[0082]
number
[0083]
number
[0084]
number
[0085]
number
[0086]
number
[0087] In particular, directly
[0088]
number
[0089]
number
[0090]
number
[0091] Structural gradient
[0092]
number
[0093]
number
[0094] For completeness, the full form of the first term in the sum:
[0095]
number
[0096]
number
[0097] Based on the definition of φ as described by Eq. (1),
[0098]
number
[0099]
number
[0100]
number
[0101] The adjoint update is the backpropagation of the loss gradient (e.g., from the loss metric) from a later time step to an earlier time step,
[0102]
number
[0103]
number
[0104]
number
[0105] Therefore, the associated sum
[0106] [Number] Each term of
[0107] [Number] <00005�1>(when i >= i0) and [Number] (when i < i0). Since the dependency chains of these two terms are in opposite directions, as a result, like this
[0108] [Number] Calculating requires storing the x i values for all i. In some embodiments, the need to store all field values can be mitigated by a reduced representation of the field.
[0109] In the prior art, the initial design 736 can be directly parameterized using voxels 612 to represent both the initial design 736 and the structural parameters 708. Voxel-based parameterization can lead to counterintuitive and detailed designs such as those illustrated in FIGS. 4A and 4B, but the computational complexity introduced by this parameterization when performing tasks such as manufacturability checks and applying gradient-based updates can make their use prohibitively costly in terms of both time and computational resource requirements. What is desired is a simpler parameterization that can be optimized more easily than voxel-based parameterization that directly represents the structural parameters of the physical device at each position.
[0110] In some embodiments of the present disclosure, rather than using voxel-based parameterization, which requires evaluation of each voxel in the design, the initial design is parameterized using one or more geometric shape primitives, where each geometric shape primitive is large compared to the voxels of the structural parameters. By using significantly fewer geometric shape primitives than the voxels of the structural parameters, the computational resources used to optimize the design are significantly reduced. Also, the geometric shape primitives utilize fewer computational resources to check compliance with manufacturing constraints, as discussed below. Furthermore, it has been found that the use of geometric shape primitives can enable performance loss values to converge after fewer iterations of the optimization loop compared to more detailed voxel-based parameterization.
[0111] FIG. 8 is a schematic, illustrative diagram of a non-limiting example embodiment of parameterizing an initial design using geometric shape primitives, according to various aspects of the present disclosure. In FIG. 8, the initial design includes a design space 802, and the structure within the design space 802 is described by a plurality of geometric shape primitives 804-826. It will be appreciated that the initial design including the design space 802 may include other features, including, but not limited to, one or more input ports and / or one or more output ports. These features, while illustrated in other figures, are not illustrated in FIG. 8 to avoid obscuring other aspects of the disclosed subject matter.
[0112] In the illustrated embodiment, the geometric shape primitives 804-826 are circles. In other embodiments, other types of geometric shape primitives may be used, including, but not limited to, rectangles, higher-order polygons, or other types of geometric shape primitives. As can be seen, using circles (or other simple geometric shapes) as the geometric shape primitives 804-826 can provide various efficiencies. For example, each of the geometric shape primitives 804-826 can be uniquely defined within the design space 802 using a small number of data points. The geometric shape primitive 826 is defined by its defining data points, i.e.,
[0113]
number
[0114]
number
[0115] FIG. 9 is a flowchart illustrating a non-limiting example embodiment of a method 900 for generating a design of a physical device, such as a photonic integrated circuit, using geometric shape primitives in accordance with various aspects of the present disclosure. It is understood that method 900 is an inverse design process, which may be accomplished by performing operations with a system to perform an iterative gradient-based optimization of a loss metric determined from a loss function including at least a performance loss, similar to those illustrated and described in FIGS. 7A and 7B . In the same or other embodiments, method 900 may be included as instructions provided by at least one machine-accessible storage medium (e.g., non-transitory memory) that, when executed by a machine, cause the machine to perform operations to generate and / or improve a design of a physical device. It is further understood that the order in which some or all of the process blocks appear in method 900 should not be considered limiting. Rather, one skilled in the art with the benefit of this disclosure will understand that some of the process blocks may be performed in various orders not illustrated or in parallel.
[0116] Method 900 proceeds from a start block to block 902, where design specifications for a physical device, such as a photonic integrated circuit, are received. In some embodiments, the physical device may be expected to have a particular function after optimization (e.g., operate as an optical demultiplexer, an optical multiplexer, an optical waveguide bend, or another type of optoelectronic component). In some embodiments, the design specifications may indicate the overall structure of the physical device (e.g., dimensions of the design domain, initial locations and number of one or more input ports and / or one or more output ports), desired performance of the device (e.g., desired performance characteristics at each input port and / or output port), one or more manufacturability constraints associated with a manufacturing system used to fabricate the physical device (e.g., minimum feature size, minimum distance, boundary buffer size, etc.), and / or any other relevant specifications.
[0117] At block 904, an initial design 736 including one or more geometric shape primitives is generated based on the design specifications. In some embodiments, the type of geometric shape primitive (e.g., circle, square, rectangle, high-order polygon, etc.) may be indicated by the design specifications. In some embodiments, the number of geometric shape primitives to be included in the initial design 736 may be indicated in the design specifications. In some embodiments, the geometric shape primitives may be randomly sized and randomly positioned within the design space of the initial design 736. In some embodiments, the geometric shape primitives of the initial design 736 may be of default sizes and / or may be placed at default or regular locations within the design space of the initial design 736. In some embodiments, the geometric shape primitives of the initial design 736 may be placed to comply with manufacturability constraints associated with a manufacturing system. In some embodiments, the geometric shape primitives may be placed regardless of manufacturability constraints, with manufacturability achieved during the optimization process.
[0118] Although parameterizing the design space using geometric shape primitives greatly simplifies the search space analyzed during the inverse design process, one problem arises in that the geometric shape primitives themselves are not sufficiently distinguishable. In other words, although the number of parameters optimized for the geometric shape primitives is much smaller than when individual voxels in the design space are optimized, the gradient of the loss metric does not sufficiently backpropagate to the geometric shape primitives themselves due to their discrete (not continuous) nature. Therefore, to improve distinguishability, it is desirable to convert the geometric shape primitives into simulated structural parameters using an intermediate continuous representation. Therefore, in block 906, a signed distance field is determined for each of the geometric shape primitives.
[0119] 10 includes a schematic, illustrative diagram of a first signed distance field and a second signed distance field according to various aspects of the present disclosure. The first signed distance field 1002 and the second signed distance field 1006 are non-limiting examples of signed distance fields for the geometric shape primitive 826 and the geometric shape primitive 810, respectively, of the design space 802 illustrated in FIG. 8. In the first signed distance field 1002, regions within the first geometric shape primitive 1004 are assigned increasingly negative values, while regions outside the first geometric shape primitive 1004 are assigned increasingly positive values. Similarly, in the second signed distance field 1006, regions within the second geometric shape primitive 1008 are assigned increasingly negative values, while regions outside the second geometric shape primitive 1008 are assigned increasingly positive values. In some embodiments, real values are used for the signed distance fields. As shown in Figure 10, a separate signed distance field is created for each of the geometric shape primitives in the initial design 736. Although only two signed distance fields are illustrated in Figure 10, it will be appreciated that a signed distance field is created for each of the geometric shape primitives in the initial design 736.
[0120] In some embodiments, the signed distance field is determined analytically. c , y c For each voxel x,y in the signed distance field for a circular geometric shape primitive with x,y and radius r, the value of the voxel is given by:
[0121]
number
[0122] Returning to FIG. 9 , at block 908, each signed distance field is projected onto a density field to determine a set of structural parameters 708. In some embodiments, the density field may be sized to match the size of the design space and may contain voxels similar to voxels 612 of the simulation environment 606 illustrated above. The value at the corresponding location of each signed distance field may be added to the corresponding voxel of the density field, thereby combining all of the signed distance fields into a single density field to create the structural parameters 708 for the simulation environment 606. After combination, a binarization step may be performed, whereby negative values are set to a value of zero and positive values are set to a value of one to indicate the presence or absence of a given material for the set of structural parameters 708. In some embodiments, some values within a threshold range of zero may be assigned a real value between zero and one to indicate the fractional amount of the voxel that is filled with a given material. In some embodiments, instead of a hard threshold, the values of the density map may be passed through a sigmoid function that assigns most values in the density map to zero or one, but leaves a differentiable transition region close to zero, allowing a gradient to pass through the density map during optimization.
[0123] Within the simulation environment 606, each of the plurality of voxels is associated with a structural value for describing a structural parameter, a field value for describing a field response (e.g., electric and magnetic fields in one or more orthogonal directions) to a physical stimulus (e.g., one or more excitation sources), and a source value for describing the physical stimulus.
[0124] At block 910, the simulation environment 606 is configured to represent the set of structural parameters 708. Once the structural parameters 708 are determined, the simulation environment 606 is configured (e.g., the number of voxels, the shape / arrangement of the voxels, and specific values for the structural, field, and / or source values of the voxels are set based on the structural parameters 708).
[0125] In some embodiments, the simulation environment includes a design region optically coupled between a first communication region and a plurality of second communication regions. In some embodiments, the first communication region may correspond to an input region or port (e.g., where an excitation source originates), and the second communication regions may correspond to a plurality of output regions or ports (e.g., when designing an optical demultiplexer that optically separates a plurality of distinct wavelength channels included in a multi-channel optical signal received at an input port and guides each distinct wavelength channel to a corresponding one of a plurality of output ports). However, in other embodiments, the first communication region may correspond to an output region or port, and the plurality of second communication regions correspond to a plurality of input ports or regions (e.g., when designing an optical multiplexer that optically combines a plurality of distinct wavelength signals received at each of a plurality of input ports to form a multi-channel optical signal that is guided to an output port).
[0126] At block 912, each of the plurality of distinct wavelength channels is mapped to a respective one of the plurality of second communication regions. The distinct wavelength channels may be mapped to the second communication regions according to design specifications. For example, a loss function may be selected that relates a performance metric of a physical device to power transmission from an input port for the mapped channel to an individual output port. In one embodiment, a first channel included in the plurality of distinct wavelength channels is mapped to a first output port, meaning that the performance metric of the physical device for the first channel is tied to the first output port. Similarly, other output ports may be mapped to the same or different channels included in the plurality of distinct wavelength channels. Thus, each distinct wavelength channel is mapped to a respective one of the plurality of output ports (i.e., second communication regions) within the simulation environment 606. In one embodiment, the plurality of second communication regions includes four regions, and the plurality of distinct wavelength channels includes four channels, each mapped to a corresponding one of the four regions. In other embodiments, there may be a different number of second communication regions (e.g., eight regions) and a different number of channels (e.g., eight channels) each mapped to a respective one of the second communication regions. In some embodiments, only a single input port and a single output port may be included, such as for a waveguide bend or other device intended to change the direction of an input signal to another direction.
[0127] Block 914 illustrates running an operational simulation 702 of a physical device within simulation environment 606 operating in response to one or more excitation sources to determine a performance loss value 722. More specifically, in some embodiments, an electromagnetic simulation is run in which the field response of the photonic integrated circuit is incrementally updated over multiple time steps to determine how the field response of the physical device changes due to the excitation source. The field values of multiple voxels are updated in response to the excitation source and based at least in part on the structural parameters 708 of the integrated photonic circuit. Additionally, each update operation at a particular time step may also be based at least in part on a previous (e.g., immediately preceding) time step.
[0128] As a result, the operational simulation 702 simulates the interaction between the photonic device (i.e., the photonic integrated circuit) and the physical stimulus (i.e., one or more excitation sources) to determine a simulated output of the photonic device (e.g., at one or more of the output ports or regions) in response to the physical stimulus. This interaction may correspond to any one or combination of perturbations, retransmissions, attenuation, dispersion, refraction, reflection, diffraction, absorption, scattering, amplification, or other perturbations of the physical stimulus in the electromagnetic domain due at least in part to the structural parameters 708 of the photonic device and the underlying physics governing the operation of the photonic device. Thus, the operational simulation 702 simulates how the field response of the simulation environment 606 changes due to the excitation sources over multiple time steps (e.g., from an initial time step to a final time step with a predetermined step size).
[0129] In some embodiments, the simulated output may be utilized to determine one or more performance metrics of the physical device. For example, a pump source may correspond to a selected one of a plurality of distinct wavelength channels, each mapped to one of a plurality of output ports. The pump source may occur in or be disposed proximate to a first communication region (i.e., input port) when performing the operational simulation 702. Then, during the operational simulation 702, a field response at the output port mapped to the selected one of the distinct wavelength channels may be utilized to determine a simulated power transmission of the photonic integrated circuit for the selected distinct wavelength channel. In other words, the operational simulation 702 may be utilized to determine a performance metric that includes determining a simulated power transmission of the pump source from the first communication region, through the design region, to a respective one of a plurality of second communication regions mapped to the selected one of the distinct wavelength channels. In some embodiments, the pump source may cover the entire spectrum of the multiple output ports to determine a performance metric (i.e., simulated power transmission) associated with each of the distinct wavelength channels of the photonic integrated circuit (e.g., the pump source spans a target frequency range of at least a portion of the bandpass region, corresponding transition band region, and corresponding stopband region of each of the multiple distinct wavelength channels). In some embodiments, one or more frequencies spanning the passband of a given one of the multiple distinct wavelength channels are randomly selected to optimize the design (e.g., batch gradient descent while having the full width of each passband, including any ripple within the passband, meet the target specifications). In the same or other embodiments, each of the multiple distinct wavelength channels has a common bandwidth with a different center wavelength. The performance metric may then be used to generate a performance loss value for the initial design 736. The performance loss value may correspond to the difference between the performance metric and the target performance metric of the physical device.
[0130] Although a single initial design 736 and a single set of structural parameters 708 are described above, in some embodiments, the initial design 736 may be perturbed to create multiple initial designs 706, for example, to simulate the effects of different operating conditions for a manufacturing system during the manufacture of a physical device. Each of the multiple initial designs 706 may be used to create structural parameters 708 and generate performance loss values. The performance loss values may be combined into a single loss metric 724, which may then be used to update the initial design 736.
[0131] One advantage of using a simple geometric shape primitive, such as a circle, is that it is easy to perturb the initial design 736 to create multiple initial designs 706. Typically, different operating conditions cause features of the design to erode or expand during manufacturing from the size of the specified initial design 736. By using a simple geometric shape primitive, such as a circle, the size of each feature can be eroded or expanded as needed by simply changing the radius of the circle, rather than utilizing more complex morphological erosion or expansion operations for more complex shapes.
[0132] In some embodiments, loss metric 724 may include terms in addition to performance loss values to optimize different aspects of initial design 736. For example, in some embodiments, manufacturing loss value terms may be included in loss metric 724. One advantage of using geometric shape primitives is the particular ease with which compliant manufacturing constraints can be determined and included in loss metric 724.
[0133] 11 includes three illustrative diagrams of manufacturing constraints that can be easily expressed and analyzed using geometric shape primitives, according to various aspects of the present disclosure. In a first design space 1102, a minimum feature size manufacturing constraint check is illustrated. Each of the geometric shape primitives may be configured to have a radius that corresponds to or exceeds the minimum feature size.
[0134]
number
[0135] In the second design space 1104, checking the minimum distance manufacturing constraint is illustrated. A comparison is performed using the size and position of each pair of geometric shape primitives to determine the distance between each pair of geometric shape primitives. For the illustrated circular geometric shape primitives, this comparison is simple: the distance between the centers of the circles is determined using the difference between the vectors defined by the X and Y coordinates of the circles. The radius of the circle is then subtracted from this distance to determine the distance between the geometric shape primitives. As a formula, the distance d between each pair of geometric shape primitives is ij is given as follows: ||v j -v i ||-(r i +r j ) This value is the minimum distance manufacturing constraint d for each pair. minAs illustrated, the first geometric shape primitive 1114 and the third geometric shape primitive 1118 comply with the minimum distance, the first geometric shape primitive 1114 and the second geometric shape primitive 1116 comply with the minimum distance, but the third geometric shape primitive 1118 and the second geometric shape primitive 1116 do not. Again, computing this manufacturing constraint is very efficient (O(n 2 ), where n is the number of geometric shape primitives.
[0136] A third design space 1106 illustrates checking the boundary buffer manufacturing constraint, where the distance between the feature and the edge of the design area cannot lie within the boundary buffer 1120 (in other words, the distance between the feature and the edge of the design area must be greater than the boundary buffer size to comply with the boundary buffer manufacturing constraint). Furthermore, this manufacturing constraint, along with the boundary buffer size, determines the center x for each circle as follows: c , y c , and radius r c This can be checked very easily using the values for .
[0137]
number
[0138] This manufacturing constraint can also be checked efficiently by simply performing these checks n times, where n is the number of geometric shape primitives in the design. As shown, the first geometric shape primitive 1122 and the second geometric shape primitive 1124 do not violate this manufacturing constraint because they do not violate the boundary buffer 1120, whereas the third geometric shape primitive 1126 does violate this manufacturing constraint because it crosses the boundary buffer 1120.
[0139] In some embodiments, the initial design 736 may have one or more geometric primitives that initially violate one or more manufacturing constraints. By including the manufacturing constraints in the loss metric 724 used to update the design, manufacturability can be optimized for the design during the method 900. In some embodiments, the initial design 736 may be created with the manufacturing constraints in mind so that none of the manufacturing constraints are violated, and updates may be applied while continuing to comply with the manufacturing constraints so that all of the simulated designs are manufacturable.
[0140] 9, block 916 illustrates backpropagating the loss metric 724 through a loss function through the simulation environment 606 to determine the effect of changes in the structural parameters 708 (i.e., structural gradients) on the loss metric. The loss metric is treated as an adjoint or virtual source and is incrementally backpropagated from the final time step to earlier time steps in a backward simulation to determine the structural gradients of the physical device.
[0141] Block 918 indicates that the signed distance field is used to revise the design of the physical device (e.g., a revised description is generated) by updating the geometric shape primitives and adjusting the loss metric. Backpropagation is first applied to the structural parameters, from the structural parameters to the density field, from the density field to the signed distance field, and from the signed distance field to the geometric shape primitives of the initial design 736. By using a differentiable function to convert from the geometric shape primitives to the signed distance field, the gradient can flow all the way back to the geometric shape primitives. In other words, the optimizer
[0142]
number
[0143]
number
[0144]
number
[0145] In some embodiments, adjusting the loss metric may reduce the loss metric. However, in other embodiments, the loss metric may be adjusted or otherwise compensated in a manner that does not necessarily reduce the loss metric. In some embodiments, the revised description is generated by utilizing an optimization scheme after cycles of operation and adjoint simulation via a gradient descent algorithm, a Markov chain Monte Carlo algorithm, or other optimization technique. In other words, the iterative cycles of simulating the physical device, determining the loss metric, backpropagating the loss metric, updating structural parameters to adjust the loss metric, and updating geometric shape primitives using the signed distance field may be performed continuously until the loss metric substantially converges such that the difference between the performance metric and the target performance metric is within a threshold range. In some embodiments, the term "converge" may simply indicate that the difference is within a threshold range and / or below some threshold.
[0146] 11 can be computed very efficiently, so that a separate optimization for manufacturability can be applied (or interleaved) with an optimization for performance without significantly increasing the time and / or computational power utilized for the optimization. In some embodiments, the list of geometric shape primitives can be represented as a single vector of coordinates that make up each geometric shape primitive (e.g., a vector of radius, x-coordinate, and y-coordinate values for each circle) combined with a buffer constraint (e.g., vector c can be expressed as c=[d ij,b1,b2,b3] and d ij = {r,x,y}) by rearranging the buffer constraints so that they are satisfied when they are negative (e.g., d for the buffer constraint illustrated in the second design space 1104). min -||v j -v i ||-(r i +r j )<0), this vector can be optimized to obtain a manufacturable design.
[0147] In some embodiments, a scalar value based on the manufacturing loss vector may be used in the optimization. For example, a softmax(c) value may be determined based on the fact that a manufacturable design corresponds to a softmax(c)<0. This scalar optimizer uses the gradient
[0148]
number
[0149] The optimizer may struggle to properly optimize all of the elements that fall into a single scalar value, which can lead to failure to converge to a manufacturable design. Therefore, in some embodiments, an optimization strategy that immediately optimizes the entire vector takes the Jacobian of the vector and computes the Jacobian for the manufacturability portion of the optimization.
[0150]
number
[0151] At decision block 920, a determination is made as to whether physical device design optimization has occurred. In some embodiments, physical device design optimization may occur when it is determined that loss metric 724 has reached an acceptable value, such as a value specified by a design specification. In some embodiments, physical device design optimization may occur after a predetermined number of iterations.
[0152] If it is determined that optimization has not yet occurred, the result of decision block 920 is NO and the method 900 returns to block 906 to iterate on the updated geometric shape primitives. Otherwise, if it is determined that optimization has occurred, the result of decision block 920 is YES and the method 900 proceeds to block 922.
[0153] Block 922 illustrates outputting an updated design of the physical device. The updated design may be output to a computer-readable medium for storage and later operation, including, but not limited to, manufacturing, further optimization, or inclusion in additional designs. In some embodiments, the updated design may be output to a manufacturing system for manufacturing the physical device. In some embodiments, the updated design may be output to the manufacturing system by providing a grid of voxels, each of which indicates the material contained in a corresponding location on the physical device. In some embodiments, the updated design may be output to the manufacturing system by outputting a list of the geometric shape primitives themselves, which may then be ingested by the manufacturing system to manufacture the physical device.
[0154] The method 900 then proceeds to an end block and ends.
[0155] In the foregoing description, numerous specific details are set forth to provide a thorough understanding of various embodiments of the present disclosure. However, those skilled in the art will recognize that the techniques described herein may be practiced without one or more of the specific details, or with other methods, components, materials, etc. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring certain aspects.
[0156] References throughout this specification to "one embodiment" or "an embodiment" mean that a particular feature, structure, or characteristic described in connection with an embodiment is included in at least one embodiment of the present invention. Thus, the appearances of the phrase "in one embodiment" or "in an embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0157] The order in which some or all of the blocks appear in each method flowchart should not be considered limiting. Rather, one skilled in the art having the benefit of this disclosure will understand that the actions associated with some of the blocks may be performed in various orders not illustrated, or even in parallel.
[0158] The processes described above are described with reference to computer software and hardware. The described techniques may constitute machine-executable instructions embodied in a tangible or non-transitory machine (e.g., computer) readable storage medium that, when executed by a machine, causes the machine to perform the described operations. Additionally, the processes may be embodied in hardware, such as an application specific integrated circuit ("ASIC"), or the like.
[0159] The above description of illustrated embodiments of the present invention, including what is described in the Abstract, is not intended to be exhaustive or to limit the invention to the precise form disclosed. While specific embodiments of and examples for the present invention have been described herein for illustrative purposes, those skilled in the art will recognize that various modifications are possible within the scope of the present invention.
[0160] These modifications can be made to the invention in light of the above detailed description. In general, the terms used in the following claims should not be construed to limit the invention to the specific embodiments disclosed herein. Rather, the scope of the invention is to be determined entirely by the following claims, which are to be construed in accordance with established doctrines of claim interpretation.
Claims
1. A non-transitory computer-readable medium having computer-executable instructions stored thereon, the instructions, when executed by one or more processors of a computing system, causing the computing system to perform actions for designing a physical device, the actions including: generating, by the computing system, an initial design based on a design specification, the initial design including a list of geometric shape primitives; determining, by the computing system, a set of construction parameters using the list of geometric shape primitives; simulating, by the computing system, the performance of the initial design using the set of structural parameters to determine a performance loss value; updating, by the computing system, at least one of a size or a position of at least one of the geometric shape primitives using the gradient of the performance loss value; 1. A non-transitory computer-readable medium comprising:
2. The non-transitory computer-readable medium of claim 1 , wherein determining the set of construction parameters comprises determining a signed distance field for each geometric shape primitive.
3. The non-transitory computer-readable medium of claim 2 , wherein determining the set of structural parameters comprises projecting each of the signed distance fields onto a density field.
4. The non-transitory computer-readable medium of claim 1 , wherein the geometric shape primitive is a circle.
5. 5. The non-transitory computer-readable medium of claim 4, wherein using the gradient of the performance loss value to update at least one of the size or the position of at least one of the geometric shape primitives comprises using a manufacturing loss value as a constraint.
6. 6. The non-transitory computer-readable medium of claim 5, wherein the manufacturing loss value represents at least a minimum feature size, and wherein the manufacturing loss value is determined at least in part by comparing a radius of each geometric shape primitive to a threshold size.
7. 6. The non-transitory computer-readable medium of claim 5, wherein the manufacturing loss value represents at least a minimum distance, and wherein the manufacturing loss value is determined at least in part by a pairwise difference between a vector representing a center of a geometric shape primitive and a radius of the geometric shape primitive.
8. 6. The non-transitory computer-readable medium of claim 5, wherein the manufacturing loss value represents at least a boundary buffer, and the manufacturing loss value is determined at least in part by comparing center coordinates of each geometric shape primitive to a threshold location defined by a boundary buffer size.
9. 5. The non-transitory computer-readable medium of claim 4, wherein the actions further comprise modifying at least one radius of at least one geometric shape primitive to simulate dilation or erosion of a corresponding feature during manufacturing.
10. The non-transitory computer-readable medium of claim 1 , wherein the actions further comprise sending the list of geometric shape primitives to a manufacturing system for manufacturing the physical device.
11. 1. A computer-implemented method for designing a physical device, the method comprising: generating, by a computing system, an initial design based on a design specification, the initial design including a list of geometric shape primitives; determining, by the computing system, a set of construction parameters using the list of geometric shape primitives; simulating, by the computing system, the performance of the initial design using the set of structural parameters to determine a performance loss value; and updating, by the computing system, at least one of a size or a position of at least one of the geometric shape primitives using a gradient of the performance loss value.
12. The method of claim 11 , wherein determining the set of construction parameters comprises determining a signed distance field for each geometric shape primitive.
13. The method of claim 12 , wherein determining the set of structural parameters comprises projecting each of the signed distance fields onto a density field.
14. The method of claim 11 , wherein the geometric shape primitive is a circle.
15. 15. The method of claim 14, further comprising: updating at least one of the size or the position of at least one of the circles using a gradient of a manufacturing loss vector, wherein the gradient of the manufacturing loss vector is determined based on one or more manufacturing constraints.
16. 16. The method of claim 15, wherein the one or more manufacturing constraints represent at least a minimum feature size, and the manufacturing loss vector is determined at least in part by comparing a radius of each geometric shape primitive to a threshold size.
17. 16. The method of claim 15, wherein the one or more manufacturing constraints represent at least a minimum distance, and the manufacturing loss vector is determined at least in part by a pairwise difference between a vector representing a center of a geometric shape primitive and a radius of the geometric shape primitive.
18. 16. The method of claim 15, wherein the one or more manufacturing constraints represent at least a boundary buffer, and the manufacturing loss vector is determined at least in part by comparing a center coordinate of each geometric shape primitive to a threshold location defined by a boundary buffer size.
19. The method of claim 14 , further comprising: modifying at least one radius of at least one geometric shape primitive to simulate dilation or erosion of the corresponding feature during fabrication.
20. The method of claim 11 , further comprising transmitting the list of geometric shape primitives to a manufacturing system for manufacturing the physical device.
Citation Information
Patent Citations
Simulation of Resizable Objects Using a Rigid Body Solver
JP2018500683A
Two-channel integrated photonic wavelength demultiplexer
US20210149109A1