Design of Dual Port SDRAM Controller with Time Slot Register

Similar documents
EECS150 - Digital Design Lecture 17 Memory 2

A Low Power DDR SDRAM Controller Design P.Anup, R.Ramana Reddy

ISSN Vol.05, Issue.12, December-2017, Pages:

ISSN: [Bilani* et al.,7(2): February, 2018] Impact Factor: 5.164

COM-8004SOFT SIGNAL DIVERSITY SPLITTER VHDL SOURCE CODE OVERVIEW

An Efficient Designing of I2C Bus Controller Using Verilog

FPGA-BASED DATA ACQUISITION SYSTEM WITH RS 232 INTERFACE

DESIGN AND IMPLEMENTATION OF SDR SDRAM CONTROLLER IN VHDL. Shruti Hathwalia* 1, Meenakshi Yadav 2

A Novel Architecture of Parallel Multiplier Using Modified Booth s Recoding Unit and Adder for Signed and Unsigned Numbers

Design and Implementation of Arbiter schemes for SDRAM on FPGA

Design Implementation of Composite Field S-Box using AES 256 Algorithm

XSB Board SDRAM Controller

Architecture of An AHB Compliant SDRAM Memory Controller

Matrix Manipulation Using High Computing Field Programmable Gate Arrays

Design and Verification of Serial Peripheral Interface 1 Ananthula Srinivas, 2 M.Kiran Kumar, 3 Jugal Kishore Bhandari

ISSN Vol.03,Issue.29 October-2014, Pages:

Design and Implementation of High Performance DDR3 SDRAM controller

International Journal of Advancements in Research & Technology, Volume 2, Issue 10, October ISSN

FT-UNSHADES credits. UNiversity of Sevilla HArdware DEbugging System.

THE INTERNATIONAL JOURNAL OF SCIENCE & TECHNOLEDGE

BUILDING AN AMBA COMPLIANT MEMORY CONTROLLER

EECS150 - Digital Design Lecture 16 - Memory

Optimized Design and Implementation of a 16-bit Iterative Logarithmic Multiplier

Design and VLSI Implementation of DDR SDRAM Controller for High Speed Applications

A Universal Test Pattern Generator for DDR SDRAM *

32 bit Arithmetic Logical Unit (ALU) using VHDL

of Soft Core Processor Clock Synchronization DDR Controller and SDRAM by Using RISC Architecture

Designing an Improved 64 Bit Arithmetic and Logical Unit for Digital Signaling Processing Purposes

FPGA Implementation of ALU Based Address Generation for Memory

A Modified Radix2, Radix4 Algorithms and Modified Adder for Parallel Multiplication

FPGA Based FIR Filter using Parallel Pipelined Structure

Design and Implementation of High Speed DDR SDRAM Controller on FPGA

Design and Implementation of Refresh and Timing Controller Unit for LPDDR2 Memory Controller

An Efficient Design of Serial Communication Module UART Using Verilog HDL

A New Encryption and Decryption Algorithm for Block Cipher Using Cellular Automata Rules

Implementation of Double Precision Floating Point Multiplier on FPGA

Field Programmable Gate Array

UNIT V (PROGRAMMABLE LOGIC DEVICES)

EECS150 - Digital Design Lecture 16 Memory 1

Design of AHB Arbiter with Effective Arbitration Logic for DMA Controller in AMBA Bus

CS 152 Computer Architecture and Engineering

Keywords: Soft Core Processor, Arithmetic and Logical Unit, Back End Implementation and Front End Implementation.

INTRODUCTION TO FPGA ARCHITECTURE

Novel Design of Dual Core RISC Architecture Implementation

FPGA based Simulation of Clock Gated ALU Architecture with Multiplexed Logic Enable for Low Power Applications

DESIGN AND IMPLEMENTATION OF 32-BIT CONTROLLER FOR INTERACTIVE INTERFACING WITH RECONFIGURABLE COMPUTING SYSTEMS

PERFORMANCE OF DMA MODE UART IP SOFT CORE IN EMBEDDED SYSTEMS

Design of a Pipelined 32 Bit MIPS Processor with Floating Point Unit

Efficient Built In Self Repair Strategy for Embedded SRAM with selectable redundancy

Design and Characterization of SDRAM Controller IP Core with Built In Refined ECC Module

Programmable Memory Blocks Supporting Content-Addressable Memory

International Journal of Computer Sciences and Engineering. Research Paper Volume-6, Issue-2 E-ISSN:

Design and Implementation of Hamming Code on FPGA using Verilog

Design And Implementation Of USART IP Soft Core Based On DMA Mode

Performance Evolution of DDR3 SDRAM Controller for Communication Networks

Note: Closed book no notes or other material allowed, no calculators or other electronic devices.

FPGA Implementation of Discrete Fourier Transform Using CORDIC Algorithm

Introduction read-only memory random access memory

DESIGN OF WISHBONE INTERFACED I2CMASTER CORE CONTROLLER USING VERILOG

Implementation of Interface between AXI and DDR3 memory Controller for SoC

August Issue Page 96 of 107 ISSN

Controller IP for a Low Cost FPGA Based USB Device Core

Topics. Midterm Finish Chapter 7

FPGA Implementation of High Speed AES Algorithm for Improving The System Computing Speed

Lab 6 Using PicoBlaze. Fast Sorting.

On the Design of High Speed Parallel CRC Circuits using DSP Algorithams

Design and Implementation of Memory Controller for Real Time Video Display Using DDR3 SDRAM

Complex test pattern generation for high speed fault diagnosis in Embedded SRAM

Design and Implementation of an AHB SRAM Memory Controller

Design and Implementation of Multi-Rate Encryption Unit Based on Customized AES

Design of High Speed DMA Controller using VHDL

DESIGN AND IMPLEMENTATION OF VLSI SYSTOLIC ARRAY MULTIPLIER FOR DSP APPLICATIONS

Keywords: Fast Fourier Transforms (FFT), Multipath Delay Commutator (MDC), Pipelined Architecture, Radix-2 k, VLSI.

A+3 A+2 A+1 A. The data bus 16-bit mode is shown in the figure below: msb. Figure bit wide data on 16-bit mode data bus

Design with Microprocessors

ISSN Vol.05,Issue.09, September-2017, Pages:

Design & Analysis of 16 bit RISC Processor Using low Power Pipelining

VLSI DESIGN OF REDUCED INSTRUCTION SET COMPUTER PROCESSOR CORE USING VHDL

INTERNATIONAL JOURNAL OF ELECTRONICS AND COMMUNICATION ENGINEERING & TECHNOLOGY (IJECET)

DESIGN AND IMPLEMENTATION OF APPLICATION SPECIFIC 32-BITALU USING XILINX FPGA

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

Design and Implementation of 5 Stages Pipelined Architecture in 32 Bit RISC Processor

Reconfigurable PLL for Digital System

A Low-Power Field Programmable VLSI Based on Autonomous Fine-Grain Power Gating Technique

Readings: Storage unit. Can hold an n-bit value Composed of a group of n flip-flops. Each flip-flop stores 1 bit of information.

FPGA Implementation and Validation of the Asynchronous Array of simple Processors

Introduction to Digital Logic Missouri S&T University CPE 2210 Registers

Computer Memory. Textbook: Chapter 1

AXI Compliant DDR3 Controller

Abstract. 2. Literature Review. Keywords. 1. Introduction. Neeta S. Matti 1, Saroja V. Siddamal 2

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

World Journal of Engineering Research and Technology WJERT

HIGH-PERFORMANCE RECONFIGURABLE FIR FILTER USING PIPELINE TECHNIQUE

Design and Implementation of 3-D DWT for Video Processing Applications

Novel Architecture for Designing Asynchronous First in First out (FIFO)

Light Weight Cellular Automata Computations and Symmetric Key for Achieving Efficient Cryptography

Keyless Car Entry Authentication System Based on A Novel Face-Recognition Structure

8254 is a programmable interval timer. Which is widely used in clock driven digital circuits. with out timer there will not be proper synchronization

Recommended Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto

FPGA BASED RANDOM NUMBER GENERATION ACCESSED THROUGH ARDUINO

Transcription:

International Journal of Engineering Research and Development e-issn: 2278-067X, p-issn: 2278-800X, www.ijerd.com Volume 8, Issue 2 (August 2013), PP.76-81 Design of Dual Port SDRAM Controller with Time Slot Register Surender Reddy Theleru 1, Y B T Sundari 2, Dr. G.Laxmi Narayana 3, 1 Associate Professor, Dept of ECE, Aurora s Scientific & Technological Institute, Hyderabad, India. 2 Assistant Professor, Dept of ECE,Aurora s Scientific & Technological Institute, Hyderabad, India. 3 Director, Aurora s Scientific,Technological and Research Academy, Hyderabad, India. Abstract:- The main purpose of this paper is to verify the SDRAM controller data transfer function when accessing data from multiple ports. This verification is done with memory testers using slot mechanism. Random data sent to SDRAM from two ports, one port at a time. The SDRAM controller reads data from two random generators through different memory testers. SDRAM controller writes data in to SDRAM, and then read data and send to concerned memory tester. Compare the read and write data in Memory testers. A Dual port module is added with SDRAM controller, to switch data accessing from port alternately. Index terms:- Dualport, Slot timing, Switching operation and Comparing Read/write data. I. INTRODUCTION Functional simulation of dual port SDRAM controller mainly consists of 4 modules Random data generator, Memory tester, Dual port and SDRAM controller. A. Random data generator It is a 16-bit serial data generator in which data that is produced changes for every clock; this is achieved by XOR ing the Outputs of last four flip flops and is feedback as the input to the first flip-flop. B. Memory tester Memory testers are used to compared the written data and read data to/from SDRAM. Its working depends upon the pipelined operation or non-pipelined operation. In pipelined operation all the data from the given range of address which is read and written are compared whereas for non-pipelined operation data in given address is compares individually, if there is any mismatch between the read and written data it indicates an error. C. Dual port Module This design is used to select any one of the two ports at a time. The data read follows the same bus as written and activated port is shown as the status. D. SDRAM Controller SDRAM controller accepts simple read and write requests on the host-side and generates the timed waveforms required to perform these operations on the SDRAM. With pipelining enabled, read and write operations within a row of the SDRAM can be dispatched for every clock cycle. The controller also manages the refresh operations needed to keep the SDRAM data valid, and will place the SDRAM in a self-refresh mode so data is retained even if the controller ceases operation. Controller works on the master clock of 133 MHz. The cycles related to initialization cycles, RAS (Row address strobe) cycles, RCD (activation to read/write) cycles, refresh cycles, mode cycles, CAS (column address strobe) cycles are specific for given RAM. The Micron soft module SDRAM (MT48LC16M16A2 4 Meg x 16 x 4 banks) is used here. 76

BLOCK DIAGRAM Fig1. Functional simulation of dualport SDRAMcontroller. II. RANDOMDATA GENERATOR The random data generator generates a random 16 bit data using a shift registers. To go through the sequence of states for the register, it is assumed that the shift register is in the seed state and the random output starts from that seed state and changes for every clock. The maximum number of states it can have with four stages shift register. So this sequence is called the maximum length sequence (MLS) and is given by 2 n -1. Where n is the number of stages in the shift register. Enter a given clock frequency, the periodicity of the randomness increases rapidly with the number of stages of the register increases. The circuit shown in fig2 for generate a 16-bit random data, in this, the output from 12,13,14,15 stages of left shift register is XORed and feed as input to 16 th stage of shift register. Table1. Random generator output values Clock Output Data Clk-1 Seed FFFF 2 FFFE 3 FFFC 4 FFF8 5 FFF0 6 FFE0 7 FFC0 8 FF80 9 FF00 10 FE00 11 FC00 12 F800..... 77

III. DUAL PORT MODULE The dual port module is used to select any one of the two ports, either port0 or port1. Data will be accessed from any of two ports, divide the total memory in to two memory slots. The address and data is directed to port activated at that slot, so that read and write operation will be initiated or started from that port. 16-bit Time-slot allocation register is used to switch between port0, port1. If address register content is 1111111111110000( for 16 bit address),the Port0 will be activated for four clock cyclles, then port1 activates for remaining 12 clock cycles. Different signals of the ports are indicated in the following diagram. Fig3. Dualport signals The possible operations of dual port module Case1: Switching operation Switching is occurs if a read or write operation is requested on this port that is not currently active: No R/W operation is being performed on the active port or A R/W operation is in progress on the active port, but the time-slot allocation register is giving precedence to the inactive port. It indicates when an operation on the active port is in-progress and can't be interrupted by a switch to the other port. Case2: Slot timing Update the time-slot allocation shift-register. The port with priority is indicated by the least-significant bit of the register. The register is rotated right if: The current R/W operation has started. Both ports are requesting R/W operations (indicating contention), and The currently active port matches the port that currently has priority. Under these conditions, the current time slot port allocation has been used so the shift register is rotated right to bring the next port time-slot allocation bit into play. Case3: Port activation in next cycle The active port is switched on There are no pending operations in progress, and The currently active port has finished its current R/W operation The port switch indicator is active. Case4: Port management with gate Gate is open for the active port to initiate new R/W operations to the SDRAM controller. If any port request for R/W operation, when any operations are in progress with other port, gate is closed to prevent R/W operations from requested port. The gate is re-opened once all operations in progress are completed, at that time the switch to other port is indicated, it can issue its R/W commands. IV. MEMORY TESTER This module is required along with Random data generator to test the data that has been read and written. The data that is generated is first given to memory tester through dualport module, it is written into SDRAM using SDRAM controller and dual port module. In order to write/read the data it is required to check whether it is a pipelined or non-pipelined operation. In case of pipelined operation, it writes the data into all the addresses specified at a time and for nonpipelined the data will be written location by location. 78

The entire operation is divided into 5-states as Initialization Load Compare Empty pipe stop Design of Dual Port SDRAM Controller with Time Slot Register Initialization: In this state the read and write are disabled before going to further states and the starting address is loaded into the address variable. Then it goes to next state i.e. load. Load: First it looks for non-pipelined or pipelined operation. For pipelined operation the write operation is enabled and if operation has begun then addr-variable is incremented till the end address is reached and then data is written into SDRAM. Whereas for non-pipelined data is written, address by address which is incremented in steps to reach the end address by checking whether previous write operation is done. Compare: Written data in SDRAM is compare with read data from SDRAM. In case of pipeline operation the comparison takes place at once. In case of non-pipeline operation the comparison will be done location by location. If the data is not as written data, then it is indicated as an error. Empty Pipe: In pipelined operation, if there are no read/write operations, it clears the pipeline. If any operation is pending it waits till it is completed. Stop: At the end of memory testing operation it stops. If the comparison has to repeat starting from initialization then repeat the process. The entire memory testing operation can be represented in a form of a state diagram as Pipeline Operation Fig4. Pipeline operation. Fig5. Non-pipeline operation. 79

V. SIMULATION RESULTS In simulation of dual port SDRAM controller, port 0 and port 1 are reading and writing data separately from different memory testers using slot mechanism. In simulation see the output k is 1 and 0 gives respective ports 1 and 0. 80

VI. CONCLUSION In this design switching of two ports can done manually depend on bits provided in generic 16-bit Timeslot register. Upgrade this paper to multiport, by dividing address locations into multiple slots and accessing these multiple ports using provided value in 16-bit Timeslot register. Here two different modules instead of memory testers to continuously send data and loaded in to SDRAM from two ports. REFERENCES [1] XSA board SDRAM controller, application note by D. Vandan Bout. [2] Datasheet on Synchronous SDRAM on site: www.micron.com/dramds. [3] Data sheet on Samsung CMOS 256 MB SDRAM specification. [4] Using Block RAM in Spartan-3 FPGAs in Xilinx. [5] Fundamentals of Digital Logic With Verilog Design-Stephen brown, Zvonko Vranesic-2002-Tata McGram-Hill Edition. [6] Design through Verilog HDL-T.R. Padmanabhan, B.Bala Tripura Sundari-2004-John Wiley & Sons, Inc. AUTHORS Mr. Surender Reddy Theleru, obtained his B.Tech(Electronics & Communication Engineering) in 2002 from JNTU Hyderabad and M.Tech(Digital Systems & Computer Electronics) from JNTU Anantapur in in 2005. He is working as Assoc.professor in Aurora s scientific and Technological Institute, Ghatkesar, Hyderabad. His main interests in VLSI design and Embedded processors. His current research area is Low power VLSI design and ARM9 cortex in FPGA design. He is a life member of IETE. Laxminarayana.G He holds B.E. from OU Hyderabad, M.Tech from Indian institute of Science and Ph.D from JNTU Hyderabad. Presently he is Director in Aurora s Scientific,Technological and Research Academy, Hyderabad. His research area includes GPS/INS integration and its applications, VLSI design. He received the best teacher award At SNIST. He is a member of IEEE, ISTE and life member of IETE. Y.B.T.Sundari, obtained her B.Tech (ECE) in 2008 from JNTU Hyderabad and M.Tech (VLSI System Design) from JNTU Hyderabad in 2012. She is working as Assistant professor in Electronics and Communication Engineering Department at Aurora s Scientific and Technological Institute, Ghatkesar, Hyderabad. Her current research and interests in VLSI, Embedded systems and Digital image processing. She is a life member of IEEE. 81