Layout of Multiple Cells



Similar documents
ECE410 Design Project Spring 2008 Design and Characterization of a CMOS 8-bit Microprocessor Data Path

Lesson 12 Sequential Circuits: Flip-Flops

Having read this workbook you should be able to: recognise the arrangement of NAND gates used to form an S-R flip-flop.

EE 42/100 Lecture 24: Latches and Flip Flops. Rev B 4/21/2010 (2:04 PM) Prof. Ali M. Niknejad

To design digital counter circuits using JK-Flip-Flop. To implement counter using 74LS193 IC.

Memory Elements. Combinational logic cannot remember

Module 3: Floyd, Digital Fundamental

WEEK 8.1 Registers and Counters. ECE124 Digital Circuits and Systems Page 1

SEQUENTIAL CIRCUITS. Block diagram. Flip Flop. S-R Flip Flop. Block Diagram. Circuit Diagram

Latches, the D Flip-Flop & Counter Design. ECE 152A Winter 2012

Sequential Logic: Clocks, Registers, etc.

BINARY CODED DECIMAL: B.C.D.

Sequential Circuit Design

Experiment # 9. Clock generator circuits & Counters. Eng. Waleed Y. Mousa

Lecture 5: Gate Logic Logic Optimization

CHAPTER 11: Flip Flops

Topics of Chapter 5 Sequential Machines. Memory elements. Memory element terminology. Clock terminology

Digital Logic Design. Basics Combinational Circuits Sequential Circuits. Pu-Jen Cheng

ETEC 2301 Programmable Logic Devices. Chapter 10 Counters. Shawnee State University Department of Industrial and Engineering Technologies

DIGITAL ELECTRONICS. Counters. By: Electrical Engineering Department

L4: Sequential Building Blocks (Flip-flops, Latches and Registers)

Lecture 10 Sequential Circuit Design Zhuo Feng. Z. Feng MTU EE4800 CMOS Digital IC Design & Analysis 2010

CHAPTER 11 LATCHES AND FLIP-FLOPS

Lecture 8: Synchronous Digital Systems

Chapter 9 Latches, Flip-Flops, and Timers

ECE380 Digital Logic

Master/Slave Flip Flops

ECE124 Digital Circuits and Systems Page 1

Flip-Flops and Sequential Circuit Design. ECE 152A Winter 2012

Flip-Flops and Sequential Circuit Design

Engr354: Digital Logic Circuits

Digital Logic Design Sequential circuits

Chapter 8. Sequential Circuits for Registers and Counters

CS311 Lecture: Sequential Circuits

Combinational Logic Design Process

Clocking. Figure by MIT OCW Spring /18/05 L06 Clocks 1

Sequential Logic Design Principles.Latches and Flip-Flops

Memory Basics. SRAM/DRAM Basics

ASYNCHRONOUS COUNTERS

Theory of Logic Circuits. Laboratory manual. Exercise 3

Chapter 10 Advanced CMOS Circuits

COMBINATIONAL and SEQUENTIAL LOGIC CIRCUITS Hardware implementation and software design

Chapter 5. Sequential Logic

Contents COUNTER. Unit III- Counters

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.

Counters and Decoders

Introduction to CMOS VLSI Design (E158) Lecture 8: Clocking of VLSI Systems

NTE2053 Integrated Circuit 8 Bit MPU Compatible A/D Converter

Sequential 4-bit Adder Design Report

Digital Electronics Part I Combinational and Sequential Logic. Dr. I. J. Wassell

7. Latches and Flip-Flops

Lecture 10: Sequential Circuits

Sequential Circuits. Combinational Circuits Outputs depend on the current inputs

Modeling Sequential Elements with Verilog. Prof. Chien-Nan Liu TEL: ext: Sequential Circuit

Lecture 11: Sequential Circuit Design

Lecture 7: Clocking of VLSI Systems

DIGITAL COUNTERS. Q B Q A = 00 initially. Q B Q A = 01 after the first clock pulse.

Lecture 10: Latch and Flip-Flop Design. Outline

IE1204 Digital Design F12: Asynchronous Sequential Circuits (Part 1)

LFSR BASED COUNTERS AVINASH AJANE, B.E. A technical report submitted to the Graduate School. in partial fulfillment of the requirements

CHAPTER 3 Boolean Algebra and Digital Logic

Digital Systems Based on Principles and Applications of Electrical Engineering/Rizzoni (McGraw Hill

DIGITAL TECHNICS II. Dr. Bálint Pődör. Óbuda University, Microelectronics and Technology Institute

Flip-Flops, Registers, Counters, and a Simple Processor

Registers & Counters

DIGITAL TECHNICS II. Dr. Bálint Pődör. Óbuda University, Microelectronics and Technology Institute 5. LECTURE: REGISTERS AND RELATED

Upon completion of unit 1.1, students will be able to

Lecture-3 MEMORY: Development of Memory:

The components. E3: Digital electronics. Goals:

CSE140: Components and Design Techniques for Digital Systems

Sequential Logic. (Materials taken from: Principles of Computer Hardware by Alan Clements )

Counters & Shift Registers Chapter 8 of R.P Jain

PROGETTO DI SISTEMI ELETTRONICI DIGITALI. Digital Systems Design. Digital Circuits Advanced Topics

DEPARTMENT OF INFORMATION TECHNLOGY

Counters are sequential circuits which "count" through a specific state sequence.

Counters. Present State Next State A B A B

LAB #4 Sequential Logic, Latches, Flip-Flops, Shift Registers, and Counters

Asynchronous Counters. Asynchronous Counters

Chapter 2 Logic Gates and Introduction to Computer Architecture

A New Paradigm for Synchronous State Machine Design in Verilog

DM74LS169A Synchronous 4-Bit Up/Down Binary Counter

路 論 Chapter 15 System-Level Physical Design

Chapter 7. Registers & Register Transfers. J.J. Shann. J. J. Shann

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

Decimal Number (base 10) Binary Number (base 2)

Modeling Latches and Flip-flops

Low Power AMD Athlon 64 and AMD Opteron Processors

CHAPTER 16 MEMORY CIRCUITS

Computer organization

Microprocessor & Assembly Language

CDA 3200 Digital Systems. Instructor: Dr. Janusz Zalewski Developed by: Dr. Dahai Guo Spring 2012

74F168*, 74F169 4-bit up/down binary synchronous counter

Lab 1: Study of Gates & Flip-flops

Set-Reset (SR) Latch

Admin. ECE 550: Fundamentals of Computer Systems and Engineering. Last time. VHDL: Behavioral vs Structural. Memory Elements

Asynchronous counters, except for the first block, work independently from a system clock.

ENEE 244 (01**). Spring Homework 5. Due back in class on Friday, April 28.

CHAPTER IX REGISTER BLOCKS COUNTERS, SHIFT, AND ROTATE REGISTERS

DATA SHEET. HEF40193B MSI 4-bit up/down binary counter. For a complete data sheet, please also download: INTEGRATED CIRCUITS

Transcription:

Layout of Multiple Cells Beyond the primitive tier primitives add instances of primitives add additional transistors if necessary add substrate/well contacts (plugs) add additional polygons where needed add metal-1 to make VDD/GND rail continuous final chip add n-well to avoid breaks in n-wells that violate rules add interconnects and contacts to make signal interconnections connect signals within cell boundary if possible, keep internal signal within cell internal connections ensure cell I/Os accessible outside cell minimize layout area in1 avoid unnecessary gaps between cells pass design rule check in2 ALWAYS, at every cell level continuous power rails ECE 410, Prof. A. Mason Lecture Notes 11.1 out

Multi-Instance Cells Cell Placement pack cells side-by-side abut cells and align power rails avoid gaps between cells unless needed for signal connections Signal Routing make internal connections using poly and metal-1, if possible use jumpers outside rails only when necessary jump up/down using poly (short trace) or metal-2 (if long trace) poly for traces close to cell metal-2 for traces far from cell leave room for widened power rails Power Routing more cells mean more supply current widen power supply rail for long cascades of cells single cell in1 in2 cell cascade internal connections continuous power rails signal jumpers widened power supply rails ECE 410, Prof. A. Mason Lecture Notes 11.2 X X cell A X X cell B X X X cell C out

High-Level Layout Cell Placement cascade cells with same pitch stack cascaded cells Cell Orientation maintain orientation when stacking signal jumpers between stacks or alternate orientation signal jumpers on top and/or bottom Power Routing widen supply rails for long cascades connect rails outside cell cascades example follows cell cascade VDD GND jumpers VDD GND jumpers VDD GND GND VDD jumpers ECE 410, Prof. A. Mason Lecture Notes 11.3

Metal Routing Strategy General Rules use lowest level interconnects possible if process has less than ~3 metal layers try to route a cell cascade using only poly and metal-1 if process has more than ~3 metals route cell cascade using metal-1 and metal-2, avoid using poly alternate directions for each interconnect e.g., metal1 horizontally, metal2 vertically, metal 3 horizontally, etc. Example poly within primitives local interconnects only if <3 metal layers metal1 within primitives power rails horizontal jumpers metal2 vertical traces between stacked cascades Note: new process technologies have specially defined metal layers e.g. metal_5 might be dedicated to VDD routing ECE 410, Prof. A. Mason Lecture Notes 11.4

Power Routing Power Rails for Combined Cells join adjacent cells with continuous power rails cells cell cascade keep power rails wide enough for long power traces more cells more current need traces with lower resistance power tree concept chip-level power enters chip on one pin pin must branch across chip cell-level traces should be thicker near pin and narrow into smaller cells use many contacts (vias) Connecting rails in stacked cell cascades GND VDD jumper area jumper area VDD GND VDD GND VDD zooming out branching of power traces across a chip, from thick lines (chip) to thin lines (cell) VDD metal2 GND GND metal1 ECE 410, Prof. A. Mason Lecture Notes 11.5

Loading and Fan-Out gate input capacitance Signal Buffers C G = 2CoxWL (1 for pmos 1 for nmos) load capacitance standard gate designed to drive a load of 3 gates C L = 3C G output drive capability I W, increase W for more output signal drive increasing W increase C G Buffers single stage inverter buffers min. W/L isolate internal signals from output load scaled inverter buffers add drive strength to a signal inverters with larger than minimum tx typically increase by 3x at with each stage input cap. C G 3C G 9C G 27C G 1x 3x 9x 27x drive 3C G drive drive 3W/L 9C G 9W/L 27C G 27W/L drive 81C G ECE 410, Prof. A. Mason Lecture Notes 11.6

Transmission Gate Multiplexors Logical Function of a Multiplexor select one output from multiple inputs 2:1 MUX logic CMOS Multiplexors generally formed using switch logic rather than static 2:1 MUX using Transmission Gates 4:1 MUX using 2:1 MUXs ECE 410, Prof. A. Mason Lecture Notes 11.7

Pass-gate Multiplexors 2:1 MUX using pass-gates nmos switch circuit 4:1 MUX using pass-gates Pass-gate MUX with rail-to-rail output add full pmos network see Figure 11.7 in textbook Multi-bit MUXs use parallel single-bit MUXs buffer for output drive ECE 410, Prof. A. Mason Lecture Notes 11.8

Decoder Basic Function Binary Decoders n bits can be decoded into m values max m is 2 n decoded values are active only one at a time active high: only selected value is logic 1 active low: only selected value is logic 0 Example: 2/4 (2-to-4) Decoder 2 control bits decoded into 4 values truth table equations n select bits decode into 2 n outputs values control inputs active high decoded outputs control inputs select one active output active high decoder equations require NOR operation ECE 410, Prof. A. Mason Lecture Notes 11.9

CMOS Decoder Circuits 2/4 Active High Decoder NOR2 Circuit active high 2/4 decoder Truth Table Symbol 2/4 Active Low Decoder implemented with NAND gates NAND2 Circuit active low 2/4 decoder Truth Table Symbol Similar approach for higher-value decoders 3/8 decoder requires 3-input gates, higher values get complex ECE 410, Prof. A. Mason Lecture Notes 11.10

Transmission Gate Decoders EXAMPLE: 3/8 Active-High Decoder each output connected to VDD through 3 transmission gates TG selects set to turn on only one of the 8 possible combinations of the 3- bit select s2 s1 s0 d7 d6 d5 d4 d3 d2 d1 d0 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 What do the resistors at output do? What is the signal value at the unselected outputs? ECE 410, Prof. A. Mason Lecture Notes 11.11

Magnitude Comparators Often need to compare the value of 2 n-bit numbers EQUAL if values are the same GREATER THAN if a is greater than b LESS THAN if b is greater than a Equality: a_eq_b, can be generated by XNOR operation a = b iff axnorb = 1 for each binary digit example: 4b equality comparator using XNOR also, a=b if a>b=0 and a<b=0 for ach binary digit Greater/Less Than, by bit-by-bit comparison a_eq_b 4b GT, LT Logic 4b Equality Circuit note: can get Equal from GT, LT circuit ECE 410, Prof. A. Mason Lecture Notes 11.12

Combined Comparator Circuits 8b Magnitude Comparator with Output Enable generates, EQ (equal), GT (greater than), LT (less than) 4-bit comparator from previous page compares outputs from 4b cells, implements Enable, produces 8b compare results ECE 410, Prof. A. Mason Lecture Notes 11.13

Priority Encoders Priority Encoders generates an encoded result showing IF a binary number has a logic 1 in any bit WHERE the most significant logic 1 occurs Output is an encoded value of the location of the most significant 1 Example: 8b priority encoder assign d 7 highest priority, d 0 lowest Q 2 -Q 0 encode the value of the highest priority 1 Q 3 is high if any bit in d is logic 1 Outputs can be constructed from the truth table see textbook for illustrations of CMOS logic ECE 410, Prof. A. Mason Lecture Notes 11.14

Latch Function store a data value Data Latches non-volatile; will not lose value over time often incorporated in static memory building block for a master-slave flip flop Static CMOS Digital Latch Latches also improve signal noise immunity; feedback forces signal to hold value and filters noise most common structure cross-coupled inverters, in positive feedback arrangement circuit forces itself to maintain data value inverter a outputs a 1 causing inverter b to output a 0 or, inverter a outputs a 0 causing inverter b to output a 1 Bistable circuit ECE 410, Prof. A. Mason Lecture Notes 11.15

D-Latch Logic Circuit Accessing Latch to Set Value apply input D to set latched value NOR D-Latch uses NOR cells to create latch function Logic-Level Circuit Transistor-Level Circuit D-Latch with Enable En selects if output set by input, D or from internal feedback Different structures used in VLSI ECE 410, Prof. A. Mason Lecture Notes 11.16

CMOS VLSI Clocked Latches Clocked (enable) Latch using TGs can use TGs to determine if latch sees D C = 1 Q = D, set data mode or if positive feedback is applied C = 0 Q = Q, hold data mode Reducing Transistor Count Single TG D-Latch input must overdrive feedback signal must use weak feedback inverter useful when chip area is critical but input signal must be strong Pass-gate D-Latch replace TG with nmos Pass-gate very common VLSI latch circuit ECE 410, Prof. A. Mason Lecture Notes 11.17

Flip Flop Basics storage element for synchronous circuits save logic state at each clock cycle 1 or 2 signal inputs and a clock differential outputs, Q and Q output changes on rising (or falling) clock edge output held until next rising (or falling) clock edge optional asynchronous set and/or reset regardless of clock state, output set (1) or reset (0) typically master-slave circuit using 2 cascaded latches types include JK T (toggle) SR (set-reset) D -most common for ICs Flip-flop symbol (SR) for rising and falling edge clocks ECE 410, Prof. A. Mason Lecture Notes 11.18

Types of Flip Flops D-type (DFF) SR-type same as D if S=D and R=D NOTE: Circuit based on standard logic gates is typically much larger than possible with a reduced CMOS circuit JK-type ECE 410, Prof. A. Mason Lecture Notes 11.19

JK and T Flip Flops from DFF D-Flip Flop can be used to create most other FF types Can construct a JK FF from a DFF T-type (toggle) FF can be constructed from a JK FF T=1 output changes state on each clock cycle T=0 hold output to previous value form from JK by connecting J and K inputs together as T ECE 410, Prof. A. Mason Lecture Notes 11.20

Master-Slave D Flip Flop D-type master-slave flip flop is the most common in VLSI Master-Slave Concept cascade 2 latches clocked on opposite clock phases φ = 1, φ = 0: D passes to master, slave holds previous value φ = 0, φ = 1 : D is blocked from master, master holds value and passes value to slave Triggering Output only changes on clock edge; output is held when clock is at a level value (0 or 1) Positive Edge output changes only on rising edge of clock Negative Edge output changes only on falling edge of clock ECE 410, Prof. A. Mason Lecture Notes 11.21

Set/Reset Flip Flops Asynchronous Set and Reset Asynchronous = not based/linked to clock signal Typically negative logic (0=active, 1=inactive) 0 Set: forces Q to logic 1 1 0 Reset: forces Q to logic 0 Logic Diagrams DFFR with Reset (clear) DFFRS with Reset (clear) and Set Alternate logic structure X X 1 0 X 0 1 ECE 410, Prof. A. Mason Lecture Notes 11.22

What is a buffer? inverter buffers Buffering in Flip Flops isolate output load from internal signals scaled inverter buffers add drive strength to a signal inverters with larger than minimum tx min. W/L typically increase by 3x at with each stage Inter-cell Buffering input cap. C G 3C G 9C G 27C G 1x 3x 9x 27x Example: Buffers in the Lab 7 DFF cell Clock φ φ so each flip flop provide only D 1 C G load on input CLK Output so load at output won t affect φ φ internal operation of the cell φ φ drive 3C G CLK drive drive 3W/L 9C G 9W/L 27C G 27W/L drive 81C G Q Q ECE 410, Prof. A. Mason Lecture Notes 11.23

Characterizing Flip Flop Timing Setup Time: t su Time D must remain stable before the clock changes Hold Time: t h Time D must remain stable after the clock changes Clock to Q Time: t c2q Time from the clock edge until the correct value appears at Q ECE 410, Prof. A. Mason Lecture Notes 11.24

Analyzing DFF Timing Setup When φ is low D must propagates through both master inverters, if clock changes before then the master may switch I1 I2 I3 I4 t su = t M1 + t I1 + t I2 Hold As soon as φ is goes high, D is cutoff t h = 0 Clock to Q For both outputs to be valid must wait for both slave inverters to change. t c2q = t M3 + t I2 + t I3 Different types of flip flops exhibit different timing characteristics ECE 410, Prof. A. Mason Lecture Notes 11.25

Transistor Sizing in Flip Flops All Minimum-Size Tx Flip Flops will not be optimized for speed might have some output glitches but much more simple to lay out D φ φ?? Q Q Size Considerations varies widely with chosen FF design feedback INV can be weak φ CLK tx in direct path to signal output should be larger switches -typically minimum sized to reduce noise φ φ φ ECE 410, Prof. A. Mason Lecture Notes 11.26

Load Control in Flip Flops To mask (block) clocking (loading) of the FF, a load control can be added load control allows new data to be loaded or blocks the clock thereby stopping new data from loading Load Controlled FF Load = 1, data passed Load = 0, data blocked Alternative Design ECE 410, Prof. A. Mason Lecture Notes 11.27

Tri-State Circuits covered in Section 9.3 in textbook Tri-State = circuit with 3 output states high, low, high impedance (Z) High Impedance State output disconnected from power or ground open circuit, with impedance of a MOSFET in OFF state Tri-State Inverter Enable signal, enable/disables output drive CMOS implementation ECE 410, Prof. A. Mason Lecture Notes 11.28

Advanced Latches and Flip Flops C 2 MOS Inverter C 2 in MOS = clocked CMOS inverter where input can be enabled Φ = 0, out = D Φ = 1, out = floating C 2 MOS Static Latch merge TGs into latch design C 2 MOS inverter input stage passes inverted input when Φ = 0 static inverter sets Q = D C 2 MOS inverter feedback provides feedback when Φ = 1 Either input of feedback is active not both at the same time Φ out VDD out ECE 410, Prof. A. Mason Lecture Notes 11.29

C 2 MOS D Flip Flop Cascade 2 C 2 MOS Latches switch clock phases of master and slave blocks D Φ Φ Φ Φ Master Slave Q QB VDD ECE 410, Prof. A. Mason Lecture Notes 11.30

Discussion of DFF Timing Why is output propagation delay different for D=1 and D=0? propagation delay in DFF = time between clock edge and Q change Φ Φ delay set by transitions in the D x slave (second) stage master stage can be ignored when output changes Φ Φ output changes when Φ goes high positive-edge triggered master-slave DFF using bistable circuits with pass gates D=1 x=0 V GS = VDD, tx is ON with strong V GS, V GS constant as output changes V DS : VDD 0, tx in Saturation then in Triode Φ=1 y I D D=0 x=1 time x=0 y=1 0 V GS = VDD Vtn, tx is ON, but V GS decreases as output changes V DS : VDD Vtn, tx in Saturation then in Triode Φ=1 Output change is slower for D=0 y I D since pass-gate has weak current time x=1 y=0 1 ECE 410, Prof. A. Mason Lecture Notes 11.31

Flip Flop Layout A DFFR (with reset) cell with all tx. min. size no buffers Good features compact layout, small area demand very regular physical structure due to all minimum-sized transistors pitch matched to other primitive cells Bad features several S/D junctions larger than necessary several long poly traces, might affect speed access to inputs/outputs must be in metal2 ECE 410, Prof. A. Mason Lecture Notes 11.32

Flip Flop Layout II Physical Design of C 2 MOS Flip Flop double-wide FF pitch is 2x pitch of basic gates Using tall cells with standard height cells match power rails GND VDD VDD 52λ pitch GND ECE 410, Prof. A. Mason Lecture Notes 11.33

Basic Register Function Registers store a byte of data implement data movement functions such as shift rotate basis for other functions counter/timer Basic Register Circuit 6b resister formed with DFF cells cascade of DFF cells additional logic to multiplex multiple inputs/outputs typical I/O options parallel load load from left/right cell (shift) parallel output ECE 410, Prof. A. Mason Lecture Notes 11.34

Rotate Shift and Rotate Operations move each bit of data to an adjacent bit roll end bit to other end Shift move each bit of data to an adjacent bit load 0 into the open end bit Examples: 4b operations on data a 3 a 2 a 1 a 0 Rotate Left: output = a 2 a 1 a 0 a 3 Rotate Right: output = a 0 a 3 a 2 a 1 Shift Left: output = a 2 a 1 a 0 0 Shift Right: output = 0a 3 a 2 a 1 0 Rotate Left Shift Right ECE 410, Prof. A. Mason Lecture Notes 11.35

Shift Register Example: 4-bit register capable of shift left/right rotate left/right parallel load reset (all bits go to 0) set (load all bits with 1) s2 s1 s0 function 0 0 x parallel load 0 1 0 shift right 0 1 1 rotate right 1 0 0 shift left 1 0 1 rotate left 1 1 x load 1 p3 p2 p1 p0 0 s0 0 1 1 0 1 2 3 s1,s2 s1,s2 s1,s2 s0 s1,s2 0 D Q DFFR 1 0 1 2 3 D Q DFFR 1 0 1 2 3 D Q DFFR 0 1 1 0 1 2 3 D Q DFFR QB QB QB QB clk reset could add an Enable at the clock input to select between multiple bytes ECE 410, Prof. A. Mason Lecture Notes 11.36

Switch Shift/Rotate Circuits Can use switch circuits to implement fast multishift/rotate functions will not store/hold data since no FF is used & is not synchronous Example: 4-bit Left Rotate Switching Array Rotate Left, moves lower bits to higher bits only one select (Rol_x) is active at a time Rol0 Rol1 Rol2 Rol3 a0 a3 a2 a1 a1 a0 a3 a2 a2 a1 a0 a3 a3 a2 a1 a0 ECE 410, Prof. A. Mason Lecture Notes 11.37

Barrel Shifter Shifts m inputs into n outputs typically n = m or n = m/2 Example 8x4 barrel shifter outputs 1 of 4 combinations of 4-adjacent-bits 8x4 nmos switch barrel shifter ECE 410, Prof. A. Mason Lecture Notes 11.38

Asynchronous Counter Counts the number of input clock edges (+ive or -ive) Output is a binary code of the number of clocks counted Example: 4-bit counter clk reset output_bar of each bit provides clock to next bit output is also fed back to input frequency of each output is 1/2 the previous bit frequency clock divider: divide by 2, by 4, by 8, by 16, etc. reset used to start counting from Zero D QB DFFR Q D QB DFFR Q D QB DFFR q0 fclk/2 q1 fclk/4 q2 fclk/8 q3 fclk/16 Q D QB DFFR can you design a counter that can count up and down and can parallel load a starting value? Q #clks q3 q2 q1 q0 0 0 0 0 0 1 0 0 0 1 3 0 0 1 0 5 0 0 1 1 7 0 1 0 0 9 0 1 0 1 11 0 1 1 0 13 0 1 1 1 15 1 0 0 0 * 31 1 1 1 1 ECE 410, Prof. A. Mason Lecture Notes 11.39

A sequential circuit Sequential Circuits outputs depend on current inputs AND on pervious inputs (history) Finite State Machine Primary inputs generic sequential circuit clock a D-Flip-Flop holds the state of the machine combinational logic generates the next state and output(s) state machine inputs/outputs are called primary inputs/outputs Mealy machine: primary outputs are a function of current state primary inputs Moore machine: primary outputs depend only on Combinational logic Primary outputs current state Sequential machines occur in nearly every chip design. ECE 410, Prof. A. Mason Lecture Notes 11.40

State Machine Example 2-bit synchronous counter example of a sequential state machine 2-bit synchronous counter function increments output from 0 to 3 at each clock and then start from 0 again counter has no inputs, only states (Moore machine) Design Steps 1. Specify the state transition graph. Four states in the 2-bit counter: 0, 1, 2, 3. State transition graph for 2-bit counter machine changes to the next state on each clock 2. Determine number of DFF in the state machine. Number of FF needed for a state machine is given by 2 n =N N is the number of states and n is the number of flip flops 2-bit counter has 4 states 00, 01, 10, and 11 need 2 DFFs 0 1 3 2 ECE 410, Prof. A. Mason Lecture Notes 11.41

State Machine Example Continued Design Steps continued 3. Draw the state transition table for the state transition graph. Present State Next State DFF_1 DFF_0 DFF_1 DFF_0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0 Example: at present state 1 (binary 01 ), next state will be 2 (binary 10 ). 4. Design the logic to compute the next state. One K-map is used for each DFF Example: DFF_0 has the following K-map DFF_1 old = 0 DFF_1 old = 1 DFF_0 old = 0 1 1 DFF_0 old = 1 0 0 table shows next state value Thus, DFF_0 next = DFF _ 0 old Similar approach to find DFF_1 next ECE 410, Prof. A. Mason Lecture Notes 11.42

Design Steps continued Synchronous Counter 5. Connect combinational logic & the DFFs to construct 2-bit counter clock DFF-0 logic DFF-1 A 2-bit, synchronous, 4-state counter ECE 410, Prof. A. Mason Lecture Notes 11.43