Senior Project Design Review: Internal Hardware Design of a Microcontroller in VLSI

Similar documents
Internal Hardware Design of a Microcontroller in VLSI

ELCT 501: Digital System Design

[VARIABLE declaration] BEGIN. sequential statements

Field Programmable Gate Array

CSE 260 Introduction to Digital Logic and Computer Design. Exam 1. Your name 2/13/2014

DIGITAL LOGIC DESIGN VHDL Coding for FPGAs Unit 6

CCE 3202 Advanced Digital System Design

CCE 3202 Advanced Digital System Design

Microcomputer Architecture and Programming

ACS College of Engineering. Department of Biomedical Engineering. Logic Design Lab pre lab questions ( ) Cycle-1

CS303 LOGIC DESIGN FINAL EXAM

Control and Datapath 8

Introduction to VHDL #3

Lecture 7. Standard ICs FPGA (Field Programmable Gate Array) VHDL (Very-high-speed integrated circuits. Hardware Description Language)

Hardware Description Language VHDL (1) Introduction

Abi Farsoni, Department of Nuclear Engineering and Radiation Health Physics, Oregon State University

Sequential Statement

DIGITAL LOGIC WITH VHDL (Fall 2013) Unit 6

VHDL 2 Combinational Logic Circuits. Reference: Roth/John Text: Chapter 2

VHDL VS VERILOG.

CSE 260 Introduction to Digital Logic and Computer Design. Exam 1 Solutions

VHDL Examples Mohamed Zaky

CprE 583 Reconfigurable Computing

The University of Alabama in Huntsville ECE Department CPE Final Exam Solution Spring 2004

Digital Systems Design

DIGITAL LOGIC WITH VHDL (Fall 2013) Unit 1

Logic Implementation on a Xilinx FPGA using VHDL WWU Linux platform assumed. rev 10/25/16

Lecture 12 VHDL Synthesis

Computer-Aided Digital System Design VHDL

Design Progression With VHDL Helps Accelerate The Digital System Designs

VHDL Testbench. Test Bench Syntax. VHDL Testbench Tutorial 1. Contents

Getting Started with VHDL

EEL 4712 Digital Design Test 1 Spring Semester 2008

CMPT 250: Computer Architecture. Using LogicWorks 5. Tutorial Part 1. Somsubhra Sharangi

PALMiCE FPGA Probing Function User's Manual

VHDL simulation and synthesis

Entity, Architecture, Ports

ECOM 4311 Digital Systems Design

EL 310 Hardware Description Languages Midterm

Using Library Modules in VHDL Designs

Sequential Logic - Module 5

The University of Alabama in Huntsville Electrical and Computer Engineering CPE/EE 422/522 Spring 2005 Homework #6 Solution

MCPU - A Minimal 8Bit CPU in a 32 Macrocell CPLD.

Using Library Modules in VHDL Designs. 1 Introduction. For Quartus II 12.1

Using Library Modules in VHDL Designs

DESCRIPTION OF DIGITAL CIRCUITS USING VHDL

Chapter 8 VHDL Code Examples

Logic Implementation on a Xilinx FPGA using VHDL WWU Linux platform assumed. rev 11/01/17

Concurrent & Sequential Stmts. (Review)

EECE-4740/5740 Advanced VHDL and FPGA Design. Lecture 3 Concurrent and sequential statements

DESIGN AND IMPLEMENTATION OF MOD-6 SYNCHRONOUS COUNTER USING VHDL

Control Unit: Binary Multiplier. Arturo Díaz-Pérez Departamento de Computación Laboratorio de Tecnologías de Información CINVESTAV-IPN

!"#$%&&"'(')"*+"%,%-".#"'/"'.001$$"

Problem Set 10 Solutions

VHDL. Official Definition: VHSIC Hardware Description Language VHISC Very High Speed Integrated Circuit

VHDL: A Crash Course

8-1. Fig. 8-1 ASM Chart Elements 2001 Prentice Hall, Inc. M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

Schedule. ECE U530 Digital Hardware Synthesis. Rest of Semester. Midterm Question 1a

LABORATORY MANUAL VLSI DESIGN LAB EE-330-F

Concurrent Signal Assignment Statements (CSAs)

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

CS/EE Homework 7 Solutions

3e library declarations library IEEE; use IEEE.std_logic_1164.all;

TUTORIAL On USING XILINX ISE FOUNDATION DESIGN TOOLS: Mixing VHDL and Schematics

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

Latch Based Design (1A) Young Won Lim 2/18/15

Lecture 4. VHDL Fundamentals. George Mason University

Multiplication Simple Gradeschool Algorithm for 16 Bits (32 Bit Result)

Inferring Storage Elements

Contents. Chapter 9 Datapaths Page 1 of 28

Lab 3: Standard Combinational Components

EITF35: Introduction to Structured VLSI Design

ECE 448 Lecture 4. Sequential-Circuit Building Blocks. Mixing Description Styles

EITF35 - Introduction to the Structured VLSI Design (Fall 2016) Interfacing Keyboard with FPGA Board. (FPGA Interfacing) Teacher: Dr.

FPGA design with National Instuments

COE Design Process Tutorial

Department of Electronics & Communication Engineering Lab Manual E-CAD Lab

REGISTER TRANSFER LANGUAGE

Introduction to VHDL #1

COE 405 Design Methodology Based on VHDL

Constructing VHDL Models with CSA

Outline. CPE/EE 422/522 Advanced Logic Design L05. Review: General Model of Moore Sequential Machine. Review: Mealy Sequential Networks.

ECE 545 Lecture 6. Behavioral Modeling of Sequential-Circuit Building Blocks. George Mason University

ECE 545 Lecture 12. FPGA Resources. George Mason University

EITF35: Introduction to Structured VLSI Design

Verilog Fundamentals. Shubham Singh. Junior Undergrad. Electrical Engineering

Sign here to give permission for your test to be returned in class, where others might see your score:

Introduction to Design Vision. Instructor: Prof. Shantanu Dutt. TA: Soumya Banerjee

Today. Comments about assignment Max 1/T (skew = 0) Max clock skew? Comments about assignment 3 ASICs and Programmable logic Others courses

Arithmetic Circuits. Nurul Hazlina Adder 2. Multiplier 3. Arithmetic Logic Unit (ALU) 4. HDL for Arithmetic Circuit

FSM Components. FSM Description. HDL Coding Methods. Chapter 7: HDL Coding Techniques

ECE 545 Lecture 8. Data Flow Description of Combinational-Circuit Building Blocks. George Mason University

Experiment 0 OR3 Gate ECE 332 Section 000 Dr. Ron Hayne June 8, 2003

The block diagram representation is given below: The output equation of a 2x1 multiplexer is given below:

FPGA briefing Part II FPGA development DMW: FPGA development DMW:

ENGIN 241 Digital Systems with Lab

EEL 4712 Digital Design Test 2 Spring Semester 2008

VHDL: Modeling RAM and Register Files. Textbook Chapters: 6.6.1, 8.7, 8.8, 9.5.2, 11.2

Keyboard Input to Seven Segment Display

VHDL in 1h. Martin Schöberl

Transcription:

Senior Project Design Review: Internal Hardware Design of a Microcontroller in VLSI Designers: Shreya Prasad & Heather Smith Advisor: Dr. Vinod Prasad March 11th, 2003 Presentation Outline Project summary Review of preliminary work Project description (by subsystems) Functional description Block diagram Schedule of tasks

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 into FPGA. Preliminary Work The microcontroller to be designed is similar to the Motorola 68HC11. The designers used Motorola s microcontroller as a guide; however, their logic design was independent. http://www.play-hookey.com helped the designers with the gate level design for the D flip-flop and the XOR gate. The D flip-flop designed used the least number of gates.

D flip-flop in LEDIT Preliminary Work D flip-flop plot in PSPICE

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 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 to store the 8 bits into. 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.

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

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

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 controller value selects which pulse to output using a 4 to 1 multiplexer. The pulse periods are decreased using a 4-bit counter. Xilinx Design of Clock Controller Subsystem

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

16-bit Timer Subsystem Block Diagram Description of Timer Subsystem This is the main subsystem in the project. 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.

Xilinx of Timer Subsystem LEDIT of Timer Subsystem

VHDL Design of Timer Subsystem Register Controller Subsystem Inputs: Enable (user input) Clock (from clock controller subsystem) 2-bit Control Value (user input) Outputs: Clock (to register subsystem)

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

Xilinx of Register Controller Subsystem LEDIT of Register Controller Subsystem

VHDL Design of Register Controller Subsystem Register Subsystem Inputs: Outputs: 8-bit Accumulator Value (from accumulator) Clock (from register controller) 8-bit Register Value (to comparator subsystem)

Register Subsystem Block Diagram 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. The inputs and outputs previously mentioned are for each of the 4 registers.

LEDIT of Register Subsystem VHDL Code for Register Subsystem A D flip-flop component was written in a program. A program for the register was written. It includes port maps for each of the 8-bits. Four 8-bit registers were needed, so another program was written using port maps, as shown here: library ieee; use ieee.std_logic_1164.all entity reg is port(d1,d2,d3,d4:in std_logic_vector(7 downto 0); clk,rst: in std_logic; Q1,Q2,Q3,Q4:out std_logic_vector(7 downto 0)); end reg; architecture arch of reg is component reg8 port(d:in std_logic_vector(7 downto 0); clk,rst: in std_logic; Q: out std_logic_vector(7 downto 0)); end component; begin g9:reg8 port map(d=>d1,clk=>clk,rst=>rst,q=q1); g10:reg8 port map(d=>d2,clk=>clk,rst=>rst,q=q2); g11:reg8 port map(d=>d3,clk=>clk,rst=>rst,q=q3); g12: reg8 port map(d=>d4,clk=>clk,rst=>rst,q=q4); end arch;

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

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. Xilinx of Comparator Subsystem

LEDIT of Comparator Subsystem VHDL Code for Comparator Subsystem An XOR gate was written in a program. A NOR-8 gate was written in a program. The comparator program declared xor_gate and nor8_gate as components. Port maps were used as shown below: library ieee; use ieee.std_logic_1164.all entity comp is port(r,t: in std_logic_vector(7 downto 0); z:out std_logic); end comp; architecture sgp of comp is component xor_gate is port(a,b: in std_logic; z:out std_logic); end component; component nor8_gate port(input: in std_logic_vector(7 downto 0); output:out std_logic); end component; signal s: std_logic_vector(7 downto 0); begin g1:xor_gate port map(r(0),t(0),s(0)); g2:xor_gate port map(r(1),t(1),s(1)); g3: xor_gate port map(r(2),t(2),s(2)); g4: xor_gate port map(r(3),t(3),s(3)); g5: xor_gate port map(r(4),t(4),s(4)); g6: xor_gate port map(r(5),t(5),s(5)); g7: xor_gate port map(r(6),t(6),s(6)); g8: xor_gate port map(r(7),t(7),s(7)); g9: nor8_gate port map(s,z); end sgp

Schedule of Tasks Description Completed Partially Completed Not yet started Design Clock Controller in XILINX X " in LEDIT X " in VHDL X Design 16-bit timer in XILINX X " in LEDIT X " in VHDL X Design Register Controller in XILINX X " in LEDIT X " in VHDL X Design Register in XILINX X " in LEDIT X " in VHDL X Design Comparator in XILINX X " in LEDIT X " in VHDL X Combine subsystems in XILINX X " in LEDIT X " in VHDL X Questions?