Topics to be covered : How to model memory in Verilog RAM modeling Register Bank.

Slides:



Advertisements
Similar presentations
Parul Polytechnic Institute
Advertisements

Programmable Interval Timer
COEN 180 DRAM. Dynamic Random Access Memory Dynamic: Periodically refresh information in a bit cell. Else it is lost. Small footprint: transistor + capacitor.
8086.  The 8086 is Intel’s first 16-bit microprocessor  The 8086 can run at different clock speeds  Standard 8086 – 5 MHz  –10 MHz 
The 8085 Microprocessor Architecture
Chapter 9 Memory Basics Henry Hexmoor1. 2 Memory Definitions  Memory ─ A collection of storage cells together with the necessary circuits to transfer.
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.
1 TK2633TK Microprocessor Architecture DR MASRI AYOB.
Registers  Flip-flops are available in a variety of configurations. A simple one with two independent D flip-flops with clear and preset signals is illustrated.
Midterm Tuesday October 23 Covers Chapters 3 through 6 - Buses, Clocks, Timing, Edge Triggering, Level Triggering - Cache Memory Systems - Internal Memory.
COMPUTER ARCHITECTURE & OPERATIONS I Instructor: Hao Ji.
1 COMP 206: Computer Architecture and Implementation Montek Singh Mon., Nov. 18, 2002 Topic: Main Memory (DRAM) Organization – contd.
CSIT 301 (Blum)1 Memory. CSIT 301 (Blum)2 Types of DRAM Asynchronous –The processor timing and the memory timing (refreshing schedule) were independent.
CompE 460 Real-Time and Embedded Systems Lecture 5 – Memory Technologies.
Memory Technology “Non-so-random” Access Technology:
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 8 – Memory Basics Logic and Computer Design.
SAP1 (Simple-As-Possible) Computer
created by :Gaurav Shrivastava
Basic concepts Maximum size of the memory depends on the addressing scheme: 16-bit computer generates 16-bit addresses and can address up to 216 memory.
Survey of Existing Memory Devices Renee Gayle M. Chua.
Lecture 9. MIPS Processor Design – Instruction Fetch Prof. Taeweon Suh Computer Science Education Korea University 2010 R&E Computer System Education &
EEE-445 Review: Major Components of a Computer Processor Control Datapath Memory Devices Input Output Cache Main Memory Secondary Memory (Disk)
Memory and Storage Dr. Rebhi S. Baraka
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use ECE/CS 352: Digital Systems.
Memory System Unit-IV 4/24/2017 Unit-4 : Memory System.
Memory Intro Computer Organization 1 Computer Science Dept Va Tech March 2006 ©2006 McQuain & Ribbens Built using D flip-flops: 4-Bit Register Clock input.
CPEN Digital System Design
8279 KEYBOARD AND DISPLAY INTERFACING
Asynchronous vs. Synchronous Counters Ripple Counters Deceptively attractive alternative to synchronous design style State transitions are not sharp! Can.
ARM MIPS.  32 registers, each 32-bit wide. 30 are general purpose, R30(Hi) and R31(Low) are reserved for the results of long multiplication (64-bit.
Introduction to Microprocessors
Overview Memory definitions Random Access Memory (RAM)
Z80 Overview internal architecture and major elements of the Z80 CPU.
Computer Hardware A computer is made of internal components Central Processor Unit Internal External and external components.
Computer Architecture Lecture 24 Fasih ur Rehman.
TEAM FRONT END ECEN 4243 Digital Computer Design.
INTRODUCTION TO PIC MICROCONTROLLER. Overview and Features The term PIC stands for Peripheral Interface Controller. Microchip Technology, USA. Basically.
Computer Architecture Lecture 6 by Engineer A. Lecturer Aymen Hasan AlAwady 1/12/2013 University of Kufa - Informatics Center for Research and Rehabilitation.
Feb. 26, 2001Systems Architecture I1 Systems Architecture I (CS ) Lecture 12: State Elements, Registers, and Memory * Jeremy R. Johnson Mon. Feb.
8279 KEYBOARD AND DISPLAY INTERFACING
How do you model a RAM in Verilog. Basic Memory Model.
Introduction to Microprocessors - chapter3 1 Chapter 3 The 8085 Microprocessor Architecture.
Renesas Electronics America Inc. © 2011 Renesas Electronics America Inc. All rights reserved. RX Bus State Controller (BSC) Ver
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 22 Memory Definitions Memory ─ A collection of storage cells together with the necessary.
MICROPROCESSOR DETAILS 1 Updated April 2011 ©Paul R. Godin prgodin gmail.com.
07/11/2005 Register File Design and Memory Design Presentation E CSE : Introduction to Computer Architecture Slides by Gojko Babić.
1 Memory Hierarchy (I). 2 Outline Random-Access Memory (RAM) Nonvolatile Memory Disk Storage Suggested Reading: 6.1.
Contemporary DRAM memories and optimization of their usage Nebojša Milenković and Vladimir Stanković, Faculty of Electronic Engineering, Niš.
8085 INTERNAL ARCHITECTURE.  Upon completing this topic, you should be able to: State all the register available in the 8085 microprocessor and explain.
“With 1 MB RAM, we had a memory capacity which will NEVER be fully utilized” - Bill Gates.
RAM RAM - random access memory RAM (pronounced ramm) random access memory, a type of computer memory that can be accessed randomly;
STUDY OF PIC MICROCONTROLLERS.. Design Flow C CODE Hex File Assembly Code Compiler Assembler Chip Programming.
Unit Microprocessor.
Washington University
CS 1251 Computer Organization N.Sundararajan
Memories.
COURSE OUTCOMES OF Microprocessor and programming
SAP1 (Simple-As-Possible) Computer
The 8085 Microprocessor Architecture
The 8085 Microprocessor Architecture
8085 Microprocessor Architecture
An Introduction to Microprocessor Architecture using intel 8085 as a classic processor
Introduction to Microprocessors and Microcontrollers
8085 Microprocessor Architecture
Important 8051 Features On chip oscillator 4K bytes ROM 128 bytes RAM
The 8085 Microprocessor Architecture
DRAM Hwansoo Han.
Bob Reese Micro II ECE, MSU
Computer Operation 6/22/2019.
Presentation transcript:

Topics to be covered : How to model memory in Verilog RAM modeling Register Bank

 In digital simulation, one often needs to model register files, RAMs, and ROMs. Memories are modeled in Verilog simply as an array of registers.  Each element of the array is known as a word. Each word can be one or more bits. It is important to differentiate between n 1-bit registers and one n-bit register.  A particular word in memory is obtained by using the address as a memory array subscript.

 Different types and sizes of memory, register file, stack, etc., can be formed by extending the vector concept. Thus the decleration Reg [15:0] memory[511:0];  Declared an array called memory; it has 512 locations. Each location is 16 bits wide. The value of any chosen location can be assigned to a selected register or vice-versa; this constitutes memory reading or writing. The index used to refer a memory location can be a number or an algebraic expression which reduces to an integral value – positive, zero, or negative.  B = mem[3] //data stored at mem[3] is assigned to B

 Reg mem1bit[0:1023] //Memory mem1bit 1k 1-bit words.  Reg [7:0] membyte[0:1023]; //Memory membyte with 1k 8-bit words (bytes)  Membyte [511] //Fetches 1 byte word address is 511.

 Verilog provides a very useful system task to initialize memories from a data file. Two tasks are provided to read numbers in binary or hexadecimal format. Keywords $readmemb and $readmemh are used to initialize memories :  Usage: ◦ $readmemb(“ ”, ); ◦ $readmemb(“ ”,,, ); ◦ NOTE :, are optional.

Solution 1

Basic DRAM Architecture

Fast Page Mode DRAM (FP DRAM) A row is selected and the col. addresses are sequenced. A row is considered a page, consisting of multiple words. Each word has a sep. col. address. The sense amplifier buffers a page.

EDO DRAM (Extended Data Out DRAM) -- Extra output latch between the sense ampl. and output buffer -- allows overlap bet. Col. Select and previous data out -- saves one cycle over FP DRAM

FPM and EDO RAM controlled asynchronously by the processor or the memory controller. A synchronous DRAM interface will eliminate a small amount of time (thus latency) that is needed by the DRAM to detect the ras/cas and rd/wr signals. DRAM latches information to and from the controller on the active edge of the clock signal In addition to a lower latency I/O, after a proper page and column setup, an SDRAM may store the starting address internally and output new data on each active edge of the clock signal, as long as the requested data are consecutive memory locations. This is accomplished by adding a column address counter to the base DRAM architecture. This counter is seeded with a starting column address strobed in by the processor (or memory controller) and is thereafter incremented internally by the DRAM on each clock cycle. SDRAM

signalnameactiveI/Odescription CLKclockN/Ainputsystem clock nRSTresetlowinputsystem reset ADDR(20:0)memory addressN/Ainputmemory address for r/w access WnRaccess typeN/Ainput when low read transfer, when high write tran. nASaddress and data strobelowinputstarts transfer nLBE(3:0)input mask for datalowinputinput enable/disable for data DIN(31:0)data inputN/Ainputdata to be written into sdram A(10:0)address busN/Aoutput address or control signals into sdram BS(1:0)bank selectN/Aoutput determines bank to which commands are executed CKEclock enablehighoutputsdram CKE input DQM(3:0)data maskhighoutput sdram data masks, mask individual bytes during data write. nCAScolumn address strobelowoutputsdram nCAS input nCSchip selectlowoutputsdram chip select nRASrow address strobelowoutputsdram nRAS input nWEwrite enablelowoutputsdram nWE input nDTACKtransmission acknowledgelowoutput acknowledges data transfer, strobe for data output from sdram DATA_OUT_SDRdata busN/Aoutputsdram data in bus

ARM MIPS

 32 registers, each 32-bit wide. 30 are general purpose, R30(Hi) and R31(Low) are reserved for the results of long multiplication (64-bit result).

 The register file has three read ports. Reading is done asynchronously and the addresses of the registers to be read are provided by RA1, RA2 and RA3 (each 5-bit wide) while the data of these addressed registers are reflected on RD1, RD2 and RD3 (each 32-bit wide).

 Writing into the registers is done at the negative edge of a clock and is enabled by the write control signal. The address of the register to be written is supplied by WA (5-bit wide) and the data is provided by WD (32-bit wide).

 There are bit registers in a MIPS datapath.  The register bank module includes ◦ two read register address inputs (5-bits each), ◦ one write register address input (5- bits), ◦ a write-enable signal input (1-bit), ◦ a write data input (32-bits), and ◦ two read data outputs (32-bits).

 On the positive edge of the write-enable input, the register bank will update the contents of the register at the write address with whatever data is on the write data bus.  The read data outputs are output asynchronously – i.e. they are a function of the read register addresses.