Senior Project Presentation: Designers: Shreya Prasad & Heather Smith Advisor: Dr. Vinod Prasad May 6th, 2003 Internal Hardware Design of a Microcontroller.

Slides:



Advertisements
Similar presentations
The 8051 Microcontroller and Embedded Systems
Advertisements

Reliable Data Processor in VLSI
Princess Sumaya Univ. Computer Engineering Dept. د. بســام كحـالــه Dr. Bassam Kahhaleh.
Chapter 7 Henry Hexmoor Registers and RTL
Programmable Interval Timer
LOGIC GATES ADDERS FLIP-FLOPS REGISTERS Digital Electronics Mark Neil - Microprocessor Course 1.
The 8085 Microprocessor Architecture
Processor System Architecture
MICRO PROCESSER The micro processer is a multipurpose programmable, clock driven, register based, electronic integrated device that has computing and decision.
SENIOR PROJECT By: Ricardo V. Gonzalez Advisor: V. Prasad.
Counter Circuits and VHDL State Machines
RIPPLE COUNTERS A register that goes through a prescribed sequence of states upon the application of input pulses is called a counter. The input pulses.
Signal Processing Using Digital Technology Jeremy Barsten Jeremy Stockwell December 10, 2002 Advisors: Dr. Thomas Stewart Dr. Vinod Prasad.
Henry Hexmoor1 Chapter 10- Control units We introduced the basic structure of a control unit, and translated assembly instructions into a binary representation.
7/13/2015 SENIOR PROJECT STUDENT:RICARDO V. GONZALEZ. ADVISOR: VINOD B. PRASAD.
Robotic Arm Controller A VLSI Implementation Team: Justin Hamann & Dave McNamara Team: Justin Hamann & Dave McNamara Advisor: Dr. Vinod Prasad Advisor:
Motor Control of an Oscillating Pendulum Nick Myers and Chirag Patel March 9, 2004 Advised by: Dr. James Irwin and Mr. Jose Sanchez Bradley University.
Chapter 19 Fundamental PLC Programming
EE345: Introduction to Microcontrollers Register and Counters Prof. Ahmad Abu-El-Haija.
Micro-operations Are the functional, or atomic, operations of a processor. A single micro-operation generally involves a transfer between registers, transfer.
8254 Programmable Interval Timer
8253 TIMER. Engr 4862 Microprocessors 8253 / 8254 Timer A.k.a. PIT (programmable Interval Timer), used to bring down the frequency to the desired level.
PIT: Programmable Interval Timer
System Clocks.
Introduction to FPGA AVI SINGH. Prerequisites Digital Circuit Design - Logic Gates, FlipFlops, Counters, Mux-Demux Familiarity with a procedural programming.
1 Registers and Counters A register consists of a group of flip-flops and gates that affect their transition. An n-bit register consists of n-bit flip-flops.
Rabie A. Ramadan Lecture 3
Chapter 4 TIMER OPERATION
The 8253 Programmable Interval Timer
MCU: Interrupts and Timers Ganesh Pitchiah. What’s an MCU ?
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
Digital Components and Combinational Circuits Sachin Kharady.
Chapter 14 Introduction to Microprocessors. 2 Microcomputer A self-contained computer system that consists of CPU (central processing unit), memory (RAM.
Chap 7. Register Transfers and Datapaths. 7.1 Datapaths and Operations Two types of modules of digital systems –Datapath perform data-processing operations.
7-6 단일 레지스터에서 Microoperation Multiplexer-Based Transfer  Register 가 서로 다른 시간에 둘 이상의 source 에서 data 를 받을 경우 If (K1=1) then (R0 ←R1) else if (K2=1) then.
ENG241 Digital Design Week #8 Registers and Counters.
REGISTER A register is a group of flip-flops. Each flip- flop is capable of storing one bit of informa­ tion. An n-bit register consists of a group of.
displayCtrlr Specification
CHAPTER-2 Fundamentals of Digital Logic. Digital Logic Digital electronic circuits are used to build computer hardware as well as other products (digital.
Anurag Dwivedi. Basic Block - Gates Gates -> Flip Flops.
Instructor: Alexander Stoytchev
8254 Timer.
Counter Circuits and VHDL State Machines
Decade Counter (BCD Counter). Introduction A counter which is reset at the 10 th clock pulse is called decade counter. The decade counter is otherwise.
Introduction to Microprocessors - chapter3 1 Chapter 3 The 8085 Microprocessor Architecture.
MICROPROCESSOR DETAILS 1 Updated April 2011 ©Paul R. Godin prgodin gmail.com.
Control units In the last lecture, we introduced the basic structure of a control unit, and translated our assembly instructions into a binary representation.
THEME 6: Frequency dividers. Digital counters with reduced counting modulus. Programmable digital counters. If the input pulses are more than K, the counter.
Instructor: Alexander Stoytchev CprE 281: Digital Logic.
1 Chapter 1 Basic Structures Of Computers. Computer : Introduction A computer is an electronic machine,devised for performing calculations and controlling.
DEPARTMENT OF ELECTRONICS ENGINEERING V-SEMESTER MICROPROCESSOR & MICROCONTROLLER 1 CHAPTER NO microcontroller & programming.
Basic Computer Organization and Design
The 8085 Microprocessor Architecture
Instructor: Alexander Stoytchev
Chap 7. Register Transfers and Datapaths
The 8085 Microprocessor Architecture
EKT 221 : Digital 2 COUNTERS.
Programmable Interval Timer
Programmable Interval Timer
An Introduction to Microprocessor Architecture using intel 8085 as a classic processor
Instructor: Alexander Stoytchev
Interfacing Memory Interfacing.
ECE 434 Advanced Digital System L13
The 8085 Microprocessor Architecture
8253 – PROGRAMMABLE INTERVAL TIMER (PIT). What is a Timer? Timer is a specialized type of device that is used to measure timing intervals. Timers can.
Control units In the last lecture, we introduced the basic structure of a control unit, and translated our assembly instructions into a binary representation.
Review: The whole processor
Computer Operation 6/22/2019.
Presentation transcript:

Senior Project Presentation: Designers: Shreya Prasad & Heather Smith Advisor: Dr. Vinod Prasad May 6th, 2003 Internal Hardware Design of a Microcontroller in VLSI

Presentation Outline Project summary Review of preliminary work Project description Functional description Subsystem block diagrams Analysis of Results Completed Tasks Improvements (if time permitted)

Project Summary To design some of the internal components of a microcontroller using L-EDIT. To create several delays by designing the internal 16- bit timer circuitry and 4 registers. These delays can run real time systems and interrupts. The design will also be done in VHDL code and implemented onto an FPGA board.

Preliminary Work helped the designers with the gate-level design for the D flip-flop. was where the designers found the transistor-level design for the XOR gate. The D flip-flop and XOR gate designs used the least number of transistors.

Preliminary Work D flip-flop in LEDIT

Preliminary Work D flip-flop plot in PSPICE

Project Description Functional Description User inputs: 8-bit accumulator 2-bit register controller input and 1-bit enable 2-bit clock controller input and 1-bit enable timer reset clock User outputs: 1 bit from each of the four comparators 1 bit overflow from timer

Project Description Functional Description Modes of operation: The user inputs 8 bits into the accumulator and 2 bits to the register controller and clock controller. The register controller specifies which register will store the 8-bit value. The clock controller specifies the period of the input clock pulse. The 16-bit timer continuously increments with the clock. The lower 8 bits input into each of the 4 comparators. They are then compared to the 8 bits stored in each register. The comparator output is logic ‘1’ when the two values are equal.

Project Description Block Diagram Subsystems: Clock Controller 16-bit Timer Register Controller Register Comparator

Project Description System Block Diagram

Project Description Clock Controller Subsystem Inputs: Clock (user input) Enable (user input) 2-bit Control Value (user input) Outputs: Clock (to timer and register controller subsystems)

Project Description Clock Controller Subsystem Block Diagram

Project Description Description of Clock Controller Subsystem This controls the clock pulse entering the timer subsystem. The user inputs the fastest clock pulse desired into the clock input. The subsystem can then output that pulse, or a pulse two times, four times, or eight times the period of the original pulse, into the timer subsystem. The 2-bit control value selects which pulse to output using a 4 to 1 multiplexor. The pulse periods are increased using a 3-bit counter.

Project Description Xilinx Design of Clock Controller Subsystem

Project Description LEDIT Design of Clock Controller Subsystem

Project Description PSpice Design of Clock Controller Subsystem

Project Description VHDL Design of Clock Controller Subsystem

Project Description 16-bit Timer Subsystem Inputs: Clock (from clock controller subsystem) Enable (user input) Reset (user input) Outputs: Lower 8 bits of timer value (to comparator subsystem) Overflow bit (external output)

Project Description 16-bit Timer Subsystem Block Diagram

Project Description Description of Timer Subsystem The enable input starts and stops the counter. It operates as a 16-bit counter. After reaching FFFFh, it sets the overflow bit high for one clock pulse and will restart at 0000h. Although only the lower 8 bits are used in the timer, having 16 bits will allow for longer delays.

Project Description Xilinx of Timer Subsystem

Project Description LEDIT of Timer Subsystem

Project Description PSpice of Timer Subsystem

Project Description VHDL Design of Timer Subsystem

Project Description Register Controller Subsystem Inputs: Enable (user input) Clock (from clock controller subsystem) 2-bit Control Value (user input) Outputs: Clock (to register subsystem)

Project Description Register Controller Subsystem Block Diagram

Project Description Description of Register Controller Subsystem. The 2-bit controller value specifies which of the 4 registers will receive the 8-bit accumulator value. A register will only receive the accumulator input when the register controller turns on the register’s clock. Only one register clock can be on at a time. A 2 to 4 decoder is used to select which register will receive the input clock pulse.

Project Description Xilinx of Register Controller Subsystem

Project Description LEDIT of Register Controller Subsystem

Project Description PSpice of Register Controller Subsystem

Project Description VHDL Design of Register Controller Subsystem

Project Description Register Subsystem Inputs: 8-bit Accumulator Value (from accumulator) Clock (from register controller) Outputs: 8-bit Register Value (to comparator subsystem)

Project Description Register Subsystem Block Diagram

Project Description Description of Register Subsystem Each register will consist of 8 D flip-flops, which will store the register value. A register stores the accumulator value only when the controller turns on its clock. Otherwise, the register will hold its previous value until this value is written over with a new value from the accumulator.

Project Description LEDIT of Register Subsystem

Project Description PSpice of Register Subsystem

Project Description VHDL Code for Register Subsystem

Project Description Comparator Subsystem Inputs: 8-bit Register Value (from register subsystem) Lower 8-bit Timer Value (from timer subsystem) Outputs: 1-bit Compared Value (external output)

Project Description Comparator Subsystem Block Diagram

Project Description Description of Comparator Subsystem There are 4 comparators, 1 for each register. The 8-bit value from each register is compared to the lower 8 bits of the timer. If the two inputs are the same, the output is logic ‘1’. Otherwise, the output is logic ‘0’.

Project Description Xilinx of Comparator Subsystem

Project Description LEDIT of Comparator Subsystem

Project Description PSpice of Comparator Subsystem

Project Description VHDL Code for Comparator Subsystem

Analysis of Results Xilinx Design of Complete System Each subsystem was designed and tested in a separate Xilinx file. Macros were used to turn each subsystem file into a single block showing only the subsystem’s inputs and outputs. The subsystem blocks were then combined together and tested.

Analysis of Results Xilinx Design of Complete System

Analysis of Results L-Edit Design of Complete System Each subsystem was designed and tested in a separate L-Edit file. Creating an instance for each subsystem allowed the designers to combine the subsystems into a single file. Once the subsystems were connected, an extract file was created to test the L-Edit design in Pspice. The design contained 2,522 transistors.

Analysis of Results L-Edit Design of Complete System

Analysis of Results PSpice Design of Complete System Each subsystem’s reset was set high to initialize the system. Various clock pulse periods were set up in the extract file to allow the accumulator to take values into the appropriate register. Register values were chosen to match timer values. The outputs of the comparator subsystem were checked to see if they went high when the register value was equal to the lower 8-bit timer value.

Analysis of Results PSpice Design of Complete System

Analysis of Results PSpice Design of Complete System compare bit 2 goes high when timer and register 2 are “ ”

Analysis of Results PSpice Design of Complete System compare bit 3 goes high when timer and register 3 are “ ” and “ ”

Analysis of Results VHDL Design of Complete System All of the individual VHDL files were compiled and placed into one project. A system file was written to incorporate all the subsystems. A test bench was also written for the system. The comparator outputs were checked.

Analysis of Results VHDL Design of Complete System

Analysis of Results VHDL Design of Test bench for Complete System

Analysis of Results VHDL Design of Complete System

Completed Tasks

Improvements (if time permitted) The timer design included the output compare mode; however, the input capture mode could also be designed. An input capture interrupt would be set high. The 16-bit timer value would be “captured” by storing it in a 16-bit register. An instruction register (IR) subsystem could also have been added. Binary codes for various instructions (move, store, add, etc.) would be decoded in the instruction register.

Questions?