The design of analog electronic circuits is considered by many people to be complex. This is mainly because designers have to deal with many relevant performance aspects that can be achieved in many different ways. In other words, there are many degrees of freedom for obtaining the desired performance of an electronic circuit. Theoretical concepts, circuit topologies, electronic devices, their operating conditions and the physical lay-out of a system, together constitute an enormous design space in which it is easy to get lost. For this reason, analog electronics is often regarded as an art rather than a solid discipline.

At first glance, there doesn’t seem to be a straightforward way to design analog circuits and systems: experienced designers, intuitively use all these degrees of freedom to modify and combine known solutions into new ones. However, intuition is knowledge from which the origin has become unclear. It cannot be shared with novices and therefore, it cannot be a basis for the education of designers. The immense amount of knowledge can only be addressed and shared if it is structured, with a clear distinction between theoretical concepts and their physical implementations.

Instead of taking numerous existing solutions to known problems as a starting point, it is far more effective to start a new design with theoretical concepts and study how they can be implemented in such a way that the possibilities of the implementation technology are maximally exploited. Such an approach not only results in clear and reliable designs with predictable performance, but it also provides a basis for sharing and developing knowledge.

The key to the structured design approach, presented in our courses, is to put the design of analog electronics into the perspective of information processing. By doing so, each design starts with the specification of:

- The information sources and observers
- The information processing tasks to be performed
- The desired quality of information processing (number, character and strength of processing errors perceived by an observer.)
- The environment in which the information processing will take place
- The physical, technological, economical and other resources that are at the designer’s disposal (Also known as cost factors: the price in money and other resources one is willing to pay for a solution).

Then, a hierarchically structured design method helps the designer to find adequate solutions for the design problem.

The presented method is based upon the following axioms:

- Any information processing function can be decomposed into basic functions. The number of these basic functions is limited.
- The performance of implementations of these basic functions will never be ideal due to:
- Fundamental physical limitations:
- Power limitation: the available power in physical systems is limited
- Noise limitation: in any physical system noise will be added to the signal
- Speed limitation: the rate of change of physical signals is limited

- Technological limitations: the physical operating mechanism that is used

- Fundamental physical limitations:

These imperfections will result in information processing errors. The perception of the information processing errors by an observer, and/or the total of cost factors (reduction of the cost-performance ratio or improvement of the performance-cost ratio) for a solution, can be reduced through application of so-called error-reduction techniques. The number of these techniques is also limited.

In the course Design of analog electronics 1 the above approach is used for the design of application-specific amplifiers built with operational amplifiers and discrete passive components. Due to this (technological) constraint, the design method can not yet be fully appreciated. However, the presented design method also forms the basis for the course Analog IC design. Together, this set of courses does illustrate the design method to its full extend.

With the knowledge presented in these courses, designers will be able to specify, design and verify the behavior of application-specific amplifiers.

In their daily design practice, designers often need to modify existing designs rather than making new designs from scratch. For example they need to replace a few components that have become obsolete. In those cases the designer must know if, in which way and to what extent the performance of the circuit depends on properties of those components. In fact they have to redo a part of the circuit engineering.

Circuit engineering is an important phase in the structured design of analog electronic circuits. It is the phase in which a circuit concept needs to be detailed to such a level that it that can be manufactured. During the engineering phase, designers need to find real world components, determine their operating conditions and fix these conditions by design. To this end they need to formulate and solve so-called *design equations* for the circuit.

Design equations relate the properties and the operating conditions of the electronic devices to the performance requirements and the cost factors of the circuit. For example, in order to determine a budget for the gain-bandwidth product of an operational amplifier, we must find relations between this gain-bandwidth product and the performance requirements of the circuit that comprises this operational amplifier. In other words we need to find which performance aspects and cost factors of the circuit depend on the gain-bandwidth product of the operational amplifier, and to what extent. This also holds for other properties of the operational amplifier, such as its equivalent input noise sources, its input and output impedance, its current and voltage drive capability, its power consumption, etc.

Setting up design equations for analog circuits is a difficult and cumbersome task. It requires knowledge about properties of available components, about modeling techniques and about all kinds of interactions between the behavior of the circuit and the device properties. It goes hand in hand with symbolic analysis. For a simple circuit this can already become a time-consuming activity and it is often tempting just to try a few devices while running numerical simulations. However, such a trial and horror approach may result in an apparently working solution, but it is not a key to robust design and it does not help with understanding. Unfortunately after struggling with numerous hand-calculations that are very sensitive to mistakes, many designers including myself cannot always resist trial and horror. As a matter of fact, there is always a level at which experiments need to be done for building up knowledge about relations and interactions; this is the essence of physics. However, if underlying physical mechanisms are known, proper modeling and symbolic analysis is the preferred way for finding such relations and interactions.

Performing symbolic calculations by hand is sensitive to errors and in practice only a limited number of circuit performance aspects can be taken into account. One way to deal with the complexity of symbolic analysis is to introduce specific hand calculation methods that yield so-called low-entropy expressions as described by Middlebrook and Vorpérian. Although these techniques certainly reduce the complexity of the hand calculations, they do not lend themselves for (partial) automated formulation and solution of design equations.

Alternatively, generic symbolic math tools such as Mathematica, MATLAB®, Mathcad® and open-source equivalences like symPy, Sage and Maxima CAS can be used to perform symbolic analysis. However, the application of such general purpose symbolic math tools is not embedded in a structured design approach for analog electronic circuits.

Considering the above I have decided to add a symbolic simulator to the toolbox of analog designers, that has a primary focus on defining and solving design equations for linear(ized) circuits.

Since 2009, a simple web application SLiCAP has proven its usefulness for analog circuit designers. The earliest version of SLiCAP converted a SPICE-like netlist into matrices and determined transfer functions symbolically. It also supported accurate pole-zero analysis and could generate root-locus plots with an arbitrary circuit parameter as root-locus variable. It also supported the structured design of negative feedback amplifiers introduced by Nordholt and further developed by, amongst others, Verhoeven .

The current version of SLiCAP is written in MATLAB® which is considered the de facto standard for math analysis, both in industry and at universities. A low-cost home version of MATLAB has currently become available.