CS/EE 181a 2010/11 Lecture 6

Similar documents
MOS Logic Families. Somayyeh Koohi. Department of Computer Engineering Sharif University of Technology

Computer Architecture and Organization

Memory elements. Topics. Memory element terminology. Variations in memory elements. Clock terminology. Memory element parameters. clock.

EL302 DIGITAL INTEGRATED CIRCUITS LAB #3 CMOS EDGE TRIGGERED D FLIP-FLOP. Due İLKER KALYONCU, 10043

EEC 118 Lecture #9: Sequential Logic. Rajeevan Amirtharajah University of California, Davis Jeff Parkhurst Intel Corporation

CS/EE 6710 Digital VLSI Design CAD Assignment #3 Due Thursday September 21 st, 5:00pm

Chapter 3. Boolean Algebra and Digital Logic

Objectives. Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath

Principles of Computer Architecture. Appendix A: Digital Logic

Chapter Contents. Appendix A: Digital Logic. Some Definitions

1.b. Realize a 5-input NOR function using 2-input NOR gates only.

EECS150 - Digital Design Lecture 2 - CMOS

Sequencing. Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Fall,

CS 61C: Great Ideas in Computer Architecture

Read-only memory (ROM) Digital logic: ALUs Sequential logic circuits. Don't cares. Bus

Microprocessor Design

Cascadable 4-Bit Comparator

11. Sequential Elements

Advanced Devices. Registers Counters Multiplexers Decoders Adders. CSC258 Lecture Slides Steve Engels, 2006 Slide 1 of 20

OFC & VLSI SIMULATION LAB MANUAL

Logic Devices for Interfacing, The 8085 MPU Lecture 4

Digital Integrated Circuits EECS 312

WINTER 15 EXAMINATION Model Answer

VLSI Design: 3) Explain the various MOSFET Capacitances & their significance. 4) Draw a CMOS Inverter. Explain its transfer characteristics

problem maximum score 1 28pts 2 10pts 3 10pts 4 15pts 5 14pts 6 12pts 7 11pts total 100pts

CS8803: Advanced Digital Design for Embedded Hardware

Combinational vs Sequential

Combinational Logic Gates

2 The Essentials of Binary Arithmetic

Wire Delay and Switch Logic

Music Electronics Finally DeMorgan's Theorem establishes two very important simplifications 3 : Multiplexers

Introduction to Digital Logic Missouri S&T University CPE 2210 Exam 2 Logistics

Logic Design ( Part 3) Sequential Logic- Finite State Machines (Chapter 3)

Digital Integrated Circuits EECS 312. Review. Remember the ENIAC? IC ENIAC. Trend for one company. First microprocessor

ELCT 501: Digital System Design

Introduction to Digital Logic Missouri S&T University CPE 2210 Exam 3 Logistics

EE292: Fundamentals of ECE

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Introductory Digital Systems Laboratory

Digital Integrated Circuits EECS 312

DIFFERENTIAL CONDITIONAL CAPTURING FLIP-FLOP TECHNIQUE USED FOR LOW POWER CONSUMPTION IN CLOCKING SCHEME

Notes on Digital Circuits

Logic Design II (17.342) Spring Lecture Outline

EECS150 - Digital Design Lecture 3 - Timing

CHAPTER 6 ASYNCHRONOUS QUASI DELAY INSENSITIVE TEMPLATES (QDI) BASED VITERBI DECODER

Sequential logic circuits

Lecture 11: Synchronous Sequential Logic

1. a) For the circuit shown in figure 1.1, draw a truth table showing the output Q for all combinations of inputs A, B and C. [4] Figure 1.

ELEC 4609 IC DESIGN TERM PROJECT: DYNAMIC PRSG v1.2

A NOVEL DESIGN OF COUNTER USING TSPC D FLIP-FLOP FOR HIGH PERFORMANCE AND LOW POWER VLSI DESIGN APPLICATIONS USING 45NM CMOS TECHNOLOGY

EECS150 - Digital Design Lecture 3 - Timing

Introduction to CMOS VLSI Design (E158) Lecture 11: Decoders and Delay Estimation

CPS311 Lecture: Sequential Circuits

COMP2611: Computer Organization. Introduction to Digital Logic

ECEN689: Special Topics in High-Speed Links Circuits and Systems Spring 2011

Electrical & Computer Engineering ECE 491. Introduction to VLSI. Report 1

Laboratory 1 - Introduction to Digital Electronics and Lab Equipment (Logic Analyzers, Digital Oscilloscope, and FPGA-based Labkit)

Lecture 1: Introduction to Digital Logic Design. CK Cheng CSE Dept. UC San Diego

VLSI Test Technology and Reliability (ET4076)

UNIT IV CMOS TESTING. EC2354_Unit IV 1

UNIT III COMBINATIONAL AND SEQUENTIAL CIRCUIT DESIGN

Scan. This is a sample of the first 15 pages of the Scan chapter.

Efficient Architecture for Flexible Prescaler Using Multimodulo Prescaler

Using minterms, m-notation / decimal notation Sum = Cout = Using maxterms, M-notation Sum = Cout =

EECS 270 Homework the Last Winter 2017

ECEN620: Network Theory Broadband Circuit Design Fall 2014

Logic. Andrew Mark Allen March 4, 2012

EECS 270 Final Exam Spring 2012

We are here. Assembly Language. Processors Arithmetic Logic Units. Finite State Machines. Circuits Gates. Transistors

Outline. EECS150 - Digital Design Lecture 27 - Asynchronous Sequential Circuits. Cross-coupled NOR gates. Asynchronous State Transition Diagram

Adding Analog and Mixed Signal Concerns to a Digital VLSI Course

Design of Fault Coverage Test Pattern Generator Using LFSR

ELCT201: DIGITAL LOGIC DESIGN

12-bit Wallace Tree Multiplier CMPEN 411 Final Report Matthew Poremba 5/1/2009

VU Mobile Powered by S NO Group

Timing EECS141 EE141. EE141-Fall 2011 Digital Integrated Circuits. Pipelining. Administrative Stuff. Last Lecture. Latch-Based Clocking.

Digital Circuits I and II Nov. 17, 1999

Improve Performance of Low-Power Clock Branch Sharing Double-Edge Triggered Flip-Flop

Department of CSIT. Class: B.SC Semester: II Year: 2013 Paper Title: Introduction to logics of Computer Max Marks: 30

1. Convert the decimal number to binary, octal, and hexadecimal.

COE328 Course Outline. Fall 2007

High Performance Carry Chains for FPGAs

EECS150 - Digital Design Lecture 17 - Circuit Timing. Performance, Cost, Power

ESE 570 STATIC SEQUENTIAL CMOS LOGIC CELLS. Kenneth R. Laker, University of Pennsylvania, updated 25Mar15

A Symmetric Differential Clock Generator for Bit-Serial Hardware

Encoders and Decoders: Details and Design Issues

Notes on Digital Circuits

Sequential Logic. References:

Design and Simulation of a Digital CMOS Synchronous 4-bit Up-Counter with Set and Reset

CSE 140 Exam #3 Tajana Simunic Rosing

1. What does the signal for a static-zero hazard look like?

ECSE-323 Digital System Design. Datapath/Controller Lecture #1

Integrated Circuit Design ELCT 701 (Winter 2017) Lecture 1: Introduction

Logic Design ( Part 3) Sequential Logic (Chapter 3)

WELCOME. ECE 2030: Introduction to Computer Engineering* Richard M. Dansereau Copyright by R.M. Dansereau,

Chapter 5: Synchronous Sequential Logic

data and is used in digital networks and storage devices. CRC s are easy to implement in binary

TEST-3 (DIGITAL ELECTRONICS)-(EECTRONIC)

CS8803: Advanced Digital Design for Embedded Hardware

EECS150 - Digital Design Lecture 19 - Finite State Machines Revisited

CS61C : Machine Structures

Transcription:

CS/EE 181a 2010/11 Lecture 6 Administrative: Projects. Topics of today s lecture: More general timed circuits precharge logic. Charge sharing. Application of precharge logic: PLAs Application of PLAs: FSMs Questions about last lecture. Questions about Lab 3. Some examples CS/EE 181 Digital VLSI Design Laboratory L6 10/20/2010 1

Generalized Precharge Logic Registers are examples of state-holding elements. How are they different from combinational logic? Future outputs (e.g., register read) depends on history of element. Leakage current (for CMOS) need to staticize node is always weakly driven Basic idea: Combinational circuit: Pulldown network pulls down when the output should be low. Pullup network pulls up in all other cases. (Or the reverse, if you prefer.) Problem: What if one of the two cases is a lot more difficult than the other? CS/EE 181 Digital VLSI Design Laboratory L6 10/20/2010 2

Static logic x (inputs) pullup network (pfets) pulldown network (nfets) always driven either by nfets or by pfets Never by both! y We often have circuits that have Large parallel networks in one direction (good!) Large series network in the other (bad!) CS/EE 181 Digital VLSI Design Laboratory L6 10/20/2010 3

Slow combinational logic Example. Three-input NOR gate: c b a NOR a b c Only one nfet required to pull down output, but three slow pfets in series! Can we get rid of the pfets? How? CS/EE 181 Digital VLSI Design Laboratory L6 10/20/2010 4

Approach: Pull up output on every clock cycle. Only pull it down if necessary. f inputs pulldown network Output driven high during ; driven low or not at all during (some clock phase)... Conditions: Output can be state-holding. Inputs stable at start of or... Inputs transition upward during (with time to spare for output to switch) Check for charge sharing! CS/EE 181 Digital VLSI Design Laboratory L6 10/20/2010 5

Precharge example The NOR gate from before. If we know that the inputs are stable or transition from low to high during then we can design the NOR as follows: NOR a b c We got rid of the nasty series pfets! CS/EE 181 Digital VLSI Design Laboratory L6 10/20/2010 6

The Pass-Gate Transformation Recall homework 2 the Tricky XOR: We can do the same pass-gate transformation here since the clock may be treated as a power supply. NOR a b c _ CS/EE 181 Digital VLSI Design Laboratory L6 10/20/2010 7

CMOS Domino Logic Note that given that the inputs are monotonically increasing (e.g., in terms of weight), the outputs are monotonically decreasing. _f f inputs pulldown network In a cascaded set of logic blocks each stage evaluates and makes the next one to evaluate same way as a line of dominos fall Output is clean and amplified. How many stages should we connect to the same clock phase? CS/EE 181 Digital VLSI Design Laboratory L6 10/20/2010 8

NP Domino Logic What happens when we use pfet precharge logic? f _ inputs pulldown network inputs pullup network _ n-precharge expects inputs going up produces outputs going down when it computes. p-precharge expects inputs going down produces outputs going up when it computes. We can cascade n- and p-precharge blocks! CS/EE 181 Digital VLSI Design Laboratory L6 10/20/2010 9

Dual-rail Logic (Cascade Voltage Switch Logic) Same idea as CMOS domino logic but it computes both true and false values. f1 _f1 _f0 f0 inputs pulldown network We can share some gates in the pulldown less input load faster circuit? CS/EE 181 Digital VLSI Design Laboratory L6 10/20/2010 10

Charge sharing Example: Precharge NAND: NAND a b This circuit may exhibit static charge sharing. (Especially if the output is a small capacitor.) Same problem for pass gates. CS/EE 181 Digital VLSI Design Laboratory L6 10/20/2010 11

Charge sharing in SPICE Normal signal behavior... 4 _r.0 _r.1 3.5 3 2.5 2 1.5 1 0.5 0-0.5-1 0 5 10 15 20 25 30 35 40 Charge sharing... 4 _r.0 _r.1 3.5 3 2.5 2 1.5 1 0.5 0-0.5 0 5 10 15 20 25 30 35 40 CS/EE 181 Digital VLSI Design Laboratory L6 10/20/2010 12

How bad does it get? Fatal charge sharing... 3.5 _r.1 r.1 en 3 2.5 2 1.5 1 0.5 0-0.5 5 10 15 20 25 CS/EE 181 Digital VLSI Design Laboratory L6 10/20/2010 13

Solutions to Charge Sharing Output node: V 0, C0 Internal node: V 1, C1. Assume V 1 small. Final output node voltage: V = C0 V 0 (C0+C1). We want to minimize V V 0, i.e., C1 (V 1 V 0) (C0+C1) Reduce the capacitance ratio between internal nodes and output: increase output load reduce internal nodes (reduce sizes & sharing) Reduce the voltage difference between internal node and output: precharge the internal node... switch gate ordering How about combinational logic vs state-holding logic in terms of charge sharing? Staticizers? We will deal more with this when we do analog simulations. CS/EE 181 Digital VLSI Design Laboratory L6 10/20/2010 14

Dynamic Charge Sharing Another kind of charge sharing: Coupling from transistor source/drain to gate. s large transistor bus Can cause problems for state-holding node s if bus switches. (Usually only happens with very big transistors, e.g., bus drivers.) On modern chips with dynamic logic: happens with very long wires. CS/EE 181 Digital VLSI Design Laboratory L6 10/20/2010 15

An Application of Precharged Logic In Lecture 4: f(a, b, c) = ab + bc + ac... How do we implement this efficiently? Use a regular structure that can be generated by machine. If we have large terms, we want to avoid the long series chains of transistors. Use precharge NORs! PLAs. CS/EE 181 Digital VLSI Design Laboratory L6 10/20/2010 16

PLAs To implement f(a, b, c) = ab + bc + ac: To start with: And then we get a bit more tricky. f(a, b, c) = ( a b) ( b c) ( c a) f(a, b, c) = ( a b) ( b c) ( c a) Only nor s...precharge nor s most efficient: at most 2 NFETs inseries. CS/EE 181 Digital VLSI Design Laboratory L6 10/20/2010 17

PLAs compute several functions at once! Very dense! The IBM Cell processor contains 27 dynamic PLAs in each core for control signals. Only way to meet timing requirements! CS/EE 181 Digital VLSI Design Laboratory L6 10/20/2010 18

The Implementation The PLAs we ll be using are implemented as follows: 1 0 (Precharge on 1, compute first half on 1, second half on 0.) Can compute rather large sum-of-product expressions! (Several dozen terms with ten or so literals.) Useful for: Computation of complicated Boolean expressions. Implementing FSMs. CS/EE 181 Digital VLSI Design Laboratory L6 10/20/2010 19

Finite State Machines Quick review of finite state machines: I(t) S(t) S(t + 1) I(t) S(t) O(t + 1) inputs cur state C L outputs next state Powerful (and simple) model of computation. We will be using the model mainly to discuss control circuitry. CS/EE 181 Digital VLSI Design Laboratory L6 10/20/2010 20

Technical details: Moore and Mealy FSMs Moore FSM: inputs cur state C L next state outputs Mealy FSM: inputs cur state C L outputs next state CS/EE 181 Digital VLSI Design Laboratory L6 10/20/2010 21

In the Moore model, outputs are generated by inspecting the current state of the machine. In the Mealy model, outputs are a function of the current state and the current inputs. The two models are formally equivalent, although one or the other may in practice be more appropriate to any given problem. CS/EE 181 Digital VLSI Design Laboratory L6 10/20/2010 22

An example Let s consider a hypothetical FSM called a philosopher. (Didn t draw every condition.) Thinking BlueMoon/RequestR,L Hungry Wait R Wait L BedTime/ReturnR,L Eating BlueMoon/- GrantR/- GrantL/- GrantR,L/- GrantL/- GrantR/- BedTime/- We want to express this in the Moore model (outputs functions of current state alone). CS/EE 181 Digital VLSI Design Laboratory L6 10/20/2010 23

Implementing the Philosopher We decide to implement the philosopher FSM as a PLA. Several ways to do this: Number the states in binary and generate a truth table that takes the value of the current state and current inputs and generates a new state on the next clock cycle. Random example: Current Next Inputs State State Outputs 0000 0001 0000 0000 0001 0000 0000 0001 0001 0001 0000 0010 0001 0010 0001 11 0001 0000 0000 Ensure: Always a proper next state. (Cover all possibilities.) Start in the right place (A reset rule let FSM reset to state 0.) CS/EE 181 Digital VLSI Design Laboratory L6 10/20/2010 24

An Easier Way Doing the state assignment and figuring out all the outputs and next states is rather tedious... To help, we use peg: The philosopher becomes: INPUTS : RESET GrantR GrantL BlueMoon BedTime; OUTPUTS : RequestR RequestL ReturnR ReturnL; Start : Thinking : IF NOT BlueMoon THEN LOOP; Hungry : ASSERT RequestL RequestR; : CASE (GrantR GrantL) ENDCASE; 0 0 => LOOP; 0 1 => WaitR; 1 0 => WaitL; 1 1 => Eating; WaitR : IF NOT GrantR THEN LOOP ELSE Eating; WaitL : IF NOT GrantL THEN LOOP ELSE Eating; Eating : IF NOT BedTime THEN LOOP; : ASSERT ReturnR ReturnL; GOTO Thinking; CS/EE 181 Digital VLSI Design Laboratory L6 10/20/2010 25

The tools: Use Manpage to learn them! (Moore) FSM description Truth table for FSM peg eqntott espresso plamin Boolean eqns Minimized truth table mpla castpla PLA.mag PLA.cast It s easy to make PLAs! CS/EE 181 Digital VLSI Design Laboratory L6 10/20/2010 26

Putting it together... > peg phlsphr.peg eqntott espresso mpla CS/EE 181 Digital VLSI Design Laboratory L6 10/20/2010 27

Where we are now We have covered: Basic CMOS principles n- and p-transistors. Basic restoring CMOS logic. magic layout simple cells, datapath hierarchy. Sum-of-products Boolean minimization and more general switching networks. Clocking strategies, registers. Dynamic logic. PLAs and implementing FSMs. Remains: Computer arithmetic (next class). Combine FSM control with datapath techniques (Lab 4). Make smaller, faster, better circuits (more or less rest of this term). CS/EE 181 Digital VLSI Design Laboratory L6 10/20/2010 28