Table of Contents Author Guidelines Submit a Manuscript
Journal of Electrical and Computer Engineering
Volume 2017 (2017), Article ID 8245181, 12 pages
Research Article

Modified Tang and Pun’s Current Comparator and Its Application to Full Flash and Two-Step Flash Current Mode ADCs

1Department of ECE, Indira Gandhi Delhi Technical University for Women, Delhi, India
2Department of ECE, Delhi Technological University, Delhi, India

Correspondence should be addressed to Veepsa Bhatia

Received 31 July 2016; Accepted 1 December 2016; Published 11 January 2017

Academic Editor: Muhammad Taher Abuelma’atti

Copyright © 2017 Veepsa Bhatia and Neeta Pandey. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.


A modification to an existing current comparator proposed by Tang and Pun has been presented. The circuit introduces a flipped voltage follower (FVF) which replaces the source follower input stage of the existing current comparator of Tang and Pun. This modification culminates into higher speed especially at lower currents and lower power dissipation. The application of the proposed current comparator has also been put forth by implementing a 3-bit current mode (CM) ADC and a two-step 3-bit CM ADC. The theoretical propositions are verified through spice simulation using 0.18 μm TSMC CMOS technology at a power supply of 1.8 V. Propagation delay, power dissipation, and power delay product (PDP) have been calculated for the proposed current comparator and process parameter variation has been studied. For both the implementations of ADCs, performance parameters, namely, DNL, INL, missing codes, monotonicity, offset, and gain errors, have been evaluated.

1. Introduction

Current comparator circuit finds application in a wide variety of applications like nonlinear current mode signal processing and analog to digital converters (ADCs). Besides, low level, high speed current detection is also required in different light and radiation sensing applications, or controllability and reconfigurability issues in E-beam testing of integrated circuits. Further, subthreshold CMOS current mode computation architectures also require efficient detection of low current levels. Another lucrative option is requirement of current detection in IDDQ VLSI testing approaches [17]. Hence, a considerable amount of effort has been expended by the circuit designers and researchers into the area of design of efficient current comparators.

The basic functionality of a current comparator is to determine which of the two currents ( or ) is greater and to present that decision as one of two voltage levels, established by the output’s () limiting values. The output value is typically interpreted as logic “1” and “0” for further processing [8]. One of the two currents is generally a constant current called the reference current () against which the input current is compared (). This is shown by the following relation:

Numerous structures for current comparators have been put forth in the literature, of which the one proposed by Traff [9] (Figure 1(a)) can be considered a pioneering structure which adheres to all the characteristics desirable of a current comparator, namely, low input impedance, low-power dissipation, and moderate speed of operation.

Figure 1: (a) Traff’s [9] current comparator; (b) Tang and Pun’s [10] current comparator.

It comprises a source follower input stage and a CMOS inverter. CMOS inverter provides positive feedback which helps achieve sufficient gain for amplifying small voltage variations at the input stage. This structure, however, suffers from a problem of a deadband region where in the input voltage to the inverter does not slew from rail to rail, making neither of the transistors in the source follower stage totally shutoff leading to nonzero DC power dissipation. To overcome this problem, a variety of modifications to the structure of Traff [9] have been presented in [1017]. Of these, the one proposed by Tang and Pun [10] is the most significant one in terms of giving the fastest response at low input currents and resolution. Tang and Pun [10] modify the gain stage of Traff [9] by adding two more inverters (A2) and (A3) to its feedback path apart from already existing inverter (A1) and source follower input stage Mnf and Mpf. A2 and A3 together act as a noninverting amplifier, in order to improve speed for low input currents. Circuit is depicted in Figure 1(b).

For a low input current, a small voltage change appears at the input node and node 1. However, amplification by A2 and A3 leads to significant change in the voltage at node 2, thus turning on input transistor Mnf or Mpf and activating the feedback loop. Hence the response time is considerably shortened.

In this paper, a modification to the circuit proposed by Tang and Pun [10] has been put forth. The input stage source follower has been replaced with a flipped voltage follower (FVF) cell. The authors have put forth a similar modification to Traff [9] in [18] and have obtained improved speed and power dissipation over the former. The similar approach has been adopted herein to modify Tang and Pun’s [10] to develop a new current comparator structure. The proposed current comparator so developed has further been used to implement a 3-bit full flash and a two-step CM flash ADC.

2. The FVF Cell

The concept of FVF was put forth in [19]. The FVF, shown in Figure 2(a), is essentially a voltage follower with shunt feedback. It is low-power, low-voltage circuit having low impedance compared to basic source follower and current/voltage biasing. It employs two transistors M1 and M2. The shunt feedback ensures that transistor M2 remains always in on state independent of the power supply given to the circuit. Further, due to current biasing the current through transistor M1 is held constant and it also remains on [19, 20]. Thus change in output current does not affect the input current and (which is a function of input current) remains almost constant across M1. This results in almost unity voltage gain or in other words output voltage follows input voltage. Further, since FVF can operate on very low supply voltage, it is a suitable structure of choice for design of low-power current comparator design.

Figure 2: (a) An FVF cell; (b) FVF current sensor [19].

The FVF can also be used as a current sensing cell, shown in Figure 2(b). Its operation can be explained as follows: When an input current is applied at node 1 with all transistors properly biased to work in the saturation region, then due to the shunt feedback provided by transistor M2, the impedance at the input node becomes very low and so the amount of current flowing into this node does not modify the value of the voltage developed at this node. Thus, the input node is capable of sourcing large current variations at the input and the FVF and then translates them into compressed voltage variations at output node 2.

3. Proposed Current Comparator

As mentioned before, Tang and Pun’s [10] circuit is a high speed circuit capable of giving good response at lower currents. However, it cannot be considered a complete current comparator as it does not calculate the difference between the two currents (input and reference) but takes a precalculated current difference () at its input. Hence, the performance parameters as quantified by Tang and Pun [10] are somewhat deficient and are set to alter when a current differencing unit is appended on the input side. Thus, in this paper a modification of Tang and Pun [10] has been put forth. This structure introduces twofold modification to Tang and Pun [10] by introducing the current differencing unit at the input side and the input source follower stage has been replaced with the FVF source follower stage to benefit from its advantages discussed in the previous section. Similar modification to Traff’s [9] circuit has been proposed by the authors in [20]. Figure 3 shows the circuit diagram of the implementation.

Figure 3: Proposed current comparator.

This implementation is a complete current comparator with the current differencing stage (Mc1–Mc12), gain stage (M1–M8), and the output stage (Mg1-Mg2). The current differencing unit accepts two currents and and outputs current . The gain stage is a modification of the gain stage of Tang and Pun [10] wherein transistors (Mpf-Mnf) that form a source follower have been replaced by an FVF based source follower. The FVF source follower comprises transistors M1 and M2 and biasing current source () which keeps M2 on and a biasing voltage source ().

This is followed by a CMOS inverter (Mpf-Mnf) connected to the FVF current sensor in the feedback loop with two passive elements, a resistor and a capacitor placed in series in this feedback loop. These together form the gain stage of the proposed current comparator. Finally, the output stage is formed by a CMOS inverter Mg1-Mg2 that is connected to provide rail to rail swing at the output.

When and are applied to the current differencing unit, it generates a current difference . This current applied to node Y of the gain stage is translated into corresponding voltage variations at node Z. When is negative, the voltage developed at node Y is small which leads to a high voltage at node Z due to the inverting action of the CMOS inverter M7-M8. Consequently, the output of the output stage, Mg1-Mg2, goes low and hence the overall output of the current comparator from the output stage, with rail to rail swing, is a low.

When a low is applied, it introduces a slowly rising voltage at node Y. This causes the output of the inverter M7-M8 to change slowly in response. Simultaneously, the current applied to node Y is translated into corresponding voltage variations at node “X”. These small voltage variations at “X” are amplified by noninverting amplifier formed by M3-M4 and M5-M6, causing a change in the voltage at node Z which further activates the feedback loop, leading to faster switching. These inverters in the feedback path also serve to stabilize the voltage fluctuations at the output node .

3.1. Simulation Results of the Proposed Current Comparator

The theoretical proposition is verified through SPICE simulations using 0.18 μm TSMC CMOS technology parameters and a supply voltage of 1.8 V. of 3 μA with of 1 μA to obtain equal to 2 μA is used for all simulations. The functionality of current comparator is shown in Figure 4 along with that of Tang and Pun [10] under similar simulation conditions. The output voltage swing of 1.8 V is obtained with a propagation delay of 2.1 ns.

Figure 4: Output for proposed comparator for input current difference of 2 μA.

The variations of performance parameters, namely, delay, power dissipation, and power delay product (PDP) with input current difference, have been evaluated and depicted via plots below. Figure 6 depicts various plots for performance parameters versus input current difference, specifically variation of input current difference with respect to delay in Figure 5(a), power dissipation in Figure 5(b), and power delay product (PDP) in Figure 5(c). It is observed that the propagation delay reduces with increasing current difference due to faster charging/discharging of the node capacitance while the power dissipation increases with current. PDP follows a reducing pattern with increasing current. As can be clearly observed, the proposed comparator outperforms Tang and Pun’s [10] current comparator by being faster and power efficient thus offering a better PDP than the latter.

Figure 5: Variation of (a) delay, (b) power dissipation, and (c) power delay product versus current difference.
Figure 6: Effect of process corner variation on (a) delay and (b) power dissipation.

Process corner analysis was also carried out on the proposed comparator to study its behavior under extreme cases of process mismatch between PMOS and NMOS during manufacturing. The impact of parameter variations on the performance of the proposed comparator at different design corners is also studied and the corresponding results for delay and power dissipation are depicted in Figures 6(a) and 6(b), respectively. In this analysis, three corners exist, namely, typical, fast, and slow. Slow and fast corners exhibit carrier mobilities that are higher and lower than normal, respectively. Specifically, the corner FS represents fast NMOS and slow PMOS.

For the proposed current comparator, it is observed that the propagation delay is lower at the process corner FF while the power dissipation is higher than at process corner TT. Similarly, for process corner SS, a higher propagation delay is observed while the power dissipation is lower than at process corner TT.

4. Current Mode Flash ADC

As an application of the proposed comparator, a 3-bit current mode (CM) flash ADC is implemented, as represented in Figure 7, wherein and represent input current and the reference currents of the th comparator [21].

Figure 7: A 3-bit CM flash ADC.

The value of is determined by the input current range and the number of bits () in ADC output

The number of current comparators to be employed for 3-bit conversion is given by . These current comparators receive progressively increasing reference currents () as per (2), and the input current () is mirrored to all the current comparators. Each comparator compares to its respective reference current . Hence all comparators perform the comparison in a single step in parallel, so this structure is also called a parallel ADC or a single step ADC. The output of the comparators represents a thermometer code which is then converted into the corresponding binary code by a encoder block. The comparator outputs are (MSB) and to and (LSB). The encoder outputs are (MSB) and and (LSB), respectively.

A CMOS encoder, shown in Figure 8, has been designed for thermometer to binary conversion which remains the same for all these CM flash ADCs.

Figure 8: CMOS encoder.

The relation between comparator and encoder output is given by [21] where represents the complement of . The CMOS encoder circuit implemented is as shown in Figure 8.

4.1. Simulation Results of the CM Flash ADC

The functionality of the CM flash ADC has been demonstrated by simulations on PSPICE. The ADC response is shown in Figure 9 for ramp input, to evaluate the performance of the comparator in ADC application.

Figure 9: CM flash ADC output for ramp input.

The ADC transfer characteristics are shown in Figure 10(a) plotted alongside the characteristics of an ideal ADC. The differential nonlinearity (DNL) is computed to be −0.15 LSB and is plotted as in Figure 10(b). It is clear that CM flash ADC I does not suffer from any missing codes and gives a monotonic response.

Figure 10: (a) CM flash ADC transfer characteristics and (b) DNL versus output code.

The CM ADC characteristics are redrawn in Figure 11(a) with a best fit line plotted alongside actual and ideal characteristics in order to compute integral nonlinearity (INL). The dotted line indicates the switching point where code transitions should actually take place. The INL is calculated from Figure 11(a) and a maximum INL of −0.25 LSB is obtained, as plotted in Figure 11(b).

Figure 11: (a) CM flash ADC transfer characteristic with best fit line, (b) INL versus output code, and (c) ideal and actual best fit line.

In order to compute the gain and offset error of this ADC, the best fit line for ideal and actual ADC transfer characteristics is plotted. The error at the first transition is evaluated to obtain the offset error, which in the current case is −0.1 LSB indicating that the first output transition code is obtained earlier than that expected ideally. The gain error is given by the difference in slope of actual best fit line and the ideal best fit line, which is also found to be 0.1 LSB for this implementation. Figure 11(c) depicts both these errors.

5. Two-Step Flash ADC

Another application of the proposed current comparator, a two-step flash ADC, is presented herein. Flash ADCs are usually the architectures of choice whenever there is a need for a fast conversion. This is so because the conversion is performed in one step; hence they can achieve very fast conversion rates. However, they suffer from a drawback that the number of comparators to be employed increases exponentially with the increasing number of bits at the output. Since, for -bit conversion, comparators are necessary, hence the value of increases, so does the number of comparators, thus making flash ADC a hardware extensive structure. To overcome some of these limitations of flash architecture and to take advantage of its high speed, two-step (semi-flash) architecture is often employed. Although popular in voltage mode, only a few applications of the same have been reported in CM [2224].

The two-step method employs a coarse quantization in first step and a fine quantization in second step to obtain the desired resolution without extensively increased hardware. However, the speed is compromised as the output appears in two steps instead of parallel.

A 3-bit two-step CM flash ADC architecture is presented herein that produces the higher order 2 bits through coarse quantization and 1 bit (LSB) through fine quantization. The schema is illustrated in Figure 12.

Figure 12: Two-step 3-bit CM flash ADC architecture.

A two-step 3-bit CM ADC comprises 4 current comparators, a encoder, a 2-bit DAC, and a current differencing unit. This scheme gives the obvious advantages in terms of the reduced hardware. For a CM flash ADC, the number of comparators required is 7 which is reduced to 4 in this schema. The encoder size is also down to as against in the CM flash architecture. Even though a DAC and a subtractor have been included, yet the overall reduction in the total chip area outweighs the addition of these components.

The conversion takes place in two stages, with most significant bits, B2 and B1, being generated in the first stage while the LSB, B0, is generated in the second stage depending on the output values obtained from the first stage.

In the first stage, it is required to obtain 2 bits at the output; hence, as in a CM flash ADC, 3 () current comparators are required. These current comparators compare the input current to a progressively increasing reference current , where the value of is determined as follows. A step size is calculated as where (, ) is the input current range.

Based on the value of Step, is calculated asThe comparison of against the respective by the three current comparators results in a 3-bit thermometer code. This code is then converted into corresponding binary code with the help of a encoder which finally produces the two higher order bits and . The relation between comparator and encoder output is given bywhere represents the complement of . The CMOS encoder circuit implemented is as shown in Figure 13.

Figure 13: CMOS encoder.

In the second stage, the outputs from first stage and are converted into an analog signal given by through a DAC. The value of depends upon the combination of as per Table 1.

Table 1: DAC outputs.

A 1-bit DAC as employed for the purpose is shown in Figure 14(a) and its exemplary output is depicted in Figure 14(b). For 2 bits, two such structures are employed.

Figure 14: (a) 1-bit DAC and (b) output response.

The DAC output is then subtracted from through a current differencing circuit identical to that used in the design of the proposed current comparator. The output of this current differencing circuit serves as the input current for the current comparator of second stage or 1-bit fine flash ADC. The 1-bit flash ADC for generating the LSB is simply a current comparator that compares the value of with given by

The result of this comparison produces the LSB, hence completing the 3-bit conversion process. The second stage does not require an encoder in the present scenario as the output obtained is a single bit, that is, either a “0” or a “1.” Had the number of bits required from the second stage been more, an encoder would also have been required. Hence, the schema gets modified based on the required resolution of the ADC.

5.1. Simulation Results of the CM Flash ADC

The results are verified through simulations using PSPICE. For the purpose of simulations, the input current range has been taken to be 0–3.5 μA. Hence, the various values as calculated using the relations described in (5) and (7) are as given in Table 2.

Table 2: Step and values for = 2.5 µA.

The values of as obtained are 1 μA, 2 μA, and 3 μA for “01,” “10,” and “11,” respectively.

A step input current value = 2.5 μA is applied to these ADCs. For this input, = “011” and the encoder output = “10.” Also, as per Table 1, the value of is 2 μA. This value of is then subtracted from (2.5 μA) to obtain (= 0.5 μA). Finally, is compared to by 4th current comparator and an output “1” is obtained as (LSB). Hence for μA the ADC output obtained is “101.” The circuit response to the input current, μA, is recorded in Figure 15.

Figure 15: Output of a two-step CM flash ADC based on proposed comparator.

The DNL and INL for this implementation of two-step CM flash ADC is found to be higher than its full flash counterpart. This is due to the residual inaccuracy that arises when output of one stage is cascaded to the next. The inaccuracy from first stage gets propagated to the next stage, leading to larger inaccuracy, thereby affecting the DNL and INL of the overall architecture [25].

In this case the DNL is found to be −0.3 LSB while INL of −0.5 LSB is obtained. Figures 16(a) and 16(b) illustrate the transfer characteristics of the two-step CM flash ADC and DNL versus output code curve of the same, respectively.

Figure 16: (a) Transfer characteristics of two-step flash ADC using proposed comparator and (b) DNL versus output code.

The INL calculation with respect to the best fit line has been depicted in Figure 17(a) while Figure 17(b) shows the variation of INL with respect to the output code.

Figure 17: (a) Transfer characteristics with best fit line for two-step flash ADC using proposed comparator and (b) INL versus output code.

Figure 17(c) depicts the best fit lines for ideal and actual transfer characteristics of this ADC to evaluate the offset and gain errors. An offset error of 0 LSB is observed at the first output code transition indicating that the first code appears at the same instance as ideally expected. The gain error is given by the difference in slope of actual best fit line and the ideal best fit line at the last transition, which is found to be 0.1 LSB for this ADC.

6. Conclusion

A high speed, power efficient modification of Tang and Pun’s current comparator employing FVF based input stage has been proposed. Performance of the proposed current comparator is compared to that of Tang and Pun’s and the former outperforms the latter in terms of propagation delay, power dissipation, and PDP. The proposed current comparator has been employed to implement a 3-bit CM flash ADC and a two-step 3-bit flash ADC. The ADC performance parameters for both the implementations have been evaluated and are found to be satisfactory.

Competing Interests

The authors declare that they have no competing interests.


  1. S. Vlassis and S. Siskos, “High speed and high resolution WTA circuit,” in Proceedings of the IEEE International Symposium on Circuits and Systems (ISCAS '99), pp. 224–227, June 1999. View at Publisher · View at Google Scholar · View at Scopus
  2. A. Demosthenous and J. Taylor, “2.8 V asynchronous high-speed current comparator for sequence detection applications,” Electronics Letters, vol. 34, no. 18, pp. 1714–1715, 1998. View at Publisher · View at Google Scholar · View at Scopus
  3. M. Baru, O. de Oliveira, and F. Silveira, “2 V rail-to-rail micropower CMOS comparator,” Journal of Solid-State Devices and Circuits, vol. 5, no. 1, pp. 9–13, 1997. View at Google Scholar · View at Scopus
  4. D. I. Banks, P. Degenaar, and C. Toumazou, “A colour and intensity contrast segmentation algorithm for current mode pixel distributed edge detection,” in Proceedings of the 19th European Conference on Solid-State Transducers (Eurosensors '05), Barcelona, Spain, September 2005.
  5. D. J. Banks, P. Degenaar, and C. Toumazou, “Distributed current-mode image processing filters,” Electronics Letters, vol. 41, no. 22, pp. 1201–1202, 2005. View at Publisher · View at Google Scholar · View at Scopus
  6. J. Rius and J. Figueras, “Proportional BIC sensor for current testing,” Journal of Electronic Testing, vol. 3, no. 4, pp. 387–396, 1992. View at Publisher · View at Google Scholar · View at Scopus
  7. B. Razavi, Analog Integrated Circuit, Tata McGraw Hill, 2000.
  8. A. Rodríguez-Vázquez, R. Domínguez-Castro, F. Medeiro, and M. Delgado-Restituto, “High resolution CMOS current comparators: design and applications to current-mode function generation,” Analog Integrated Circuits and Signal Processing, vol. 7, no. 2, pp. 149–165, 1995. View at Publisher · View at Google Scholar · View at Scopus
  9. H. Traff, “Novel approach to high speed CMOS current comparators,” Electronics Letters, vol. 28, no. 3, pp. 310–312, 1992. View at Publisher · View at Google Scholar · View at Scopus
  10. X. Tang and K.-P. Pun, “High-performance CMOS current comparator,” Electronics Letters, vol. 45, no. 20, pp. 1007–1009, 2009. View at Publisher · View at Google Scholar · View at Scopus
  11. A. T. K. Tang and C. Toumazou, “High performance CMOS current comparator,” Electronics Letters, vol. 30, no. 1, pp. 5–6, 1994. View at Publisher · View at Google Scholar · View at Scopus
  12. L. Ravezzi, D. Stoppa, and G.-F. Dalla Betta, “Simple high-speed CMOS current comparator,” Electronics Letters, vol. 33, no. 22, pp. 1829–1830, 1997. View at Publisher · View at Google Scholar · View at Scopus
  13. B.-M. Min and S.-W. Kim, “High performance CMOS current comparator using resistive feedback network,” Electronics Letters, vol. 34, no. 22, pp. 2074–2076, 1998. View at Publisher · View at Google Scholar · View at Scopus
  14. L. Chen, B. Shi, and C. Lu, “Circuit design of a high speed and low power CMOS continuous-time current comparator,” Analog Integrated Circuits and Signal Processing, vol. 28, no. 3, pp. 293–297, 2001. View at Publisher · View at Google Scholar · View at Scopus
  15. D. Banks and C. Toumazou, “Low-power high-speed current comparator design,” Electronics Letters, vol. 44, no. 3, pp. 171–172, 2008. View at Publisher · View at Google Scholar · View at Scopus
  16. R. Chavoshisani and O. Hashemipour, “A high-speed current conveyor based current comparator,” Microelectronics Journal, vol. 42, no. 1, pp. 28–32, 2011. View at Publisher · View at Google Scholar · View at Scopus
  17. R. Chavoshisani and O. Hashemipour, “Differential current conveyor based current comparator,” AEU—International Journal of Electronics and Communications, vol. 65, no. 11, pp. 949–953, 2011. View at Publisher · View at Google Scholar · View at Scopus
  18. P. Iswerya, S. Gupta, M. Goel, V. Bhatia, N. Pandey, and A. Bhattacharyya, “Delay area efficient low voltage FVF based current comparator,” in Proceedings of the Students Conference on Engineering and Systems (SCES '12), IEEE, Allahabad, India, March 2012. View at Publisher · View at Google Scholar · View at Scopus
  19. J. Ramirez-Angulo, R. G. Carvajal, A. Torralba, J. Galan, A. P. Vega-Leal, and J. Tombs, “The flipped voltage follower: a useful cell for low-voltage low-power circuit design,” in Proceedings of the IEEE International Symposium on Circuits and Systems, vol. 3, pp. 615–618, May 2002. View at Scopus
  20. J. Ramirez-Angulo, R. G. Carvajal, A. Torralba, J. Galan, A. P. Vega-Leal, and J. Tombs, “Low-power low-voltage analog electronic circuits using the flipped voltage follower,” in Proceedings of the in IEEE International Symposium on Industrial Electronics, vol. 4, pp. 1327–1330, L'Aquila, Italy, 2002.
  21. R. Sridhar, N. Pandey, A. Bhattacharyya, and V. Bhatia, “High speed high resolution current comparator and its application to Analog to Digital converter,” Springer's Insititute of Engineers India Series B, vol. 97, no. 2, pp. 147–154, 2016. View at Google Scholar
  22. M. P. Flynn and D. J. Allstot, “CMOS folding A/D converters with current-mode interpolation,” IEEE Journal of Solid-State Circuits, vol. 31, no. 9, pp. 1248–1257, 1996. View at Publisher · View at Google Scholar · View at Scopus
  23. J. P. Carreira and J. E. Franca, “Two-step flash ADC for digital CMOS technology,” in Proceedings of the 2nd International Conference on Advanced A-D and D-A Conversion Techniques and their Applications, pp. 48–51, July 1994. View at Scopus
  24. H. H. Kim and K. S. Yoon, “A 12 bit current-mode folding/interpolation CMOS A/D converter with 2 step architecture,” in Proceedings of the 1st IEEE Asia Pacific Conference on ASICs (AP-ASIC '99), pp. 174–177, Seoul, South Korea, August 1999. View at Publisher · View at Google Scholar
  25. B. S. Song, MicroCMOS Design, CRC Press, Boca Raton, Fla, USA, 2011.