Controller Implementation--Part I. Cascading Edge-triggered Flip-Flops
|
|
- Cameron Farmer
- 7 years ago
- Views:
Transcription
1 Controller Implementation--Part I Alternative controller FSM implementation approaches based on: Classical Moore and Mealy machines Time state: Divide and Counter Jump counters Microprogramming (ROM) based approaches» branch sequencers» horizontal microcode» vertical microcode CS 50 - Fall 2005 Lec #4: Control Implementation - Cascading Edge-triggered Flip-Flops Shift register New value goes into first stage While previous value of first stage goes into second stage Consider setup/hold/propagation delays (prop must be > hold) IN Q0 Q D Q D Q OUT 00 IN Q0 Q CS 50 - Fall 2005 Lec #4: Control Implementation - 2
2 Cascading Edge-triggered Flip-Flops Shift register New value goes into first stage While previous value of first stage goes into second stage Consider setup/hold/propagation delays (prop must be > hold) IN Q0 Q D Q D Q OUT Delay Clk 00 IN Q0 Q Clk CS 50 - Fall 2005 Lec #4: Control Implementation - 3 Clock Skew The problem Correct behavior assumes next state of all storage elements determined by all storage elements at the same time Difficult in high-performance systems because time for clock to arrive at flip-flop is comparable to delays through logic (and will soon become greater than logic delay) Effect of skew on cascaded flip-flops: 00 In Q0 Q is a delayed version of original state: IN = 0, Q0 =, Q = due to skew, next state becomes: Q0 = 0, Q = 0, and not Q0 = 0, Q = CS 50 - Fall 2005 Lec #4: Control Implementation - 4
3 Why Gating of Clocks is Bad! LD Reg Reg Clk GOOD Clk LD BAD gatedclk Do NOT Mess With Clock Signals! CS 50 - Fall 2005 Lec #4: Control Implementation - 5 Why Gating of Clocks is Bad! LD generated by FSM shortly after rising edge of Clk LD gatedclk Runt pulse plays HAVOC with register internals! NASTY HACK: delay LD through negative edge triggered FF to ensure that it won t change during next positive edge event Clk LDn gatedclk Clk skew PLUS LD delayed by half clock cycle What is the effect on your register transfers? Do NOT Mess With Clock Signals! CS 50 - Fall 2005 Lec #4: Control Implementation - 6
4 Why Gating of Clocks is Bad! Reset Counter Reg Clk BAD slowclk Do NOT Mess With Clock Signals! CS 50 - Fall 2005 Lec #4: Control Implementation - 7 Why Gating of Clocks is Bad! Reset LD Counter Reg Clk Better! Do NOT Mess With Clock Signals! CS 50 - Fall 2005 Lec #4: Control Implementation - 8
5 Alternative Ways to Implement Processor FSMs "Random Logic" based on Moore and Mealy Design Classical Finite State Machine Design Divide and Conquer Approach: Time-State Method Partition FSM into multiple communicating FSMs Exploit Logic Block Functionality: Jump Counters Counters, Multiplexers, Decoders Microprogramming: ROM-based methods Direct encoding of next states and outputs CS 50 - Fall 2005 Lec #4: Control Implementation - 9 Random Logic Perhaps poor choice of terms for "classical" FSMs Contrast with structured logic: PLA, FPGA, ROM-based (latter used in microprogrammed controllers) Could just as easily construct Moore and Mealy machines with these components CS 50 - Fall 2005 Lec #4: Control Implementation - 0
6 Moore Machine State Diagram RES IF0 Reset 0 PC PC MAR, PC + PC Note capture of MBR in these states IF IF2 MAR Mem, Read/Write, Request, Mem MBR IF3 MBR IR LD0 LD LD2 IR MAR MAR Mem, Read/Write, Request, Mem MBR MBR AC =00 =0 ST0 ST OD IR MAR, AC MBR MAR Mem, 0 Read/Write, Request, MBR Mem =0 AD0 AD AD2 = IR MAR MAR Mem, Read/Write, Request, Mem MBR MBR + AC AC BR0 = BR =0 IR PC CS 50 - Fall 2005 Lec #4: Control Implementation - Memory-Register Interface Timing IF IF2 IF2 IF2 IF3 WAIT Mem Bus Data Valid Latch MBR Invalid Data Latched Invalid Data Latched Valid Data Latched Valid data latched on IF2 to IF3 transition because data must be valid before Wait can go low CS 50 - Fall 2005 Lec #4: Control Implementation - 2
7 Moore Machine Diagram Reset Wait IR<5> IR<4> AC<5> Clock Next State Logic State 6 states, 4 bit state register Next State Logic: 9 Inputs, 4 Outputs Output Logic: 4 Inputs, 8 Outputs Output Logic Read/Write Request 0 PC PC + PC PC ABUS IR ABUS ABUS MAR ABUS PC MAR Memory Address Bus Memory Data Bus MBR MBR Memory Data Bus MBR MBUS MBUS IR MBUS ALU B MBUS AC RBUS AC RBUS MBR ALU ADD These can be implemented via ROM or PAL/PLA Next State: 52 x 4 bit ROM Output: 6 x 8 bit ROM CS 50 - Fall 2005 Lec #4: Control Implementation - 3 Moore Machine State Table ResetWaitIR<5> IR<4> AC<5>Current State Next State Register Transfer Ops X X X X X RES (0000) 0 X X X X RES (0000) IF0 (000) 0 PC 0 X X X X IF0 (000) IF (000) PC MAR, PC + PC 0 0 X X X IF (000) IF (000) 0 X X X IF (000) IF2 (00) 0 X X X IF2 (00) IF2 (00) MAR Mem, Read, 0 0 X X X IF2 (00) IF3 (000) Request, Mem MBR 0 0 X X X IF3 (000) IF3 (000) MBR IR 0 X X X IF3 (000) OD (00) 0 X 0 0 X OD (00) LD0 (00) 0 X 0 X OD (00) ST0 (00) 0 X 0 X OD (00) AD0 (0) 0 X X OD (00) BR0 (0) CS 50 - Fall 2005 Lec #4: Control Implementation - 4
8 Moore Machine State Table Reset Wait IR<5> IR<4> AC<5> Current State Next State Register Transfer Ops 0 X X X X LD0 (00) LD (0) IR MAR 0 X X X LD (0) LD (0) MAR Mem, Read, 0 0 X X X LD (0) LD2 (000) Request, Mem MBR 0 X X X X LD2 (000) IF0 (000) MBR AC 0 X X X X ST0 (00) ST (00) IR MAR, AC MBR 0 X X X ST (00) ST (00) MAR Mem, Write, 0 0 X X X ST (00) IF0 (000) Request, MBR Mem 0 X X X X AD0 (0) AD (00) IR MAR 0 X X X AD (00) AD (00) MAR Mem, Read, 0 0 X X X AD (00) AD2 (0) Request, Mem MBR 0 X X X X AD2 (0) IF0 (000) MBR + AC AC 0 X X X 0 BR0 (0) IF0 (000) 0 X X X BR0 (0) BR () 0 X X X X BR () IF0 (000) IR PC CS 50 - Fall 2005 Lec #4: Control Implementation - 5 Moore Machine State Transition Table Observations: Extensive use of Don't Cares Inputs used only in a small number of state e.g., AC<5> examined only in BR0 state IR<5:4> examined only in OD state Some outputs always asserted in a group ROM-based implementations cannot take advantage of don't cares However, ROM-based implementation can skip state assignment step CS 50 - Fall 2005 Lec #4: Control Implementation - 6
9 Moore Machine Implementation Assume PLA implementation style First idea: run ESPRESSO with naive state assignment 2 product terms Compare with 52 product terms in ROM implementation!.i 9.o 4.ilb reset wait ir5 ir4 ac5 q3 q2 q q0.ob p3 p2 p p0.p e CS 50 - Fall 2005 Lec #4: Control Implementation - 7.i 9.o 4.ilb reset wait ir5 ir4 ac5 q3 q2 q q0.ob p3 p2 p p0.p e Moore Machine Implementation NOVA assignment does better NOVA State Assignment SUMMARY onehot_products = 22 best_products = 8 best_size = 44 8 product terms improves on 2! states[0]:if0 Best code: 0000 states[]:if Best code: 0 states[2]:if2 Best code: states[3]:if3 Best code: 0 states[4]:od Best code: 000 states[5]:ld0 Best code: 000 states[6]:ld Best code: 00 states[7]:ld2 Best code: 000 states[8]:st0 Best code: 00 states[9]:st Best code: 00 states[0]:ad0 Best code: 0 states[]:ad Best code: 000 states[2]:ad2 Best code: 00 states[3]:br0 Best code: 00 states[4]:br Best code: 00 states[5]:res Best code: 0 CS 50 - Fall 2005 Lec #4: Control Implementation - 8
10 Synchronous Mealy Machines Standard Mealy Machine has asynchronous outputs Change in response to input changes, independent of clock Revise Mealy Machine design so outputs change only on clock edges One approach: non-overlapping clocks Synchronizer Circuitry at at Inputs Inputs and and Outputs Outputs A D Q A' ƒ D Q ƒ' Output Logic STATE A STATE A STATE A' ƒ D Q Output Logic ƒ D Q ƒ' Output Logic CS 50 - Fall 2005 Lec #4: Control Implementation - 9 Synchronous Mealy Machines Case I: Synchronizers at Inputs and Outputs A A' cycle 0 cycle cycle 2 S0 S A/ƒ ƒ ƒ' S2 A asserted in Cycle 0, ƒ becomes asserted after 2 cycle delay! This is clearly overkill! CS 50 - Fall 2005 Lec #4: Control Implementation - 20
11 Synchronous Mealy Machine Case II: Synchronizers on Inputs cycle 0 cycle cycle 2 S0 A/ƒ S0 A S S A' A'/ƒ ƒ A asserted in Cycle 0, ƒ follows in next cycle Same as using delayed signal (A') in Cycle! CS 50 - Fall 2005 Lec #4: Control Implementation - 2 Synchronous Mealy Machines Case III: Synchronized Outputs cycle 0 cycle cycle 2 A ƒ S0 S A/ƒ ƒ' A asserted during Cycle 0, ƒ' asserted in next cycle Effect of ƒ delayed one cycle CS 50 - Fall 2005 Lec #4: Control Implementation - 22
12 Synchronous Mealy Machines Implications for Processor FSM Already Derived Consider inputs: Reset, Wait, IR<5:4>, AC<5> Latter two already come from registers, and are sync'd to clock Possible to load IR with new instruction in one state & perform multiway branch on opcode in next state Best solution for Reset and Wait: synchronized inputs» Place D flipflops between these external signals and the» control inputs to the processor FSM» Sync'd versions of Reset and Wait delayed by one clock cycle CS 50 - Fall 2005 Lec #4: Control Implementation - 23 Time State Divide and Conquer Overview Classical Approach: Monolithic Implementations Alternative "Divide & Conquer" Approach:» Decompose FSM into several simpler communicating FSMs» Time state FSM (e.g., IFetch, Decode, Execute)» Instruction state FSM (e.g., LD, ST, ADD, BRN)» Condition state FSM (e.g., AC < 0, AC 0) CS 50 - Fall 2005 Lec #4: Control Implementation - 24
13 Time State (Divide & Conquer) Time State FSM Most instructions follow same basic sequence Differ only in detailed execution sequence Time State FSM can be parameterized by opcode and AC states Instruction State: stored in IR<5:4> Condition State: stored in AC<5> =00 =0 IR =0 = LD ST ADD BRN AC < 0 AC<5>=0 AC? 0 T0 T T2 T3 T4 T5 T6 T7 AC<5>= CS 50 - Fall 2005 Lec #4: Control Implementation - 25 BRN AC _ 0/ (LD + ST + ADD) BRN + (ST Wait)/ (LD + ADD) Wait Time State (Divide & Conquer) Generation of Microoperations 0 PC: Reset PC + PC: T0 PC MAR: T0 MAR Memory Address Bus: T2 + T6 (LD + ST + ADD) Memory Data Bus MBR: T2 + T6 (LD + ADD) MBR Memory Data Bus: T6 ST MBR IR: T4 MBR AC: T7 LD AC MBR: T5 ST AC + MBR AC: T7 ADD IR<3:0> MAR: T5 (LD + ST + ADD) IR<3:0> PC: T6 BRN Read/Write: T2 + T6 (LD + ADD) 0 Read/Write: T6 ST Request: T2 + T6 (LD + ST + ADD) CS 50 - Fall 2005 Lec #4: Control Implementation - 26
14 Jump Counter Concept Implement FSM using MSI functionality: counters, mux, decoders Pure jump counter: only one of four possible next states N HOLD CLR CNT LOAD 0 N+ XX Single "Jump State" function of the current state Hybrid jump counter: Multiple "Jump States" function of current state + inputs CS 50 - Fall 2005 Lec #4: Control Implementation - 27 Jump Counters Pure Jump Counter Inputs Count, Load, Clear Logic Clear Load Count CLOCK Jump State Logic Synchronous Counter State Register NOTE: No inputs to jump state logic Logic blocks implemented via discrete logic, PLAs, ROMs CS 50 - Fall 2005 Lec #4: Control Implementation - 28
15 Jump Counters Problem with Pure Jump Counter Difficult to implement multi-way branches OD 4 OD0 Extra States: 5 8 OD BR0 LD0 ST0 AD0 BR0 Logical State Diagram 6 OD2 9 AD0 7 0 LD0 ST0 Pure Jump Counter State Diagram CS 50 - Fall 2005 Lec #4: Control Implementation - 29 Jump Counters Hybrid Jump Counter Inputs Count, Load, Clear Logic Load Count Clear CLOCK Jump State Logic Synchronous Counter State Register Load inputs are function of state and FSM inputs CS 50 - Fall 2005 Lec #4: Control Implementation - 30
16 Jump Counters RES 0 Reset Implementation Example IF0 IF 2 State assignment attempts to take advantage of sequential states IF2 OD 3 4 LD0 5 ST0 8 AD0 0 BR0 3 LD 6 ST 9 AD LD2 7 AD2 2 CS 50 - Fall 2005 Lec #4: Control Implementation - 3 Jump Counters Implementation Example, Continued CNT = (s0 + s5 + s8 + s0) + Wait (s + s3) + Wait (s2 + s6 + s9 + s) CNT = Wait (s + s3) + Wait (s2 + s6 + s9 + s) CLR = Reset + s7 + s2 + s3 + (s9 Wait) CLR = Reset s7 s2 s3 (s9 + Wait) LD = s4 Contents of Jump State ROM Address Contents (Symbolic State) 00 (LD0) 000 (ST0) 00 (AD0) 0 (BR0) CS 50 - Fall 2005 Lec #4: Control Implementation - 32
17 Jump Counters /S9 Wait Implementation Example, continued Wait /S /S9 /S6 /S3 /S2 /S OR IR5 IR4 /Reset /S7 /S2 /S3 Cnt PAL Wait S S9 S6 HOLD S3 S2 S Jump State IR<5> IR<4> AND Implement CLR CNT /S P 0 T 2 6 D 5 C Wait B A LOAD CLR Implement CNT using active lo PAL 63 5 RCO QD QC 2 QB 3 QA 4 /Reset /Wait 9 8 CS 50 - Fall 2005 Lec #4: Control Implementation - 33 G2 G 20 D 2 C 22 B 23 A NOTE: Active lo outputs from decoder /S5 /S4 /S3 /S2 /S /S0 /S9 /S8 /S7 /S6 /S5 /S4 /S3 /S2 /S /S0 Jump Counter CLR, CNT, LD implemented via Mux Logic CLR = CLRm + Reset CLR = CLRm + Reset 0 0 /CLRm /Reset Reset Wait /CLR Jump State IR5 IR<5> IR4 IR<4> /Reset /Wait CNT /LD /CLR P T D C B A LOAD CLR 63 RCO QD QC QB QA G2 G D C B A \S3 \S2 \S \S0 \S9 \S8 \S7 \S6 \S5 \S4 \S3 \S2 \S \S0 Active Lo outputs: hi input inverted at the output Note that CNT is active hi on counter so invert MUX inputs! S3 S2 S S0 G E5 50 E4 + E3 + E2 E E0 E9 E8 E7 E6 E5 E4 E3 Wait E2 /Wait E E0 S3 S2 S S0 G G E5 50 E5 50 E4 E4 E3 E3 E2 E2 E E E0 E0 /Wait E9 E9 EOUT 0 E8 E8 EOUT CNT /CLRm EOUT E7 E6 E5 E4 E3 E2 E E0 + S3 S2 S S0 E7 E6 E5 E4 E3 E2 E E0 /LD CS 50 - Fall 2005 Lec #4: Control Implementation - 34
18 Jump Counters Microoperation implementation 0 PC = Reset PC + PC = S0 PC MAR = S0 MAR Memory Address Bus = Wait (S + S2 + S5 + S6 + S8 + S9 + S + S2) Memory Data Bus MBR = Wait (S2 + S6 + S) MBR Memory Data Bus = Wait (S8 + S9) MBR IR = Wait S3 MBR AC = Wait S7 AC MBR = IR5 IR4 S4 AC + MBR AC = Wait S2 IR<3:0> MAR = (IR5 IR4 + IR5 IR4 + IR5 IR4) S4 IR<3:0> PC = AC5 S3 Read/Write = Wait (S + S2 + S5 + S6 + S + S2) 0 Read/Write = Wait (S8 + S9) Request = Wait (S + S2 + S5 + S6 + S8 + S9 + S + S2) Jump Counters: CNT, CLR, LD function of current state + Wait Why not store these as outputs of the Jump State ROM? Make Wait and Current State part of ROM address 32 x as many words, 7 bits wide CS 50 - Fall 2005 Lec #4: Control Implementation - 35 Controller Implementation Summary (Part I!) Control Unit Organization Register transfer operation Classical Moore and Mealy machines Time State Approach Jump Counter Next Time:» Branch Sequencers» Horizontal and Vertical Microprogramming CS 50 - Fall 2005 Lec #4: Control Implementation - 36
Memory Elements. Combinational logic cannot remember
Memory Elements Combinational logic cannot remember Output logic values are function of inputs only Feedback is needed to be able to remember a logic value Memory elements are needed in most digital logic
More informationAsynchronous Counters. Asynchronous Counters
Counters and State Machine Design November 25 Asynchronous Counters ENGI 25 ELEC 24 Asynchronous Counters The term Asynchronous refers to events that do not occur at the same time With respect to counter
More informationWEEK 8.1 Registers and Counters. ECE124 Digital Circuits and Systems Page 1
WEEK 8.1 egisters and Counters ECE124 igital Circuits and Systems Page 1 Additional schematic FF symbols Active low set and reset signals. S Active high set and reset signals. S ECE124 igital Circuits
More informationComputer organization
Computer organization Computer design an application of digital logic design procedures Computer = processing unit + memory system Processing unit = control + datapath Control = finite state machine inputs
More informationModule 3: Floyd, Digital Fundamental
Module 3: Lecturer : Yongsheng Gao Room : Tech - 3.25 Email : yongsheng.gao@griffith.edu.au Structure : 6 lectures 1 Tutorial Assessment: 1 Laboratory (5%) 1 Test (20%) Textbook : Floyd, Digital Fundamental
More informationTo design digital counter circuits using JK-Flip-Flop. To implement counter using 74LS193 IC.
8.1 Objectives To design digital counter circuits using JK-Flip-Flop. To implement counter using 74LS193 IC. 8.2 Introduction Circuits for counting events are frequently used in computers and other digital
More informationA New Paradigm for Synchronous State Machine Design in Verilog
A New Paradigm for Synchronous State Machine Design in Verilog Randy Nuss Copyright 1999 Idea Consulting Introduction Synchronous State Machines are one of the most common building blocks in modern digital
More informationETEC 2301 Programmable Logic Devices. Chapter 10 Counters. Shawnee State University Department of Industrial and Engineering Technologies
ETEC 2301 Programmable Logic Devices Chapter 10 Counters Shawnee State University Department of Industrial and Engineering Technologies Copyright 2007 by Janna B. Gallaher Asynchronous Counter Operation
More informationRegisters & Counters
Objectives This section deals with some simple and useful sequential circuits. Its objectives are to: Introduce registers as multi-bit storage devices. Introduce counters by adding logic to registers implementing
More informationSequential Logic. (Materials taken from: Principles of Computer Hardware by Alan Clements )
Sequential Logic (Materials taken from: Principles of Computer Hardware by Alan Clements ) Sequential vs. Combinational Circuits Combinatorial circuits: their outputs are computed entirely from their present
More informationLecture 10 Sequential Circuit Design Zhuo Feng. Z. Feng MTU EE4800 CMOS Digital IC Design & Analysis 2010
EE4800 CMOS igital IC esign & Analysis Lecture 10 Sequential Circuit esign Zhuo Feng 10.1 Z. Feng MTU EE4800 CMOS igital IC esign & Analysis 2010 Sequencing Outline Sequencing Element esign Max and Min-elay
More informationExperiment # 9. Clock generator circuits & Counters. Eng. Waleed Y. Mousa
Experiment # 9 Clock generator circuits & Counters Eng. Waleed Y. Mousa 1. Objectives: 1. Understanding the principles and construction of Clock generator. 2. To be familiar with clock pulse generation
More informationLatches, the D Flip-Flop & Counter Design. ECE 152A Winter 2012
Latches, the D Flip-Flop & Counter Design ECE 52A Winter 22 Reading Assignment Brown and Vranesic 7 Flip-Flops, Registers, Counters and a Simple Processor 7. Basic Latch 7.2 Gated SR Latch 7.2. Gated SR
More informationModeling Sequential Elements with Verilog. Prof. Chien-Nan Liu TEL: 03-4227151 ext:34534 Email: jimmy@ee.ncu.edu.tw. Sequential Circuit
Modeling Sequential Elements with Verilog Prof. Chien-Nan Liu TEL: 03-4227151 ext:34534 Email: jimmy@ee.ncu.edu.tw 4-1 Sequential Circuit Outputs are functions of inputs and present states of storage elements
More informationCDA 3200 Digital Systems. Instructor: Dr. Janusz Zalewski Developed by: Dr. Dahai Guo Spring 2012
CDA 3200 Digital Systems Instructor: Dr. Janusz Zalewski Developed by: Dr. Dahai Guo Spring 2012 Outline SR Latch D Latch Edge-Triggered D Flip-Flop (FF) S-R Flip-Flop (FF) J-K Flip-Flop (FF) T Flip-Flop
More informationThe 104 Duke_ACC Machine
The 104 Duke_ACC Machine The goal of the next two lessons is to design and simulate a simple accumulator-based processor. The specifications for this processor and some of the QuartusII design components
More informationDIGITAL ELECTRONICS. Counters. By: Electrical Engineering Department
Counters By: Electrical Engineering Department 1 Counters Upon completion of the chapter, students should be able to:.1 Understand the basic concepts of asynchronous counter and synchronous counters, and
More informationChapter 4 Register Transfer and Microoperations. Section 4.1 Register Transfer Language
Chapter 4 Register Transfer and Microoperations Section 4.1 Register Transfer Language Digital systems are composed of modules that are constructed from digital components, such as registers, decoders,
More information150127-Microprocessor & Assembly Language
Chapter 3 Z80 Microprocessor Architecture The Z 80 is one of the most talented 8 bit microprocessors, and many microprocessor-based systems are designed around the Z80. The Z80 microprocessor needs an
More informationEE 42/100 Lecture 24: Latches and Flip Flops. Rev B 4/21/2010 (2:04 PM) Prof. Ali M. Niknejad
A. M. Niknejad University of California, Berkeley EE 100 / 42 Lecture 24 p. 1/20 EE 42/100 Lecture 24: Latches and Flip Flops ELECTRONICS Rev B 4/21/2010 (2:04 PM) Prof. Ali M. Niknejad University of California,
More informationSequential Logic Design Principles.Latches and Flip-Flops
Sequential Logic Design Principles.Latches and Flip-Flops Doru Todinca Department of Computers Politehnica University of Timisoara Outline Introduction Bistable Elements Latches and Flip-Flops S-R Latch
More information(Refer Slide Time: 00:01:16 min)
Digital Computer Organization Prof. P. K. Biswas Department of Electronic & Electrical Communication Engineering Indian Institute of Technology, Kharagpur Lecture No. # 04 CPU Design: Tirning & Control
More informationDigital Logic Design. Basics Combinational Circuits Sequential Circuits. Pu-Jen Cheng
Digital Logic Design Basics Combinational Circuits Sequential Circuits Pu-Jen Cheng Adapted from the slides prepared by S. Dandamudi for the book, Fundamentals of Computer Organization and Design. Introduction
More informationCascaded Counters. Page 1 BYU
Cascaded Counters Page 1 Mod-N Counters Generally we are interested in counters that count up to specific count values Not just powers of 2 A mod-n counter has N states Counts from 0 to N-1 then rolls
More informationSequential Circuit Design
Sequential Circuit Design Lan-Da Van ( 倫 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Fall, 2009 ldvan@cs.nctu.edu.tw http://www.cs.nctu.edu.tw/~ldvan/ Outlines
More informationDigital Logic Design Sequential circuits
Digital Logic Design Sequential circuits Dr. Eng. Ahmed H. Madian E-mail: ahmed.madian@guc.edu.eg Dr. Eng. Rania.Swief E-mail: rania.swief@guc.edu.eg Dr. Eng. Ahmed H. Madian Registers An n-bit register
More informationCounters and Decoders
Physics 3330 Experiment #10 Fall 1999 Purpose Counters and Decoders In this experiment, you will design and construct a 4-bit ripple-through decade counter with a decimal read-out display. Such a counter
More informationChapter 7. Registers & Register Transfers. J.J. Shann. J. J. Shann
Chapter 7 Registers & Register Transfers J. J. Shann J.J. Shann Chapter Overview 7- Registers and Load Enable 7-2 Register Transfers 7-3 Register Transfer Operations 7-4 A Note for VHDL and Verilog Users
More informationCSE140: Components and Design Techniques for Digital Systems
CE4: Components and esign Techniques for igital ystems Tajana imunic osing ources: Where we are now What we ve covered so far (Chap -5, App. A& B) Number representations Boolean algebra OP and PO Logic
More informationDigital Systems Based on Principles and Applications of Electrical Engineering/Rizzoni (McGraw Hill
Digital Systems Based on Principles and Applications of Electrical Engineering/Rizzoni (McGraw Hill Objectives: Analyze the operation of sequential logic circuits. Understand the operation of digital counters.
More informationCombinational Logic Design Process
Combinational Logic Design Process Create truth table from specification Generate K-maps & obtain logic equations Draw logic diagram (sharing common gates) Simulate circuit for design verification Debug
More informationIntroduction to CMOS VLSI Design (E158) Lecture 8: Clocking of VLSI Systems
Harris Introduction to CMOS VLSI Design (E158) Lecture 8: Clocking of VLSI Systems David Harris Harvey Mudd College David_Harris@hmc.edu Based on EE271 developed by Mark Horowitz, Stanford University MAH
More informationDIGITAL COUNTERS. Q B Q A = 00 initially. Q B Q A = 01 after the first clock pulse.
DIGITAL COUNTERS http://www.tutorialspoint.com/computer_logical_organization/digital_counters.htm Copyright tutorialspoint.com Counter is a sequential circuit. A digital circuit which is used for a counting
More informationA s we saw in Chapter 4, a CPU contains three main sections: the register section,
6 CPU Design A s we saw in Chapter 4, a CPU contains three main sections: the register section, the arithmetic/logic unit (ALU), and the control unit. These sections work together to perform the sequences
More informationLecture 10: Sequential Circuits
Introduction to CMOS VLSI esign Lecture 10: Sequential Circuits avid Harris Harvey Mudd College Spring 2004 Outline q Sequencing q Sequencing Element esign q Max and Min-elay q Clock Skew q Time Borrowing
More informationLecture 11: Sequential Circuit Design
Lecture 11: Sequential Circuit esign Outline Sequencing Sequencing Element esign Max and Min-elay Clock Skew Time Borrowing Two-Phase Clocking 2 Sequencing Combinational logic output depends on current
More informationSequential Circuits. Combinational Circuits Outputs depend on the current inputs
Principles of VLSI esign Sequential Circuits Sequential Circuits Combinational Circuits Outputs depend on the current inputs Sequential Circuits Outputs depend on current and previous inputs Requires separating
More informationEngr354: Digital Logic Circuits
Engr354: igital Circuits Chapter 7 Sequential Elements r. Curtis Nelson Sequential Elements In this chapter you will learn about: circuits that can store information; Basic cells, latches, and flip-flops;
More informationDesign Example: Counters. Design Example: Counters. 3-Bit Binary Counter. 3-Bit Binary Counter. Other useful counters:
Design Eample: ers er: a sequential circuit that repeats a specified sequence of output upon clock pulses. A,B,C,, Z. G, O, T, E, R, P, S,!.,,,,,,,7. 7,,,,,,,.,,,,,,,,,,,. Binary counter: follows the binary
More information路 論 Chapter 15 System-Level Physical Design
Introduction to VLSI Circuits and Systems 路 論 Chapter 15 System-Level Physical Design Dept. of Electronic Engineering National Chin-Yi University of Technology Fall 2007 Outline Clocked Flip-flops CMOS
More informationTIMING DIAGRAM O 8085
5 TIMING DIAGRAM O 8085 5.1 INTRODUCTION Timing diagram is the display of initiation of read/write and transfer of data operations under the control of 3-status signals IO / M, S 1, and S 0. As the heartbeat
More informationMaster/Slave Flip Flops
Master/Slave Flip Flops Page 1 A Master/Slave Flip Flop ( Type) Gated latch(master) Gated latch (slave) 1 Gate Gate GATE Either: The master is loading (the master in on) or The slave is loading (the slave
More informationECE410 Design Project Spring 2008 Design and Characterization of a CMOS 8-bit Microprocessor Data Path
ECE410 Design Project Spring 2008 Design and Characterization of a CMOS 8-bit Microprocessor Data Path Project Summary This project involves the schematic and layout design of an 8-bit microprocessor data
More informationLesson 12 Sequential Circuits: Flip-Flops
Lesson 12 Sequential Circuits: Flip-Flops 1. Overview of a Synchronous Sequential Circuit We saw from last lesson that the level sensitive latches could cause instability in a sequential system. This instability
More informationLecture 8: Synchronous Digital Systems
Lecture 8: Synchronous Digital Systems The distinguishing feature of a synchronous digital system is that the circuit only changes in response to a system clock. For example, consider the edge triggered
More informationSEQUENTIAL CIRCUITS. Block diagram. Flip Flop. S-R Flip Flop. Block Diagram. Circuit Diagram
SEQUENTIAL CIRCUITS http://www.tutorialspoint.com/computer_logical_organization/sequential_circuits.htm Copyright tutorialspoint.com The combinational circuit does not use any memory. Hence the previous
More informationCHAPTER 11 LATCHES AND FLIP-FLOPS
CHAPTER 11 LATCHES AND FLIP-FLOPS This chapter in the book includes: Objectives Study Guide 11.1 Introduction 11.2 Set-Reset Latch 11.3 Gated D Latch 11.4 Edge-Triggered D Flip-Flop 11.5 S-R Flip-Flop
More informationChapter 8. Sequential Circuits for Registers and Counters
Chapter 8 Sequential Circuits for Registers and Counters Lesson 3 COUNTERS Ch16L3- "Digital Principles and Design", Raj Kamal, Pearson Education, 2006 2 Outline Counters T-FF Basic Counting element State
More informationECE380 Digital Logic
ECE38 igital Logic Flip-Flops, Registers and Counters: Flip-Flops r.. J. Jackson Lecture 25- Flip-flops The gated latch circuits presented are level sensitive and can change states more than once during
More informationTopics of Chapter 5 Sequential Machines. Memory elements. Memory element terminology. Clock terminology
Topics of Chapter 5 Sequential Machines Memory elements Memory elements. Basics of sequential machines. Clocking issues. Two-phase clocking. Testing of combinational (Chapter 4) and sequential (Chapter
More informationLecture-3 MEMORY: Development of Memory:
Lecture-3 MEMORY: It is a storage device. It stores program data and the results. There are two kind of memories; semiconductor memories & magnetic memories. Semiconductor memories are faster, smaller,
More informationChapter 5. Sequential Logic
Chapter 5 Sequential Logic Sequential Circuits (/2) Combinational circuits: a. contain no memory elements b. the outputs depends on the current inputs Sequential circuits: a feedback path outputs depends
More informationFlip-Flops and Sequential Circuit Design. ECE 152A Winter 2012
Flip-Flops and Sequential Circuit Design ECE 52 Winter 22 Reading ssignment Brown and Vranesic 7 Flip-Flops, Registers, Counters and a Simple Processor 7.5 T Flip-Flop 7.5. Configurable Flip-Flops 7.6
More informationFlip-Flops and Sequential Circuit Design
Flip-Flops and Sequential Circuit Design ECE 52 Winter 22 Reading ssignment Brown and Vranesic 7 Flip-Flops, Registers, Counters and a Simple Processor 7.5 T Flip-Flop 7.5. Configurable Flip-Flops 7.6
More informationCS311 Lecture: Sequential Circuits
CS311 Lecture: Sequential Circuits Last revised 8/15/2007 Objectives: 1. To introduce asynchronous and synchronous flip-flops (latches and pulsetriggered, plus asynchronous preset/clear) 2. To introduce
More informationCounters & Shift Registers Chapter 8 of R.P Jain
Chapter 3 Counters & Shift Registers Chapter 8 of R.P Jain Counters & Shift Registers Counters, Syllabus Design of Modulo-N ripple counter, Up-Down counter, design of synchronous counters with and without
More informationSystems I: Computer Organization and Architecture
Systems I: Computer Organization and Architecture Lecture : Microprogrammed Control Microprogramming The control unit is responsible for initiating the sequence of microoperations that comprise instructions.
More informationMICROPROCESSOR. Exclusive for IACE Students www.iace.co.in iacehyd.blogspot.in Ph: 9700077455/422 Page 1
MICROPROCESSOR A microprocessor incorporates the functions of a computer s central processing unit (CPU) on a single Integrated (IC), or at most a few integrated circuit. It is a multipurpose, programmable
More informationDecimal Number (base 10) Binary Number (base 2)
LECTURE 5. BINARY COUNTER Before starting with counters there is some vital information that needs to be understood. The most important is the fact that since the outputs of a digital chip can only be
More informationNTE2053 Integrated Circuit 8 Bit MPU Compatible A/D Converter
NTE2053 Integrated Circuit 8 Bit MPU Compatible A/D Converter Description: The NTE2053 is a CMOS 8 bit successive approximation Analog to Digital converter in a 20 Lead DIP type package which uses a differential
More informationChapter 2 Logic Gates and Introduction to Computer Architecture
Chapter 2 Logic Gates and Introduction to Computer Architecture 2.1 Introduction The basic components of an Integrated Circuit (IC) is logic gates which made of transistors, in digital system there are
More informationCHAPTER 11: Flip Flops
CHAPTER 11: Flip Flops In this chapter, you will be building the part of the circuit that controls the command sequencing. The required circuit must operate the counter and the memory chip. When the teach
More informationCHAPTER 4 MARIE: An Introduction to a Simple Computer
CHAPTER 4 MARIE: An Introduction to a Simple Computer 4.1 Introduction 195 4.2 CPU Basics and Organization 195 4.2.1 The Registers 196 4.2.2 The ALU 197 4.2.3 The Control Unit 197 4.3 The Bus 197 4.4 Clocks
More informationWiki Lab Book. This week is practice for wiki usage during the project.
Wiki Lab Book Use a wiki as a lab book. Wikis are excellent tools for collaborative work (i.e. where you need to efficiently share lots of information and files with multiple people). This week is practice
More informationContents COUNTER. Unit III- Counters
COUNTER Contents COUNTER...1 Frequency Division...2 Divide-by-2 Counter... 3 Toggle Flip-Flop...3 Frequency Division using Toggle Flip-flops...5 Truth Table for a 3-bit Asynchronous Up Counter...6 Modulo
More informationInstruction Set Architecture. Datapath & Control. Instruction. LC-3 Overview: Memory and Registers. CIT 595 Spring 2010
Instruction Set Architecture Micro-architecture Datapath & Control CIT 595 Spring 2010 ISA =Programmer-visible components & operations Memory organization Address space -- how may locations can be addressed?
More informationMore Verilog. 8-bit Register with Synchronous Reset. Shift Register Example. N-bit Register with Asynchronous Reset.
More Verilog 8-bit Register with Synchronous Reset module reg8 (reset, CLK, D, Q); input reset; input [7:0] D; output [7:0] Q; reg [7:0] Q; if (reset) Q = 0; else Q = D; module // reg8 Verilog - 1 Verilog
More informationDIGITAL TECHNICS II. Dr. Bálint Pődör. Óbuda University, Microelectronics and Technology Institute 5. LECTURE: REGISTERS AND RELATED
DIGITAL TECHNICS II Dr. Bálint Pődör Óbuda University, Microelectronics and Technology Institute 5. LECTURE: REGISTERS AND RELATED 2nd (Spring) term 22/23 5. LECTURE: REGISTERS. Storage registers 2. Shift
More informationIE1204 Digital Design F12: Asynchronous Sequential Circuits (Part 1)
IE1204 Digital Design F12: Asynchronous Sequential Circuits (Part 1) Elena Dubrova KTH / ICT / ES dubrova@kth.se BV pp. 584-640 This lecture IE1204 Digital Design, HT14 2 Asynchronous Sequential Machines
More informationUNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180B Lab 7: MISP Processor Design Spring 1995
UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering EEC180B Lab 7: MISP Processor Design Spring 1995 Objective: In this lab, you will complete the design of the MISP processor,
More informationChapter 9 Latches, Flip-Flops, and Timers
ETEC 23 Programmable Logic Devices Chapter 9 Latches, Flip-Flops, and Timers Shawnee State University Department of Industrial and Engineering Technologies Copyright 27 by Janna B. Gallaher Latches A temporary
More informationChapter 9 Computer Design Basics!
Logic and Computer Design Fundamentals Chapter 9 Computer Design Basics! Part 2 A Simple Computer! Charles Kime & Thomas Kaminski 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode)
More informationLecture 7: Clocking of VLSI Systems
Lecture 7: Clocking of VLSI Systems MAH, AEN EE271 Lecture 7 1 Overview Reading Wolf 5.3 Two-Phase Clocking (good description) W&E 5.5.1, 5.5.2, 5.5.3, 5.5.4, 5.5.9, 5.5.10 - Clocking Note: The analysis
More informationCPU Organisation and Operation
CPU Organisation and Operation The Fetch-Execute Cycle The operation of the CPU 1 is usually described in terms of the Fetch-Execute cycle. 2 Fetch-Execute Cycle Fetch the Instruction Increment the Program
More informationENEE 244 (01**). Spring 2006. Homework 5. Due back in class on Friday, April 28.
ENEE 244 (01**). Spring 2006 Homework 5 Due back in class on Friday, April 28. 1. Fill up the function table (truth table) for the following latch. How is this latch related to those described in the lectures
More informationPROGETTO DI SISTEMI ELETTRONICI DIGITALI. Digital Systems Design. Digital Circuits Advanced Topics
PROGETTO DI SISTEMI ELETTRONICI DIGITALI Digital Systems Design Digital Circuits Advanced Topics 1 Sequential circuit and metastability 2 Sequential circuit - FSM A Sequential circuit contains: Storage
More informationDigital Fundamentals. Lab 8 Asynchronous Counter Applications
Richland College Engineering Technology Rev. 0 B. Donham Rev. 1 (7/2003). Horne Rev. 2 (1/2008). Bradbury Digital Fundamentals CETT 1425 Lab 8 Asynchronous Counter Applications Name: Date: Objectives:
More informationTheory of Logic Circuits. Laboratory manual. Exercise 3
Zakład Mikroinformatyki i Teorii Automatów yfrowych Theory of Logic ircuits Laboratory manual Exercise 3 Bistable devices 2008 Krzysztof yran, Piotr zekalski (edt.) 1. lassification of bistable devices
More informationCS101 Lecture 26: Low Level Programming. John Magee 30 July 2013 Some material copyright Jones and Bartlett. Overview/Questions
CS101 Lecture 26: Low Level Programming John Magee 30 July 2013 Some material copyright Jones and Bartlett 1 Overview/Questions What did we do last time? How can we control the computer s circuits? How
More informationCounters. Present State Next State A B A B 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0
ounter ounters ounters are a specific type of sequential circuit. Like registers, the state, or the flip-flop values themselves, serves as the output. The output value increases by one on each clock cycle.
More informationModeling Latches and Flip-flops
Lab Workbook Introduction Sequential circuits are digital circuits in which the output depends not only on the present input (like combinatorial circuits), but also on the past sequence of inputs. In effect,
More informationFINITE STATE MACHINE: PRINCIPLE AND PRACTICE
CHAPTER 10 FINITE STATE MACHINE: PRINCIPLE AND PRACTICE A finite state machine (FSM) is a sequential circuit with random next-state logic. Unlike the regular sequential circuit discussed in Chapters 8
More informationBASIC COMPUTER ORGANIZATION AND DESIGN
1 BASIC COMPUTER ORGANIZATION AND DESIGN Instruction Codes Computer Registers Computer Instructions Timing and Control Instruction Cycle Memory Reference Instructions Input-Output and Interrupt Complete
More informationLayout of Multiple Cells
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
More informationCHAPTER IX REGISTER BLOCKS COUNTERS, SHIFT, AND ROTATE REGISTERS
CHAPTER IX-1 CHAPTER IX CHAPTER IX COUNTERS, SHIFT, AN ROTATE REGISTERS REA PAGES 249-275 FROM MANO AN KIME CHAPTER IX-2 INTROUCTION -INTROUCTION Like combinational building blocks, we can also develop
More informationCOMBINATIONAL and SEQUENTIAL LOGIC CIRCUITS Hardware implementation and software design
PH-315 COMINATIONAL and SEUENTIAL LOGIC CIRCUITS Hardware implementation and software design A La Rosa I PURPOSE: To familiarize with combinational and sequential logic circuits Combinational circuits
More informationECE232: Hardware Organization and Design. Part 3: Verilog Tutorial. http://www.ecs.umass.edu/ece/ece232/ Basic Verilog
ECE232: Hardware Organization and Design Part 3: Verilog Tutorial http://www.ecs.umass.edu/ece/ece232/ Basic Verilog module ();
More informationTiming Methodologies (cont d) Registers. Typical timing specifications. Synchronous System Model. Short Paths. System Clock Frequency
Registers Timing Methodologies (cont d) Sample data using clock Hold data between clock cycles Computation (and delay) occurs between registers efinition of terms setup time: minimum time before the clocking
More informationTake-Home Exercise. z y x. Erik Jonsson School of Engineering and Computer Science. The University of Texas at Dallas
Take-Home Exercise Assume you want the counter below to count mod-6 backward. That is, it would count 0-5-4-3-2-1-0, etc. Assume it is reset on startup, and design the wiring to make the counter count
More informationUpon completion of unit 1.1, students will be able to
Upon completion of unit 1.1, students will be able to 1. Demonstrate safety of the individual, class, and overall environment of the classroom/laboratory, and understand that electricity, even at the nominal
More informationSequential Logic: Clocks, Registers, etc.
ENEE 245: igital Circuits & Systems Lab Lab 2 : Clocks, Registers, etc. ENEE 245: igital Circuits and Systems Laboratory Lab 2 Objectives The objectives of this laboratory are the following: To design
More informationMICROPROCESSOR AND MICROCOMPUTER BASICS
Introduction MICROPROCESSOR AND MICROCOMPUTER BASICS At present there are many types and sizes of computers available. These computers are designed and constructed based on digital and Integrated Circuit
More informationFinite State Machine Design and VHDL Coding Techniques
Finite State Machine Design and VHDL Coding Techniques Iuliana CHIUCHISAN, Alin Dan POTORAC, Adrian GRAUR "Stefan cel Mare" University of Suceava str.universitatii nr.13, RO-720229 Suceava iulia@eed.usv.ro,
More informationDigital Electronics Detailed Outline
Digital Electronics Detailed Outline Unit 1: Fundamentals of Analog and Digital Electronics (32 Total Days) Lesson 1.1: Foundations and the Board Game Counter (9 days) 1. Safety is an important concept
More informationHaving read this workbook you should be able to: recognise the arrangement of NAND gates used to form an S-R flip-flop.
Objectives Having read this workbook you should be able to: recognise the arrangement of NAND gates used to form an S-R flip-flop. describe how such a flip-flop can be SET and RESET. describe the disadvantage
More informationASYNCHRONOUS COUNTERS
LB no.. SYNCHONOUS COUNTES. Introduction Counters are sequential logic circuits that counts the pulses applied at their clock input. They usually have 4 bits, delivering at the outputs the corresponding
More informationState Machines in VHDL
State Machines in VHDL Implementing state machines in VHDL is fun and easy provided you stick to some fairly well established forms. These styles for state machine coding given here is not intended to
More informationSo far we have investigated combinational logic for which the output of the logic devices/circuits depends only on the present state of the inputs.
equential Logic o far we have investigated combinational logic for which the output of the logic devices/circuits depends only on the present state of the inputs. In sequential logic the output of the
More informationDIGITAL TECHNICS II. Dr. Bálint Pődör. Óbuda University, Microelectronics and Technology Institute. 2nd (Spring) term 2012/2013
DIGITAL TECHNICS II Dr. Bálint Pődör Óbuda University, Microelectronics and Technology Institute 4. LECTURE: COUNTERS AND RELATED 2nd (Spring) term 2012/2013 1 4. LECTURE: COUNTERS AND RELATED 1. Counters,
More information