VHDL Project II: Array Multiplier Matthew Murach Slides Available at: www.pages.drexel.edu/~mjm46.

Slides:



Advertisements
Similar presentations
L23 – Adder Architectures. Adders  Carry Lookahead adder  Carry select adder (staged)  Carry Multiplexed Adder  Ref: text Unit 15 9/2/2012 – ECE 3561.
Advertisements

Programmable FIR Filter Design
Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M
EET 1131 Unit 7 Arithmetic Operations and Circuits
Addition (2). Outline Full Adder 3-Bit Adder 2’s Complement Subtraction.
ECE 331 – Digital System Design
EECS Components and Design Techniques for Digital Systems Lec 18 – Arithmetic II (Multiplication) David Culler Electrical Engineering and Computer.
Contemporary Logic Design Arithmetic Circuits © R.H. Katz Lecture #24: Arithmetic Circuits -1 Arithmetic Circuits (Part II) Randy H. Katz University of.
Lab 10 RT methodology (cont’d) Example 1 – a counter Example 2 – a repetitive-adder multiplier.
ENEE 408C Lab Capstone Project: Digital System Design Spring 2006 Class Web Site:
ECE 331 – Digital System Design
Registers and Counters
©2008 The McGraw-Hill Companies, Inc. All rights reserved. Digital Electronics Principles & Applications Seventh Edition Chapter 10 Arithmetic Circuits.
CS 105 Digital Logic Design
©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.
Calculator Lab Overview Note: Slides Updated 10/8/12
Chapter 6-2 Multiplier Multiplier Next Lecture Divider
Adders and Multipliers Review. ARITHMETIC CIRCUITS Is a combinational circuit that performs arithmetic operations, e.g. –Addition –Subtraction –Multiplication.
Logical Circuit Design Week 8: Arithmetic Circuits Mentor Hamiti, MSc Office ,
Digital Arithmetic and Arithmetic Circuits
Introduction to Chapter 6  Digital circuits are frequently used for arithmetic operations  Fundamental arithmetic operations on binary numbers and digital.
Figure 5.1. Conversion from decimal to binary.. Table 5.1. Numbers in different systems.
Figure 5.1. Conversion from decimal to binary.. Table 5.1. Numbers in different systems.
VHDL Project I: Introduction to Testbench Design Matthew Murach Slides Available at:
FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Topics n Multipliers.
EKT 221/4 DIGITAL ELECTRONICS II  Registers, Micro-operations and Implementations - Part3.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Logic and Computer Design.
VHDL Project II: Array Multiplier
Nov 10, 2008ECE 561 Lecture 151 Adders. Nov 10, 2008ECE 561 Lecture 152 Adders Basic Ripple Adders Faster Adders Sequential Adders.
Basic Overview of VHDL Matthew Murach Slides Available at:
CHAPTER 4 Combinational Logic Design- Arithmetic Operation (Section 4.6&4.9)
FPGA-Based System Design: Chapter 4 Copyright  2003 Prentice Hall PTR Topics n Number representation. n Shifters. n Adders and ALUs.
Computer Organization Department of CSE, SSE Mukka Chapter 6 : ARITHMETIC | Website for students | VTU NOTES.
OPERATIONS IN SCIENTIFIC NOTATION Performing scientific surgery…
Final Project. System Overview Description of Inputs reset: When LOW, a power on reset is performed. mode: When LOW, NORMal mode selected When HIGH,
Use of HDLs in Teaching of Computer Hardware Courses Zvonko Vranesic and Stephen Brown University of Toronto.
1 CS 151: Digital Design Chapter 4: Arithmetic Functions and Circuits 4-1,2: Iterative Combinational Circuits and Binary Adders.
EE2174: Digital Logic and Lab Professor Shiyan Hu Department of Electrical and Computer Engineering Michigan Technological University CHAPTER 8 Arithmetic.
Number Systems and Circuits for Addition Lecture 5 Section 1.5 Thu, Jan 26, 2006.
EKT 221 : Chapter 4 Computer Design Basics
CS/EE 3700 : Fundamentals of Digital System Design Chris J. Myers Lecture 5: Arithmetic Circuits Chapter 5 (minus 5.3.4)
Topics Multipliers..
CHAPTER 2 Digital Combinational Logic/Arithmetic Circuits
Verilog hdl – II.
Cpu control.1 2/14 Datapath Components for Lab The Processor! ( th ed)
VHDL Project I: Serial Adder Matthew Murach Slides Available at:
Addition and multiplication Arithmetic is the most basic thing you can do with a computer, but it’s not as easy as you might expect! These next few lectures.
LECTURE 4 Logic Design. LOGIC DESIGN We already know that the language of the machine is binary – that is, sequences of 1’s and 0’s. But why is this?
Assignments Checklist for MT219 & MT303 Updated: January 2011.
CS151 Introduction to Digital Design Chapter 4: Arithmetic Functions and HDLs 4-1: Iterative Combinational Circuits 4-2: Binary Adders 1Created by: Ms.Amany.
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Fundamentals Tenth Edition Floyd.
No Pencil or Paper Needed!.  Make sure you know your multiplication tables up to 10.
Topic: N-Bit parallel and Serial adder
Explain Half Adder and Full Adder with Truth Table.
More on Digital Logic Devices and Circuits Trac D. Tran ECE Department The Johns Hopkins University Baltimore, MD
Addition and multiplication1 Arithmetic is the most basic thing you can do with a computer, but it’s not as easy as you might expect! These next few lectures.
BSA 500 Week 6 Learning Team Assignment Riordan Manufacturing Paper and Presentation Resource: Riordan Manufacturing Virtual Organization Finalize and.
BSA 411 Week 5 Team Assignment Business System Analysis Methodology Plan Paper and Presentation Learning Team Business System Analysis Methodology Plan.
EKT 221 : DIGITAL 2.
EGR 2131 Unit 4 Combinational Circuits: Analysis & Design
Homework Reading Machine Projects Labs
Serial Multipliers Prawat Nagvajara
Digital Fundamentals Floyd Chapter 6 Tenth Edition
Principles & Applications
Summary Half-Adder Basic rules of binary addition are performed by a half adder, which has two binary inputs (A and B) and two binary outputs (Carry out.
Chapter 6 Functions of Combinational Logic
Topics Multipliers..
Homework Reading Machine Projects Labs
FIGURE 1: SERIAL ADDER BLOCK DIAGRAM
XOR Function Logic Symbol  Description  Truth Table 
Presentation transcript:

VHDL Project II: Array Multiplier Matthew Murach Slides Available at:

Goals for this Lab/Announcements Finish up the serial adder project. Finish up the serial adder project. Start on array multiplier design Start on array multiplier design The first quiz will be given in the beginning of next week and will cover materials covered in the first few labs as well as chapters 1-3 in the text. The first quiz will be given in the beginning of next week and will cover materials covered in the first few labs as well as chapters 1-3 in the text.

Array Multiplier Description The array multiplier that we are designing involves the use of processing elements (PE) to breakdown the task of multiplying an n-bit vector by a n-bit vector. The array multiplier that we are designing involves the use of processing elements (PE) to breakdown the task of multiplying an n-bit vector by a n-bit vector. Using a serial approach much like the adder project the operation should take roughly Using a serial approach much like the adder project the operation should take roughly ~ n operations (slight larger) To design a high performance multiplier we can perform some operations in parallel rather then in serial. To design a high performance multiplier we can perform some operations in parallel rather then in serial.

Multiplier Processing Elements N bit multiply and accumulate elements per stage are needed to process a single partial sum. In each clock cycle, the current least significant bit (LSB) will be available at the output. N bit multiply and accumulate elements per stage are needed to process a single partial sum. In each clock cycle, the current least significant bit (LSB) will be available at the output. With N stages the total process takes N clock cycles to finish. Note that at the end of each process, the partial sum is updated and sent to the next stage. With N stages the total process takes N clock cycles to finish. Note that at the end of each process, the partial sum is updated and sent to the next stage. The diagram for this array multiplier is shown on the next slide. The diagram for this array multiplier is shown on the next slide.

Multiplication Fundamentals We generally multiply two numbers in the decimal system as follows: We generally multiply two numbers in the decimal system as follows: 11  A value x 12  B value 22  Partial Sum I  Partial Sum II 132  Final Product 132  Final Product Notice that we multiply a by the ones position in B and then add that value to a times the tens position in B. Notice that we multiply a by the ones position in B and then add that value to a times the tens position in B. Notice that we have calculated the ones value of the output in the first partial sum (by the 2 nd partial sum we know that PI(tens) + PII(tens) = output(tens)). Notice that we have calculated the ones value of the output in the first partial sum (by the 2 nd partial sum we know that PI(tens) + PII(tens) = output(tens)).

Array Multiplier Layout 4x4 A(0)A(1)A(2)A(3) B(0) B(1) B(2) B(3) F(0) F(1) F(2) F(3) F(6)F(4)F(7)F(5)

Array Processing Elements This project should be divided into three separate files. This project should be divided into three separate files. The processing element (one bit accumulate) The processing element (one bit accumulate) The array multiplier (puts these elements together) The array multiplier (puts these elements together) Testbench (tests your design) Testbench (tests your design) The goal of this lab is to design and build a processing element that can be used in the larger array multiplier. The goal of this lab is to design and build a processing element that can be used in the larger array multiplier.

Array Processing Elements A simple one bit multiply and accumulate. A simple one bit multiply and accumulate. The equations for these operations are as follows. The equations for these operations are as follows. Be sure to justify these equations in your report. Be sure to justify these equations in your report. Ain = Aout Bin = Bout Pout = Pin xor Cin xor (Ain and Bin) Cout = (Cin and Pin) or (Cin and (Ain and Bin)) or ((Ain and Bin) and Pin) Ain Bin Carry_in Pout Bout Pin Aout Carry_out

Project Guidelines Teams: It is suggested that you should work in groups of two on this assignment. Teams: It is suggested that you should work in groups of two on this assignment. Reports should be 2~3 pages in length and have all the source code included. or Paper submittal is acceptable. is the preferred submission method Reports should be 2~3 pages in length and have all the source code included. or Paper submittal is acceptable. is the preferred submission method Reports submitted should detail the methodology used to obtain the final work. Reports submitted should detail the methodology used to obtain the final work. All code submitted should be well commented and should follow good coding guidelines. All code submitted should be well commented and should follow good coding guidelines. The deadline for this project will be announced next class. The deadline for this project will be announced next class.