July 2, 2001Systems Architecture I1 Systems Architecture II (CS 282) Lab 3: State Elements, Registers, and Memory * Jeremy R. Johnson Monday July 2, 2001.

Slides:



Advertisements
Similar presentations
Tutorial 2 Sequential Logic. Registers A register is basically a D Flip-Flop A D Flip Flop has 3 basic ports. D, Q, and Clock.
Advertisements

CPS3340 COMPUTER ARCHITECTURE Fall Semester, /23/2013 Lecture 7: Computer Clock & Memory Elements Instructor: Ashraf Yaseen DEPARTMENT OF MATH &
1 VLSI DESIGN USING VHDL Part II A workshop by Dr. Junaid Ahmed Zubairi.
EECC341 - Shaaban #1 Lec # 13 Winter Sequential Logic Circuits Unlike combinational logic circuits, the output of sequential logic circuits.
Simple Sequential Circuits in VHDL. Contents Sequential circuit examples: - SR latch in dataflow style - D flip-flop in behavioral style - shift register.
1 The Basic Memory Element - The Flip-Flop Up until know we have looked upon memory elements as black boxes. The basic memory element is called the flip-flop.
6/12/20151 Sequence Detectors Lecture Notes – Lab 4 Sequence detection is the act of recognizing a predefined series of inputs A sequence detector is a.
1  1998 Morgan Kaufmann Publishers Chapter Five The Processor: Datapath and Control.
CS 151 Digital Systems Design Lecture 20 Sequential Circuits: Flip flops.
Chapter Five The Processor: Datapath and Control.
Latches and Flip-Flops Discussion D4.1 Appendix J.
COMPUTER ARCHITECTURE & OPERATIONS I Instructor: Hao Ji.
Fall 2007 L16: Memory Elements LECTURE 16: Clocks Sequential circuit design The basic memory element: a latch Flip Flops.
The Processor Andreas Klappenecker CPSC321 Computer Architecture.
System Arch 2008 (Fire Tom Wada) /10/9 Field Programmable Gate Array.
A full die photograph of the MIPS R2000 RISC Microprocessor is shown above. The 1986 MIPS R2000 with five pipeline stages and 450,000 transistors was the.
Processor: Datapath and Control
ENG241 Digital Design Week #8 Registers and Counters.
Lec 15Systems Architecture1 Systems Architecture Lecture 15: A Simple Implementation of MIPS Jeremy R. Johnson Anatole D. Ruslanov William M. Mongan Some.
CPS3340 COMPUTER ARCHITECTURE Fall Semester, /3/2013 Lecture 9: Memory Unit Instructor: Ashraf Yaseen DEPARTMENT OF MATH & COMPUTER SCIENCE CENTRAL.
Feb. 26, 2001Systems Architecture I1 Systems Architecture I (CS ) Lecture 12: State Elements, Registers, and Memory * Jeremy R. Johnson Mon. Feb.
1 MIPS VHDL Overview Reference: VHDL Tutorial on CDROM, or Accolade Reference Guide Notes: / / pdf / MIPS_vhdl_notes.pdf.
VHDL Discussion Sequential Sytems. Memory Elements. Registers. Counters IAY 0600 Digital Systems Design Alexander Sudnitson Tallinn University of Technology.
Logic Design / Processor and Control Units Tony Diep.
CEC 220 Digital Circuit Design Latches and Flip-Flops Monday, March 03 CEC 220 Digital Circuit Design Slide 1 of 19.
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
07/11/2005 Register File Design and Memory Design Presentation E CSE : Introduction to Computer Architecture Slides by Gojko Babić.
Lecture 23: 11/26/2002CS170 Fall CS170 Computer Organization and Architecture I Ayman Abdel-Hamid Department of Computer Science Old Dominion University.
May 22, 2000Systems Architecture I1 Systems Architecture I (CS ) Lecture 14: A Simple Implementation of MIPS * Jeremy R. Johnson Mon. May 17, 2000.
Appendix C Basics of Logic Design. Appendix C — Logic Basic — 2 Logic Design Basics §4.2 Logic Design Conventions Objective: To understand how to build.
Appendix B The Basics of Logic Design
Computer Science 210 Computer Organization
Combinational logic circuit
Computer Architecture & Operations I
Computer Architecture & Operations I
Describing Combinational Logic Using Processes
Registers and Counters
Computer Architecture & Operations I
CHAPTER 17 VHDL FOR SEQUENTIAL LOGIC
Morgan Kaufmann Publishers
Systems Architecture I
Appendix B The Basics of Logic Design
Computer Science 210 Computer Organization
Latches and Flip-flops
A full die photograph of the MIPS R2000 RISC Microprocessor is shown above. The 1986 MIPS R2000 with five pipeline stages and 450,000 transistors was.
Jeremy R. Johnson Mon. Apr. 3, 2000
Field Programmable Gate Array
Field Programmable Gate Array
Field Programmable Gate Array
Computer Science 210 Computer Organization
Systems Architecture I
CHAPTER 17 VHDL FOR SEQUENTIAL LOGIC
Systems Architecture I (CS ) Lecture 16: Exceptions
Systems Architecture I
Systems Architecture II
ECE 545—Digital System Design with VHDL Lecture 1
Systems Architecture I
The Processor Lecture 3.1: Introduction & Logic Design Conventions
Systems Architecture I
Sequential Logic.
Single Cycle Datapath Lecture notes from MKP, H. H. Lee and S. Yalamanchili.
Systems Architecture I
Systems Architecture I (CS ) Lecture 17: Exceptions
Systems Architecture I
Levels in Processor Design
Systems Architecture II
Systems Architecture I
Sequntial-Circuit Building Blocks
(Sequential-Circuit Building Blocks)
Presentation transcript:

July 2, 2001Systems Architecture I1 Systems Architecture II (CS 282) Lab 3: State Elements, Registers, and Memory * Jeremy R. Johnson Monday July 2, 2001 *This lecture was derived from material in the text (Appendix B). All figures from Computer Organization and Design: The Hardware/Software Approach, Second Edition, by David Patterson and John Hennessy, are copyrighted material (COPYRIGHT 1998 MORGAN KAUFMANN PUBLISHERS, INC. ALL RIGHTS RESERVED).

July 2, 2001Systems Architecture I2 Introduction Objective: Review sequential logic and use of a clock. Provide help with Register File and Memory Unit in VHDL. Topics –Sequential logic (elements with state) and timing (edge triggered) Latches and flip flops Registers –Memory SRAM DRAM

July 2, 2001Systems Architecture I3 Timing Clocks used in synchronous logic – when should an element that contains state be updated? –All state elements must have the clock signal as an input Edge-triggered timing –All state elements are updated on the same clock edge cycle time rising edge falling edge

July 2, 2001Systems Architecture I4 Edge Triggered Timing State updated at clock edge read contents of some state elements, send values through some combinational logic write results to one or more state elements Clock must have sufficiently long period for combinational logic to stabilize.

July 2, 2001Systems Architecture I5 Edge Triggered Timing Allows a state element to be used as both an input and an output

July 2, 2001Systems Architecture I6 Components for Simple Implementation Functional Units needed for each instruction

July 2, 2001Systems Architecture I7 Register File A set of registers that can be read/written by supplying a register number to be accessed. Built using a decoder for each read and write port, and an array of D flip-flops. For the MIPS processor, the register file has two read ports and one write port. A write flag is used to indicate that the state should change, and a clock is needed to determine when to change state.

July 2, 2001Systems Architecture I8 Implementation of Read Ports

July 2, 2001Systems Architecture I9 Implementation of Write Ports

July 2, 2001Systems Architecture I10 Memory Registers and register files provide the basic building blocks for small memories. Larger memories are built from SRAMs (Static Random Access Memories) and DRAMs (Dynamic Random Access Memories) SRAM –5 to 25 ns access time –largest SRAMs have over 4 Million bits –4 to 6 transistors per bit –value stored in cell kept on a pair of inverting gates and can be kept indefinitely DRAM –60 to 110 ns access time –1 transistor per bit –charge stored in capacitor, and needs periodic refreshing

July 2, 2001Systems Architecture I11 Behavioral Model for Memory library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_arith.all; entity memory is port(address, write_data : in std_logic_vector(31 downto 0); MemWrite, MemRead : in std_logic; read_data : out std_logic_vector(31 downto 0)); end memory;

July 2, 2001Systems Architecture I12 Behavioral Model for Memory architecture behavorial of memory is type mem_array is array(0 to 7) of std_logic_vector (31 downto 0); begin mem_process: process(address, write_data) variable data_mem : mem_array := ( to_stdlogicvector(X” ”), --- initialize data memory to_stdlogicvector(X” ”), to_stdlogicvector(X” ”)); variable adddr : integer;

July 2, 2001Systems Architecture I13 Behavioral Model of Memory begin addr := to_integer(address (2 downto 0)); if MemWrite = ‘1’ then data_mem(addr) := write_data; elsif MemRead = ‘1’ then read_data := data_mem(addr) after 10 ns; end if; end process mem_process; end behavorial;