DESIGN, MANUFACTURE AND TESTING OF A 4-BIT MICROPROCESSOR

Similar documents
3. Implementing Logic in CMOS

Dec Hex Bin ORG ; ZERO. Introduction To Computing

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

Reference Sheet for C112 Hardware

Microcomputers. Outline. Number Systems and Digital Logic Review

COMPUTER ARCHITECTURE AND ORGANIZATION Register Transfer and Micro-operations 1. Introduction A digital system is an interconnection of digital

CPU ARCHITECTURE. QUESTION 1 Explain how the width of the data bus and system clock speed affect the performance of a computer system.

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

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

Microcontroller Systems

UPY14602-DIGITAL ELECTRONICS AND MICROPROCESSORS Lesson Plan

Prototype of SRAM by Sergey Kononov, et al.

session 7. Datapath Design

1 MALP ( ) Unit-1. (1) Draw and explain the internal architecture of 8085.

1. INTRODUCTION TO MICROPROCESSOR AND MICROCOMPUTER ARCHITECTURE:

Segment 1A. Introduction to Microcomputer and Microprocessor

DIRECTORATE OF TECHNICAL EDUCATION DIPLOMA IN ELECTRICAL AND ELECTRONICS ENGINEERING II YEAR M SCHEME IV SEMESTER.

Injntu.com Injntu.com Injntu.com R16

COSC 243. Computer Architecture 1. COSC 243 (Computer Architecture) Lecture 6 - Computer Architecture 1 1

Roberto Muscedere Images and Text Portions 2003 Prentice Hall 1

6. Latches and Memories

UNIT-III REGISTER TRANSFER LANGUAGE AND DESIGN OF CONTROL UNIT

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

File: 'ReportV37P-CT89533DanSuo.doc' CMPEN 411, Spring 2013, Homework Project 9 chip, 'Tiny Chip' fabricated through MOSIS program

DIGITAL ELECTRONICS. Vayu Education of India

UNIT - V MEMORY P.VIDYA SAGAR ( ASSOCIATE PROFESSOR) Department of Electronics and Communication Engineering, VBIT

END-TERM EXAMINATION

Basic Processing Unit: Some Fundamental Concepts, Execution of a. Complete Instruction, Multiple Bus Organization, Hard-wired Control,

Module 5 - CPU Design

Introduction to general architectures of 8 and 16 bit micro-processor and micro-controllers

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

Computer Architecture: Part III. First Semester 2013 Department of Computer Science Faculty of Science Chiang Mai University

CHAPTER 5 : Introduction to Intel 8085 Microprocessor Hardware BENG 2223 MICROPROCESSOR TECHNOLOGY

Digital IP Cell 8-bit Microcontroller PE80

Computer Systems Organization

CS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON

Dynamic CMOS Logic Gate

Register Transfer and Micro-operations

Concept of Memory. The memory of computer is broadly categories into two categories:

Lab 16: Data Busses, Tri-State Outputs and Memory

REGISTER TRANSFER LANGUAGE

Unit II Basic Computer Organization

A3 Computer Architecture

How a Digital Binary Adder Operates

2. (a) Compare the characteristics of a floppy disk and a hard disk. (b) Discuss in detail memory interleaving. [8+7]

csitnepal Unit 3 Basic Computer Organization and Design

Compact Integrated Processor

CHAPTER SIX BASIC COMPUTER ORGANIZATION AND DESIGN

REGISTER TRANSFER AND MICROOPERATIONS

Introduction to Computer Science. Homework 1

COMPUTER ORGANIZATION

Introduction to CPU Design

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

Midterm Project Design of 4 Bit ALU Fall 2001

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

Spiral 2-8. Cell Layout

2. List the five interrupt pins available in INTR, TRAP, RST 7.5, RST 6.5, RST 5.5.

The Itanium Bit Microprocessor Report

The 9S12 in Expanded Mode - Using MSI logic to build ports Huang Chapter 14

Blog -

CAD4 The ALU Fall 2009 Assignment. Description

CS101 Lecture 25: The Machinery of Computation: Computer Architecture. John Magee 29 July 2013 Some material copyright Jones and Bartlett

EE 3170 Microcontroller Applications

Combinational and sequential circuits (learned in Chapters 1 and 2) can be used to create simple digital systems.

Chapter 2 Logic Gates and Introduction to Computer Architecture

ASSEMBLY LANGUAGE MACHINE ORGANIZATION

CS429: Computer Organization and Architecture

Control Unit: The control unit provides the necessary timing and control Microprocessor resembles a CPU exactly.

CHAPTER 4: Register Transfer Language and Microoperations

CHAPTER 12 ARRAY SUBSYSTEMS [ ] MANJARI S. KULKARNI

Computer Systems. Binary Representation. Binary Representation. Logical Computation: Boolean Algebra

CMOS Process Flow. Layout CAD Tools

3. The high voltage level of a digital signal in positive logic is : a) 1 b) 0 c) either 1 or 0

Microprocessors/Microcontrollers

SIR C.R.REDDY COLLEGE OF ENGINEERING, ELURU DEPARTMENT OF INFORMATION TECHNOLOGY LESSON PLAN

Computer Organization and Levels of Abstraction

1. Prove that if you have tri-state buffers and inverters, you can build any combinational logic circuit. [4]

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

2 MARKS Q&A 1 KNREDDY UNIT-I

CS 101, Mock Computer Architecture

Software and Hardware

Scheme G. Sample Test Paper-I

SCRAM Introduction. Philipp Koehn. 19 February 2018

1. Draw general diagram of computer showing different logical components (3)

REGISTER TRANSFER AND MICROOPERATIONS

Microcomputer Architecture and Programming

EXPERIMENT NUMBER 11 REGISTERED ALU DESIGN

PSIM: Processor SIMulator (version 4.2)

ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems


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

CS 2461: Computer Architecture I

Systems Programming. Lecture 2 Review of Computer Architecture I

2015 Paper E2.1: Digital Electronics II

Von Neumann Architecture

CONTENTS CHAPTER 1: NUMBER SYSTEM. Foreword...(vii) Preface... (ix) Acknowledgement... (xi) About the Author...(xxiii)

St.MARTIN S ENGINEERING COLLEGE Dhulapally, Secunderabad

Code No: R Set No. 1

The Memory Component

R a) Simplify the logic functions from binary to seven segment display code converter (8M) b) Simplify the following using Tabular method

Transcription:

DESIGN, MANUFACTURE AND TESTING OF A 4-BIT MICROPROCESSOR Theodore D ~ntonoli 5th Year Microelectronic Engineering Student Rochester Institute of Technology ABSTRACT A four bit microprocessor was designed using an Apollo workstation and MOSIS two lambda design rules. The layout was intended for fabrication with a four level, enhancement mode load, NMOS process. Device operation was verified by breadboarding the microprocessor with 74 OO series CMOS logic parts. Testing of the breadboard showed that all functions operated correctly. However, the final breadboard design indicated the need for revision of the original layout. INTRODUCTION ~t the heart of every computer is a microprocessor; a device composed of modules such as counters, adders, registers, and tristate buffers. Proper connection of these elements enables the device to perform desired operations on binary numbers, such as addition, subtraction, and Boolean logic. The microprocessor will perfo.rm a specific operation when it receives a binary coded instruction. Complex routines, which are derived from more basic operations, are performed via a series of instructions. This requires the addition of a memory device (i.e. static or dynamic RAM) to store instruction sequences and data. The design of a microprocessor begins by determining the specific operations the device is required to perform. Modules are then designed and interconnected to perform these operations. The interaction between modules and memory indicates the architecture of the microprocessor. Two of the more popular architectures are Harvard and von Neumann. The basic difference between these architectures is the manner in which programs and data are stored. The Harvard architecture contains one memory to store programs and a second memory to store data. High speed devices are possible with this architecture because coprocessing operations may be utilized. Devices which mix programs and data together in the same memory are called von Neumann devices [1]. This allows for more efficient memory allocation. While this may result in a slower device, ±he design becomes much simpler, since only a single memory is required. Use of a single memory requires a bus which transfers data and address information throughout the device. ~ll modules are connected to the bus and interface logic determines whether or not it will see the data on the bus. ~ll modules are also free to place data onto the bus. 51

DE8~N This project involved the design of a 4-bit microprocessor which was called the MAVERICK device. Von Neumann architecture was chosen to implement the instruction set shown in Table 1. Implementation of the instruction set required the design of several modules including a 4-bit full-adder, registers, tristate buffers and a control unit (decoder) to direct the flow of data through the device. The device will add, subtract, increment, decrement, NAND and NOR two 4-bit binary numbers, and INV a 4-bit binary number. The load (LDA) and store (STA) instructions are intended for use with a 256 x B byte, random access memory (RAM) which is external to the microprocessor. The lower 224 memory locations are allocated for instructions and data which may be read into the microprocessor. The upper 32 memory locations contain only data which can be accessed with load and store instructions. Table 1: Instruction Set For MAVERICK Device lop code Function Description 0000 0001 0010 0011 0100 I 0101 0110 I 0111 1000 I 1001 1010 I 1011 I 11OX 111X <A> 1 <P~> + 1 <A> <B> <A> + <B> LDA ijnused Unused HALT NAND <A> and <B> NOR <A> and <B> INV <A> NOP STA LDA Decrement <A> by 1 Increment <A> by 1 Subtract <B> from <A> Add <B> to <A> Load ACC with data from lower 4 bits of MDR Stop all operations Bit by bit NAND of <A> with <B> Bit by bit NOR of <A> with <B> Complement <A> Increment the program counter (PC) Store <A> in address given by lower 5 bits on MDR Load ACC with data given by lower 4 bits of MDR MDR ACC <A> <B> Memory Data Register Accumulator Contents of the accumulator (4 bit binary number) Data on the lower 4 bits of the memory data register The steps necessary to execute an instruction are: 1.) Fetch instruction from memory location held in a program counter (PC) 2.) Decode operation 3.) Perform Operation and Update the PC 52

This sequence requires a two-phase, non-overlapping clock (referred to as ciki and clk2) with voltage levels of 5 volts when on and 0 volts when off. During a ciki pulse (5v), the address in the program counter (PC) is placed in the memory address register (MAR), the READ line of the memory device is enabled, and an instruction is placed in the memory data register (MDR). This corresponds to the fetch instruction operation. The clk2 pulse then decodes the instruction which generates enable signals responsible for instruction execution and updates the PC. The cycle is then repeated. Therefore, during each clock pulse, a number of different operations are performed at the same time. This eliminates concerns regarding timing based on rise and fall times. Other timing issues based on device clocking may be resolved by lengthening the duration of the clock. However, this is not possible when dealing with the operation of the WRITE line. If this line is enabled before the address lines fully charge, data may be written into a number of memory locations while an address is placed on the address bus. t~ non-inverting chain of inverters was used to delay the signal on the WRITE enable line. If this delay does not prove to be sufficient, external delay may be added. Other timing issues may be resolved by lengthening the duration of each clock pulse. ~n instruction consists of an eight bit word. The upper four bits contain a binary coded instruction while the lower four bits contain data. For example, the eight bit word, 01001001, will load (0100) the binary number 1001 into the accumulator. This configuration was altered only for addressable load and store operations. In these cases, the upper three bits contain the instruction while the lower five bits contain address information. ~ny address indicated for these instructions refers to one of the upper 32 locations in memory. The X s in Table 1 for these instructions indicate the additional bit of the instruction, used for address information. ~n example would be to store the accumulator contents into memory location 21 (actually memory location 245). The instruction for this is 11010101. The upper 3 bits (110) indicate an addressable load is to be performed while the lower 5 bits provide address information. The address which will be placed on the address bus will be 11110101. The upper 3 bits of an address will always be 111 to indicate a location in upper memory. This is also true of the ST~ instruction. The interface logic contained in various modules consists of a series of non-inverting, tristate buffers which allow data to be placed onto the bus. The registers used to store data consist of a series of transparent, gated 0 flip flops. cr~ny data reaching the input of a register during an enable pulse will be latched. The program counter consists of a series of eight 0 flip flops, connected so that clk2 will cause the output to increment by 1. The device is capable of counting from 0-256. The arithmatic logic unit (~LU) consist of some logic modules and an adder subtractor unit. The logic modules perform a bit by bit logic operation on the contents in the accumulator. ~n example of a logic function is the NOR of 1100 with 0110. The 53

accumulator contains one of the binary numbers (say 1100). The second binary number is contained in the lower four bits of the MDR. The instruction for the NOR operation of the accumulator with 0110 is then 10010110. The ACC will contain 0001 after after the instruction has been executed. The arithmatic unit is composed of an adder/subtractor module and logic modules. The adder/subtractor module consists of a standard 4-bit ripple, full adder. Some simple input logic was added to realize the increment, decrement and subtract functions. Logic modules consist of a series of NOR gates, inverters and NAND gates to perform bit by bit Boolean logic operations. All circuit schematics can be found in the Appendix in Figures Al - A7. LAYOUT/VERIF ICAT ION Device layout was performed on an Apollo workstation using ChipGraph graphics editor. MOSIS two lambda (lambda 2 microns) design rules were followed. This allowed the design rule checker on the workstation to be utilized. The layout was intended for fabrication with a self-aligned, poly-gate NMOS process using enhancement mode loads. A poly-gate PMOS process may also be used. Positive logic was implemented with 5v as logic high and Ov as logic low. The length to width ratio of all pull-up transistors was loum/4um while all pull-down transistors were 4um/Bum. All modules were full custom designs. The control unit was laid o~it as a programmable logic array (PLA) to facilitate quick changes as the design was modified. Figure 1 illustrates the block diagram of the MAVERICK device which indicates the general flow of data. A complete layout of the device as completed in February 1990 is shown in Figure 2. The Appendix contains more detailed layouts of the individual modules in Figures AS - A12 The device operation was verified by breadboarding with the 74 OO series CMOS components listed in Table 2. I Table 2 I I 74HC00 Quad 2 Input NAND Gate I I 74HC02 Quad 2 Input NOR Gate I 74HC04 Hex Inverter I I 74HC125 Quad Tn-State Buffer I I 74HC283 4-Bit Ripple Full-Adder I I 74HC373 Octal Transparent D Flip Flops I I 74HC86 Quad Exclusive OR Gate I 74HC4040 12 Stage Ripple Counter I 74HC4514 4-16 Decoder I 54

RESULTS Breadboard operation indicated that the original layout of the MAVERICK device would not operate correctly due to insufficient control of data with tristate buffers. This refers to the original use of tristate buffers to charge nodes to logic highs or lows. When the devices were disabled, floating nodes were created. Charge on these nodes leaked over short periods of time resulting in inconsistent device operation. Modifications to the breadboard design resolved this issue by placing registers at floating nodes to maintain logic levels. Several modifications to the original layout are therefore, necessary. This will consist of the addition of a temporary register and tristate buffer for addressable load operations. An obsolete tristate buffer will also need to be removed. The original layout also contained some logic circuitry to test the inputs and outputs of the MAR to check when they were equal. READ and WRITE lines were enabled when this condition was true. Redesign of the device eliminated the need for this circuitry. The PLA decoder will also need to be modified to reflect the necessary changes. The original photomask layout in Figure 2 indicates the points where changes need to be made. CONCLUSI ONS Breadboarding the MAVERICK device revealed several errors in the original photomask layout of the MAVERICK device. These errors were corrected on the breadboard to result in a fully, operational device. It is now necessary to revise the original layout to reflect the design changes. At that point, fabrication with an enhancement mode NMOS process will be possible. ACKNOWL EDGMENTS The author would like to thank the Microelectronic Engineering Department at the Rochester Institute of Technology for obtaining the necessary discrete CMOS parts. Thanks to Jim Kleffner of Motorola, INC in Austin, Texas for obtaining some hard to find 4-bit full adders. Special thanks to MIGUEL CHEN for his contributions to the design and layout of the MAVERICK device. REFERENCES [1] Kain, Richard Y.. Computer Architecture: Software and Hardware. New Jersey: Prentice Hall,1989. 55

>i Figure 1: Slock Di~grem of 4 bit Microprocessor~ 56

U,