Transistor-Level Circuit Analysis. Sol Swords

Similar documents
Lecture 5: Gate Logic Logic Optimization

Gates, Circuits, and Boolean Algebra

Module 7 : I/O PADs Lecture 33 : I/O PADs

Low Power AMD Athlon 64 and AMD Opteron Processors

CHAPTER 11: Flip Flops

Lecture 7: NP-Complete Problems

Chapter 10 Advanced CMOS Circuits

ECE124 Digital Circuits and Systems Page 1

Design of Low Power One-Bit Hybrid-CMOS Full Adder Cells

Optimization and Comparison of 4-Stage Inverter, 2-i/p NAND Gate, 2-i/p NOR Gate Driving Standard Load By Using Logical Effort

Op-Amp Simulation EE/CS 5720/6720. Read Chapter 5 in Johns & Martin before you begin this assignment.

International Journal of Electronics and Computer Science Engineering 1482

Euler Paths and Euler Circuits

Properties of Real Numbers

Introduction to Logic in Computer Science: Autumn 2006

Alpha CPU and Clock Design Evolution

Why? A central concept in Computer Science. Algorithms are ubiquitous.

Sequential 4-bit Adder Design Report

PLL frequency synthesizer

Data Structures and Algorithms Written Examination

Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams

CMPSCI611: Approximating MAX-CUT Lecture 20

Programming A PLC. Standard Instructions

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

Here we introduced (1) basic circuit for logic and (2)recent nano-devices, and presented (3) some practical issues on nano-devices.

Step Response of RC Circuits

A Static Analyzer for Large Safety-Critical Software. Considered Programs and Semantics. Automatic Program Verification by Abstract Interpretation

Midterm Practice Problems

Lecture 1: Course overview, circuits, and formulas

Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits

Gates & Boolean Algebra. Boolean Operators. Combinational Logic. Introduction

Class 11: Transmission Gates, Latches

Pass Gate Logic An alternative to implementing complex logic is to realize it using a logic network of pass transistors (switches).

Computer Algorithms. NP-Complete Problems. CISC 4080 Yanjun Li

Interfacing 3V and 5V applications

CMOS Binary Full Adder

Reputation Management Algorithms & Testing. Andrew G. West November 3, 2008

Universality in the theory of algorithms and computer science

Monte Carlo Simulation of Device Variations and Mismatch in Analog Integrated Circuits

So far we have investigated combinational logic for which the output of the logic devices/circuits depends only on the present state of the inputs.

Using Op Amps As Comparators

Reliability Guarantees in Automata Based Scheduling for Embedded Control Software

NEW adder cells are useful for designing larger circuits despite increase in transistor count by four per cell.

Layout and Cross-section of an inverter. Lecture 5. Layout Design. Electric Handles Objects. Layout & Fabrication. A V i

Sequential Logic: Clocks, Registers, etc.

8.1 Min Degree Spanning Tree

CAD Algorithms. P and NP

CSE 326, Data Structures. Sample Final Exam. Problem Max Points Score 1 14 (2x7) 2 18 (3x6) Total 92.

Complexity Theory. Jörg Kreiker. Summer term Chair for Theoretical Computer Science Prof. Esparza TU München

Properties of Stabilizing Computations

Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs

2011, The McGraw-Hill Companies, Inc. Chapter 5

University of California, Berkeley Department of Electrical Engineering and Computer Sciences EE 105: Microelectronic Devices and Circuits

7. Latches and Flip-Flops

Graph Theory Origin and Seven Bridges of Königsberg -Rhishikesh

LAB 7 MOSFET CHARACTERISTICS AND APPLICATIONS

Module 4 : Propagation Delays in MOS Lecture 22 : Logical Effort Calculation of few Basic Logic Circuits

The MOSFET Transistor

Small Maximal Independent Sets and Faster Exact Graph Coloring

Notes about Small Signal Model. for EE 40 Intro to Microelectronic Circuits

Borne inférieure de circuit : une application des expanders

Small Signal Analysis of a PMOS transistor Consider the following PMOS transistor to be in saturation. Then, 1 2

DATA ANALYSIS II. Matrix Algorithms

The Answer to the 14 Most Frequently Asked Modbus Questions

StarRC Custom: Next-Generation Modeling and Extraction Solution for Custom IC Designs

Physics 221 Experiment 5: Magnetic Fields

VLSI Design Verification and Testing

NTE2053 Integrated Circuit 8 Bit MPU Compatible A/D Converter

SYSM 6304: Risk and Decision Analysis Lecture 5: Methods of Risk Analysis

Lesson 12 Sequential Circuits: Flip-Flops

Title : Analog Circuit for Sound Localization Applications

Yaffs NAND Flash Failure Mitigation

Network Algorithms for Homeland Security

Guessing Game: NP-Complete?

6.080/6.089 GITCS Feb 12, Lecture 3

Design of Energy Efficient Low Power Full Adder using Supply Voltage Gating

1. Nondeterministically guess a solution (called a certificate) 2. Check whether the solution solves the problem (called verification)

Network File Storage with Graceful Performance Degradation

Measuring Electric Phenomena: the Ammeter and Voltmeter

1. True or False? A voltage level in the range 0 to 2 volts is interpreted as a binary 1.

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

Three-Phase Dual-Rail Pre-Charge Logic

CMOS Thyristor Based Low Frequency Ring Oscillator

McPAT: An Integrated Power, Area, and Timing Modeling Framework for Multicore and Manycore Architectures

CS311H. Prof: Peter Stone. Department of Computer Science The University of Texas at Austin

Digital circuits make up all computers and computer systems. The operation of digital circuits is based on

Cpt S 223. School of EECS, WSU

Ian Stewart on Minesweeper

Use and Application of Output Limiting Amplifiers (HFA1115, HFA1130, HFA1135)

Data Structures Fibonacci Heaps, Amortized Analysis

There are a number of superb online resources as well that provide excellent blackjack information as well. We recommend the following web sites:

Class 18: Memories-DRAMs

Timer A (0 and 1) and PWM EE3376

2) Write in detail the issues in the design of code generator.

1. Relational database accesses data in a sequential form. (Figures 7.1, 7.2)

Introduction to Machine Learning and Data Mining. Prof. Dr. Igor Trajkovski

Protein Protein Interaction Networks

Contents. System Development Models and Methods. Design Abstraction and Views. Synthesis. Control/Data-Flow Models. System Synthesis Models

Fully Differential CMOS Amplifier

Efficiency of algorithms. Algorithms. Efficiency of algorithms. Binary search and linear search. Best, worst and average case.

Transcription:

Transistor-Level Circuit Analysis Sol Swords 1

Talk Outline Motivation What's a transistor? (optional) Bryant's MOSSIM model Demo Improving the tool and the model 2

Why transistor-level verification rather than gate-level? Much logic is designed at the gate level or higher, using well-tested standard cells But custom logic, arrays,... are designed at the transistor level, not the gate level Opens possibility of verifiying a third-party artifact without access to higher-level representation Very hard. Not a focus of this talk. 3

Why transistor-level verification rather than analog level? Spice-based analog simulators are used to resolve tricky timing issues, characterize gates, check power usage But gives much more information than necessary for functional correctness just need Boolean outputs, not continuous voltages Transistor-level is faster can handle much larger designs and longer simulations Symbolic simulation impractical at analog level 4

What's a transistor? Gate Source PMOS transistor: Gate low: connects source/drain Gate high: disconnects source/drain Drain Source For our purposes: Three-terminal electronic component modeled as a voltage-controlled switch. Gate Drain NMOS transistor: Gate high: connects source/drain Gate low: disconnects source/drain 5

Simplest Possible Digital Circuit High voltage (Vdd) Disconnects when A is high Pulls Z high when A is low Input Output Z = not(a) Pulls Z low when A is high Disconnects when A is low Low voltage (Ground) 6

Transistor Strengths Weakly pulls Z high always Z = not(a) Disconnects when A is low Strongly pulls Z low when A is high Pseudo-nMOS style no longer widely used, but illustrative. 7

Model: Graph representation Circuits are represented as undirected graphs: Each wire and voltage supply is a vertex Each transistor source-drain channel is an edge. Why? Current can flow between source/drain. Vdd A Z Gnd 8

Charging Paths A wire can be charged or discharged through a path of transistors. A path is only active if each transistor in the path is on (gate is high for N, low for P.) Multiple active paths may go to a single node which one sets the node's value? May cancel each other and pull to an intermediate voltage =? But don't always i.e., pseudonmos Comparably strong paths cancel, or much stronger wins 9

Sharing Charge A wire need not be connected to one supply or the other may float or be connected only to other non-supply wires. Wires (nodes) share charge with each other when connected by a path of active transistors. Charge flows over connected region until it converges to a uniform voltage. Complication: Some wires hold much more charge than others. A much larger node can overwhelm small nodes. 10

Hierarchy of Paths From supply, through strong transistors 5 5 (rank 5) From supply, through weaker transistors Paths from supply nodes Paths from non-supply nodes 5 3 From large wire (rank 3) 2 (rank 2) From small wire 1 (rank 1) 11

Digression on three-valued logic Need more possibilities than just high/low, true/false Wires can settle to intermediate voltages when paths of comparable strengths fight. Use a lattice model: represent values by onset-offset pairs: may be high, may be low Transistors similar: may be on, may be off. (false,false) Low/False (false,true) High/True (true,false) Crossbarred/X (true,true) 12

Final model For each non-supply node n, find the set of highest-ranked paths to n with all transistors on. If all such paths begin at nodes in the same state, then n gets that state, otherwise X. Every node has a path to it: at minimum, the path n->n through no transistors. New configuration as a function of the initial configuration can be calculated symbolically. Is a transistor on or off when its gate is X? On, to be conservative. 13

Implementation Details Definitions: Possible path: one where all transistors may be on may be on for a P transistor: gate is low or X Meaning: The path may set the state of its end node. Possible high path: possible path beginning at a node with onset true. Possible low path: possible path beginning at a node with offset true. Definite path: one where no transistors may be off ( may be off for a P transistor: gate is high or X) The path definitely sets the state of its end node. 14

Implementation Details Iterate down through all possible path ranks. For each node n, update three Boolean symbolic values, considering only paths of the current rank: n c (settable) n may be set by a lower-ranking path. Starting value: true New n c = n c Λ (exists definite path to n) n 1 (onset) n may be pulled to high voltage. Starting value: false New n 1 = n 1 V (n c Λ (exists possible high path to n)) n 0 (offset) n may be pulled to low voltage. Starting value: false New n 0 = n 0 V (n c Λ (exists possible low path to n)) 15

Calculating n c,1,0 Number of paths may be exponential in number of vertices Polynomial algorithm: Gaussian elimination Worst case O(v 3 ) BDD operations Typical case linearly many BDD operations (Still exponential time if BDDs are bad.) 16

Symbolic Simulation Analysis described so far determines what we do in one symbolic simulation step. Current implementation: Unit delay timing model Flatten hierarchical circuits, no shared structure (representation size proportional to circuit size) Start with most nodes set to X, inputs set to a Boolean constant or variable At each step, update nodes affected by last step. Demo 17

Planned Improvements Hierarchy Circuits are designed in reusable blocks; they should be analyzed that way as well Stored charge is only important on certain nodes Smaller processes have more leakage, so nodes don't stay floating for long (Conservatively) ignoring stored charge allows a large speedup; affects correctness in rare cases Possible to recognize dynamic nodes automatically, or require user input? 18

Planned Improvements Combinational logic elimination Get outputs as a function of inputs once and for all, then ignore intermediate nodes Need intermediate nodes if we care about glitching Requires adjustment to timing Big logic cloud shouldn't count as a single gate delay Timing model improvement Unit timing may be too inaccurate Need to allow for wire delays, not just logic Logical effort? Parse output from timing tools? User override? 19

Theorems about transistors Analyzer and simulator are written in ACL2, logic mode. Will I prove them correct? No. Within the realm of possibility to prove that the Gaussian elimination algorithm is equivalent to iteration over all paths (for example), but not high priority. Might be used for theorems about designs, like (equal (eval-bdd (simulator '(...)) (list a b c)) (spec-function a b c)) 20

Bibliography Randal E. Bryant, Boolean Analysis of MOS Circuits, IEEE Transactions on Computer- Aided Design of Integrated Circuits and Systems, pp. 634-649, July 1987. Randal E. Bryant, Algorithmic Aspects of Symbolic Switch Network Analysis, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, pp. 618-633, July 1987. 21

Path strength Rank charging paths to storage nodes using node and transistor ranks: Strength(p) = the minimum of the size of the starting node and the strengths of the transistors in the path. = Min(size[startnode[p]], Min({strength[d] d in transistors[p]})). 22

Formalizing the model Rank node sizes and transistor strengths: Supply node size (constant) > transistor strengths > storage node sizes All ranks are integers Ranks have order of magnitude semantics Comparably sized nodes have same rank Transistors of comparable strength have same rank 23

Supply nodes Supply nodes hold effectively infinite charge Supply node voltages are unaffected by the modeled circuit Even if two opposite supply nodes are shorted. A non-supply node can be connected to two opposite supplies what happens? Maybe crossbarred (X bad state) But maybe not e.g. pseudo-nmos. Path with stronger transistors wins 24

Implementation Details Iterate down through the path ranks. For each: Record each node's updated value (onset and offset) as a symbolic formula (BDD) in terms of the previous circuit state. Consider only paths of the current rank. Record whether each node may still be updated at a lower rank, also as a symbolic formula. True if there were no paths of the current rank or higher. Gaussian elimination algorithm instead of enumeration of all paths O(v 3 ) (usually fewer) BDD operations instead of exponentially many. 25