Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
CHAPTER-1 INTRODUCTION TO VLSI 1.1 INTRODUCTION TO VLSI: Digital systems are highly complex at their most detailed level. They may consist of millions of elements i.e., transistors or logic gates. For many decades, logic schematics served as thengua franca of logic design, but not anymore. Today, hardware complexity has grown to such a degree that a schematic with logic gates is almost useless as it shows only a web of connectivity and not functionality of design. Since the 1970s, computer engineers, electrical engineers and electronics engineers have moved toward Hardware description language (HDLs). Digital circuit has rapidly evolved over the last twenty five years .The earliest digital circuits were designed with vacuum tubes and transistors. Integrated circuits were then invented where logic gates were placed on a single chip. The first IC chip was small scale integration (SSI) chips where the gate count is small. When technology became sophisticated, designers were able to place circuits with hundreds of gates on a chip. These chips were called MSI chips with advent of LSI; designers could put thousands of gates on a single chip. At this point, design process is getting complicated and designers felt the need to automate these processes. With the advent of VLSI technology, designers could design single chip with more than hundred thousand gates. Because of the complexity of these circuits computer aided techniques became critical for verification and for designing these digital circuits. One way to lead with increasing complexity of electronic systems and the increasing time to market is to design at high levels of abstraction. Traditional paper and pencil and capture and simulate methods have largely given way to the described UN synthesized approach. For these reasons, hardware description languages have played an important role in describe and synthesis design methodology. They are used for specification, simulation and synthesis of an electronic system. This helps to reduce the complexity in designing and products are made to be available in market quickly. The components of a digital system can be classified as being specific to an application or as being standard circuits. Standard components are taken from a set that has been 1 used in other systems. MSI components are standard circuits and their use results in a significant reduction in the total cost as compared to the cost of using SSI Circuits. In contrasts, specific components are particular to the system being implemented and are not commonly found among the standard components. The implementation of specific circuits with LSI chips can be done by means of IC that can be programmed to provide the required logic. 1.2 EMERGENCE OF HARD WARE DESCRIPTION LANGUAGE As designs got larger and complex, logic simulation assumed an important role in design process. For a long time, programming languages such as fortran, pascal & c were been used to describe the computer programs that were been used to describe the computer programs that were sequential in nature. Similarly in digital design field, designers felt the need for a standard language to describe digital circuits. Thus HDL is came in to existence. HDLs allowed the designers to model the concurrency of processes found in hardware elements. HDLs such as VERILOG HDL & VHDL ( Very high speed integrated circuit hardware description language). Became popular. fig 1.1 Integration circuits of VLSI 1.3 DESIGN FLOW 2 system specification Functional design X=(ABCD+A+D+A(B+C)) Logic design Y=(A(B+C)+AC+D+A(BC+D)) Circuit design Physical design Fabrication Packaging and testing fig 1.2 VLSI Design flow 3 Double s fig 1.3 Defining Moores law 4 1.4 POPULARITY OF VERILOG HDL Verilog hdl has evolved as a standard hardware description language. Verilog offers many useful features for hardware design.   Verilog is a general purpose hardware description language that is easy to learn and to use. It has thus become user friendly. Verilog allows different levels of abstraction to be mixed in the same model. Thus a designer can design a hardware model in terms of switches, gates, RTL or behavioral  codes. Verilog is one language for simulation and design. Most popular logic synthesis tools support Verilog HDL. This makes it the language of choice of designers . 1.5 TYPICAL DESIGN FLOW Typical design flow for designing VLSI circuits is shown in the tool flow diagram. This design flow is typically used by designers who use HDLs. In any design, specification are first. Specification describes the functionality, interface and overall architecture of the digital circuit to be designed. At this point, architects need not think about how they will implement their circuit. A behavioral description is then created to analyze the design in terms of functionality, performances and other high level issues. The behavioral description is manually converted to an RTL (Register Transfer Level) description in an HDL. The designer has to describe the data flow that will implement the desired digital circuit. From this point onward the design process is done with assistance of CAD tools. Logic synthesis tools convert the RTL description to a gate level netlist. A gate level net list is a description of the circuit in terms of gates and connections between them. The gate level net list is input to an automatic place and route tool, which creates a layout. The layout is verified and then fabricated on a chip. Thus most digital design activity is concentrated on manually optimizing the RTL description of the circuit. After the RTL description is frozen, CAD tools are available to assist the designer in further process Designing at RTL level has shrunk design cycle times from years to a few months. 1.6 LOW POWER VLSI: 5 The advantage of utilizing a combination of low-power components in conjunction with low-power design techniques is more valuable now than ever before. Requirements for lower power consumption continue to increase significantly as components become battery-powered, smaller and require more functionality. In the past the major concerns for the VLSI designers was area, performance and cost. Power consideration was the secondary concerned. Now a day’s power is the primary concerned due to the remarkable growth and success in the field of personal computing devices and wireless communication system which demand high speed computation and complex functionality with low power consumption. The motivations for reducing power consumption differ application to application. In the class of micro-powered battery operated portable applications such as cell phones, the goal is to keep the battery lifetime and weight reasonable and packaging cost low. For high performance portable computers such as laptop the goal is to reduce the power dissipation of the electronics portion of the system to a point which is about half of the total power dissipation. Finally For the high performance non battery operated system such as workstations the overall goal of power minimization is to reduce the system cost while ensuring long term device reliability. For such high performance systems, process technology has driven power to the fore front to all factors in such designs. At process nodes below 100 nm technology, power consumption due to leakage has joined switching activity as a primary power management concern. There are many techniques that have been developed over the past decade to address the continuously aggressive power reduction requirements of most of the high performance. The basic low-power design techniques, such as clock gating for reducing dynamic power, or multiple voltage thresholds (multi-Vt) to decrease leakage current, are well-established and supported by existing tools. In the past, the major concerns of the VLSI designer were area, performance, cost and reliability; power consideration was mostly of only secondary importance. In recent years, however, this has begun to change and, increasingly, power is being given comparable weight to area and speed considerations. Several factors have contributed to this trend. Perhaps the primary driving factor has been the remarkable success and growth of the class of personal computing devices (portable desktops, audio- and video-based multimedia products) and wireless communications systems (personal digital assistants and personal communicators) which 6 demand high-speed computation and complex functionality with low power consumption. In these applications, average power consumption is a critical design concern. The projected power budget for a battery-powered, A4 format, portable multimedia terminal, when implemented using off-the-shelf components not optimized for low-power operation, is about 40 W. With advanced Nickel-Metal-Hydride (secondary) battery technologies offering around 65 watt W hours/kilograms, this terminal would require an unacceptable 6 kilograms of batteries for 10 hours of operation between recharges. Even with new battery technologies such as rechargeable lithium ion or lithium polymer cells, it is anticipated that the expected battery lifetime will increase to about 90-110 watthours/kilogram over the next 5 years which still leads to an unacceptable 3.6-4.4 kilograms of battery cells. In the absence of low-power design techniques then, current and future portable devices will suffer from either very short battery life or very heavy battery pack. There also exists a strong pressure for producers of high-end products to reduce their power consumption. Contemporary performance optimized microprocessors dissipate as much as 15-30 W at 100-200 MHz clock rates. In the future, it can be extrapolated that a 10 cm2 microprocessor, clocked at 500 MHz (which is a not too aggressive estimate for the next decade) would consume about 300 W. The cost associated with packaging and cooling such devices is prohibitive. Since core power consumption must be dissipated through the packaging, increasingly expensive packaging and cooling strategies are required as chip power consumption increases. Consequently, there is a clear financial advantage to reducing the power consumed in high performance systems. In addition to cost, there is the issue of reliability. High power systems often run hot, and high temperature tends to exacerbate several silicon failure mechanisms. Every 10 °C increase in operating temperature roughly doubles a component’s failure rate . In this context, peak power (maximum possible power dissipation) is a critical design factor as it determines the thermal and electrical limits of designs, impacts the system cost, size and weight, dictates specific battery type, component and system packaging and heat sinks, and aggravates the resistive and inductive volage drop problems. It is therefore essential to have the peak power under control. Another crucial driving factor is that excessive power consumption is becoming the limiting factor in integrating more transistors on a single chip or on a multiple-chip module. Unless power consumption is dramatically reduced, the resulting heat will limit the feasible packing and performance of VLSI circuits and systems. 7 From the environmental viewpoint, the smaller the power dissipation of electronic systems, the lower the heat pumped into the rooms, the lower the electricity consumed and hence the lower the impact on global environment, the less the office noise (e.g., due to elimination of a fan from the desktop), and the less stringent the environment/office power delivery or heat removal requirements. The motivations for reducing power consumption differ from application to application. In the class of micro-powered battery-operated, portable applications, such as cellular phones and personal digital assistants, the goal is to keep the battery lifetime and weight reasonable and the packaging cost low. Power levels below 1-2 W, for instance, enable the use of inexpensive plastic packages. For high performance, portable computers, such as laptop and notebook computers, the goal is to reduce the power dissipation of the electronics portion of the system to a point which is about half of the total power dissipation (including that of display and hard disk). Finally, for high performance, non battery operated systems, such as workstations, set-top computers and multimedia digital signal processors, the overall goal of power minimization is to reduce system cost (cooling, packaging and energy bill) while ensuring long-term device reliability. These different requirements impact how power optimization is addressed and how much the designer is willing to sacrifice in cost or performance to obtain lower power dissipation. The next question is to determine the objective function to minimize during low power design. The answer varies from one application domain to next. If extending the battery life is the only concern, then the energy (that is, the power-delay product) should be minimized. In this case the battery consumption is minimized even though an operation may take a very long time. On the other hand, if both the battery life and the circuit delay are important, then the energy-delay product must be minimized. In this case one can alternatively minimize the energy/delay ratio (that is, the power) subject to a delay constraint. In most design scenarios, the circuit delay is set based on system-level considerations, and hence during circuit optimization, one minimizes power under user-specified timing constraints. 8 CHAPTER-2 POWER DISSIPATION 2.1 POWER DISSIPATION BASICS: In a circuit three components are responsible for power dissipation: dynamic power, short-circuit power and static power. Out of these, dynamic power or switching power is primarily power dissipated when charging or discharging capacitors and is described below : Pdyn = CL Vdd2α f Where CL: Load Capacitance, a function of fan-out, wirelength, and transistor size, Vdd: Supply Voltage, which has been dropping with successive process nodes, α: Activity Factor, meaning how often, on average, the wires switch, f :Clock Frequency, which is increasing at each successive process node. Static power or leakage power is a function of the supply voltage(Vdd), the switching threshold (Vt), and transistor sizes (figure2). As process nodes shrink, leakage becomes a more significant source of energy use, consuming at least 30% of total power. Crowbar currents, caused when both the PMOS and NMOS devices are simultaneously on, also contribute to the leakage power dissipation. Most circuit level minimization techniques focus only on Sub threshold leakage reduction without considering the effects of gate leakage. been proposed for reduction of sub-threshold leakage current in sleep mode. Figure-2 shows the various components responsible for power dissipation in CMOS. fig2.1 Power Dissipation in CMOS 9 2.2 SUB-THRESHOLD: In the medium performance, medium power consumption design region, numerous optimization efforts have been made. However, not much study has been done at the two ends of the design spectrum, namely ultra low power with acceptable performance at one end, and high performance design with power within specified limit at the other end. This paper focuses on design techniques for ultra low power dissipation where performance is of secondary importance. One way to achieve this goal is by running the digital circuits in sub-threshold mode. The incentive of operating the circuit in sub-threshold mode is to able to exploit the subthreshold leakage current as the operating drive current. The sub-threshold current is exponentially related to the gate voltage. This exponential relationship is expected to give an exponential increase in delay. The simulation results show that the reduction in power outweighs the increase in delay, and thus, giving the overall reduction in energy consumption per switching. Sub-threshold digital circuits will be suitable only for specific application which do not need high performance, but require extremely low power consumptions. This type of applications includes medical equipments such as hearing aids and pace maker, wearable wrist watch computation, and self powered devices. Sub-threshold circuits can also be applied to application with bursty characteristics in which the circuits remain idle for an extended period of time. The original active time period T in strong inversion region (top off) is being extended throughout the idle time period T running in sub-threshold region(bottom half). The same number of operations is performed in both cases, but with much lower power consumption in the sub-threshold operation. Sub-threshold logic operates with the power supply Vdd less than the transistors threshold voltage Vt. This is done to ensure that all the transistors are indeed operating in the sub-threshold region. We use 90nm process technology for our circuit simulation with Vt of NMOS and PMOS transistor as 0.169v and 0.178V respectively. In subthreshold region, for Vds>3kT/q, Ids becomes independent of Vds for all practical purposes. In analog design, this favorable characteristic has been extensively exploited as it provides an excellent current source that spans for almost the entire rail to rail voltage range. In digital design, circuit designers can take 10 advantage of this characteristic by being able to use more series connected transistors. The 3kT/q drop is practically negligible compared to the Vt drop in the normal strong inversion region. Static CMOS is the most common logic style used in sub-threshold due to its robustness. Pseudo-NMOS has also been proposed because some of its disadvantages in strong inversion are mitigated in sub-threshold. The always-on PMOS pull up in pseudo- NMOS is less sensitive to changes in size, but more sensitive to process variations. As a result, the pseudo-NMOS logic style cannot function well in strong-PMOS technologies, because variations in the pull-up device can cause it to overpower the pull-down network despite efforts to counteract this by sizing. Specifically, the distribution of the output low logic level (VOL) can reach nearly to VDD. This sensitivity dramatically reduces the yield of pseudo- NMOS logic for strong-P processes. Static CMOS logic is more robust across different process balances in terms of functionality. However, different metrics applied to static CMOS will vary broadly as process balance changes. This has strong implications for standard cells designed to operate in sub-threshold. Characterization of standard cell libraries will vary dramatically with technology. RAPID advances in digital circuit design have enabled a number of applications requiring complex sensor networks. This application space ranges widely from environmental sensing to structural monitoring to supply chain management. Highly integrated sensor network platforms would combine MEMS sensing capabilities with b digital processing and storage hardware, a low power radio, and an on-chip battery in a volume on the order of 1 mm . The design of energy-efficient data processing and storage elements is therefore paramount. Voltage scaling into the sub-threshold regime has recently been shown to be an extremely effective technique for achieving minimum energy. In previous work, we demonstrated the existence of a minimum energy voltage , where CMOS logic reaches maximum energy efficiency per operation. This occurs when leakage energy and dynamic energy are comparable. Fig shows the simulated energy consumption of a chain of 50 inverters as a function of supply voltage in 0.13- m technology. 11 2.3 STANDARD CMOS INVERTER: fig 2.2 Schematic of CMOS inverter using sub threshold fig2.3 Schematic diagram of NAND gate 12 The schematic circuit of the basic NAND gate is shown in figure where the nand gate is operated in sub-threshold region. The sizing of the pmos to nmos is done by using some spice calculations. In the sub-threshold region of operation the the pmos to nmos ratio is high in order get proper outputs. The capacitance of the drain and source plays a major role in effecting the outputs. In sub-threshold region of operation the power consumption is reduced by increasing the delay of the circuit fig2.4 Schematic diagram of NOR GATE 2.4 POWER GATING LOGIC: Power gating affects design architecture more than clock gating. It increases time delays, as power gated modes have to be safely entered and exited. Architectural trade-offs exist 13 between designing for the amount of leakage power saving in low power modes and the energy dissipation to enter and exit the low power modes. Shutting down the blocks can be accomplished either by software or hardware. Driver software can schedule the power down operations. Hardware timers can be utilized. A dedicated power management controller is another option. An externally switched power supply is a very basic form of power gating to achieve long term leakage power reduction. To shut off the block for small intervals of time, internal power gating is more suitable. CMOS switches that provide power to the circuitry are controlled by power gating controllers. Outputs of the power gated block discharge slowly. Hence output voltage levels spend more time in threshold voltage level. This can lead to larger short circuit current. Power gating uses low-leakage PMOS transistors as header switches to shut off power supplies to parts of a design in standby or sleep mode. NMOS footer switches can also be used as sleep transistors. Inserting the sleep transistors splits the chip's power network into a permanent power network connected to the power supply and a virtual power network that drives the cells and can be turned off. Typically, high-Vt sleep transistors are used for power gating, in a technique also known as multi-threshold CMOS (MTCMOS). The sleep transistor sizing is an important design parameter. The quality of this complex power network is critical to the success of a power-gating design. Two of the most critical parameters are the IR-drop and the penalties in silicon area and routing resources. Power gating can be implemented using cell- or cluster-based (or fine grain) approaches or a distributed coarse-grained approach. Power gating implementation has additional considerations for timing closure implementation. The following parameters need to be considered and their values carefully chosen for a successful implementation of this methodology. 1. Power gate size: The power gate size must be selected to handle the amount of switching current at any given time. The gate must be bigger such that there is no measurable voltage (IR) drop due to the gate. As a rule of thumb, the gate size is selected to be around 3 times the switching capacitance. Designers can also choose between header (P14 MOS) or footer (N-MOS) gate. Usually footer gates tend to be smaller in area for the same switching current. Dynamic power analysis tools can accurately measure the switching current and also predict the size for the power gate. 2. Gate control slew rate: In power gating, this is an important parameter that determines the power gating efficiency. When the slew rate is large, it takes more time to switch off and switch-on the circuit and hence can affect the power gating efficiency. Slew rate is controlled through buffering the gate control signal. 3. Simultaneous switching capacitance: This important constraint refers to the amount of circuit that can be switched simultaneously without affecting the power network integrity. If a large amount of the circuit is switched simultaneously, the resulting "rush current" can compromise the power network integrity. The circuit needs to be switched in stages in order to prevent this. 4. Power gate leakage: Since power gates are made of active transistors, leakage reduction is an important consideration to maximize power savings. 2.5 POWER GATING METHODS: Fine-grain power gating: Adding a sleep transistor to every cell that is to be turned off imposes a large area penalty, and individually gating the power of every cluster of cells creates timing issues introduced by intercluster voltage variation that are difficult to resolve. Fine-grain power gating encapsulates the switching transistor as a part of the standard cell logic. Switching transistors are designed by either the library IP vendor or standard cell designer. Usually these cell designs conform to the normal standard cell rules and can easily be handled by EDA tools for implementation. The size of the gate control is designed considering the worst case scenario that will require the circuit to switch during every clock cycle, resulting in a huge area impact. Some of the recent designs implement the fine-grain power gating selectively, but only for the low Vt cells. If the technology allows multiple Vt libraries, the use of low Vt devices is minimum in the design (20%), so that the area impact can be reduced. When using power gates on the low Vt cells the output must be isolated if the next stage is a high Vt cell. Otherwise it can cause the neighboring high Vt cell to have leakage when output goes to an unknown state due to power gating. 15 Gate control slew rate constraint is achieved by having a buffer distribution tree for the control signals. The buffers must be chosen from a set of always on buffers (buffers without the gate control signal) designed with high Vt cells. The inherent difference between when a cell switches off with respect to another, minimizes the rush current during switch-on and switch-off. Usually the gating transistor is designed as a high Vt device. Coarse-grain power gating offers further flexibility by optimizing the power gating cells where there is low switching activity. Leakage optimization has to be done at the coarse grain level, swapping the low leakage cell for the high leakage one. Fine-grain power gating is an elegant methodology resulting in up to 10 times leakage reduction. This type of power reduction makes it an appealing technique if the power reduction requirement is not satisfied by multiple Vt optimization alone. Coarse-grain power gating: The coarse-grained approach implements the grid style sleep transistors which drives cells locally through shared virtual power networks. This approach is less sensitive to PVT variation, introduces less IR-drop variation, and imposes a smaller area overhead than the cell- or clusterbased implementations. In coarse-grain power gating, the power-gating transistor is a part of the power distribution network rather than the standard cell. There are two ways of implementing a coarse-grain structure: 1. Ring-based: The power gates are placed around the perimeter of the module that is being switched-off as a ring. Special corner cells are used to turn the power signals around the corners. 2. Column-based: The power gates are inserted within the module with the cells abutted to each other in the form of columns. The global power is the higher layers of metal, while the switched power is in the lower layers. Gate sizing depends on the overall switching current of the module at any given time. Since only a fraction of circuits switch at any point of time, power gate sizes are smaller as compared to the fine-grain switches. Dynamic power simulation using worst case vectors can determine the worst case switching for the module and hence the size. The IR drop can also be factored into the analysis. Simultaneous switching capacitance is a major consideration in coarse-grain power 16 gating implementation. In order to limit simultaneous switching, gate control buffers can be daisy chained, and special counters can be used to selectively turn on blocks of switches. Isolation cells Isolation cells are used to prevent short circuit current. As the name suggests, these cells isolate the power gated block from the normally-On block. Isolation cells are specially designed for low short circuit current when input is at threshold voltage level. Isolation control signals are provided by the power gating controller. Isolation of the signals of a switchable module is essential to preserve design integrity. Usually a simple OR or AND logic can function as an output isolation device. Multiple state retention schemes are available in practice to preserve the state before a module shuts down. The simplest technique is to scan out the register values into a memory before shutting down a module. When the module wakes up, the values are scanned back from the memory. Retention registers When power gating is used, the system needs some form of state retention, such as scanning out data to a RAM, then scanning it back in when the system is reawakened. For critical applications, the memory states must be maintained within the cell, a condition that requires a retention flop to store bits in a table. That makes it possible to restore the bits very quickly during wakeup. Retention registers are special low leakage flip-flops used to hold the data of main register of the power gated block. Thus internal state of the block during power down mode can be retained and loaded back to it when the block is reactivated. Retention registers are always powered up. The retention strategy is design dependent. During the power gating data can be retained and transferred back to block when power gating is withdrawn. Power gating controller controls the retention mechanism such as when to save the current contents of the power gating block and when to restore it back. The large magnitude of supply/ground bounces, which arise from power mode transitions in power gating structures, may cause spurious transitions in a circuit. This can result in wrong values being latched in the circuit registers. We propose a design methodology for limiting the maximum value of the supply/ground currents to a user-specified threshold level while minimizing the wake up (sleep to active mode transition) time. In addition to controlling the sudden discharge of the accumulated charge in the intermediate nodes of the circuit through the 17 sleep transistors during the wake up transition, we can eliminate short circuit current and spurious switching activity during this time. This is in turn achieved by reducing the amount of charge that must be removed from the intermediate nodes of the circuit and by turning on different parts of the circuit in a way that causes a uniform distribution of current over the wake up time. Simulation results show that, compared to existing wakeup scheduling methods, the proposed techniques result in a one to two orders of magnitude improvement in the product of the maximum ground current and the wake up time. The most obvious way of reducing the leakage power dissipation of a VLSI circuit in the STANDBY state is to remove its supply voltage. Multi-threshold CMOS (MTCMOS) technology provides low leakage and high performance operation by utilizing high speed, low Vt transistors for logic cells and low leakage, high Vt devices as sleep transistors. Sleep transistors disconnect logic cells from the power supply and/or ground to reduce the leakage in sleep mode. More precisely, this can be done by using one PMOS transistor and one NMOS transistor in series with the transistors of each logic block to create a virtual ground and a virtual power supply as depicted 2 in Figure. In practice only one transistor is necessary. Because of the lower onresistance, NMOS transistors are usually used. fig 2.5 Power Gating Technique 18 2.6 POWER GATING: fig 2.6 logic circuit with power gating technique In the ACTIVE state, the sleep transistor is on. Therefore, the circuit functions as usual. In the STANDBY state, the transistor is turned off, which disconnects the gate from the ground. To lower the leakage, the threshold voltage of the sleep transistor must be large. Otherwise, the sleep transistor will have a high leakage current, which will make the power gating less effective. Additional savings may be achieved if the width of the sleep transistor is smaller than the combined width of the transistors in the pull-down network. In practice, Dual VT CMOS or Multi-Threshold CMOS (MTCMOS) is used for power gating. In these technologies there are several types of transistors with different VT values. Transistors with a low VT are used to implement the logic, while high-VT devices are used as sleep transistors. To guarantee the proper functionality of the circuit, the sleep transistor has to be carefully sized to decrease the voltage drop across it when the sleep transistor is turned on. The voltage drop decreases the effective value of the supply voltage that the logic gate receives. In addition, it increases the threshold voltage of the pull-down transistors due to the body effect. This phenomenon in turn increases the high-to-low transition delay of the circuit. The problem can be 19 solved by using a large sleep transistor. On the other hand, using a large sleep transistor increases the area overhead and the dynamic power consumed for turning the sleep transistor on and off. Note that because of this dynamic power consumption, it is not possible to save power for very short idle periods. There is a minimum duration of the idle time below which power saving is impossible. Fig 2.7: Using one sleep transistor for several gates Since using one transistor for each logic gate results in a large area and power overhead, one transistor may be used for each group of gates as depicted in Figure. Notice that the size of the sleep transistor in this figure ought to be larger than the one used in Figure. To find the optimum size of the sleep transistor, it is necessary to find the vector that causes the worst case delay in the circuit. This requires simulating the circuit under all possible input values, a task that is not possible for large circuits. In this technology, also called power gating, wake up latency and power plane integrity are key concerns. Assuming a sleep/wake up signal provided from a power management unit, an important issue is to minimize the time required to turn on the circuit upon receiving the wake up signal since the length of wake up time can affect the overall performance of the VLSI circuit. Furthermore, the large current flowing to ground when sleep transistors are turned on can become a major source of noise on the power distribution network, which can in turn adversely 20 impact the performance and/or functionality of the other parts of the circuit. There is trade off between the amount of current flowing to ground and the transition time from the sleep mode to the active mode. In this paper we introduce an approach for reducing the transition time from sleep mode to active mode for a circuit part while assuring power integrity for the rest of the system by restricting the current that flows to ground during the transition. The problem is to minimize the wakeup time while constraining the current flowing to ground during the sleep to active mode transition. During the process we will also consider another important objective: limiting the number of sleep transistors. It is a well known fact that there is no need to have both NMOS and PMOS sleep transistors to encapsulate a logic cell. In particular, NMOS sleep transistors can be used to separate the (actual) ground from the virtual ground of the logic cell. Upon entering the sleep mode, a circuit block is disconnected from the ground. This causes the voltage levels of some intermediate nodes in the circuit block to rise toward Vdd. When the circuit block is woken up, the nodes will transition to zero. This transition in turn causes the logic cells in the immediate fanout of the node to carry a potentially large amount of short circuit current as explained next. Consider the inverter chain shown in Figure, which is connected to the ground through an NMOS sleep transistor. 21 fig 2.8 graph showing the voltage waveforms of nodes C, E, and G generated by HSPICE simulation. While turning on the sleep transistor, nodes G, C and E discharges. If the input of the circuit is low, then, in the active mode (i.e., SLEEP=0), VA=VC=VE=VG=0 and VB=VD=VDD. When entering the sleep mode, the voltages of B and D do not change, but the voltages of C, E, and G gradually increase and will be equal to VDD if the sleep period is long enough (note the driver of signal A is not controlled by the SLEEP signal). This happens because the leakage through the PMOS transistors will charge up all the floating capacitances. Figure 2.7 shows the voltage waveforms of nodes C, E, and G generated by HSPICE simulation. While turning on the sleep transistor, nodes G, C and E discharge as depicted in Figure. 22 fig 2.9 graph showing the voltage waveforms of nodes C, E, and G generated by HSPICE simulation during active mode Power gating is a circuit design technique which reduces the static power consumption of a digital circuit by inserting power switches in the supply path, and has been most widely used in industrial products. There are two implemented schemes of power gating technique: coarse-grain power gating, in which complete blocks are disconnected from the power supply and the ground through a common power switch, and fine-grain power gating, in which every standard cell contains a sleep transistor internally. Different power gating topologies for MCML circuits are depicted in Figure. The solutions (a) and (b) use a transistor to pull down the bias voltage VRFN to ground during the sleep mode. Solution (c) applies just a ON signal to the gate of the current source and connects the bulk voltage to the bias voltage VRFN. Options (d) and (e) consist of an additional sleep transistor in series with the current source and Vdd, respectively. 23 fig 2.10 Circuits with Sleepy approach Solution (a) was discarded since it uses a follower amplifier which leads to a significant area overhead. With 500mV to 1 V voltage to modulate the bias current, solution is difficult to be implemented in practice. Option and are not suite the near-threshold circuits because the additional sleep transistors will further decease the operation voltage. For all the above reasons, we selected solution to implement the power-gating near-threshold MCML circuits. The proposed scheme of power-gating near-threshold MCML circuits is shown in Figure 24 fig 2.11 Scheme of power-gating MCML circuits fig 2.12 Strategy to reduce leakage current in standby mode: 25 Here sleep transistors M 1 and M2 are stacked. When in standby mode i. e.When MI and M2 both are off. In this structure firstly, the leakage current is reduced by stacking effect, turning both M 1 and M2 sleep transistors OFF. This raises the intermediate node voltage VGN to positive values to small drain current. In the analyzed scheme, the leakage current is reduced by the stacking effect, turning both Ml and M2 sleep transistors OFF. This raises the intermediate node voltage VGND2 to positive values due to small drain current. Positive potential at the intermediate node has four effects: 26 CHAPTER-3 CMOS ADIABATIC CIRCUITS 3.1 CMOS adiabatic circuits: There are some classical approaches to reduce the dynamic power such as reducing supply voltage, decreasing physical capacitance and reducing switching activity. These techniques are not fit enough to meet today’s power requirement. However, most research has focused on building adiabatic logic, which is a promising design for low power applications. Adiabatic logic works with the concept of switching activities which reduces the power by giving stored energy back to the supply. Thus, the term adiabatic logic is used in low-power VLSI circuits which implements reversible logic. In this, the main design changes are focused in power clock which plays the vital role in the principle of operation. Each phase of the power clock gives user to achieve the two major design rules for the adiabatic circuit design.  Never turn on a transistor if there is a voltage across it (VDS>0)  Never turn off a transistor if there is a current through it (IDS≠ 0)  Never pass current through a diode If these conditions with regard to the inputs, in all the four phases of power clock, recovery phase will restore the energy to the power clock, resulting considerable energy saving. Yet some complexities in adiabatic logic design perpetuate. Two such complexities, for instance, are circuit implementation for time-varying power sources needs to be done and computational implementation by low overhead circuit structures needs to be followed. There are two big challenges of energy recovering circuits; first, slowness in terms of today’s standards, second it requires ~50% of more area than conventional CMOS, and simple circuit designs get complicated. The basic concepts of Adiabatic logic will be introduced. “Adiabatic” is a term of Greek origin that has spent most of its history associated with classical thermodynamics. It refers to a system in which a transition occurs without energy (usually in the form of heat) being either lost to or gained from the system. In the context of electronic systems, rather than heat, electronic charge is preserved. 3.2 ADIABATIC LOGIC BASED FULL ADDER: 27 Energy efficient adiabatic logic: EEAL requires only one sinusoidal power supply, has simple implementation, and performs better than the previously proposed adiabatic logic families in terms of energy consumption. As single clock circuit requires simple clock scheme, this logic style can enjoy minimal control overheads. Assuming the complementary output nodes (“out” and “outb”) are initially low and supply clock ramps up from logic 0 to (“0”) to logic 1(“VDD”) state. Now if “in”=”0” and inb=”1” N1, M1 will be turned off and M2,N2 and P1 will be turned ON. The OUT node is then charged by following power supply clock closely through the parallel combination of PMOS (P1) and NMOS (M2), whereas “outb” potential is kept at ground potential, as N2 is ON. When the supply clock swings from “VDD” to ground, “out” Node is discharged through the same charging path and un-driven “outb” is kept at ground potential. Resultantly full swing can be obtained in “out” node and ground potential at “outb” node. Output voltage swing for an adiabatic inverter at 100 MHz frequencies with 20pf capacitive load is shown in figure 1. Fig3.1. FULL ADDER Circuit 28 The energy advantage of EEAL circuit can be readily understood by assuming a ramp type voltage source which ramps up between “0” and “VDD” and delivers the charge CLVDD over a time period T. The Dissipation through the channel resistance R is, Similarly, energy consumption during charging and discharging process of the EEAL inverter/buffer can be expressed as, Hence Rp is the turn-on resistance of the parallel path,CL is the output load capacitances, T is the charging time and ฀V depends on the time, yet due to very small magnitude and the parameter is treated as constant. In Equation (2) measure the threshold loss which is negligibly small indeed. In EEAL as charging and discharging processes consume almost similar amount of energy, total energy dissipation for a complete cycle can be expressed as, 3.2 CARRY LOOK AHEAD ADDER METHOD: Carry look ahead logic uses the concepts of generating and propagating carries. Although in the context of a carry look ahead adder, it is most natural to think of generating and propagating in the context of binary addition, the concepts can be used more generally than this. In the descriptions below, the word digit can be replaced by bit when referring to binary addition. The addition of two 1-digit inputs A and B is said to generate if the addition will always carry, regardless of whether there is an input carry (equivalently, regardless of whether any less significant digits in the sum carry). For example, in the decimal addition 52 + 67, the addition of the tens digits 5 and 6 generates because the result carries to the hundreds digit regardless of whether the ones digit carries (in the example, the ones digit does not carry (2+7=9)). A carry-look ahead adder (CLA) is a type of adder used in digital logic. A carry-look ahead adder improves speed by reducing the amount of time required to determine carry bits. It can be contrasted with the simpler, but usually slower, ripple carry adder for which the carry bit is calculated alongside the sum bit, and each bit must wait until the previous carry has been 29 calculated to begin calculating its own result and carry bits (see adder for detail on ripple carry adders). The carry-look ahead adder calculates one or more carry bits before the sum, which reduces the wait time to calculate the result of the larger value bits. The Kogge-Stone adder and Brent-Kung adder are examples of this type of adder. A ripple-carry adder works in the same way as pencil-and-paper methods of addition. Starting at the rightmost (least significant) digit position, the two corresponding digits are added and a result obtained. It is also possible that there may be a carry out of this digit position (for example, in pencil-and-paper methods, "9+5=4, carry 1"). Accordingly all digit positions other than the rightmost need to take into account the possibility of having to add an extra 1, from a carry that has come in from the next position to the right. This means that no digit position can have an absolutely final value until it has been established whether or not a carry is coming in from the right. Moreover, if the sum without a carry is 9 (in pencil-and-paper methods) or 1 (in binary arithmetic), it is not even possible to tell whether or not a given digit position is going to pass on a carry to the position on its left. At worst, when a whole sequence of sums comes to ...99999999... (in decimal) or ...11111111... (in binary), nothing can be deduced at all until the value of the carry coming in from the right is known, and that carry is then propagated to the left, one step at a time, as each digit position evaluated "9+1=0, carry 1" or "1+1=0, carry 1". It is the "rippling" of the carry from right to left that gives a ripple-carry adder its name, and its slowness. When adding 32-bit integers, for instance, allowance has to be made for the possibility that a carry could have to ripple through every one of the 32 one-bit adders. 30 Fig 3.2. Cary look ahead adder Block Diagram Carry look ahead depends on two things: 1. Calculating, for each digit position, whether that position is going to propagate a carry if one comes in from the right. 2. Combining these calculated values to be able to deduce quickly whether, for each group of digits, that group is going to propagate a carry that comes in from the right. Supposing that groups of 4 digits are chosen. Then the sequence of events goes something like this: 1. All 1-bit adders calculate their results. Simultaneously, the look ahead units perform their calculations. 2. Suppose that a carry arises in a particular group. Within at most 5 gate delays, that carry will emerge at the left-hand end of the group and start propagating through the group to its left. 3. If that carry is going to propagate all the way through the next group, the look ahead unit will already have deduced this. Accordingly, before the carry emerges from the next group the look ahead unit is immediately (within 1 gate delay) able to tell the next group to the left that it is going to receive a carry - and, at the same time, to tell the next look ahead unit to the left that a carry is on its way. 31 The net effect is that the carries start by propagating slowly through each 4-bit group, just as in a ripple-carry system, but then move 4 times as fast, leaping from one look ahead carry unit to the next. Finally, within each group that receives a carry, the carry propagates slowly within the digits in that group. The more bits in a group, the more complex the look ahead carry logic becomes, and the more time is spent on the "slow roads" in each group rather than on the "fast road" between the groups (provided by the look ahead carry logic). On the other hand, the fewer bits there are in a group, the more groups have to be traversed to get from one end of a number to the other, and the less acceleration is obtained as a result. Deciding the group size to be governed by look ahead carry logic requires a detailed analysis of gate and propagation delays for the particular technology being used. It is possible to have more than one level of look ahead carry logic, and this is in fact usually done. Each look ahead carry unit already produces a signal saying "if a carry comes in from the right, I will propagate it to the left", and those signals can be combined so that each group of (let us say) four look ahead carry units becomes part of a "super group" governing a total of 16 bits of the numbers being added. The "super group" look ahead carry logic will be able to say whether a carry entering the super group will be propagated all the way through it, and using this information, it is able to propagate carries from right to left 16 times as fast as a naive ripple carry. With this kind of two-level implementation, a carry may first propagate through the "slow road" of individual adders, then, on reaching the left-hand end of its group, propagate through the "fast road" of 4-bit look ahead carry logic, then, on reaching the left-hand end of its super group, propagate through the "superfast road" of 16-bit look ahead carry logic. 32 CHAPTER-4 FULL ADDER AND CARRY LOOK A HEAD ADDER USING ADIABATIC POWER GATING 4.1 ADIABATIC POWERGATING FA SCHEMATIC: fig 4.1 Adiabatic Power gating Full adder 4.2 CLA SCHEMATIC IN TANNER: 33 fig 4.2.1 carry look ahead adder schematic WAVEFORM: CLA v(S2) 5.5 v(S4) v(S5) v(Cin) 5.0 v(A) v(B) v(S6) 4.5 v(Cout ) v(S7) v(CLK) 4.0 v(S0) v(S3) v(S1) Voltage (V) 3.5 3.0 2.5 2.0 1.5 1.0 0.5 0.0 -0. 5 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 Time (us) fig 4.2.2 carry look ahead adder simulation 34 0.9 1.0 4.3 ADIABATIC CLA SCHEMATIC: fig 4.3.1 Adiabatic CLA Schematic 4.3.2 WAVEFORM: adiabatic_CLA v(S2) 5.5 v(S4) v(S5) v(CLK) 5.0 v(B) v(A) v(S6) 4.5 v(S7) v(Cout ) v(C) 4.0 v(S0) v(S3) Voltage (V) 3.5 v(S1) 3.0 2.5 2.0 1.5 1.0 0.5 0.0 -0. 5 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 Time (us) fig 4.3.2 Adiabatic CLA Simulation 35 0.8 0.9 1.0 4.4 POWERGATING CLA SIMULATION: CLA_P v(S1) 5.5 v(S2) v(S7) v(Cin) 5.0 v(A) v(B) v(S6) 4.5 v(S4) v(S5) v(S0) 4.0 Voltage (V) 3.5 3.0 2.5 2.0 1.5 1.0 0.5 0.0 -0. 5 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 Time (us) fig4.4.1 Power Gating CLA waveform 4.5 ADIABATIC CLA POWERGATING SIMULATION: Adi_CLA_PG v(S2) 5.5 v(S4) v(S5) v(CLK) 5.0 v(B) v(A) 4.5 v(S6) v(S7) v(Cout ) 4.0 v(C) v(S0) v(S3) 3.5 v(S1) Voltage (V) 3.0 2.5 2.0 1.5 1.0 0.5 0.0 -0. 5 -1. 0 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 Time (us) fig 4.5.1 Adiabatic CLA power gating waveform 36 0.9 1.0 CHAPTER-5 SOFTWARE DESCRIPTION 5.1 TANNER EDA: Tanner EDA tools for analog and mixed-signal ICs and MEMS design offers designers a seamless, efficient path from design capture through verification. Our powerful, robust tool suite is ideal for applications including Power Management, Life Sciences / Biomedical, Displays, Image Sensors, Automotive, Aerospace, RF, Photovoltaics, Consumer Electronics and MEMS. 5.2 TANNER EDA INCLUDES:  S-EDIT (SCHEMATIC EDIT)  W-EDIT(WAVEFORM EDIT)  T-SPICE 5.2.1 S-EDIT: • S-Edit brings to front-end design capture the ease-of-use and design productivity for which Tanner Tools™ are known • A fully user-programmable design environment allows you to remap hotkeys, create new toolbars, and customize the view to your preference; all in a streamlined GUI • The complete user interface is available in multiple languages. S-Edit currently supports English, Japanese, Simplified and Traditional Chinese. • S-Edit provides Unicode support. All user data can be entered in international character sets • S-Edit imports schematics via Open Access or via EDIF from third-party tools, including Cadence, Mentor, Laker and View Draw with automatic conversion of schematics and properties for seamless integration of legacy data. 37 • Netlists can be exported in flexible, user-configurable formats, including SPICE and CDL variants, EDIF, structural Verilog, and structural VHDL. • Library support in S-Edit maximizes the reuse of IP developed in previous projects, or imported from third-party vendors. • S-Edit provides an ideal performance-to-cost ratio, allowing you to maximize the number of designers on a project. • Since S-Edit runs on Windows® and Linux® platforms, designers can work on costeffective workstations or laptops. This means you can take your work with you anywhere—even home—and continue working to meet time-to-market pressures. • Available in two configurations—full schematic editor, and schematic viewer. 5.2.2 W-EDIT: Visualizing the complex numerical data resulting from VLSI circuit simulation is critical to testing, understanding, and improving those circuits. W-Edit is a waveform viewer that provides ease of use, power, and speed in a flexible environment designed for graphical data presentation. The advantages of W-Edit include: • Tight integration with T-Spice, Tanner EDA’s circuit-level simulator. W-Edit can chart data generated by T-Spice directly, without modification of the output data files. W-Edit charts data dynamically as it is produced during the simulation. • ƒCharts are automatically configured for the type of data being presented. • ƒA data set is treated by W-Edit as a unit called a trace. Multiple traces from different output files can be viewed simultaneously, in single or multiple windows. You can copy and move traces between charts and windows. • You can perform trace arithmetic or spectral analysis on existing traces to create new ones. • ƒ You can pan back and forth and zoom in and out of chart views, including specifying the exact x-y coordinate range W-Edit displays. • You can measure positions and distances between points easily and precisely with the mouse. 38 • ƒ You can customize properties of axes, traces, grids, charts, text, and colors. Numerical data is input to W-Edit in the form of plain or binary text files. Header and comment information supplied by T-Spice is used for automatic chart configuration. Runtime update of results is made possible by linking W-Edit to a running simulation in T-Spice. W-Edit saves information on chart, trace, axis, and environment settings in files with the .wdb (W-Edit Database) extension. You can load a .wdb file in conjunction with a data file to automatically apply saved formats and environment settings. The .wdb file does not contain any trace data. You can launch W-Edit from the Windows Start menu or by using one of the W-Edit shortcuts included in T-Spice Pro applications. To launch W-Edit from the Start menu, click the Start button on the Windows taskbar and navigate to Programs > Tanner EDA > T-Spice Pro vx.y > W-Edit, where x.y is the version number of T-Spice Pro. The display area consists of the entire W-Edit interface not occupied by the title bar, menu bar, toolbar, or status bar. W-Edit has a multiple document interface (MDI): you can open, view, edit, resize, minimize, or rearrange multiple windows in the display area. The actual area available to contain windows is much larger than the area viewable at any one time; vertical and horizontal scrollbars appear along the sides of the display area if any windows extend beyond the current viewable area. The largest discrete unit in the display area is the window. You can have multiple windows open but only one window can be active at any given time. The title bar of the active window is highlighted. To make a window active, either click in the desired window or select it from the list of open files in the Window menu. You can scroll in windows, and they can be minimized, zoomed (maximized), resized, moved, tiled, and layered (cascaded). Each window in W-Edit consists of one or more charts. A chart contains a rectangular x- and yaxis system, with two-dimensional data in the form of individual continuous curves called traces. Auxiliary items—grid lines, tick marks, and explanatory labels—are also included in charts. 39 W-Edit uses built-in ratios to determine the size of the axis system and the positions of the title, labels, and legends in a chart. When you change the chart size, W-Edit adjusts the size and position of chart elements accordingly. Traces are formed from columns of numbers in the data file. Generally, there is one x-column and one corresponding y-column to make up the (x,y) pair of coordinates that form a trace. For information about data columns, Traces that represent individual sweeps from a .step or .alter command are grouped into trace families. Each trace family contains all parameter sweeps or .alter simulations for a dependent variable. Traces in a family can be edited individually, but all trace family members share the same label and a single entry in the chart legend. A W-Edit input data file is the file that contains numerical simulation data. The data file also contains supplementary information about units, labels, analysis types, and parameter values that W-Edit uses to construct a visible representation of the data. Data files are generated by T-Spice, or you can use a text editor or another simulation tool to create them. W-Edit reads two types of data files: .out files, which contain the numeric information as text; and .dat files, which contain the numeric information in binary format. In general, .out files are created from T-Spice simulations. 5.2.3 T-SPICE: Tanner T-Spice™ Circuit Simulator puts you in control of simulation jobs with an easyto-use graphical interface and a faster, more intuitive design environment. With key features such as multi-threading support, device state plotting, real-time waveform viewing and analysis, and a command wizard for simpler SPICE syntax creation, T-Spice saves you time and money during the simulation phase of your design flow. T-Spice enables more accurate simulations by supporting the latest transistor models— including BSIM4 and the Penn State Philips (PSP) model. Given that T-Spice is compatible with 40 a wide range of design solutions and runs on Windows® and Linux® platforms, it fits easily and cost effectively into your current tool flow. T-Spice provides extensive support of behavioral models using Verilog-A, expression controlled sources, and table-mode simulation. Behavioral models give you the flexibility to create customized models of virtually any device. T-Spice also supports the latest industry models, including the transistor model recently selected as the next standard for simulating future CMOS transistors manufactured at 65 nanometers and below—the Penn State Philips (PSP) model. PSP will simplify the exchange of chip design information and support more accurate digital, analog, and mixed-signal circuit behavior analysis. T-Spice also supports foundry extensions, including HSPICE® foundry extensions to models. • Supports PSP, BSIM3.3, BSIM4.6, BSIM SOI 4.0, EKV 2.6, MOS 9, 11, 20, 30, 31, 40, PSP, RPI a-Si & Poly-Si TFT, VBIC, Modella, and MEXTRAM models. • Includes two stress effect models, from the Berkeley BSIM4 model and from TSMC processes, in the BSIM3 model to provide more accuracy in smaller geometry processes. • Supports gate and body resistance networks in RF modeling. • Performs non-quasi-static (NQS) modeling. • Supports comprehensive geometry-based parasitic models for multi-finger devices. • Models partially depleted, fully depleted, and unified FD-PD SOI devices. • Models self-heating and RF resistor networks. • Performs table-based modeling for using measured device data to model a device. • Includes enhanced diode and temperature equations to improve compatibility with many foundry model libraries. T-Spice helps integrate your design flow from schematic capture through simulation and waveform viewing. An easy-to-use point-and-click environment gives you complete control over the simulation process for greater efficiency and productivity. • Enables easy creation of syntax-correct SPICE through a command wizard. • Highlights SPICE Syntax through a text editor. • Provides Fast, Accurate, and Precise options to enable optimal balance of accuracy and performance. • Enables you to link from syntax errors to the SPICE deck by double clicking. 41 • Supports Verilog-A for analog behavioral modeling, allowing designers to prove system level designs before doing full device level design. • Provides “.alter” command for easy what-if simulations with netlist changes. T-Spice uses superior numerical techniques to achieve convergence for circuits that are often impossible to simulate with other SPICE programs. The types of circuit analysis it performs include: • DC and AC analysis. • Transient analysis with Gear or trapezoidal integration. • Enhanced noise analysis. • Monte Carlo analysis over unlimited variables and trials with device and lot variations. • Virtual measurements with functions for timing, error, and statistical analysis including common measurements such as delay, rise time, frequency, period, pulse width, settling time, and slew rate. • Parameter sweeping using linear, log, discrete value, or external file data sweeps. • 64-bit engine for increased capacity and higher performance. With T-Spice, you can: • Optimize designs with variables and multiple constraints by applying a LevenbergMarquardt non-linear optimizer. • Perform Safe Operating Area (SOA) checks to create robust designs. • Use bit and bus logic waveform inputs. 5.3 WORK FLOW OF TANNER: A new window will open: 42 Go to >>file >> New >> New Design Select New Design 43 One dialog box will appear Design Name : Give the name your design as you wish Create a Folder : Give the path where you want to save the S-Edit Files. Then Click on ‘OK’ 44 Now to add libraries in your work click on Add , left on the library window. Give the path where Libraries are stored . As for example C:\Documents and Settings\Bhowmik.IIIT-3AC288AD0A\My Documents\Tanner EDA\Tanner Tools v13.0\Libraries\All\All.tanner 45 Now to create new cell Go to cell menu >> New view -Select ‘New view’ 46 The new cell will appear like below: Design = your design name Cell = cell no. ( cell no you can change but your design name inv will be same for different cell. Design name should be changed only when you are going to design another circuit) View type = schematic Interface name = “by default” View name = “by default” Then press “OK”. 47 Then a cell will be appeared where we can draw the schematic of any circuit. In the black window you have seen some white bubble arranged in specific order. This is called grid. You can change grid distance by clicking on black screen and then scroll the mouse. If you want your screen big enough for design space , then you can close the Find & command window. You can again bring these window from view menu bar. 48 To make any circuit schematic . for example inverter a) Go to >>libraries & click on device then all device will be open. In instance cell You can change the values of various device parameters according to your requirements. Go to properties >> change the parameter values as your requirement. Now before clicking DONE you have to DRAG the selected device into the cell and drop it where you want it to FIX . Then click DONE or press ESC. 49 Similarly you can DRAG & DROP any device into the cell for draw your schematic circuit. For inverter we need another Pmos. 50 Now connect two device with wire. Go to tool bar and select wire Now you can give Port name as you wish in the dailog box. Then click OK 51 Similarly give Output Port name. NOTE : you can rotate the port (short cut key “R”). Now, after completed these steps, you should give the supply (VDD) & ground (GND). For that Go to liberaries >> MISC >>Select VDD or GND 52 Now you have to create a source of VDD. For that go to libraries >>spice_element >> and then select voltage source of type DC . you can give any value in vdd .lets take vdd =5v. 53 By doing all the above steps you have completed schematic of Inverter Pre layout simulation After schematic design you have to check whether your design match with the specification required or not. That’s why you need to simulate the design which is called Pre layout simulation. For simulation go to>> tools>> T-spice>> ‘ok’ 54 A T-spice window will open. Then click on the bar shown by red ellipse 55 A “T-spice command Tool “ dialog box will open as shown beow. On the 56 On the T-spice command you can see in the left hand side Analysis, Current source Files Initialization, Output Settings Table Voltage source Optimization Lets start doing transient analysis of Inverter. Step 1 : You have to include TSMC 0.18 μm Technology file . For that Go to >> T-spice command tool >> Files >> Include >> browse TSMC .18μm files >> Insert command. 57 C:\Documents and Settings\Bhowmik.IIIT-3AC288AD0A\Desktop\TSMC 0.18um\MODEL_0.18.md Step2 : Then to give Input T-spice command tool >> Voltage source >> select type of input you want to give(lets take bit) >> Insert command Step 3: Analysis T-spice command tool >> Analysis >> select type of analysis you want to give(lets take transient) >> Insert command 58 step 4: Output T-spice command tool >> Output >> which output you want to see >> Insert Command Output of Pre layout simulation of Inverter 59 CHAPTER-6 RESULTS AND POWER ANALYSIS fig 6.1 Half adder schematic fig 6.2 Half adder simulation 60 fig 6.3 full adder schematic fig 6.4 full adder simulation 61 fig 6.5 Carry look ahead adder schematic 62 fig 6.6 Carry look ahead adder simulation 63 Comparison of Conventional and Adiabatic power Consumption power consumption(nw) 2.50E-08 2.00E-08 1.50E-08 1.00E-08 CONVENTIONAL CMOS LOGIC 5.00E-09 ADIABATIC LOGIC 0.00E+00 Type of Design fig 6.7 Comparing Conventional and Adiabatic power Consumption power(nw) Temparature Vs Power 4.50E-08 4.00E-08 3.50E-08 3.00E-08 2.50E-08 2.00E-08 1.50E-08 1.00E-08 5.00E-09 0.00E+00 -40 -20 10 20 40 60 80 Temp(oC) fig 6.8 Power dissipation of 4-bit Adiabatic CLA for different temperatures. S.NO. 1. 2. TYPE OF DESIGN Inverter gate and gate CONVENTIONAL CMOS POWER (nw) ADIABATIC CMOS NO OF POWER TRANSISTORS (nw) 2.01E-08 3.78E-10 2 6 64 1.50E-09 8.44E-11 NO OF TRANSISTORS 1 2 3. 4. 5. or gate Xor gate Xnor gate 6. 7. 8. 5.96E-09 2.20E-09 6 8 4.41E-10 9.15E-10 2 4 Full adder 2.16E-09 1.00E-08 8 28 9.15E-10 2.18E-09 4 12 haf adder cla 1.02E-08 2.29E-08 14 36 1.25E-09 7.71E-09 6 15 fig 6.8Comparison of Conventional and Adiabatic CMOS Designs REFERENCES: [1] M. Alioto, “Ultralow power VLSI circuit design demystified and explained: A tutorial,” IEEE Trans. Circuits Syst. I, vol. 59, no. 1, pp. 3–29, Jan. 2012. [2] D. Bol, R. Ambroise, D. Flandre, and J. D. Legat, “Analysis and minimization of practical energy in 45 nm subthreshold logic circuits,” in Proc. IEEE Int. Conf. Comput. Design, Oct. 2008, pp. 294–300. [3] D. Markovic, C. C. Wang, L. P. Alarcon, and J. M. Rabaey, “Ultra low power design in nearthreshold region,” Proc. IEEE, vol. 98, no. 2, pp. 237–252, Feb. 2010. [4] B. Zhai, S. Hanson, D. Blaauw, and D. Sylvester, “Analysis and mitigation of variability in subthreshold design,” in Proc. Int. Symp. Low Power Electron. Design, Aug. 2005, pp. 20–25. [5] N. Verma, J. Kwong, and A. P. Chandrakasan, “Nanometer MOSFET variation in minimum energy subthreshold circuits,” IEEE Trans. Electron Devices, vol. 55, no. 1, pp. 163–174, Jan. 2008. [6] R. Swanson and J. Meindl, “Ion-implanted complementary MOS transistors in low-voltage circuits,” IEEE J. Solid-State Circuits, vol. 7, no.2, pp. 146–153, Apr. 1972. [7] B. Zhai, L. Nazhandali, J. Olson, A. Reeves, M. Minuth, R. Helfand, S. Pant, D. Blaauw, and T. Austin, “A 2.60 pJ/Inst subthreshold sensor processor for optimal energy efficiency,” in Symp. VLSI Circuits, Dig. Tech. Papers, 2006, pp. 154–155. [8] W. M. Pensey and L. Lau, MOS Integrated Circuits. New York: Van Nostrand, 1972, pp. 260–282. 65 [9] H. Soeleman, K. Roy, and B. Paul, “Sub-domino logic: Ultralow power dynamic subthreshold digital logic,” in Proc. 14th Int. Conf. VLSI Design, 2001, pp. 211–214. [10] H. Yamada, T. Hotta, T. Nishiyama, F. Murabayashi, T. Yamauchi, and H. Sawamoto, “A 13.3 ns double-precision floating-point ALU and multiplier,” in Proc. IEEE Int. Conf. Comput. Design: VLSI Comput. Process., Oct. 1995, pp. 466–470. [11] H. Razak, High Performance ASIC Design: Using Synthesizable Domino Logic in an ASIC Flow. Cambridge, U.K.: Cambridge Univ. Press, 2008. [12] B. H. Calhoun, A. Wang, and A. Chandrakasan, “Modeling and sizing for minimum energy operation in subthreshold circuits,” IEEE J. Solid-State Circuits, vol. 40, no. 9, pp. 1778–1786, Sep. 2005. [13] Y. Pu, J. P. de Gyvez, H. Corporaal, and Y. Ha, “An ultralowenergy/ frame multi-standard JPEG co-processor in 65 nm CMOS with sub/near-threshold power supply,” in IEEE Int. SolidState Circuits Conf. Dig. Tech. Papers, Feb. 2009, pp. 146–147. [14] J. Kwong and A. P. Chandrakasan, “Variation-driven device sizing for minimum energy sub-threshold circuits,” in Proc. Int. Symp. Low Power Electron. Design, Oct. 2006, pp. 8–13. [15] E. Seevinck, F. List, and J. Lohstroh, “Static-noise margin analysis of MOS SRAM cells,” IEEE J. Solid-State Circuits, vol. 22, no. 5, pp.748–754, Oct. 1987. 66