Distributed computing analog circuit optimization method based on visual control
By obtaining the sampled data set of the analog circuit, establishing optimization model functions, and dynamically adjusting the optimization goals using distributed computing and user interface, the problem of insufficient flexibility in the analog circuit optimization tool is solved, real-time monitoring and dynamic adjustment are achieved, and the improvement of the Optimize efficiency and user experience.
Patent Information
- Application Number
- CN202411282681.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-13
- Publication Date
- 2024-12-31
AI Technical Summary
The existing analog circuit optimization tools lack real-time monitoring and data visualization interfaces, making it difficult for users to understand the optimization progress and results, and cannot dynamically adjust and control the optimization process, resulting in insufficient flexibility.
By obtaining the sampled data set of the simulation circuit, establishing an optimization model function, and using distributed computing to solve the function, combining the decision input operations of the user interface, dynamically adjusting the optimization target, and intuitively displaying the optimization decision using the shape, position and color of the data image points. and evaluate value.
It improves the flexibility and efficiency of the analog circuit optimization process, realizes real-time monitoring and dynamic adjustment, and enhances users' intuitive understanding and decision-making capabilities of the optimization process.
Smart Images

Figure CN119227622A_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of circuit analysis technology, and specifically relates to a distributed computing simulation circuit optimization method, device, equipment and computer-readable storage medium based on visual control. Background Art
[0002] During the analog circuit optimization process, engineers usually need to frequently call simulators for evaluation to ensure that the circuit design meets specific performance requirements. In order to improve optimization efficiency, distributed computing and data visualization technologies are gradually being introduced into analog circuit optimization to more efficiently handle a large number of simulation tasks and monitor the optimization process in real time.
[0003] Existing analog circuit optimization tools mainly rely on population-based optimization algorithms, which are naturally parallel and suitable for distributed computing.
[0004] However, since the current distributed computing methods are highly bound to actual problems, it is difficult to implement a general distributed computing solution. In addition, the existing optimization tools lack real-time optimization process monitoring and data visualization interfaces, making it difficult for users to understand the optimization progress and results in a timely manner, and are unable to perform dynamic adjustments and controls during the optimization process. The above two reasons have resulted in insufficient flexibility in the analog circuit optimization process. Summary of the invention
[0005] The present application aims to provide a distributed computing analog circuit optimization method, device, electronic device and computer-readable storage medium based on visual control, which at least solves the problem of insufficient flexibility in the optimization process of analog circuits.
[0006] In a first aspect, an embodiment of the present application discloses a distributed computing simulation circuit optimization method based on visual control, which is applied to a client and includes:
[0007] Acquire a sampling data set of an analog circuit, and determine optimization target data for the analog circuit in response to a decision input operation on an input interface; the sampling data set includes electrical sampling data of a plurality of sampling points in the analog circuit; the optimization target data is used to characterize an evaluation method for an optimization effect of the analog circuit;
[0008] According to the sampling data set and the optimization target data, an optimization model function for the analog circuit is established, and the optimization model function is solved by distributed computing to obtain an optimization decision array of the optimization model function and an optimization evaluation value of the optimization decision array; the optimization decision array is used to characterize the optimization strategy for the analog circuit; the optimization evaluation value is used to characterize the optimization effect of the optimization strategy corresponding to the optimization decision array under the evaluation method;
[0009] According to at least one of the mutually corresponding optimization decision arrays and optimization evaluation values, at least one of the shape, position and color of the data image point corresponding to the optimization decision array is determined, and the determined data image point is displayed on an image display interface.
[0010] In a second aspect, the embodiment of the present application further discloses a distributed computing simulation circuit optimization device based on visual control, which is applied to a client and includes:
[0011] A data acquisition module, used to acquire a sampled data set of an analog circuit, and determine optimization target data for the analog circuit in response to a decision input operation on an input interface; the sampled data set includes electrical sampling data of a plurality of sampling points in the analog circuit; the optimization target data is used to characterize an evaluation method for an optimization effect of the analog circuit;
[0012] A model solving module, used to establish an optimization model function for the analog circuit according to the sampled data set and the optimization target data, and solve the optimization model function through distributed computing to obtain an optimization decision array of the optimization model function and an optimization evaluation value of the optimization decision array; the optimization decision array is used to characterize the optimization strategy for the analog circuit; the optimization evaluation value is used to characterize the optimization effect of the optimization strategy corresponding to the optimization decision array under the evaluation method;
[0013] An image display module is used to determine at least one of the shape, position and color of a data image point corresponding to the optimization decision array based on at least one of the corresponding optimization decision arrays and optimization evaluation values, and to display the determined data image point on an image display interface.
[0014] In a third aspect, an embodiment of the present application further discloses an electronic device, comprising a processor and a memory, wherein the memory stores programs or instructions that can be run on the processor, and when the program or instructions are executed by the processor, the steps of the method described in the first aspect are implemented.
[0015] In a fourth aspect, an embodiment of the present application further discloses a readable storage medium, on which a program or instruction is stored. When the program or instruction is executed by a processor, the steps of the method described in the first aspect are implemented.
[0016] In summary, in the embodiment of the present application, through the decision input operation of the user interface, the optimization target data of the analog circuit can be quickly determined, so that the user can flexibly set the optimization target according to specific needs, avoiding the single problem of optimization target setting in the traditional method, thereby improving the pertinence and effectiveness of the optimization result; and then it is possible to establish an optimization model function based on the sampling data set and the optimization target data, and solve the function through distributed computing, and use the high efficiency of distributed computing to quickly process a large number of simulation tasks, so that the optimization process can be completed in a short time, thereby providing the possibility for real-time monitoring and dynamic adjustment; finally, after obtaining the optimization decision array and its optimization evaluation value, the optimization decision array and its optimization evaluation value are intuitively displayed through the shape, position and color of the data image point, so that the user can intuitively compare the differences between different optimization schemes, so as to quickly make optimization decisions, thereby dynamically adjusting and controlling during the optimization process. Therefore, the method based on the embodiment of the present application solves the problem of insufficient flexibility of the analog circuit optimization process in the prior art. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] In the attached picture:
[0018] Figure 1 It is a flowchart of the steps of a distributed computing simulation circuit optimization method based on visual control provided in an embodiment of the present application;
[0019] Figure 2 It is a flowchart of another distributed computing simulation circuit optimization method based on visual control provided in an embodiment of the present application;
[0020] Figure 3 This is an interface diagram of a CVS table provided in an embodiment of the present application;
[0021] Figure 4 is a schematic diagram of a first interface provided in an embodiment of the present application;
[0022] Figure 5 is a schematic diagram of a second interface provided in an embodiment of the present application;
[0023] Figure 6 is a schematic diagram of a third interface provided in an embodiment of the present application;
[0024] Figure 7 It is a schematic diagram of data flow for solving the optimization model under the method provided in the embodiment of the present application;
[0025] Figure 8 It is a computer architecture and execution logic under the method provided in the embodiment of the present application;
[0026] Fig. 9 It is a block diagram of a distributed computing simulation circuit optimization device based on visual control provided in an embodiment of the present application;
[0027] Fig.10 is a block diagram of an electronic device according to an embodiment of the present application;
[0028] Fig.11 It is a block diagram of an electronic device of another embodiment provided by the embodiments of the present application. DETAILED DESCRIPTION
[0029] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0030] The terms "first", "second", etc. in the specification and claims of the present application are used to distinguish similar objects, and are not used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable under appropriate circumstances, so that the embodiments of the present application can be implemented in an order other than those illustrated or described here, and the objects distinguished by "first", "second", etc. are generally of one type, and the number of objects is not limited. For example, the first object can be one or more. In addition, "and / or" in the specification and claims represents at least one of the connected objects, and the character " / " generally indicates that the objects associated with each other are in an "or" relationship.
[0031] Figure 1 This embodiment provides a distributed computing simulation circuit optimization method based on visual control, which is applied to the client.
[0032] The method may include the following steps:
[0033] Step 101 , obtaining a sample data set of an analog circuit, and determining optimization target data for the analog circuit in response to a decision input operation on an input interface.
[0034] The sampling data set includes electrical sampling data of multiple sampling points in the analog circuit; the optimization target data is used to characterize the evaluation method of the optimization effect on the analog circuit.
[0035] In some embodiments of the present application, a sampled data set of an analog circuit is obtained, and in response to a decision input operation on an input interface, optimization target data for the analog circuit is determined. The sampled data set contains electrical sampling data for multiple sampling points in the analog circuit, which are used to describe the performance of the circuit under different conditions. The optimization target data is used to characterize the evaluation method of the optimization effect of the analog circuit, such as power consumption, gain, bandwidth and other indicators. Through the user's decision input operation on the input interface, these optimization goals can be flexibly set, making the optimization process more targeted and effective.
[0036] In a specific embodiment, assume that an operational amplifier circuit needs to be optimized. First, the operational amplifier is simulated multiple times through a simulation tool to obtain its electrical sampling data at different operating points, such as voltage gain, input bias current, output resistance, etc. These data constitute a sampling data set. Next, the user enters the optimization goal on the input interface of the optimization platform, such as maximizing the gain while minimizing power consumption within a specific frequency range. The system determines the corresponding evaluation method based on the optimization target data entered by the user, and prepares for the subsequent optimization model establishment and solution process. In this way, users can flexibly set optimization goals according to specific needs to improve the pertinence and effectiveness of the optimization results.
[0037] Step 102, based on the sampled data set and the optimization target data, establish an optimization model function for the analog circuit, and solve the optimization model function through distributed computing to obtain an optimization decision array of the optimization model function and an optimization evaluation value of the optimization decision array.
[0038] The optimization decision array is used to characterize the optimization strategy for the analog circuit; the optimization evaluation value is used to characterize the optimization effect of the optimization strategy corresponding to the optimization decision array under the evaluation mode.
[0039] In some embodiments of the present application, an optimization model function for an analog circuit is established based on a sampled data set and optimization target data. The optimization model function is a mathematical expression used to describe the relationship between circuit performance and decision variables. By solving the optimization model function through distributed computing, an optimization decision array and an optimization evaluation value can be obtained. The optimization decision array represents the optimization strategy for the analog circuit, such as the parameter configuration of the circuit elements; the optimization evaluation value is used to evaluate the effect of these optimization strategies under the set evaluation method, such as the degree of optimization of indicators such as power consumption and gain.
[0040] In a specific embodiment, it is assumed that a low noise amplifier (LNA) circuit needs to be optimized. First, based on the sample data set obtained in the previous step and the optimization target data set by the user (such as maximizing gain and minimizing noise coefficient), an optimization model function of the LNA circuit is established. The model function may include the relationship between the parameters of the circuit elements (such as resistance, capacitance, transistor size, etc.) and the circuit performance indicators (such as gain, noise coefficient, power consumption, etc.). Next, through distributed computing, the optimization model function is decomposed into multiple subtasks and assigned to different servers for parallel computing. Each server independently solves its assigned subtask and returns the results to the client. The client summarizes the calculation results of all servers to form an optimization decision array and an optimization evaluation value. For example, the optimization decision array may include the optimal parameter configuration of each circuit element, and the optimization evaluation value represents the optimization effect of these configurations in terms of gain and noise coefficient. In this way, a large number of simulation tasks can be efficiently processed and optimization results can be quickly obtained.
[0041] Step 103, based on the mutually corresponding optimization decision arrays and at least one of the optimization evaluation values, determine at least one of the shape, position and color of the data image point corresponding to the optimization decision array, and display the determined data image point on the image display interface.
[0042] In some embodiments of the present application, the data image points corresponding to each optimization decision array are displayed on the image display interface. At least one attribute of the shape, position and color of the data image point is first determined based on at least one attribute of the optimization decision array and the optimization evaluation value corresponding to the data image point. Through this visualization method, users can intuitively compare the differences between different optimization solutions, quickly make optimization decisions, and dynamically adjust and control the optimization process.
[0043] In a specific embodiment, it is assumed that a radio frequency amplifier circuit is optimized. Through the first two steps, multiple optimization decision arrays and corresponding optimization evaluation values have been obtained. Next, on the image display interface, each optimization decision array corresponds to a data image point. For example, the shape of the data image point can represent different optimization strategies (such as different circuit topologies), the position can represent the optimization evaluation value (such as a combination of gain and noise coefficient), and the color can represent the quality of the optimization effect (such as green for better and red for worse). In this way, the user can intuitively see the effects of different optimization schemes on the image display interface, and select the best scheme or further adjust the optimization strategy as needed. For example, the user can select a green point to view its specific circuit parameter configuration and decide whether to adopt the optimization scheme or make further optimization adjustments. Through this visual display, the optimization process becomes more transparent and easy to control.
[0044] In summary, in the embodiment of the present application, through the decision input operation of the user interface, the optimization target data of the analog circuit can be quickly determined, so that the user can flexibly set the optimization target according to specific needs, avoiding the single problem of optimization target setting in the traditional method, thereby improving the pertinence and effectiveness of the optimization result; and then it is possible to establish an optimization model function based on the sampling data set and the optimization target data, and solve the function through distributed computing, and use the high efficiency of distributed computing to quickly process a large number of simulation tasks, so that the optimization process can be completed in a short time, thereby providing the possibility for real-time monitoring and dynamic adjustment; finally, after obtaining the optimization decision array and its optimization evaluation value, the optimization decision array and its optimization evaluation value are intuitively displayed through the shape, position and color of the data image point, so that the user can intuitively compare the differences between different optimization schemes, so as to quickly make optimization decisions, thereby dynamically adjusting and controlling during the optimization process. Therefore, the method based on the embodiment of the present application solves the problem of insufficient flexibility of the analog circuit optimization process in the prior art.
[0045] Figure 2 Another distributed computing simulation circuit optimization method based on visual control provided in an embodiment of the present application is applied to a client, and the method may include the following steps:
[0046] Step 201 : acquiring a sample data set of an analog circuit, and determining optimization target data for the analog circuit in response to a decision input operation on an input interface.
[0047] The sampling data set includes electrical sampling data of multiple sampling points in the analog circuit; the optimization target data is used to characterize the evaluation method of the optimization effect on the analog circuit.
[0048] The method shown in this step has been explained in step 101 and will not be repeated here.
[0049] Optionally, in order to obtain a sample data set of an analog circuit, step 201 includes the following sub-steps:
[0050] Sub-step 2011, obtaining component parameters and component connection relationships of multiple electronic components in the analog circuit, as well as operating parameters of each electronic component when the analog circuit is running.
[0051] In some embodiments of the present application, component parameters and component connection relationships of multiple electronic components in the analog circuit, as well as the operating parameters of each electronic component when the analog circuit is running, are obtained. Component parameters include basic properties of electronic components, such as values of resistance, capacitance, inductance, etc. Component connection relationships describe the connection mode and topological structure between each electronic component. Operating parameters are parameters measured when the circuit is actually running, such as current, voltage, power consumption, etc. This information is the basic data for establishing circuit models and performing optimization.
[0052] In a specific embodiment, it is assumed that an operational amplifier circuit needs to be optimized. First, the component parameters of all electronic components in the circuit are obtained, such as the resistance value of the resistor, the capacitance value of the capacitor, the threshold voltage of the transistor, etc. Next, the connection relationship of these components is obtained, such as the resistor R1 is connected to the positive electrode of the capacitor C1, the negative electrode of the capacitor C1 is connected to the base of the transistor Q1, etc. When the operational amplifier circuit is running, the operating parameters of each electronic component are measured. For example, the voltage drop across the resistor R1, the charge and discharge current of the capacitor C1, the collector current of the transistor Q1, etc. are measured. These operating parameters reflect the performance of the circuit under actual working conditions. By obtaining these component parameters, connection relationships and operating parameters, comprehensive basic data can be provided for the subsequent optimization process.
[0053] Sub-step 2012, generating an initialized data table corresponding to the component connection relationship according to the component connection relationship.
[0054] The data table includes a plurality of data bits; the data bits correspond to the electronic components one by one.
[0055] In some embodiments of the present application, an initialization data table corresponding to the component connection relationship is generated according to the component connection relationship. The data table is used to systematically record and manage the parameters and connection relationships of each electronic component in the circuit. Each data bit in the table corresponds to an electronic component and contains the basic parameters and connection information of the component. In this way, the topological structure and component properties of the circuit can be intuitively displayed, providing a basis for subsequent data processing and optimization.
[0056] like Figure 3 As shown, in a specific embodiment, it is assumed that a bandpass filter circuit needs to be optimized. First, an initialized data table is generated based on the component connection relationship obtained in the previous step. A common implementation method is to establish a comma-separated values table (CVS) corresponding to the circuit. This table is often used to exchange data between different software and systems, so it is also convenient for users to check the data later. In this table, each data bit corresponds to an electronic component, and the name, type and connection relationship of the component are recorded. In this way, the components and connection information of the circuit can be systematically managed to provide basic data for subsequent parameter filling and optimization processes.
[0057] Sub-step 2013, fill the component parameters and the operating parameters into the data bits corresponding to the electronic components in the initialized data table to update the data table, and use the updated data table as the sampling data set.
[0058] In some embodiments of the present application, the component parameters and operating parameters are filled into the data bits corresponding to the electronic components in the initialized data table to update the data table, and the updated data table is used as a sample data set. The component parameters include the basic properties of the electronic components, such as resistance value, capacitance value, etc.; the operating parameters include the actual measured values of the electronic components when the circuit is running, such as current, voltage, etc. By filling these parameters into the data table, all relevant data of the circuit can be systematically recorded to form a complete sample data set, providing basic data for the subsequent optimization process.
[0059] In a specific embodiment, it is assumed that a bandpass filter circuit needs to be optimized. An initialized data table has been generated in the previous step, including the connection relationship between resistor R1, capacitor C1 and inductor L1. Next, the parameters and operating parameters of these components are filled in the data table. Assume that the resistance value of resistor R1 is 1kΩ, the capacitance value of capacitor C1 is 10nF, and the inductance value of inductor L1 is 100μH. When the circuit is running, the voltage drop across resistor R1 is measured to be 5V, the charge and discharge current of capacitor C1 is 2mA, and the current of inductor L1 is 1mA, and then these parameters are filled in the data table. In this way, the data table is updated to contain the parameters and operating data of all components, forming a complete sampling data set. These data will be used for subsequent optimization model establishment and solution process.
[0060] Optionally, the optimization target data includes a plurality of optimization target sub-data. In order to determine the optimization target data for the analog circuit in response to the decision input operation on the input interface, step 201 includes the following sub-steps:
[0061] Sub-step 2014, in response to a filling-in operation and / or a selection operation on the optimization target sub-data in the input interface, generates optimization target data.
[0062] In some embodiments of the present application, optimization target data will be generated in response to a filling operation and / or a selection operation on the optimization target sub-data in the input interface. The optimization target data includes multiple optimization target sub-data, each of which represents a specific optimization target, such as maximizing gain, minimizing power consumption, etc. The user can fill in or select these optimization target sub-data through the input interface, and the system generates complete optimization target data based on the user's input. In this way, the optimization target can be set flexibly to ensure that the optimization process can meet specific needs.
[0063] In a specific embodiment, suppose that a radio frequency power amplifier (RFPA) circuit needs to be optimized. On the input interface of the optimization platform, the user can see multiple options for optimization target sub-data, such as gain, power consumption, linearity, etc. The user wants to maximize the gain and minimize the power consumption, so the two optimization target sub-data of "gain" and "power consumption" are selected in the input interface. The user fills in the specific optimization target sub-data, for example, the gain is greater than 20dB and the power consumption is less than 5W. Then, in response to the user's filling and selection operations, the optimization target data is generated, including the following: Optimization target sub-data 1: Gain>20dB, Optimization target sub-data 2: Power consumption<5W. In this way, the system generates complete optimization target data based on the user's operation on the input interface. These data will be used in the subsequent optimization model establishment and solution process to ensure that the optimization process can achieve the specific goals set by the user.
[0064] Step 202 : generating a constraint condition function of the analog circuit according to the sampled data set, and determining a target optimization objective function from a plurality of preset optimization objective functions according to the optimization objective data.
[0065] In some embodiments of the present application, a constraint function of the analog circuit is generated based on the sampled data set, and a target optimization objective function is determined from a plurality of preset optimization objective functions based on the optimization target data. The constraint function is used to describe the restrictions that the circuit must meet during the optimization process, such as upper and lower limits of physical parameters such as voltage, current, and power consumption. The optimization objective function is used to describe the specific goals of the optimization, such as maximizing gain, minimizing noise, etc. By combining the sampled data set and the optimization target data, a constraint function suitable for a specific optimization task can be generated, and the target optimization objective function that best meets the current needs can be selected from a plurality of preset optimization objective functions.
[0066] In a specific embodiment, it is assumed that a bandpass filter circuit needs to be optimized. First, a constraint function of the circuit is generated based on a sampled data set. For example, the constraint function may include that the center frequency of the filter must be between 1 GHz and 2 GHz, the insertion loss must be less than 3 dB, the out-of-band suppression must be greater than 20 dB, etc. Next, according to the optimization target data set by the user (such as maximizing the passband gain and minimizing the out-of-band suppression), a target optimization target function is selected from a plurality of preset optimization target functions. For example, the preset optimization target function may include a gain function, a noise function, a power consumption function, etc. According to the user's optimization target data, the gain function and the out-of-band suppression function are selected as the target optimization target function. In this way, it can be ensured that the optimization process not only meets the physical constraints of the circuit, but also achieves the optimization goals set by the user, thereby improving the effectiveness and pertinence of the optimization results.
[0067] Step 203, initialize the target optimization objective function according to the optimization target data, and associate the constraint condition function with the initialized target optimization objective function to obtain the optimization model function.
[0068] In some embodiments of the present application, the target optimization objective function is initialized according to the optimization target data, and the constraint condition function is associated with the initialized target optimization objective function to obtain an optimization model function. The optimization objective function is a mathematical expression used to describe the optimization target, while the constraint condition function is used to describe the restrictions that must be met during the optimization process. By associating these two functions, a complete optimization model function can be formed, which takes into account the optimization target and satisfies all the constraints, thereby ensuring the effectiveness and feasibility of the optimization process.
[0069] In a specific embodiment, it is assumed that a radio frequency power amplifier (RFPA) circuit needs to be optimized. First, according to the optimization target data set by the user (such as maximizing output power and minimizing power consumption), the target optimization objective function is initialized. Next, according to the constraint function generated in the previous step (such as the output power must be between 1W and 5W, and the power consumption must be less than 10W), these constraint functions are associated with the initialized target optimization objective function to form a complete optimization model function. In this way, it can be ensured that the optimization process not only achieves the optimization goal set by the user, but also satisfies all physical constraints, thereby improving the effectiveness and feasibility of the optimization results.
[0070] Step 204: decompose the to-be-processed data set of the optimization model function into a plurality of sub-data sets, and determine the optimization model sub-function corresponding to each sub-data set according to the plurality of sub-data sets.
[0071] In some embodiments of the present application, the data set to be processed of the optimization model function is decomposed into multiple sub-data sets, and the optimization model sub-function corresponding to each sub-data set is determined based on the multiple sub-data sets. Each sub-data set represents a part of the data set to be processed, and each optimization model sub-function represents a part of the optimization model function, and can be solved independently according to the corresponding sub-data set. In order to improve computing efficiency, these optimization model sub-functions are assigned to different distributed servers for parallel computing. In this way, the computing resources of multiple servers can be fully utilized to accelerate the optimization process.
[0072] In a specific embodiment, it is assumed that a complex analog circuit needs to be optimized, and the optimization model function of the circuit contains multiple objectives and constraints. First, the optimization model function is decomposed into multiple optimization model sub-functions. For example, it is assumed that the optimization model function contains three main parts: a gain optimization sub-function, a power consumption optimization sub-function, and a noise optimization sub-function. Each sub-function describes the optimization objectives and constraints of the circuit in terms of gain, power consumption, and noise. Next, these three optimization model sub-functions are assigned to different distributed servers. For example, the gain optimization sub-function is assigned to server A, the power consumption optimization sub-function is assigned to server B, and the noise optimization sub-function is assigned to server C. Each server independently solves its assigned optimization model sub-function and returns the calculation results to the client. In this way, multiple optimization tasks can be performed simultaneously, thereby significantly accelerating the entire optimization process and improving computing efficiency and optimization effects.
[0073] Step 205, determine the distributed server corresponding to each optimization model sub-function according to the determined multiple optimization model sub-functions, and send each optimization model sub-function and the sub-data set corresponding to the optimization model sub-function to the distributed server corresponding to the optimization model sub-function.
[0074] After receiving the optimization model sub-function and the sub-data set, each distributed server solves the received optimization model sub-function to send the obtained optimization decision population sub-data corresponding to the optimization model sub-function back to the client.
[0075] In some embodiments of the present application, the distributed server corresponding to each optimization model sub-function is determined according to the determined multiple optimization model sub-functions, and then each optimization model sub-function and the sub-data set corresponding to the optimization model sub-function are sent to the corresponding distributed server. The corresponding relationship of the distributed servers can be controlled by the parameter value preset by the user, for example, the proportion of computing resources used by each distributed server can be preset. It is worth emphasizing that each optimization model sub-function does not need to be assigned to a fixed server, but is overall scheduled by the computing load of the distributed server. After receiving the optimization model sub-function and the sub-data set corresponding to the optimization model sub-function, each distributed server independently solves the sub-function and sends the obtained optimization decision population sub-data back to the client. The optimization decision population sub-data refers to the partial optimization solution generated by each server according to its assigned sub-function during the distributed computing process. In this way, the advantages of distributed computing can be fully utilized to speed up the optimization process and ensure that the results of each sub-task can be summarized and processed in time.
[0076] In a specific embodiment, it is assumed that a multi-stage amplifier circuit needs to be optimized. The optimization model function has been decomposed into three sub-functions: a gain optimization sub-function, a power consumption optimization sub-function, and a linearity optimization sub-function, which have corresponding sub-data sets a, b, and c. Then, the server corresponding to the sub-function can be determined according to the computing power required by each algorithm and sub-data set, for example, the gain optimization sub-function is sent to server A, the power consumption optimization sub-function is sent to server B, and the linearity optimization sub-function is sent to server C. Then, the gain optimization sub-function and sub-data set a are sent to server A, the power consumption optimization sub-function and sub-data set b are sent to server B, and the linearity optimization sub-function and sub-data set c are sent to server C. After receiving the corresponding optimization model sub-function and sub-data set, each server starts to solve independently. For example, server A calculates a set of optimization decision population sub-data based on the gain optimization sub-function and sub-data set a, which includes gain values under different circuit parameter configurations. Server B and server C calculate the corresponding optimization decision population sub-data based on the power consumption optimization sub-function and the linearity optimization sub-function respectively. After the calculation is completed, servers A, B, and C send their respective optimization decision population sub-data back to the client. After receiving this data, the client aggregates and further processes it to form a complete array of optimization decisions. This distributed computing method can significantly improve the efficiency of the optimization process and ensure that the results of each subtask can be integrated and applied in a timely manner.
[0077] Step 206, respectively receiving the optimized decision population sub-data sent from each distributed server, and synthesizing all the optimized decision population sub-data to obtain the optimized decision population data.
[0078] The optimization decision population data includes an optimization decision array corresponding to the optimization model function.
[0079] In some embodiments of the present application, the optimization decision population sub-data sent from each distributed server are received separately, and these sub-data are synthesized to obtain complete optimization decision population data. The optimization decision population data contains optimization decision arrays corresponding to the optimization model function, and these arrays represent all optimization solutions generated in the distributed computing process. By synthesizing the sub-data of each server, a comprehensive optimization decision population can be formed, thereby providing a basis for subsequent optimization evaluation and decision-making.
[0080] In a specific embodiment, it is assumed that a multi-stage amplifier circuit needs to be optimized. In the previous step, servers A, B, and C respectively calculated the gain optimization sub-data, the power consumption optimization sub-data, and the linearity optimization sub-data. Each server sends its calculation results back to the client. After receiving these sub-data, the client first parses and processes each sub-data. For example, the gain optimization sub-data may contain gain values under different circuit parameter configurations, the power consumption optimization sub-data contains corresponding power consumption values, and the linearity optimization sub-data contains corresponding linearity values. Next, the client synthesizes these sub-data to form a complete optimization decision population data. The synthesis process may include matching and integrating each sub-data according to the circuit parameter configuration to ensure that each optimization decision array contains all relevant optimization indicators. Finally, the client generates an optimization decision population data containing all optimization solutions, which can be used for further optimization evaluation and decision-making. In this way, it can be ensured that the results of distributed computing can be effectively integrated to provide comprehensive data support for the optimization process.
[0081] Step 207, bringing the optimization decision array into the optimization objective function of the optimization model function, and taking the value of the optimization objective function brought into the optimization decision array as the optimization evaluation value of the optimization decision array.
[0082] In some embodiments of the present application, the optimization decision array is brought into the optimization objective function of the optimization model function, and the value of the optimization objective function brought into the optimization decision array is used as the optimization evaluation value of the optimization decision array. The optimization objective function is used to evaluate the performance of the optimization decision array under a specific optimization objective. By substituting the optimization decision array into the optimization objective function, the optimization evaluation value of each optimization decision array can be calculated. These evaluation values are used to measure the pros and cons of different optimization schemes, thereby helping users make optimization decisions.
[0083] In a specific embodiment, it is assumed that a low noise amplifier (LNA) circuit needs to be optimized. In the previous step, multiple optimization decision arrays have been obtained, which contain optimization solutions under different circuit parameter configurations. Next, these optimization decision arrays are brought into the optimization objective function of the optimization model function. The circuit parameter configuration in each optimization decision array is substituted into the optimization objective function to calculate the corresponding optimization evaluation value. In this way, the optimization evaluation value of each optimization decision array can be calculated. These evaluation values are used to measure the performance of different optimization schemes in terms of gain and noise coefficient, so as to help users select the optimal circuit parameter configuration. In this way, it can be ensured that the results of the optimization process have clear evaluation criteria, which is convenient for users to compare and make decisions.
[0084] Step 208, based on the mutually corresponding optimization decision arrays and at least one of the optimization evaluation values, determine at least one of the shape, position and color of the data image point corresponding to the optimization decision array, and display the determined data image point on the image display interface.
[0085] The method shown in this step has been explained in step 103 and will not be repeated here.
[0086] Optionally, the image display interface includes a first sub-interface, the optimization decision array has corresponding decision population data, and step 208 includes the following sub-steps:
[0087] Sub-step 2081, dividing the first sub-interface into a plurality of sub-areas according to the number of decision population data corresponding to the optimization decision array.
[0088] In some embodiments of the present application, the first sub-interface is divided into a plurality of sub-areas according to the number of decision population data corresponding to the optimization decision array. Each sub-area is used to display the optimization decision array related to a specific decision population data. In this way, different optimization decision data can be clearly separated and organized on the image display interface, so that users can more intuitively compare and analyze data of different populations.
[0089] like Figure 4 As shown, in a specific embodiment, multiple optimization decision arrays have been obtained. These arrays correspond to different decision population data, such as populations pop0-pop5. In order to clearly display these data on the image display interface, it is first necessary to divide the first sub-interface into multiple sub-areas according to the number of decision population data. Assuming that there are six decision population data, the first sub-interface is divided into six sub-areas, and each sub-area corresponds to one decision population data. The specific division is as follows: Sub-area 1: used to display the optimization decision array of population pop0, sub-area 2: used to display the optimization decision array of population pop1, and so on. In this way, the data of different populations can be clearly separated and organized on the image display interface, so that users can more intuitively compare and analyze the data of different populations, and then make more effective optimization decisions.
[0090] Sub-step 2082, displaying the data image points corresponding to the optimized decision array corresponding to the same decision population data in the same sub-region.
[0091] In some embodiments of the present application, data image points corresponding to the optimization decision array corresponding to the same decision population data are displayed in the same sub-area. In this way, the data of the same population can be displayed in a centralized manner on the image display interface, so that users can more conveniently compare and analyze the data points of the same decision population, and then make more effective optimization decisions.
[0092] like Figure 4 As shown, in a specific embodiment, the first sub-interface has been divided into five sub-areas, corresponding to populations pop0-pop5 respectively. Next, the data image points corresponding to the optimization decision array corresponding to each population are displayed in the sub-area corresponding to pop0. For example, the optimization decision array of population pop0 contains multiple data image points, each of which represents a specific optimization solution. These data image points are displayed collectively in sub-area 1 so that the user can intuitively see the optimization results of these populations. In this way, the data of different populations can be clearly separated and organized on the image display interface, so that the user can more conveniently compare and analyze the data points of the same decision population, thereby making more effective optimization decisions.
[0093] Optionally, the image display interface includes a second sub-interface, and step 208 includes the following sub-steps:
[0094] Sub-step 2083, generating multiple first coordinate systems in the second sub-interface according to the number of decision population data corresponding to the optimized decision array.
[0095] In some embodiments of the present application, multiple first coordinate systems are generated in the second sub-interface according to the number of decision population data corresponding to the optimized decision array. Each first coordinate system is used to display data image points of the optimized decision array related to specific decision population data. By generating multiple first coordinate systems, data of different populations can be clearly separated and organized on the image display interface, so that users can more intuitively compare and analyze data points of different populations.
[0096] In a specific embodiment, it is assumed that a multi-stage amplifier circuit needs to be optimized, and multiple optimization decision arrays have been obtained. These arrays correspond to different decision population data. In order to clearly display these data on the image display interface, it is first necessary to generate multiple first coordinate systems in the second sub-interface. For example, Figure 4 In the example, there are six decision population data, and six first coordinate systems are generated in the second sub-interface, each of which corresponds to one decision population data. In this way, the data of different populations can be clearly separated and organized on the image display interface, so that users can more intuitively compare and analyze the data points of different populations, and then make more effective optimization decisions.
[0097] Sub-step 2084, displays the data image points corresponding to the optimized decision array corresponding to the same decision population data in the same first coordinate system, so that the horizontal coordinate or vertical coordinate of the data image point in the first coordinate system is positively correlated or negatively correlated with the optimized evaluation value corresponding to the data image point.
[0098] In some embodiments of the present application, the data image points corresponding to the optimization decision array corresponding to the same decision population data are displayed in the same first coordinate system. The horizontal coordinate or vertical coordinate of the data image point in the first coordinate system is positively correlated or negatively correlated with the optimization evaluation value corresponding to the data image point. In this way, the optimization effect of the optimization decision array can be intuitively displayed, so that users can more easily compare and analyze the advantages and disadvantages of different optimization schemes.
[0099] like Figure 5 As shown, in a specific embodiment, six first coordinate systems have been generated in the second sub-interface. In this example, the x-axis of the first coordinate system is used to represent the number value of the optimization decision array, and the y-axis of the first coordinate system is used to represent the optimization evaluation value corresponding to the optimization decision array. The multiple first coordinate systems correspond to the relevant data of the populations pop0-pop5. Next, the data image points corresponding to the optimization decision array corresponding to the population pop0 are displayed in the first first coordinate system. Assume that the optimization decision array of the population pop0 contains multiple data image points, each of which represents a specific optimization solution. These data image points are displayed in the first first coordinate system so that the horizontal axis represents the number value of the optimization strategy corresponding to each data image point, and the vertical axis represents the optimization evaluation value. In this way, the horizontal axis of the data image point is positively correlated with the gain value, and the vertical axis is negatively correlated with the noise coefficient. Through this display method, users can intuitively see the performance of different optimization solutions in terms of gain and noise coefficient, so that it is easier to compare and analyze the advantages and disadvantages of different optimization schemes, and then make more effective optimization decisions.
[0100] Optionally, based on sub-steps 2081 to 2082 or sub-steps 2083 to 2084, step 208 may include the following coloring-related sub-steps:
[0101] Sub-step 2085, coloring each data image point so that at least one color value component in the color value of the data image point is positively correlated or negatively correlated with the optimization evaluation value corresponding to the data image point.
[0102] In some embodiments of the present application, each data image point is colored so that at least one color value component in the color value of the data image point is positively or negatively correlated with the optimization evaluation value corresponding to the data image point. In this way, the optimization effect of the optimization decision array can be intuitively displayed, allowing users to more easily compare and analyze the advantages and disadvantages of different optimization schemes. The color value component can be the brightness, saturation or hue of the color, etc. Through the changes in these visual features, users can quickly identify the differences in optimization effects.
[0103] like Figure 4 or Figure 5As shown, in some specific embodiments, it is assumed that multiple data image points have been generated on the image display interface, and each point represents a specific optimization solution. In order to intuitively display the effects of these optimization solutions, the data image points can be colored. It is assumed that the optimization evaluation value represents the comprehensive effect of the gain and the noise coefficient. The color of the data image point is associated with the optimization evaluation value. For example, the higher the optimization evaluation value, the closer the color is to green; the lower the optimization evaluation value, the closer the color is to red. Specifically, the following rules can be set: the optimization evaluation value is high (high gain, low noise coefficient): the data image point is displayed in green, the optimization evaluation value is medium: the data image point is displayed in yellow, and the optimization evaluation value is low (low gain, high noise coefficient): the data image point is displayed in red. In this way, the user can intuitively see the effects of different optimization solutions on the image display interface. For example, a green data image point indicates that the optimization solution has a higher gain and a lower noise coefficient, and is a better solution; a blue data image point indicates that the optimization solution has the highest gain and a lower noise coefficient, and is an optimal solution; and a red data image point indicates that the optimization solution has a poor effect. This coloring method can help users quickly identify and compare the advantages and disadvantages of different optimization solutions, thereby making more effective optimization decisions.
[0104] Optionally, the image display interface includes a third sub-interface, and step 208 includes the following sub-steps:
[0105] Sub-step 2086, generating a compressed array of each optimization decision array through principal component analysis method.
[0106] Among them, the data dimension of the compressed array is less than or equal to three.
[0107] In some embodiments of the present application, a compressed array of each optimization decision array is generated by a principal component analysis (PCA) method. Principal component analysis is a dimensionality reduction technique used to convert high-dimensional data into low-dimensional data while retaining the main information of the original data as much as possible. Through PCA, the data dimension of the optimization decision array can be reduced to three dimensions or less, so as to facilitate visual display in the image display interface. The compressed array contains the main features of the optimization decision array, which is convenient for users to intuitively analyze and compare different optimization schemes.
[0108] In a specific embodiment, it is assumed that a multi-stage amplifier circuit needs to be optimized, and multiple high-dimensional optimization decision arrays have been obtained. These arrays may contain multiple circuit parameters, such as resistance values, capacitance values, transistor sizes, etc., and the dimensions of each array may be as high as more than ten dimensions. In order to facilitate visual display, these high-dimensional data need to be reduced in dimension by the PCA method. First, the PCA method is applied to reduce the dimension of each optimization decision array. For example, assuming that an optimization decision array contains 10 parameters, it is reduced to 3 dimensions by PCA to generate a compressed array. The compressed array retains the main features of the original data, which is convenient for subsequent visual display. Assume that the original data of an optimization decision array is: original array = [R1, R2, C1, C2, L1, L2, Q1, Q2, V1, V2]. After PCA dimensionality reduction, the generated compressed array is: compressed array = [PC1, PC2, PC3]. Among them, PC1, PC2 and PC3 are principal components, representing the main features of the original data. In this way, the high-dimensional optimization decision array can be converted into a low-dimensional compressed array, which is convenient for visualization and analysis in the image display interface.
[0109] Sub-step 2087, generates a second coordinate system in the third sub-interface according to the data dimension of the compressed array, and locates all the data image points in the second coordinate system so that the coordinate value of each data image point in the second coordinate system is equal to the value of the compressed array corresponding to the data image point, and the radius of each data image point is positively or negatively correlated with the optimization evaluation value corresponding to the data image point.
[0110] In some embodiments of the present application, a second coordinate system is generated in the third sub-interface according to the data dimension of the compressed array, and all data image points are displayed in the second coordinate system. The coordinate value of each data image point in the second coordinate system is equal to the value of the compressed array corresponding to the data image point. In addition, the radius of each data image point is positively or negatively correlated with its corresponding optimization evaluation value. In this way, the main features and optimization effects of the optimization decision array can be intuitively displayed in a low-dimensional space, allowing users to more easily compare and analyze different optimization schemes.
[0111] like Figure 6As shown, in a specific embodiment, it is assumed that the high-dimensional optimization decision array has been reduced to a three-dimensional compressed array by the principal component analysis (PCA) method. Next, a two-dimensional second coordinate system is generated in the third sub-interface to display these compressed arrays. Assume that the compressed array of a certain optimization decision array is: compressed array = [PC1, PC2], and the coordinate values of the data image points in the second coordinate system are PC1 and PC2 respectively. For example, if the compressed array of a data image point is [1.2, -0.5], then the coordinates of the point in the second coordinate system are (1.2, -0.5). In addition, the radius of the data image point is associated with its corresponding optimization evaluation value. For example, the higher the optimization evaluation value, the larger the radius of the data image point; the lower the optimization evaluation value, the smaller the radius of the data image point. Assuming that the optimization evaluation value of a certain data image point is 0.9, the radius of the point may be 5 units, while the radius of another point with an optimization evaluation value of 0.3 may be 2 units. In this way, the main characteristics and optimization effects of the optimization decision array can be intuitively displayed in three-dimensional space, allowing users to more easily compare and analyze different optimization schemes and make more effective optimization decisions.
[0112] Optionally, the optimization decision array has corresponding decision population data. Based on sub-steps 2086 to 2087, step 208 may include the following coloring-related sub-steps:
[0113] Sub-step 2088, determining different colors for each decision population data.
[0114] In some embodiments of the present application, different colors are determined for each decision population data. By assigning different colors to each decision population data, data points of different populations can be intuitively distinguished on the image display interface. This color coding method helps users quickly identify and compare the optimization results of different populations, thereby making analysis and decision-making more effective.
[0115] In a specific embodiment, it is assumed that a compressed array of multiple optimization decision arrays has been generated by the principal component analysis (PCA) method. These arrays correspond to different decision population data, such as population A, population B, and population C, etc. In order to visually distinguish these populations on the image display interface, it is necessary to assign different colors to each population. Assume that the assigned colors are as follows: population A: red, population B: blue, population C: green, etc. In this way, different colors can be used on the image display interface to represent different decision population data. For example, all data points belonging to population A will be displayed in red, data points belonging to population B will be displayed in blue, and data points belonging to population C will be displayed in green. Through this color coding method, users can quickly identify and compare the optimization results of different populations, thereby making analysis and decisions more effectively.
[0116] Sub-step 2089, coloring all optimized decision arrays corresponding to each decision population data into a color corresponding to the decision population data.
[0117] In some embodiments of the present application, all optimization decision arrays corresponding to each decision population data are colored with the color corresponding to the decision population data. In this way, data points of different populations can be intuitively distinguished on the image display interface, allowing users to more easily identify and compare the optimization results of different populations. This color coding method helps users quickly understand data distribution and optimization effects, so as to make more effective decisions.
[0118] like Figure 6 As shown, in a specific embodiment, a compressed array of multiple optimization decision arrays has been generated by the principal component analysis (PCA) method. These arrays correspond to different decision population data, such as population A to population E. Different colors have been assigned to each population in the previous step: population A is red, population B is dark blue, population C is green, population D is yellow, population E is light blue, and population F is purple. Next, all optimization decision arrays corresponding to the population are colored with corresponding colors. For example, on the image display interface, all data image points belonging to population A will be displayed in red, and data image points of population B will be displayed in blue, etc. In this way, users can intuitively see the data points of different populations on the image display interface, and quickly identify and compare the optimization results of different populations by color. This color coding method helps users to perform data analysis and optimization decisions more effectively.
[0119] like Figure 3 As shown, further, in some schemes of the present application, the user can also color the corresponding data in the CVS table based on the coloring of the optimization decision array, so that the user can visually distinguish the original data corresponding to various data points in the first interface, the second interface, or the third interface.
[0120] like Figure 7 As shown, in the embodiment of the present application, distributed computing tasks can be allocated through the server-client mode. The client program first decomposes the simulation task into several subtasks, and then distributes these subtasks to multiple servers through the socket protocol. After each server receives the task, it independently performs the simulation calculation and returns the result to the client. The client summarizes the results returned by all servers for further analysis and processing:
[0121] Step S1: Receiving and identifying the simulation task: In this step, the client program receives the optimization task and identifies the specific content and requirements of the task. This includes reading the configuration file, determining the circuit type to be optimized, the target parameters and constraints, etc.
[0122] Step S2: Task decomposition: In this step, the client program decomposes the received simulation task into several subtasks. Each subtask corresponds to a specific computing task in the optimization process, and these subtasks can be executed independently.
[0123] Step S3: Task distribution: In this step, the client program distributes the decomposed subtasks to multiple servers through the socket protocol. After each server receives the subtask, it is ready to execute the corresponding simulation calculation.
[0124] Step S4: Task execution: In this step, each server independently executes the received simulation computing task. The server performs calculations according to the requirements of the subtask and generates corresponding simulation results.
[0125] Step S5: Result aggregation: In this step, the client program aggregates the simulation results returned by all servers for further analysis and processing. The client integrates the results of each subtask to form complete optimization decision data.
[0126] like Figure 8 As shown, the physical architecture and execution logic of the embodiment of the present application are as follows:
[0127] Step T1: Multi-objective optimization algorithm selection: The system selects a multi-objective optimization algorithm suitable for the current optimization task. For example, non-dominated sorting genetic algorithm II (NSGA-II), genetic algorithm (GA), differential evolution algorithm (DE) and simulated annealing algorithm (SA). The selected algorithm will be used in the subsequent optimization process.
[0128] Step T2: Parameter setting: The system sets parameters for the selected multi-objective optimization algorithm. These parameters may include population size, number of iterations, crossover rate, mutation rate, etc. The rationality of parameter setting directly affects the performance of the optimization algorithm and the quality of the optimization results.
[0129] Step T3: Multi-objective optimization algorithm operation: The system runs the selected multi-objective optimization algorithm and analyzes the operation results. The operation results include the solution set generated during the optimization process and the fitness value of each solution. The system decides whether to adjust the optimization strategy based on these results.
[0130] Step T4: Parameter and algorithm adjustment: The system adjusts the parameters of the optimization algorithm or selects a new optimization algorithm based on the analysis results of the previous step. The purpose of the adjustment is to improve the efficiency of the optimization process and the quality of the optimization results. The adjusted parameters and algorithms will be used in the next round of optimization process.
[0131] In summary, in the embodiment of the present application, through the decision input operation of the user interface, the optimization target data of the analog circuit can be quickly determined, so that the user can flexibly set the optimization target according to specific needs, avoiding the single problem of optimization target setting in the traditional method, thereby improving the pertinence and effectiveness of the optimization result; and then it is possible to establish an optimization model function based on the sampling data set and the optimization target data, and solve the function through distributed computing, and use the high efficiency of distributed computing to quickly process a large number of simulation tasks, so that the optimization process can be completed in a short time, thereby providing the possibility for real-time monitoring and dynamic adjustment; finally, after obtaining the optimization decision array and its optimization evaluation value, the optimization decision array and its optimization evaluation value are intuitively displayed through the shape, position and color of the data image point, so that the user can intuitively compare the differences between different optimization schemes, so as to quickly make optimization decisions, thereby dynamically adjusting and controlling during the optimization process. Therefore, the method based on the embodiment of the present application solves the problem of insufficient flexibility of the analog circuit optimization process in the prior art.
[0132] refer to Fig. 9 , which shows a distributed computing simulation circuit optimization device 30 based on visual control provided by an embodiment of the present application, applied to a client, including:
[0133] The data acquisition module 301 is used to acquire a sample data set of an analog circuit, and determine optimization target data for the analog circuit in response to a decision input operation on an input interface; the sample data set includes electrical sampling data of a plurality of sampling points in the analog circuit; the optimization target data is used to characterize an evaluation method for an optimization effect of the analog circuit;
[0134] The model solving module 302 is used to establish an optimization model function for the analog circuit according to the sample data set and the optimization target data, and solve the optimization model function through distributed computing to obtain an optimization decision array of the optimization model function and an optimization evaluation value of the optimization decision array; the optimization decision array is used to represent the optimization strategy for the analog circuit; the optimization evaluation value is used to represent the optimization effect of the optimization strategy corresponding to the optimization decision array under the evaluation mode;
[0135] The image display module 303 is used to determine at least one of the shape, position and color of the data image point corresponding to the optimization decision array based on the corresponding optimization decision array and at least one of the optimization evaluation values, and display the determined data image point on the image display interface.
[0136] Optionally, the data acquisition module 301 includes:
[0137] A parameter acquisition submodule, used to acquire component parameters and component connection relationships of a plurality of electronic components in the analog circuit, and an operating parameter of each of the electronic components when the analog circuit is running;
[0138] A table generation submodule, used to generate an initialized data table corresponding to the component connection relationship according to the component connection relationship; the data table includes a plurality of data bits; the data bits correspond to the electronic components one by one;
[0139] The table filling submodule is used to fill the component parameters and the operating parameters into the data bits corresponding to the electronic components in the initialized data table to update the data table, and use the updated data table as the sampling data set.
[0140] Optionally, the optimization target data includes a plurality of optimization target sub-data, and the data acquisition module 301 includes:
[0141] The target input submodule is used to generate the optimization target data in response to a filling operation and / or a selection operation on the optimization target sub-data in the input interface.
[0142] Optionally, the model solving module 302 includes:
[0143] A function selection submodule, used to generate a constraint condition function of the analog circuit according to the sampled data set, and to determine a target optimization objective function from a plurality of preset optimization objective functions according to the optimization objective data;
[0144] The model generation submodule is used to initialize the target optimization objective function according to the optimization target data, and associate the constraint condition function with the initialized target optimization objective function to obtain the optimization model function.
[0145] Optionally, the optimization model function includes an optimization objective function, and the model solving module 302 includes:
[0146] A decomposition submodule, used to decompose the to-be-processed data set of the optimization model function into multiple sub-data sets, and determine the optimization model sub-function corresponding to each sub-data set according to the multiple sub-data sets;
[0147] A distribution submodule is used to determine the distributed server corresponding to each optimization model subfunction according to the determined multiple optimization model subfunctions, and send each optimization model subfunction and the subdata set corresponding to the optimization model subfunction to the distributed server corresponding to the optimization model subfunction, so that each distributed server solves the optimization model subfunction after receiving the optimization model subfunction and the subdata set, so as to send the obtained optimization decision population subdata corresponding to the optimization model subfunction back to the client;
[0148] A recycling submodule, used for respectively receiving the optimization decision population sub-data sent from each of the distributed servers, and synthesizing all the optimization decision population sub-data to obtain the optimization decision population data; the optimization decision population data includes an optimization decision array corresponding to the optimization model function;
[0149] The evaluation submodule is used to bring the optimization decision array into the optimization objective function of the optimization model function, and use the value of the optimization objective function brought into the optimization decision array as the optimization evaluation value of the optimization decision array.
[0150] Optionally, the image display interface includes a first sub-interface, the optimization decision array has corresponding decision population data, and the image display module 303 includes:
[0151] A region division submodule, used for dividing the first sub-interface into a plurality of sub-regions according to the number of decision population data corresponding to the optimization decision array;
[0152] The region filling submodule is used to display the data image points corresponding to the optimized decision array corresponding to the same decision population data in the same subregion.
[0153] Optionally, the image display interface includes a second sub-interface, and the image display module 303 includes:
[0154] A coordinate division submodule, used for generating a plurality of first coordinate systems in the second sub-interface according to the number of decision population data corresponding to the optimization decision array;
[0155] The coordinate filling submodule is used to display the data image points corresponding to the optimized decision array corresponding to the same decision population data in the same first coordinate system, so that the horizontal coordinate or vertical coordinate of the data image point in the first coordinate system is positively correlated or negatively correlated with the optimized evaluation value corresponding to the data image point.
[0156] Optionally, the image display module 303 includes:
[0157] The first coloring submodule is used to color each of the data image points so that at least one color value component in the color value of the data image point is positively correlated or negatively correlated with the optimization evaluation value corresponding to the data image point.
[0158] Optionally, the image display interface includes a third sub-interface, and the image display module 303 includes:
[0159] A data compression submodule, used to generate a compressed array of each of the optimization decision arrays by a principal component analysis method; the data dimension of the compressed array is less than or equal to three;
[0160] A distribution display submodule is used to generate a second coordinate system in the third sub-interface according to the data dimension of the compressed array, and all the data image points in the second coordinate system, so that the coordinate value of each data image point in the second coordinate system is equal to the value of the compressed array corresponding to the data image point, and the radius of each data image point is positively correlated or negatively correlated with the optimization evaluation value corresponding to the data image point.
[0161] Optionally, the optimization decision array has corresponding decision population data, and the image display module 303 includes:
[0162] A color generation submodule, used for determining different colors for each decision population data;
[0163] The second coloring submodule is used to color all the optimization decision arrays corresponding to each of the decision population data into a color corresponding to the decision population data.
[0164] In summary, in the embodiment of the present application, through the decision input operation of the user interface, the optimization target data of the analog circuit can be quickly determined, so that the user can flexibly set the optimization target according to specific needs, avoiding the single problem of optimization target setting in the traditional method, thereby improving the pertinence and effectiveness of the optimization result; and then it is possible to establish an optimization model function based on the sampling data set and the optimization target data, and solve the function through distributed computing, and use the high efficiency of distributed computing to quickly process a large number of simulation tasks, so that the optimization process can be completed in a short time, thereby providing the possibility for real-time monitoring and dynamic adjustment; finally, after obtaining the optimization decision array and its optimization evaluation value, the optimization decision array and its optimization evaluation value are intuitively displayed through the shape, position and color of the data image point, so that the user can intuitively compare the differences between different optimization schemes, so as to quickly make optimization decisions, thereby dynamically adjusting and controlling during the optimization process. Therefore, the method based on the embodiment of the present application solves the problem of insufficient flexibility of the analog circuit optimization process in the prior art.
[0165] Reference Fig.10, the electronic device 500 may include one or more of the following components: a processing component 502 , a memory 504 , a power component 506 , a multimedia component 508 , an audio component 510 , an input / output (I / O) interface 512 , a sensor component 514 , and a communication component 516 .
[0166] The processing component 502 generally controls the overall operation of the electronic device 500, such as operations associated with display, phone calls, data communications, camera operations, and recording operations. The processing component 502 may include one or more processors 520 to execute instructions to complete all or part of the steps of the above-mentioned method. In addition, the processing component 502 may include one or more modules to facilitate the interaction between the processing component 502 and other components. For example, the processing component 502 may include a multimedia module to facilitate the interaction between the multimedia component 508 and the processing component 502.
[0167] The memory 504 is used to store various types of data to support the operation of the electronic device 500. Examples of such data include instructions for any application or method operating on the electronic device 500, contact data, phone book data, messages, pictures, multimedia, etc. The memory 504 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.
[0168] The power supply component 506 provides power to the various components of the electronic device 500. The power supply component 506 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to the electronic device 500.
[0169] The multimedia component 508 includes an interface that provides an output interface between the electronic device 500 and the user. In some embodiments, the interface may include a liquid crystal display (LCD) and a touch panel (TP). If the interface includes a touch panel, the interface may be implemented as a touch screen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor may not only sense the boundaries of the touch or slide action, but also detect the duration and pressure associated with the touch or slide operation. In some embodiments, the multimedia component 508 includes a front camera and / or a rear camera. When the electronic device 500 is in an operating mode, such as a shooting mode or a multimedia mode, the front camera and / or the rear camera may receive external multimedia data. Each front camera and rear camera may be a fixed optical lens system or have a focal length and optical zoom capability.
[0170] The audio component 510 is used to output and / or input audio signals. For example, the audio component 510 includes a microphone (MIC), and when the electronic device 500 is in an operating mode, such as a call mode, a recording mode, and a voice recognition mode, the microphone is used to receive an external audio signal. The received audio signal can be further stored in the memory 504 or sent via the communication component 516. In some embodiments, the audio component 510 also includes a speaker for outputting audio signals.
[0171] The input / output I / O interface 512 provides an interface between the processing component 502 and the peripheral interface module, which may be a keyboard, a click wheel, buttons, etc. These buttons may include but are not limited to: a home button, a volume button, a start button, and a lock button.
[0172] The sensor assembly 514 includes one or more sensors for providing various aspects of status assessment for the electronic device 500. For example, the sensor assembly 514 can detect the open / closed state of the electronic device 500, the relative positioning of components, such as the display and keypad of the electronic device 500, and the sensor assembly 514 can also detect the position change of the electronic device 500 or a component of the electronic device 500, the presence or absence of user contact with the electronic device 500, the orientation or acceleration / deceleration of the electronic device 500, and the temperature change of the electronic device 500. The sensor assembly 514 may include a proximity sensor configured to detect the presence of nearby objects without any physical contact. The sensor assembly 514 may also include an optical sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, the sensor assembly 514 may also include an accelerometer, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.
[0173] The communication component 516 is used to facilitate wired or wireless communication between the electronic device 500 and other devices. The electronic device 500 can access a wireless network based on a communication standard, such as WiFi, a carrier network (such as 2G, 3G, 4G or 5G), or a combination thereof. In an exemplary embodiment, the communication component 516 receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component 516 also includes a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology and other technologies.
[0174] In an exemplary embodiment, the electronic device 500 may be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components to implement the methods provided in the embodiments of the present application.
[0175] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions is also provided, such as a memory 504 including instructions, and the instructions can be executed by a processor 520 of an electronic device 500 to perform the above method. For example, the non-transitory storage medium can be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, etc.
[0176] Fig.11 600 is a block diagram of an electronic device 600 according to another embodiment of the present invention. For example, the electronic device 600 may be provided as a server. Fig.11 , the electronic device 600 includes a processing component 622, which further includes one or more processors, and a memory resource represented by a memory 632, for storing instructions that can be executed by the processing component 622, such as an application. The application stored in the memory 632 may include one or more modules, each corresponding to a set of instructions. In addition, the processing component 622 is configured to execute instructions to perform the method provided in the embodiment of the present application.
[0177] The electronic device 600 may also include a power supply component 626 configured to perform power management of the electronic device 600, a wired or wireless network interface 650 configured to connect the electronic device 600 to a network, and an input / output (I / O) interface 658. The electronic device 600 may operate based on an operating system stored in the memory 632, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™ or the like.
[0178] Those skilled in the art will readily appreciate other embodiments of the present application after considering the specification and practicing the application disclosed herein. The present application is intended to cover any modification, use or adaptation of the present application, which follows the general principles of the present application and includes common knowledge or customary techniques in the art that are not disclosed in the present disclosure. The specification and examples are intended to be exemplary only, and the true scope and spirit of the present application are indicated by the following claims.
[0179] It should be understood that the present application is not limited to the precise structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present application is limited only by the appended claims.
Claims
1. A distributed computing simulation circuit optimization method based on visual control, applied to the client, characterized in that: include: Acquire a sample data set of an analog circuit, and determine optimization target data for the analog circuit in response to a decision input operation on an input interface; The sampling data set includes electrical sampling data for a plurality of sampling points in the analog circuit; The optimization target data is used to characterize an evaluation method of the optimization effect on the analog circuit; According to the sampling data set and the optimization target data, an optimization model function for the analog circuit is established, and the optimization model function is solved by distributed computing to obtain an optimization decision array of the optimization model function and an optimization evaluation value of the optimization decision array; the optimization decision array is used to characterize the optimization strategy for the analog circuit; the optimization evaluation value is used to characterize the optimization effect of the optimization strategy corresponding to the optimization decision array under the evaluation method; According to at least one of the mutually corresponding optimization decision arrays and optimization evaluation values, at least one of the shape, position and color of the data image point corresponding to the optimization decision array is determined, and the determined data image point is displayed on an image display interface.
2. The method according to claim 1, characterized in that The step of establishing an optimization model function for the analog circuit according to the sample data set and the optimization target data comprises: Generating a constraint condition function of the analog circuit according to the sampled data set, and determining a target optimization objective function from among a plurality of preset optimization objective functions according to the optimization objective data; The target optimization objective function is initialized according to the optimization target data, and the constraint condition function is associated with the initialized target optimization objective function to obtain the optimization model function.
3. The method according to claim 1, characterized in that The optimization model function includes an optimization objective function, and the method of solving the optimization model function by distributed computing to obtain an optimization decision array of the optimization model function and an optimization evaluation value of the optimization decision array includes: Decomposing the to-be-processed data set of the optimization model function into a plurality of sub-data sets, and determining the optimization model sub-function corresponding to each of the sub-data sets according to the plurality of sub-data sets; According to the determined multiple optimization model sub-functions, the distributed server corresponding to each of the optimization model sub-functions is determined, and each of the optimization model sub-functions and the sub-data set corresponding to the optimization model sub-function are sent to the distributed server corresponding to the optimization model sub-function, so that each of the distributed servers solves the optimization model sub-function after receiving the optimization model sub-function and the sub-data set, so as to send the obtained optimization decision population sub-data corresponding to the optimization model sub-function back to the client; Respectively receiving the optimization decision population sub-data sent from each of the distributed servers, and synthesizing all the optimization decision population sub-data to obtain the optimization decision population data; the optimization decision population data includes an optimization decision array corresponding to the optimization model function; The optimization decision array is brought into the optimization objective function of the optimization model function, and the value of the optimization objective function brought into the optimization decision array is used as the optimization evaluation value of the optimization decision array.
4. The method according to claim 1, characterized in that The image display interface includes a first sub-interface, the optimization decision array has corresponding decision population data, and the method of determining at least one of the shape, position and color of the data image point corresponding to the optimization decision array according to at least one of the corresponding optimization decision array and the optimization evaluation value, and displaying the determined data image point on the image display interface includes: Dividing the first sub-interface into a plurality of sub-areas according to the amount of decision population data corresponding to the optimization decision array; The optimized decision arrays corresponding to the same decision population data and the corresponding data image points are displayed in the same sub-region.
5. The method according to claim 1, characterized in that The image display interface includes a second sub-interface, wherein at least one of the shape, position and color of the data image point corresponding to the optimization decision array is determined according to at least one of the optimization decision array and the optimization evaluation value corresponding to each other, and the determined data image point is displayed on the image display interface, including: Generating a plurality of first coordinate systems in the second sub-interface according to the number of decision population data corresponding to the optimization decision array; The data image points corresponding to the optimized decision array corresponding to the same decision population data are displayed in the same first coordinate system so that the horizontal coordinate or vertical coordinate of the data image point in the first coordinate system is positively correlated or negatively correlated with the optimized evaluation value corresponding to the data image point.
6. The method according to claim 4 or 5, characterized in that The step of determining at least one of a shape, a position and a color of a data image point corresponding to the optimization decision array according to at least one of the optimization decision array and the optimization evaluation value corresponding to each other, and displaying the determined data image point on an image display interface includes: Each of the data image points is colored so that at least one color value component in the color value of the data image point is positively correlated or negatively correlated with the optimization evaluation value corresponding to the data image point.
7. The method according to claim 1, characterized in that The image display interface includes a third sub-interface, wherein at least one of the shape, position and color of the data image point corresponding to the optimization decision array is determined according to at least one of the optimization decision array and the optimization evaluation value corresponding to each other, and the determined data image point is displayed on the image display interface, including: Generate a compressed array of each of the optimization decision arrays by a principal component analysis method; the data dimension of the compressed array is less than or equal to three; A second coordinate system is generated in the third sub-interface according to the data dimension of the compressed array, and all the data image points in the second coordinate system are arranged so that the coordinate value of each data image point in the second coordinate system is equal to the value of the compressed array corresponding to the data image point, and the radius of each data image point is positively or negatively correlated with the optimization evaluation value corresponding to the data image point.
8. A distributed computing simulation circuit optimization device based on visual control, applied to the client, characterized in that: include: A data acquisition module, used to acquire a sample data set of an analog circuit, and determine optimization target data for the analog circuit in response to a decision input operation on an input interface; The sampling data set includes electrical sampling data for a plurality of sampling points in the analog circuit; The optimization target data is used to characterize an evaluation method of the optimization effect on the analog circuit; A model solving module, used to establish an optimization model function for the analog circuit according to the sampled data set and the optimization target data, and solve the optimization model function through distributed computing to obtain an optimization decision array of the optimization model function and an optimization evaluation value of the optimization decision array; the optimization decision array is used to characterize the optimization strategy for the analog circuit; the optimization evaluation value is used to characterize the optimization effect of the optimization strategy corresponding to the optimization decision array under the evaluation method; An image display module is used to determine at least one of the shape, position and color of a data image point corresponding to the optimization decision array based on at least one of the corresponding optimization decision arrays and optimization evaluation values, and to display the determined data image point on an image display interface.
9. An electronic device, characterized in that: include: A processor, a memory for storing instructions executable by the processor; The processor is configured to execute the instructions to implement the method according to any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that: When the instructions in the computer-readable storage medium are executed by a processor of an electronic device, the electronic device is enabled to perform the method as claimed in any one of claims 1 to 7.