Link/Page Citation

Author(s): Navid Behmanesh-Fard [1]; Hossein Yazdanjouei [2]; Mohammad Shokouhifar (corresponding author) [3,*]; Frank Werner (corresponding author) [4,*]

1. Introduction

Symbolic analysis is a method of analyzing analog circuits in which the circuit equations are expressed in terms of symbolic variables. This technique is useful for designing and analyzing complex analog circuits (especially those with nonlinear components) as it provides engineers with a deep insight into the relations between the circuit variables rather than simply relying on numerical methods. Therefore, this method can help circuit designers to quickly evaluate different design alternatives by allowing them to manipulate circuit equations algebraically, enabling the study of the effects of different component values on the circuit performance. One of the major applications of symbolic analysis is to determine the location and characteristics of circuits’ poles and zeroes, which is needed to analyze the stability and frequency response of the circuit [1].

Recently, multi-stage operational transconductance amplifiers (OTAs) have become widely applied in modern microelectronics, as OTAs can provide a large output swing and high gain with very low overdrive voltage [2]. However, as each stage has its own poles and zeroes, the bandwidth may be reduced. In addition to the poles and zeroes of each additional stage, the compensated capacitors may add some extra poles and zeroes [3]. One of the main challenges in the design of multi-stage OTAs is to devise a frequency compensation procedure capable of providing wide bandwidth and high gain with appropriate stability margins [4]. In this regard, a simplified extraction of symbolic poles and zeroes can give better analytical expressions and assist designers in making a straight decision when designing an OTA and a frequency compensation circuit [5].

Generally, an exact symbolic analysis of OTAs is error-prone and time-consuming if performed by hand, even for circuits with a small number of components [6]. In this regard, a computer-aided automatic symbolic analysis can be helpful by solving the circuit equations with mathematical solvers such as Cramer’s rule [7]. It can be performed by exploiting symbolic analysis solvers using software tools such as MATLAB, GNU Octave, and MAPLE [8]. The main drawbacks of a symbolic analysis are that the derived symbolic equations are very complex and cannot effectively guide the circuit designer [9]. Although various symbolic simplification techniques have been introduced, simplified expressions are not provided in a factorization form. Thus, it is difficult to evaluate the effects of roots on the behavior of the circuit.

Although the existing symbolic pole/zero analysis methods incorporate some types of approximations during the calculation of the transfer function, they suffer from some drawbacks which limit their effectiveness for use in real-world OTAs. First, these methods are inefficient in the case of overall generated error rates in terms of magnitude, phase, poles and zeroes [10]. Second, the correlation between eliminated terms in different polynomials is not effectively considered in polynomial-oriented methods. Third, pole/zero displacements due to approximations are not under control [7]. Fourth, those closely spaced pole/zero pairs may disappear due to a magnitude-/phase-oriented approximation, which can generate high error rates at points other than the nominal ones [8].

Over the past years, metaheuristics have also been presented for use in the parameter selection and symbolic simplification in electrical circuits. Shokouhifar and Jalali [10] presented a combined algorithm based on the genetic algorithm (GA) and simulated annealing (SA) as a metaheuristic-based optimization technique for symbolic term selection in the symbolic voltage gain of analog circuits containing transistors. Akbari et al. [3] proposed a symbolic analysis for the design of analog integrated circuits using an ant colony optimization (ACO) algorithm which takes noise optimization into account. Another technique, outlined in [11], involved performing GA, SA, and particle swarm optimization (PSO) to simplify the symbolic expressions for the common-mode rejection ratio (CMRR) and power supply rejection ratio (PSRR) of the analog amplifier. Sathasivam et al. [12] presented a combined metaheuristic algorithm based on GA and tabu search (TS) with restricted neural symbolic integration for solving the maximum k-satisfiability problem. Ali et al. [13] proposed a new hybrid metaheuristic algorithm based on the marine predator algorithm and sine cosine algorithm for selecting the best parameters for hybrid active power filters.

Although various metaheuristics have been presented for circuit simplification, they mostly present symbolic expressions in expanded forms. The existing symbolic root simplification techniques typically use simple criteria which are separately applied to each polynomial of the exact symbolic roots. Thus, these techniques do not guarantee a good match of the simplified root expressions compared to the exact ones. Although the maximum error of each simplified polynomial is limited, the displacement of poles and zeroes is not under control [7]. Therefore, despite the simplicity of the traditional methods, they may generate large errors in the simplified root expressions.

In this study, a simplified symbolic pole/zero extraction technique is presented based on an extension of the root splitting technique [14] and SA [15]. In this regard, we first introduce an enhanced root splitting (named ERS) for the symbolic pole/zero extraction from the exact transfer function. In this method, pole/zero displacements cannot exceed a pre-specified threshold. Then, we apply a metaheuristic-driven simplification method based on SA (named PZSA) to simplify the derived pole/zero expressions. Our main motivation is to mathematically formulate the pole/zero simplification problem in analog circuits as a multi-objective constrained optimization problem. The established problem can be solved by the use of optimization algorithms such as heuristics, single-solution metaheuristics, or population-based evolutionary and swarm intelligence algorithms. Thus, this paper applies a combined heuristic–metaheuristic algorithm based on the heuristic information available in the circuit model and SA to solve the symbolic root simplification problem. The key contributions outlined in this study can be characterized as follows:

* Introducing a combined mathematical modeling and optimization technique for the extraction and simplification of symbolic poles and zeros in OTAs.

* Proposing an enhanced root splitting technique, named ERS, to accurately extract the exact pole/zero expressions.

* Applying a combined heuristic–metaheuristic optimization algorithm to solve the proposed symbolic root simplification problem, utilizing the heuristic knowledge available in the circuit model and SA.

* Programming the proposed method in a MATLAB m-file, wherein simplified root equations are automatically generated from the circuit netlist.

* Successfully driving symbolic pole/zero expressions for three OTAs.

The rest of this study is organized as follows: In Section 2, the existing literature for a symbolic simplification and symbolic pole/zero extraction is reviewed. In Section 3, the proposed methodology is presented with details, and then the developed method in MATLAB is evaluated in Section 4. Finally, in Section 5, some concluding remarks are made and future directions are addressed.

2. Literature Review

Over recent years, along with the increasing advancement and development in analog circuit design, various symbolic simplification techniques and symbolic pole/zero extraction methods have been proposed. According to the existing literature, these methods can be described in the following manners outlined below.

2.1. Symbolic Simplification Techniques

The symbolic analysis of OTAs suffers from NP-hardness [7]. For instance, the µA741 amplifier has approximately 10[sup.34] terms within its voltage transfer function [16]. Therefore, symbolic analysis tools must rely on simplification techniques to tackle the complexity and hardness of real-world circuits. Based on the steps taken in the simplification process, simplification algorithms can be categorized into SAG (simplification-after-generation), SDG (simplification-during-generation), and SBG (simplification-before-generation) [17]. It is worth noting that the proposed PZSA algorithm in this study is an SAG technique. An SAG is performed once the symbolic circuit analysis is done and, as a result, the exact symbolic expressions have been obtained. Therefore, simplified functions can be constructed from some terms of the exact expressions. In the following section, we discuss the details of the SAG technique used in the proposed method.

The small-signal transfer function of a linear or linearized circuit can be represented as a function of the frequency s and the circuit parameters x, according to Equation (1) [8], where each polynomial f´[sub.i](x) or f[sub.i](x) is a sum-of-product (SOP) of x. This is expressed as h[sub.k](x)=h[sub.k1](x)+h[sub.k2](x)+…+h[sub.kT](x), where h[sub.k](x) is the k-th polynomial within the circuit transfer function H(s,x), comprising T terms. (1)H(s,x)=N(s,x)/D(s,x)=f'0(x)+f'1(x)s+f'2(x)s2+…+f'n'(x)sn'/f0(x)+f1(x)s+f2(x)s2+…+fn(x)sn

The simplification method in [18] finds the largest term in terms of the magnitude, h[sub.km](x), for the polynomial h[sub.k](x). Then, all other terms within the polynomial h[sub.k](x) are considered one by one. The condition for which the term h[sub.kl](x) can be discarded from the polynomial h[sub.k](x) is |h[sub.kl](x)|=e×|h[sub.km](x)|. Here, e (0 < e < 1) is a user-specified threshold to limit the maximum error. The main drawback of this method is that the error may be accumulated. To overcome this drawback, the reported criterion in [19] sorts the terms within h[sub.k](x) based on their magnitude obtained in the nominal point. Afterwards, P terms with the least accumulated magnitude are discarded from the polynomial if the error is below e. The condition on the P terms for which they could be discarded can be expressed as Equation (2):(2)|?l=1Ph[sub.kl](x)|<e×|?l=1Th[sub.kl](x)|

Although this method achieves more accurate expressions at the nominal point, it may cause significant errors for other values of the parameters. To avoid the elimination of the mutually canceling terms, the method in [20] presented an enhanced condition for which the P terms with the lowest magnitude can be discarded if: (3)?l=1P|h[sub.kl](x)|<e×?l=1T|h[sub.kl](x)|

In the above-mentioned techniques, the maximum error is limited for each polynomial. However, the obtained error in the poles and zeroes is not under consideration. If the same error (e[sub.M]) occurs in all polynomials, no pole and/or zero displacement can be observed [21]. To overcome this drawback, an adaptive e can be used, in which the term elimination process is performed step by step while displacements in poles and zeroes are monitored at every step. Thus, the term pruning procedure can be finished if the obtained displacements are beyond a pre-determined threshold [19].

Recently, various swarm and evolutionary metaheuristic algorithms in [7,10,22,23,24,25,26] have been applied for the simplified symbolic analysis of OTAs. In these techniques, different criteria (such as the magnitude error, phase error, and pole/zero displacements) have been used to evaluate feasible solutions generated by the metaheuristic algorithm. Although these methods achieve a low mean error rate, the worst cases of the displacements in the poles and zeroes are not accurately under consideration. The common drawback of the existing techniques is that the simplified function is achieved in either expanded or nested form. In other words, the transfer function is not derived in a factorization form, which makes it difficult to evaluate the contribution of roots.

2.2. Symbolic Pole/Zero Extraction Techniques

The symbolic pole/zero analysis also suffers from NP-hardness as some operations have to be performed between the polynomials. Generally, a direct calculation of the roots from the expanded transfer functions yields very complex results in the form of polynomials with degrees larger than two [7]. Since the numerator and denominator of a transfer function in practical OTAs generally have degrees much larger than 2, it is rarely possible to mathematically find the exact symbolic pole/zero expressions [27].

In the following section, the existing pole/zero extraction methods are discussed, including root spitting, time-constant analysis, and eigenvalue analysis. Root splitting [14] is one of the well-known root extraction techniques. It extracts poles, assuming them to be reciprocally dominant. By factorization, the denominator of the exact function in Equation (1) can be re-written as a function of the poles p[sub.i] as follows:(4)D(s,x)=f[sub.0]·(1-s/p1)·(1-s/p2)?(1-s/pn)

It follows from Equation (1) that (5)f[sub.1]=f[sub.0]·?i=1n(-1/pi)

Therefore, assuming p[sub.1] is the dominant pole within the denominator, the first pole can be approximately expressed as:(6)p[sub.1]˜-f0/f1

Consequently, with a similar approach, considering p[sub.i] to dominate the other poles, p[sub.i] can be given by the negative quotient of the two consecutive coefficients f[sub.i-1] and f[sub.i] [8]. Similar argumentations can be performed to calculate simplified zeroes in the numerator of the transfer function. The root splitting method is not appropriate for manual pole/zero calculations (hand-and-paper analysis), as some estimations and simplifications should be developed to allow the circuit designer to extract approximate the dominant poles and zeroes manually. The most popular approach in such techniques is the time-constant method [27,28,29,30], which is expressed in Equation (7), where t[sub.k] can be achieved by multiplying the resistance R[sub.k] by the capacitance C[sub.k]. (7)p[sub.1]˜-?ktk[sup.-1]

This technique is error-prone, as there is no information about the accuracy of the obtained symbolic results. Moreover, zeroes and higher-order poles cannot be determined by this approach at all. A more general approach in this context was reported in [29], one which also has the ability to extract the higher-order poles. This method is based on the use of open-circuits and short-circuits analysis to calculate the time constants of the circuit.

There are also some pole/zero extraction methods, which operate on the basis of the solution derived from the eigenvalue problem. A positive feature of these methods is that the simplification is no longer driven by the magnitude and the phase errors but by the pole/zero position, allowing improved error control. For example, a modified signal flow graph (MSFG) was recently developed to represent the equivalences between the system and SPICE outcomes of static nonlinear OTAs [31]. In this method, the circuit is firstly converted into an MSFG. Then, the graph is simplified in particular polynomials by minimizing the MSFGs. In [32], the implementation of some simplification procedures during the eigenvalue computation via a symbolic LR algorithm was addressed, in which the LR method is applied to compute the reduced matrix corresponding to the eigenvalue cluster. This technique is followed in [33] by the use of an algorithm to reduce the circuit matrix into a row echelon format. After determining the symbolic state matrix, the approximated poles and zeroes are achieved using the LR algorithm.

The main drawback of the existing symbolic pole/zero analysis methods is that the simplified expressions of poles and zeroes are not so compact that no SAG is applied to the final expressions. Thus, in this study, we utilize a combined heuristic–metaheuristic SAG algorithm to ensure the obtention of simplified symbolic pole/zero expressions with the least achievable complexity.

3. Proposed Method

The overall flowchart of the proposed symbolic pole/zero analysis can be seen in Figure 1. The list of indices, sets, parameters, and decision variables used in the following equations of this section are provided in Table 1. To sum up, the main steps of the proposed methodology can be summarized as follows:

* The input circuit netlist is loaded as a text file (in.txt format).

* All transistors are replaced via proper small-signal modeling.

* The symbolic circuit is solved via a modified nodal analysis (MNA).

* The exact transfer function (TF) is achieved in the expanded symbolic form.

* The exact expressions of poles and zeroes are derived using ERS.

* The numerical results of the exact symbolic pole/zero expressions are stored.

* A heuristic algorithm is performed to generate a near-optimal solution, utilizing the circuit-based knowledge available in the exact poles and zeroes.

* SA is performed to improve further the quality of the heuristic solution in order to generate the final simplified symbolic pole/zero expressions.

* The numerical results of the obtained simplified symbolic pole/zero expressions are calculated.

* The numerical results of the exact and simplified poles/zeroes are compared against HSPICE and other simplification algorithms.

3.1. Symbolic Pole/Zero Extraction via ERS

After the netlist pre-processing, the circuit is solved using MNA [1], and consequently, the exact symbolic TF is achieved in expanded form. Then, the obtained exact pole/zero expressions are approximately calculated using the proposed ERS method, which is an enhanced version of the traditional root splitting algorithm. Generally, an expanded TF could be converted into the factorized form according to Equation (8), where Z(s,x) is a function of n´ (real or complex conjugate) zeroes z[sub.1], z[sub.2], …, z[sub.n´], and P(s,x) is a function of n (real or complex conjugate) poles p[sub.1], p[sub.2], …, p[sub.n]. (8)(s,x)˜f'0·Z(s,x)/f0·P(s,x)

In the ERS algorithm, only poles and zeroes located in the interval [f[sub.min],f[sub.max]] are extracted, where f[sub.min] and f[sub.max] are the minimum and maximum user-specified frequencies for the pole/zero extraction, respectively. If the user does not specify the frequency range, it is considered as the default range of [0,10f[sub.T]], where f[sub.T] is the unity gain frequency of the exact expression in the nominal point. In the following section, the pole extraction procedure for P(s,x) is described. By comparing Equations (1) and (8), P(s,x) can be calculated as:(9)P(s,x)=D(s,x)/f0=1+(f1/f0)s+(f2/f0)s[sup.2]+(f3/f0)s[sup.3]+?+(fn/f0)s[sup.n]

Assuming p[sub.1] to be dominant and all other poles (typically occurred in OTAs) to be located at much higher frequencies, i.e., ?p[sub.1]?<<?p[sub.2]?,?p[sub.3]?,…,?p[sub.n]?, the first pole can be split, and thus, P(s,x) can be approximately written as:(10)P(s,x)=(1-s/p1)·(1+g[sub.1]s+g[sub.2]s[sup.2]+?+g[sub.n-1]s[sup.n-1])=1+(-1/p1+g[sub.1])s+(-g1/p1+g[sub.2])s[sup.2]+(-g2/p1+g[sub.3])s[sup.3]+?+(-gn-2/p1+g[sub.n-1])s[sup.n-1]+(-gn-1/p1)s[sup.n]

By equating the s coefficients of P(s,x) in Equation (10) to those in Equation (9), the dominant real pole p[sub.1] can be approximated given as:(11)p[sub.1]˜-f0/f1

Consequently, by assuming the condition in Equation (12), we can simplify the rightmost expression of Equation (10) as Equation (13). By equating the s coefficients of Equation (13) to the same s coefficients in Equation (9), the parameters g[sub.i] can be calculated as Equation (14). (12)|1/p1|>>|g[sub.1]|,|gi-1/p1|>>|g[sub.i]|?i?{2,3,…,n-1} (13)P(s,x)˜1+(-1/p1)s+(-g1/p1)s[sup.2]+(-g2/p1)s[sup.3]+?+(-gn-1/p1)s[sup.n] (14)g[sub.i]=fi+1/f1?i?{1,2,…,n-1} and thus, the leftmost expression in Equation (10) can be expressed as:(15)P(s,x)˜(1+f1/f0s)·(1+f2/f1s+f3/f1s[sup.2]+?+fn/f1s[sup.n-1])

The circ*mstances of s coefficients in the original denominator D(s,x), for which Equation (15) is valid, are:(16)|f1/f0|>>|fi/fi-1|?i?{2,3,…,n}

Equation (15) shows that P(s,x) can be simplified into a product of a first-order polynomial (i.e., first dominant pole) and a high-order polynomial corresponding to other high-frequency poles. In a more general case, assuming the first m poles (1<m<n) to be successively dominant in pairs (i.e., p[sub.1] dominates p[sub.2], p[sub.2] dominates p[sub.3], and so on, p[sub.m-1] dominates p[sub.m]), P(s,x) can be approximated as follows:(17)P(s,x)=(1-s/p1)·(1-s/p2)?(1-s/pm)·(1+g[sub.1]s+g[sub.2]s[sup.2]+?+g[sub.n-m]s[sup.n-m])=1+(-?i=1m1/pi+g[sub.1])s+(?i=1m-1?j=i+1m1/pipj-g[sub.1]?i=1m1/pi+g[sub.2])s[sup.2]+(-?i=1m-2?j=i+1m-1?k=j+1m1/pipjpk+g[sub.1]?i=1m-1?j=i+1m1/pipj-g[sub.2]?i=1m1/pi+g[sub.3])s[sup.3]+?+((-1)[sup.m]g[sub.n-m-1]?i=1m1/pi+(-1)[sup.m-1]g[sub.n-m]?i[sub.1]=12?i[sub.2]=i[sub.1]+13??i[sub.m-1]=i[sub.m-2]+1m1/pi1pi2pim-1)s[sup.n-1]+((-1)[sup.m]g[sub.n-m]?i=1m1/pi)s[sup.n]

By similar approximations as performed in the previous case, P(s,x) can be simplified according to: (18)P(s,x)˜1+(-1/p1)s+(1/p1p2)s[sup.2]+(-1/p1p2p3)s[sup.3]+?+((-1)[sup.m]?i=1m1/pi)s[sup.m]+?+((-1)[sup.m]g[sub.1]?i=1m1/pi)s[sup.m+1]+?+((-1)[sup.m]g[sub.n-m-1]?i=1m1/pi)s[sup.n-1]+((-1)[sup.m]g[sub.n-m]?i=1m1/pi)s[sup.n]

By equating the s coefficients of Equations (18) and (9), the m first poles are derived as Equation (19). Additionally, the parameters g[sub.i] can be expressed as Equation (20). Thus, P(s,x) can be simplified into the multiplication of m+1 polynomials: m first-order polynomials (representing the m first poles) and a high-order polynomial, as Equation (21). The conditions on s coefficients of D(s,x), for which Equation (21) is valid, can be expressed as Equations (22) and (23). (19)p[sub.i]=-fi-1/fi?i?{1,2,…,m} (20)g[sub.i]=fm+i/fm?i?{1,2,…,n-m} (21)P(s,x)=(1+f1/f0s)·(1+f2/f1s)?(1+fm/fm-1s)·(1+fm+1/fms+fm+2/fms[sup.2]+?+fn/fms[sup.n-m]) (22)|fi/fi-1|>>|fi+1/fi|?i?{1,2,…,m-1} (23)|fi/fi-1|>>|fj/fj-1|?i?{1,2,…,m},j?{m+1,m+2,…,n}

In the general case, let us extend the above formulations to the case that all the n poles are dominant reciprocally, in which P(s,x) can be approximated as follows:(24)P(s,x)=(1-s/p1)·(1-s/p2)·(1-s/p3)?(1-s/pn)=1+(-?i=1n1/pi)s+(?i=1n-1?j=i+1n1/pipj)s[sup.2]+(-?i=1n-2?j=i+1n-1?k=j+1n1/pipjpk)s[sup.3]+?+((-1)[sup.n-1]?i[sub.1]=12?i[sub.2]=i[sub.1]+13??i[sub.n-1]=i[sub.n-2]+1n1/pi1pi2pin-1)s[sup.n-1]+((-1)[sup.n]?i=1n1/pi)s[sup.n]

Under the assumption that all poles are dominant in pairs (i.e., p[sub.1] dominates p[sub.2], p[sub.2] dominates p[sub.3], and so on), the following conditions are satisfied:(25)|fi/fi-1|>>|fi+1/fi|?i?{1,2,3,…,n-1}

Therefore, the rightmost expression in Equation (24) can be approximated as Equation (26). By equating s coefficients of Equation (26) and Equation (9), P(s,x) can be approximately expressed as Equation (27), where each pole p[sub.i] can be calculated according to Equation (28). (26)P(s,x)˜1+(-1/p1)s+(1/p1p2)s[sup.2]+?+((-1)[sup.n-1]?i=1n-11/pi)s[sup.n-1]+((-1)[sup.n]?i=1n1/pi)s[sup.n] (27)P(s,x)˜(1+f1/f0s)·(1+f2/f1s)·(1+f3/f2s)?(1+fn/fn-1s) (28)p[sub.i]=-fi-1/fi?i?{1,2,…,n}

The interesting point is that all poles are derived from s coefficients of the denominator of the transfer function. The above formulations operate under the assumption that all poles are real. In other words, the approach fails for closely spaced or complex conjugate poles. Therefore, the method should be extended to cases where two consecutive poles are located in a cluster. Assuming that p[sub.i] and p[sub.i+1] constitute a pair of poles (real or conjugate), they remain split off in the expression P(s,x) and can be expressed via a second-order polynomial (1+as+bs[sup.2]), where a and b can be calculated as follows:(29)a=fi/fi-1+fi+1/fi,b=fi+1/fi-1

The condition for which the poles p[sub.i] and p[sub.i+1] are real is a[sup.2]=4b. If the condition has been satisfied, the real poles p[sub.i] and p[sub.i+1] can be expressed as Equation (30). Otherwise, these poles can be represented as complex conjugate poles according to Equation (31). (30)p[sub.i]=-a+a2-4b/2b,p[sub.i+1]=-a-a2-4b/2b (31)p[sub.i,i+1]=-a±j4b-a2/2b

It should be emphasized that all the above formulations could be used to extract simplified zeroes Z(s,x) from the numerator N(s,x) of the expanded TF. In ERS, the pole p[sub.i] (or zero z[sub.j]) can be separated using Equation (27) if the conditions in Equations (32) and (33) are met, where p[sub.ERS,i] (z[sub.ERS,j]) is the absolute of the numerical value of i-th pole (j-th zero) extracted via the ERS method and p[sub.E,i] (z[sub.E,j]) is the absolute of the i-th pole (j-th zero) of the exact function of Equation (1). These are numerically achieved by the calculation of the roots of the transfer function. PoleSet (ZeroSet) refers to the set of poles (zeroes) which are in the range of the interval [f[sub.min],f[sub.max]]. Additionally, T[sub.ERS] is a pre-determined constant parameter used to specify the maximum allowable root displacement for each ERS root compared with the exact one. (32)|pERS,i-pE,i/pE,i|=T[sub.ERS]?p[sub.E,i]?PoleSet (33)|zERS,j-zE,j/zE,j|=T[sub.ERS]?z[sub.E,j]?ZeroSet

The ERS pole/zero extraction method comprises evaluation and extraction steps. In the evaluation step, all poles and zeroes within the interval [f[sub.min],f[sub.max]] are assumed to be reciprocally dominant. Thus, their ERS values are numerically obtained according to Equation (27). In the extraction step, the conditions of Equations (32) and (33) are checked for all extracted poles and zeroes. Then, each pole (zero) that has satisfied the mentioned condition can be symbolically extracted according to Equation (27). Otherwise, a pair of real or complex conjugate poles (zeroes) remains split off, and the condition a[sup.2]=4b is checked for them. If the condition has been satisfied, the poles (zeroes) are a pair of real poles (zeroes) and can be calculated by Equation (30); otherwise, they are considered as complex conjugate poles (zeroes) which are extracted by means of Equation (31). To gain further insight into the details of the ERS method, the pseudo-code of the symbolic pole/zero extraction method is provided in Algorithm 1.

Algorithm 1. Symbolic Pole/Zero Extraction using ERS |

Inputs: |

Symbolic exact expanded transfer function |

Numerical values of the circuit parameters in the nominal point |

Maximumallowablerootdisplacement(T[sub.ERS]) |

Output: |

Symbolic expressions of poles and zeros |

Numerical Analysis: |

1. Extractcoefficientsofthenumerator(f´[sub.0],f´[sub.1],…,f´[sub.n´])andthedenominator(f[sub.0],f[sub.1],…,f[sub.n]) |

2. Numerically evaluate the exact expanded transfer function in the nominal point |

3. Numericallyfindrootsofthenumeratorandthedenominatorin[f[sub.min],f[sub.max]] |

4. Sorttheexactnumericalzeroes(z[sub.E,j])andpoles(p[sub.E,i]) by their magnitude |

Extraction of Symbolic Zeros: |

5. forj?ZeroSet |

6. Numerically estimate the position of zero j as z[sub.ERS,j]=-f´[sub.j-1]/f´[sub.j] |

7. if|(z[sub.ERS,j]-z[sub.E,j])/z[sub.E,j]|=T[sub.ERS] |

8. Extracttherealzerojasz[sub.j]=f´[sub.j-1]/f´[sub.j] |

9. else |

10. Considerz[sub.j]andz[sub.j+1] in one cluster11. Calculatea=(f´[sub.j]/f´[sub.j-1])+(f´[sub.j+1]/f´[sub.j])andb=f´[sub.j+1]/f´[sub.j-1] |

12. ifa[sup.2]=4b |

13. Extracttherealzerojasz[sub.j]=-a+([square root of a[sup.2]-4b]/2b) |

14. Extracttherealzeroj+1asz[sub.j+1]=-a-([square root of a[sup.2]-4b]/2b) |

15. else |

16. Extractthecomplexconjugatezeroesjandj+1asz[sub.j,j+1]=-a±j([square root of a[sup.2]-4b]/2b) |

17. end if18. end if19. end for |

Extraction of Symbolic Poles: |

20. fori?PoleSet |

21. Numericallyestimatethepositionofpoleiasp[sub.ERS,i]=-f[sub.i-1]/f[sub.i] |

22. if|(p[sub.ERS,i]-p[sub.E,i])/p[sub.E,i]|=T[sub.ERS] |

23. Extracttherealpoleiasp[sub.i]=f[sub.i-1]/f[sub.i] |

24. else |

25. Considerp[sub.i]andp[sub.i+1] in one cluster26. Calculatea=(f[sub.i]/f[sub.i-1])+(f[sub.i+1]/f[sub.i])andb=f[sub.i+1]/f[sub.i-1] |

27. ifa[sup.2]=4b |

28. Extracttherealpoleiasp[sub.i]=-a+([square root of a[sup.2]-4b]/2b) |

29. Extracttherealpolei+1asp[sub.i+1]=-a-([square root of a[sup.2]-4b]/2b) |

30. else |

31. Extractthecomplexconjugatepolesiandi+1asp[sub.i,i+1]=-a±j([square root of a[sup.2]-4b]/2b) |

32. end if34. end if35. end for |

3.2. Symbolic Pole/Zero Simplification via PZSA

The extracted symbolic pole/zero expressions cannot provide analytical information about the circuit behavior due to their high complexity. Thus, a pole/zero simplification based on PZSA is used to simplify the exact pole/zero expressions. SA is a single-solution metaheuristic method inspired by metallurgy annealing, which involves heating and then slowly cooling a material to reduce its defects [15]. Generally, SA starts its search from a fully random solution and then iteratively updates the solution until arriving at the stopping criterion [34]. However, to improve the quality and speed of the search process in SA, we utilize the knowledge from the exact circuit expressions as heuristic information to guide the SA algorithm by starting from a near-optimal solution. After generating the initial solution using the heuristic algorithm, SA is performed to further improve the solution’s quality using local search operators in an iterative procedure. In the following section, the main steps of the PZSA algorithm are described.

3.2.1. Solution Encoding/Decoding

A possible solution to the pole/zero simplification problem, as shown in Figure 2, is a binary vector of length L, where L is the number of original terms, which can be calculated as follows: (34)L=(L[sub.z1]+L[sub.z2]+?+L[sub.zn'])+(L[sub.p1]+L[sub.p2]+?+L[sub.pn])=?j=1n[sup.']L[sub.zj]+?i=1nL[sub.pi] where L[sub.K], L[sub.zj], and L[sub.pi] are the number of symbolic terms within the DC-gain K, j-th zero, and i-th pole, respectively.

3.2.2. Generation of the Initial Solution

To construct the initial solution of SA, we utilize heuristic information available in the circuit via a ranking algorithm (RA). This not only improves the convergence speed of SA as it utilizes a near-optimal solution but can also effectively enhance the quality of the final solution. An RA comprises an evaluation step and a selection step. In the first step, each term is eliminated, and accordingly, the generated error rate is measured and stored. After the evaluation of all terms, they are sorted into a list from the best to the worst. In the selection phase, an empty solution is considered, after which the terms within the list are added one by one until all constraints have been satisfied.

3.2.3. Objective Function Evaluation

To evaluate the performance of each solution, an objective function is formulated which compares the simplified pole/zero expressions with the exact ones in terms of the number of terms and mean pole/zero displacements. Moreover, each pole/zero displacement should not exceed the user-specified margin T[sub.SA]. In this direction, the objective function is expressed as a weighted average of three sub-objectives. The first sub-objective (En) demonstrates the proportion of the selected symbolic terms to the total number of exact terms extracted by the ERS method. Additionally, the second and third sub-objectives (Ep and Ez) express the mean displacements of the simplified poles and zeroes, respectively. According to Equation (35), these three sub-objectives are merged into a single objective function (OF) to be minimized by the PZSA method, where the sub-objectives En, Ep[sub.,] and Ez are calculated via Equations (36)–(38), respectively. (35)minimizeOF={w[sub.n]E[sub.n]+w[sub.p]E[sub.p]+w[sub.z]E[sub.z])} (36)E[sub.n]=1/L?k=1LS[sub.k] (37)E[sub.p]=1/n?i=1n(|pSA,i-pE,i/pE,i|) (38)E[sub.z]=1/n'?j=1n[sup.'](|zSA,j-zE,j/zE,j|) subject to:(39)|pSA,i-pE,i/pE,i|=T[sub.SA]?p[sub.E,i]?PoleSet (40)|zSA,j-zE,j/zE,j|=T[sub.SA]?z[sub.E,j]?ZeroSet

In Equation (35), w[sub.n], w[sub.p], and w[sub.z], are constant parameters (w[sub.n]+w[sub.z]+w[sub.z]=1) that specify the relative impacts of the three objectives. As the worst-case pole/zero displacements are limited by Equations (39) and (40), w[sub.n] is set as being much larger than w[sub.p] and w[sub.z] to ensure achieving the simplest expressions.

3.2.4. Generation of a New Solution

In each iteration, a neighbor solution, S[sup.new], is constructed in the vicinity of the current solution, S[sup.current]. We adopt swap (Figure 3) and an exchange (Figure 4) operators as neighborhood search strategies in SA. The reason behind using these operators is to introduce randomness into the optimization process, allowing it to escape from local optima and search for better solutions in the search space. The swap operator adds or removes a term in the exact pole/zero expression, and the exchange operator selects from the available terms while preserving the total number of terms constant. To generate a new solution, an operator is randomly selected with a probability of 50%, and then it operates on the solution S[sup.current].

3.2.5. Acceptance Rule Checking

In each iteration, if OF[sup.new]<OF[sup.current], the new solution is accepted. Otherwise, if OF[sup.new]=OF[sup.current], the new solution (worse solution) has a chance to be accepted with the probability of P[sub.w], which can be calculated according to the current temperature T and the differences between the objective function values of the two solutions as follows:(41)P[sub.w]=exp(-Enew-Ecurrent/T) where T is considered to be linearly decreasing during the execution of SA from T[sub.initial] (initial temperature) to T[sub.final] (final temperature), as follows:(42)T=T[sub.initial]+t/iter(T[sub.final]-T[sub.initial])

4. Performance Evaluation

All simulations are conducted on a PC with a 2.6 GHz CPU and 6 GB RAM. The presented tool has been successfully coded in an MATLAB R2020b m-file running on Windows 10. In order to analyze the performance of the proposed method, we have applied it to three different circuits. All MOS transistors in these circuits are modeled via a small-signal model, as shown in Figure 5. The parameters of the proposed tool have been divided into two categories: Model parameters and SA parameters.

Table 2 provides the selected values for the model parameters. As shown in this table, the model parameters include f[sub.min], f[sub.max], T[sub.SA], T[sub.ERS], w[sub.n], and w[sub.pz], which engineers should determine based on the desired specifications of the circuit’s application. To perform the experiments in this study, we deploythe typical values for the model parameters which are generally used in the circuit design process. In this regard, the frequency range in which the poles/zeroes are analyzed equals 1 Hz to 10 times the unity gain bandwidth of the active components (10 × f[sub.T]). The reason for choosing a final frequency of 10 × f[sub.T] is to ensure that the circuit response is analyzed up to a frequency where the active components, such as transistors or amplifiers, are still able to provide reasonable gain. At frequencies beyond 10 × f[sub.T], the gain of the active components typically drops significantly, and the circuit response may be dominated by the passive components [35]. Additionally, T[sub.ERS] has been set to 10%, and thus, the poles and zeroes with no more than 10% displacement can be simplified via first-order polynomials, while the other poles and zeroes are expressed via second-order polynomials. Moreover, T[sub.SA] is selected so that the displacements of the poles/zeroes in the simplified expressions derived by SA are confined to 20%. Eventually, since the maximum displacements of the poles/zeroes are limited by T[sub.SA], the weight of the term related to the compactness of the symbolic expressions in OF (w[sub.n]) is set to be much larger than the weight of the average pole/zero displacement (w[sub.pz]). Therefore, the values w[sub.n] and w[sub.pz] are set as 0.99 and 0.01, respectively. As mentioned above, it should be emphasized that the choice of the model parameters depends on the specific circuit and should be modified by the circuit designers according to the application requirements.

Additionally, in the case of the SA parameters, the Taguchi method is utilized to adjust the controllable parameters of SA, comprising maximum iterations, local search operators, T[sub.initial], and T[sub.final]. In this study, the value of the objective function (OF) is used to evaluate the effectiveness of the algorithm. In order to implement the Taguchi method, we have conducted each experiment 10 times, and the mean and standard deviation values of the objective function are considered as signal and noise values in the Taguchi method, respectively. Table 3 presents the analyzed levels for each SA parameter and the optimal level obtained by the Taguchi method.

To justify the proposed methodology, we compare it against a time-constant approach [29], an eigenvalue technique [31], and an evolutionary-based algorithm using a genetic algorithm [26].

4.1. Results for a Three-Stage Amplifier in the RCg[sub.m]Model (Circuit 1)

The block diagram of a three-stage compensation OTA is shown in Figure 6. The circuit is described by the RCg[sub.m] model. First, the exact expanded TF is derived according to Equation (43) using the MNA technique. Next, by applying the simplification algorithm in [26], the simplified expanded TF is obtained according to Equation (44). By performing PZSA, 3 poles and 2 zeroes can be achieved as Equations (45)–(49).

The comparison of the different methods is summarized in Table 4. According to the obtained results, the exact expanded TF has a total of 40 symbolic terms. The simplification method in [26] obtained an expanded TF according to Equation (44) containing 10 terms. However, even in the simplified form, it cannot give effective insights for the circuit designer to evaluate the positions of the poles and zeroes. By performing the proposed ERS method, 3 poles and 2 zeroes with 10, 26, 25, 3, and 4 terms, resulting in a total of 68 terms, have been extracted. Finally, the proposed PZSA algorithm has reduced the number of terms within these roots to 1, 3, 3, 2, and 2 terms, i.e., totaling 11 terms. Moreover, the numerical results of the different methods are provided in Table 5, where the last four rows illustrate the error of the simplified equations in terms of the pole and zero displacements when compared to the exact expressions. According to the obtained results, all pole/zero displacements in the derived simplified expressions by the proposed method are less than TSA = 20%. Although in some cases the existing methods have achieved less pole/zero displacements, the resulting expressions are not as compact as the proposed method. This occurs due to the selection of a much larger value for w[sub.n] compared to the values w[sub.p] and w[sub.z] in the defined objective function. However, as previously mentioned, these values can be modified by the circuit designer based on the desired application requirements. (43)H[sub.E](s)=-RLR1Gm1C2R2Cm2+Cm1R2Cm2s2-Gm2R2Cm1+Cm2s-Gm2R2GmL/Cm1R2CLRLC1R1+Cm1R2CLRLCm2R1+C2R2Cm1RLCm2R1+C2R2CLRLCm2R1+C2R2Cm1RLC1R1+C2R2Cm2RLC1R1+Cm1R2Cm2RLC1R1+C2R2CLRLC1R1s3+C2R2Cm1RL+Cm1RLCm2R1+Cm1R2RLGmLC1R1-Cm1R1RLGm2Cm2R2+CLRLC1R1+C2R2Cm2R1+Cm1RLCm2R1+C2R2C1R1+Cm2R2Cm1R1+C2R2RLCm2+C2R2RLCL+Cm1R2RLCm2+Cm1R2RLCL+Cm2RLC1R1+Cm1R2C1R1+Cm1R2RLGmLCm2R1+CLRLCm2R1+Cm1RLC1R1s2+RLCL+RLCm2+RLCm1+R2Cm1+R2C2+R1C1+R1Cm2+R1Cm2RLGm2R2GmL+Cm2RLR2GmLs+1 (44)H[sub.S,E](s)=-(C2R1R2RLCm1Cm2+Gm1R1R2RLCm1Cm2)s2+Gm1Gm2R1R2RLCm1s+Gm1Gm2GmLR1R2RL/Cm1R2CLRLCm2R1s3+Cm1R2RLGmLC1R1+Cm1R1R2RLGmLCm2-Cm1Cm2R1R2RLGm2s2+R1Cm2RLGm2R2GmLs+1 (45)P[sub.1]=-1/R1Gm2R2GmLRLCm2 (46)P[sub.2]=-Gm2GmL/Cm1(GmL-Gm2) (47)P[sub.3]=-(GmL-Gm2)/CL (48)Z[sub.1]=GmL/Cm1 (49)Z[sub.2]=-Gm2/Cm2

4.2. Results for a Two-Stage Miller Compensated Amplifier (Circuit 2)

The second circuit is a folded cascode two-stage OTA with compensation, as shown in Figure 7. The exact expanded TF obtained by MNA contains 134 symbolic terms. By performing the simplification method outlined in [26], the simplified TF has been obtained according to Equation (50). As shown in Table 6, the proposed ERS method has extracted 2 poles and 1 zero with 104, 82, and 18 terms, respectively. Subsequently, the proposed PZSA method has simplified these roots based on Equations (51)–(53), resulting in 5, 2, and 2 terms, respectively. Additionally, a comparison of the numerical results is shown in Table 7, which shows that all pole/zero displacements do not exceed TSA = 20%. (50)H(s)=-gm1gm1ro1ro3ro6ro7Cc+gmb1ro1ro3ro6ro7Ccs+gm1gm6ro1ro3ro6ro7+gm6gmb1ro1ro3ro6ro7/ro1gm1ro3ro6ro7CcCL+gmb1ro3ro6ro7CcCLs2+gm1gm6ro3ro6ro7Cc+gmb1gm6ro3ro6ro7Ccs+gm1ro6+gm1ro7+gm1ro3ro7/ro1 (51)P[sub.1]=-ro1ro6+ro1ro7+ro3ro6+ro3ro7/gm6ro1ro3ro6ro7Cc=-1/gm6ro1ro3ro6ro7Cc (52)P[sub.2]=-gm6/CL (53)Z=gm6/Cc

4.3. Results for a Three-Stage Amplifier in Transistor Model (Circuit 3)

The last circuit is a transistor-level three-stage amplifier with miller compensation, as shown in Figure 8. The exact expanded TF of this circuit contains 1320 symbolic terms. Considering the approximation algorithm in [26], the simplified expanded TF with 18 symbolic terms is shown in Equation (54). The ERS method extracted 3 poles and 2 zeroes with a total of 2061 terms. As shown in Equations (55)–(59), applying PZSA to the exact extracted roots reduced them to only a total of 19 terms. The number of simplified terms and numerical results of the different algorithms are summarized in Table 8 and Table 9, respectively. (54)H(s)=-(gm1gm8ro1ro3ro6ro7ro8ro9ro10ro11Cm1Cm2)s2-(gm1gm6gm9ro1ro3ro6ro7ro8ro9ro10ro11Cm2)s+gm1gm6gm9gm11ro1ro3ro6ro7ro8ro9ro10ro11/gm8ro1ro6ro7ro8ro10+gm8ro3ro6ro8ro9ro10+gm8ro1ro6ro8ro9ro10+gm8ro3ro6ro8ro9ro11+gm8ro3ro6ro7ro8ro10+gm8ro1ro6ro7ro8ro11+gm8ro3ro6ro7ro8ro11+gm8ro1ro6ro8ro9ro11+gm8ro1ro3ro6ro7ro8ro9ro10ro11Cm1Cm2CLs3+gm6gm9gm11ro1ro3ro6ro7ro8ro9ro10ro11Cm1s+gm8ro1ro3ro6ro7ro8ro9ro10Cm1Cm2-gm6gm9ro1ro3ro6ro7ro8ro9ro10ro11Cm1Cm2+gm11ro1ro3ro7ro8ro9ro10ro11Cm1Cm2+gm11ro1ro3ro6ro7ro9ro10ro11Cm1Cm2+gm8gm11ro1ro3ro6ro7ro8ro9ro10ro11Cm1Cm2s2 (55)P[sub.1]=-gm8(ro1+ro3)(ro7+ro9)(ro10+ro11)/gm6gm9gm11ro1ro3ro7ro9ro10ro11Cm1=-gm8/gm6gm9gm11Cm1(ro1ro3)(ro7ro9)(ro10ro11) (56)P[sub.2]=-gm6gm9gm11/gm8gm11-gm6gm9Cm2 (57)P[sub.3]=-gm8gm11-gm6gm9/gm8CL (58)Z[sub.1]=gm11/Cm2 (59)Z[sub.2]=-gm6gm9/gm8Cm1

4.4. Discussion

Generally, in the reported simplified symbolic pole/zero expressions, three types of errors can be observed:

Error-1: the first type of error may occur by comparing HSPICE with the exact expanded TF achieved by MNA. This error may be observed for OTAs described at the transistor level, as HSPICE considers a more accurate small-signal transistor model than the simple model in our program.

Error-2: the second type of error may be observed when comparing the exact TF with the exact extracted poles/zeroes because of the simplifications induced by the root extraction process in the ERS method.

Error-3: the third error may occur between exact pole/zero expressions and the simplified ones due to the simplifications done by PZSA.

As mentioned above, Error-1 is inevitable in symbolic analysis, which is observed in all symbolic tools. However, Error-2 and Error-3 may occur because of our pole/zero extraction and simplification methods, respectively. Therefore, in the results shown in Table 5, Table 7 and Table 9, we have reported these errors for each algorithm by comparing them with the exact expanded TF. Thus, the numerical results of the poles and zeroes in the exact TF were considered as references to justify the performance of the different techniques.

Table 10 reports the obtained values of the three sub-objectives (En, Ep, and Ez) for the different circuits. As previously mentioned, the total number of terms in the exact poles/zero expressions extracted by the ERS method are 68, 204, and 2061 for circuits 1, 2, and 3, respectively. Subsequently, these expressions are then simplified by the PZSA method resulting in a total of 11, 9, and 19 terms. As a result, the first sub-objective (En) equals the proportion of the number of simplified terms to the exact terms for each circuit. Additionally, the obtained results for the sub-objectives Ep and Ez demonstrate that all pole/zero displacements do not exceed the pre-specified threshold of TSA = 20%.

In addition, since SA is a non-deterministic algorithm that produces different results in each run, its performance was assessed by running it on each circuit 10 times. The resulting objective function values and their average and standard deviation are summarized in Table 11. According to the obtained results, the proportion of the standard deviation to the average values equals 5.1%, 3.6%, and 4.7% for circuits 1, 2, and 3, respectively, which demonstrates the robustness of the proposed PZSA.

5. Conclusions

This paper presented a mathematical technique for symbolic circuit pole/zero extraction, followed by a combined heuristic–metaheuristic algorithm to simplify the extracted expressions. In the proposed method, a mathematical model was presented for extracting the exact poles and zeroes from the original expanded expression of OTA. Then, an ensemble heuristic–metaheuristic approach was proposed to obtain the simplest symbolic pole/zero equations from the exact ones. In the proposed ensemble method, a near-optimal solution was constructed using the knowledge-based heuristic information available in the circuit model. Subsequently, a metaheuristic algorithm based on simulated annealing was used to obtain the simplest pole/zero expressions with the best achievable quality. The proposed tool has been coded in an m-file of MATLAB to extract simplified pole/zero equations directly from the circuit netlist. Simulations on three OTAs demonstrated the effectiveness and superiority of the proposed technique against the existing algorithms in the literature.

Besides the advantages mentioned above, the proposed method has some limitations that can be addressed in future studies. The proposed methodology relies on a single nominal point for the circuit parameters, and thus, the simplified root expressions are valid around the nominal point. As a future work, the proposed method can be extended to deal with the uncertainties of the circuit parameters using robust optimization techniques, Monte Carlo simulation, fuzzy arithmetic, etc. Another limitation of this study is that the suggested method is a simplification-after-generation technique, in which the symbolic expressions should be generated exactly before the simplification process. Since circuit simplification is an NP-hard problem, the computational complexity of the exact expressions increases exponentially with the circuit size. Thus, the use of metaheuristic algorithms is challenging for large-size circuits from the time complexity point of view. As an interesting future research direction, the proposed method can be hybridized with simplification-before-generation approaches to deal with larger circuits. Moreover, we suggest performing other metaheuristics and their hybridizations with other soft computing techniques [36,37] in order to solve the root simplification problem.

Author Contributions

Conceptualization, N.B.-F., H.Y. and M.S.; methodology, M.S.; software, M.S.; validation, M.S. and F.W.; investigation, M.S.; data curation, N.B.-F., H.Y. and M.S.; resources, N.B.-F. and H.Y.; writing—original draft preparation, N.B.-F. and M.S.; writing—review and editing, M.S., H.Y. and F.W.; visualization, N.B.-F.; formal analysis, F.W.; supervision, M.S. and F.W. All authors have read and agreed to the published version of the manuscript.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The data used in the study is available with the authors and can be shared upon reasonable requests.

Conflicts of Interest

The authors declare no conflict of interest.

Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

References

1. G. Gielen; W.M. Sansen, Springer Science + Business Media: Berlin, Germany, 2012, Volume 137,

2. J. Riad; S. Soto-Aguilar; J.J. Estrada-López; O. Moreira-Tamayo; E. Sánchez-Sinencio Design Trade-Offs in Common-Mode Feedback Implementations for Highly Linear Three-Stage Operational Transconductance Amplifiers., 2021, 10, 991. DOI: https://doi.org/10.3390/electronics10090991.

3. M. Akbari; M. Shokouhifar; O. Hashemipour; A. Jalali; A. Hassanzadeh Systematic design of analog integrated circuits using ant colony algorithm based on noise optimization., 2016, 86,pp. 327-339. DOI: https://doi.org/10.1007/s10470-015-0682-0.

4. L.H. Rodovalho; P. Toledo; F. Mir; F. Ebrahimi Hybrid Inverter-Based Fully Differential Operational Transconductance Amplifiers., 2023, 2,pp. 1-19. DOI: https://doi.org/10.3390/chips2010001.

5. M. Akbari; S.M. Hussein; Y. Hashim; F. Khateb; T. Kulej; K.T. Tang Implementation of a Multipath Fully Differential OTA in 0.18-µm CMOS Process., 2022, 31,pp. 147-151. DOI: https://doi.org/10.1109/TVLSI.2022.3218741.

6. H. Aminzadeh; A.D. Grasso; G. Palumbo A methodology to derive a symbolic transfer function for multistage amplifiers., 2022, 10,pp. 14062-14075. DOI: https://doi.org/10.1109/ACCESS.2022.3147879.

7. M. Shokouhifar; A. Jalali Simplified symbolic transfer function factorization using combined artificial bee colony and simulated annealing., 2017, 55,pp. 436-451. DOI: https://doi.org/10.1016/j.asoc.2017.02.029.

8. A.D. Grasso; D. Marano; S. Pennisi; G. Vazzana Symbolic factorization methodology for multistage amplifier transfer functions., 2015, 44,pp. 38-59. DOI: https://doi.org/10.1002/cta.2061.

9. G. Shi; S.X.D. Tan; E. Tlelo-Cuautle, Springer: Berlin, Germany, 2014,

10. M. Shokouhifar; A. Jalali An evolutionary-based methodology for symbolic simplification of analog circuits using genetic algorithm and simulated annealing., 2015, 42,pp. 1189-1201. DOI: https://doi.org/10.1016/j.eswa.2014.09.030.

11. M. Shokouhifar; A. Jalali Simplified symbolic gain, CMRR and PSRR analysis of analog amplifiers using simulated annealing., 2016, 25,p. 1650082. DOI: https://doi.org/10.1142/S0218126616500821.

12. S. Sathasivam; M. Mamat; M.S.M. Kasihmuddin; M.A. Mansor Metaheuristics approach for maximum k satisfiability in restricted neural symbolic integration., 2020, 28,pp. 545-564.

13. S. Ali; A. Bhargava; A. Saxena; P. Kumar A Hybrid Marine Predator Sine Cosine Algorithm for Parameter Selection of Hybrid Active Power Filter., 2023, 11, 598. DOI: https://doi.org/10.3390/math11030598.

14. S. Dziedziewicz; M. Warecka; R. Lech; P. Kowalczyk Self-Adaptive Mesh Generator for Global Complex Roots and Poles Finding Algorithm., 2023, 66,pp. 7198-7205. DOI: https://doi.org/10.1109/TMTT.2023.3238014.

15. S. Kirkpatrick; C.D. Gelatt; M.P. Vecchi Optimization by Simulated Annealing., 1983, 220,pp. 671-680. DOI: https://doi.org/10.1126/science.220.4598.671. PMID: https://www.ncbi.nlm.nih.gov/pubmed/17813860.

16. E. Hennig, Shaker Verlag: Herzogenrath, Germany, 2000,

17. C. Toumazou; G.S. Moschytz; B. Gilbert, Kluwer Academic Publishers: New York, NY, USA, 2014,

18. G. Wierzba; A. Srivastava; V. Joshi; K. Noren; J. Svoboda SSPICE-A symbolic SPICE program for linear active circuits., 1989, 2,pp. 1197-1201.

19. F.V. Fernández; A. Rodríguez-Vázquez; J.L. Huertas Interactive AC modeling and characterization of analog circuits via symbolic analysis., 1991, 1,pp. 183-208.

20. G. Gielen; H. Walscharts; W. Sansen ISAAC: A symbolic simulator for analog integrated circuits., 1989, 24,pp. 1587-1597. DOI: https://doi.org/10.1109/4.44994.

21. M. Fakhfakh; E.T. Cuautle; F.V. Fernandez, Bentham Science Publishers: Sharjah, United Arab Emirates, 2012,

22. M. Shokouhifar; A. Jalali Automatic Simplified Symbolic Analysis of Analog Circuits Using Modified Nodal Analysis and Genetic Algorithm., 2015, 24,pp. 1-20. DOI: https://doi.org/10.1142/S0218126615500565.

23. M. Shokouhifar; A. Jalali Evolutionary based simplified symbolic PSRR analysis of analog integrated circuits., 2016, 86,pp. 189-205. DOI: https://doi.org/10.1007/s10470-015-0680-2.

24. M. Panda; S. Kumar Patnaik; A. Kumar Mal; S. Ghosh Fast and optimised design of a differential VCO using symbolic technique and multi objective algorithms., 2019, 13,pp. 1187-1195. DOI: https://doi.org/10.1049/iet-cds.2018.5617.

25. M. Panda; S.K. Patnaik; A.K. Mal An efficient method to compute simplified noise parameters of analog amplifiers using symbolic and evolutionary approach., 2021, 34,p. e2790. DOI: https://doi.org/10.1002/jnm.2790.

26. R. Zhou; P. Poechmueller; Y. Wang An Analog Circuit Design and Optimization System with Rule-Guided Genetic Algorithm., 2022, 41,pp. 5182-5192. DOI: https://doi.org/10.1109/TCAD.2022.3166637.

27. M. Hayes Lcapy: Symbolic linear circuit analysis with Python., 2022, 8,p. e875. DOI: https://doi.org/10.7717/peerj-cs.875. PMID: https://www.ncbi.nlm.nih.gov/pubmed/35494804.

28. O. Guerra; J.D. Rodriguez-Garcia; F.V. Fernandez; A. Rodríguez-Vázquez A symbolic pole/zero extraction methodology based on analysis of circuit time-constants., 2002, 31,pp. 101-118. DOI: https://doi.org/10.1023/A:1015089810198.

29. J.L. Gomes; L.C. Nunes; C.F. Gonçalves; J.C. Pedro An accurate characterization of capture time constants in GaN HEMTs., 2019, 67,pp. 2465-2474. DOI: https://doi.org/10.1109/TMTT.2019.2921338.

30. H. Cao; Y. Zhang; Z. Han; X. Shao; J. Gao; K. Huang; Y. Shi; J. Tang; C. Shen; J. Liu Temperature compensation circuit design and experiment for dual-mass MEMS gyroscope bandwidth expansion., 2019, 24,pp. 677-688. DOI: https://doi.org/10.1109/TMECH.2019.2898098.

31. K.Ç. Coskun; M. Hassan; R. Drechsler Equivalence Checking of System-Level and SPICE-Level Models of Linear Circuits., 2022, 1,pp. 54-71. DOI: https://doi.org/10.3390/chips1010006.

32. O. Evnin Melonic dominance and the largest eigenvalue of a large random tensor., 2021, 111,p. 66. DOI: https://doi.org/10.1007/s11005-021-01407-z.

33. A.G. Gheorghe; F. Constantinescu Pole/Zero Computation for Linear Circuits.,pp. 477-480.

34. M. Sohrabi; M. Zandieh; M. Shokouhifar Sustainable inventory management in blood banks considering health equity using a combined metaheuristic-based robust fuzzy stochastic programming., 2022, 86,p. 101462. DOI: https://doi.org/10.1016/j.seps.2022.101462.

35. B. Razavi, John Wiley & Sons: New York, NY, USA, 2021,

36. Z. Ghasemi Darehnaei; M. Shokouhifar; H. Yazdanjouei; S.M.J. Rastegar Fatemi SI-EDTL: Swarm intelligence ensemble deep transfer learning for multiple vehicle detection in UAV images., 2022, 34,p. e6726. DOI: https://doi.org/10.1002/cpe.6726.

37. R.M. Aziz; R. Mahto; K. Goel; A. Das; P. Kumar; A. Saxena Modified Genetic Algorithm with Deep Learning for Fraud Transactions of Ethereum Smart Contract., 2023, 13, 697. DOI: https://doi.org/10.3390/app13020697.

Figures and Tables

Figure 1: Overall flowchart of the proposed methodology. [Please download the PDF to view the image]

Figure 2: Encoding of a solution: If S[sub.i] = 1, the i-th symbolic term is present in the solution; otherwise, if S[sub.i] = 0, the i-th term has been discarded from the solution. [Please download the PDF to view the image]

Figure 3: Swap: a symbolic term is randomly selected and inverted. [Please download the PDF to view the image]

Figure 4: Exchange: a term “0” and a term “1” are randomly selected and exchanged. [Please download the PDF to view the image]

Figure 5: Small signal representation of MOS transistors. [Please download the PDF to view the image]

Figure 6: A three-stage amplifier in the RCg[sub.m] model. [Please download the PDF to view the image]

Figure 7: Two-stage compensation amplifier. [Please download the PDF to view the image]

Figure 8: A three-stage amplifier in the transistor model. [Please download the PDF to view the image]

Table 1: Notations.

Sets/Parameters | Definition |
---|---|

i | Index of poles, i=1,2,…,n |

j | Index of zeroes, j=1,2,…,n´ |

n | Degree of the denominator within the exact expanded TF |

n´ | Degree of the numerator within the exact expanded TF |

k | Index of the symbolic terms, k=1,2,…,L |

L | Number of symbolic terms within all pole/zero expressions |

[f[sub.m i n],f[sub.m a x]] | Defined frequency bound range for the pole/zero extraction |

S[sub.k] | A binary parameter: 1 if the k-th term is presented; 0 otherwise |

E[sub.n] | Percentage of the selected symbolic terms |

PoleSet | Set of poles in the frequency range of [f[sub.min],f[sub.max]] |

ZeroSet | Set of zeroes in the frequency range of [f[sub.min],f[sub.max]] |

p[sub.E, i] | i-th pole within the exact expanded TF |

p[sub.E R S, i] | i-th extracted pole via ERS |

p[sub.S A, i] | i-th simplified pole via SA |

E[sub.p] | Mean pole displacements |

z[sub.E, j] | j-the zero of the exact expanded TF |

z[sub.E R S, j] | j-th extracted zero via ERS |

z[sub.S A, j] | j-th simplified zero via SA |

E[sub.z] | Mean zero displacements |

T[sub.E R S] | Maximum allowable pole/zero extraction error via ERS |

T[sub.S A] | Maximum allowable pole/zero simplification error via SA |

Table 2: Model parameter settings.

Phase | Parameter | Value/Description |
---|---|---|

Model Parameters | f[sub.m i n] | 1 Hz |

f[sub.m a x] | 10 × f[sub.T] | |

T[sub.ERS] in Equations (32) and (33) | 10% | |

T[sub.SA] in Equations (39) and (40) | 20% | |

w[sub.n] in Equation (35) | 0.99 | |

w[sub.p] in Equation (35) | 0.005 | |

w[sub.z] in Equation (35) | 0.005 |

Table 3: SA parameter settings using the Taguchi method.

Phase | Parameter | Parameter Levels | Selected Value | ||
---|---|---|---|---|---|

SA Parameters | Maximum iterations | L | 5 × L | 10 × L | 5 × L |

Local search operators | Swap | Exchange | Swap/Exchange | Swap/Exchange | |

T[sub.initial] in Equation (42) | 10[sup.-5] | 10[sup.-4] | 10[sup.-3] | 10[sup.-5] | |

T[sub.final] in Equation (42) | 10[sup.-8] | 10[sup.-10] |

Table 4: Number of terms within simplified symbolic poles/zeroes in Circuit 1.

Expression | Expanded TF (Exact) | Ref. [26] | Ref. [29] | Ref. [31] | Proposed Exact (ERS) | Proposed Simplified (SA) |
---|---|---|---|---|---|---|

P1 | - | - | 1 | 10 | 10 | 1 |

P2 | - | - | 4 | 26 | 26 | 3 |

P3 | - | - | 5 | 25 | 25 | 3 |

Z1 | - | - | 2 | 9 | 3 | 2 |

Z2 | - | - | 2 | 9 | 4 | 2 |

Overall TF | 40 | 10 | - | - | - | - |

Table 5: Numerical results for Circuit 1.

Parameter | HSPICE | Expanded TF (Exact) | Ref. [26] | Ref. [29] | Ref. [31] | Proposed Exact | Proposed Simplified |
---|---|---|---|---|---|---|---|

P1 (Hz) | -12.8 | -12.8 | -13.3 | -13.2 | -12.8 | -12.8 | -13.2 |

P2 (MHz) | -3.19 | -3.19 | -3.49 | -3.19 | -2.96 | -2.96 | -3.18 |

P3 (MHz) | -40.6 | -40.6 | -36.3 | -43.9 | -43.8 | -43.8 | -39.8 |

Z1 (MHz) | 2.72 | 2.72 | 2.72 | 3.18 | 3.36 | 3.18 | 3.18 |

Z2 (MHz) | -18.6 | -18.6 | -18.6 | -15.9 | -17.5 | -15.9 | -15.9 |

Mean pole displacement (%) | - | - | 7.8 | 3.8 | 5 | 5 | 1.9 |

Max pole displacement (%) | - | - | 10.6 | 8.36 | 7.9 | 7.9 | 3.5 |

Mean zero displacement (%) | - | - | 0.03 | 15.9 | 14.7 | 15.8 | 15.9 |

Max zero displacement (%) | - | - | 0.04 | 17.1 | 23.6 | 17.1 | 17.1 |

Table 6: Number of terms within the simplified symbolic poles/zeroes in Circuit 2.

Expression | Expanded TF (Exact) | Ref. [26] | Ref. [29] | Ref. [31] | Proposed Exact (ERS) | Proposed Simplified (SA) |
---|---|---|---|---|---|---|

P1 | - | - | 5 | 104 | 104 | 5 |

P2 | - | - | 7 | 82 | 82 | 2 |

Z | - | - | 4 | 18 | 18 | 2 |

Overall TF | 134 | 11 | - | - | - | - |

Table 7: Numerical results for Circuit 2.

Parameter | HSPICE | Expanded TF (Exact) | Ref. [26] | Ref. [29] | Ref. [31] | Proposed Exact | Proposed Simplified |
---|---|---|---|---|---|---|---|

P1 (KHz) | -177.1 | -178.5 | -192 | -152.8 | -178.4 | -178.4 | -152.8 |

P2 (MHz) | -377.4 | -435.4 | -409.1 | -341 | -435.6 | -435.6 | -409.3 |

Z (MHz) | 407.2 | 409.3 | 409.3 | 409.3 | 409.3 | 409.3 | 409.3 |

Mean pole displacement (%) | - | - | 6.8 | 18 | 0.04 | 0.04 | 10.2 |

Max pole displacement (%) | - | - | 7.5 | 21.7 | 0.04 | 0.04 | 14.4 |

Zero displacement (%) | - | - | 0.01 | 0.01 | 0.01 |

Table 8: Number of terms within the simplified symbolic poles/zeroes in Circuit 3.

Expression | Expanded TF (Exact) | Ref. [26] | Ref. [29] | Ref. [31] | Proposed Exact (ERS) | Proposed Simplified (SA) |
---|---|---|---|---|---|---|

P1 | - | - | 29 | 714 | 714 | 9 |

P2 | - | - | 21 | 837 | 837 | 3 |

P3 | - | - | 23 | 330 | 330 | 3 |

Z1 | - | - | 15 | 75 | 75 | 2 |

Z2 | - | - | 13 | 105 | 105 | 2 |

Overall TF | 1320 | 18 | - | - | - | - |

Table 9: Numerical results for Circuit 3.

Parameter | HSPICE | Expanded TF (Exact) | Ref. [26] | Ref. [29] | Ref. [31] | Proposed Exact | Proposed Simplified |
---|---|---|---|---|---|---|---|

P1 (Hz) | -27.7 | -27.9 | -20.6 | -20.5 | -27.9 | -27.9 | -22.8 |

P2 (MHz) | -1.84 | -1.84 | -2.03 | -2.16 | -1.76 | -1.76 | -2.07 |

P3 (MHz) | -36.6 | -40.2 | -36.3 | -36.1 | -42.1 | -42.1 | -35.7 |

Z1 (MHz) | 1.4 | 1.4 | 1.4 | 2.23 | 1.62 | 1.62 | 1.62 |

Z2 (MHz) | -10.3 | -10.2 | -10.5 | -7.37 | -8.81 | -8.81 | -9.1 |

Mean pole displacement (%) | - | - | 15.6 | 18 | 3 | 3 | 14.2 |

Max pole displacement (%) | - | - | 26.4 | 26.5 | 4.6 | 4.6 | 18.4 |

Mean zero displacement (%) | - | - | 1.7 | 43.5 | 14.8 | 14.8 | 13.5 |

Max zero displacement (%) | - | - | 2.9 | 59.3 | 15.9 | 15.9 | 16.1 |

Table 10: Sub-objective values for different circuits.

Circuit/Objective | En | Ep | Ez |
---|---|---|---|

Circuit 1 | 0.1617 | 0.019 | 0.159 |

Circuit 2 | 0.0441 | 0.102 | 0.0001 |

Circuit 3 | 0.0092 | 0.142 | 0.135 |

Table 11: Overall objective function values in 10 successive runs for different circuits.

Circuit/Objective | Circuit 1 | Circuit 2 | Circuit 3 |
---|---|---|---|

Run 1 | 0.1619 | 0.0447 | 0.0119 |

Run 2 | 0.162 | 0.0451 | 0.013 |

Run 3 | 0.1618 | 0.0448 | 0.0128 |

Run 4 | 0.1766 | 0.045 | 0.0123 |

Run 5 | 0.162 | 0.0447 | 0.0114 |

Run 6 | 0.1767 | 0.0445 | 0.0115 |

Run 7 | 0.1617 | 0.0446 | 0.012 |

Run 8 | 0.1616 | 0.0449 | 0.0129 |

Run 9 | 0.1473 | 0.0398 | 0.0117 |

Run 10 | 0.1621 | 0.0447 | 0.0121 |

Average | 0.1634 | 0.0443 | 0.0122 |

Standard Deviation | 0.0083 | 0.0016 | 0.0006 |

Author Affiliation(s):

[1] Department of Electrical Engineering, Technical and Vocational University (TVU), Tehran 1435661137, Iran

[2] Microelectronics Research Laboratory, Urmia University, Urmia 5756151818, Iran

[3] Department of Electrical and Computer Engineering, Shahid Beheshti University, Tehran 1983969411, Iran

[4] Faculty of Mathematics, Otto-Von-Guericke-University, 39016 Magdeburg, Germany

Author Note(s):

[*] Correspondence: [emailprotected] (M.S.); [emailprotected] (F.W.)

DOI: 10.3390/math11061498

COPYRIGHT 2023 MDPI AG

No portion of this article can be reproduced without the express written permission from the copyright holder.

Copyright 2023 Gale, Cengage Learning. All rights reserved.