CMPE 413/ CMSC 711. Project Specification: 16 bit 2 s complement Adder and 8 bit 2 s complement multiplier. GND. Input bus. Latches I[8]-I[15]

Similar documents
BUILDING BLOCKS OF A BASIC MICROPROCESSOR. Part 1 PowerPoint Format of Lecture 3 of Book

ECE 2030D Computer Engineering Spring problems, 5 pages Exam Two 8 March 2012

EXPERIMENT #8: BINARY ARITHMETIC OPERATIONS

EE 109L Review. Name: Solutions

ECE 331: N0. Professor Andrew Mason Michigan State University. Opening Remarks

EE 109L Final Review

Spiral 2-8. Cell Layout

ESE 570 Cadence Lab Assignment 2: Introduction to Spectre, Manual Layout Drawing and Post Layout Simulation (PLS)

ECE 2030B 1:00pm Computer Engineering Spring problems, 5 pages Exam Two 10 March 2010

LECTURE 4. Logic Design

Date Performed: Marks Obtained: /10. Group Members (ID):. Experiment # 09 MULTIPLEXERS

Parallel logic circuits

Exercise 1: Static Control of a Data Bus

Lab 3: Standard Combinational Components

Digital Fundamentals. Lab 6 2 s Complement / Digital Calculator

ECE3663 Design Project: Design Review #1

5 Arithmetic Logic Unit

Homework deadline extended to next friday

Microcomputers. Outline. Number Systems and Digital Logic Review

Music. Numbers correspond to course weeks EULA ESE150 Spring click OK Based on slides DeHon 1

EE577A FINAL PROJECT REPORT Design of a General Purpose CPU

Experiment 7 Arithmetic Circuits Design and Implementation

Table 17-3: Symbols in the Schematic View

Luleå University of Technology Kurskod SMD152 Datum Skrivtid

Chapter 4. The Processor

Lab 1 Modular Design and Testbench Simulation ENGIN 341 Advanced Digital Design University of Massachusetts Boston

ES 210 Lab. Jack Ou, Ph.D.

Digital Design with FPGAs. By Neeraj Kulkarni

Fundamentals of Computer Systems

EECS 270 Midterm Exam

Lec-6-HW-3-ALUarithmetic-SOLN

CS 31: Intro to Systems Digital Logic. Kevin Webb Swarthmore College February 3, 2015

Overview. Multiplexor. cs281: Introduction to Computer Systems Lab02 Basic Combinational Circuits: The Mux and the Adder

CS 31: Intro to Systems Digital Logic. Kevin Webb Swarthmore College February 2, 2016

ALU Design. 1-bit Full Adder 4-bit Arithmetic circuits. Arithmetic and Logic Unit Flags. Add/Subtract/Increament/Decrement Circuit

Area Efficient, Low Power Array Multiplier for Signed and Unsigned Number. Chapter 3

EET 1131 Lab #7 Arithmetic Circuits

Good Evening! Welcome!

Cadence Tutorial 2: Layout, DRC/LVS and Circuit Simulation with Extracted Parasitics

TUTORIAL II ECE 555 / 755 Updated on September 11 th 2006 CADENCE LAYOUT AND PARASITIC EXTRACTION

R10. II B. Tech I Semester, Supplementary Examinations, May

Institute of Engineering & Management

Engin 100 (section 250), Winter 2015, Technical Lecture 3 Page 1 of 5. Use pencil!

EECE 285 VLSI Design. Cadence Tutorial EECE 285 VLSI. By: Kevin Dick Co-author: Jeff Kauppila Co-author: Dr. Arthur Witulski

CSE 140L Final Exam. Prof. Tajana Simunic Rosing. Spring 2008

HANSABA COLLEGE OF ENGINEERING & TECHNOLOGY (098) SUBJECT: DIGITAL ELECTRONICS ( ) Assignment

Lab 7: RPN Calculator

1 /10 2 /12 3 /16 4 /30 5 /12 6 /20

Lecture #21 March 31, 2004 Introduction to Gates and Circuits

Computer Organization and Levels of Abstraction

END-TERM EXAMINATION

DC57 COMPUTER ORGANIZATION JUNE 2013

Lecture 6: Signed Numbers & Arithmetic Circuits. BCD (Binary Coded Decimal) Points Addressed in this Lecture

ECEN 468 Advanced Logic Design

Final Exam Solution Sunday, December 15, 10:05-12:05 PM

Lab 2. Standard Cell layout.

Experiment # 5 Debugging via Simulation using epd

Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: Building Memory

Hardware description languages

PROGRAMMABLE MODULES SPECIFICATION OF PROGRAMMABLE COMBINATIONAL AND SEQUENTIAL MODULES

CSE 140L Final Exam. Prof. Tajana Simunic Rosing. Spring 2008

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1

Arithmetic Logic Unit (ALU)

Creating the inv1 cell WITHOUT power pins

CS429: Computer Organization and Architecture

11.1. Unit 11. Adders & Arithmetic Circuits

Dec Hex Bin ORG ; ZERO. Introduction To Computing

PART 1. Simplification Using Boolean Algebra

Outline. Combinational Circuit Design: Practice. Sharing. 2. Operator sharing. An example 0.55 um standard-cell CMOS implementation

Combinational Circuit Design: Practice

Chapter 4. Combinational Logic

EECS 150 Homework 7 Solutions Fall (a) 4.3 The functions for the 7 segment display decoder given in Section 4.3 are:

CHAPTER NINE - MSI Logic Circuits

Binary Adders. Ripple-Carry Adder

CHAPTER 9 MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES

SIDDHARTH INSTITUTE OF ENGINEERING AND TECHNOLOGY :: PUTTUR (AUTONOMOUS) Siddharth Nagar, Narayanavanam Road QUESTION BANK UNIT I

EE 3170 Microcontroller Applications

Virtuoso Schematic Composer

DIGITAL CIRCUIT LOGIC UNIT 9: MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES

The Processor: Datapath and Control. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Topics. Midterm Finish Chapter 7

CS 24: INTRODUCTION TO. Spring 2015 Lecture 2 COMPUTING SYSTEMS

Lecture 21: Combinational Circuits. Integrated Circuits. Integrated Circuits, cont. Integrated Circuits Combinational Circuits

ENEE245 Digital Circuits and Systems Lab Manual

TSEA44 - Design for FPGAs

Review. Steps to writing (stateless) circuits: Create a logic function (one per output)

CHAPTER 4: Register Transfer Language and Microoperations

Virtuoso Layout Editor

Written exam for IE1204/5 Digital Design Thursday 29/

Midterm Project Design of 4 Bit ALU Fall 2001

CS 31: Intro to Systems Digital Logic

1. Design of MUXes and Vertical Logic Block for an FPGA Slice Description

UNIVERSITY OF WATERLOO

Chapter 4. The Processor

ENEE245 Digital Circuits and Systems Lab Manual

UNIT-III REGISTER TRANSFER LANGUAGE AND DESIGN OF CONTROL UNIT

Department of Electrical Engineering McGill University ECSE 221 Introduction to Computer Engineering Assignment 2 Combinational Logic

Register Transfer and Micro-operations

Chapter 4: Combinational Logic

EEC 116 Fall 2011 Lab #3: Digital Simulation Tutorial

Transcription:

Project Specification: 16 bit 2 s complement Adder and 8 bit 2 s complement multiplier. Assigned: Fri, Nov 3rd Due: Tue, Dec. 19th Description: con1 I[15] I[14] I[13] GND I[12] I[11] I[10] I[9] con2 O[15] O[14] O[13] Decode I[0]-I[7] Input bus 8 8 I[8]-I[15] B A 16 16 Latches XOR 16 I[8] I[7] I[6] I[5] O[12] O[11] Multiplier 8-bit Adder 16-bit I[4] I[3] O[10] I[2] O[9] 2-1 Mux I[1] O[8] Result bus I[0] GND O[7] O[6] O[5] O[4] O[3] O[2] O[1] O[0] GND Your assignment is to design, implement and simulate a 2 s complement 16-bit combinational ADDER and 8-bit combinational MULTIPLIER circuit. The ADDER will be able to add or subtract using a carry-in control bit. A block diagram as well as the pin-out of the circuit is shown above. YOU MUST USE THIS PADFRAME DEFINITION so we can test the parts after they are fabricated. I ll provide the padframe on my web page.

The Decoder takes 2 inputs and produces the outputs given in the truth table below: Table 1: Control Table Con2/ Con1 Function Description 00 Select MULT Setting Con2 to 0 selects MULTIPLIER output for result bus. 01 Latch A operand to adder (NOTE: You MUST use a negative edge-triggered FF). Put A operand on I[15]-I[0], toggle Con1 from 1 to 0 (negative edge-triggered FF), put B operand on I[15]-I[0]. 10 Subtraction Setting Con2 to1 selects ADDER output for result bus (see diagram below). 11 Addition Setting Con2 to1 selects ADDER output for result bus. NOTE: You MUST use a negative edge-triggered FF to latch the A operand. NOTE: The 2-to-1 select MUX must OR the one hot wires for subtraction and addition: con1 con2 Decoder (00) Not used (Multiply) (01) Drives clk input to the 16 latches (10) Drives input to 15 XOR gates, Carry-in plus and OR gate. (11) Drives OR gate. 2-1 Mux Select input OR Report Requirements: 1) Describe the project and provide the specifications as given above. Comment on your experience with doing this project (good and bad). 2) Draw block level diagrams of each component of your design, adder, multiplier, latch, mux, etc. Draw a floor plan (block level diagram with data paths) showing how each component is connected to the other ones. 3) Write VHDL code and simulate it for the individual components and for the entire design. 4) Generate a schematic diagram from the VHDL code.

3) Do the layout. Verify the layout against the schematic using LVS. You must provide output from LVS indicating that the match was successful, similar to the requirements of lab 5. Print portions of your layout (the most important parts) and briefly describe them. 4) Simulate the individual components, e.g., MULTIPLIER, ADDER, etc, of the layout using Spectre (extra credit if you ve simulated the VHDL, generated schematic and verified using LVS). Turn in CLEARLY labeled plots showing functional operation under several different values of A and B. You will probably not be able to simulate the entire design with the pad frame. Extra credit will be given for simulations of the entire design without the pad frame. Please do NOT simulate the pad frame in Spectra. You will not be allowed to fabricate unless you simulate the ENTIRE design at either the VHDL or Spectra level. Note that if you do it at the VHDL level, you MUST also show that the layout conforms to the VHDL spec using schematic and LVS. THIS DESCRIPTION and the set of requirements are subject to change. Please monitor the web page for updates.

The 0.5um I/O pad layout is shown below: There are four places to connect wires. At least two connections MUST be made on every I/O pad. In order to configure the I/O pad as an INPUT pad (get signals from the outside world into the core logic), you MUST tie enable to GND. In this case, connect to IN and IN_BAR to obtain the input signal and its complement, respectively. In order to configure as an OUTPUT pad, tie enable to VDD and drive OUT with your signal. X100TRI_001 (Tri-State I/O Pad) input: IN = PAD IN_BAR =!PAD output: PAD = ((ENABL & OUT) (!ENABL & highz)) IN_BAR IN OUT ENABL

The following schematic is for a 2.0um I/O pad (not the 0.5um pad shown above) but the configuration is the same. ENABLE 0/1 (input/output) 8/2 17/2 17/2 Input-line-driving inverters 67/2 13/2 1/out 1/0 0/out α T2 in-inv 34/2 11/2 T1 in-bar-inv 160 Ω I1 I2 Pad-driving inverter β 92/2 240/2 OUT PAD 46/2 27/2 12/50 n-diffusion 1921 FF IN_BAR IN