MITE Architectures for Reconfigurable Analog Arrays. David Abramson

Similar documents
APPLICATION OF FLOATING-GATE TRANSISTORS IN FIELD PROGRAMMABLE ANALOG ARRAYS

FLOATING GATE BASED LARGE-SCALE FIELD-PROGRAMMABLE ANALOG ARRAYS FOR ANALOG SIGNAL PROCESSING

444 Index. F Fermi potential, 146 FGMOS transistor, 20 23, 57, 83, 84, 98, 205, 208, 213, 215, 216, 241, 242, 251, 280, 311, 318, 332, 354, 407

ONE of the biggest breakthroughs in the field of digital

ANALOG SIGNAL PROCESSING ON A RECONFIGURABLE PLATFORM

POWER-EFFICIENT ANALOG SYSTEMS TO PERFORM SIGNAL-PROCESSING USING FLOATING-GATE MOS DEVICE FOR PORTABLE APPLICATIONS

Low-Voltage Wide Linear Range Tunable Operational Transconductance Amplifier

IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS I: REGULAR PAPERS, VOL. 54, NO. 3, MARCH

Yet, many signal processing systems require both digital and analog circuits. To enable

APPLICATIONS OF FLOATING-GATE BASED PROGRAMMABLE MIXED-SIGNAL RECONFIGURABLE SYSTEMS

ACURRENT reference is an essential circuit on any analog

SYNTHESIS OF TRANSLINEAR ANALOG SIGNAL PROCESSING SYSTEMS

Chapter 5. Operational Amplifiers and Source Followers. 5.1 Operational Amplifier

Short Channel Bandgap Voltage Reference

System on a Chip. Prof. Dr. Michael Kraft

University of Pittsburgh

PHYSICAL STRUCTURE OF CMOS INTEGRATED CIRCUITS. Dr. Mohammed M. Farag

Solid State Devices- Part- II. Module- IV

Lecture #29. Moore s Law

Homework Assignment 07

Chapter 4. CMOS Cascode Amplifiers. 4.1 Introduction. 4.2 CMOS Cascode Amplifiers

UNIVERSITY OF CALIFORNIA AT BERKELEY College of Engineering Department of Electrical Engineering and Computer Sciences.

ES 330 Electronics II Homework # 1 (Fall 2016 SOLUTIONS)

ENEE307 Lab 7 MOS Transistors 2: Small Signal Amplifiers and Digital Circuits

SOLIMAN A. MAHMOUD Department of Electrical Engineering, Faculty of Engineering, Cairo University, Fayoum, Egypt

A low voltage rail-to-rail operational amplifier with constant operation and improved process robustness

EE320L Electronics I. Laboratory. Laboratory Exercise #6. Current-Voltage Characteristics of Electronic Devices. Angsuman Roy

AE103 ELECTRONIC DEVICES & CIRCUITS DEC 2014

An Improved Bandgap Reference (BGR) Circuit with Constant Voltage and Current Outputs

Design and Simulation of Low Voltage Operational Amplifier

Digital Potentiometers Selection Guides Don t Tell the Whole Story

Field-Effect Transistor (FET) is one of the two major transistors; FET derives its name from its working mechanism;

FUNDAMENTALS OF MODERN VLSI DEVICES

IMPLEMENTATION OF THE LOCALLY COMPETITIVE ALGORITHM ON A FIELD PROGRAMMABLE ANALOG ARRAY

3084 IEEE TRANSACTIONS ON NUCLEAR SCIENCE, VOL. 60, NO. 4, AUGUST 2013

Digital Electronics. By: FARHAD FARADJI, Ph.D. Assistant Professor, Electrical and Computer Engineering, K. N. Toosi University of Technology

CHAPTER 3. Instrumentation Amplifier (IA) Background. 3.1 Introduction. 3.2 Instrumentation Amplifier Architecture and Configurations

A Self-Contained Large-Scale FPAA Development Platform

ECEN 474/704 Lab 6: Differential Pairs

FIELD EFFECT TRANSISTOR (FET) 1. JUNCTION FIELD EFFECT TRANSISTOR (JFET)

Laboratory #5 BJT Basics and MOSFET Basics

Design and Layout of Two Stage High Bandwidth Operational Amplifier

Designing a 960 MHz CMOS LNA and Mixer using ADS. EE 5390 RFIC Design Michelle Montoya Alfredo Perez. April 15, 2004

Basic Circuits. Current Mirror, Gain stage, Source Follower, Cascode, Differential Pair,

Design of a High Speed Mixed Signal CMOS Mutliplying Circuit

Due to the absence of internal nodes, inverter-based Gm-C filters [1,2] allow achieving bandwidths beyond what is possible

Scaling Floating-Gate Devices Predicting Behavior for Programmable and Configurable Circuits and Systems

Single Transistor Learning Synapses

FOR applications such as implantable cardiac pacemakers,

Multiple-Input Translinear Element Networks

Power Electronics. P. T. Krein

Advanced Operational Amplifiers

Winner-Take-All Networks with Lateral Excitation

CHAPTER 4 ULTRA WIDE BAND LOW NOISE AMPLIFIER DESIGN

Voltage Biasing Considerations (From the CS atom toward the differential pair atom) Claudio Talarico, Gonzaga University

Next Mask Set Reticle Design

Basic Electronics Prof. Dr. Chitralekha Mahanta Department of Electronics and Communication Engineering Indian Institute of Technology, Guwahati

CONVERTING 1524 SWITCHING POWER SUPPLY DESIGNS TO THE SG1524B

Q1. Explain the construction and principle of operation of N-Channel and P-Channel Junction Field Effect Transistor (JFET).

INTRODUCTION: Basic operating principle of a MOSFET:

UNIT-II LOW POWER VLSI DESIGN APPROACHES

UMAINE ECE Morse Code ROM and Transmitter at ISM Band Frequency

EXPLOITING FLOATING-GATE TRANSISTOR PROPERTIES IN ANALOG AND MIXED-SIGNAL CIRCUIT DESIGN

Homework Assignment 06

Increasing Performance Requirements and Tightening Cost Constraints

HIGHLY LINEAR, WIDE-DYNAMIC-RANGE MULTIPLE-INPUT TRANSLINEAR ELEMENT NETWORKS

MISMATCHES between MOS transistors pose a serious

LOW VOLTAGE / LOW POWER RAIL-TO-RAIL CMOS OPERATIONAL AMPLIFIER FOR PORTABLE ECG

On Chip Active Decoupling Capacitors for Supply Noise Reduction for Power Gating and Dynamic Dual Vdd Circuits in Digital VLSI

Memory Basics. historically defined as memory array with individual bit access refers to memory with both Read and Write capabilities

EECS3611 Analog Integrated Circuit Design. Lecture 3. Current Source and Current Mirror

ON CHIP ERROR COMPENSATION, LIGHT ADAPTATION, AND IMAGE ENHANCEMENT WITH A CMOS TRANSFORM IMAGE SENSOR

MOS TRANSISTOR THEORY

Programmable analog compandor

MTLE-6120: Advanced Electronic Properties of Materials. Semiconductor transistors for logic and memory. Reading: Kasap

High Fill-Factor Imagers for Neuromorphic Processing Enabled by Floating-Gate Circuits

Davinci. Semiconductor Device Simulaion in 3D SYSTEMS PRODUCTS LOGICAL PRODUCTS PHYSICAL IMPLEMENTATION SIMULATION AND ANALYSIS LIBRARIES TCAD

High Voltage Operational Amplifiers in SOI Technology

Chapter 8. Field Effect Transistor

An Analog Phase-Locked Loop

A SIGNAL DRIVEN LARGE MOS-CAPACITOR CIRCUIT SIMULATOR

Design of Analog CMOS Integrated Circuits

IN the design of the fine comparator for a CMOS two-step flash A/D converter, the main design issues are offset cancelation

Depletion-mode operation ( 공핍형 ): Using an input gate voltage to effectively decrease the channel size of an FET

Ternary logic to binary bit conversion using multiple input floating gate MOSFETS in 0.5 micron n-well CMOS technology

Operational Amplifier BME 360 Lecture Notes Ying Sun

Lecture 4. MOS transistor theory

ALTHOUGH zero-if and low-if architectures have been

PROJECT ON MIXED SIGNAL VLSI

UNIT-1 Bipolar Junction Transistors. Text Book:, Microelectronic Circuits 6 ed., by Sedra and Smith, Oxford Press

8. Characteristics of Field Effect Transistor (MOSFET)

EL4089 and EL4390 DC Restored Video Amplifier

LOW VOLTAGE ANALOG IC DESIGN PROJECT 1. CONSTANT Gm RAIL TO RAIL INPUT STAGE DESIGN. Prof. Dr. Ali ZEKĐ. Umut YILMAZER

Hot Swap Controller Enables Standard Power Supplies to Share Load

Memristor Load Current Mirror Circuit

The Design and Characterization of an 8-bit ADC for 250 o C Operation

Non-linear Control. Part III. Chapter 8

Analog I/O. ECE 153B Sensor & Peripheral Interface Design Winter 2016

UNIT-VI FIELD EFFECT TRANSISTOR. 1. Explain about the Field Effect Transistor and also mention types of FET s.

LM13600 Dual Operational Transconductance Amplifiers with Linearizing Diodes and Buffers

Transcription:

MITE Architectures for Reconfigurable Analog Arrays A Thesis Presented to The Academic Faculty by David Abramson In Partial Fulfillment of the Requirements for the Degree Master of Science School of Electrical and Computer Engineering Georgia Institute of Technology November 22, 2004

MITE Architectures for Reconfigurable Analog Arrays Aprroved by: Professor Paul Hasler, Advisor Professor David Anderson Professor Mark Smith Date Approved: 22 November 2004

To my mother, Judy Abramson, for always supporting me in my endeavors. iii

ACKNOWLEDGEMENTS I would like to thank Jordan Gray, Shyam Subramanian, Chris Twigg, Venkatesh Srinivasan, Guillermo Serrano, and all my other lab mates who have helped me throughout this process. Also, I want to thank Dr. Brad Minch for helping explore the space of MITE based FPAAs. Lastly, I would like to thank my committee for their valuable critique. iv

TABLE OF CONTENTS DEDICATION...................................... ACKNOWLEDGEMENTS.............................. iii iv LIST OF FIGURES.................................. vii SUMMARY........................................ ix I TRANSLINEAR ELEMENTS AND FIELD-PROGRAMMABLE ANA- LOG.......................................... 1 II FLOATING-GATE ELEMENTS........................ 2 2.1 Floating-gate Transistors............................ 2 2.1.1 Modifying the Floating-gate Charge.................. 2 2.2 Programming Arrays of Floating Gates.................... 4 2.3 Programming Considerations of Reconfigurable Systems.......... 7 2.3.1 Programming Switches......................... 7 2.3.2 Offset Removal............................. 10 III MULTIPLE INPUT TRANSLINEAR ELEMENTS............ 11 3.1 Implementation of a Multiple Input Translinear Element.......... 11 3.2 Synthesis Procedures.............................. 12 3.3 Programmable MITEs............................. 13 3.3.1 Programming Methodologies for MITEs............... 14 IV BUILDING BLOCKS OF MITE SYSTEMS................ 16 4.1 Current Splitters................................ 16 4.1.1 Geometric Mean Current Splitter................... 17 4.1.2 Harmonic Mean Current Splitter................... 17 4.2 Translinear Loops................................ 20 4.3 Filters...................................... 22 V RECONFIGURABLE MITE ARCHITECTURES............. 26 5.1 RAAM 1..................................... 26 5.1.1 Examples and Results......................... 28 5.2 RAAM 2..................................... 35 v

5.2.1 Examples................................ 39 5.3 Future Chips................................... 42 VI CONCLUSION................................... 44 VITA............................................ 47 vi

LIST OF FIGURES 1 Schematic of a floating-gate pfet....................... 3 2 I-V traces for a programmed floating gate................... 3 3 Band diagrams illustrating electron tunnelling................. 4 4 Diagram of hot-electron injection........................ 5 5 Array isolation of a floating gate for programming.............. 6 6 Resistance curves of a floating-gate pfet................... 8 7 Problem with programming multiple switches that share a drain line.... 9 8 Subthreshold MOSFET realization of a MITE................. 12 9 Methods used to program the charge on a MITE............... 15 10 Schematic of geometric current splitter..................... 18 11 Simulation results of the geometric current splitter.............. 19 12 Schematic of harmonic current splitter..................... 19 13 Simulation results of the harmonic current splitter.............. 20 14 Schematic of a 2 nd -order translinear loop.................... 21 15 Simulation results of the translinear loop.................... 22 16 Schematic of a 1 st -order low-pass log-domain filter.............. 24 17 Simulation results of 1 st -order low-pass filter.................. 24 18 System architecture of the RAAM 1....................... 27 19 Schematic of a MITE CAB........................... 28 20 Layout of the RAAM 1............................. 29 21 Schematic of squaring circuit implemented on the RAAM 1......... 30 22 Compilation of a squaring circuit onto the RAAM 1............. 31 23 Results of the squaring circuit.......................... 32 24 Compilation of a translinear loop circuit onto the RAAM 1......... 33 25 Results of the translinear loop.......................... 34 26 Results of the square root circuit........................ 35 27 Results of the vector magnitude circuit..................... 36 28 Frequency response of the log-domain filter.................. 36 29 System architecture of the RAAM 2....................... 37 vii

30 Layout of the RAAM 2............................. 38 31 Block diagram of four-quadrant multiplication................. 40 32 Compilation of a 4-quadrant multiplier onto the RAAM 2.......... 41 33 Architecture of a large reconfigurable system................. 43 viii

SUMMARY With the introduction of the floating-gate transistor into reconfigurable architectures, great advances have been made in the field. Recently, Hall et. al. have proposed the first truly large-scale field programmable analog array (FPAA). As an outgrowth of this work, a new class of FPAAs based on translinear elements has begun to be developed. The use of translinear elements, multiple input translinear elements (MITEs) specifically, allows for extreme versatility in the functions implemented by the system while keeping the computational elements of the FPAA regular. In addition, synthesis procedures have been developed for translinear elements. This facilitates the implementation of large-scale systems on the FPAA because the circuit design can be extracted using the synthesis procedures based on equations entered by the user. Two architectures are proposed for the new FPAA. The first architecture uses fine grain reconfigurability, every gate capacitor and the drain of each MITE can be connected arbitrarily, in order to create reconfigurable MITE networks. Circuits including a squaring circuit, a square root circuit, a translinear loop, a vector magnitude circuit, and a 1 st -order log-domain filter were implemented using this architecture and results are presented. In addition, examples are shown to illustrate the compilation of the circuits onto the FPAA. The second proposed architecture uses a mix of fine and medium granularity in order to simplify the implementation of larger systems. Examples are given and again the compilation of the circuits onto the FPAA is shown. ix

CHAPTER I TRANSLINEAR ELEMENTS AND FIELD-PROGRAMMABLE ANALOG A great deal of progress has been made in the development of field-programmable analog arrays (FPAAs) recently [1, 2, 3]. Specifically, the integration of floating-gate transistors into the architecture has produced very promising results in the development of large-scale FPAAs [4]. This progress has spurned the development of a field programmable analog device that uses translinear elements for its computation. The use of translinear elements has many advantages over the current FPAAs. First, they make the computational elements of the FPAA very regular without losing flexibility. Currently, there seems to be a tradeoff between these two characteristics. For example, FPAA designs exist that use only gm-c type elements [5, 6], but these designs can only implement filters and other simple dynamic systems. Other FPAAs use a mixture of circuit structures to try to cover the largest design space possible, but lack regularity and thus are more complicated to design and use. Second, numerous synthesis procedures exist for translinear elements [7, 8, 9], allowing for the possibility of a much simpler user interface. Rather than the drag-and-drop interfaces of current FPAAs, the robust synthesis procedures will allow the user to operate the FPAA by simply entering the equations of the system to be implemented. This will become an even bigger advantage as the size of the systems implemented on FPAAs grows. In addition, because of the possibility of such an interface, the user of the system will not need detailed knowledge of analog circuits to use the proposed FPAA. 1

CHAPTER II FLOATING-GATE ELEMENTS At the core of our reconfigurable systems are floating-gate transistors. They make it possible to effectively shift the threshold of the transistor, allowing us to turn switches on and off, precisely set bias values, and to cancel offsets due to threshold mismatch. Furthermore, the computational elements of the system will be floating-gate devices as well. 2.1 Floating-gate Transistors Floating-gate transistors have a gate that is completely surrounded by silicon dioxide, allowing for the storage of charge on the gate of the transistor. A floating gate pfet, shown in Figure 1, has a current-voltage relationship where V fg, the voltage on the floating gate, is Vs κv fg I = I s e U T (1) V fg = V g C 1 C T + V offset (2) where C T is the total capacitance at the floating gate and V offset is determined by the charge on the floating gate. Note that equation 2 is for a device in saturation. 2.1.1 Modifying the Floating-gate Charge Two methods are used to alter the charge on the floating gate. Fowler-Nordheim tunnelling is used to remove electrons from the floating gate and hot-electron injection is used to add electrons to the floating gate [10]. From equations 1 and 2 it is seen that the offset term introduced by the charge on the floating gate essentially changes the threshold voltage of the transistor. This can be seen in Figure 2 in which I-V sweeps are preformed on the same transistor with different amounts of charge on the floating gate. 2

V s V tun V fg C 1 V g I V d Figure 1: Schematic of a floating-gate pfet. The gate of the transistor is completely surrounded by silicon dioxide, allowing charge to be stored there. 10 4 Channel Current (A) 10 6 10 8 10 10 10 12 0 0.5 1 1.5 2 2.5 3 Gate Voltage (V) Figure 2: Shifted I-V traces for a programmed floating gate. Each curve was taken on the same device with identical terminal voltages. The charge on the floating gate was modified for each trace in order to shift the threshold of the device. 3

Floating Gate E c SiO 2 SiO 2 Floating Gate V tun V tun E c (a) E c (b) E c Figure 3: Band diagrams illustrating electron tunnelling. a) Band diagram when tunnelling is not occuring, V tun is set to V dd. b) Band diagram during tunnelling, V tun is set to a large voltage. Fowler-Nordheim electron tunnelling works by applying a large voltage across the tunnelling capacitor. The large field across the capacitor reduces its electric barrier allowing electrons to cross the barrier, effectively increasing the charge on the floating gate. This transition is shown as the change in Figure 3a to Figure 3b. Note that electrons leave the floating gate when the tunnelling voltage is high, removing negative charge from the node. Hot-electron injection works by applying a large source-drain voltage to the pfet while current is flowing through the channel. The process is outlined in Figure 4. The holes are accelerated toward the drain until they collide with the ions at the drain edge of the drainchannel depletion region creating an electron-hole pair, shown as step 1 in the figure. The electron is then accelerated, by the large field, back towards the source. While most of these electrons end up back in the well the transistor is fabricated in, step 2, some of these hot electrons gain enough energy that they can escape through the oxide of the transistor and add negative charge to the floating gate, shown as step 3 in the figure. This effectively reduces the charge on the node. 2.2 Programming Arrays of Floating Gates In order for floating-gate transistors to be used in large-scale reconfigurable systems, an array programming scheme must exist to selectively alter the charge on a single floating gate. This process has been previously developed [10]. In order to have selectivity in a 4

well contact source gate drain n + p + n-well p-substrate p + gate (3) Channel (1) Drain-to-Channel (2) Depletion Region p + drain Figure 4: Diagram of hot-electron injection. Holes are accelerated, by a large source-drain voltage, towards the drain where they collide with the ions at the edge of the drain-channel depletion region creating an electron-hole pair (1). Most of the hot electrons created from the impact-ionization return to the substrate (2), but some gain enough energy, as they are accelerated by the large source-drain electric field, to overcome the barrier of the silicon dioxide and become trapped on the floating gate (3). 5

Ga te Control Voltage R2 R1 Drain Control Volta ge R0 C0 C1 C2 C3 Figure 5: Isolation of a floating gate for programming. Injection is prevented in the undesired columns by setting the gate of the pfet to V dd, making sure there is no channel current, and in the undesired rows by setting the drain of the pfet to V dd, making sure there is not a large source-drain voltage. 6

two-dimensional array, two parameters must be required in order for programming to take place. This way one parameter each can be applied to the chosen element s row and column. Electron tunnelling, which only requires a large voltage across the tunnelling capacitor, must thus only be used as a global erase. Hot-electron injection, however, can be used to selectively program an array of floating gates. This is possible because injection requires two parameters in order to occur, a high drain-source voltage and current in the channel of the device. The selection process is outlined in Figure 5. The undesired columns are turned off by setting their gate voltage to V dd, making sure no current flows through the channel of the device. The undesired rows are turned off by setting their drains to V dd, making sure they do not have a large enough drain-source voltage for injection. 2.3 Programming Considerations of Reconfigurable Systems Minor changes to the standard programming architecture should be made in order to make reconfigurable systems more efficient. First, in reconfigurable systems where certain floating gates will essentially only be programmed once, a separate tunnelling line should be included for these elements. This allows the switches and other devices that would be programmed often, such as bias currents that set the time constant of filters, to be reprogrammed without having to reprogram every device on the chip. Also, it necessary to investigate how to use programming to help solve problems in traditional reconfigurable analog designs, such as device mismatch. 2.3.1 Programming Switches The ability to turn switches on and off, and to do it quickly, is key to creating a useful reconfigurable system. In our MITE based FPAAs, a single floating-gate pfet is used as a programmable switch. While using a single pfet, rather than a transmission gate, as a switch saves space and introduces less parasitic capacitance, its resistance increases exponentially as the signal approaches ground. This, however, can be fixed by injecting the pfet so that its threshold voltage becomes positive, about 3V to 4V (This uses the convention that the threshold voltage of a pfet is usually negative, about 0.8V ). This assures that even as the source (and drain) of the device approach ground, the effective 7

10 9 10 8 Resistance ( Ω) 10 7 10 6 10 5 Decreasing Effective Gate Voltage 10 4 0 0.5 1 1.5 2 2.5 3 V = V + 25mV (V) s d Figure 6: Resistance curves for a floating-gate pfet injected to different levels. The gate voltage is held constant and the source and drain of the pfet are swept. A 25mV difference is kept between the source and drain in order to measure the resistance of the switch. Note that as the effective floating-gate voltage is decreased the resistance becomes more constant as the source voltage of the pfet is swept. voltage at the floating gate is still 3V to 4V below the source. In other words, a large V sg is still maintained. This allows the resistance of the pfet to be fairly constant all the way from V dd to gnd. Figure 6 shows resistance curves for the same floating-gate pfet injected to different levels. In order to program switches so that they can pass a full range of voltages through them, the standard programming algorithm must be altered slightly. The problem arises from the fact that once a switch has been turned on, programming selectivity is lost. Selectivity is lost because the threshold voltage of the floating-gate pfet must be shifted above V dd in order for the pfet to be able to pass voltages down to ground. This implies that the device can no longer be shut off by setting the gate voltage to V dd because current will still flow through the channel of the device. This will cause the device to inject if the drain terminal shared by that column of switches is pulsed. In addition, once a switch is programmed, it is no longer possible to read bias currents on the same drain line. Again, this is because their is a large current flowing through the injected switch that cannot be shut off by setting the gate voltage to V dd. This can be solved by making sure that bias transistors, as well as any 8

G 0 G 1 G 2 G 3 Sel Sel bar I d + I d * R V d _ Figure 7: Problem with programming multiple switches that share a drain line. The resistance introduced by the programming circuitry causes a voltage drop when current is flowing through a switch on the drain line. This effectively lowers the source-drain voltage used to inject the switches on that drain line. device that needs to be accurately programmed, do not share drain lines with switches. Another problem when programming switches is the inability to inject two switches on the same drain line to the same level. This is because the standard programming algorithm injects one switch after another. Once a switch is turned on, a large current flows through the drain line creating a voltage drop across the transmission gate used for selecting the given drain line. This causes the the drain-source voltage set during injection to be lower than desired when programming a second switch on the same drain line. This idea is illustrated in Figure 7. In order to solve this problem, all switches that share a drain line are programmed at the same time. This is accomplished by alternating through the switches, applying a short pulse to the drain of each switch. This causes each switch to inject a small amount for each pulse, making sure all the switches on a drain line are injected with similar drain-source voltages. Note that there is an asymptotic maximum amount of current that be created per drain line for a given V sd used for injection. As the current through each switch increases, the drop across the transmission gate increases causing the applied drain-source voltage to decrease. This will slow down the amount of injection occurring as the switches are turned further on. 9

2.3.2 Offset Removal A major problem with large-scale analog reconfigurable systems is device mismatch. This is because devices connected to each other may be located across the chip from one another. Floating-gate transistors can be used to cancel this mismatch by programming their respective charges properly. Not only can the mismatch in the floating-gate transistors be accounted for, but the mismatch due to the reconfigurable architecture (current mirrors, switches, etc.) can also be attenuated. This is not as large of a problem with customized hardware because current mirrors, and other devices that rely on matched devices, are typically fabricated as a single unit and layout techniques are used to maximize the matching properties of the devices. 10

CHAPTER III MULTIPLE INPUT TRANSLINEAR ELEMENTS 3.1 Implementation of a Multiple Input Translinear Element Ideal translinear elements have infinite input impedance and an exponential voltage to current relationship independent of the current level they are operating at. In addition, any translinear element can be made to have multiple inputs by simply applying resistive or capacitive division at the voltage input. Multiple input translinear elements (MITEs) can thus be built using either subthreshold MOSFETs or BJTs, each of which is stronger in one of the two above specifications [7]. In order to allow for the practical implementation of our FPAAs in a simple digital process, we have chosen to use subthreshold MOSFETs. A subthreshold MOSFET has a current that is exponentially related to its gate voltage and is given by ) κvg Vs Vs V d U I = I s e T U (1 e T (3) where I s is a scaling term, κ is the capacitive division between the oxide capacitance and the depletion capacitance, and U T is kt/q. Note, that all voltages are referenced to the bulk. Furthermore, as long as the device is in saturation, V ds > 100mV, the second exponential term can be neglected. Again, in order to allow for the practical realization of the MITE in a standard digital process, capacitive division is used for the introduction of multiple inputs. Figure 8a shows the subthreshold MOSFET realization of a MITE, and its current-voltage relationship is given by Vs κ (wi V i ) I = I s e U T (4) where w i, the weight applied to an input, is given by C i C T (5) 11

C 1 V 1 C 2 V 2 V 1 V 2 V pcas V n C n V n V d V d Figure 8: Subthreshold MOSFET realization of a MITE. a) Components used to realize a MITE in a standard CMOS process. b) Symbol used to represent a MITE. where C T is the total capacitance at the gate of the MOSFET. Figure 8b shows the symbol that will be used for this realization of a MITE. Note that while the subthreshold MOSFET does have nearly infinite input impedance, the range in which the relationship between current and voltage is exponential is limited. However, by making the W L ratio of the MITEs larger, this range can be increased. Currently the MITEs exhibit the correct behavior over approximately 4 decades of current. 3.2 Synthesis Procedures Numerous synthesis procedures have been derived for the construction of generic translinear networks [9]. In addition, two synthesis procedures have been developed specifically for MITE networks [7, 8]. While both synthesis procedures produce circuits that are efficient in terms of the number of elements used, they have significant differences. Most importantly, the first synthesis procedure, developed by Brad Minch, is designed for single output systems, while the second, developed by Shyam Subramanian, does not limit the system to a single output. The ability to synthesize a system with multiple outputs allows for the 12

construction of the system with the fewest number of MITEs possible. Secondly, Minch s procedure treats static and dynamic functions in a similar manner, while Subramanian s procedure reduces dynamic functions into static functions and first-order low-pass filters. Both of these methods have advantages over each other. Minch s procedure can synthesize any ordinary differential equation that can be written in terms of elementary functions [7], but the circuits can be quite complex. On the other hand, Subramanian s procedure is limited, as it cannot successfully generate every dynamic circuit, but generally results in simpler circuits since they are broken down into static functions and first-order filters. In addition, the synthesis procedures discussed above can be slightly altered to accommodate the architecture of the reconfigurable systems. Most importantly, the fixed number of input capacitors on each MITE must be considered. Both Minch s and Subramanian s procedure can be easily altered to limit the number of input capacitors to those available. This is because the use of extra input capacitors can be replaced with the use of extra MITEs with the same input current. This idea can be extended to show that any MITE network can be constructed using only MITEs with two input capacitors. While this is possible, it may be impractical for complex systems, because the number of MITEs required would increase dramatically. 3.3 Programmable MITEs A major limitation of previous MITE networks has been the threshold mismatch between individual MITEs. These mismatches have made it difficult to produce large systems that work properly. However, because MITEs are floating-gate elements, it is possible to program the charge on the floating gate in order to remove this mismatch. The first attempts to do this involved subjecting the chip to ultraviolet (UV) light in order to equalize the charge on all of the floating gates. While this did improve the matching of the MITEs, it was not accurate enough to facilitate the implementation of large MITE systems. Now, with the development of programming methodologies, both for generalized floating gates and specifically for MITEs, it is finally possible to implement large systems. This is 13

the case because the charge on the floating gate of each MITE can now be adjusted independently of the others. For example, MITEs have been used to implement adaptive filters, a system much to complex in build before the programming advances [13]. Additionally, chaotic oscillators, such as a Lorentz attractor, have been successfully fabricated [14]. 3.3.1 Programming Methodologies for MITEs There are two different methods that can be used to control a MITE s terminal voltages in order to program the given MITE. The first method is more straightforward, but it uses more space and introduces more parasitics than the second method. The second method, however, can only be used under certain conditions. The first access method, shown in Figure 9a, is a simple adaptation of the standard floating gate programming structure. In order to directly control the gate voltage of the MITE, each gate capacitor has two transmission gates attached to it in order to multiplex the gate between a programming voltage and its gate voltage in run mode. In addition, a transmission gate is also used multiplex the drain of the floating-gate transistor between a programming voltage and its drain voltage during run mode. Unlike the gate lines, a single pfet, also used as the cascode transistor during run mode, is used to disconnect the drain of the MITE from the rest of the circuit in programming mode. This is simply done by setting the pfet s cascode voltage to V dd. The second access method uses the fact that every gate capacitor, with a few exceptions, in a MITE network is connected to the drain of the cascode transistor of the MITE. By using an nfet cascode, as well as the pfet cascode, to remove this node from the circuit during programming mode, the gate voltage of the MITE can be set using this node. The drain of the floating gate is treated the same as in the first access method. This programming method is illustrated in Figure 9b. Note that this method requires only one transmission gate, as well as the use of a nfet cascode transistor, in order to set the gate voltage during programming rather than two transmission gates for each gate cap. Again, the nfet cascode transistor is shut off by setting its cascode voltage to gnd. Each programming method has advantages over the other. Clearly, the second method 14

Gate-line Vg1 Vg2 Drain-line Prog Vp_cascode Vg3 Vg4 Drain-line Prog Vp_cascode Gate-line Vn_cascode Prog Vd Vd (a) (b) Figure 9: Two methods for adapting MITEs to an array programming scheme. a) Simple adaptation of the standard floating gate programming structure. Transmission gates are used to connect each gate capacitor to the given gate voltage in programming mode. b) Cascode programming scheme in which a nfet cascode transistor is used to isolate the gate terminal during programming mode. This method assumes that all gate capacitors are connected to the drain of a MITE (the node between the two cascode transistors). uses less space and introduces less parasitic capacitances into the circuit. However, the second method must be altered slightly when the MITE network includes a reference voltage. The reference voltage must be replaced by the gate control voltage during programming in order to couple the correct voltage onto the floating gate. More importantly, the second method cannot be used in a reconfigurable architecture where floating-gate switches will be connected to the gate caps. This is because when setting the gate voltage of the MITE using the second method, the drain (or source) of the floating-gate switch will be set to the same voltage. In other words, the selectivity inherent in the array programming scheme may be lost. 15

CHAPTER IV BUILDING BLOCKS OF MITE SYSTEMS In order to build complex systems using MITEs, it is necessary to explore what higher level components are commonly used. Clearly, translinear loops are a building block of almost every system, as they implement multiply functions. In addition, log-domain filters are commonly used, and their use will be emphasized because of Subramanian s synthesis procedure. Another commonly used item in systems is differential signaling. This can be done by tailoring each of the other blocks to accept and output differential signals. However, another way to accomplish this is to use current splitters. This dramatically simplifies the circuitry needed to implement differential functions. 4.1 Current Splitters In order to implement differential systems, we have chosen to use current splitters. Current splitters are a commonly used component because they allow for both differential signaling and for class AB operation [9]. This is done by splitting bidirectional currents, necessary for multi-quadrant operations, into strictly positive currents, required by the MITEs. The two output currents difference must be equal to the input signal. In addition, the common-mode of the output currents should be constrained. This can be easily accomplished by adding a geometric mean or harmonic mean constraint to the splitter. The output currents of the splitter can then be processed as single-ended signals, with the results being subtracted in order to produce a bidirectional output. Therefor a system that uses differential signal processing is created, but the input and output of the system remain single bidirectional currents. In order to maintain uniformity in the design of our FPAAs, the current splitters were designed using MITEs. Both geometric mean and harmonic mean splitters were simulated, fabricated, and tested. Each was synthesized by using the mean constraint equation, fixing 16

the mean of the two output currents to a given bias, and the difference constraint equation, fixing the difference of the two output currents to the input current. 4.1.1 Geometric Mean Current Splitter The constraint equations used to synthesize the geometric mean current splitter are I out1 I out2 = I 2 DC (6) I out1 I out2 = I in (7) where I DC is a bias current that sets the geometric mean of the splitter. The resulting circuit is shown in Figure 10. Note that only three MITEs are required for the computations, but a fourth MITE is necessary to be able to access one of the output currents, I out1. In addition, I out2 can be accessed by adding another output stage to the current mirror. Simulation results for the geometric mean current splitter are shown in Figure 11. For these simulations, I DC was set to 75nA. The blue and red traces are the two outputs of the splitter. The black trace is the geometric mean of the two outputs. While the geometric mean of the outputs moves slightly, this is not of significant importance because the splitter s goal is to produce a differential signal whose components are both positive and subthreshold. Note that it is not necessary to show that the difference of the two outputs in equal to the input signal since this relationship is forced by KCL. 4.1.2 Harmonic Mean Current Splitter The constraint equations for the harmonic mean current splitter are similar, but Equation 6 is replaced with 1 + 1 = 2 (8) I out1 I out2 I DC where I DC is a bias current whose value is twice the harmonic mean of the outputs. The factor of two was included in order to make the circuit, shown in Figure 12, less complex. Clearly, the harmonic mean current splitter is significantly larger than the geometric mean version, an important disadvantage when the structures are integrated into large-scale reconfigurable systems. Again, and extra MITE and output stage of the current mirror are needed to access the output currents of the splitter. 17

I dc I out1 I out2 I in Figure 10: Geometric Current Splitter Implementation. A fourth MITE and another output stage of the current mirror are required in order to access the two output currents, I out1 and I out2. 18

300 250 Output Current [na] 200 150 100 50 0 300 200 100 0 100 200 300 Input Current [na] Figure 11: Simulation results of the geometric current splitter. The blue and red traces represent the two output currents. The black trace is the geometric mean of the two outputs. A bias current of 75nA was used to set the geometric mean. V ref I dc I out1 2*I dc I dc I dc I out2 I in Figure 12: Harmonic Current Splitter Implementation. An extra MITE and output stage of the current mirror are required to access the two output currents, I out1 and I out2. 19

300 250 Output Current [na] 200 150 100 50 0 300 200 100 0 100 200 300 Input Current [na] Figure 13: Simulation results of the harmonic current splitter. The blue and red traces represent the two output currents. The black trace represents twice the harmonic mean of the output currents. A bias current of 75nA was used to set the harmonic mean to 37.5nA. Simulation results, again for I DC set to 75nA, are shown in Figure 13. Again, the red and blue traces represent the two output currents. However, the black trace now represents the harmonic mean of the two outputs (it is actually twice the harmonic mean as in Equation 8). Also note that the difference of the two output currents is again forced to be the input current through KCL. The most important difference between the behavior of the two splitters is what happens to the lower current when the magnitude of the input becomes large. Note that with the geometric splitter, the currents can approach 0A if the input becomes large enough. However, the output currents of the harmonic splitter can never go below the harmonic mean set by the bias current. This also means that the higher output current of the harmonic splitter will be larger than that of the geometric splitter. We will choose to use the geometric splitter in our designs because for two reasons, small currents are more easily handled by the MITEs than the larger currents and the smaller size of the geometric splitter. 4.2 Translinear Loops Translinear loops are well documented building blocks of almost every translinear system [7, 9]. In a reconfigurable system, fixed loops are used to reduce the amount of reconfigurability needed. A translinear loop, shown in Figure 14, can be analyzed by simply solving for each 20

V 1 V2 V 3 Vref I 1 I 2 I3 I 4 Figure 14: MITE implementation of a 2 nd -order translinear loop. MITE s voltages that are not diode connected. However, to simplify the analysis it is necessary to assume that all of the floating gates have an equal amount of charge on them. This will cancel the offset term due to the programmed charge on the floating gate. Under this assumption, the equations are V 1 = 2U T κ log I 1 I s V ref (9) V 2 = 2U T κ log I 2 I s V 1 (10) V 3 = 2U T κ log I 3 I s V 2 (11) V 3 + V ref = 2U T κ log I 4 I s (12) Substituting Equations 9-11 into Equation 12 and rearranging gives which can also be written as log I 1 I s + log I 3 I s = log I 2 I s + log I 4 I s (13) I 1 I 3 = I 2 I 4 (14) 21

Output Current [na] 500 450 400 350 300 250 200 150 100 50 0 0 50 100 150 200 250 Input Current [na] Figure 15: Simulation results of the translinear loop. The multiplication coefficients were chosen to be 1 10, 1 4, 1 2, 1, 2, 4, and 10. In addition to the standard analysis, it is interesting to note that both MITE synthesis procedures output this circuit configuration when Equation 14 is entered. This circuit is most often used as a multiplier with I out = I ai b I c. (15) Simulation results of the translinear loop are shown in Figure 15. Data was taken as I a was swept and the coefficient I b /I c was held constant. Sweeps were taken for coefficients of 1/10, 1/4, 1/2, 1, 2, 4, and 10. For higher coefficients the trace is not completely straight because the MITEs leave the subthreshold region due to the higher current levels. 4.3 Filters Filters were included as higher level blocks for two reasons, they are a building block of almost every dynamic system and they are used as a building block by Subramanian s synthesis procedure. The synthesis of the circuit, found in [7], is similar to the synthesis of the loop, but first the constraint equations are needed. The differential equation for a first-order low-pass filter is τ d dt I y + I y = I x (16) 22

where I x is the input current, I y is the output current, and τ is the time constant of the filter. The chain rule can be applied to the derivative of the current giving τ δi y δv y dv y dt + I y = I x (17) where V y is the log compressed voltage associated with I y. Taking the derivative of the current through the 2-input MITE with respect to a single controlling voltage can be shown to result in where κ 2U T current and τκi y C of the filter produces τ κi y 2U T dv y dt + I y = I x (18) is the weight of the controlling voltage V y. Noting that C dvy dt is a capacitive can be written as a reciprocal of a bias current that sets the time constant I τ I c = I xi τ I y (19) where I c is the current through a capacitor and I τ is a bias current that sets the time constant of the filter. This leaves I p = I xi τ I y (20) and I τ I c = I p (21) as the two equations needed for synthesis. The circuit, shown in Figure 16, can now be constructed using Minch s synthesis procedure. Note that the circuit is essentially the same as the translinear loop, but a capacitor is added to introduce the pole in the transfer function. In addition, a gain term can be added to the transfer function by multiplying the second I τ, the bias current for the MITE without the capacitor on its drain, by the coefficient desired. The simulation results of the filter are shown in Figure 17. Frequency responses were taken for different values of I τ. The values used were 0.1nA, 1nA, 10nA, 100nA, and 1µA. Both bias currents were kept equal in order to have unity gain through the filter. Note that the cutoff frequencies of the filter are equally spaced on the log scale, as are the values of 23

I p I c I x I tau I tau I y Figure 16: MITE implementation of a 1 st -order low-pass log-domain filter. The I τ bias current connected to the capacitor is used to set the corner frequency of the filter. The second bias current is set to I τ in order to maintain unity gain. 0 10 Output Magnitude [db] 20 30 40 50 60 graphicx 70 10 0 10 2 10 4 10 6 10 8 Frequency [Hz] Figure 17: Simulation results of 1 st -order low-pass filter. I τ was set to 0.1nA, 1nA, 10nA, 100nA, and 1µA for the different curves respectively. 24

the bias current. The bumps seen in the response of the filter can be attributed to the nonidealities introduced by the gate capacitors of the MITEs. These bumps can be eliminated by moving to a differential structure where two filters share a single reference voltage. 25

CHAPTER V RECONFIGURABLE MITE ARCHITECTURES One of the most important decisions when building a reconfigurable system, is the granularity chosen for the reconfigurability. If a fine granularity is chosen, the architecture does not need high level components, but rather these components can be built out of the lower level components. However, this architecture has the downside of introducing a great deal of parasitic resistances and capacitances into the circuits compiled onto the system. If a course granularity is chosen, the architecture requires a number of higher level components that can be reconfigured into complex systems. For MITE systems, these blocks include current splitters, translinear loops, and filters. This architecture tends to require less switches and therefore introduces less parasitics. However, this architecture is also less flexible then the fine grain architecture. We have created two distinct architectures for reconfigurable analog systems that use MITEs as their computational components. While both architectures are designed to implement similar sets of functions, they use different techniques to construct the given circuits. The first architecture has very fine grain reconfigurability and takes advantage of Subramanian s synthesis procedure. The second architecture has a mixed granularity of reconfigurability and uses both synthesis procedures to its advantage. 5.1 RAAM 1 The RAAM 1 is an FPAA that focuses on fine granularity and the use of a known synthesis procedure. Standard FPAA approaches with similar granularity (transistor level) exist [15], but are impractical for constructing complex systems. In order to avoid this problem, the RAAM 1 takes advantage of MITEs with 4 gate capacitors in order to consolidate large circuits into structures that require significantly fewer components (transistors). Four input capacitors per MITE was chosen because it allows for the construction of complex systems 26

Programming Structure Programming Structure Global Switch Matrix MITE CAB MITE CAB MITE CAB Specialized CAB Figure 18: System architecture of the RAAM 1, an FPAA used to create reconfigurable translinear networks. The system consists of 3 MITE CABS, a specialized CAB, and a global switch network. The specialized cab consists of circuitry that enables four-quadrant dynamic functions and also includes the input bank of V-I converters. with relatively few components while also keeping the connectivity needed to reconfigure the devices from becoming too large. This is because a vertical connection line in the switch matrix is needed for every input capacitor, as well as the drain of the MITE, if the devices are to be fully reconfigurable. Currently, current-mode routing is used in the RAAM 1. While this does not allow for the broadcasting of signals, it helps to minimize offsets because the current mirrors used to route signals can be laid out as a single component. In addition, the 4-input MITEs help to offset the need to broadcast signals because they allow for the consolidation of multiple networks into a single network. The RAAM 1 is broken up into four core structures: the global switch matrix, the MITE Configurable Analog Block (MITE CAB), the dynamics unit, and the input bank. The architecture is illustrated in Figure 18. The MITE CAB is a core grouping of MITES and a shared local switch matrix. The dynamics unit is a collection of first-order low-pass filters and subtraction units that can extend static functions to dynamic functions. The input bank is an array of V to I converters. Both the dynamics unit and the input bank are housed in the specialized CAB. The global switch matrix is a floating gate switch array that connects all the other units together. The MITE CAB, shown in Figure 19, is made up of 8 MITEs, each with 4 gate capacitors, connected to a local switch matrix. Of the 8 MITEs, 4 have one gate capacitor implicitly diode connected; these are referred to as input MITEs. The other 4 MITEs are referred 27

Local Switch Matrix Figure 19: Schematic of a MITE CAB. The MITE CAB consists of 4 input MITEs and 4 output MITEs whose gate capacitors and drains can be connected through a local floatinggate switch matrix. to as output MITEs. The switch matrix is a full crossbar matrix of floating-gate pfet switches with the drain and 4 gate capacitors of each MITE connected to its vertical lines. The horizontal connection lines are used to connect the gate capacitors and drains of the MITEs in the circuit configuration that is desired. They also connect to the global switch matrix allowing for the combination of MITE CABs to form larger circuits and connections to be made to the specialized CAB. The layout of the RAAM 1 is shown in Figure 20. 5.1.1 Examples and Results In order to demonstrate the reconfigurability of the system, several circuits were programmed onto it and results were taken for each. The first circuit built was a squaring circuit. In order for the synthesis of the circuit to be possible, a reference current must be used so that the unit of the result is still amperes [7]. Thus, the actual equation synthesized is I out = I2 in I ref (22) where I ref effectively sets the unity value of the circuit. The compilation of the circuit onto the system is shown in Figures 21 and 22. The circuit schematic is shown in Figure 21. In Figure 22, the connection lines below both the MITEs and the V-I converters represent the local switch matrices, while the vertical lines connecting the two, on the left of the 28

Figure 20: Layout of the RAAM 1. The FPAA was fabricated in a 0.5µ process. 29

Iin Iref Iout Figure 21: Schematic of the squaring circuit implemented on the RAAM 1. The colored nodes correspond to Figure 22. figure, represent the global switch matrix. The colored lines in both figures show the how the circuit is built using the reconfigurable architecture. In addition, the circles represent switches that are turned on in order to compile the circuit. 30

V-I 1 V-I 2 V-I 3 V-I 4 V-I 5 V-I 6 Figure 22: Example of RAAM 1 reconfigured to implement a squaring circuit. The colored nodes correspond to Figure 21 and the circles at the intersection of the bus lines indicates a switch that has been turned on. The row of V-I converters and the crossbar network below it represent the specialized CAB, the crossbar network on the left of the figure represents the global switch matrix, and the row of MITEs and the crossbar network below it represent a MITE CAB. 31

400 350 Measured Theoretical Output Current (na) 300 250 200 150 100 50 0 0 50 100 150 200 250 300 Input Current (na) Figure 23: Results of the squaring circuit compiled onto the RAAM 1 for different reference currents. Reference currents of 50nA, 100nA, 200nA, and 300nA were used. The results of the squaring circuit for different reference currents are shown in Fig. 23. Note that the measured results deviate from the theoretical when the MITEs are no longer operating in the subthreshold region and thus no longer have an exponential relationship between voltage and current. This is seen most clearly in the squaring circuit because the output current grows much faster than the input once the input is larger than the reference current. The next circuit compiled onto the RAAM 1 was a 2nd-order translinear loop, shown in Fig. 14. The connections needed to build the loop are shown in Figure 24. Note that while the loop needs to be compiled onto the RAAM 1, it is a fixed subcircuit in the RAAM 2. The loop can be used as a multiplier whose output is given by I out = I ai b I c (23) where I a, I b, and I c are the three input currents. The results of the multiplier are shown in Fig. 25. The coefficients of the multiplication, I b /I c were chosen over a wide range to illustrate the versatility of the circuit. 32

V-I 1 V-I 2 V-I 3 V-I 4 V-I 5 V-I 6 Figure 24: Example of the RAAM1 reconfigured to implement a 2nd-order translinear loop. The circuit schematic is shown in Figure 14. The circles at the intersection of the bus lines indicate a switch that has been turned on. 33

300 250 Output Current (na) 200 150 100 50 0 0 50 100 150 Input Current (na) Figure 25: Results of the 2 nd order translinear loop when used as a multiplier. The coefficient of the multiplication was varied to show the versatility of the circuit. Next, a circuit that implements a square root function was built. Again, the synthesis of the circuit, which requires a reference current, can be found in [7]. The synthesis results in the equation I out = I in I ref (24) where I ref again sets the unity value of the circuit. The results are shown in Fig. 26. The measured data is closer to the ideal over a larger input current range than with the squaring circuit because the MITEs do not leave subthreshold as quickly. The fourth circuit programmed onto the device used both a square and a square root function in order to calculate the magnitude of a two-dimensional vector, whose equation equation is given by I out = I 2 x + I 2 y (25) where I x and I y represent the x-coordinate and the y-coordinate of the vector. Although the circuit could take the square root of the sum of the two squares by using the previously discussed circuits, the system can be consolidated onto only 6 MITEs [7]. The initial results of the vector magnitude circuit are shown in Fig. 27a. These results were obtained after programming all 6 MITEs to the same current level. Each MITE was programmed to have 10nA of current with a source-gate voltage of 1.3V and a source-drain voltage of 2.3V. Note that while the circuit shows the correct behavior, there are gain terms that introduce errors 34

350 300 Measured Theoretical Output Current (na) 250 200 150 100 50 0 0 50 100 150 200 250 300 Input Current (na) Figure 26: Results of the square root circuit for different reference currents. Reference currents of 50nA, 100nA, 200nA, and 300nA were used. into the result, producing I out = 0.8I 2 x + 0.8I 2 y. (26) One advantage of programmable computational elements is that these error terms can be cancelled. By shifting the V th of the two MITEs that perform the squaring functions higher than the other MITEs using injection, the coefficients were both increased to 1. The output of the vector magnitude circuit after programming out the error terms is shown in Fig. 27b. Finally, a 1 st -order log-domain filter was built. The circuit is essentially the same as the translinear loop, but a capacitor is added to the drain of one of the MITEs [7]. The cutoff frequency of the filter is determined by a bias current. The frequency response of the filter, for different bias currents, is shown in Fig. 28. 5.2 RAAM 2 The RAAM 2 is an FPAA that combines blocks of fine granularity with higher order circuits in order allow for more complex systems, including fully differential static and dynamic functions. The RAAM 2 is made up of four specialized MITE CABs, shown in Figure 29. The first two CABs, called Loop CABs, contain four 2 nd -order translinear loops, two current splitters with geometric mean constraints, and two subtraction units. The third CAB is the same MITE CAB used in RAAM 1, but is limited to three output MITEs. The last CAB, called the dynamics CAB, contains four 1 st -order filters, two current splitters with 35

250 200 Measured Theoretical 250 200 Measured Theoretical Output*sin(θ) (na) 150 100 Output*sin(θ) (na) 150 100 50 50 0 0 50 100 150 200 250 Output*cos( θ) (na) 0 0 50 100 150 200 250 Output*cos( θ) (na) (a) (b) Figure 27: Results of the vector magnitude circuit. a) Results of the vector magnitude circuit after programming all MITEs to the same level. Each MITE was programmed to have 10nA of current with a source-drain voltage of 2.3V and a source-gate voltage of 1.3V. b) Results of the vector magnitude circuit after programming out the initial errors. The MITEs preforming the squaring functions were injected higher than the other MITEs in order to increase the coefficients to 1. 0 Magnitude [db] 5 10 15 20 25 10 2 10 3 10 4 Frequency [Hz] Figure 28: Frequency response of the 1 st -order log-domain filter for different bias currents. 36

Programming Structure Programming Structure Global Switch Matrix Loop CAB Loop CAB MITE CAB Dynamics CAB Figure 29: System architecture of RAAM 2, an FPAA using mixed granularity to create reconfigurable translinear networks. The system consists of 2 loop CABS, 1 MITE CAB, 1 dynamics CAB, and a global switch matrix. The dynamics CAB also includes the input bank of V-I converters. geometric mean constraints, and six V-I converters that can produce either single ended or bidirectional currents. The layout of the RAAM 2 is shown in Figure 30. The two Loop CABs containing the translinear loops are capable of performing fourquadrant operations on two inputs. The two bidirectional inputs are fed into the current splitters which output two strictly positive currents whose difference is equal to the input. In addition, the geometric mean of the two currents is constrained to be equal to a bias current that is generated using a floating gate. These strictly positive currents can then be processed and the results can be subtracted in order to obtain a four-quadrant result. One example of a typical application for this loop CAB is a four-quadrant multiply. Once each splitter has produced two strictly positive currents from its bidirectional input current, these currents are routed, in the form of voltages so that they can be broadcast, to the eight translinear loops. Each loop multiplies two of the currents and the four outputs are added and subtracted respectively in order to obtain the bidirectional output current of the multiply operation. 37

Figure 30: Layout of the RAAM 2. The FPAA was fabricated in a 0.5µ process. 38