Cascade model for optimizing fabrication and design of physical devices
Through the backpropagation technology of cascaded micromanufacturing and design models, the structural design and manufacturing process of electromagnetic equipment are optimized, and the problems of multiple and complex design parameters in the existing technology are solved, and the improvement of equipment performance and manufacturing accuracy is achieved.
Patent Information
- Application Number
- CN202080041347.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-06-05
- Filing Date
- 2020-05-21
- Publication Date
- 2024-12-17
- Estimated Expiration
- 2040-05-21
AI Technical Summary
When designing and manufacturing electromagnetic equipment, the prior art faces the problems of numerous design parameters and complex functions, which leads to increased difficulty in equipment optimization and manufacturing. Traditional methods rely on guessing and inspection, and lack systematic optimization methods.
Using cascading micromanufacturing and design models, the structural design and manufacturing process of physical equipment are optimized through backpropagation technology, and combined with manufacturing and design models, end-to-end inversion design, optimize performance parameters and manufacturing specifications.
It realizes efficient optimization of electromagnetic equipment, reduces manufacturing losses and performance losses, improves equipment performance and manufacturing accuracy, and simplifies design and manufacturing processes.
Smart Images

Figure CN113950684B_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims the benefit of U.S. Patent Application No. 16 / 432,538, filed on June 5, 2019, the contents of which are incorporated herein by reference. Technical Field
[0003] The present disclosure relates generally to fabrication and design optimization of physical devices, and particularly, but not exclusively, to inverse design techniques. Background Art
[0004] Electromagnetic devices (e.g., optical, electrical, or other) are devices that create, manipulate, propagate, and / or measure electromagnetic radiation. Their applications vary widely and include, but are not limited to, acousto-optic modulators, optical modulators, optical ring resonators, distributed Bragg reflectors, lasers, lenses, transistors, waveguides, antennas, and the like. Conventional techniques for designing these devices are sometimes determined by a simple guess-and-check approach in which a small number of design parameters of a predetermined design are adjusted to suit a particular application. In practice, however, these devices may have design parameters ranging from hundreds to billions, depending on device size and functionality. As the functionality of electromagnetic devices increases and manufacturing tolerances improve to allow for smaller device feature sizes, it becomes increasingly important to take advantage of these improvements via optimized device design and manufacturing. BRIEF DESCRIPTION OF THE DRAWINGS
[0005] Non-limiting and non-exhaustive embodiments of the present invention are described with reference to the following drawings, wherein like reference numerals throughout the various views refer to like parts unless otherwise specified. Not all instances of an element must be labeled so as not to clutter the drawings where appropriate. The drawings are not necessarily drawn to scale, emphasis instead being placed on illustrating the principles of the description.
[0006] Figure 1 is a functional block diagram illustrating an evaluation architecture including a manufacturing model cascaded with a design model according to an embodiment of the present disclosure.
[0007] Figure 2 is a flow chart illustrating the operation of a cascaded manufacturing and design model for optimizing both manufacturing and structural design of a physical device in accordance with an embodiment of the present disclosure.
[0008] Figure 3 is a graph illustrating multiple local minima in an optimization landscape according to an embodiment of the present disclosure.
[0009] Figure 4is a functional block diagram of a computing system for simulating and optimizing the fabrication and operation of a physical device according to an embodiment of the present disclosure.
[0010] Figure 5A An illustrative simulation environment for simulating the operation of a physical device according to an embodiment of the present disclosure is shown.
[0011] Figure 5B An operational simulation of a physical device according to an embodiment of the present disclosure is shown.
[0012] Figure 5C An adjoint simulation (back propagation) of performance loss errors through a simulated environment is shown in accordance with an embodiment of the present disclosure.
[0013] Fig. 6A is a flow chart illustrating example timesteps for operating and accompanying simulations according to an embodiment of the present disclosure.
[0014] Figure 6B is a flowchart illustrating the relationship between operation simulation and back propagation according to an embodiment of the present disclosure. DETAILED DESCRIPTION
[0015] Embodiments of systems, devices and methods for simulating and optimizing manufacturing specifications and / or design specifications for physical devices using cascaded manufacturing and design models are described herein. In the following description, many specific details are set forth to provide a thorough understanding of the embodiments. However, those skilled in the relevant art will recognize that the technology described herein can be practiced without one or more of the specific details or using other methods, components, materials, etc. In other examples, well-known structures, materials, or operations are not shown or described in detail to avoid blurring certain aspects.
[0016] References throughout this specification to "one embodiment" or "an embodiment" mean that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, the phrases "in one embodiment" or "in an embodiment" appearing throughout this specification do not necessarily all refer to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0017] The design and optimization of physical devices such as electromagnetic devices (e.g., antennas, waveguides, etc.), photonic devices (e.g., lasers, LEDs, waveguides, etc.), fluidic devices, or acoustic devices can be treated as an inverse problem, where the designer provides a target specification and then determines a design that satisfies it. The target specification can be formalized and explicitly described in terms of a loss function L, where the convention L≤0 indicates that the target performance / manufacturing parameters have been achieved. The inverse problem then consists of finding a structural design z or a manufacturing process f that satisfies L≤0. In contrast, the corresponding "forward problem" is one where the performance of a given design relative to the target specification needs to be determined for the given design.
[0018] Described herein is a method for the inverse problem of the design and manufacture of physical devices. The method includes directly cascading a manufacturing model for performing a differentiable manufacturing simulation of a physical device with a design model that performs a differentiable (and possibly reversible) operation simulation. In other words, the design model provides an operation simulation that can simulate the operational physical characteristics of a given structural design. The manufacturing model provides a manufacturing simulation that can simulate the manufacturing specifications for building a structural design. The techniques described herein for cascading multiple models (e.g., manufacturing and design models) can also be extended to cascading other types of models, such as installation models, to build a design that is robust to common installation errors.
[0019] In order to optimize a given structural design for certain performance parameters using an inversion method, the derivative of the performance objective function (loss function L) with respect to the structural property z (e.g., material property) is defined as a function of the position in space. If the physical properties governing the performance parameters are well defined (such as Maxwell's electromagnetic equations), this can be done in a fully differentiable and reversible manner. The embodiments described herein take the inversion design method a step further, considering not only the material properties or their presence / absence of the physical device to be built, but also the fabrication or manufacturing process that produces the structural design and material properties. In the example of silicon photonic devices, this means having a fully differentiable model of the lithography process, such as growing material layers (e.g., deposition), masking, etching, etc. In the example of a mechanical processing physical device such as a 2.5DCNC machining process for producing waveguides, this means generating a differentiable model of the milling process, thereby removing material according to the tool path and tool selection. Modeling of the milling process can include mathematical expressions describing backlash, limited control accuracy, etc. Using differentiable models of these manufacturing processes enables gradients or derivatives of performance parameters to be propagated back not only further to material values (i.e., structural design), but all the way back to the more fundamental manufacturing processes that produce the material values when building the physical device (e.g., lithography, CNC tool paths, etc.).
[0020] Embodiments described herein contemplate inverse design and manufacturing techniques that cascade a manufacturing model for performing a manufacturing simulation with a design model for performing an operational simulation (also referred to as a physical simulation). In one embodiment, both models are differentiable (and in some cases reversible, meaning that if an input is provided to the model, an output can be obtained, and if there is an output, then it can be back to the input again). For example, if a perturbation is provided at the output, it can be propagated in the reverse direction to see what the corresponding perturbation of the input should be. Furthermore, by cascading the design model with the manufacturing model, the perturbation at the output of the design model may be propagated back even further than the input of the design model, but all the way back to the change or perturbation in the manufacturing specification. In other words, embodiments described herein facilitate end-to-end inverse design that begins with stating one or more target performance parameters (e.g., in the example of the design and manufacture of waveguides, the output power in a particular waveguide mode) and ends with a manufacturing specification that can be specified as a control input to a milling machine used to manufacture a physical device capable of achieving the target performance parameters.
[0021] Figure 1 1 is a functional block diagram illustrating an evaluation architecture 100 cascading a manufacturing model 105 with a design model 110 according to an embodiment of the present disclosure. The illustrated embodiment of the evaluation architecture 100 includes the manufacturing model 105, the design model 110, a manufacturing loss function 115, a manufacturing loss value 116, a performance loss function 120, a performance loss value 121, a manufacturing optimizer 125, a manufacturing specification 130, a variability factor 135, a structural design 140, a simulated performance parameter 145, a target performance parameter 150, a performance loss error 155, a structural optimizer 158, a revised structural design 160, a target structural design 165, a structural design error 171, a manufacturing specification error 172, and a revised manufacturing specification 175.
[0022] The manufacturing model 105 represents simulation logic that is configured with a specific manufacturing specification 130 to perform a manufacturing simulation that simulates the steps and processes used to build a physical device. The output of the manufacturing model 105 is a structural design 140, which is a description of the material structure of the physical device. In some embodiments, the structural design 140 may additionally include or itemize one or more manufacturing parameters such as yield, cost, manufacturing time, etc. Alternatively, these manufacturing parameters may alternatively be derived from the structural design 140. The manufacturing model 105 may include a proprietary or commercial CAD program for simulating device manufacturing using one or more manufacturing tools (such as 2.5D CNC tools, etching tools (e.g., deposition chambers, etching baths, photolithography tools, mask tools, etc.) or other). The manufacturing model 105 is a mathematical model that represents these manufacturing processes in a differentiable (and possibly reversible) manner. In one embodiment, in the example of modeling a lithography manufacturing process, the manufacturing model 105 may be based on a computational etching method. The manufacturing model 105 may also characterize any number of statistical or variability factors 135 that cause variability in the output structural design 140, such as backlash, finite control precision, pressure and temperature deviations, etc. This variability is Figure 1 140 is represented by the entirety 141 of the structural design 140. In some embodiments, the manufacturing model 105 includes heuristics that take into account line width, minimum radius of curvature, or other manufacturing constraints.
[0023] The differentiable nature of the manufacturing model 105 facilitates the back propagation of the structural design error 171 through the manufacturing model 105. The structural design error 171 represents a multivariate error term describing the difference (e.g., loss or error) between the simulated structural design (e.g., the structural design 140) and the target structural design (e.g., the target structural design 165). In one embodiment, the structural design error 171 includes a structural gradient output from the design model 110 (path A) as a result of the back propagation of the performance loss error 155 through the design model 110. In another embodiment, the structural design error 171 is generated by the manufacturing loss function 115 based on comparing the structural design 140 with the target structural design 165 (path B). Again, the structural design error 171 may still include a structural gradient output from the manufacturing loss function 115, which is back propagated through the manufacturing model 105. In contrast to the multivariate nature of the structural design error 171, the manufacturing loss value 116 is a scalar value (e.g., the mean square error of the structural design error term) used to evaluate the success of each manufacturing or structural optimization iteration.
[0024] In yet another embodiment, the structural gradients from both paths A and B can be combined in a weighted manner to generate a structural design error 171 as a loss error that is a weighted combination of both paths A and B. Thus, paths A and B are not mutually exclusive paths. Employing a weighted combination of the errors output from the manufacturing loss function 115 and the design model 110 enables penalizing certain manufacturing parameters (e.g., individual processing steps, tool selection, material selection, cost, yield, variability, etc.) to reduce the manufacturing loss value 116 while also reducing the performance loss value 121. For example, the number of manufacturing steps, manufacturing cost, etc. can be derived from the structural design 140, while the yield and manufacturing time can be derived from the entirety 141 of the structural design 140 (discussed in further detail below). The errors associated with these manufacturing parameters are back-propagated through the manufacturing model 105 to generate a manufacturing specification error 172. The manufacturing specification error 172 includes various gradients of these manufacturing parameters calculated using a program such as TensorFlow, which can be obtained from Google Inc. Manufacturing optimizer 125 executes an optimization algorithm (e.g., a gradient descent algorithm) with respect to these manufacturing gradients to iteratively reduce manufacturing penalty value 116 and / or performance penalty value 121 and generate revised manufacturing specifications 175. While structural design errors 171 may include gradients that provide a sensitivity measure to changes to the designed structure (e.g., structural gradients), manufacturing specification errors 172 may include gradients that provide a sensitivity measure to changes to the manufacturing process used to manufacture the structural design (e.g., manufacturing gradients).
[0025] The design model 110 represents simulation logic that is configured with a structural design 140 to establish a virtual or simulated environment that not only describes the structure of a physical device in an N-dimensional space (e.g., 3D space), but also simulates the physical properties under its operation. In one embodiment, the simulation environment established within the design model 110 is based on an array of voxels, each voxel describing the material properties at a given position in the N-dimensional space. When loaded into the virtual test bench of the design model 110, the structure of the physical device is defined by the structural design 140. However, the virtual test bench also includes operational logic for calculating and propagating field responses to excitation sources. For example, the operational logic can perform a finite difference time domain (FDTD) method to calculate the field response and propagate the field response through the simulation environment. The design model 110 is a mathematical model that represents the structure of a physical device and simulates its operation (e.g., the propagation of the field response) in a differentiable and reversible manner.
[0026] The output of the design model 110 is a simulated field response at an output region (e.g., an output port) after a certain number of simulation steps. A particular performance parameter of the field response of the output may be selected as a parameter of interest and referred to as a simulated performance parameter 145. The performance loss function 120 uses the simulated performance parameter 145 to calculate a performance loss value 121, which may be a scalar value (e.g., the mean square error between the simulated performance value 145 and the target performance value 150). For example, in the example of a waveguide, the simulated performance parameter 145 may be a simulated field response value at the output required to calculate the optical power in a particular wavelength band and a particular waveguide mode.
[0027] Although the present application describes the evaluation architecture 100 with reference to making and operatively simulating a physical device that propagates an electromagnetic field, other types of physical devices that propagate other types of fields may also be simulated. For example, a physical device that propagates fluid waves or acoustic waves may also be simulated, since the equations describing the propagation of these fields / waves are well known.
[0028] The differentiable nature of the design model 110 enables the performance loss error 155 to be back-propagated through the simulation environment in reverse via the adjoint simulation. In one embodiment, the performance loss error 155 is calculated based on the defined performance loss function 120, which compares the simulated performance parameter 145 with the target performance parameter 150 (i.e., the desired result). The performance loss error 155 itself is a multivariate error term representing the loss between the simulated performance and the design performance. The performance loss error 155 is back-propagated through the design model 110 during the adjoint simulation to generate a structural design error 171 at its input. In one embodiment, the performance loss error 155 includes a back-propagated gradient (e.g., a loss gradient). The back-propagation of the performance loss error 155 facilitates the calculation of additional performance gradients, such as structural gradients representing the sensitivity of the performance loss value 121 to changes in the structural material properties of the physical device. These gradients are output as structural design errors 171 (path A), which can then be used by the structural optimizer 158 to perform iterative gradient descent (e.g., stochastic gradient descent) to optimize or refine the structural design 140 to generate a modified structural design 160 (path D). Alternatively (or additionally), the structural gradients generated during the adjoint operation simulation may be directly cascaded back to the manufacturing model 105 (paths A and C) and used by the structural optimizer 158 (path D). The revised structural design 160 output from the structural optimizer 158 may be used by the design model 110 to iterate the performance optimization loop 101 (along paths A, D, and E) and / or by the manufacturing loss function 115 to iterate the manufacturing optimization loop 102 (along paths F, B, and C).
[0029] like Figure 1As shown in , the manufacturing model 105 is cascaded with the design model 110. Figure 1 , the manufacturing model 105 and the design model 110 are forward cascaded so that the forward simulation results (e.g., the structural design 140) output from the manufacturing model 105 can be input into the design model 110. Accordingly, the manufacturing model 105 and the design model 110 are reverse cascaded so that the output from the design model 110 can be back-propagated through the manufacturing model 105 directly (via paths A and C) as the structural design error 171, or indirectly via the structural optimizer 158 and the manufacturing loss function 115 (via paths A, D, E, F, B, and then C). As described above, the results of the manufacturing back-propagation can be used to calculate a manufacturing gradient representing a sensitivity measure of the manufacturing step with respect to the manufacturing loss value 116. However, it should also be understood that the gradients output from both the design model 110 and the manufacturing model 105 can be combined (e.g., a weighted combination) to calculate a sensitivity measure that also relates changes in manufacturing parameters to the performance loss function 120. In other words, the manufacturing optimizer 125 can use the manufacturing gradient to revise or optimize the manufacturing specification 130 to improve not only the manufacturing and design of the physical device (e.g., the structural design 140) but also the operational performance of the physical device (e.g., the simulation performance parameters 145), thereby providing end-to-end manufacturing, design, and performance optimization. In one embodiment, the manufacturing optimizer 125 performs a gradient descent algorithm to generate a revised manufacturing specification 175 that represents an improvement or optimization of the previous manufacturing specification 130.
[0030] Figure 2 2 is a flow chart illustrating a process 200 for evaluating the operation of the architecture 100 according to an embodiment of the present disclosure. The order in which some or all of the processing blocks appear in the process 200 should not be considered limiting. Rather, one of ordinary skill in the art having the benefit of the present disclosure will appreciate that some of the processing blocks may be performed in a variety of orders not shown, or even in parallel.
[0031] In processing block 205, an initial manufacturing specification 130 is obtained and loaded to configure the manufacturing model 105. The manufacturing specification 130 may include a designer file that is converted into an optical mask (e.g., Gerbers or equivalent), a tool path descriptor (e.g., G-code or equivalent), or various other designer file types for specifying a manufacturing process flow. As described above, the manufacturing specification 130 may describe a manufacturing process for a lithography step, a milling step, or various manufacturing techniques.
[0032] Once the manufacturing specification 130 is used to set up and configure the manufacturing model 105, a manufacturing simulation may be performed in processing block 210. The manufacturing simulation virtualizes the manufacturing process, subject to the real-world physical characteristics and constraints of a given manufacturing tool / environment. The output of the manufacturing simulation is a structural design 140 that represents a design iteration of a physical device. In one embodiment, various real-world statistical or variability factors 135 may be considered during the manufacturing simulation. These variability factors 135 may include statistical deviations associated with the manufacturing process, such as backlash, finite control precision (including pressure deviation, temperature deviation, motor control, optical resolution, etc.). As such, the output of the manufacturing simulation may not be a simple single fixed structural design 140, but rather an ensemble 141 of structural designs 140 covering the range of structural designs caused by the variability factors 135. Accordingly, the design model 110 may also introduce variability (e.g., different temperatures, stresses, input misalignments, wavelengths, etc.) such that an ensemble of field responses is generated for the ensemble 141 of structural designs 140.
[0033] In processing block 215, the structural design 140 is loaded into the design model 110 to configure its simulation environment for operational simulation. The operational simulation is a physics-based simulation of the field response propagated through the simulation environment. As the field response propagates outward from one or more excitation sources, the operational simulation determines the field response at each voxel in the N-dimensional space for each time step of the operational simulation. The field response values calculated for each time step can then be used to calculate the field gradient (e.g., the partial derivative of the response field to the partial derivative of the structure), as described below. In addition, the simulation performance parameters 145 are extracted from the field response calculated for a specified time step (e.g., the final time step) of the operational simulation at a specified area (e.g., the output area). The simulation performance parameters 145 may include parameters of interest for the current iteration of the benchmark structural design 140. Such parameters of interest may include, for example, the output power in a specific waveguide mode.
[0034] In processing block 220, the performance loss function 120 is used to compare the simulated performance parameters 145 with the target performance parameters 150 to generate a performance loss value 121 and calculate a performance loss error 155 for the accompanying operation simulation. For example, the performance loss function 120 can use the mean square error between the simulated performance parameters 145 and a specific parameter of interest in the target performance parameters 150 to generate the performance loss value 121. In one embodiment, the performance loss value 121 is a scalar value. The performance loss error 155 can be a loss gradient back-propagated during the accompanying operation simulation. As the structural design 140 approaches the improved optimal design, the error between the simulated performance parameters 145 and the target performance parameters 150 should decrease, thereby reducing the performance loss value 121.
[0035] Generally, the performance loss error 155 is characterized in a format similar to the field response, and as such can be reintroduced into the design model 110 to be back-propagated during the adjoint operational simulation. In processing block 225, the performance loss error 155 is back-propagated through the design model 110 from the output region through the simulated environment of the physical device to the input region. The results of the adjoint operational simulation may include a plurality of values of interest generally referred to as performance gradients. For example, the adjoint operational simulation may be used to back-propagate the loss gradient and calculate the structural gradient (e.g., the partial derivative of the loss error with respect to the partial derivative of the structure). The loss gradient and the structural gradient, together with the field gradient from the time-forward operational simulation, represent a sensitivity metric that can be used to improve the structural design 140 via a gradient descent algorithm. The field gradient and the loss gradient are combined to generate the structural gradient. The structural gradient is a function that relates changes in the performance loss error 155 to changes in the structural parameters of the structural design 140.
[0036] In decision block 230, if the structural gradients output from the adjoint simulation of the design model 110 are to be directly back-cascaded to the manufacturing model 105 (along paths A and C), then the process 200 continues to process block 240. However, if the structural design error 171 is generated as a weighted combination of errors from both the performance loss function 120 and the manufacturing loss function 115, then the process 200 continues to process block 235. In process block 235, the manufacturing loss function 115 generates a first contribution to the structural design error 171 (path B) based on a comparison of the structural design 140 with the target structural design 165. This first contribution is then combined with a second contribution directly from the design model 110 (path A) to generate a total structural design error 171 as a weighted combination of the two parts. In one embodiment, combinatorial logic (not shown) applying scalable coefficients can generate the weighted combination. The weighted combination using the back-propagation source enables both the manufacturing penalty measure and the performance penalty measure to be included in the structural design error 171. For example, in addition to performance parameters such as power output, these penalties may also take into account manufacturing-centric parameters (such as yield, cost, manufacturing time, number of manufacturing steps), specific materials that are scarce or expensive, specific manufacturing steps, etc. By using a weighted combination, the relative importance of these manufacturing / performance parameters can be adjusted as desired. The structural design error 171 is then back-propagated through the manufacturing model 105 (processing block 240) to output a manufacturing specification error 172 (processing block 245). As described above, the manufacturing specification error includes a manufacturing gradient that represents a sensitivity measure to changes in a specific parameter of interest with respect to the performance penalty value 121 and / or the manufacturing penalty value 116. For example, the manufacturing gradient may represent a sensitivity measure (e.g., a manufacturing parameter) to a specific manufacturing step with respect to the manufacturing penalty value 116 and / or the performance penalty value 121. In one embodiment, the manufacturing and performance gradients are calculated using a tensor processing unit and dataflow programming utility such as TensorFlow available from Google Inc. during the accompanying operation simulation and manufacturing back-propagation.
[0037] Using the determined manufacturing gradients, the manufacturing optimizer 125 may perform a gradient descent optimization to generate a revised manufacturing specification 175 (processing block 250) for some manufacturing characteristics or parameters of the previous iteration of the optimized manufacturing specification 130. Processing blocks 205 through 250 represent a single optimization iteration of revising the manufacturing specification 130 based on the gradients calculated in the current round of adjoint operation simulation and manufacturing back-propagation. Because the performance value of interest is back-propagated from the performance loss function 120 through the design model 110 (in the form of performance loss errors 155) and through the manufacturing model 105 (in the form of structural design errors 171) all the way to the manufacturing optimizer 125, each optimization iteration represents an end-to-end optimization that determines an updated manufacturing process to at least reduce the performance loss value 121.
[0038] In decision block 255, the forward end-to-end simulations, along with their corresponding end-to-end gradient back-propagation operations, continue to iterate until the performance loss value 121 converges or converges within a threshold. Once convergence is deemed to be achieved, the process 200 continues to decision block 260. In decision block 260, it is determined whether to further explore the optimization landscape. The exploration of the optimization landscape includes adjusting the temporal order of applying and ramping on the combination weights for combining different manufacturing parameters or structural parameters (processing block 265). When executing the process 200 to determine the optimized values of the manufacturing parameters and / or structural parameters that result in a reduction in the performance loss value 121 or a reduction in the manufacturing loss value 116, these optimizations may converge to a local minimum despite the presence of other minimums that may further reduce the loss value.
[0039] Figure 3 is an optimization curve 300 illustrating this local minimum convergence problem. The weights applied to various manufacturing parameters and / or structural parameters may cause the performance or manufacturing optimization to get stuck in a local minimum 301, which may lead to an even better structural / manufacturing configuration that further reduces the performance penalty value 121 at the local minimum 302. However, without adjusting the weighting coefficients (e.g., combination weights) and / or the order in which these weights are ramped up, the optimization algorithm may not be able to reach the local minimum 302 from the local minimum 301. Therefore, in some embodiments, the weights applied to combine the loss value (e.g., structural gradient) output from the design model 110 with the structural gradient from the manufacturing loss function 115 can be adjusted, and / or the order in which these weights are ramped up between optimization iterations can be adjusted to explore other areas of the optimization curve 300 (processing block 265).
[0040] If exploration of the optimization landscape is complete or not performed, the process 200 continues to process block 270 where a revised manufacturing specification 175 is output after a final iteration of the manufacturing optimizer 125 .
[0041] Figure 2 The process 200 shown in 105 describes a serial end-to-end evaluation architecture between the manufacturing model 105 and the design model 110. However, as opposed to a strict end-to-end serial optimization for each iteration, these models may also be executed in parallel, isolated, or alternating fashion to perform linked but separate parallel optimizations. For example, as described above, based on the initial structural design 140 obtained from the manufacturing model 105, the design model 110 may perform iterations of the performance optimization loop 101. The performance gradients calculated by the design model 110 as a byproduct of the accompanying simulation may be used by the structural optimizer 158 to modify the structural parameters of the initial structural design and output a modified structural design 160, which is then seeded back into the design model 110 for the next iteration of the performance optimization loop 101.
[0042] The performance optimization loop 101 can be iterated in parallel, isolated, and / or alternating fashion for multiple iterations until the revised structural design 160 converges, or converges within a specified threshold. At such a point, the structural gradients are ultimately cascaded back to the manufacturing model 105 directly (via paths A and C) or indirectly via the manufacturing loss function 115 (via paths A, D, E, F, and B). The indirect path includes the manufacturing loss function 115 that compares the revised structural design 160 to the target structural design 165 to generate a structural design error 171. After crosspollination (e.g., the exchange of gradients or other outputs between models), the manufacturing model 105 can then execute a series of manufacturing optimization loops 102 that are iterated in parallel and / or isolation with the performance optimization loop 101.
[0043] The manufacturing loss function 115 along with the performance loss function 120 can be considered as components of the total loss function 124. Similarly, the manufacturing loss value 116 and the performance loss value 112 can be considered as contributions to the total loss value 123. The manufacturing model 105 and the design model 110 can be used to perform parallel or alternating forward simulations and / or backpropagation to optimize their individual contributions to the total loss value 123. The inputs and / or outputs of these parallel optimization loops can be cross-pollinated / cascaded between the models periodically (or on demand).
[0044] Figure 4 5 is a functional block diagram of a computing system 500 for simulating and optimizing the manufacture and operation of a physical device according to an embodiment of the present disclosure. The illustrated embodiment of the system 500 includes a controller 505, a display 507, an input device 509, a communication device 511, a network 513, a remote resource 515, a bus 521, and a bus 523. The illustrated embodiment of the controller 505 includes a processor 531, a memory 533, a local storage device 535, a manufacturing simulator 537, and a physical device simulator 539. The illustrated embodiment of the manufacturing simulator 537 includes a manufacturing simulation logic 541A, a back propagation logic 547A, an optimization logic 549A, and a calculation logic 543A. Accordingly, the illustrated embodiment of the physical device simulator 539 includes an operation simulation logic 541B, a back propagation logic 547B, an optimization logic 549B, and a calculation logic 543B. It should be understood that in some embodiments, the controller 505 can be a distributed system. In addition, the system 500 is only an illustrative system architecture, and other device architectures can be used.
[0045] Controller 505 is coupled to display 507 via buses 521 and 523 to display information to a user of system 500. Input device 509 is coupled to bus 523 via bus 521 for communicating information and command selections to processor 531. Input device 509 may include a mouse, trackball, keyboard, stylus, or other computer peripheral to facilitate interaction between a user and controller 505. In response, controller 505 may provide verification of the interaction through display 507.
[0046] A communication device 511 is provided to access remote resources 515 of the distributed system via a network 513. The communication device 511 may include any of a number of networking peripherals, such as those for coupling to an Ethernet, a token ring, the Internet, a wide area network, or others. The communication device 511 may also include a null modem connection, or any other mechanism that provides connectivity between the controller 505 and the outside world. Note that Figure 4 Any or all components and associated hardware of the system 500 shown in FIG. 5 may be used in various embodiments of the present disclosure. Remote resources 515 may be part of a distributed system and include any number of processors, memory, and other resources for optimizing the structural parameters of the simulated physical device.
[0047] The controller 505 coordinates the operation of the system 500 to optimize the manufacturing parameters and / or structural (e.g., physical) parameters of the physical device. The processor 531 (e.g., one or more central processing units, graphics processing units, and / or tensor processing units, etc.), the memory 533 (e.g., volatile memory such as DRAM and SRAM, non-volatile memory such as ROM, flash memory, etc.), the local storage device 535 (e.g., magnetic storage such as a computer disk drive), and the simulators 537 and 539 are coupled to each other via the bus 523. The controller 505 includes software logic (e.g., instructions included in the memory 533) and / or hardware logic (e.g., application specific integrated circuits, field programmable gate arrays, etc.), which, when executed by the controller 505, causes the controller 505 or the system 500 to perform operations. The operations may be based on instructions stored in any one or a combination of the memory 533, the local storage device 535, the manufacturing simulator 537, the physical device simulator 539, and the remote resources 515 accessed through the network 513.
[0048] In one embodiment, the manufacturing simulator 537 represents a software architecture stored in the memory 533 or local storage device 535 and executed by the processor 531 to execute the manufacturing model 105. The manufacturing simulation logic 541A includes logic for performing forward manufacturing simulation, the optimization logic 549A performs the functions described in conjunction with the manufacturing optimizer 125, and the backpropagation (backprop) logic 547A includes logic for performing manufacturing backpropagation, and the calculation logic 543A includes logic for executing the manufacturing loss function 115. Accordingly, in one embodiment, the operation simulation logic 541B includes logic for performing forward operation simulation, the optimization logic 549B performs the functions described in conjunction with the structural optimizer 158, and the backpropagation logic 547B includes logic for performing adjoint operation simulation, and the calculation logic 543B includes logic for executing the performance loss function 120.
[0049] Figure 5A-Figure 5C The initial setup, operation simulation, and accompanying simulation of the simulation environment 601 for optimizing the structural parameters of the physical device using the design model 110 according to the embodiment are respectively shown. The simulation environment 601 and the corresponding initial setup, operation simulation, accompanying simulation, and structural parameter optimization can be implemented via a physical simulator such as the one described above. Figure 5A-Figure 5C As shown in , the simulation environment is represented in two dimensions, however, it should be understood that higher (e.g., 3-dimensional space) and lower (e.g., 1-dimensional space) dimensions can also be used to describe the simulation environment 601 and the physical device. In some embodiments, Figure 5A-Figure 5C Optimization of structural parameters of the physical device shown in can be achieved via simulations (eg, time forward and backward propagation) using FDTD methods to model field responses (eg, both electric and magnetic), among others.
[0050] Figure 5A An example rendering of a simulation environment 601-A describing an electromagnetic device according to an embodiment of the present disclosure is shown. The simulation environment 601-A represents the simulation environment 601 at an initial time step (e.g., initial settings) for optimizing structural parameters of a physical device. The physical device described by the simulation environment 601 can correspond to an optical waveguide having a designable region 605 in which the structural parameters of the simulation environment can be designed, modified, or otherwise changed. The simulation environment 601 includes an excitation source 615 (e.g., a Gaussian pulse, a wave, a waveguide mode response, etc.). The electric and magnetic fields (e.g., field responses) within the simulation environment 601 (and the physical device) can change in response to the excitation source 615. The specific settings (i.e., initial description) of the initial structural parameters, excitation sources, performance parameters, and other metrics for the first principles simulation of the physical device are input before the operational simulation begins.
[0051] As shown, the simulation environment 601 (and the subsequent physical device) is described by a plurality of voxels 610, which represent individual elements in the two-dimensional (or three-dimensional) space of the simulation environment. Each voxel is shown as a two-dimensional square, but it should be understood that the voxel can be represented as a cube or other shape in a three-dimensional space. It should be understood that the specific shape and dimension of the plurality of voxels 610 can be adjusted depending on the simulation environment 601. It should also be noted that only a portion of the plurality of voxels 610 is shown to avoid blurring other aspects of the simulation environment 601. Each of the plurality of voxels 610 is associated with one or more structural parameters at a specific location within the simulation environment 601, a field value for describing the field response, and a source value for describing the excitation source. For example, the field response can correspond to a vector describing the electric field and / or magnetic field of each of the plurality of voxels 610 at a specific time step. More specifically, the vector can correspond to a Yee lattice that discretizes Maxwell's equations to determine the field response. In some embodiments, the field response is based at least in part on the structural parameters and the excitation source 615.
[0052] Figure 5B An example operational simulation of a simulation environment 601-B at a particular time step is shown, wherein an excitation source 615 is active (e.g., generating waves originating at the excitation source 615 that propagate through the simulation environment 601). In one embodiment, the physical device is an optical waveguide operating at a frequency of interest and having a particular waveguide mode (e.g., a transverse electromagnetic mode, a transverse electric mode, etc.), and the excitation source is at the input of the optical waveguide having a specified spatial, phase, and temporal profile. The operational simulation occurs over a plurality of time steps including the time step shown. When the operational simulation is performed, changes to the field response (e.g., field values) of each of a plurality of voxels 610 are updated in response to the excitation source 615 and based at least in part on the structural parameters of the physical device at each of the plurality of time steps. Similarly, in some embodiments, source values are updated for each of the plurality of voxels (e.g., in response to an electromagnetic wave from the excitation source 615 that propagates through the simulation environment). It should be understood that the operational simulation is incremental and that as time moves forward at each of a plurality of time steps, the field values (and source values) are incrementally updated at each time step. Further note that in some embodiments, the updating is an iterative process and the updating of each field and source value is based at least in part on the previous update of each field and source value.
[0053] When performing an operational simulation, a performance penalty function 120 may be calculated at each output port 620 and 625 based at least in part on a comparison (e.g., mean square error) between the field response (simulated performance parameter 145) and the desired field response (target performance parameter 150) at a specified time step (e.g., the final time step of the operational simulation). The performance penalty value 121 may be described in terms of a specific performance value (e.g., power in a specific waveguide mode). The structural parameters may be optimized for the specific performance value.
[0054] Figure 5C An example back propagation of a performance loss error 155 in the reverse direction within a simulation environment 601-C describing a physical device according to an embodiment of the present disclosure is shown. In one embodiment, the accompanying performance simulation injects the performance loss error 155 at output ports 620 and 625 as a reverse excitation source to stimulate the reverse field response of the voxel 610 of the simulation environment 601-C. The accompanying performance simulation of the performance loss error 155 determines the impact that changes in the structural parameters of the voxel 610 have on the performance loss value 121.
[0055] Fig. 6A 7 is a flowchart 700 illustrating example time steps for a forward simulation 710 and back propagation 750 in a simulation environment according to an embodiment of the present disclosure. Flowchart 700 is one possible implementation that a system (e.g., design model 110) may use to perform a forward operation simulation 710 and back propagation 750 of a simulation environment. In the illustrated embodiment, the forward operation simulation utilizes an FDTD method to model the field response (both electric and magnetic) at multiple time steps in response to an excitation source. More specifically, the time-dependent Maxwell equations (in partial differential form) are discretized to solve for the field vector components (e.g., Figure 5A-Figure 5C 601 in the simulated environment 601).
[0056] like Fig. 6AAs shown in , flowchart 700 includes an operational simulation 710 and update operations that accompany a portion of the simulation 750. The operational simulation 710 occurs over a plurality of 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 a model change (e.g., from initial field values 711) of electric and magnetic fields of a plurality of voxels describing a simulated environment and / or physical device that collectively corresponds to a field response. More specifically, update operations (e.g., 712, 714, and 716) are iterative and based on the field response, structural parameters 704, and one or more physical stimulus sources 708. Each update operation is succeeded by another update operation that represents a sequential step forward in time over a plurality of time steps. For example, update operation 714 updates field values 713 based on a field response determined from a previous update operation 712, source 708, and structural parameters 704 (see, e.g., Figure 6B Similarly, update operation 716 updates field value 715 based on the field response determined from update operation 714 (see, e.g., Figure 6B ). In other words, at each time step of the operational simulation, the field values (and such field responses) are updated based on the previous field responses and the structural parameters of the physical device. Once the final time step of the operational simulation 710 is performed, the loss value 718 can be determined (e.g., based on a predetermined loss function 720). The loss gradient determined from block 752 can be treated as an adjoint or virtual source (e.g., a physical stimulus or excitation source originating at the output region) that is back-propagated inversely (incrementally through multiple time steps from the final time step until the initial time step is reached) to determine the structural gradient 768.
[0057] In the illustrated embodiment, the FDTD solution (e.g., time forward simulation 710) and back propagation 750 problems are graphically described from a high level, using only "update" and "loss" operations and their corresponding gradient operations. The simulation is initially set up as follows: it provides the structural parameters of the simulation environment (and electromagnetic device), the excitation source, and the initial field state. As previously discussed, the field state is updated in response to the excitation source based on the structural parameters. More specifically, the update operation is given by φ, where for here, corresponds to the total number of time steps in the time forward simulation (e.g., a number of time steps), Corresponding to the time step the field response of the simulated environment at (the field values associated with the electric and magnetic fields for each of the plurality of voxels), Corresponding to the time step an excitation source of the simulated environment at (source values associated with the electric and magnetic fields of each of the plurality of voxels), and Corresponds to structural parameters that describe the topology and / or material properties of an electromagnetic device.
[0058] Note that using the FDTD method, the update operation can be specified as:
[0059]
[0060] That is, the FDTD update is linear with respect to the field terms and source terms. Specifically, and It depends on the structural parameters And act on the field Heyuan Here, we assume that where N is the number of FDTD field components in the time forward simulation. Additionally, the loss operation consists of a function that takes the computed field as input and produces a single real-valued scalar (e.g., a loss value) that can be reduced and / or minimized. Given.
[0061] In modifying or otherwise optimizing the structural parameters of the electromagnetic device, the relevant quantity generated is used to describe the change in the loss value with respect to the change in the structural parameters of the electromagnetic device and is expressed as Fig. 6A The "structural gradient" shown in
[0062] Figure 6B 780 is a diagram illustrating the relationship between an update operation and an adjoint simulation (eg, back propagation) for an operation simulation according to an embodiment of the present disclosure. More specifically, Figure 6B An overview of computing structural gradients The operations involved and the accompanying simulation relationships include and The update operation 714 of the operation simulation will be Field values for multiple voxels at time step 713 Updated to correspond to field value 715 The next time step (i.e. time step). The gradient 755 is used to determine the (e.g., update operation 756 in the reverse direction in time), which is used at least in part in combination with gradient 769 to calculate the structural gradient is the contribution of each field to the loss value L. Note that this is a partial derivative and therefore does not take into account Therefore, the use covers Relational Loss Gradient It can also be used to calculate structural gradients and corresponds to the total derivative of the field with respect to the loss value L. At a particular time step The loss gradient at equal Finally, using the sum of The contribution of Given by:
[0063]
[0064] For completeness, the sum The first complete form of is:
[0065]
[0066] Based on the definition of φ described in equation (1), note that which can be substituted into equation (3) to yield the adjoint update for back-propagation (e.g., an update operation such as update operation 756), which can be expressed as:
[0067]
[0068] or
[0069]
[0070] The adjoint update is the backpropagation of the loss gradient from later to earlier time steps and can be referred to as the For the specific form of φ described by equation (1), the structural gradient The second term in the sum is expressed as:
[0071]
[0072] The processes explained above are described in terms of computer software and hardware. The described techniques may constitute machine-executable instructions contained in a tangible or non-transitory machine (e.g., computer) readable storage medium, which, when executed by the machine, will cause the machine to perform the described operations. Additionally, the processes may be embodied in hardware, such as an application specific integrated circuit ("ASIC") or other.
[0073] A tangible machine-readable storage medium includes any mechanism (e.g., a computer, a network device, a personal digital assistant, a manufacturing tool, any device having a set of one or more processors, etc.) that provides (i.e., stores) information in a non-transitory form accessible by a machine. For example, machine-readable storage media include recordable / non-recordable media (e.g., read-only memory (ROM), random access memory (RAM), magnetic disk storage media, optical storage media, flash memory devices, etc.).
[0074] The description of the embodiments of the present invention shown above, including those described in the Abstract, is not intended to be exhaustive or to limit the present invention to the precise form disclosed. Although specific embodiments and examples of the present invention are described herein for illustrative purposes, various modifications are possible within the scope of the present invention as will be appreciated by those skilled in the relevant art.
[0075] According to the above detailed description, these modifications can be made to the present invention. The terms used in the appended claims should not be interpreted as limiting the present invention to the specific embodiments disclosed in the specification. Instead, the scope of the present invention is determined entirely by the appended claims understood according to the established principles of claim interpretation.
Claims
1. A machine-accessible storage medium providing instructions that, when executed by a machine, cause the machine to perform operations comprising: performing a manufacturing simulation of the physical device using a manufacturing model that receives manufacturing specifications as input and outputs a structural design for the physical device in response to a manufacturing simulation; performing an operational simulation of the physical device using a design model that simulates a response of a field propagated through a simulated environment of the physical device; Forward cascading the structural design output from the manufacturing model to the design model to establish a simulation environment for operational simulation; Back-propagating a performance loss error through the design model, the performance loss error being generated based on a performance loss function for determining a performance loss value; Cascading the output from the back-propagation of the performance loss error back to the manufacturing model; back-propagating a structural design error through a fabrication model to generate one or more first gradients, wherein the structural design error is generated based on an output from back-propagation of a performance loss error; as well as The manufacturing specification is revised based on the one or more first gradients to generate and output a revised manufacturing specification used by a manufacturing process of the physical device.
2. A machine-accessible storage medium according to claim 1, wherein: The output from the back propagation of the performance loss error includes one or more second gradients output from the design model, wherein the second gradients are generated in response to the back propagation of the performance loss error, wherein the structural design error is based on the second gradients, and wherein the manufacturing specification is revised to at least reduce the performance loss value.
3. A machine-accessible storage medium according to claim 2, wherein: The structural design error includes a second gradient output from the design model, and wherein the second gradient includes a measure of sensitivity of the performance loss value to structural changes in the physical device.
4. A machine-accessible storage medium according to claim 2, further providing instructions that when executed by the machine will cause the machine to perform further operations, the further operations comprising: performing a gradient descent algorithm using the second gradient to revise the structural design and output a revised structural design; as well as A structural design error is generated using a manufacturing loss function that compares the revised structural design to a target structural design.
5. A machine-accessible storage medium according to claim 4, wherein: The manufacturing penalty function includes a penalty measure associated with one or more of a yield measure in manufacturing the physical device, a cost measure in manufacturing the physical device, or a time measure in manufacturing the physical device.
6. A machine-accessible storage medium according to claim 2, further providing instructions that when executed by the machine will cause the machine to perform further operations, the further operations comprising: Iteratively execute the manufacturing model, execute the design model, back-propagate performance loss errors, and back-propagate structural design errors; as well as The manufacturing specifications were revised between each iteration using a gradient descent algorithm.
7. A machine-accessible storage medium according to claim 2, wherein: Modifying the manufacturing specification includes updating a manufacturing step of a physical device that optimizes a manufacturing parameter of a manufacturing simulation, wherein the first gradient represents a sensitivity measure of the manufacturing step with respect to a manufacturing loss value generated from a manufacturing loss function.
8. The machine-accessible storage medium according to claim 7, further comprising: The structural design error is generated as a weighted combination of a first contribution from a manufacturing loss function and a second contribution from a second gradient output from a design model.
9. A machine-accessible storage medium according to claim 8, further providing instructions which, when executed by the machine, will cause the machine to perform further operations, the further operations comprising: The weights of the weighted combination are adjusted between selected iterations of executing the fabrication model, executing the design model, back-propagating the performance loss error, and back-propagating the structural design error.
10. A machine-accessible storage medium according to claim 1, wherein: The simulation environment includes an array of voxels, each voxel describing one or more structural parameters of a physical device at a corresponding position in an N-dimensional space, and wherein performing an operational simulation using a design model includes simulating a field response in response to an excitation source propagating through the simulation environment and interacting with the voxels, wherein the field response is affected by the structural parameters.
11. A machine-accessible storage medium according to claim 1, wherein: The manufacturing model includes differentiable characteristics of an actual manufacturing process of a physical device, and the design model includes differentiable characteristics of the operation of the physical device.
12. A machine-accessible storage medium according to claim 1, further providing instructions that when executed by the machine will cause the machine to perform further operations, the further operations comprising: Compute the field response at the output of a physical device; generating simulated performance parameters based on a field response at an output of the physical device; as well as A performance loss error is generated based on a performance loss function that compares the simulated performance parameter to the target performance parameter.
13. A machine-accessible storage medium according to claim 1, wherein: Back-propagating the performance loss error includes back-propagating the loss gradient.
14. A machine-accessible storage medium according to claim 1, wherein: Performing a manufacturing simulation of a physical device using a manufacturing model includes simulating one or more manufacturing processes.
15. A computer-implemented method for optimizing manufacturing steps for manufacturing a physical device, the method comprising: performing a manufacturing simulation of the physical device using a manufacturing model that receives manufacturing specifications as input and outputs a structural design for the physical device in response to a manufacturing simulation; performing an operational simulation of the physical device using a design model that simulates a response of a field propagated through a simulated environment of the physical device; Forward cascading the structural design output from the manufacturing model to the design model to establish a simulation environment for operational simulation; Back-propagating a performance loss error through the design model, the performance loss error being generated based on a performance loss function for determining a performance loss value; Cascading the output from the back-propagation of the performance loss error back to the manufacturing model; back-propagating a structural design error through a fabrication model to generate one or more first gradients, wherein the structural design error is generated based on an output from back-propagation of a performance loss error; as well as The manufacturing specification is revised based on the one or more first gradients to generate and output a revised manufacturing specification used by a manufacturing process of the physical device.
16. The computer-implemented method of claim 15, wherein: The output from the back propagation of the performance loss error includes one or more second gradients output from the design model, wherein the second gradients are generated in response to the back propagation of the performance loss error, wherein the structural design error is based on the second gradients, and wherein the manufacturing specification is revised to at least reduce the performance loss error.
17. The computer-implemented method of claim 16, wherein: The structural design error includes a second gradient output from the design model, and wherein the second gradient includes a measure of sensitivity of the performance loss value to structural changes in the physical device.
18. The computer-implemented method of claim 16, further comprising: performing a gradient descent algorithm using the second gradient to revise the structural design and generate a revised structural design; as well as A structural design error is generated using a manufacturing loss function that compares the revised structural design to a target structural design.
19. The computer-implemented method of claim 18, wherein: The manufacturing penalty function includes a penalty measure associated with one or more of a yield measure in manufacturing the physical device, a cost measure in manufacturing the physical device, or a time measure in manufacturing the physical device.
20. The computer-implemented method of claim 16, further comprising: Iteratively execute the manufacturing model, execute the design model, back-propagate performance loss errors, and back-propagate structural design errors; as well as The manufacturing specifications are revised between each iteration via a gradient descent algorithm.
21. The computer-implemented method of claim 16, wherein: Modifying the manufacturing specification includes updating a manufacturing step of a physical device that optimizes a manufacturing parameter of a manufacturing simulation, wherein the first gradient represents a sensitivity measure of the manufacturing step with respect to a manufacturing loss value generated from a manufacturing loss function.
22. The computer-implemented method of claim 21 , further comprising: The structural design error is generated as a weighted combination of a first contribution from a manufacturing loss function and a second contribution from a second gradient output from a design model.
23. The computer-implemented method of claim 22, further comprising: The weights of the weighted combination are adjusted between selected iterations of executing the fabrication model, executing the design model, back-propagating the performance loss error, and back-propagating the structural design error.
24. The computer-implemented method of claim 15, wherein: The manufacturing model includes differentiable characteristics of an actual manufacturing process of a physical device, and the design model includes differentiable characteristics of the operation of the physical device.
25. The computer-implemented method of claim 15, wherein: The manufacturing simulation and the operational simulation are performed in an iterative parallel loop that selectively cascades the structural design forward to the design model and selectively cascades the output back to the manufacturing model between selective iterations of the manufacturing simulation and the operational simulation.
Citation Information
Patent Citations
Use of models in integrated circuit fabrication
US20050235246A1
Aligner evaluation system, aligner evaluation method, a computer program product, and a method for manufacturing a semiconductor device
US7546178B2
