Chapter 7: Digital Components. Oregon State University School of Electrical Engineering and Computer Science. Review basic digital design concepts:

Similar documents
EE141. Lecture 28 Multipliers. Lecture #20. Project Phase 2 Posted. Sign up for one of three project goals today

UNIT 8A Computer Circuitry: Layers of Abstraction. Boolean Logic & Truth Tables

Digital Integrated Circuits A Design Perspective

Logic. Basic Logic Functions. Switches in series (AND) Truth Tables. Switches in Parallel (OR) Alternative view for OR

Decoding A Counter. svbitec.wordpress.com 1

Introduction EE 224: INTRODUCTION TO DIGITAL CIRCUITS & COMPUTER DESIGN. Lecture 6: Sequential Logic 3 Registers & Counters 5/9/2010

課程名稱 : 數位邏輯設計 P-1/ /6/11

EC 413 Computer Organization

Chapter #7: Sequential Logic Case Studies Contemporary Logic Design

Lecture 3 Review on Digital Logic (Part 2)

Review. EECS Components and Design Techniques for Digital Systems. Lec 18 Arithmetic II (Multiplication) Computer Number Systems

Chapter 8: Atmel s AVR 8-bit Microcontroller Part 3 Microarchitecture. Oregon State University School of Electrical Engineering and Computer Science

UNIVERSITY OF WISCONSIN MADISON

SRC Language Conventions. Class 6: Intro to SRC Simulator Register Transfers and Logic Circuits. SRC Simulator Demo. cond_br.asm.

Design at the Register Transfer Level

:3 2 D e c o de r S ubs ys te m "0 " One "1 " Ze ro "0 " "0 " One I 1 "0 " One "1 " Ze ro "1 " Ze ro "0 " "0 "

Digital Integrated Circuits A Design Perspective. Arithmetic Circuits

EE141- Spring 2007 Digital Integrated Circuits

Figure 1-1 Basic Gates

Digital Logic: Boolean Algebra and Gates. Textbook Chapter 3

EECS150. Arithmetic Circuits

Time Allowed 3:00 hrs. April, pages

Chapter 7. Sequential Circuits Registers, Counters, RAM

Overview. Arithmetic circuits. Binary half adder. Binary full adder. Last lecture PLDs ROMs Tristates Design examples

Chapter # 4: Programmable and Steering Logic

LOGIC CIRCUITS. Basic Experiment and Design of Electronics

Digital Fundamentals

A B D 1 Y D 2 D 3. Truth table for 4 to 1 MUX: A B Y 0 0 D D D D 3

Sequential Logic Design

CprE 281: Digital Logic

Bit-Sliced Design. EECS 141 F01 Arithmetic Circuits. A Generic Digital Processor. Full-Adder. The Binary Adder

CMSC 313 Lecture 18 Midterm Exam returned Assign Homework 3 Circuits for Addition Digital Logic Components Programmable Logic Arrays

Adders allow computers to add numbers 2-bit ripple-carry adder

CPS 104 Computer Organization and Programming Lecture 11: Gates, Buses, Latches. Robert Wagner

Appendix B. Review of Digital Logic. Baback Izadi Division of Engineering Programs

UNIT III Design of Combinational Logic Circuits. Department of Computer Science SRM UNIVERSITY

ECE 341. Lecture # 3

EE141-Fall 2010 Digital Integrated Circuits. Announcements. An Intel Microprocessor. Bit-Sliced Design. Class Material. Last lecture.

CS61C : Machine Structures

Ch 4. Combinational Logic Technologies. IV - Combinational Logic Technologies Contemporary Logic Design 1

Evaluating Overheads of Multi-bit Soft Error Protection Techniques at Hardware Level Sponsored by SRC and Freescale under SRC task number 2042

ALU A functional unit

CS61C : Machine Structures

Chapter 5. Digital systems. 5.1 Boolean algebra Negation, conjunction and disjunction

MAHALAKSHMI ENGINEERING COLLEGE TIRUCHIRAPALLI

Sequential Logic Circuits

CSE140: Components and Design Techniques for Digital Systems. Midterm Information. Instructor: Mohsen Imani. Sources: TSR, Katz, Boriello & Vahid

A Second Datapath Example YH16

LOGIC CIRCUITS. Basic Experiment and Design of Electronics. Ho Kyung Kim, Ph.D.

CHAPTER log 2 64 = 6 lines/mux or decoder 9-2.* C = C 8 V = C 8 C * 9-4.* (Errata: Delete 1 after problem number) 9-5.

CMSC 313 Lecture 18 Midterm Exam returned Assign Homework 3 Circuits for Addition Digital Logic Components Programmable Logic Arrays

COEN 312 DIGITAL SYSTEMS DESIGN - LECTURE NOTES Concordia University

MAHALAKSHMI ENGINEERING COLLEGE TIRUCHIRAPALLI

Y. Tsiatouhas. VLSI Systems and Computer Architecture Lab

Menu. 7-Segment LED. Misc. 7-Segment LED MSI Components >MUX >Adders Memory Devices >D-FF, RAM, ROM Computer/Microprocessor >GCPU

ECE 2300 Digital Logic & Computer Organization

ECE/Comp Sci 352 Digital Systems Fundamentals. Charles R. Kime Section 2 Fall Logic and Computer Design Fundamentals

Chapter # 4: Programmable and Steering Logic

Counters. Clocked sequential circuit whose state diagram contains a single cycle. Modulus number of states in the cycle. Counters with nonpower

Logic and Computer Design Fundamentals. Chapter 8 Sequencing and Control

Processor Design & ALU Design

Fundamentals of Digital Design

Chapter 2. Review of Digital Systems Design

The Digital Logic Level

Chapter 4. Sequential Logic Circuits

S.E. Sem. III [ETRX] Digital Circuit Design. t phl. Fig.: Input and output voltage waveforms to define propagation delay times.

Computer Science Final Examination Friday December 14 th 2001

Topics. CMOS Design Multi-input delay analysis. John A. Chandy Dept. of Electrical and Computer Engineering University of Connecticut

Appendix A: Digital Logic. Principles of Computer Architecture. Principles of Computer Architecture by M. Murdocca and V. Heuring

Module 2. Basic Digital Building Blocks. Binary Arithmetic & Arithmetic Circuits Comparators, Decoders, Encoders, Multiplexors Flip-Flops

Chapter 3 Digital Logic Structures

CSE370 HW6 Solutions (Winter 2010)

Digital Electronics Sequential Logic

Integrated Circuits & Systems

Digital Logic Design - Chapter 4

Chapter 5. Digital Design and Computer Architecture, 2 nd Edition. David Money Harris and Sarah L. Harris. Chapter 5 <1>

Arithmetic Building Blocks

EE 209 Logic Cumulative Exam Name:

Unit 9. Multiplexers, Decoders, and Programmable Logic Devices. Unit 9 1

Written exam with solutions IE Digital Design Friday 21/

Menu. Excitation Tables (Bonus Slide) EEL3701 EEL3701. Registers, RALU, Asynch, Synch

Lecture 9: Sequential Logic Circuits. Reading: CH 7

Digital Integrated Circuits A Design Perspective

ELCT201: DIGITAL LOGIC DESIGN

Clocked Sequential Circuits UNIT 13 ANALYSIS OF CLOCKED SEQUENTIAL CIRCUITS. Analysis of Clocked Sequential Circuits. Signal Tracing and Timing Charts

Sample Test Paper - I

CSC 322: Computer Organization Lab

Logic design? Transistor as a switch. Layered design approach. CS/COE1541: Introduction to Computer Architecture. Logic Design Review.

Sequential Logic. Rab Nawaz Khan Jadoon DCS. Lecturer COMSATS Lahore Pakistan. Department of Computer Science

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

CHW 261: Logic Design

Implementing the Controller. Harvard-Style Datapath for DLX

Appendix A: Digital Logic. CPSC 352- Computer Organization

EE 209 Spiral 1 Exam Solutions Name:

CMP 334: Seventh Class

Digital Integrated Circuits A Design Perspective

EECS150 - Digital Design Lecture 11 - Shifters & Counters. Register Summary

Spiral 2-1. Datapath Components: Counters Adders Design Example: Crosswalk Controller

Appendix A: Digital Logic. Principles of Computer Architecture. Principles of Computer Architecture by M. Murdocca and V. Heuring

EECS 270 Midterm 2 Exam Answer Key Winter 2017

Transcription:

hapter 7: igital omponents Prof. en Lee Oregon tate University chool of Electrical Engineering and omputer cience hapter Goals Review basic digital design concepts: esigning basic digital components using logic gates and memory elements: ecoders/encoders, multiplexers, counters, registers, memories, and rithmetic and Logic Units (LUs). Understand that these digital components represent fundamental building blocks for any digital system, especially processor (microarchitecture) design: Modular design. hapter 7: igital omponents 2

ontents 7. Introduction 7.2 Multiplexers 7.3 ecoders 7.4 Elements 7.5 Registers 7.6 Register File asic LU (see hapter 9) hapter 7: igital omponents 3 7. Introduction hapter 7: igital omponents 4 2

asic igital omponents Multiplexors ecoders/encoders Registers Memories later we will see rithmetic and Logic Units (LUs) Fetch Execute MUXH R MUX Opcode VR Microarchitecture 6 Rd Rr 5 5 Register ddr. Logic 7 7 w w r r in Register File in out out Program IR P ddr Inst/ata Out lignment Unit 7 7 K MUXJ zf R, R+, -R, or R+q q 6 se k 7 or 2 MR P++ se k, k, or Z P+ k NP + MUXK P+ P+ or k MUX ata In ddr MUXF R MUXG MUX LU LU ata ata Out ddress dder R, R+,-R, or R+q P++se k, k, or Z hapter 7: igital omponents 5 7.2 Multiplexer hapter 7: igital omponents 6 3

Multiplexors Use to choose among multiple input sources. Fetch MUXJ P P++ se k, k, or Z P+ ddr Program Inst/ata Out R, R+, -R, or R+q k + MUXK P+ IR MR NP Execute MUXH Opcode lignment Unit Rd Rr K q 6 5 5 6 k 7 or 2 P+ or k R MUX Register ddr. Logic 7 7 7 7 w w r r in Register File in out out zf se MUX ata In ddr MUXF R MUXG MUX LU LU ata ata Out ddress dder R, R+,-R, or R+q P++se k, k, or Z hapter 7: igital omponents 7 Multiplexors 2 n data inputs, n control inputs, one output. ontrol signal pattern forms binary index of input connected to output. I I MUX I I O O I I O I I O = ' I + I hapter 7: igital omponents O 4

Multiplexors (cont.) 2: MUX: O = I + I 4: MUX: O = I + I + I 2 + I 3 : MUX: O = 2 I + 2 I + 2 I 2 + 2 I 3 + 2 I 4 + 2 I 5 + 2 I 6 + 2 I 7 I I I I 2 I 3 4: mux O I I 2 O I 3 hapter 7: igital omponents 9 ascading Multiplexors Large multiplexers implemented by cascading smaller ones. lternative Implementation I I I 2 I 3 I 4 I 5 I 6 I 7 4: MUX 4: MUX 2: MUX : MUX O I I I 2 I 3 I 4 I 5 I 6 I 7 2: MUX 2: MUX 2: MUX 2: MUX : MUX 4: MUX O 2 2 hapter 7: igital omponents 5

7.3 ecoder hapter 7: igital omponents ecoders ingle data input, k control inputs, 2 k outputs. Used to select one of 2 k components: RM cells in memory Registers in register file 2 3-to- 3 4 ecoder 5 6 7 2 ''' '' '' ' '' ' ' hapter 7: igital omponents 2 6

2-to-4 ecoder Implementing a 2-to-4 decoder Truth Table E O 3 O 2 O O E O O O 2 O 3 O = E O = E O 2 = E O 3 = E We can also implement active low enable hapter 7: igital omponents 3 7.4 Elements hapter 7: igital omponents 4 7

Elements i-stable elements used in Program and ata memories Registers Register File Fetch Execute MUXH Opcode 6 Rd Rr 5 5 Program IR P ddr Inst/ata Out lignment Unit K MUXJ R, R+, -R, or R+q q 6 k 7 or 2 MR P++ se k, k, or Z P+ k NP + MUXK P+ P+ or k R MUX Register ddr. Logic 7 7 7 7 w w r r in Register File in out out zf se MUX ata In ddr MUXF R MUXG MUX LU LU ata ata Out ddress dder R, R+,-R, or R+q P++se k, k, or Z hapter 7: igital omponents 5 Element: -R Latch R R hold not allowed R R not allowed hold hapter 7: igital omponents

-R Latch Operation =, R= (hold), initially = R =, R= (reset), initially = R!!!! =, R= (set), initially = =, R= (not allowed), initially = R!! R!!!! hapter 7: igital omponents 7 -R Latch with Enable R ircuit Function Table R X X No hange No hange Not allowed Logic ymbol R hapter 7: igital omponents 9

Latch ircuit Function Table LK X No hange Logic ymbol hapter 7: igital omponents 9 Negative Edge-Triggered -FF LK ircuit Function Table LK No hange No hange Logic ymbol LK hapter 7: igital omponents 2

Negative Edge-Triggered -FF Operation X ( or ) X ( or ) (t-) X ( or ) Master lave LK t t+ hapter 7: igital omponents 2 Positive Edge-Triggered -FF ircuit Function Table LK No hange No hange LK Logic ymbol LK hapter 7: igital omponents 22

Edge-Triggered -FF /w Enable ircuit Logic ymbol E E hapter 7: igital omponents 23 7.4 Registers hapter 7: igital omponents 24 2

Registers Used to temporary hold and separate information Fetch among various parts of the datapath. Program MUXJ P ddr P++ se k, k, or Z P+ + Inst/ata Out R, R+, -R, or R+q k MUXK P+ IR MR NP Execute MUXH Opcode lignment Unit Rd Rr K q 6 5 5 6 k 7 or 2 P+ or k R MUX Register ddr. Logic 7 7 7 7 w w r r in Register File in out out zf se MUX ata In ddr MUXF R MUXG MUX LU LU ata ata Out ddress dder R, R+,-R, or R+q P++se k, k, or Z hapter 7: igital omponents 25 n-bit Register /w Load Enable E set of commonly clocked flip-flops LK ymbol E 2 2 2 3 3 2 3 3 hapter 7: igital omponents 26 3

hift Registers er_in = er_out LK LK 2 2 3 = er_out er_in 3 hift Left (down) hift Right (up) hapter 7: igital omponents 27 i-irectional hift Register /w Parallel Load LK L_IN Right (top) ontrol Next Input tate Function 3 2 Hold 3 2 hift right R _IN 3 2 hift left 2 L_IN Load 3 2 2 2 3 3 Left (bottom) R_IN hapter 7: igital omponents 2 4

7.5 hapter 7: igital omponents 29 Program and ata memories Fetch MUXJ P P++ se k, k, or Z P+ ddr Program Inst/ata Out R, R+, -R, or R+q k + MUXK P+ IR MR NP Execute MUXH Opcode lignment Unit Rd Rr K q 6 5 5 6 k 7 or 2 P+ or k R MUX Register ddr. Logic 7 7 7 7 w w r r in Register File in out out zf se MUX ata In ddr MUXF R MUXG MUX LU LU ata ata Out ddress dder R, R+,-R, or R+q P++se k, k, or Z hapter 7: igital omponents 3 5

ell tatic RM (RM) Fast Practically a -FF. Used in Registers and Instruction and ata aches. ynamic RM (RM) Need to be refreshed periodically. Used in Main in out in out RM ell hapter 7: igital omponents 3 RM tructure ata In in(b-) in(b-2) in() ecoder front-end to select one word Not clocked! n- n-to-2 n ecoder In In Out Out In In Out Out In In Out Out 2 n- In Out In Out In Out Write Enable (Write) hip ect WE Output Enable (Read) OE out(b-) out(b-2) out() ata Out hapter 7: igital omponents 32

RM Operation: Read in(b-) in(b-2) in() Row ect In X b- X b-2 X Out In Out In Out WE OE X b- X b-2 X out(b-) out(b-2) out() hapter 7: igital omponents 33 RM Operation: Write in(b-) in(b-2) in() Row ect X b- X b-2 X In X b- X b-2 X Out In Out In Out WE OE out(b-) out(b-2) out() hapter 7: igital omponents 34 7

uilding Larger Read Write 7-5 - 64K X RM ddress IN OUT 7 2-to-4 ecoder 2 3 WE OE 64K X RM ddress 256K x RM Using four 64K x RMs IN OUT WE OE 64K X RM ddress IN OUT WE OE 64K X RM ddress IN OUT WE OE hapter 7: igital omponents 35 uilding Wider 256K x RM Using two 256K x RMs 5-7 - - 256K X RM ddress 256K X RM ddress IN OUT IN OUT Write Read WE OE WE OE 5-7 - hapter 7: igital omponents 36

7.6 Register File hapter 7: igital omponents 37 Register File torage buffer between LU and Fetch MUXJ P P++ se k, k, or Z P+ ddr Program Inst/ata Out R, R+, -R, or R+q k + MUXK P+ IR MR NP Execute MUXH Opcode lignment Unit Rd Rr K q 6 5 5 6 k 7 or 2 P+ or k R MUX Register ddr. Logic 7 7 7 7 w w r r in Register File in out out zf se MUX ata In ddr MUXF R MUXG MUX LU LU ata ata Out ddress dder R, R+,-R, or R+q P++se k, k, or Z hapter 7: igital omponents 3 9

Register File Register Identifiers Read Write ata In in in LK r r w w 7 7 7 7 2 Read-port, 2 Write-port X-, Y-, & Z-registers R R R 27 E E E ecoder 27 ecoder 27 RF_w RF_w Write signals 27 MUX 27 MUX out out ata Out hapter 7: igital omponents 39 asic LU hapter 7: igital omponents 4 2

Full dder x i y i x i y i c i + F c i c i+ c i s i x i y i c i s i c i+ x i y i c i x i y i c i s i c i+ s i s i = x i y i c i c i+ = x i y i + ( x i y i )c i or c i+ = x i y i + ( x i + y i )c i hapter 7: igital omponents 4 n-bit Ripple arry dder x n- y n- x n- y n- x y c n F F F c arry-out available after 2 gds c n s n- s n-2 s x n- y n- x Å y already available c n- ssuming x and y are available at the same time. ased on c i+ =x i y i +(x i +y i )c i Valid result available after 2n gds! s n- um available after 2 gds arry-in available after 2(n-) gds hapter 7: igital omponents 42 2

dder/ubtractor With R and a complementor, we can perform a variety of operations: x+y x+y x+y + +y y y + x n- y n- y n- y n-2 y c n F F F c x n- y n- x y c y c result = y c + yc s n- s n-2 s hapter 7: igital omponents 43 ondition odes in REG x n- y n- x n- y n- x y c n F F F c ign-bit () N V orrect Incorrect! orrect Incorrect! s n- s n-2 s Rule for Overflow (V) arry-in, carry-out V N Z No carry-in, no carry out Otherwise, overflow! arry-out it n- arry-in arry-out it n- arry-in hapter 7: igital omponents 44 22

uestions? hapter 7: igital omponents 45 23