DESIGN PROJECT TOY RPN CALCULATOR
|
|
- Pamela Gardner
- 6 years ago
- Views:
Transcription
1 April 8, 1998 DESIGN PROJECT TOY RPN CALCULATOR ECE/Comp Sci 352 Digital System Fundamentals Semester II Due Tuesday, April 28, 1998; 10% of course grade. This project is to be submitted and will be graded. It is to be performed by teams of two students to permit a more significant project and foster collaboration on difficult parts and in Mentor Graphics usage. The team is not to copy designs or results from others. However, sharing knowledge and tips on how to use Mentor Graphics with other teams is allowed and encouraged. As a part of the project report, a table is to be included that reports in detail what parts of the project were performed by each team member; the table to be completed and submitted is included at the end of this write-up. Ordinarily the same grade will be given to each team member, but if there is a significant imbalance in overall contribution, individual grades will be given. This project write-up is organized as follows. Initially, we will give specifications for the Toy RPN Calculator. The specifications will be followed by a number of design exercises that will lead you through the design and CAD tool usage. You are strongly encourage to study this entire write-up before beginning. SPECIFICATIONS EXTERNAL SPECIFICATIONS RPN stands for Reverse Polish Notation otherwise referred to as Postfix notation. EXERCISE: Surf the Web to find out how what RPN is, why the name, and how an RPN calculator works. A good starting point Enter: Reverse Polish Notation into the search engine at and then select: as a phrase. 1
2 SPECIFICATIONS Power/Reset 0 ENTER 1 DROP + The Toy RPN Calculator is shown above. In addition to the Power/Reset button, the calculator has two digit buttons, 0 and 1, for entering binary digits, and five operation buttons, ENTER, DROP,, +, and. There is a 4-digit binary LCD display for displaying intermediate values and results. Instead of the memories used for storage of temporary results and operands in a typical calculator, the RPN calculator uses a Last-In, First-Out (LIFO) queue also called a down stack. This stack operates like a plate stack in a cafeteria. When you add a plate to the stack, the plates currently in the stack move downward so that the Top Of Stack (TOS) is always the same location. When you remove a plate from the stack, the plates remaining move upward so that the TOS is in the same position. The same principle applies to the down stack in the calculator. All entries into the stack of operands, temporary values and results occur on the TOS. All removal of operands, temporary values and results also occur on the TOS. When an entry is made on the stack, the contents in the stack is ed downward by one location. This entry and the downward movement of the stack content is called a PUSH operation. When an entry is removed from the stack, the contents in the stack is moved upward by one location. This removal and upward movement of the stack content is called a POP operation. The operation buttons have the following functions: ENTER PUSH operation in which up to four binary digits entered least significant digit first using the 0 and 1 buttons become the TOS entry. DROP POP operation in which the value in the TOS is discarded. POP the value in TOS and multiply it times the new value in TOS; replace the new value in TOS with the product. + POP the value in TOS and add it to the new value in TOS; replace the new value in TOS with the sum. POP the value in TOS and subtract it from the new value in TOS; replace the new value in TOS with the difference. 2 DESIGN PROJECT TOY RPN CALCULATOR
3 SPECIFICATIONS Suppose we wish to perform the following calculation given in normal notation: (1 + 11) (100 10) The simplest string of operations to do this in the toy RPN calculator is: 1, ENTER, 11, ENTER, +, 100, ENTER, 10, ENTER,, The end result displayed on the display after the is entered. (Note that alternative strings in RPN in which +,, and are performed on TOS and the keyed in data as well, such as 1, ENTER, 11, +, 100, ENTER, 10,,, are not permitted in the toy RPN calculator!) As a design simplification, no inputs, temporary operands, or results are permitted to be negative. In other words, all numbers are unsigned. Care must be taken not to subtract a larger number from a smaller one. INTERNAL SPECIFICATION The top level of the design of the Toy RPN Calculator appears below. Power/ Reset 0 1 ENTER DROP + inp(3:0) I/0 Logic and Circuitry CORE LOGIC CK Reset entr drop mul add sub CONTROL sel31(1:0) en ent ens done DATAPATH dis(3:0) Display You are to design the CORE LOGIC. The I/O Logic and Circuitry is specified functionally as follows and is not to be designed. This description of the interface to the outside world will permit you to understand the environment for the CORE LOGIC. DESIGN PROJECT TOY RPN CALCULATOR 3
4 SPECIFICATIONS The external buttons and the display connect to the I/O Logic and Circuitry which does the following: 1) Provides a clock signal, CK. 2) Provides a master reset signal, Reset, that is activated when the power is turned on. 3) Debounces and otherwise conditions signals from the buttons. 4) Enters the 0 and 1 values from the 0 and 1 buttons least significant bit first into a register that provides 4-bit input inp(3:0) to the CORE LOGIC. 5) Takes the 4-bit output dis(3:0) from the CORE LOGIC and provides the display drivers for driving the 4-bit display. 6) Converts any operation button to a signal on the corresponding line (entr, drop, mul, add, and sub) that goes to 1 and remains 1 until the positive clock edge after done becomes 1. The CORE LOGIC is divided into two pieces, the DATAPATH and the CONTROL. You will design the DATAPATH first, followed by the CONTROL. DATAPATH SPECIFICATION A block diagram for the 4-bit wide DATAPATH appears next. inp B sub A B A 4-bit Adder - Subtractor 4-bit Multiplier S PROD I0 I1 I2 sel31 4-bit 31 Multiplexer Y Q 4-bit en Register CLR D CK Reset dis din ent ens TOS CLR CK Reset 9 4 Stack LIFO 4 DESIGN PROJECT TOY RPN CALCULATOR
5 SPECIFICATIONS Note that the DATAPATH contains a number of components, notably, a 4-bit Multiplier, a 4-bit Adder-Subtractor, 4-bit 31 Multiplexer, a 4-bit Register, and a 9 4-bit Stack. Each of these components will be described next and illustrations will be given to show how they are used to perform stack operations. The 4-bit Multiplier has been predesigned and is available in Mentor Graphics genlib as part 4bit_multi. The input is BA(7:0) and the output is PROD(0:7). The input BA(3:0) = A(3:0) and input BA(7:4) = B(3:0). Functionally, the multiplier multiplies B by A with the product appearing on PROD. Since the DATAPATH is only 4-bits wide, you will use only PROD(3:0) and ignore the upper half of the product, PROD(4:7). The 4-bit Adder-Subtractor places the sum of B(3:0) and A(3:0) on S(3:0) for sub = 0 and subtracts B(3:0) from A(3:0) placing the result on S(3:0) for sub = 1. The 4-bit Multiplexer places one of three inputs, I0(3:0), I1(3:0) and I2(3:0) on its output Y(3:0) based on the values of sel31(1:0) as shown by the following table. sel31(1:0) Y(3:0) 0 0 I0(3:0) 0 1 I1(3:0) 1 X I2(3:0) The 4-bit Register has a load enable input en, data inputs D(3:0) and data outputs Q(3:0) This register loads the value from D(3:0) for en = 1 and stores its current value for en = 0. The 9 4-bit Stack is the most complex of the components. It has a 4-bit data input DIN(3:0) and a 4-bit data output TOS(3:0). There are 9 registers in the stack with the top register referred to as TOS. The stack has three active operations controlled by the signals ent, ens and. The active operations are REPLACE, POP and PUSH, as describe by the following table. ent ens Operation Action in Response to Positive Edge on CK 0 0 X HOLD Stack contents is unchanged REPLACE The value in TOS is replaced by the value on din(3:0), i.e. TOS is loaded from din(3:0). The content of the rest of the stack is unchanged POP The contents of the stack moves upward by one location with the contents of TOS discarded PUSH The contents of the stack moves downward by one location with din(3:0) loaded into TOS. CONTROL SPECIFICATION The control is a sequential circuit that uses inputs entr, drop, mul, add, and sub to generate outputs sel31(1:0), en, ent, ens,, and done. Note that at most one of entr, drop, mul, add, and sub can equal 1 at any time. In addition, Reset and CK influence the sequential behavior of the circuit. The Mealy model state diagram shown at the top of the next page has only two states. State 0 is the state entered by using Reset. The DESIGN PROJECT TOY RPN CALCULATOR 5
6 SPECIFICATIONS Reset 0 1 ENTER and DROP operations are performed in state 0 1. Performance of, + and use both state 0 and state 1. For these three operations, in state 0, a POP is applied to the stack, the value from TOS is copied into the 4-bit Register, and the new state becomes 1 is entered. In state 1, the new TOS value and the value in the 4-bit Register are combined by the specified operation, a REPLACE places the result in TOS, and the new state becomes 0, completing the operation. The next state and output behavior of the control can be derived from prior description of its operation and the description of the control inputs and outputs. We illustrate a part of this derivation by two examples. Suppose we wish to do an ENTER operation, i.e., PUSH the value on inp(3:0) onto the stack. The state is initially 0 and input entr = 1. To pass inp(3:0) to the stack, sel31(1:0) = 00. To cause a PUSH to occur on the stack, ent = ens = 1 and = 1. en is not used for this operation, so en = X (don t care). Since the operation will be completed on the next positive clock edge, done = 1 to cause entr to return to 0 and the next state will be 0 so the calculator is ready to perform the next operation. As an additional illustration, suppose we wish to do a + operation, i.e., POP the value in TOS, add it to the new TOS value, and REPLACE the new TOS value with the result. We will use the 4-bit Register to save the initial TOS value temporarily. In state 0 with input add = 1, we do a POP to remove the initial TOS value from the stack and simultaneously load the TOS output from the stack into the 4-bit Register. The control signal values needed for this are ent = ens = en = 1 and = 0. Also, since the operation is not complete, done = 0 and the next state is 1. The remaining control signal is a don t cares, sel31(1:0) = X. In state 1, to add the new TOS value and the value in the 4-bit Register and REPLACE the TOS value with the result, we need to do an add in the 4- bit Adder-Subtractor, select the output of the adder with the 4-bit 31 Multiplexer, and do a REPLACE on the stack. The control signal values required are sel31(1:0) = 01, ent = 1, ens = 0 and = 1. Note that, by definition of the inputs, the signal sub which bypasses the control = 0 as required to do an add. Since the operation is complete, done = 1, and the next state becomes Saying that something is performed is state 0 means that it occurs at the positive clock edge that ends the clock cycle during which state 0 is the state. 6 DESIGN PROJECT TOY RPN CALCULATOR
7 DATAPATH DESIGN The information from the above example can be placed in a table describing the control: Inputs Present Next Outputs entr drop mul add sub State State sel31(1:0) en ent ens done 1 X X X X X X X X 1 X 0 1 X X X X 1 X X Since only one of the inputs can be 1 at any time, the other inputs need not be used to define the input combination, so are shown as X s to simplify the logic. By going through the same process for each of the other operations, we can come up with the table for the entire control. Any combination not represented in the table will have the next state and output as don t cares. This table can be used to derive the equations (including don t cares) for the outputs and the D input to the flip-flop for the control by using cafe. DATAPATH DESIGN Use the specifications above to obtain the data path components and the datapath. If a simulation of any component designed indicates an error, rework the design until it functions correctly. 4-bit Register. The 4-bit register has been predesigned for you. Open a new sheet in da called R4 and enter the schematic given at the end of this writeup as Attachment 1. The name for the D flip-flop used is dff and the name for the 2-to-1 multiplexer feeding each D flip-flop is mux21. Generate a symbol for R4. Validate R4 by applying the force file R4.frc to it using Quicksim and checking the Quicksim output to make sure the outputs are correct. All force files are available on the course Web site in the Project section. Submit: Logic schematic and Quicksim output waveforms. 8-bit Bidirectional Shift Register. The stack uses four 8-bit bidirectional shift registers called SRG8. SRG8 has been predesigned for you. Open a new sheet in da called SRG8 and enter the schematic given at the end of this writeup as Attachment 2. The name for the D flip-flop used is dff and the names for the 2-to-1 multiplexers used are mux21. Generate a symbol for SRG8. Validate SRG8 by applying the force file SRG8.frc to it using Quicksim and checking the Quicksim output to make sure the outputs are correct. All force files are available on the course Web site in the Project section. Submit: Logic schematic and Quicksim output waveforms. DESIGN PROJECT TOY RPN CALCULATOR 7
8 DATAPATH DESIGN Full Adder/Subtractor Design Design a full adder/subtractor bit by generating the truth table and then using cafe to obtain the equations for the full adder/subtractor from the truth table. Name the inputs a, b, cin and sub and the outputs cout and s. See course Web site under Project for sample cafe input file that shows the format to do this. Note that in cafe, all variable names must be single letters! From the connection array, open a new sheet called fas in Mentor Graphics da and enter the full adder/subtractor design based on the equations using components from genlib. Generate a symbol for fas. Validate your design by applying all 16 possible input combinations to it using Quicksim and checking the Quicksim output to make sure the outputs are correct. Submit: cafe equation output including the input truth table, the logic schematic, and the Quicksim force file and output waveforms. 4-bit Adder/Subtractor Open a new sheet in da called AS4 and connect together four fas symbols to form the 4- bit Adder/Subtractor. Name the inputs sub, A(3:0) and B(3:0) and the output S(3:0). Generate a symbol for AS4. Validate your design by applying input combinations that verify that both a 1 and 0 carry passes properly between the four fas modules in your design. Submit: Logic schematic, and Quicksim force file and output waveforms. 4-bit 31 Multiplexer Open a new sheet in da called MUX314 which will be the 4-bit 31 Multiplexer. The data inputs to the mux are I0(3:0), I1(3:0) and I2(3:0) and the 2-bit select input is sel31(1:0). Design and enter the multiplexer by interconnecting eight mux21 parts from genlib. Generate a symbol for MUX314. Validate your design by applying each of the following two sets of vectors to the inputs I0, I1, and I2 combined with sel31(1:0) = 00, 01, and 10 for a total of six input combinations and comparing to correct values. Data Input Set 1 Set 2 I I I Submit: Logic schematic, Quicksim force file and output waveforms. 9 4-bit Stack The stack LIFO will consist of a 4-bit register TOSR for the TOS and four 8-bit shift registers SRG8 for the other eight stack locations. A block diagram of the stack appears at the top of the next page. 8 DESIGN PROJECT TOY RPN CALCULATOR
9 DATAPATH DESIGN ent din(3:0) sin(3:0) TOS(3:0) TOSR CK Reset ens sid sou ens sid sou en sid sou en sid sou en SRG8 SRG8 SRG8 SRG8 CK Reset Note that the shift registers are vertical rather than horizontal to provide a hardware stack. When the stack is ed, the output of the TOSR is transferred into the top bits of the shift registers. When the stack is popped, the top bits of the shift registers are transferred into TOSR. The behavior of the TOSR is described by the following table: ent Action 0 X Register content remains unchanged 1 0 The value on sin(3:0) is loaded into TOSR 1 1 The value on din(3:0) is loaded into TOSR DESIGN PROJECT TOY RPN CALCULATOR 9
10 CONTROL DESIGN The behavior of the SRG8 is described by the following table: ens Action 0 X The contents of SRG8 remains unchanged. 1 0 SRG8 shifts upward by one position. 1 1 SRG8 shifts downward by one position filling the vacant position from input sid. TOSR. Open a new sheet in da called TOSR and use R4 and mux21 s from genlib to design the TOSR. Generate a symbol for TOSR. Validate TOSR by applying force file TOSR.frc to it using Quicksim and checking the Quicksim output to make sure the outputs are correct. All force files are available on the course Web site in the Project section. Submit: Logic schematic and Quicksim output waveforms. STACK INTEGRATION. Open a new sheet in da called LIFO and interconnect TOSR and four SRG8 s as shown earlier to implement LIFO. Generate a symbol for LIFO. Validate LIFO by applying force file LIFO.frc to it using Quicksim and checking the Quicksim output to make sure the outputs are correct. All force files are available on the course Web site in the Project section. Submit: Logic schematic and Quicksim output waveforms. Data Path Integration Open a new sheet in da called DATAPATH and interconnect the components developed thus far to implement DATAPATH. Generate a symbol for DATAPATH. Validate DATAPATH by applying force file DATAPATH.frc to it using Quicksim and checking the Quicksim output to make sure the outputs are correct. All force files are available on the course Web site in the Project section. Submit: Logic schematic, and Quicksim force file and output waveforms. CONTROL DESIGN Control State and Output Table Complete the state and output table begun in the control specification part for all of the operations. Include in the table as well all don t care conditions you can think of. For example, entr will never be 1 when in state 1. Control Equation Generation Use cafe to find the equations for the control from the state and output table. Recall that in cafe, all variable names must be single letters! 10 DESIGN PROJECT TOY RPN CALCULATOR
11 CORE LOGIC INTEGRATION Control Implementation Open a new sheet in da called CONTROL and implement the logic represented by the connection array including the D flip-flop with Reset for state storage as the CON- TROL. Validate CONTROL by applying force file CONTROL.frc to it using Quicksim and checking the Quicksim output to make sure the outputs are correct. All force files are available on the course Web site in the Project section. Submit: The cafe equation output including the input truth table, logic schematic, and Quicksim output waveforms. CORE LOGIC INTEGRATION Open a new sheet in da called RPN and interconnect the DATAPATH and the CON- TROL to implement the Toy RPN Calculator. Validate RPN by applying force file RPN.frc to it using Quicksim and checking the Quicksim output to make sure the outputs are correct. All force files are available on the course Web site in the Project section. Submit: The logic schematic and Quicksim force files and output waveforms. DESIGN PROJECT TOY RPN CALCULATOR 11
12 CORE LOGIC INTEGRATION 12 DESIGN PROJECT TOY RPN CALCULATOR
13 Attachment 1 Attachment 1 DESIGN PROJECT TOY RPN CALCULATOR 13
14 Attachment 2 Attachment 2 14 DESIGN PROJECT TOY RPN CALCULATOR
15 TEAM EFFORT REPORT TEAM EFFORT REPORT Submit: This page as the last page of your project report. Each row of the table containing the task contributions must sum to 100%. Team Member Names: 4-bit Register: Entry % % 4-bit Register: Validation % % 8-bit Bidirectional Shift Register: Entry % % 8-bit Bidir. Shift Register: Validation % % Full Adder/Subtractor: Design/Entry % % Full Adder/Subtractor: Validation % % 4-bit Adder/Subtractor: Design/Entry % % 4-bit Adder/Subtractor: Validation % % 4-bit 31 Multiplexer: Design/Entry % % 4-bit 31 Multiplexer: Validation 9 x 4 Stack: TOSR: Design/Entry % % 9 x 4 Stack:TOSR: Validation % % Stack Integration: Design/Entry % % Stack Integration: Validation % % Data Path Integration: Design/Entry % % Data Path Integration: Validation % % Control State and Output Table % % Control Equation Generation % % Control Implementation: Design/Entry % % Control Implementation: Validation % % Core Logic Integration: Design/Entry % % Core Logic Integration: Validation % % Other: % % Other: % % Comments: DESIGN PROJECT TOY RPN CALCULATOR 15
DESIGN PROJECT 2: BCD CALCULATOR PART 2: Control Design
Department of Electrical and Computer Engineering University of Wisconsin - Madison ECE/Comp Sci 352 Digital System Fundamentals - Fall 2002-2003 DESIGN PROJECT 2: BCD CALCULATOR PART 2: Control Design
More informationREGISTER TRANSFER LANGUAGE
REGISTER TRANSFER LANGUAGE The operations executed on the data stored in the registers are called micro operations. Classifications of micro operations Register transfer micro operations Arithmetic micro
More informationChapter 5 Registers & Counters
University of Wisconsin - Madison ECE/Comp Sci 352 Digital Systems Fundamentals Kewal K. Saluja and Yu Hen Hu Spring 2002 Chapter 5 Registers & Counters Originals by: Charles R. Kime Modified for course
More informationCOMPUTER ARCHITECTURE AND ORGANIZATION Register Transfer and Micro-operations 1. Introduction A digital system is an interconnection of digital
Register Transfer and Micro-operations 1. Introduction A digital system is an interconnection of digital hardware modules that accomplish a specific information-processing task. Digital systems vary in
More informationIA Digital Electronics - Supervision I
IA Digital Electronics - Supervision I Nandor Licker Due noon two days before the supervision 1 Overview The goal of this exercise is to design an 8-digit calculator capable of adding
More informationUNIT-III REGISTER TRANSFER LANGUAGE AND DESIGN OF CONTROL UNIT
UNIT-III 1 KNREDDY UNIT-III REGISTER TRANSFER LANGUAGE AND DESIGN OF CONTROL UNIT Register Transfer: Register Transfer Language Register Transfer Bus and Memory Transfers Arithmetic Micro operations Logic
More informationCPU Design John D. Carpinelli, All Rights Reserved 1
CPU Design 1997 John D. Carpinelli, All Rights Reserved 1 Outline Register organization ALU design Stacks Instruction formats and types Addressing modes 1997 John D. Carpinelli, All Rights Reserved 2 We
More informationBinary Adders: Half Adders and Full Adders
Binary Adders: Half Adders and Full Adders In this set of slides, we present the two basic types of adders: 1. Half adders, and 2. Full adders. Each type of adder functions to add two binary bits. In order
More informationLab 7: RPN Calculator
University of Pennsylvania Department of Electrical and Systems Engineering ESE171 - Digital Design Laboratory Lab 7: RPN Calculator The purpose of this lab is: Purpose 1. To get familiar with the use
More informationChapter 4 Arithmetic Functions
Logic and Computer Design Fundamentals Chapter 4 Arithmetic Functions Charles Kime & Thomas Kaminski 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Overview Iterative combinational
More informationDigital Circuit Design and Language. Datapath Design. Chang, Ik Joon Kyunghee University
Digital Circuit Design and Language Datapath Design Chang, Ik Joon Kyunghee University Typical Synchronous Design + Control Section : Finite State Machine + Data Section: Adder, Multiplier, Shift Register
More informationECE/COMP SCI 352 DIGITAL SYSTEM FUNDAMENTALS. Fall 2001 Due: Beginning of Class On Monday, November 5
ECE/COMP SCI 352 DIGITAL SYSTEM FUNDAMENTALS DESIGN PROJECT 1 Fall 2001 Due: Beginning of Class On Monday, November 5 The upcoming Project 2 will be the design of a very inexpensive digital wristwatch.
More informationElec 326: Digital Logic Design
Elec 326: Digital Logic Design Project Requirements Fall 2005 For this project you will design and test a three-digit binary-coded-decimal (BCD) adder capable of adding positive and negative BCD numbers.
More informationEKT 422/4 COMPUTER ARCHITECTURE. MINI PROJECT : Design of an Arithmetic Logic Unit
EKT 422/4 COMPUTER ARCHITECTURE MINI PROJECT : Design of an Arithmetic Logic Unit Objective Students will design and build a customized Arithmetic Logic Unit (ALU). It will perform 16 different operations
More informationInjntu.com Injntu.com Injntu.com R16
1. a) What are the three methods of obtaining the 2 s complement of a given binary (3M) number? b) What do you mean by K-map? Name it advantages and disadvantages. (3M) c) Distinguish between a half-adder
More informationMicrocomputers. Outline. Number Systems and Digital Logic Review
Microcomputers Number Systems and Digital Logic Review Lecture 1-1 Outline Number systems and formats Common number systems Base Conversion Integer representation Signed integer representation Binary coded
More informationCpr E 281 FINAL PROJECT ELECTRICAL AND COMPUTER ENGINEERING IOWA STATE UNIVERSITY. FINAL Project. Objectives. Project Selection
Objectives The main objective of the final project is to teach you how to put together all of the class material that you have learned so far in order to program the Altera DE2 board to carry out an independent
More informationChapter 3: part 3 Binary Subtraction
Chapter 3: part 3 Binary Subtraction Iterative combinational circuits Binary adders Half and full adders Ripple carry and carry lookahead adders Binary subtraction Binary adder-subtractors Signed binary
More informationR a) Simplify the logic functions from binary to seven segment display code converter (8M) b) Simplify the following using Tabular method
SET - 1 1. a) Convert the decimal number 250.5 to base 3, base 4 b) Write and prove de-morgan laws c) Implement two input EX-OR gate from 2 to 1 multiplexer (3M) d) Write the demerits of PROM (3M) e) What
More information6.1 Combinational Circuits. George Boole ( ) Claude Shannon ( )
6. Combinational Circuits George Boole (85 864) Claude Shannon (96 2) Signals and Wires Digital signals Binary (or logical ) values: or, on or off, high or low voltage Wires. Propagate digital signals
More informationstructure syntax different levels of abstraction
This and the next lectures are about Verilog HDL, which, together with another language VHDL, are the most popular hardware languages used in industry. Verilog is only a tool; this course is about digital
More informationHere is a list of lecture objectives. They are provided for you to reflect on what you are supposed to learn, rather than an introduction to this
This and the next lectures are about Verilog HDL, which, together with another language VHDL, are the most popular hardware languages used in industry. Verilog is only a tool; this course is about digital
More informationCAD4 The ALU Fall 2009 Assignment. Description
CAD4 The ALU Fall 2009 Assignment To design a 16-bit ALU which will be used in the datapath of the microprocessor. This ALU must support two s complement arithmetic and the instructions in the baseline
More informationproblem maximum score 1 8pts 2 6pts 3 10pts 4 15pts 5 12pts 6 10pts 7 24pts 8 16pts 9 19pts Total 120pts
University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences EECS150 J. Wawrzynek Spring 2010 3/31/09 Name: ID number: Midterm Exam This is a closed-book,
More informationUniversity of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences. Spring 2010 May 10, 2010
University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences EECS150 J. Wawrzynek Spring 2010 May 10, 2010 Final Exam Name: ID number: This is
More informationDigital Fundamentals. Lab 6 2 s Complement / Digital Calculator
Richland College Engineering Technology Rev. 0. Donham Rev. 1 (7/2003) J. Horne Rev. 2 (1/2008) J. radbury Digital Fundamentals CETT 1425 Lab 6 2 s Complement / Digital Calculator Name: Date: Objectives:
More informationELCT 501: Digital System Design
ELCT 501: Digital System Lecture 4: CAD tools (Continued) Dr. Mohamed Abd El Ghany, Basic VHDL Concept Via an Example Problem: write VHDL code for 1-bit adder 4-bit adder 2 1-bit adder Inputs: A (1 bit)
More informationLet s put together a Manual Processor
Lecture 14 Let s put together a Manual Processor Hardware Lecture 14 Slide 1 The processor Inside every computer there is at least one processor which can take an instruction, some operands and produce
More informationControl and Datapath 8
Control and Datapath 8 Engineering attempts to develop design methods that break a problem up into separate steps to simplify the design and increase the likelihood of a correct solution. Digital system
More informationEXPERIMENT NUMBER 11 REGISTERED ALU DESIGN
11-1 EXPERIMENT NUMBER 11 REGISTERED ALU DESIGN Purpose Extend the design of the basic four bit adder to include other arithmetic and logic functions. References Wakerly: Section 5.1 Materials Required
More informationWeek 6: Processor Components
Week 6: Processor Components Microprocessors So far, we ve been about making devices, such such as adders, counters and registers. The ultimate goal is to make a microprocessor, which is a digital device
More informationELEC 326: Class project
ELEC 326: Class project Kartik Mohanram 1 Introduction For this project you will design and test a three-digit binary-coded-decimal (BCD) adder capable of adding positive and negative BCD numbers. In the
More informationDigital Design Using Digilent FPGA Boards -- Verilog / Active-HDL Edition
Digital Design Using Digilent FPGA Boards -- Verilog / Active-HDL Edition Table of Contents 1. Introduction to Digital Logic 1 1.1 Background 1 1.2 Digital Logic 5 1.3 Verilog 8 2. Basic Logic Gates 9
More informationCS 206 Introduction to Computer Science II
CS 206 Introduction to Computer Science II 07 / 26 / 2016 Instructor: Michael Eckmann Today s Topics Comments/Questions? Stacks and Queues Applications of both Priority Queues Michael Eckmann - Skidmore
More informationSKEE2263 Sistem Digit
Term Project Guide SKEE2263 Sistem Digit Table of Contents Objectives... 2 Project Scheduling... 2 Option 1: Serial Multiplier... 3 Option 2 : Serial Divider... 7 Option 3 : GCD Calculator... 11 Option
More informationRegister Transfer Language and Microoperations (Part 2)
Register Transfer Language and Microoperations (Part 2) Adapted by Dr. Adel Ammar Computer Organization 1 MICROOPERATIONS Computer system microoperations are of four types: Register transfer microoperations
More informationDarshan Institute of Engineering & Technology for Diploma Studies Unit - 1
Darshan Institute of Engineering & Technology for Diploma Studies Unit - 1 1. Draw and explain 4 bit binary arithmetic or adder circuit diagram. A binary parallel adder is digital function that produces
More informationUnit II Basic Computer Organization
1. Define the term. Internal Organization-The internal organization of a digital system is defined by the sequence of microoperations it performs on data stored in its registers. Program- A program is
More informationBUILDING BLOCKS OF A BASIC MICROPROCESSOR. Part 1 PowerPoint Format of Lecture 3 of Book
BUILDING BLOCKS OF A BASIC MICROPROCESSOR Part PowerPoint Format of Lecture 3 of Book Decoder Tri-state device Full adder, full subtractor Arithmetic Logic Unit (ALU) Memories Example showing how to write
More information11/22/1999 7pm - 9pm. Name: Login Name: Preceptor Name: Precept Number:
Login Preceptor Precept Number: Computer Science 126 Second Midterm Exam 11/22/1999 7pm - 9pm This exam has 10 questions. The weight of each question is printed in the table below and next to each question.
More informationDate Performed: Marks Obtained: /10. Group Members (ID):. Experiment # 09 MULTIPLEXERS
Name: Instructor: Engr. Date Performed: Marks Obtained: /10 Group Members (ID):. Checked By: Date: Experiment # 09 MULTIPLEXERS OBJECTIVES: To experimentally verify the proper operation of a multiplexer.
More informationREGISTER TRANSFER AND MICROOPERATIONS
1 REGISTER TRANSFER AND MICROOPERATIONS Register Transfer Language Register Transfer Bus and Memory Transfers Arithmetic Microoperations Logic Microoperations Shift Microoperations Arithmetic Logic Shift
More informationUNIT-II. Part-2: CENTRAL PROCESSING UNIT
Page1 UNIT-II Part-2: CENTRAL PROCESSING UNIT Stack Organization Instruction Formats Addressing Modes Data Transfer And Manipulation Program Control Reduced Instruction Set Computer (RISC) Introduction:
More informationCHAPTER SIX BASIC COMPUTER ORGANIZATION AND DESIGN
CHAPTER SIX BASIC COMPUTER ORGANIZATION AND DESIGN 6.1. Instruction Codes The organization of a digital computer defined by: 1. The set of registers it contains and their function. 2. The set of instructions
More informationContents. Chapter 9 Datapaths Page 1 of 28
Chapter 9 Datapaths Page of 2 Contents Contents... 9 Datapaths... 2 9. General Datapath... 3 9.2 Using a General Datapath... 5 9.3 Timing Issues... 7 9.4 A More Complex General Datapath... 9 9.5 VHDL for
More informationRecommended Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto
Recommed Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto DISCLAIMER: The information contained in this document does NOT contain
More informationLecture Topics. Announcements. Today: Integer Arithmetic (P&H ) Next: continued. Consulting hours. Introduction to Sim. Milestone #1 (due 1/26)
Lecture Topics Today: Integer Arithmetic (P&H 3.1-3.4) Next: continued 1 Announcements Consulting hours Introduction to Sim Milestone #1 (due 1/26) 2 1 Overview: Integer Operations Internal representation
More informationIn this lecture, we will go beyond the basic Verilog syntax and examine how flipflops and other clocked circuits are specified.
1 In this lecture, we will go beyond the basic Verilog syntax and examine how flipflops and other clocked circuits are specified. I will also introduce the idea of a testbench as part of a design specification.
More informationEE 109L Final Review
EE 09L Final Review Name: Closed Book / Score:. Short Answer (6 pts.) a. Storing temporary values in (memory / registers) is preferred due to the (increased / decreased) access time. b. True / False: A
More informationEECS150: Components and Design Techniques for Digital Systems
EECS150: Components and Design Techniques for Digital Systems University of California Dept. of Electrical Engineering and Computer Sciences Midterm 3 Fall 2004 Last name: First name Student ID: Login:
More information6.1 Combinational Circuits. George Boole ( ) Claude Shannon ( )
6. Combinational Circuits George Boole (85 864) Claude Shannon (96 2) Digital signals Binary (or logical ) values: or, on or off, high or low voltage Wires. Propagate logical values from place to place.
More informationCHAPTER 4: Register Transfer Language and Microoperations
CS 224: Computer Organization S.KHABET CHAPTER 4: Register Transfer Language and Microoperations Outline Register Transfer Language Register Transfer Bus and Memory Transfers Arithmetic Microoperations
More informationGood Evening! Welcome!
University of Florida EEL 3701 Fall 2011 Dr Eric M Schwartz Page 1/11 Exam 2 Instructions: Turn off all cell phones, beepers and other noise making devices Show all work on the front of the test papers
More informationOne and a half hours. Section A is COMPULSORY UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE
One and a half hours Section A is COMPULSORY UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE Fundamentals of Computer Engineering Date: Thursday 21st January 2016 Time: 14:00-15:30 Answer BOTH Questions
More informationComputer Architecture Programming the Basic Computer
4. The Execution of the EXCHANGE Instruction The EXCHANGE routine reads the operand from the effective address and places it in DR. The contents of DR and AC are interchanged in the third microinstruction.
More informationFor Example: P: LOAD 5 R0. The command given here is used to load a data 5 to the register R0.
Register Transfer Language Computers are the electronic devices which have several sets of digital hardware which are inter connected to exchange data. Digital hardware comprises of VLSI Chips which are
More informationPhiladelphia University Student Name: Student Number:
Philadelphia University Student Name: Student Number: Faculty of Engineering Serial Number: Final Exam, First Semester: 2018/2019 Dept. of Computer Engineering Course Title: Logic Circuits Date: 03/01/2019
More information4. Write a sum-of-products representation of the following circuit. Y = (A + B + C) (A + B + C)
COP 273, Winter 26 Exercises 2 - combinational logic Questions. How many boolean functions can be defined on n input variables? 2. Consider the function: Y = (A B) (A C) B (a) Draw a combinational logic
More information*Instruction Matters: Purdue Academic Course Transformation. Introduction to Digital System Design. Module 4 Arithmetic and Computer Logic Circuits
Purdue IM:PACT* Fall 2018 Edition *Instruction Matters: Purdue Academic Course Transformation Introduction to Digital System Design Module 4 Arithmetic and Computer Logic Circuits Glossary of Common Terms
More informationFPGA Matrix Multiplier
FPGA Matrix Multiplier In Hwan Baek Henri Samueli School of Engineering and Applied Science University of California Los Angeles Los Angeles, California Email: chris.inhwan.baek@gmail.com David Boeck Henri
More informationHardware Description Language VHDL (1) Introduction
Hardware Description Language VHDL (1) Introduction Digital Radiation Measurement and Spectroscopy NE/RHP 537 Introduction Hardware description language (HDL) Intended to describe circuits textually, for
More informationEE 109L Review. Name: Solutions
EE 9L Review Name: Solutions Closed Book / Score:. Short Answer (6 pts.) a. Storing temporary values in (memory / registers) is preferred due to the (increased / decreased) access time. b. True / False:
More informationExp#8: Designing a Programmable Sequence Detector
Exp#8: Designing a Programmable Sequence Detector Objectives Learning how to partition a system into data-path and control unit. Integrating Schematics and Verilog code together Overview In this lab you
More informationAbi Farsoni, Department of Nuclear Engineering and Radiation Health Physics, Oregon State University
Hardware description language (HDL) Intended to describe circuits textually, for a computer to read Evolved starting in the 1970s and 1980s Popular languages today include: VHDL Defined in 1980s by U.S.
More informationECE 2030D Computer Engineering Spring problems, 5 pages Exam Two 8 March 2012
Instructions: This is a closed book, closed note exam. Calculators are not permitted. If you have a question, raise your hand and I will come to you. Please work the exam in pencil and do not separate
More informationChapter 6 Combinational-Circuit Building Blocks
Chapter 6 Combinational-Circuit Building Blocks Commonly used combinational building blocks in design of large circuits: Multiplexers Decoders Encoders Comparators Arithmetic circuits Multiplexers A multiplexer
More informationLogic design Ibn Al Haitham collage /Computer science Eng. Sameer
DEMORGAN'S THEOREMS One of DeMorgan's theorems stated as follows: The complement of a product of variables is equal to the sum of the complements of the variables. DeMorgan's second theorem is stated as
More informationSTRUCTURE OF DESKTOP COMPUTERS
Page no: 1 UNIT 1 STRUCTURE OF DESKTOP COMPUTERS The desktop computers are the computers which are usually found on a home or office desk. They consist of processing unit, storage unit, visual display
More informationVerilog 1 - Fundamentals
Verilog 1 - Fundamentals FA FA FA FA module adder( input [3:0] A, B, output cout, output [3:0] S ); wire c0, c1, c2; FA fa0( A[0], B[0], 1 b0, c0, S[0] ); FA fa1( A[1], B[1], c0, c1, S[1] ); FA fa2( A[2],
More informationLecture 6: Signed Numbers & Arithmetic Circuits. BCD (Binary Coded Decimal) Points Addressed in this Lecture
Points ddressed in this Lecture Lecture 6: Signed Numbers rithmetic Circuits Professor Peter Cheung Department of EEE, Imperial College London (Floyd 2.5-2.7, 6.1-6.7) (Tocci 6.1-6.11, 9.1-9.2, 9.4) Representing
More informationLab 7 1 Due Thu., 6 Apr. 2017
Lab 7 1 Due Thu., 6 Apr. 2017 CMPSC 112 Introduction to Computer Science II (Spring 2017) Prof. John Wenskovitch http://cs.allegheny.edu/~jwenskovitch/teaching/cmpsc112 Lab 7 - Using Stacks to Create a
More informationArithmetic Circuits. Nurul Hazlina Adder 2. Multiplier 3. Arithmetic Logic Unit (ALU) 4. HDL for Arithmetic Circuit
Nurul Hazlina 1 1. Adder 2. Multiplier 3. Arithmetic Logic Unit (ALU) 4. HDL for Arithmetic Circuit Nurul Hazlina 2 Introduction 1. Digital circuits are frequently used for arithmetic operations 2. Fundamental
More informationCombinational and sequential circuits (learned in Chapters 1 and 2) can be used to create simple digital systems.
REGISTER TRANSFER AND MICROOPERATIONS Register Transfer Language Register Transfer Bus and Memory Transfers Arithmetic Microoperations Logic Microoperations Shift Microoperations Arithmetic Logic Shift
More informationExperiment 7 Arithmetic Circuits Design and Implementation
Experiment 7 Arithmetic Circuits Design and Implementation Introduction: Addition is just what you would expect in computers. Digits are added bit by bit from right to left, with carries passed to the
More information4DM4 Lab. #1 A: Introduction to VHDL and FPGAs B: An Unbuffered Crossbar Switch (posted Thursday, Sept 19, 2013)
1 4DM4 Lab. #1 A: Introduction to VHDL and FPGAs B: An Unbuffered Crossbar Switch (posted Thursday, Sept 19, 2013) Lab #1: ITB Room 157, Thurs. and Fridays, 2:30-5:20, EOW Demos to TA: Thurs, Fri, Sept.
More informationECE 341 Midterm Exam
ECE 341 Midterm Exam Time allowed: 90 minutes Total Points: 75 Points Scored: Name: Problem No. 1 (10 points) For each of the following statements, indicate whether the statement is TRUE or FALSE: (a)
More informationNumber Systems. Readings: , Problem: Implement simple pocket calculator Need: Display, adders & subtractors, inputs
Number Systems Readings: 3-3.3.3, 3.3.5 Problem: Implement simple pocket calculator Need: Display, adders & subtractors, inputs Display: Seven segment displays Inputs: Switches Missing: Way to implement
More informationThe Need of Datapath or Register Transfer Logic. Number 1 Number 2 Number 3 Number 4. Numbers from 1 to million. Register
The Need of Datapath or Register Transfer Logic Number 1 Number 2 Number 3 Number 4 Numbers from 1 to million Register (a) (b) Circuits to add several numbers: (a) combinational circuit to add four numbers;
More informationChapter 4. Combinational Logic
Chapter 4. Combinational Logic Tong In Oh 1 4.1 Introduction Combinational logic: Logic gates Output determined from only the present combination of inputs Specified by a set of Boolean functions Sequential
More informationUC Berkeley College of Engineering, EECS Department CS61C: Combinational Logic Blocks
2 Wawrzynek, Garcia 2004 c UCB UC Berkeley College of Engineering, EECS Department CS61C: Combinational Logic Blocks 1 Introduction Original document by J. Wawrzynek (2003-11-15) Revised by Chris Sears
More informationUC Berkeley College of Engineering, EECS Department CS61C: Combinational Logic Blocks
UC Berkeley College of Engineering, EECS Department CS61C: Combinational Logic Blocks Original document by J. Wawrzynek (2003-11-15) Revised by Chris Sears and Dan Garcia (2004-04-26) 1 Introduction Last
More informationEGCP 1010 Digital Logic Design (DLD) Laboratory #6
EGCP 11 Digital Logic Design (DLD) Laboratory #6 Four by Four (4 x 4) Sorting Stack Prepared By: Alex Laird on October 1st, 2 Lab Partner: Ryan Morehart Objective: The goal of this laboratory is to expose
More informationsession 7. Datapath Design
General Objective: Determine the hardware requirement of a digital computer based on its instruction set. Specific Objectives: Describe the general concepts in designing the data path of a digital computer
More informationDigital Logic Design Exercises. Assignment 1
Assignment 1 For Exercises 1-5, match the following numbers with their definition A Number Natural number C Integer number D Negative number E Rational number 1 A unit of an abstract mathematical system
More informationCDA 3103 Computer Organization Homework #7 Solution Set
CDA 3103 Computer Organization Homework #7 Solution Set 1 Problems 1. Write a MARIE assembly program for the following algorithm where the subroutine takes two numbers and returns their product. Your assembly
More informationXYZ. Register File. right/left. shifter. add/sub +/- en shift en +/-
Microcode The datapath below incorporates an adder/subtractor and a one bit shifter. The arithmetic operation is specied by the add=sub control line. The subtraction is X -Y.The shift direction is controlled
More informationHardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University
Hardware Design Environments Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Outline Welcome to COE 405 Digital System Design Design Domains and Levels of Abstractions Synthesis
More informationFinal Examination (Open Katz, asynchronous & test notes only, Calculators OK, 3 hours)
Your Name: UNIVERSITY OF CALIFORNIA AT BERKELEY BERKELEY DAVIS IRVINE LOS ANGELES RIVERSIDE SAN DIEGO SAN FRANCISCO Department of Electrical Engineering and Computer Sciences SANTA BARBARA SANTA CRUZ CS
More information1. NUMBER SYSTEMS USED IN COMPUTING: THE BINARY NUMBER SYSTEM
1. NUMBER SYSTEMS USED IN COMPUTING: THE BINARY NUMBER SYSTEM 1.1 Introduction Given that digital logic and memory devices are based on two electrical states (on and off), it is natural to use a number
More informationhp calculators HP 17bII+ Registers / Memory Banks The Stack Registers The Storage Registers
The Stack Registers The Storage Registers A register is a place where you store information. It is a memory bank where you put information in order to calculate a number or where you want to keep a number
More informationDIGITAL ARITHMETIC: OPERATIONS AND CIRCUITS
C H A P T E R 6 DIGITAL ARITHMETIC: OPERATIONS AND CIRCUITS OUTLINE 6- Binary Addition 6-2 Representing Signed Numbers 6-3 Addition in the 2 s- Complement System 6-4 Subtraction in the 2 s- Complement
More informationFederal Urdu University of Arts, Science and Technology, Islamabad VLSI SYSTEM DESIGN. Prepared By: Engr. Yousaf Hameed.
VLSI SYSTEM DESIGN Prepared By: Engr. Yousaf Hameed Lab Engineer BASIC ELECTRICAL & DIGITAL SYSTEMS LAB DEPARTMENT OF ELECTRICAL ENGINEERING VLSI System Design 1 LAB 01 Schematic Introduction to DSCH and
More informationDesign of Embedded DSP Processors
Design of Embedded DSP Processors Unit 3: Microarchitecture, Register file, and ALU 9/11/2017 Unit 3 of TSEA26-2017 H1 1 Contents 1. Microarchitecture and its design 2. Hardware design fundamentals 3.
More informationUniversity of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering
University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering Final Examination ECE 241F - Digital Systems Examiners: S. Brown,
More informationQuestion Total Possible Test Score Total 100
Computer Engineering 2210 Final Name 11 problems, 100 points. Closed books, closed notes, no calculators. You would be wise to read all problems before beginning, note point values and difficulty of problems,
More informationFinal Exam Solution Sunday, December 15, 10:05-12:05 PM
Last (family) name: First (given) name: Student I.D. #: Circle section: Kim Hu Department of Electrical and Computer Engineering University of Wisconsin - Madison ECE/CS 352 Digital System Fundamentals
More informationParallel logic circuits
Computer Mathematics Week 9 Parallel logic circuits College of Information cience and Engineering Ritsumeikan University last week the mathematics of logic circuits the foundation of all digital design
More informationTopics of this Slideset. CS429: Computer Organization and Architecture. Digital Signals. Truth Tables. Logic Design
Topics of this Slideset CS429: Computer Organization and rchitecture Dr. Bill Young Department of Computer Science University of Texas at ustin Last updated: July 5, 2018 at 11:55 To execute a program
More informationDIGITAL SYSTEM DESIGN
DIGITAL SYSTEM DESIGN Prepared By: Engr. Yousaf Hameed Lab Engineer BASIC ELECTRICAL & DIGITAL SYSTEMS LAB DEPARTMENT OF ELECTRICAL ENGINEERING Digital System Design 1 Name: Registration No: Roll No: Semester:
More informationArithmetic-logic units
Arithmetic-logic units An arithmetic-logic unit, or ALU, performs many different arithmetic and logic operations. The ALU is the heart of a processor you could say that everything else in the CPU is there
More information