ECE 434 Advanced Digital System L11

Slides:



Advertisements
Similar presentations
Register Transfer Level
Advertisements

ECE2030 Introduction to Computer Engineering Lecture 13: Building Blocks for Combinational Logic (4) Shifters, Multipliers Prof. Hsien-Hsin Sean Lee School.
Verilog - 1 Writing Hardware Programs in Abstract Verilog  Abstract Verilog is a language with special semantics  Allows fine-grained parallelism to.
Nonlinear & Neural Networks LAB. CHAPTER 20 VHDL FOR DIGITAL SYSYEM DESIGN 20.1VHDL Code for a Serial Adder 20.2VHDL Code for a Binary Multiplier 20.3VHDL.
Chapter 7. Register Transfer and Computer Operations
Contemporary Logic Design Arithmetic Circuits © R.H. Katz Lecture #24: Arithmetic Circuits -1 Arithmetic Circuits (Part II) Randy H. Katz University of.
Copyright 2008 Koren ECE666/Koren Part.6a.1 Israel Koren Spring 2008 UNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering Digital Computer.
ENGIN112 L26: Shift Registers November 3, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 26 Shift Registers.
Registers and Counters
©2004 Brooks/Cole FIGURES FOR CHAPTER 18 CIRCUITS FOR ARITHMETIC OPERATIONS Click the mouse to move to the next page. Use the ESC key to exit this chapter.
Chapter 6-2 Multiplier Multiplier Next Lecture Divider
ECE 2372 Modern Digital System Design
Chapter 8 Problems Prof. Sin-Min Lee Department of Mathematics and Computer Science.
Chap 8. Sequencing and Control. 8.1 Introduction Binary information in a digital computer –data manipulated in a datapath with ALUs, registers, multiplexers,
Department of Communication Engineering, NCTU 1 Unit 4 Arithmetic and Logic Units.
1 Fundamentals of Computer Science Combinational Circuits.
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Dr. Shi Dept. of Electrical and Computer Engineering.
RTL Hardware Design by P. Chu Chapter 9 – ECE420 (CSUN) Mirzaei 1 Sequential Circuit Design: Practice Shahnam Mirzaei, PhD Spring 2016 California State.
Logic Design (CE1111 ) Lecture 4 (Chapter 4) Combinational Logic Prepared by Dr. Lamiaa Elshenawy 1.
5.3 Sequential Circuits - An Introduction to Informatics WMN Lab. Hey-Jin Lee.
1 Design of Networks for Arithmetic Operations Kim jung kil.
REGISTER TRANSFER AND MICROOPERATIONS
Overview Logistics Last lecture Today HW5 due today
Introduction To VHDL 홍 원 의.
CHAPTER 18 Circuits for Arithmetic Operations
Array multiplier TU/e Processor Design 5Z032.
Integer Multiplication and Division
REGISTER TRANSFER AND MICROOPERATIONS
Chapter 4 Register Transfer and Microoperations
Sequential Multipliers
SLIDES FOR CHAPTER 12 REGISTERS AND COUNTERS
Chapter 2. Introduction To VHDL
Register Transfer and Microoperations
Lecture 16 Arithmetic Circuits
Arithmetic and Logic Units
Multipliers Multipliers play an important role in today’s digital signal processing and various other applications. The common multiplication method is.
REGISTER TRANSFER LANGUAGE AND DESIGN OF CONTROL UNIT
Digital Systems Section 14 Registers. Digital Systems Section 14 Registers.
Chapter 4 Combinational Logic
Radix 2 Sequential Multipliers
ECE 434 Advanced Digital System L13
ECE 434 Advanced Digital System L12
ECE 434 Advanced Digital System L08
CPE/EE 422/522 Advanced Logic Design L15
Tree and Array Multipliers
ECE 434 Advanced Digital System L9
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN
CPE 528: Lecture #4 Department of Electrical and Computer Engineering University of Alabama in Huntsville.
Multiprocessor & Multicomputer
CPE/EE 422/522 Advanced Logic Design L14
CPE/EE 422/522 Advanced Logic Design L11
ECE 434 Advanced Digital System L10
CPE/EE 422/522 Advanced Logic Design L17
Chapter 5 – Number Representation and Arithmetic Circuits
Overview Part 1 - Registers, Microoperations and Implementations
Step 2 in behavioral modeling. Use of procedures.
UNIVERSITY OF MASSACHUSETTS Dept
Booth's Algorithm for 2's Complement Multiplication
UNIVERSITY OF MASSACHUSETTS Dept
Digital Logic Department of CNET Chapter-6
Digital Logic Department of CNET Chapter-6
Sequential Multipliers
UNIVERSITY OF MASSACHUSETTS Dept
CHAPTER 18 Circuits for Arithmetic Operations
Step 2 in behavioral modeling. Use of procedures.
Outline Registers Counters 5/11/2019.
Design of Networks for Arithmetic Operation
Instruction execution and ALU
UNIVERSITY OF MASSACHUSETTS Dept
Presentation transcript:

ECE 434 Advanced Digital System L11 Electrical and Computer Engineering University of Western Ontario

Outline Review: VHDL Functions, Procedures, Packages & Libraries Networks for Arithmetic Operations Serial Adder with Accumulator Serial-Parallel Multiplier 23/02/2019

Review: VHDL Functions Functions execute a sequential algorithm and return a single value to calling program A = “10010101” General form 23/02/2019

Review: For Loops Should not be explicitly declared Can be used inside the loop, but cannot be changed 23/02/2019

Review: VHDL Procedures Facilitate decomposition of VHDL code into modules Procedures can return any number of values using output parameters General form procedure procedure_name (formal-parameter-list) is [declarations] begin Sequential-statements end procedure_name; procedure_name (actual-parameter-list); 23/02/2019

Review: Packages and Libraries Provide a convenient way of referencing frequently used functions and components Package declaration Package body [optional] 23/02/2019

Review: VHDL Model for a 74163 Counter 74163 – 4-bit fully synchronous binary counter Counter operations Generate a Cout in state 15 if T=1 Cout = Q3Q2Q1Q0T 23/02/2019

Review: VHDL Model for a 74163 Counter 23/02/2019

Cascaded Counters 23/02/2019

Cascaded Counters (cont’d) 23/02/2019

Networks for Arithmetic Operations Case Study: Serial Adder with Accumulator 23/02/2019

Networks for Arithmetic Operations Serial Adder with Accumulator 23/02/2019

State Graphs for Control Networks Use variable names instead of 0s and 1s E.g., XiXj/ZpZq if Xi and Xj inputs are 1, the outputs Zp and Zq are 1 (all other outputs are 0s) E.g., X = X1X2X3X4, Z = Z1Z2Z3Z4 X1X4’/Z2Z3 == 1 - - 0 / 0 1 1 0 23/02/2019

Constraints on Input Labels Assume: I – input expression => we traverse the arc when I=1 Assures that at most one input label can be 1 at any given time Assures that at least one input label will be 1 at any given time 1 + 2: Exactly one label will be 1 => the next state will be uniquely defined for every input combination 23/02/2019

Constraints on Input Labels (cont’d) 23/02/2019

Networks for Arithmetic Operations Case Study: Serial Parallel Multiplier Note: we use unsigned binary numbers 23/02/2019

Block Diagram of a Binary Multiplier Ad – add signal // adder outputs are stored into the ACC Sh – shift signal // shift all 9 bits to right Ld – load signal // load multiplier into the 4 lower bits of the ACC and clear the upper 5 bits 23/02/2019

Multiplication Example 23/02/2019

State Graph for Binary Multiplier 23/02/2019

Behavioral VHDL Model 23/02/2019

Behavioral VHDL Model (cont’d) 23/02/2019

Multiplier Control with Counter Current design: control part generates the control signals (shift/add) and counts the number of steps If the number of bits is large (e.g., 64), the control network can be divided into a counter and a shift/add control 23/02/2019

Multiplier Control with Counter (cont’d) Counter generates a completion signal K that stops the multiplier after the proper number of shifts have been completed 23/02/2019

Multiplier Control with Counter (cont’d) 23/02/2019

Operation of a Multiplier Using Counter 23/02/2019

Array Multiplier 23/02/2019

Array Multiplier (cont’d) 23/02/2019

Multiplication of Signed Binary Numbers How to multiply signed binary numbers? Procedure Complement the multiplier if negative Complement the multiplicand if negative Multiply two positive binary numbers Complement the product if it should be negative Simple but requires more hardware and time than other available methods 23/02/2019

Multiplication of Signed Binary Numbers Four cases Multiplicand is positive, multiplier is positive Multiplicand is negative, multiplier is positive Multiplicand is positive, multiplier is negative Multiplier is negative, multiplicand is negative 23/02/2019

To Do Read chapters 4.1, 4.2, 4.3 Do homework #3 23/02/2019