Introduction to Digital Logic Using Logisim

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

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

EE 109L Review. Name: Solutions

EE 109L Final Review

ECE 2020B Fundamentals of Digital Design Spring problems, 6 pages Exam Two 26 February 2014

EXPERIMENT #8: BINARY ARITHMETIC OPERATIONS

ECE 2020B Fundamentals of Digital Design Spring problems, 6 pages Exam Two Solutions 26 February 2014

Assembly Language for Intel-Based Computers, 4 th Edition. Chapter 1: Basic Concepts. Chapter Overview. Welcome to Assembly Language

Lab 3: Standard Combinational Components

IA Digital Electronics - Supervision I

Chapter 4. Combinational Logic

2. MACHINE REPRESENTATION OF TYPICAL ARITHMETIC DATA FORMATS (NATURAL AND INTEGER NUMBERS).

Binary Adders: Half Adders and Full Adders

Fundamentals of Programming Session 2

CMPE223/CMSE222 Digital Logic Design. Positional representation

Tutorial: Pattern Wizard

Digital Fundamentals. Lab 6 2 s Complement / Digital Calculator

E40M. Binary Numbers, Codes. M. Horowitz, J. Plummer, R. Howe 1

CS2630: Computer Organization Homework 1 Bits, bytes, and memory organization Due January 25, 2017, 11:59pm

Arithmetic-logic units

CSC 220: Computer Organization Unit 10 Arithmetic-logic units

Computer Organization and Architecture (CSCI-365) Sample Final Exam

ENCM 369 Winter 2019 Lab 6 for the Week of February 25

ECE 341 Midterm Exam

Chapter Overview. Assembly Language for Intel-Based Computers, 4 th Edition. Chapter 1: Basic Concepts. Printing this Slide Show

Number System. Introduction. Decimal Numbers

Unit 2: Data Storage CS 101, Fall 2018

One and a half hours. Section A is COMPULSORY UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE

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

Digital Fundamentals

Objective 1.02 Understand Numbering Systems

ECE 550D Fundamentals of Computer Systems and Engineering. Fall 2017

Advanced Computer Architecture-CS501

6.1 Combinational Circuits. George Boole ( ) Claude Shannon ( )

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

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

CPE300: Digital System Architecture and Design

EET 1131 Lab #7 Arithmetic Circuits

Sample Exam I PAC II ANSWERS

data within a computer system are stored in one of 2 physical states (hence the use of binary digits)

D I G I T A L C I R C U I T S E E

Microcomputers. Outline. Number Systems and Digital Logic Review

Computer Systems and -architecture

CS & IT Conversions. Magnitude 10,000 1,

Injntu.com Injntu.com Injntu.com R16

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


Floating-point Arithmetic. where you sum up the integer to the left of the decimal point and the fraction to the right.

Introduction to Computer Systems COMP-273 Assignment #1 Due: September 24, 2009 on Web CT at 23:55

EITF35 - Introduction to Structured VLSI Design (Fall ) 7. Assignment 3 - Arithmetic Logic Unit (ALU)

Topic Notes: Bits and Bytes and Numbers

10.1. Unit 10. Signed Representation Systems Binary Arithmetic

Slide Set 1. for ENEL 339 Fall 2014 Lecture Section 02. Steve Norman, PhD, PEng

Computer architecture Assignment 3

R07

CSCI 2212: Intermediate Programming / C Chapter 15

To design a 4-bit ALU To experimentally check the operation of the ALU

Number Systems. Readings: , Problem: Implement simple pocket calculator Need: Display, adders & subtractors, inputs

Course Schedule. CS 221 Computer Architecture. Week 3: Plan. I. Hexadecimals and Character Representations. Hexadecimal Representation

Code No: R Set No. 1

World Inside a Computer is Binary


Topic Notes: Bits and Bytes and Numbers

THE LOGIC OF COMPOUND STATEMENTS

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

COMP2611: Computer Organization Introduction to Logisim & simple combinational circuit

History of Computing. Ahmed Sallam 11/28/2014 1

Computer Architecture and System Software Lecture 02: Overview of Computer Systems & Start of Chapter 2

Computer Organization EE 3755 Midterm Examination

ECE 341 Midterm Exam

6.1 Combinational Circuits. George Boole ( ) Claude Shannon ( )

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

Question Total Possible Test Score Total 100

Chapter 3: part 3 Binary Subtraction

CS232 VHDL Lecture. Types

CS 261 Fall Mike Lam, Professor. Combinational Circuits

ECE 30 Introduction to Computer Engineering

Question No: 1 ( Marks: 1 ) - Please choose one A SOP expression is equal to 1

1. What is y-chart? ans: The y- chart consists of three domains:- behavioral, structural and geometrical.

637 has a 1 s place, 10 s place and 100 s place Show how to go from *256+7* =

EECS 270 Midterm Exam

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

A complement number system is used to represent positive and negative integers. A complement number system is based on a fixed length representation

1. Mark the correct statement(s)

60-265: Winter ANSWERS Exercise 4 Combinational Circuit Design

FPGA: FIELD PROGRAMMABLE GATE ARRAY Verilog: a hardware description language. Reference: [1]

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

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

CHW 261: Logic Design

CS 265. Computer Architecture. Wei Lu, Ph.D., P.Eng.

Number Systems and Computer Arithmetic

T02 Tutorial Slides for Week 2

CPSC 121: Models of Computation Lab #9: A Working Computer

University of Toronto Mississauga. Flip to the back cover and write down your name and student number.

Basic Arithmetic (adding and subtracting)

ECE 2300 Digital Logic & Computer Organization. More Sequential Logic Verilog

B.Tech II Year I Semester (R13) Regular Examinations December 2014 DIGITAL LOGIC DESIGN

CS 151 Quiz 4. Instructions: Student ID. (Last Name) (First Name) Signature

CO Computer Architecture and Programming Languages CAPL. Lecture 9

Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: Bits and Bytes and Numbers

Transcription:

Introduction to Digital Logic Using Logisim Gates, Plexers, Decoders, Registers, Addition and Comparison Autumn 2010 Uppsala University karl.marklund@it.uu.se

...open up a command shell and type logisim and press enter to start Logisim. On the IT department Unix system...

http://ozark.hendrix.edu/~burch/logisim If you prefer to run Logism on your own computer, you can download it for free (requires Java to run).

In addition to these instructions, you must also download the following Logisim project file from the instruction home page: BasicGatesPlexersDecodersRegistersAddersEqual.circ Open up the project!

There are a numbers of circuits in this project.

The project uses these libraries with components.

Open the first circuit Basic Gates. Use the tool to toggle the input a and b bit values to experiment with the 6 basic gates.

To make choices in digital circuits, we can use components such as: - Multiplexers - Demultiplexers - Decoders

A de-multiplexer (DMX) One data input 1 Select bit S S = 0 Input Data goes to output D0. S = 1 Input Data goes to output D1.

A de-multiplexer (DMX) One data input 1 Select bit S S = 0 Input Data goes to output D0. S = 1 Input Data goes to output D1.

A de-multiplexer (DMX) One data input 1 Select bit S S = 0 Input Data goes to output D0. S = 1 Input Data goes to output D1.

When the Input Data is 0, all output data becomes 0.

A Decoder No data input 1 Select bit S S = 0 Input Data goes to output D0. S = 1 Input Data goes to output D1.

A Decoder No data input 1 Select bit S S = 0 Input Data goes to output D0. S = 1 Input Data goes to output D1. A Decoder can be seen as a special case of a demultiplexer where the data input is constant 1.

A Multiplexer Two data inputs 1 Select bit S S = 0 Input Data 0 goes to output. S = 1 Input Data 1 goes to output.

A Multiplexer Two data inputs 1 Select bit S S = 0 Input Data 0 goes to output. S = 1 Input Data 1 goes to output.

A Multiplexer Two data inputs 1 Select bit S S = 0 Input Data 0 goes to output. S = 1 Input Data 1 goes to output.

De-Multiplexer with 3 select bits 2log(8) = 3 select bits Interpreted as an integer 0,..., 7 8 = 2 3 data outputs

De-Multiplexer with 3 select bits Use the select bits to choose which input (0,..., 7) to let through.

3-2 3 - decoder 3 bit input Can be seen as a special case of a demultiplexer where the data input is always one.

Multiplexer with 3 select bits 8 = 2 3 data inputs 2log(8) = 3 select bits Interpreted as an integer 0,..., 7

Multiplexer with 3 select bits Use the select bits to choose which input (0,..., 7) to let through.

Open the 2nd circuit Introduction to plexers. Use the tool to toggle input bits to experiment with the components and make sure you understand their functionality.

The Plexers library You can add a multiplexer by selecting a multiplexer component from the Plexers library. NOTE: you can specify the number of select bits with also defines the number of input pins.

This is the result after I added one multiplexer with 1 select bit and one multiplexer with 4 select bits.

Add wires to implement a de-multiplexer with one select bit.

Add wires to implement a decoder with 2 select bits (S1, S0).

Add wires to implement a multiplexer with 1 select bit.

We continue by studying a component that can be used to store integers (bit patterns). 8 bit data input, a number we want to store and remember. A register Value of stored number in hexadecimal notation. 8 bit data output, value of stored number. 1 bit clear input used to reset stored value to zero. To change the state (contents) of the register, the value on this 1 bit input must change from low (0) to high (1), i.e., a raising edge trigged state element.

On a rising edge, data value on input D is stored in the register. Between raising edges, the stored value can be retrieved on output Q. clock raising edge falling edge

What number is stored in this register? C6 16 = 12*16 + 6 = 160 + 32 + 6 = 198 10 TRICK! Can translate each hexadecimal digit to four binary bits......and assemble to the corresponding 8 bit binary number. Hex Decimal Binary C 12 8 + 4 1100 6 6 4 + 2 0110 C6 16 = 1100 0110 2

Open the 4 bit Register circuit.

Add a Probe Choose Radix = Unsigned Decimal

We want the pin on the probe to point to the right (East) to be able to connect to the dangling wire.

Add the probe here. The probe help us translate from binary......to decimal.

Can easily see that the 4 bit binary number 0101 2 = 5 10 Use the finger tool......to change the input here. To store the Input Data in the register, the clock signal must change from low (0) to high (1). Click on the clock wave to toggle the clock.

When the clock change from black (0) to green (1)...... Data input (5) is stored in the register....which also becomes the output here. Do you remember: To change the state (contents) of the register, the value of the 1 bit clock signal must change from low (0) to high (1), i.e., a raising edge trigged state element.

We can change input......and the register remembers the value previously stored (5).

Doesn t matter if the clock goes back to 0...... The register still remembers the old value (5).

Not until the clock change from 0 to 1 again.....will the new input data (11) be stored. 1011 2 = 11 10 = b 16 (hexadecimal)

Open the 2 bit MUX as component circuit. Add wires to construct a working multiplexer.

Here we use the 2 bit MUX as a component within this circuit.

When you connected the wires correctly here......the output of your multiplexer should be the same as for the built in multiplexer above.

Open the Addition circuit. Logisim comes with a addition component.

Toggle the input bits to experiment with the addition component 3 + 2 = 5

If we change to Carry-In = 1 3 + 2 + 1 = 6

Signed integers - Two s Complement Remember: Using two s complement subtraction becomes addition.

Equality: how to check if two numbers are equal? One way to check if two numbers are equal is to use the addition circuit to subtract the numbers and check if the result is zero.

Add wires to implement a demultiplexer with three select bits.

Each circuit can be reused within other circuits

Here we use the 3 bit DMX within in this circuit.

When you connected the wires correctly here......the output of your demultiplexer should be the same as for the built in demultiplexer above.

TIP #1: You can press ctrl-1 to switch to the finger tool. Similary, you can press ctrl-2 to switch to the arrow (edit) tool. ctrl-1 TIP #2: The arrow (edit) tool can be used to draw wires. ctrl-2 TIP #3: Clicking on a wire using the finger tool makes all connected wires bold (and easy to follow). The value on the wire is also printed to the screen.

After this short introduction to digital logic you should have a basic understanding of: Gates, Plexers, Decoders, Registers and Adders. You also learned how to use Logisim. These skills will be needed when you continue to construct more complex digital circuits.