Spiral Content Mapping. Spiral 2 1. Learning Outcomes DATAPATH COMPONENTS. Datapath Components: Counters Adders Design Example: Crosswalk Controller

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

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

MODEL QUESTIONS WITH ANSWERS THIRD SEMESTER B.TECH DEGREE EXAMINATION DECEMBER CS 203: Switching Theory and Logic Design. Time: 3 Hrs Marks: 100

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

Chapter 3 Unit Combinational

Find the equivalent decimal value for the given value Other number system to decimal ( Sample)

ECE 263 Digital Systems, Fall 2015

Chapter 6. Flip-Flops and Simple Flip-Flop Applications

MODU LE DAY. Class-A, B, AB and C amplifiers - basic concepts, power, efficiency Basic concepts of Feedback and Oscillation. Day 1

Computer Architecture and Organization

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

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

CprE 281: Digital Logic

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

Asynchronous (Ripple) Counters

Universal Asynchronous Receiver- Transmitter (UART)

Learning Outcomes. Unit 13. Sequential Logic BISTABLES, LATCHES, AND FLIP- FLOPS. I understand the difference between levelsensitive

VU Mobile Powered by S NO Group

AM AM AM AM PM PM PM

Digital Fundamentals: A Systems Approach

LATCHES & FLIP-FLOP. Chapter 7

CS/ECE 250: Computer Architecture. Basics of Logic Design: ALU, Storage, Tristate. Benjamin Lee

211: Computer Architecture Summer 2016

Microprocessor Design

CSC Computer Architecture and Organization

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.

Contents Circuits... 1

MC9211 Computer Organization

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

Digital Principles and Design

Combinational vs Sequential

EE292: Fundamentals of ECE

The word digital implies information in computers is represented by variables that take a limited number of discrete values.

Solution to Digital Logic )What is the magnitude comparator? Design a logic circuit for 4 bit magnitude comparator and explain it,

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

Chapter 2. Digital Circuits

Final Exam review: chapter 4 and 5. Supplement 3 and 4

Sequential Circuits. Sequential Logic. Circuits with Feedback. Simplest Circuits with Feedback. Memory with Cross-coupled Gates.

6.3 Sequential Circuits (plus a few Combinational)

CSE115: Digital Design Lecture 23: Latches & Flip-Flops

Unit-5 Sequential Circuits - 1

Outcomes. Spiral 1 / Unit 6. Flip-Flops FLIP FLOPS AND REGISTERS. Flip-flops and Registers. Outputs only change once per clock period

Software Engineering 2DA4. Slides 3: Optimized Implementation of Logic Functions

Logic Design II (17.342) Spring Lecture Outline

ALGORITHMS IN HW EECS150 ALGORITHMS IN HW. COMBINATIONAL vs. SEQUENTIAL. Sequential Circuits ALGORITHMS IN HW

Principles of Computer Architecture. Appendix A: Digital Logic

EXPERIMENT: 1. Graphic Symbol: OR: The output of OR gate is true when one of the inputs A and B or both the inputs are true.

Department of Computer Science and Engineering Question Bank- Even Semester:

ENGR 303 Introduction to Logic Design Lecture 10. Dr. Chuck Brown Engineering and Computer Information Science Folsom Lake College

Good Evening! Welcome!

Logic Design II (17.342) Spring Lecture Outline

CS 61C: Great Ideas in Computer Architecture

1 Hour Sample Test Papers: Sample Test Paper 1. Roll No.

! Two inverters form a static memory cell " Will hold value as long as it has power applied

A clock is a free-running signal with a cycle time. A clock may be either high or low, and alternates between the two states.

Sequential Logic. Sequential Circuits. ! Timing Methodologies " Cascading flip-flops for proper operation " Clock skew

Chapter 1: Switching Algebra Chapter 2: Logical Levels, Timing & Delays. Introduction to latches Chapter 9: Binary Arithmetic

COE328 Course Outline. Fall 2007

Chapter Contents. Appendix A: Digital Logic. Some Definitions

MUHAMMAD NAEEM LATIF MCS 3 RD SEMESTER KHANEWAL

R13 SET - 1 '' ''' '' ' '''' Code No: RT21053

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

Sequential logic. Circuits with feedback. How to control feedback? Sequential circuits. Timing methodologies. Basic registers

Question Bank. Unit 1. Digital Principles, Digital Logic

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

Registers and Counters

EECS 270 Midterm 2 Exam Closed book portion Fall 2014

MODULE 3. Combinational & Sequential logic

Chapter 5: Synchronous Sequential Logic

DIGITAL CIRCUIT COMBINATORIAL LOGIC

Administrative issues. Sequential logic

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

Logic and Computer Design Fundamentals. Chapter 7. Registers and Counters

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING

COSC 243. Sequential Logic. COSC 243 (Computer Architecture) Lecture 5 - Sequential Logic 1

R13. II B. Tech I Semester Regular Examinations, Jan DIGITAL LOGIC DESIGN (Com. to CSE, IT) PART-A

FPGA Design with VHDL

Course Administration

CprE 281: Digital Logic

LESSON PLAN. Sub Code: EE2255 Sub Name: DIGITAL LOGIC CIRCUITS Unit: I Branch: EEE Semester: IV

give sequence to events have memory (short-term) use feedback from output to input to store information

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

St. MARTIN S ENGINEERING COLLEGE

Counter dan Register

BCN1043. By Dr. Mritha Ramalingam. Faculty of Computer Systems & Software Engineering

DHANALAKSHMI SRINIVASAN INSTITUTE OF RESEARCH AND TECHNOLOGY CS6201-DIGITAL PRINCIPLE AND SYSTEM DESIGN. I Year/ II Sem PART-A TWO MARKS UNIT-I

Bachelor Level/ First Year/ Second Semester/ Science Full Marks: 60 Computer Science and Information Technology (CSc. 151) Pass Marks: 24

SEMESTER ONE EXAMINATIONS 2002

PHYSICS 5620 LAB 9 Basic Digital Circuits and Flip-Flops

DIGITAL ELECTRONICS MCQs

ECE321 Electronics I

ME 515 Mechatronics. Introduction to Digital Electronics

CHAPTER 4: Logic Circuits

COMP2611: Computer Organization. Introduction to Digital Logic

ELE2120 Digital Circuits and Systems. Tutorial Note 7

Quiz #4 Thursday, April 25, 2002, 5:30-6:45 PM

Chapter 4. Logic Design

CprE 281: Digital Logic

Sequential Logic. Introduction to Computer Yung-Yu Chuang

Other Flip-Flops. Lecture 27 1

Transcription:

-. -. piral Content Mapping piral Theory Combinational Design equential Design ystem Level Design Implementation and Tools Project piral Performance metrics (latency vs. throughput) Boolean Algebra Canonical Representations Decoders and muxes ynthesis with min/maxterms ynthesis with Karnaugh Maps Edge triggered flip flops Registers (with enables) Encoded tate machine design tructural Verilog HDL CMO gate implementation Fabrication process path Components: Counters s Design Example: Crosswalk Controller hannon's Theorem ynthesis with muxes & memory and comparator design Bistables, latches, and Flipflops Counters Memories One hot state machine design Control and datapath decomposition 3 HW/W partitioning Bus interfacing ingle cycle CPU MO Theory Capacitance, delay and sizing Memory constructs Power and other logic families EDA design process Mark Redekopp -.3 -.4 Learning Outcomes I understand the control inputs to counters I can design logic to control the inputs of counters to create a desired count sequence I understand how smaller adder blocks can be combined to form larger ones I can build larger arithmetic circuits from smaller building blocks I understand the timing and control input differences between asynchronous and synchronous memories DATAPATH COMPONENT

-.5 -.6 Digital ystem Design (CU) and Unit (DPU) paradigm eparate logic into datapath elements that operate on data and control elements that generate control signals for datapath elements path:,, comparators,, registers (shift, with enables, etc.), memories, FIFO s Control Unit: /sequencers clk reset Control ignals Control Condition ignals COUNTER Inputs path Outputs -.7 -.8 Counters Count (Add to Q) at each clock edge Up Counter: Can also build a down counter as well ( ) tandard counter components include other features Resets: Reset count to Enables: Will not count at edge if EN= Inputs: Can initialize count to a value P (i.e. Q* = P rather than Q+) REET (+) Register How would you design the adder block above for a 4 bit counter? Q ample 4 bit Counter 4 bit Up Counter RT: a synchronous reset input and P i inputs: loads Q with P when is active : Count Enable Must be active for the counter to count up (Terminal Count) output Active when Q= AND counter is enabled = output Indicates that on the next edge it will roll over to RT Q*, P P P P3 RT 4-bit CNTR Q Q Q Q3

-.9 -. Counters Counter Exercise RT P3-P RT Q3-Q P[3:] Q[3:] R=active at clock edge, thus Q= Q*=Q+ Enable = off, thus Q holds Q*=Q+ Q*=Q+ = active, thus Q*=Q+ Q*=Q+ Q=P Mealy Tput: EN Q3 Q Q Q -. -. Counter Design Design a bit Counter (Why?) ketch the design of the 4 bit counter presented on the previous slides P P P P3 RT 4-bit CNTR Q Q Q Q3 Q[3:] Q9 Q8 Q7 Q6 Q5 Q4 Q3 Q Q Q P[3:] RT + D[3:] CLR Reg Q[3:] Q[3:] P P P P3 RT P P P P3 RT 4-bit CNTR 4-bit CNTR Q Q Q Q3 Q Q Q Q3 Q[7:4] Q[:8]

-.3 -.4 Counter Example (Using Parallel Inputs) Design a circuit that counts each clock cycle to produce the pattern 5, 6, 7, 8, 9, 5, 6, 7, 8, 9, 5...9, 59, P P P P3 RT 4-bit CNTR Q Q Q Q3 ADDER -.5 -.6 Intro Intro o how would we build a circuit to add two numbers? Let's try to design a circuit that can add AN two 4 bit numbers, [3:] and [3:] How many inputs? Can we use K Maps or sum of minterms, etc? + = = REET (+) Register Q Idea: Build a circuit that performs column of addition and then use of those circuits to perform the overall 4 bit addition Let's start by designing a circuit that adds bits: and that are in the same column of addition + = =

-.7 -.8 Addition Half s Addition Half s Addition is done in columns Inputs are the bit of, Outputs are the um Bit and Carry Out ( ) Design a Half (HA) circuit that takes in and and outputs and = + Half = um We d like to use one adder circuit for each column of addition Problem: No place for of last adder circuit olution Redesign adder circuit to include an Half + = = Half -.9 -. Addition s Addition s Add a Carry In input( ) New circuit is called a (FA) Design the internal circuitry on the next slide = + = C out Find the minimal level implementations for Cout and

-. -. Logic Addition s = Recall: is defined as true when ODD number of inputs are trueexactly when the sum bit should be Cout = Carry when sum is or more (i.e. when at least inputs are ) Circuit is just checking all combinations of inputs Use for each column of addition + -.3 -.4 Addition s Addition s Connect bits of bottom number to inputs = Use for each column of addition = + = + =

-.5 -.6 Addition s Addition s Use for each column of addition = Use for each column of addition = + = + = -.7 -.8 Addition s Addition s Use for each column of addition = + = Use for each column of addition = + =

-.9 -.3 Performing ubtraction w/ s Performing ubtraction w/ s To subtract Flip bits of Add - = = + To subtract Flip bits of Add - = = + -.3 -.3 4 bit s Building an 8 bit 74L83 chip implements a 4 bit adder A 3 A A A + B 3 B B B 4 3 = A = B = Use () 4 bit adders to build an 8 bit adder to add =[7:] and = [7:] and produce a sum, =[7:] and a carry out, C8. Make sure you understand the difference between system labels (actual signal names from the top level design) and device labels (placeholder names for the signals inside each block). A 3 B 3 A B A B A B 74L83 3

-.33 Adding Many Bits -.34 EERCIE ou know that an FA adds + + Ci Use FA and/or HA components to add 4 individual bits: A + B + C + D -.35 -.36 Adding 3 Numbers Mapping Algorithms to HW Add [3:] + [3:] + Z[3:] to produce F[?:] using the adders shown plus any FA and HA components you need Wherever an if..then..else statement is used usually requires a mux if(a[3:] > B[3:]) Z = A+ else Z = B+5 B[3:] A[3:] A[3:] B[3:] Circuit Circuit Comparison Circuit I I A>B Z[3:]

-.37 -.38 Mapping Algorithms to HW / ubtractor Wherever an if..then..else statement is used usually requires a mux if(a[3:] > B[3:]) Z = A+ else Z = B+5 B[3:] A[3:] A[3:] B[3:] I I I I A>B Comparison Circuit Circuit Z[3:] If sub/~add = Z = [3:] [3:] Else Z = [3:]+[3:] -.39 -.4 / ubtractor Another Example If sub/~add = Z = [3:] [3:] Else Z = [3:]+[3:] Design a circuit that takes a 4 bit binary number,, and two control signals, A5 and M and produces a 4 bit result, Z, such that: Z = + 5, when A5,M =, Z =, when A5,M =, Z =, when A5,M =, 4 bit Input A5 M B3 B B B d d d d UB/ ~ADD i Bi

-.4 -.4 Memories ROM AND MEMORIE Memories store (write) and retrieve (read) data Read Only Memories (ROM s): Can only retrieve data (contents are initialized and then cannot be changed) Read Write Memories (RWM s): Can retrieve data and change the contents to store new data -.43 -.44 ROM s ROM s Memories are just tables of data with rows and columns When data is, one entire of data is read out The row to be read is selected by putting a binary number on the inputs A A A Inputs 3 4 5 6 7 ROM Example Address = 4 dec. = bin. is provided as input ROM outputs data in that row ( bin.) Address: = 4 A A A 3 4 5 6 7 ROM Outputs D 3 D D D : Row 4 is output D 3 D D D

-.45 -.46 Memory Dimensions RWM s Memories are named by their dimensions: x n rows and m columns => n x m ROM n rows => n address bits (or k rows => log k address bits) m cols. => m data outputs A A A n- n - n - ROM... Writable memories provide a set of data inputs for write data (as opposed to the data outputs for read data) A control signal R/W (= / = ) is provided to tell the memory what operation the user wants to perform Address Inputs Inputs A A A DI DI DI DI 3 R/W 3 4 5 6 7 8x4 RWM D m- D Outputs DO 3 DO DO DO -.47 -.48 RWM s Asynchronous Memories Write example Address = 3 dec. = bin. DI = dec. = bin. R/W = => Write op. in row 3 is overwritten with the new value of bin. Address Inputs Inputs R/W A A A 3 DI 4 DI DI 5 DI 3 6 7 R/W 8x4 RWM DO 3 DO DO DO Notice that there is signal with this memory Devices that do not use a clock signal are called " " devices For these memories, the address must be kept and stable for at least t acc amount of time A[:] DI[3:] R/W 3 4 5 6 7 DO[3:] A[:] DI[3:] R/W t acc t acc DO[3:] Outputs????

-.49 -.5 Asynchronous vs. ynchronous Memories ynchronous Timing Asynchronous memories use no signal For read: Address and R/W signal must be held steady for a certain period of time before DO outputs become valid For write: Address, DI, and R/W signal must be held steady for a certain period of time before internal memory is updated ynchronous memories use a signal For read: Address and R/W signal will be registered on the edge and then DO will become valid during that subsequence clock cycle For write: Address, DI and R/W signals will be registered on the edge and then the internal memory updated during the subsequent clock cycle A A A DI DI DI DI 3 R/W DO DO DO DO 3 ynchronous memories add a clock signal and the input values at a clock edge will only be processed during the subsequence clock cycle For synchronous memories the address must be valid and stable at but then may be changed EN = enable (unless it is ) the memory won't read or write WEN = = Write / = read A[:] DI[3:] EN WEN A[:] DI[3:] WEN twrite 3 4 5 6 7 M[3] DO[3:] DO[3:]??? mem[3] = mem[6] = Assume EN= tacc Using Memories Add two 8 number arrays (C[i] = A[i] + B[i]) D Q EN reg RT -.5 -.5 EN RT cntr Q A[:] DI[3:] EN 8x4 Memory WEN A[:] DO[3:] A + A[:] DI[3:] EN 8x4 Memory WEN DO[3:] Crosswalk Controller TEM DEIGN EAMPLE DI[3:] EN 8x4 Memory WEN DO[3:] B i[3:] A & B??? A[] & B[] A[] & B[] A[] & B[] i_q CMEM[]??? A[]+B[]

-.53 -.54 Digital ystem Design Crosswalk Controller Control and path Unit paradigm eparate logic into datapath elements that operate on data and control elements that generate control signals for datapath elements path: s, muxes, comparators, counters, registers (w/ enables) Control Unit: tate machines/sequencers clk reset Control Design a crosswalk controller to adhere to the following description 8 ticks of the clock in the WALK phase 8 ON/OFF BLINKING hand cycles (6 total ticks) Count 8 downto on the NUM display while hand is blinking 6 cycles in the OLID hand NUM(3:) NUM_ON HAND WALK Control ignals Condition ignals Inputs path Outputs -.55 -.56 Crosswalk tate Machine Crosswalk Controller Operation Use a 4 bit counter to count cycles along with an additional gate or two P P P P3 RT 4-bit CNTR Q Q Q Q3

-.57 ummary ou should now be able to build: Registers (w/ Enables) Counters s