Design of Digital Circuits Lab 5 Supplement: Implementing an ALU

Slides:



Advertisements
Similar presentations
Verilog Descriptions of Digital Systems
Advertisements

Reliable Data Processor in VLSI
Combinational Circuits
Princess Sumaya University
1 Specifications Functionality: AND, OR, XOR, ADD Maximum propagation delay : 2ns Power budget: 30mW Area: 200 µm ×400µm Prepared by: Christie Ma, Manjul.
Arithmetic II CPSC 321 E. J. Kim. Today’s Menu Arithmetic-Logic Units Logic Design Revisited Faster Addition Multiplication (if time permits)
1 4-BIT ARITHMETIC LOGIC UNIT Motorola MC54/74F181 Heungyoun Kim Lu Gao Jun Li Advisor: Dr. David W. Parent DATE: 12/05/2005.
Lec 17 Nov 2 Chapter 4 – CPU design data path design control logic design single-cycle CPU performance limitations of single cycle CPU multi-cycle CPU.
Arithmetic-Logic Units CPSC 321 Computer Architecture Andreas Klappenecker.
1 8 Bit ALU EE 166 Design Project San Jose State University Roger Flores Brian Silva Chris Tran Harizo Yawary Advisor: Dr. Parent May 2006.
Part 2: DESIGN CIRCUIT. LOGIC CIRCUIT DESIGN x y z F F = x + y’z x y z F Truth Table Boolean Function.
 Arithmetic circuit  Addition  Subtraction  Division  Multiplication.
Adders and Multipliers Review. ARITHMETIC CIRCUITS Is a combinational circuit that performs arithmetic operations, e.g. –Addition –Subtraction –Multiplication.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Logic Circuits I.
VHDL Project Specification Naser Mohammadzadeh. Schedule  due date: Tir 18 th 2.
Chapter 4 CSF 2009 The processor: Building the datapath.
Designing an ALU Taken from various sources Primary source: Digital Design and Computer Architecture by Harris &Harris.
Lecture 18: Hardware for Arithmetic Today’s topic –Intro to Boolean functions (Continued) –Designing an ALU 1.
Universal college of engineering & technology. .By Harsh Patel)
Project submitted By RAMANA K VINJAMURI VLSI DESIGN ECE 8460 Spring 2003.
Computer Architecture Lecture 9 MIPS ALU and Data Paths Ralph Grishman Oct NYU.
Arithmetic Logic Units
Cpu control.1 2/14 Datapath Components for Lab The Processor! ( th ed)
CPU Overview Computer Organization II 1 February 2009 © McQuain & Ribbens Introduction CPU performance factors – Instruction count n Determined.
Arithmetic-Logic Units. Logic Gates AND gate OR gate NOT gate.
Gates AND, OR, NOT NAND, NOR Combinational logic No memory A set of inputs uniquely and unambiguously specifies.
Computer Arthmetic Chapter Four P&H. Data Representation Why do we not encode numbers as strings of ASCII digits inside computers? What is overflow when.
How does a Computer Add ? Logic Gates within chips: AND Gate A B Output OR Gate A B Output A B A B
EEL 5722 FPGA Design Fall 2003 Digit-Serial DSP Functions Part I.
C OMBINATIONAL L OGIC D ESIGN 1 Eng.Maha AlGubali.
B0110 Fabric and Trust ENGR xD52 Eric VanWyk Fall 2013.
PICo Arithmetic and Logic Unit The Need for Speed (with minimal area and power)
Lecture 3 ALU and Carry Generator using FPGA 2007/09/21 Prof. C.M. Kyung.
Logic Gates Learning Objectives Learn that there is a one-to-one relationship between logic gates and Boolean expressions Learn how logic gates are combined.
Introduction to the FPGA and Labs
Computer Arthmetic Chapter Four P&H.
Dr.Ahmed Bayoumi Dr.Shady Elmashad
Combinational Circuits
Single-Cycle Datapath and Control
Lecture 11: Hardware for Arithmetic
Introduction CPU performance factors
Exclusive OR Gate.
Morgan Kaufmann Publishers The Processor
Morgan Kaufmann Publishers
Combinational Circuits
Reference: Moris Mano 4th Edition Chapter 4
COSC 2021: Computer Organization Instructor: Dr. Amir Asif
5. Combinational circuits
Week 5, Verilog & Full Adder
ECE 551: Digital System Design & Synthesis
Enemies make you stronger, allies make you weaker. Frank Herbert
Instructor: Alexander Stoytchev
Week 7: Gates and Circuits: PART II
Rocky K. C. Chang 6 November 2017
Lecture 11: Hardware for Arithmetic
COSC 2021: Computer Organization Instructor: Dr. Amir Asif
COSC 2021: Computer Organization Instructor: Dr. Amir Asif
COMS 361 Computer Organization
Multiple function unit design
Instructor: Alexander Stoytchev
Combinational Circuits
XOR Function Logic Symbol  Description  Truth Table 
Design of Digital Circuits Lab 6 Supplement: Testing the ALU
Prof. Onur Mutlu ETH Zurich Spring March 2019
Design of Digital Circuits Lab 1 Supplement: Drawing Basic Circuits
Prof. Onur Mutlu ETH Zurich Spring March 2019
Design of Digital Circuits Lab 8 Supplement: Full System Integration
DeMorgan’s Law and Gates
(Lecture by Hasan Hassan)
Instructor: Michael Greenbaum
Presentation transcript:

Design of Digital Circuits Lab 5 Supplement: Implementing an ALU Prof. Onur Mutlu ETH Zurich Spring 2019 2 April 2019

What Will We Learn? In lab 5, you will Implement an Arithmetic Logic Unit (ALU) in Verilog and evaluate its speed and resource utilization. Draw a block level diagram of the MIPS 32-bit ALU, based on the description in the textbook. Implement the ALU using Verilog. Synthesize the ALU and evaluate speed and FPGA resource utilization.

Part 1: Designing an ALU We will design an ALU that can perform a subset of the ALU operations of a full MIPS ALU. 2 32-bit inputs 4-bit AluOp signal to select the operation 32-bit output Output flag zero that sets to logic-1 if all the bits of the result are 0. AluOp (3:0) Mnemonic Result = Description 0000 add A + B Addition 0010 sub A - B Subtraction 0100 and A and B Logical and 0101 or A or B Logical or 0110 xor A xor B Exclusive or 0111 nor A nor B Logical nor 1010 slt (A - B)[31] Set less than Others n.a. Don’t care  

Part 1: Designing an ALU- Block Diagram First, you need to draw a block diagram of the ALU, like the one seen in Figure 5.15 of the H&H textbook.

Part 1: Designing an ALU- Block Diagram A possible division in ALU Logic and Arithmetic operations:

Part 1: Designing an ALU- Block Diagram A possible organization of ADD and SUB:

Part 1: Designing an ALU- Block Diagram A possible organization for SLT:

Part 2: Implementation Replace each block with a Verilog description. Synthesize and implement your design. We do not transfer the design to FPGA in this lab No Constraint file  Bitstream generation will fail. At this point, we cannot verify the correctness of our circuit manually. You will calculate how long will the exhaustive search take. You learn how to use testbench to test the correctness of this circuit in lab 6! 

Part 3: The performance of the circuit (I) In this lab, we will learn to check: The speed (i.e., max frequency our circuit can run at) The area (i.e., FPGA resource utilization). We will add a timing constraint to set the maximum delay that we would like our ALU to have.

Part 3: The performance of the circuit (II) The information we will obtain: Number of 4 Input LUTs   Number of bonded IOBs Which pin of the FPGA is the output ‘zero’ connected? (pin name) Where does the longest path start from Where does the longest path end How long is the longest path How much of the longest path is routing How many levels of logic is in the longest path

Last Words In lab 5, you will Implement an Arithmetic Logic Unit (ALU) in Verilog and evaluate its speed and resource utilization. Draw a block level diagram of the MIPS 32-bit ALU, based on the description in the textbook. Implement the ALU using Verilog. Synthesize the ALU and evaluate speed and FPGA resource utilization. In the report, you will use your adder from Lab 2 in the ALU and compare the resource utilization.

Design of Digital Circuits Lab 5 Supplement: Implementing an ALU Prof. Onur Mutlu ETH Zurich Spring 2019 2 April 2019