Skip to main content
Log in

Variation range based simplification for meaningful symbolic analysis of analog integrated circuits

  • Published:
Analog Integrated Circuits and Signal Processing Aims and scope Submit manuscript

Abstract

This paper presents a variation range based symbolic simplification technique, where each circuit parameter is represented via a range of variation. We generate a database to handle the variation ranges of the circuit parameters and perform simulated annealing algorithm to achieve the most compact symbolic expressions. In contrast to the existing techniques, the main advantage of the proposed method is that the simplified symbolic expressions have an acceptable generalizability in the whole ranges of variations of the circuit parameters. The maximum allowable simplification error can be controlled by the user based on the required accuracy level that he needs. Simulation results demonstrate that the proposed method outperforms the conventional techniques in terms of expression complexity, accuracy and generalizability of the simplified expressions. The resultant expressions are only as complicated as necessary to give the required accuracy in the results, which help in giving a better insight into the circuit behavior.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

References

  1. Tan, S. X. D. (2006). Symbolic analysis of analog circuits by boolean logic operations. IEEE Transactions on Circuits and Systems II: Analog and Digital Signal Processing, 53(11), 1313–1317.

    Article  Google Scholar 

  2. Toumazou, C., Moschytz, G. S., & Gilbert, B. (2004). Trade-offs in analog circuit design: The designer’s companion. New York: Kluwer Academic Publishers.

    Google Scholar 

  3. Shokouhifar, M. & Jalali, A. (2014). Automatic symbolic simplification of analog circuits in MATLAB using ant colony optimization. In 22nd Iranian conference on electrical engineering (pp. 1–6).

  4. Fakhfakh, M., Cuautle, E. T. & Fernandez, F. V. (2012). Design of analog circuits through symbolic analysis. Bentham Science Publishers.

  5. Fernandez, F. V., Rodriguez-Vazquez, A., Martin, J. D., & Huertas, J. L. (1993). Formula approximation for flat and hierarchical symbolic analysis. Analog Integrated Circuits and Signal Processing, 3(1), 43–58.

    Article  Google Scholar 

  6. Gielen, G., Walscharts, H., & Sansen, W. (1989). ISAAC: a Symbolic simulator for analog integrated circuits. IEEE Journal of Solid-State Circuits, 24(6), 1587–1597.

    Article  Google Scholar 

  7. Seda, S., Degrauwe, M., & Fichtner, W. (1992). Lazy-expansion symbolic expression approximation in SYNAP. In International conference on computer-aided design (pp. 310–317).

  8. Wierzba, G., et al. (1989). SSPICE-A symbolic SPICE program for linear active circuits. In Midwest symposium on circuits and systems (pp. 1197–1201).

  9. Fernandez, F., Vazquez, A. R., & Huertas, J. (1991). Interactive AC modeling and characterization of analog circuits via symbolic analysis. Kluwer Journal on Analog Integrated Circuits and Signal Processing, 1, 183–208.

    Google Scholar 

  10. Wambacq, P., Fernandez, F., Gielen, G., Sansen, W., & Vazquez, A. R. (1995). Efficient symbolic computation of approximated small-signal characteristics. IEEE Journal of Solid-State Circuits, 30(3), 327–330.

    Article  Google Scholar 

  11. Yu, Q., & Sechen, C. (1996). A unified approach to the approximate symbolic analysis of large analog integrated circuits. IEEE Transaction on Circuits and Systems I: Fundamental Theory and Applications, 43(8), 656–669.

    Article  Google Scholar 

  12. Hu, H., Shi, G., Tai, A., & Lee, F. (2015). Topological symbolic simplification for analog design. In IEEE international symposium on circuits and systems (ISCAS 2015) (pp. 2644–2647).

  13. Grasso, A. D., Marano, D., Pennisi, S., & Vazzana, G. (2016). Symbolic factorization methodology for multistage amplifier transfer functions. International Journal of Circuit Theory and Applications, 44(1), 38–59.

    Article  Google Scholar 

  14. Daems, W., Gielen, G., & Sansen, W. (2002). Circuit simplification for the symbolic analysis of analog integrated circuits. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 21(4), 395–407.

    Article  Google Scholar 

  15. Aguirre, I., & Carlosena, A. (2000). A symbolic method for network function approximation with order reduction. International Journal of Circuit Theory and Applications, 28(3), 313–318.

    Article  MATH  Google Scholar 

  16. Shokouhifar, M., & Jalali, A. (2015). Automatic simplified symbolic analysis of analog circuits using modified nodal analysis and genetic algorithm. Journal of Circuits, Systems and Computers, 24(04), 1550056.

    Article  Google Scholar 

  17. Shokouhifar, M., & Jalali, A. (2015). An evolutionary-based methodology for symbolic simplification of analog circuits using genetic algorithm and simulated annealing. Expert Systems with Applications, 42(3), 1189–1201.

    Article  Google Scholar 

  18. Shokouhifar, M., & Jalali, A. (2016). Evolutionary based simplified symbolic PSRR analysis of analog integrated circuits. Analog Integrated Circuits and Signal Processing, 86(2), 189–205.

    Article  Google Scholar 

  19. Shokouhifar, M., & Jalali, A. (2016). Simplified symbolic gain, CMRR and PSRR analysis of analog amplifiers using simulated annealing. Journal of Circuits, Systems and Computers, 25(07), 1650082.

    Article  Google Scholar 

  20. Shokouhifar, M., & Jalali, A. (2016). Two-stage fuzzy inference system for symbolic simplification of analog circuits. Integration, the VLSI Journal, 55(C), 281–292.

    Article  Google Scholar 

  21. Fernandez, F., Vazquez, A. R., Huertas, J., & Gielen, G. (1998). Symbolic analysis techniques: Applications to analog design automation. IEEE Circuits & Systems Society.

  22. Kirkpatrick, S., Gelatt, C. D., & Vecchi, M. P. (1983). Optimization by simulated annealing. Science, 220(4598), 671–680.

    Article  MathSciNet  MATH  Google Scholar 

  23. Ho, C., Ruehli, A. E., & Brennan, (1975). The modified nodal approach to network analysis. IEEE Transaction on Circuits and Systems, 25, 504–509.

    Google Scholar 

  24. Shokouhifar, M., & Farokhi, F. (2010). An artificial bee colony optimization for feature subset selection using supervised fuzzy C_means algorithm. In 3rd international conference on information security and artificial intelligent (ISAI 2010) (pp. 427–432).

  25. Nohoji, A. H. A., Farokhi, F., Shokouhifar, M., & Zamani, M. (2011). Efficient parameters selection for artificial intelligence models of nanoscale MOSFETs. In 24th Canadian conference on electrical and computer engineering (CCECE 2011) (pp. 840–844).

  26. Liu, M., Miao, L., & Zhang, D. (2014). Two-stage cost-sensitive learning for software defect prediction. IEEE Transactions on Reliability, 63(2), 676–686.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Mohammad Shokouhifar.

Appendices

Appendices

1.1 Appendix 1: Operators among range of variations

Given two symbolic parameters y i  ∊ [y iL y iH ] and y j  ∊ [y jL y jH ], the operators among ranges including addition, product, modulus, reciprocal, lower and upper, can be defined as

$$y_{i} \pm y_{j} \in \left[ {y_{iL} \pm y_{jL} ,y_{iH} \pm y_{jH} } \right].$$
(19)
$$y_{i} \times y_{j} \in \left[ {min\left( {y_{iL} y_{jL} ,y_{iL} y_{jH} ,y_{iH} y_{jL} ,y_{iH} y_{jH} } \right),max\left( {y_{iL} y_{jL} ,y_{iL} y_{jH} ,y_{iH} y_{jL} ,y_{iH} y_{jH} } \right)} \right] .$$
(20)
$$\left| {y_{i} } \right| \in \left[ {min\left( {\left| {y_{iL} } \right|,\left| {y_{iH} } \right|} \right),max\left( {\left| {y_{iL} } \right|,\left| {y_{iH} } \right|} \right)} \right] .$$
(21)
$$\frac{1}{{y_{i} }} \in \left[ {\frac{1}{{y_{iH} }},\frac{1}{{y_{iL} }}} \right].$$
(22)
$$L\left( {y_{i} } \right) = y_{iL} ,$$
(23)
$$U\left( {y_{i} } \right) = y_{iH} ,$$
(24)

1.2 Appendix 2: Inefficiency of classical simplification criteria

Let us consider the transfer function of Eq. (1). If the same error ɛ M is exactly occurred for all polynomials in the numerator and denominator of the transfer function, the simplified expression would become:

$$H^{new} (s,{\mathbf{x}}) = \frac{{\left( {1 - \varepsilon_{M} } \right)f_{0} ({\mathbf{x}}) + \left( {1 - \varepsilon_{M} } \right)sf_{1} ({\mathbf{x}}) + \left( {1 - \varepsilon_{M} } \right)s^{2} f_{2} ({\mathbf{x}}) + \cdots + \left( {1 - \varepsilon_{M} } \right)s^{A} f_{A} ({\mathbf{x}})}}{{\left( {1 - \varepsilon_{M} } \right)g_{0} ({\mathbf{x}}) + \left( {1 - \varepsilon_{M} } \right)sg_{1} ({\mathbf{x}}) + \left( {1 - \varepsilon_{M} } \right)s^{2} g_{2} ({\mathbf{x}}) + \cdots + \left( {1 - \varepsilon_{M} } \right)s^{B} g_{B} ({\mathbf{x}})}}{\kern 1pt} .$$
(25)

It is obviously that there is no change in magnitude or phase and neither zero nor pole displacement. However, since simplification is a discrete process, the actual errors are different for the different coefficients:

$$H^{new} (s,{\mathbf{x}}) = \frac{{\left( {1 - \varepsilon_{0N} } \right)f_{0} ({\mathbf{x}}) + \left( {1 - \varepsilon_{1N} } \right)sf_{1} ({\mathbf{x}}) + \left( {1 - \varepsilon_{2N} } \right)s^{2} f_{2} ({\mathbf{x}}) + \cdots + \left( {1 - \varepsilon_{AN} } \right)s^{A} f_{A} ({\mathbf{x}})}}{{\left( {1 - \varepsilon_{0M} } \right)g_{0} ({\mathbf{x}}) + \left( {1 - \varepsilon_{1M} } \right)sg_{1} ({\mathbf{x}}) + \left( {1 - \varepsilon_{2M} } \right)s^{2} g_{2} ({\mathbf{x}}) + \cdots + \left( {1 - \varepsilon_{BM} } \right)s^{B} g_{B} ({\mathbf{x}})}}.$$
(26)

It may lead to significant pole/zero displacements where the roots are very sensitive to coefficient variations. To have a better understanding, we mathematically demonstrate this drawback in the following. The magnitude and phase of the transfer function in the frequency s =  0 for a given nominal point \({\mathbf{x}}_{0}\) can be calculated as

$$\left| {H\left( {s = j\omega_{0} } \right)} \right| = \frac{{\sqrt {A^{2} + B^{2} } }}{{\sqrt {C^{2} + D^{2} } }} ,$$
(27)
$$\angle H\left( {s = j\omega_{0} } \right) = tan^{ - 1} \left( {\frac{B}{A}} \right) - tan^{ - 1} \left( {\frac{D}{C}} \right) ,$$
(28)

where

$$A = f_{0} - f_{2} \omega_{0}^{2} + \cdots \pm f_{{\left( {2\left[ {\frac{M}{2}} \right]} \right)}} \omega_{0}^{{\left( {2\left[ {\frac{M}{2}} \right]} \right)}} ,$$
(29)
$$B = f_{1} \omega_{0} - f_{3} \omega_{0}^{3} + \cdots \pm f_{{\left( {2\left[ {\frac{M - 1}{2}} \right] + 1} \right)}} \omega_{0}^{{\left( {2\left[ {\frac{M - 1}{2}} \right] + 1} \right)}} ,$$
(30)
$$C = g_{0} - g_{2} \omega_{0}^{2} + \cdots \pm g_{{\left( {2\left[ {\frac{N}{2}} \right]} \right)}} \omega_{0}^{{\left( {2\left[ {\frac{N}{2}} \right]} \right)}} ,$$
(31)
$$D = g_{1} \omega_{0} - g_{3} \omega_{0}^{3} + \cdots \pm g_{{\left( {2\left[ {\frac{N - 1}{2}} \right] + 1} \right)}} \omega_{0}^{{\left( {2\left[ {\frac{N - 1}{2}} \right] + 1} \right)}} .$$
(32)

As mentioned above, the maximum-allowable error generated in the each simplified polynomial (via one of the four classical criteria) can be approximated by ɛ. Therefore, it is assumed that: \(\left| {\Delta f_{i} } \right| \le \varepsilon \times \left| {f_{i} } \right|\) and \(\left| {\Delta g_{j} } \right| \le \varepsilon \times \left| {g_{j} } \right|\), in which, \(\Delta f_{i}\) or \(\Delta g_{j}\) represents the change in the value of f i or g j , due to the simplification of f i or g j , respectively. Therefore, the extreme values for the simplified polynomials can be formulated as: f new i  = f i (1 ± ɛ) and g new j  = g j (1 ± ɛ). Similar to the exact transfer function (see Eq. 1), the simplified transfer function in expanded format can be shown as follows:

$$H^{new} (s,{\mathbf{x}}) = \frac{{f_{0}^{new} ({\mathbf{x}}) + sf_{1}^{new} ({\mathbf{x}}) + s^{2} f_{2}^{new} ({\mathbf{x}}) + \cdots + s^{M} f_{M}^{new} ({\mathbf{x}})}}{{g_{0}^{new} ({\mathbf{x}}) + sg_{1}^{new} ({\mathbf{x}}) + s^{2} g_{2}^{new} ({\mathbf{x}}) + \cdots + s^{N} g_{N}^{new} ({\mathbf{x}})}}.$$
(33)

Therefore, magnitude and phase of the simplified transfer function for the specific frequency s =  0 in the nominal point \({\mathbf{x}}_{0}\) can be calculated as follows:

$$\left| {H^{new} (s = j\omega_{0} )} \right| = \frac{{\sqrt {A^{new2} + B^{new2} } }}{{\sqrt {C^{new2} + D^{new2} } }} ,$$
(34)
$$\angle H^{new} (s = j\omega_{0} ) = tan^{ - 1} \left( {\frac{{B^{new} }}{{A^{new} }}} \right) - tan^{ - 1} \left( {\frac{{D^{new} }}{{C^{new} }}} \right) .$$
(35)

A new can be formulated and simplified according to Eq. (36), where \(A_{new} = A \pm\Delta A\).

$$A_{new} = f_{0}^{new} - f_{2}^{new} \omega_{0}^{2} + \cdots \pm f_{{\left( {2\left[ {\frac{M}{2}} \right]} \right)}}^{new} \omega_{0}^{{\left( {2\left[ {\frac{M}{2}} \right]} \right)}} = A + \varepsilon \times \left( { \pm f_{0} \pm f_{2} \omega_{0}^{2} \pm \cdots \pm f_{{\left( {2\left[ {\frac{M}{2}} \right]} \right)}} \omega_{0}^{{\left( {2\left[ {\frac{M}{2}} \right]} \right)}} } \right).$$
(36)

Therefore, the extreme values for \(\Delta A\) can be formulated as follows:

$$\Delta A_{max} = \varepsilon \times \left( {\left| {f_{0} } \right| + \left| {f_{2} \omega_{0}^{2} } \right| + \cdots + \left| {f_{{\left( {2\left[ {\frac{M}{2}} \right]} \right)}} \omega_{0}^{{\left( {2\left[ {\frac{M}{2}} \right]} \right)}} } \right|} \right),$$
(37)

where \(\Delta A\) is the maximum allowable difference between A and A new , in the worst case. By similar formulations for B new , C new and D new , the extreme values for \(\Delta B\), \(\Delta C\) and \(\Delta D\) can be written as follows:

$$\Delta B_{max} = \varepsilon \times \left( {\left| {f_{1} \omega_{0} } \right| + \left| {f_{3} \omega_{0}^{3} } \right| + \cdots + \left| {f_{{\left( {2\left[ {\frac{M - 1}{2}} \right] + 1} \right)}} \omega_{0}^{{\left( {2\left[ {\frac{M - 1}{2}} \right] + 1} \right)}} } \right|} \right),$$
(38)
$$\Delta C_{max} = \varepsilon \times \left( {\left| {g_{0} } \right| + \left| {g_{2} \omega_{0}^{2} } \right| + \cdots + \left| {g_{{\left( {2\left[ {\frac{M}{2}} \right]} \right)}} \omega_{0}^{{\left( {2\left[ {\frac{M}{2}} \right]} \right)}} } \right|} \right),$$
(39)
$$\Delta D_{max} = \varepsilon \times \left( {\left| {g_{1} \omega_{0} } \right| + \left| {g_{3} \omega_{0}^{3} } \right| + \cdots + \left| {g_{{\left( {2\left[ {\frac{M - 1}{2}} \right] + 1} \right)}} \omega_{0}^{{\left( {2\left[ {\frac{M - 1}{2}} \right] + 1} \right)}} } \right|} \right) .$$
(40)

Finally, the extreme values for the magnitude of \(H^{new} \left( {s = j\omega_{0} } \right)\) can be calculated as follows:

$$\left| {H^{new} (s = j\omega_{0} )} \right|_{min} = \frac{{\sqrt {min(A_{new}^{2} ) + min(B_{new}^{2} )} }}{{\sqrt {max(C_{new}^{2} ) + max(D_{new}^{2} )} }},$$
(41)
$$\left| {H^{new} (s = j\omega_{0} )} \right|_{max} = \frac{{\sqrt {max(A_{new}^{2} ) + max(B_{new}^{2} )} }}{{\sqrt {min(C_{new}^{2} ) + min(D_{new}^{2} )} }} .$$
(42)

And the extreme values for the phase of \(H^{new} \left( {s = j\omega_{0} } \right)\) can be written as follows:

$$\angle \left. {H^{new} (\omega_{0} )} \right|_{min} = min\left( {tan^{ - 1} ({{B_{new} } \mathord{\left/ {\vphantom {{B_{new} } {A_{new} }}} \right. \kern-0pt} {A_{new} }})} \right) - max\left( {tan^{ - 1} ({{D_{new} } \mathord{\left/ {\vphantom {{D_{new} } {C_{new} }}} \right. \kern-0pt} {C_{new} }})} \right),$$
(43)
$$\angle \left. {H^{new} (\omega_{0} )} \right|_{max} = max\left( {tan^{ - 1} ({{B_{new} } \mathord{\left/ {\vphantom {{B_{new} } {A_{new} }}} \right. \kern-0pt} {A_{new} }})} \right) - min\left( {tan^{ - 1} ({{D_{new} } \mathord{\left/ {\vphantom {{D_{new} } {C_{new} }}} \right. \kern-0pt} {C_{new} }})} \right) .$$
(44)

Here, we demonstrate the drawback of the classical criteria through a simple numerical example. An optional exact transfer function for a given nominal point \({\mathbf{x}}_{0}\) in an optional frequency ω 0 is assumed as follows:

$$H(s = j\omega_{0} ,{\mathbf{x}} = {\mathbf{x}}_{0} ) = \frac{{(5 \times 10^{7} ) + j(1000) + j^{2} (5 \times 10^{7} )}}{{(50) + j(10^{5} ) + j^{2} ( - 50) + j^{3} (10^{5} )}} .$$
(45)

As well as the assumption of ɛ = 0.01, it can be calculated that A new = (5 × 107–5 × 107) ± 106 = 0 ± 106, B new = 1000 ± 10, C new = (50 + 50) ± 1=100 ± 1 and D new = (105–105) ± 2000 = 0±2000. Therefore, the magnitude and phase of the exact transfer function for the nominal point \({\mathbf{x}}_{0}\) in the frequency s =  0 are derived as 20 decibel and 90 degree, respectively. However, the magnitude of the simplified transfer function can be varied from −6 decibel to 80 decibel. Furthermore, the phase of the simplified transfer function can vary from −87 degree to 267 degree. Hence, the maximum magnitude error and the maximum phase error in \(s = j\omega_{0}\) can be 60 decibel and 177 degree, respectively, for the worst case.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Shokouhifar, M., Jalali, A. Variation range based simplification for meaningful symbolic analysis of analog integrated circuits. Analog Integr Circ Sig Process 90, 447–461 (2017). https://doi.org/10.1007/s10470-016-0864-4

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10470-016-0864-4

Keywords

Navigation