Tree structure based automatic design method, device, equipment and medium for analog circuit

文档序号:20521 发布日期:2021-09-21 浏览:59次 中文

阅读说明:本技术 基于树结构的模拟电路自动设计方法、装置、设备及介质 (Tree structure based automatic design method, device, equipment and medium for analog circuit ) 是由 师心铭 姚新 于 2021-06-25 设计创作,主要内容包括:本发明公开了一种基于树结构的模拟电路自动设计方法、装置、设备及介质。基于树结构的模拟电路自动设计方法包括:设置树结构的最大高度和生长方向;从功能节点库中随机调用节点作为父节点;按照生长方向从功能节点库和端口节点库中随机调用节点作为子节点;若子节点为终端节点,则生成树结构;对树结构进行检查,若树结构满足预设条件,则得到符合电路规则的电路拓扑和器件参数;对电路拓扑和器件参数进行演化,生成模拟电路。本发明达到了使设计出的模拟电路的树结构更加合理的效果。(The invention discloses a method, a device, equipment and a medium for automatically designing an analog circuit based on a tree structure. The tree structure-based analog circuit automatic design method comprises the following steps: setting the maximum height and the growth direction of the tree structure; randomly calling nodes from the functional node library as father nodes; randomly calling nodes from the functional node library and the port node library according to the growth direction as child nodes; if the child node is a terminal node, generating a tree structure; checking the tree structure, and if the tree structure meets preset conditions, obtaining circuit topology and device parameters which accord with circuit rules; and evolving the circuit topology and the device parameters to generate an analog circuit. The invention achieves the effect of making the tree structure of the designed analog circuit more reasonable.)

1. An automatic design method of an analog circuit based on a tree structure is characterized by comprising the following steps:

setting the maximum height and the growth direction of the tree structure;

randomly calling nodes from the functional node library as father nodes;

randomly calling nodes from the functional node library and the port node library according to the growth direction as child nodes;

if the child node is a terminal node, generating a tree structure;

checking the tree structure, and if the tree structure meets a preset condition, obtaining a circuit topology and device parameters which accord with circuit rules;

and evolving the circuit topology and the device parameters to generate an analog circuit.

2. The method of claim 1, wherein inspecting the tree structure comprises at least one of:

checking a terminal node of the tree structure, and judging whether the terminal node comprises all external ports of a predefined embryo circuit;

checking whether there is a hanging node in the tree structure;

checking whether the height of the tree structure exceeds the maximum height.

3. The method of claim 2, wherein checking whether a hanging node exists in the tree structure comprises:

checking whether the distributed times of the same terminal node in the tree structure are greater than or equal to a preset time; and if the distributed times of the same terminal node in the tree structure are greater than or equal to the preset times, the tree structure has no suspension node.

4. The method of claim 1, wherein evolving the circuit topology and the device parameters to generate an analog circuit comprises:

setting population parameters, wherein the parameters at least comprise: the size of the population, the crossing rate of the topological structure, the value crossing rate, the variation rate and the preset iteration number;

initializing the population, and generating population individuals to be evolved according to the size of the population;

evaluating the adaptation value of the population individuals;

selecting elite individuals from the population individuals through an elite strategy according to the adaptive value;

judging whether individual topological cross is executed or not according to the topological structure cross rate, if the individual topological cross is executed, selecting a first parent individual from the elite individuals through a tournament strategy, and crossing the elite individuals;

judging whether to execute individual value crossing or not according to the value crossing rate, if the individual value crossing is executed, selecting a second parent individual from the elite individuals through a tournament strategy, and crossing the elite individuals;

judging whether to execute individual variation operation according to the variation rate, and if the individual variation operation is executed, randomly selecting to add or delete node operation;

updating the population and updating the iteration times;

and when the iteration times are determined to be equal to the preset iteration times, ending the iteration and generating the analog circuit.

5. The method of claim 1, further comprising, before setting the maximum height and growth direction of the tree structure:

determining a functional node library and a terminal node library;

the embryo circuit is predefined.

6. The method of claim 1, further comprising:

generating a netlist according to the tree structure;

and simulating by using the netlist to obtain an output curve of the analog circuit.

7. An analog circuit automatic design device based on a tree structure, comprising:

the parameter setting module is used for setting the maximum height and the growth direction of the tree structure;

a father node determining module, which is used for randomly calling nodes from the functional node library as father nodes;

a child node determining module, configured to randomly call nodes from the functional node library and the port node library according to the growth direction as child nodes;

the tree structure generating module is used for generating a tree structure when the child node is determined to be the terminal node;

the tree structure checking module is used for checking the tree structure;

the circuit topology and device parameter generation module is used for obtaining circuit topology and device parameters which accord with circuit rules when the tree structure is determined to meet the preset conditions;

and the analog circuit generating module is used for evolving the circuit topology and the device parameters to generate an analog circuit.

8. The tree structure based analog circuit auto-design apparatus of claim 7, wherein the tree structure checking module comprises at least one of:

a terminal node checking unit, configured to check a terminal node of the tree structure, and determine whether the terminal node includes all external ports of a predefined embryo circuit;

a hanging node checking unit for checking whether there is a hanging node in the tree structure;

a tree structure height checking unit for checking whether a height of the tree structure exceeds the maximum height.

9. An analog circuit automatic design electronic device based on a tree structure, comprising: processor for implementing a tree structure based simulation circuit auto-design method as claimed in any of claims 1-6 when executing a computer program.

10. A computer-readable storage medium storing a computer program, wherein the computer program, when executed by a processor, implements the method for automatic design of a tree structure-based simulation circuit according to any one of claims 1 to 6.

Technical Field

The embodiment of the invention relates to the technical field of automatic circuit design, in particular to a method, a device, equipment and a medium for automatically designing an analog circuit based on a tree structure.

Background

Automated circuit design has attracted increasing attention, and analog circuit design automation is particularly challenging due to its involvement of complex topologies and parameter selection. There are many methods for studying the automation of analog circuit design, including methods based on domain knowledge, evolutionary algorithms, and simulated annealing. The method based on the domain knowledge has higher circuit knowledge requirements for designers, and the evolutionary algorithm is widely applied to automatic design of circuits by virtue of the characteristic that the evolutionary algorithm does not depend on the domain knowledge. Genetic programming is one of evolutionary algorithms, and as a global optimization search algorithm, the genetic programming is simple and universal, has strong robustness, and shows strong solving capability for nonlinear complex problem modeling, and the characteristics are not matched with the requirement of automatic design of an analog circuit, so the genetic programming is successfully applied to the automatic design of the analog circuit.

For the automatic circuit design based on the evolution algorithm, the circuit representation mode determines the search space of the evolution algorithm, and plays a very key role in both the convergence process of the evolution and the final result of the evolution. From different data structures, circuit representations can be divided into three categories, string-based, tree-based, and graph-based circuit characterization methods, respectively.

However, representing a circuit in the form of a character string requires a lot of computation time, and a graph-based representation method is not favorable for performing a crossover operation, whereas a conventional tree-based representation method designs a tree structure by using a circuit connection operation, so that the tree structure is large.

Disclosure of Invention

The invention provides a method, a device, equipment and a medium for automatically designing an analog circuit based on a tree structure, so as to obtain the tree structure which represents the circuit more reasonably.

In a first aspect, an embodiment of the present invention provides an automatic design method for an analog circuit based on a tree structure, where the automatic design method for an analog circuit based on a tree structure includes:

setting the maximum height and the growth direction of the tree structure;

randomly calling nodes from the functional node library as father nodes;

randomly calling nodes from the functional node library and the port node library according to the growth direction as child nodes;

if the child node is determined to be a terminal node, generating a tree structure;

checking the tree structure, and determining that circuit topology and device parameters which accord with circuit rules are obtained if the tree structure meets preset conditions;

and evolving the circuit topology and the device parameters to generate an analog circuit.

Optionally, checking the tree structure comprises at least one of:

checking a terminal node of the tree structure, and judging whether the terminal node comprises all external ports of a predefined embryo circuit;

checking whether there is a hanging node in the tree structure;

checking whether the height of the tree structure exceeds the maximum height.

Optionally, checking whether there is a hanging node in the tree structure comprises:

checking whether the distributed times of the same terminal node in the tree structure are greater than or equal to a preset time; and if the distributed times of the same terminal node in the tree structure are greater than or equal to the preset times, the tree structure has no suspension node.

Optionally, evolving the circuit topology and the device parameters, generating an analog circuit includes:

setting population parameters, wherein the parameters at least comprise: the size of the population, the crossing rate of the topological structure, the value crossing rate, the variation rate and the preset iteration number;

initializing the population, and generating population individuals to be evolved according to the size of the population;

evaluating the adaptation value of the population individuals;

selecting elite individuals from the population individuals through an elite strategy according to the adaptive value;

judging whether individual topological cross is executed or not according to the topological structure cross rate, if the individual topological cross is executed, selecting a first parent individual from the elite individuals through a tournament strategy, and crossing the elite individuals;

judging whether to execute individual value crossing or not according to the value crossing rate, if the individual value crossing is executed, selecting a second parent individual from the elite individuals through a tournament strategy, and crossing the elite individuals;

judging whether to execute individual variation operation according to the variation rate, and if the individual variation operation is executed, randomly selecting to add or delete node operation;

updating the population and updating the iteration times;

and when the iteration times are determined to be equal to the preset iteration times, ending the iteration and generating the analog circuit.

Optionally, before setting the maximum height and the growth direction of the tree structure, the method further includes:

determining a functional node library and a terminal node library;

the embryo circuit is predefined.

Optionally, the method for automatically designing an analog circuit based on a tree structure further includes:

generating a netlist according to the tree structure;

and simulating by using the netlist to obtain an output curve of the analog circuit.

In a second aspect, an embodiment of the present invention further provides an automatic design device for an analog circuit based on a tree structure, where the automatic design device for an analog circuit based on a tree structure includes:

the parameter setting module is used for setting the maximum height and the growth direction of the tree structure;

a father node determining module, which is used for randomly calling nodes from the functional node library as father nodes;

a child node determining module, configured to randomly call nodes from the functional node library and the port node library according to the growth direction as child nodes;

the tree structure generating module is used for generating a tree structure when the child node is determined to be the terminal node;

the tree structure checking module is used for checking the tree structure;

the circuit topology and device parameter generation module is used for obtaining circuit topology and device parameters which accord with circuit rules when the tree structure is determined to meet the preset conditions;

and the analog circuit generating module is used for evolving the circuit topology and the device parameters to generate an analog circuit.

Optionally, the tree structure checking module comprises at least one of:

a terminal node checking unit, configured to check a terminal node of the tree structure, and determine whether the terminal node includes all external ports of a predefined embryo circuit;

a hanging node checking unit for checking whether there is a hanging node in the tree structure;

a tree structure height checking unit for checking whether a height of the tree structure exceeds the maximum height.

In a third aspect, an embodiment of the present invention further provides an electronic device for automatic design of an analog circuit based on a tree structure, where the electronic device for automatic design of an analog circuit based on a tree structure includes: a processor for implementing the tree structure based simulation circuit auto-design method according to any of the first aspect when executing a computer program.

In a fourth aspect, an embodiment of the present invention further provides a computer-readable storage medium, which stores a computer program, and when the computer program is executed by a processor, the method for automatically designing a simulation circuit based on a tree structure according to any of the first aspect is implemented.

The maximum allowable height and the growth direction of the tree structure are determined by setting the maximum height and the growth direction of the tree structure; the function node library comprises device types and device parameters required by generating the analog circuit, the port node library comprises port positions of devices required by generating the analog circuit, nodes are randomly called from the function node library as father nodes, nodes are randomly called from the function node library and the port node library as child nodes according to the growth direction, the data types of the child nodes are judged, if the child nodes are terminal nodes, tree growth is finished, and a tree structure is generated. And if the child node is not the terminal node, randomly calling the node from the functional node library and the port node library as the child node according to the growth direction until the child node is the terminal node. Thereby completing the growth of each branch of the tree structure and generating the tree structure. And then, checking the tree structure, and if the tree structure meets a preset condition, indicating that the generated tree structure accords with the circuit rule, thereby obtaining the circuit topology and the device parameters which accord with the circuit rule. Compared with the tree structure generated by adopting circuit connection operation in the prior art, the tree structure of the circuit topology generated by directly taking the device type as the functional node and taking the port position of the device as the terminal node is smaller, the tree structure is more reasonable, and the subsequent evolution and netlist generation are facilitated. And finally, evolving the circuit topology and the device parameters to generate an analog circuit. The invention solves the problem that the tree structure is larger because the tree structure is designed by adopting circuit connection operation in the prior art, and achieves the effect of enabling the tree structure of the designed analog circuit to be more reasonable.

Drawings

FIG. 1 is a flowchart of an automatic design method for a tree-based simulation circuit according to an embodiment of the present invention;

FIG. 2 is a schematic diagram of equivalent transistors with different port definitions provided by an embodiment of the present invention;

FIG. 3 is a schematic diagram of a circuit according to an embodiment of the present invention;

FIG. 4 is a schematic diagram of the circuit topology corresponding to FIG. 3 generated by a tree-based simulation circuit automatic design method according to an embodiment of the present invention;

FIG. 5 is a diagram of device parameters corresponding to FIG. 3 generated by a tree-based simulation circuit auto-design method according to an embodiment of the present invention;

FIG. 6 is a flow chart of another method for automatically designing a simulation circuit based on a tree structure according to an embodiment of the present invention;

FIG. 7 is a flowchart of another method for automatically designing a simulation circuit based on a tree structure according to an embodiment of the present invention;

FIG. 8 is a flow chart of another method for automatically designing a simulation circuit based on a tree structure according to an embodiment of the present invention;

FIG. 9 is a schematic diagram of a voltage reference circuit generated by an automatic design method for a tree-based analog circuit according to an embodiment of the present invention;

FIG. 10 is a comparison graph of the output curve and the target curve corresponding to FIG. 9 obtained by simulation of a netlist generated by an automatic design method for a simulation circuit based on a tree structure according to an embodiment of the present invention;

FIG. 11 is a schematic diagram of a structure of a temperature sensor circuit generated by an analog circuit auto-design method based on a tree structure according to an embodiment of the present invention;

FIG. 12 is a comparison graph of the output curve and the target curve corresponding to FIG. 11 obtained by simulation of a netlist generated by an automatic design method for a simulation circuit based on a tree structure according to an embodiment of the present invention;

FIG. 13 is a schematic diagram of a Gaussian function generator circuit generated by an automatic design method for a tree-based simulation circuit according to an embodiment of the present invention;

FIG. 14 is a comparison graph of the output curve and the target curve corresponding to FIG. 13 obtained by simulation of a netlist generated by an automatic design method for a simulation circuit based on a tree structure according to an embodiment of the present invention;

FIG. 15 is a schematic diagram of a memristor-based pulse generation circuit generated using a tree-based simulation circuit auto-design method according to an embodiment of the present invention;

FIG. 16 is a comparison graph of the output curve and the target curve corresponding to FIG. 15 obtained by simulation of a netlist generated by an automatic design method for a simulation circuit based on a tree structure according to an embodiment of the present invention;

FIG. 17 is a schematic structural diagram of an apparatus for automatically designing an analog circuit based on a tree structure according to an embodiment of the present invention;

fig. 18 is a schematic structural diagram of an electronic device for automatic design of analog circuits based on a tree structure according to an embodiment of the present invention.

Detailed Description

The present invention will be described in further detail with reference to the accompanying drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the invention and are not limiting of the invention. It should be further noted that, for the convenience of description, only some of the structures related to the present invention are shown in the drawings, not all of the structures.

Fig. 1 is a flowchart of an automatic design method for an analog circuit based on a tree structure according to an embodiment of the present invention, which is applicable to the case of automatic design of an analog circuit based on a tree structure, and referring to fig. 1, the automatic design method for an analog circuit based on a tree structure includes:

and S110, setting the maximum height and the growth direction of the tree structure.

Among them, a tree is an important non-linear data structure, which is intuitively a structure in which data elements (called nodes in the tree) are organized in a branching relationship, and the tree structure is, for example, a multi-way tree structure. Before generating the tree structure, a maximum height of the tree structure, which is a maximum allowable height of the tree structure, and a growing direction, which is set, for example, downward, are set.

S120, randomly calling nodes from the functional node library as father nodes; and randomly calling nodes from the functional node library and the port node library according to the growth direction to serve as child nodes.

The functional node library comprises all functional nodes required for generating the analog circuit, the functional nodes comprise device types and device parameters, the device parameters can comprise arithmetic operators and floating point numbers, and the floating point numbers are numbers from-1 to 1; the port node library contains all the port nodes required for generating the analog circuit, i.e. the port positions of the devices, which are expressed as integers. And randomly calling nodes from the functional node library as father nodes, and randomly calling nodes from the functional node library and the port node library as child nodes according to the growth direction. It should be noted that devices with polarities may be represented by different functional nodes, such as memristors or transistors, etc., fig. 2 is a schematic diagram of equivalent transistors with different port definitions provided in an embodiment of the present invention, and fig. 2 shows 6 transistors with different port definitions, where the 6 transistors need to be represented by different functional nodes for distinction. In fig. 2, g ' denotes a gate of the transistor, s ' denotes a source of the transistor, d ' denotes a drain of the transistor, and g, s, and d denote three port nodes of the transistor, respectively.

And S130, if the child node is the terminal node, generating a tree structure.

Specifically, the data type of the child node is judged, and if the child node is the digital type, the child node is the terminal node, the tree growth is finished, and the tree structure is generated. And if the data type of the child node is not the digital type, randomly calling the node from the functional node library and the port node library as the child node according to the growth direction until the child node is the terminal node. Thereby completing the growth of each branch of the tree structure and generating the tree structure. The tree structure of the circuit topology can be generated by using the device type of the functional node library and the device port position of the port node library, and the tree structure of the device parameter can be generated by using the device parameter of the functional node library.

S140, checking the tree structure, and if the tree structure meets a preset condition, obtaining a circuit topology and device parameters which accord with circuit rules.

Specifically, the tree structure is checked, and if the tree structure meets a preset condition, the generated tree structure is shown to accord with the circuit rule, so that the circuit topology and the device parameters which accord with the circuit rule are obtained. Compared with the tree structure generated by circuit connection operation in the prior art, the tree structure of the circuit topology generated by directly taking the device type as the functional node and taking the port position of the device as the terminal node is smaller, the tree structure is more reasonable, and the subsequent evolution and netlist generation are facilitated. The preset condition may be determined according to actual conditions, for example, according to circuit rules. The connection relation of the circuit can be determined through the circuit topology, and the parameter value of each device can be calculated through the device parameter. The parameter value is calculated by the formulaWherein, A is adjustable parameter, can be set according to actual conditions, ValuedeviceValue being a Value of a device parametertreeAre values calculated from a tree structure of device parameters.

Fig. 3 is a schematic structural diagram of a circuit according to an embodiment of the present invention, fig. 4 is a schematic structural diagram of a circuit topology corresponding to fig. 3 generated by using an automatic design method for a simulation circuit based on a tree structure according to an embodiment of the present invention, and fig. 5 is a schematic structural diagram of device parameters corresponding to fig. 3 generated by using an automatic design method for a simulation circuit based on a tree structure according to an embodiment of the present invention. Referring to fig. 3, the circuit includes a first transistor PMOS, a resistor R, a second transistor NMOS, and a memristor Mem, where the resistor R includes port nodes 0 and 3, the first transistor PMOS includes port nodes 1, 2, and 3, the second transistor NMOS includes port nodes 1, 4, and 5, the memristor Mem includes port nodes 2 and 4, and the port nodes of the device may represent the port positions of the device. Referring to fig. 4, in the circuit topology, the first transistor PMOS is used as a father node, the resistor R, the second transistor NMOS, and the memristor Mem are used as child nodes, and port positions of the resistor R, the second transistor NMOS, and the memristor Mem are used as terminal nodes. Referring to fig. 5, fig. 5 may be device parameters corresponding to any one of the devices in fig. 3, where the device parameters include an arithmetic operator and a floating point number, and the arithmetic operator includes two "+", one "-" and one "+", where "+" denotes an addition operator, "-" denotes a subtraction operator, "+" denotes a multiplication operator, and the floating point number includes 0.7, -0.3, -0.2, 0.8 and 0.5. From FIG. 5, Value can be calculatedtree,Valuetree(0.7- (-0.3)) + ((-0.2) × 0.8+0.5) ═ 1.34, and therefore, by setting a, the device parameter values can be calculated, and the parameter value for each device determined. It should be noted that fig. 4 illustrates only one case of a circuit topology, and is not limited; fig. 5 is a diagram illustrating only one example of device parameters, and is not intended to be limiting.

And S150, evolving the circuit topology and the device parameters to generate an analog circuit.

Specifically, the generated circuit topology may not be the optimal connection mode, a connection disorder may occur, and the generated device parameter may not be the optimal device parameter value, so the circuit topology and the device parameter need to be evolved, for example, by a genetic algorithm, and finally an analog circuit is generated, where the connection mode and the device parameter of the generated analog circuit are more reasonable.

According to the technical scheme of the embodiment, the maximum allowable height and the growth direction of the tree structure are determined by setting the maximum height and the growth direction of the tree structure; the function node library comprises device types and device parameters required by generating the analog circuit, the port node library comprises port positions of devices required by generating the analog circuit, nodes are randomly called from the function node library as father nodes, nodes are randomly called from the function node library and the port node library as child nodes according to the growth direction, the data types of the child nodes are judged, if the child nodes are terminal nodes, tree growth is finished, and a tree structure is generated. And if the child node is not the terminal node, randomly calling the node from the functional node library and the port node library as the child node according to the growth direction until the child node is the terminal node. Thereby completing the growth of each branch of the tree structure and generating the tree structure. And then, checking the tree structure, and if the tree structure meets a preset condition, indicating that the generated tree structure accords with the circuit rule, thereby obtaining the circuit topology and the device parameters which accord with the circuit rule. Compared with the tree structure generated by adopting circuit connection operation in the prior art, the tree structure of the circuit topology generated by directly taking the device type as the functional node and taking the port position of the device as the terminal node is smaller, the tree structure is more reasonable, and the subsequent evolution and netlist generation are facilitated. And finally, evolving the circuit topology and the device parameters to generate an analog circuit. The technical scheme of this embodiment has solved and has adopted the circuit connection operation to design the structure of tree among the prior art for the great problem of structure of tree has reached the more reasonable effect of tree structure that makes the analog circuit who designs.

On the basis of the above embodiment, the checking of the tree structure in S140 includes at least one of:

the terminal nodes of the tree structure are checked to determine whether the terminal nodes contain all external ports of the predefined embryo circuit.

Wherein, the embryo circuit represents the initial loop configuration of the circuit to be evolved, the configuration is predefined and will be fixed in the evolution process. A typical embryo circuit includes a voltage source, ground, and a load resistance, etc., and this part of the analog circuit will not evolve. Specifically, the terminal nodes of the tree structure are checked, whether the terminal nodes of the tree structure contain all external ports of the embryo circuit is judged, namely whether the terminal nodes of the tree structure are connected with all external ports of the embryo circuit is checked, so that unconnected ports of the embryo circuit are avoided, suspension nodes in the subsequently generated embryo circuit are avoided, and invalid circuits are avoided from occurring in the evolution process.

It is checked whether there are dangling nodes in the tree structure.

Specifically, whether a hanging node exists in the tree structure is checked, that is, whether ports of devices in the tree structure are all connected to a circuit is checked, so that the situation that the generated analog circuit is broken and the analog circuit cannot work normally is avoided.

Optionally, checking whether there is a hanging node in the tree structure comprises:

checking whether the distributed times of the same terminal node in the tree structure are greater than or equal to the preset times; and if the distributed times of the same terminal node in the tree structure are greater than or equal to the preset times, the tree structure has no suspension node.

Specifically, whether a suspension node exists in the check tree structure may be the number of times that the same terminal node of the check tree structure is allocated, that is, the number of times that the same terminal node of the check tree structure appears, and if the number of times that the same terminal node is allocated is greater than or equal to a preset number of times, it is verified that the terminal nodes of the check tree structure are all connected, and there is no unconnected terminal node, that is, there is no suspension node, so as to ensure that there is no open circuit phenomenon in the generated analog circuit. The preset number may be determined according to a specific device type and a device connection relationship, and may be 2, 3, or another number, which is not limited herein.

It is checked whether the height of the tree structure exceeds a maximum height.

Specifically, the height of the tree structure is checked, the tree structure is prevented from exceeding the maximum height, and therefore the expansion phenomenon of the tree structure is avoided, the generated tree structure is guaranteed to be too large, and the tree structure is enabled to be more reasonable. Alternatively, if the height of the tree structure exceeds the maximum height, the exceeding part can be replaced by the left terminal node thereof, so that the tree structure grows to the terminal node in advance, and the height of the tree structure is reduced.

On the basis of the above technical solution, fig. 6 is a flowchart of another tree structure based analog circuit automatic design method provided in the embodiment of the present invention, and optionally, referring to fig. 6, the tree structure based analog circuit automatic design method includes:

s201, setting the maximum height and the growth direction of the tree structure.

S202, randomly calling nodes from a functional node library as father nodes; and randomly calling nodes from the functional node library and the port node library according to the growth direction to serve as child nodes.

And S203, if the child node is the terminal node, generating a tree structure.

S204, checking the tree structure, and if the tree structure meets a preset condition, obtaining a circuit topology and device parameters which accord with circuit rules.

S205, setting population parameters, wherein the parameters at least comprise: the size of the population, the cross rate of the topological structure, the value cross rate, the variation rate and the preset iteration number.

Specifically, firstly, setting parameters of a population, wherein the size of the population is the number of individuals in the population; the topological structure cross rate is the cross rate of the topological structure, and the topological structure cross rate may be set randomly or calculated according to a formula, which is not limited herein; the value crossing rate refers to the crossing rate of the tree structure of the device parameters, and the value crossing rate can be set randomly or calculated according to a formula, which is not limited herein; the variation rate may be set randomly or calculated according to a formula, and is not limited herein; the preset iteration number, that is, the number of iterations required by the population, may be determined according to an actual situation, for example, may be determined according to an evolution time, or may be determined according to other conditions, and is not limited herein.

S206, initializing the population, and generating population individuals to be evolved according to the size of the population.

Specifically, the population is initialized, the initialization method comprises an M-type random method, a fixed value setting method, a two-step method, a mixing method and a specific application method, and the specific initialization method can be selected according to actual requirements. And generating population individuals according to the size of the population so as to carry out subsequent evolution.

And S207, evaluating the adaptive value of the population individuals.

Specifically, fitness value refers to the relative ability of an individual of a known genotype to transfer its genes into its progeny gene bank under certain environmental conditions, and is a measure of the survival and reproductive chances of the individual. And calculating the adaptive value of the population individuals, evaluating the individuals in each population, and judging the advantages and disadvantages of each individual in the population, so that the individuals in the population can be conveniently selected in the follow-up process.

S208, selecting an elite individual from the population individuals through an elite strategy according to the adaptive value;

in particular, the elite strategy is to replicate the best individuals (called elite individuals) of the population that has appeared so far during evolution, directly into the next generation, without pairwise crossing. Selecting the individual with the best adaptive value from the population individuals, thereby selecting the elite individuals, and the elite individuals can be a plurality.

S209, judging whether to execute individual topological crossing according to the topological structure crossing rate, if the individual topological crossing is executed, executing S210, selecting a first parent individual from elite individuals through a championship strategy, and crossing the elite individuals; if no individual topological crossing is performed, S211 is directly performed.

Specifically, a random number is generated from 0 to 1, the random number is compared with the topological structure crossing rate, if the random number is smaller than the topological structure crossing rate, individual topological crossing is executed, and a first parent individual is selected from elite individuals through a championship strategy to be crossed with the elite individuals. The tournament strategy is to take a certain number of individuals from the population each time (put back to sample), then select the best one to enter the offspring population, and repeat the operation until the new population size reaches the original population size. Several tournaments are defined as taking several individuals at a time from the population and then taking the best of these individuals into the pool reserved for the next generation population. The tournament policy may be, for example, an n-ary tournament policy, and a specific value of n may be determined according to an actual requirement, which is not limited herein.

S211, judging whether to execute individual value crossing or not according to the value crossing rate, if the individual value crossing is executed, executing S212, selecting a second parent individual from elite individuals through a championship strategy, and crossing the elite individuals; if the individual value crossing is not performed, S213 is directly performed.

Specifically, the value crossing rate is the crossing rate of the device parameters, a random number is generated from 0 to 1, the random number is compared with the value crossing rate, if the random number is smaller than the value crossing rate, individual value crossing is performed, a second parent individual is selected from elite individuals through a tournament strategy, and crossing is performed with the elite individuals.

S213, judging whether to execute individual mutation operation according to the mutation rate, and if the individual mutation operation is executed, executing S214, and randomly selecting and adding or deleting nodes. If the individual mutation operation is not performed, S215 is directly performed.

Specifically, a random number is generated from 0 to 1, the random number is compared with the variation rate, if the random number is smaller than the variation rate, individual variation operation is performed, and node adding or deleting operation, namely node adding or node deleting, is randomly selected.

S215, updating the population and updating the iteration times;

specifically, after individual variation of the population, the population is updated, and the iteration number is updated, that is, after each iteration is finished, 1 is added to the iteration number, so that the iteration number is recorded in real time.

And S216, when the iteration times are determined to be equal to the preset iteration times, the iteration is finished, and the analog circuit is generated.

Specifically, iteration is continuously performed until the iteration number is equal to the preset iteration number, and the iteration is finished, so that the evolution is finished, and the analog circuit can be generated. The connection relation of the analog circuit generated through evolution is more reasonable, the situation of complicated connection is avoided, and the value of the device parameter after evolution is more reasonable, so that a reasonable analog circuit is obtained.

On the basis of the foregoing embodiment, fig. 7 is a flowchart of another tree structure based automatic design method for an analog circuit according to an embodiment of the present invention, and optionally, referring to fig. 7, the tree structure based automatic design method for an analog circuit includes:

s310, determining a function node library and a terminal node library.

Specifically, according to an analog circuit to be designed, all required device types and device parameters are determined, the device parameters may include arithmetic operators and floating point numbers, a functional node library is defined, and all the device types and the device parameters are put into the functional node library. And defining a terminal node library, numbering the port positions of all the devices, and placing the port position numbers of the devices into the terminal node library.

And S320, predefining an embryo circuit.

Specifically, according to the analog circuit which needs to be designed, the required voltage source, the ground and the load resistance are determined, the required voltage source, the ground and the load resistance are formed into the embryo circuit, and the embryo circuit can represent the initial loop configuration of the circuit to be evolved.

S330, setting the maximum height and the growth direction of the tree structure.

S340, randomly calling nodes from the functional node library as father nodes; and randomly calling nodes from the functional node library and the port node library according to the growth direction to serve as child nodes.

And S350, if the child node is the terminal node, generating a tree structure.

And S360, checking the tree structure, and if the tree structure meets a preset condition, obtaining a circuit topology and device parameters which accord with circuit rules.

And S370, evolving the circuit topology and the device parameters to generate an analog circuit.

On the basis of the foregoing embodiment, fig. 8 is a flowchart of another tree structure based automatic design method for an analog circuit according to an embodiment of the present invention, and optionally, referring to fig. 8, the tree structure based automatic design method for an analog circuit includes:

and S410, setting the maximum height and the growth direction of the tree structure.

S420, randomly calling nodes from the functional node library as father nodes; and randomly calling nodes from the functional node library and the port node library according to the growth direction to serve as child nodes.

And S430, if the child node is the terminal node, generating a tree structure.

S440, checking the tree structure, and if the tree structure meets preset conditions, obtaining circuit topology and device parameters which accord with circuit rules.

And S450, evolving the circuit topology and the device parameters to generate an analog circuit.

And S460, generating a netlist according to the tree structure.

Specifically, a netlist, such as a SPICE netlist, is generated from the generated tree structure of the circuit topology and device parameters. Table 1 is the netlist corresponding to fig. 4 generated using a tree-based analog circuit auto-design method. Referring to table 1, the netlist includes the device type and the port position of the device, referring to fig. 4, the tree structure also includes the device type and the port position of the device, so the tree structure of the embodiment of the present invention is in one-to-one correspondence with the netlist, therefore, the time for converting the tree structure into the netlist can be reduced, the time complexity of the conversion is small, and the conversion efficiency can be improved. Therefore, even if a three-port device is defined, the tree structure and the netlist can be quickly converted, and the tree structure and the netlist do not need to be just defined as a two-port device in the prior art for improving the conversion efficiency, so that the tree structure provided by the embodiment of the invention can be applied to both the two-port device and the three-port device.

TABLE 1 netlist corresponding to FIG. 4 generated using a tree structure based analog circuit auto-design method

And S470, simulating by using the netlist to obtain an output curve of the analog circuit.

Specifically, the output curve of the analog circuit can be obtained by utilizing the netlist for simulation, and whether the analog circuit generated by utilizing the tree structure-based analog circuit automatic design method is proper or not can be obtained by comparing the output curve of the analog circuit with the target curve of the analog circuit, so that a reasonable analog circuit is ensured.

Fig. 9 is a schematic structural diagram of a voltage reference circuit generated by using an automatic design method for a tree-based analog circuit according to an embodiment of the present invention, and fig. 10 is a comparison diagram of an output curve and a target curve corresponding to fig. 9 obtained by simulation of a netlist generated by using an automatic design method for a tree-based analog circuit according to an embodiment of the present invention. Referring to fig. 9, the voltage reference circuit generated using the tree structure-based analog circuit automatic design method includes 15 devices in which a resistance includes R1、R2、R3、R4、R5、R6、R7、R8And R9The transistor comprises Q1、Q2、Q3、Q4、Q5And Q6The port nodes in the voltage reference circuit include 0, 2, 3, 5, 12, 13, 18, 19 and 23, the port nodes in the voltage reference circuit are terminal nodes in the circuit topology, RinAnd RLMay be a device in an embryo circuit. Referring to FIG. 9, a voltage V is input through port node 0inI.e. the voltage V can be output at the port node 3out. The resistance of the resistor, e.g. R, can be derived from a tree structure of device parameters1=16954.5Ω、R2=461.2Ω、R3=200000Ω、R4=7.2Ω、R5=13757.5Ω、R6=382.6Ω、R7=6057.7Ω、R82357.2 Ω and R9The resistance parameter value is shown in one example, and is not limited to 2.7 Ω. As shown in the figure9, the voltage reference circuit generated by the tree-structure-based analog circuit automatic design method is reasonable in connection, no connection disorder phenomenon or suspension node occurs, parameter values of all devices are obtained, the number of generated devices is 15, the number of devices is reasonable, no redundant devices are provided, and power consumption of the circuit can be reduced. Referring to fig. 10, the output curves of the voltage reference circuits at different temperatures are closer to the target curve, so that the rationality of the voltage reference circuit generated by the tree-structure-based analog circuit automatic design method is verified.

Illustratively, fig. 11 is a schematic structural diagram of a thermo-sensor circuit generated by an automatic design method for a tree-based analog circuit according to an embodiment of the present invention, and fig. 12 is a comparison graph of an output curve and a target curve corresponding to fig. 11 obtained by simulation of a netlist generated by an automatic design method for a tree-based analog circuit according to an embodiment of the present invention. Referring to FIG. 11, a temperature sensor circuit generated using a tree-based analog circuit auto-design method contains 21 devices, in which the resistance includes R1、R2、R3、R4、R5、R6And R7The transistor comprises Q1、Q2、Q3、Q4、Q5、Q6、Q7、Q8、Q9、Q10、Q11、Q12、Q13And Q14The port nodes in the temperature sensor circuit include 0, 2, 3, 5, 14, 20, 22, 24, 26 and 29, the port nodes in the temperature sensor circuit are terminal nodes in the circuit topology, and R is a terminal nodein1、Rin2And RLMay be a device in an embryo circuit. See fig. 11, by inputting a voltage Vin1And Vin2I.e. the voltage V can be output at the port node 3out. The resistance of the resistor, e.g. R, can be derived from a tree structure of device parameters1=1565.3Ω、R2=6.9Ω、R3=18985.9Ω、R4=50.5Ω、R5=200000Ω、R66617.2 Ω and R7127614.9 Ω, shown here onlyThe resistance parameter value is one example, and is not limited. Referring to fig. 11, the connection of the temperature sensor circuit generated by the tree-structure-based analog circuit automatic design method is reasonable, no connection disorder or suspension node occurs, and the parameter values of each device are obtained, and the number of generated devices is 21, the number of devices is reasonable, no redundant devices are provided, and the power consumption of the circuit can be reduced. Referring to fig. 12, the output curve of the temperature receptor circuit almost overlaps the target curve, and therefore, the reasonableness of the temperature receptor circuit generated by the tree-structure-based analog circuit automatic design method was verified.

For example, fig. 13 is a schematic structural diagram of a gaussian function generator circuit generated by using an automatic design method for a tree-based analog circuit according to an embodiment of the present invention, and fig. 14 is a comparison diagram of an output curve and a target curve corresponding to fig. 13 obtained by simulation of a netlist generated by using an automatic design method for a tree-based analog circuit according to an embodiment of the present invention. Referring to FIG. 13, a Gaussian function generator circuit generated using a tree-based analog circuit auto-design method contains 30 devices, where the resistance includes R1、R2、R3、R4、R5、R6、R7、R8、R9、R10、R11、R12、R13、R14、R15、R16、R17、R18、R19And R20The transistors comprise M1, M2, M3, M4, M5, M6, M7, M8, M9 and M10, the port nodes in the Gaussian function generator circuit comprise 0, 1, 2, 3, 5, 7, 9, 13, 14, 15, 17, 22, 23 and 26, the port nodes in the Gaussian function generator circuit are terminal nodes in the circuit topology, and R is a terminal node in the circuit topologyinMay be a device in an embryo circuit. See fig. 13, by inputting a voltage Vin1And Vin2I.e. current I can be output at port node 4out. The resistance of the resistor, e.g. R, can be derived from a tree structure of device parameters1=3624.1Ω、R2=922.5Ω、R3=7175.7Ω、R4=14412.9Ω、R5=10069.9Ω、R6=38163.2Ω、R7=109958.7Ω、R8=2357.2Ω、R9=5761.1Ω、R10=6389.2Ω、R11=500Ω、R12=470185.6Ω、R13=6868.7Ω、R14=11735.7Ω、R15=500Ω、R16=1000Ω、R17=1979.1Ω、R18=18332.6Ω、R1911664.2 Ω and R20Here, the resistance parameter value is shown as 1258.2 Ω, and is not limited. Referring to fig. 13, the gaussian function generator circuit generated by the tree-structure-based analog circuit automatic design method is reasonable in connection, no connection disorder or hanging node occurs, and parameter values of each device are obtained, and the number of generated devices is 30, the number of devices is reasonable, and no redundant devices are provided. Referring to fig. 14, the output curve of the gaussian function generator circuit almost overlaps the target curve, and therefore, the reasonableness of the gaussian function generator circuit generated by the tree-structure-based analog circuit automatic design method was verified.

Fig. 15 is a schematic structural diagram of a memristor-based pulse generation circuit generated by using a tree-structure-based analog circuit automatic design method according to an embodiment of the present invention, and fig. 16 is a comparison diagram of an output curve and a target curve corresponding to fig. 15 obtained by simulation of a netlist generated by using the tree-structure-based analog circuit automatic design method according to the embodiment of the present invention. Referring to FIG. 15, a memristor-based pulse generation circuit generated using a tree-based analog circuit auto-design approach contains 25 devices, where the resistance includes R1、R2、R3、R4、R5And R6The transistors include M1, M2, M3, M4, M5, M6, M7, M8, M9, M10 and M11, and the memristors include Mem1、Mem2、Mem3、Mem4、Mem5、Mem6、Mem7And Mem8Port nodes in memristor-based pulse generation circuitry include 0, 1, 2, 3, 4, 10, 13, 14, 17, and 19, and memristor-based pulse generation circuitryThe port node is a terminal node in the circuit topology, RinMay be a device in an embryo circuit. See fig. 15, by inputting a voltage Vin、VccAnd VddI.e. can output voltage Vout. The resistance of the resistor, e.g. R, can be derived from a tree structure of device parameters1=2021.9Ω、R2=200.0Ω、R3=200KΩ、R4=200Ω、R531710.1 Ω and R6Here, the resistance parameter value is shown as 46823.1 Ω, and is not limited. Referring to fig. 15, the memristor-based pulse generation circuit generated by the tree-structure-based analog circuit automatic design method is reasonable in connection, no connection disorder phenomenon occurs, no hanging node occurs, and parameter values of each device are obtained, the number of generated devices is 25, the number of devices is reasonable, and no redundant devices are provided. Referring to fig. 16, the output curve of the memristor-based pulse generation circuit almost overlaps with the target curve, so that the reasonability of the memristor-based pulse generation circuit generated by the tree-structure-based analog circuit automatic design method is verified.

Fig. 17 is a schematic structural diagram of an automatic design apparatus for a tree-based analog circuit according to an embodiment of the present invention, and referring to fig. 17, the automatic design apparatus for a tree-based analog circuit includes:

a parameter setting module 510 for setting the maximum height and the growing direction of the tree structure;

a parent node determining module 520, configured to randomly call a node from the functional node library as a parent node;

a child node determining module 530, configured to randomly call a node from the functional node library and the port node library according to the growth direction as a child node;

a tree structure generating module 540, configured to generate a tree structure when the child node is determined to be a terminal node;

a tree structure checking module 550 for checking the tree structure;

a circuit topology and device parameter generating module 560, configured to obtain circuit topology and device parameters that meet circuit rules when it is determined that the tree structure meets a preset condition;

and the analog circuit generating module 570 is used for evolving the circuit topology and the device parameters to generate an analog circuit.

The tree structure-based automatic design device for an analog circuit provided in this embodiment is a tree structure-based automatic design method for an analog circuit according to the above-described embodiment, and the implementation principle and technical effect of the tree structure-based automatic design device for an analog circuit provided in this embodiment are similar to those of the above-described embodiment, and are not described here again.

Optionally, the tree structure checking module 550 comprises at least one of:

and the terminal node checking unit is used for checking the terminal nodes of the tree structure and judging whether the terminal nodes contain all external ports of the predefined embryo circuit.

And the hanging node checking unit is used for checking whether hanging nodes exist in the tree structure.

Optionally, the suspension node checking unit is specifically configured to check whether the assigned number of times of the same terminal node in the tree structure is greater than or equal to a preset number of times; and if the distributed times of the same terminal node in the tree structure are greater than or equal to the preset times, the tree structure has no suspension node.

A tree structure height checking unit for checking whether the height of the tree structure exceeds a maximum height.

Optionally, the analog circuit generating module 570 includes:

a population parameter setting unit, configured to set a population parameter, where the parameter at least includes: the size of the population, the crossing rate of the topological structure, the value crossing rate, the variation rate and the preset iteration number;

the population individual generating unit is used for initializing a population and generating population individuals to be evolved according to the size of the population;

the adaptive value evaluation unit is used for evaluating the adaptive value of the population individuals;

the elite individual selection unit is used for selecting elite individuals from the population individuals through an elite strategy according to the adaptive value;

the first crossing unit is used for judging whether to execute individual topological crossing according to the topological structure crossing rate, and if the individual topological crossing is executed, selecting a first parent individual from elite individuals through a championship strategy to cross the elite individuals;

the second crossing unit is used for judging whether to execute individual value crossing according to the value crossing rate, and if the individual value crossing is executed, selecting a second parent individual from the elite individuals through a championship strategy to cross the elite individuals;

a mutation unit for judging whether to execute individual mutation operation according to the mutation rate, and if the individual mutation operation is executed, randomly selecting to add or delete node operation;

the population updating unit is used for updating the population and updating the iteration times;

and the analog circuit generating unit is used for finishing iteration and generating an analog circuit when the iteration number is determined to be equal to the preset iteration number.

Optionally, the tree structure based analog circuit automatic design apparatus further includes:

the node library determining module is used for determining a functional node library and a terminal node library;

and the embryo circuit pre-defining module is used for pre-defining the embryo circuit.

Optionally, the tree structure based analog circuit automatic design apparatus further includes:

the netlist generation module is used for generating a netlist according to the tree structure;

and the analog circuit simulation module is used for carrying out simulation by utilizing the netlist to obtain an output curve of the analog circuit.

Fig. 18 is a schematic structural diagram of an electronic device for automatic design of analog circuits based on a tree structure according to an embodiment of the present invention, as shown in fig. 18, the electronic device includes a processor 70, a memory 71, an input device 72, and an output device 73; the number of processors 70 in the device may be one or more, and one processor 70 is taken as an example in fig. 18; the processor 70, memory 71, input device 72 and output device 73 of the apparatus may be connected by a bus or other means, as exemplified by the bus connection in fig. 18.

The memory 71 serves as a computer-readable storage medium, and can be used for storing software programs, computer-executable programs, and modules, such as program instructions/modules corresponding to the tree structure-based simulation circuit automatic design method in the embodiment of the present invention (for example, the parameter setting module 510, the parent node determination module 520, and the child node determination module 530 in the tree structure-based simulation circuit automatic design apparatus). The processor 70 executes various functional applications of the device and data processing by running software programs, instructions, and modules stored in the memory 71, that is, implements the above-described tree-structure-based analog circuit automatic design method.

The memory 71 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required for at least one function; the storage data area may store data created according to the use of the terminal, and the like. Further, the memory 71 may include high speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid state storage device. In some examples, the memory 71 may further include memory located remotely from the processor 70, which may be connected to the device over a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.

The input device 72 may be used to receive entered numeric or character information and to generate key signal inputs relating to user settings and function controls of the apparatus. The output device 73 may include a display device such as a display screen.

Embodiments of the present invention also provide a storage medium containing computer-executable instructions, which when executed by a computer processor, perform a method for automatic design of a tree-based simulation circuit, the method comprising:

setting the maximum height and the growth direction of the tree structure;

randomly calling nodes from the functional node library as father nodes;

randomly calling nodes from the functional node library and the port node library according to the growth direction as child nodes;

if the child node is a terminal node, generating a tree structure;

checking the tree structure, and if the tree structure meets preset conditions, obtaining circuit topology and device parameters which accord with circuit rules;

and evolving the circuit topology and the device parameters to generate an analog circuit.

Of course, the storage medium containing the computer-executable instructions provided by the embodiments of the present invention is not limited to the method operations described above, and may also perform related operations in the method for automatically designing an analog circuit based on a tree structure provided by any embodiments of the present invention.

From the above description of the embodiments, it is obvious for those skilled in the art that the present invention can be implemented by software and necessary general hardware, and certainly, can also be implemented by hardware, but the former is a better embodiment in many cases. Based on such understanding, the technical solutions of the present invention may be embodied in the form of a software product, which can be stored in a computer-readable storage medium, such as a floppy disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a FLASH Memory (FLASH), a hard disk or an optical disk of a computer, and includes several instructions for enabling a computer device (which may be a personal computer, a server, or a network device) to execute the methods according to the embodiments of the present invention.

It should be noted that, in the embodiment of the analog circuit automatic design apparatus based on the tree structure, the included units and modules are only divided according to the functional logic, but are not limited to the above division as long as the corresponding functions can be realized; in addition, specific names of the functional units are only for convenience of distinguishing from each other, and are not used for limiting the protection scope of the present invention.

It is to be noted that the foregoing is only illustrative of the preferred embodiments of the present invention and the technical principles employed. It will be understood by those skilled in the art that the present invention is not limited to the particular embodiments described herein, but is capable of various obvious changes, rearrangements and substitutions as will now become apparent to those skilled in the art without departing from the scope of the invention. Therefore, although the present invention has been described in greater detail by the above embodiments, the present invention is not limited to the above embodiments, and may include other equivalent embodiments without departing from the spirit of the present invention, and the scope of the present invention is determined by the scope of the appended claims.

28页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:集成电路装置设计仿真方法、装置、设备和可读存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类