An integrated circuit can be designed to perform arithmetic operations on items of data which may be represented either digitally or in analog, depending on the operating mode of transistors inside the chip. In a digital implementation, a datum is encoded by a collection of logical 0's and 1's which, for all intents and purposes, correspond physically to the ground and power supply voltages, respectively. The physical wire pertaining to a single bit is either connected to the power supply or to ground through transistors which are either in a blocked state (ie, almost an open circuit), or in a saturated state (ie, almost a short circuit). By contrast, transistors in an analog implementation operate in between blocked and saturated states, and an analog datum is represented by a single continuous signal whose voltage is somewhere in between the ground and power supply voltages. Hence, in terms of wires and circuits, an analog implementation is significantly more economical than a digital implementation, since a single wire may encode a range of values.
However, a fundamental limitation of analog processing is accuracy of representation which relies on the consistent behaviour of the circuits. Therefore, analog implementations are best suited to applications that do not require very high accuracy, such as neural networks or other computations which mimic biological processes. Such applications sometimes exploit linear and even nonlinear device characteristics. To quote Eric Vittoz [46], a noted researcher in the area of analog signal processing, ``The possibility to choose the physical variable that represents each signal allows all the features of the transistor to be exploited opportunistically to implement very dense time and amplitude continuous processing cells.''
Compared to an analog approach, a digital approach offers greater flexibility, arbitrarily high accuracy, and more generality, due mainly to the fact that the design itself is technology-independent. Moreover, the availability of advanced `Computer-Aided Design' (CAD) tools allow designers to specify digital functions at a high level, whereas analog design requires sound theoretical and practical knowledge of semi-conductor physics as well as familiarity with a particular technology.
For example, the digital implementation of a 4 4 bits multiplier would require more than 250 transistors. By contrast, an analog multiplier would require only a dozen transistors. It has been noted [47] that the size of a digitally designed synapse circuit (a circuit that is commonly used in neural networks applications and which is simply a multiplier circuit with weighted inputs) was 27,000 , where is the minimum feature transistor width that can be implemented in a given technology. An equivalent analog implementation version yielded a size of 35 , thus illustrating the amount of saving that can be achieved when an analog approach is used. Even though the analog equivalent of the digital version is just a few transistors, it should be mentioned, for the sake of fairness, that the previous example does not cover all issues related to flexibility, dynamic range, circuit complexity, and the number of trials needed to achieve the analog design. An evaluation of analog and digital processing approaches is summarised in Table .
The selection of an analog or a digital approach in designing a 3D device will affect the device area, thermal management requirements, speed of the overall system, dynamic range, etc. These factors will also affect the overall system cost and the time required to develop the device.
In some systems, there is no way to avoid using analog circuitry, especially if these systems have to interface with our world, which is purely analog. A good approach to adopt in designing a signal processor that requires an interface with our world, is to use the analog approach to implement the interface and to provide preprocessed data to a digital stage, which will perform the rest of the processing. It is believed that such an approach would ease the limitations of analog processing and reduce the amount of computation the digital processing stage needs to perform.