SlideShare une entreprise Scribd logo
1  sur  6
Télécharger pour lire hors ligne
IOSR Journal of Electronics and Communication Engineering (IOSR-JECE)
e-ISSN: 2278-2834,p- ISSN: 2278-8735.Volume 10, Issue 2, Ver. III (Mar - Apr.2015), PP 69-74
www.iosrjournals.org
DOI: 10.9790/2834-10236974 www.iosrjournals.org 69 | Page
Implementation of DDR SDRAM Controller using Verilog HDL
Mayuri Sanwatsarkar and Jagdish Nagar
Department of Electronics and Communication
Acropolis Institute of Technology & research, RGPV Bhopal, India
Abstract: Now days, DDR SDRAM (Double Data Rate Synchronous Dynamic Random Access Memory) has
become the most popular class of memory used in computers due to its high speed, burst access and pipeline
feature. For high speed applications like image/video processing, signal processing, networking etc. DDR
SDRAM is widely used. The basic operations of DDR SDRAM controller are similar to that of SDR (Single Data
Rate) SDRAM; however there is a difference in the circuit design; DDR simply use sophisticated circuit
techniques to achieve high speed. To perform more operations per clock cycle DDR SDRAM uses double data
rate architecture. DDR SDRAM (also known as DDR) transfers data on both the rising and falling edge of the
clock. The DDR controller is designed with objective of proper commands for SDRAM initialization, read/write
accesses, regular refresh operation, proper active and precharge command etc. DDR SDRAM controller is
implemented using Verilog HDL and simulation and synthesis is done by using Modelsim and Xilinx ISE
accordingly.
Keywords: DDR, SDRAM, burst access, pipeline, Verilog HDL.
I. Introduction
Electronics is the field in which new developments are taken place every day. The sphere of electronics
has become so vast, it has penetrates into our homes, places of work, in means of communication, in medical
science as well as in defense applications. In homes and offices we use electronic devices like mobile phones,
laptop, landline phone, T.V., desktop computers, microwave oven, washing machines etc. Most of the
electronic devices need memory to store program and/ or data. In case of landline phones we need memory to
store messages in case we are not at home or busy in some other work or in meeting. In case of mobile phones
and laptop or in case of desktop computer we need memory to store data like contact numbers, photos,
reminders, wallpapers, song, movies etc. So all of these devices need memory to store data whatever that can be.
There are several types of memories are available. In some cases access to the memory is supported by
processor’s in-built circuitry, but in some cases we need to design a sophisticated circuit to access the memory
in order to achieve high speed. A microprocessor has several tasks to do at once, to make free the processor
from the task like sending or receiving the data from the memory we need memory controller. The use of a
memory controller provides the benefit of accessing the memory fast as it directly deal with the memory. Only
once the processor sends the instruction to the controller according to that the controller generates the control
signal and addresses to the memory.
In the applications where the processor has to transfer bulk data it may require a lot of time in just
transferring the data from source to destination using program controlled data transfer or interrupt driven data
transfer. The alternate way of transferring the bulk data is the use of direct memory access technique in which
the data transfer takes place under the control of DDR SDRAM controller, after it is initialized by the processor.
A DDR memory controller is designed to achieve the high speed bulk data transfer task much faster than the
processor [7].
RAM: Every computer system needs a memory area in which it can store the data on which it is
working. This memory area is almost invariably made up of Random Access Memory (RAM). Random access
memories can be both read and written. They are called random access because addresses can be read in any
order. A RAM can be written an infinite number of times. The microprocessors can read data from the RAM
quickly, faster than the ROM. The RAM forgets its data if the power is turned OFF. Hence the RAM is called
the volatile memory.
Usually RAMs are made up of cells consisting of MOSFETs. There is one cell each for a bit in the
memory. Memory is made up of bits arranged in a two dimensional grid. In which memory cells are etched onto
a silicon wafer in an array of columns (bit lines) and row (word lines). The intersection of a bit line and word
line constitutes the address of the memory cell [2].
Two forms of RAM are Static RAM (SRAM) and Dynamic RAM (DRAM). A battery backed RAM is
called Non Volatile RAM (NVRAM).
Static RAM: The Static RAM uses a flip flop to store a bit of binary information or data. The static
means that once a processor cycle writes a bit in a cell, it remains unchanged until it is modified in the processor
cycle or until the power switches off. There are four to six transistors per cell in a SRAM. An advantage of
Implementation of DDR SDRAM Controller using Verilog HDL
DOI: 10.9790/2834-10236974 www.iosrjournals.org 70 | Page
SRAM is that a write to it is static as long as the power is on and it does not require any refreshing circuit since
it does not uses a capacitor in each cell. So static RAM is fast but is expensive.
Dynamic RAM: Most bulk memory in modern systems is Dynamic RAM (DRAM). A DRAM uses
tiny capacitor to store a bit of binary information. DRAM is very dense, but it requires that its values be
refreshed periodically since the values inside the memory cells decay over time. An advantage of DRAM is that
it stores a bit in less space than SRAM and is inexpensive. However it is slow since its memory locations need
to be refreshed at regular intervals.
Synchronous DRAM: The most dominant form of DRAM today, which uses clocks to improve the
performance of DRAM, is Synchronous DRAM (SDRAM). Each cell is organized in rows and columns.
SDRAM is arranged in banks of memory addressed by the row and column. The number of row and column
address bits and number of bank defines the size of memory. SDRAM uses Row Address Select (RAS) and
Column Address Select (CAS) signals to break the address into two parts, which selects the proper row and
column in RAM array. Signal transitions are relative to the SDRAM clock that allows the internal operations of
SDRAM to be pipelined. SDRAM uses a separate refresh control circuit to perform auto refresh operation.
SDRAM has to be refreshed roughly once per millisecond. SDRAMs refresh part of the memory at a time
instead of refreshing the entire memory at once. When a part of memory is being refreshed, it cannot be
accessed until the refresh operation is completed. The memory refresh occurs over fairly few seconds so that
each section is refreshed every few microseconds [6].
SDRAM also contains register that defines or control the mode in which SDRAM operates. SDRAM
supports the burst length of 2, 4, and 8 that allows several sequential addresses to be accessed by sending only
one address. Memories for PCs can be purchased either as Single In-line Memory Modules (SIMMs) or Double
In-line Memory Modules (DIMMs). A SIMM or DIMM is a small circuit that fits into a standard memory
socket. A DIMMS has two leads compared to the SIMM’s one. Memory chips are soldered to the circuit board
to supply the desired memory [6]. SDRAM come in DIMMS.
On the basis of data transfer rate the SDRAM can be classified into two categories: one is Single Data
Rate (SDR) and other is Double Data Rate (DDR) SDRAM. The SDR SDRAM transfers data only on the rising
edge of the clock whereas DDR SDRAM transfers data on both the rising as well as on the falling edge of the
clock due to which the data transfer rate gets double. Now a day, even faster version of DDR SDRAMs i.e.,
DDR2 and DDR3 are also available for use in system designing.
However most of the operations of SDR SDRAM and DDR SDRAM controller are same, but in case
of DDR SDRAM controller we need to modify some features since it uses double data rate architecture. The
DDR controller uses the commands such as NOP, REFRESH, READA, WRITEA, PRECHARGE, and
Load_MODE command to control the operation of SDRAM.
II. Design of DDR SDRAM controller:
The basic functional block diagram of DDR SDRAM controller shown in fig.1 [3] consists of three modules:
i. The control interface module
ii. Command module or signal generation module and
iii. The data path module
1. Control interface module: The control interface module; is the primary module; consists of a finite
state machine shown in fig.2 and a programmable 16 bit counter to perform auto refresh operation. The control
interface module accepts commands from the processor, decodes them and sends the decoded REFRESH, NOP,
READA, WRITEA, PRECHARGE, and Load_MODE command to command module. The DDR SDRAM uses
a separate clock: CLK and CLK` (the crossing of CLK going high and CLK` going low is considered as the
positive edge of the clock). The commands are registered only on the positive edge of the clock. READ and
WRITE are the basic commands used to access the SDRAM. The DDR SDRAM supports the burst length of 2,
4, or 8 locations for programmable READ/WRITE operation. An access to the SDRAM starts at any assigned
location and continues until the burst length is reached. The READ and WRITE operation start by sending the
ACTIVATE command.
Implementation of DDR SDRAM Controller using Verilog HDL
DOI: 10.9790/2834-10236974 www.iosrjournals.org 71 | Page
Fig.1 Block diagram of DDR SDRAM Controller
The controller consists of a finite state machine shown in fig.2 [5]. The initial state of the controller is
ideal state. In the next state controller can be in either PRECHARGE, REFRESH, LOAD_MODE, or
ACTIVATE state depend on the request from the processor. The dotted lines in the fig.2 show an automatic
sequence. The READ and WRITE operation is followed by the ACT command. The active command is used to
open a row in a particular bank and PRECHARGE command is used to close an open bank if the open bank is
other than that we want to access. When a WRITE command is detected, the controller will first go to the ACT
state and then to the WRITE state. The WRITE operation will continue until the burstlength is reached or the
burst terminate is inserted[x]. During the READ operation, the initial address is registered. During the READ
operation the data will arrive 1-3 clock cycles later on the data bus and this delay is due the time required to read
the internal DRAM. This time delay is known as CAS latency. On completion of the burst READ and WRITE
operation the controller will go back to the IDLE state.
Fig.2 Finite state machine diagram
2. Command module: The command module consists of an arbiter, multiplexer and three shift registers.
An arbiter is used in case if multiple requests are arriving from different- different devices. If a high- priority
Implementation of DDR SDRAM Controller using Verilog HDL
DOI: 10.9790/2834-10236974 www.iosrjournals.org 72 | Page
and low- priority device both need to transmit data at the same time then the priority is given to high priority
device. The low priority device will not be able to transmit data until the high priority device has sent all its
data. In this work high priority is given to the REFRESH control operation. If the REFRESH operation is going
on and the command from the host arrive then the controller will first continue the refresh operation and hold
the command requests by not asserting the command acknowledge (CMDACK). Once the refresh operation is
finished the command module will start performing the requested commands from the host. The shift registers
are used to maintain the timing between the commands issued to the SDRAM. In addition to this the command
module contains a multiplexer which is used to multiplex the address. The row address is multiplexed to
SDRAM during the ACTIVATE (RAS) command. The column portion is multiplexed to SDRAM address
outputs during a READ (WRITE) command [3].
3. Data path module: The data path module acts as an interface between the processor and the SDRAM.
The data module only performs latching and dispatching of the data between the processor/host and the
SDRAM. The data path module contains a tristate buffer which is controlled by the OE signal generated by the
command module. The data to be written is received on the DATAIN pin during the WRITE operation and
during the READA operation data is provided on the DATAOUT pin.
III. Simulation and Synthesis Result
The design is simulated and synthesized on Modelsim 6.5b and Xilinx ISE 9.2i accordingly. The
simulation and synthesis results are shown in the following fig.
Simulation result:
Implementation of DDR SDRAM Controller using Verilog HDL
DOI: 10.9790/2834-10236974 www.iosrjournals.org 73 | Page
Synthesis report:
RTL Schematic:
IV. Conclusion
DDR SDRAM controller has been implemented using Verilog HDL. High, speed, pipeline and burst
access features makes it most popular form of memory used in system designing. Use of DDR SDRAM has two
advantages that it reduces the system cost and increases the data transfer throughput. The synchronous interface
provides the operation to be pipelined and arranged in queue as they requests. This DDR SDRAM controller is
used in embedded system in which high speed is of great concern
Implementation of DDR SDRAM Controller using Verilog HDL
DOI: 10.9790/2834-10236974 www.iosrjournals.org 74 | Page
References
[1]. Sonali, AshokKumar Patel, SantoshKrishna M., Design of DDR SDRAM controller for embedded system, Journal of Information,
Knowledge and Research in Electronics and Communication Engineering, Nov 12 to oct13, volume-02, Issue-02.
[2]. Deepali Sharma, Shruti Bhargava, Mahendra Vucha, Design and VLSI Implementation of DDR SDRAM Controller for high speed
applications, International Journal of computer Science and Information Technologies, Vol.2 (4), 2011.
[3]. ALTERA, DDR SDRAM Controller White Paper, Ver1.1, 2002, 8.
[4]. www.xilinx.com
[5]. http://www.latticesemi.com/products/intellectualproperty/referencedesign/ddrsdramcontroller.cfm.
[6]. Wayne Wolf, Computer as Components, Principles of Embedded Computing System Design.
[7]. A K Ray, K M Bhurchandi, Advanced Microprocessors and Peripherals, Architecture, Programming and Interfacing.

Contenu connexe

Tendances

Tendances (20)

SRAM
SRAMSRAM
SRAM
 
DDR DIMM Design
DDR DIMM DesignDDR DIMM Design
DDR DIMM Design
 
Csc1401 lecture06 - internal memory
Csc1401   lecture06 - internal memoryCsc1401   lecture06 - internal memory
Csc1401 lecture06 - internal memory
 
Ram and its types
Ram and its typesRam and its types
Ram and its types
 
Static and Dynamic Read/Write memories
Static and Dynamic Read/Write memoriesStatic and Dynamic Read/Write memories
Static and Dynamic Read/Write memories
 
DDR SDRAMs
DDR SDRAMsDDR SDRAMs
DDR SDRAMs
 
Ram presentation
Ram presentationRam presentation
Ram presentation
 
Internal memory
Internal memoryInternal memory
Internal memory
 
Direct memory access
Direct memory accessDirect memory access
Direct memory access
 
Dram and its types
Dram and its typesDram and its types
Dram and its types
 
DDR3 SDRAM : Notes
DDR3 SDRAM : NotesDDR3 SDRAM : Notes
DDR3 SDRAM : Notes
 
Design, Validation and Correlation of Characterized SODIMM Modules Supporting...
Design, Validation and Correlation of Characterized SODIMM Modules Supporting...Design, Validation and Correlation of Characterized SODIMM Modules Supporting...
Design, Validation and Correlation of Characterized SODIMM Modules Supporting...
 
Memory technologies
Memory technologiesMemory technologies
Memory technologies
 
12 it2003
12 it200312 it2003
12 it2003
 
Dma
DmaDma
Dma
 
Random Access Memory
Random Access Memory Random Access Memory
Random Access Memory
 
Ch05 coa9e
Ch05 coa9eCh05 coa9e
Ch05 coa9e
 
Memory Organization
Memory OrganizationMemory Organization
Memory Organization
 
Types of RAM
Types of RAMTypes of RAM
Types of RAM
 
Internal storage of a computer system
Internal storage of a computer systemInternal storage of a computer system
Internal storage of a computer system
 

En vedette

Optimization Technologies for Low-Bandwidth Networks
Optimization Technologies for Low-Bandwidth NetworksOptimization Technologies for Low-Bandwidth Networks
Optimization Technologies for Low-Bandwidth NetworksIOSR Journals
 
Magnetic Properties and Interactions of Nanostructured CoCrTa Thin Films
Magnetic Properties and Interactions of Nanostructured CoCrTa Thin FilmsMagnetic Properties and Interactions of Nanostructured CoCrTa Thin Films
Magnetic Properties and Interactions of Nanostructured CoCrTa Thin FilmsIOSR Journals
 
Batch Thermodynamics and Kinetic Study for Removal of Cationic Dye from Aqueo...
Batch Thermodynamics and Kinetic Study for Removal of Cationic Dye from Aqueo...Batch Thermodynamics and Kinetic Study for Removal of Cationic Dye from Aqueo...
Batch Thermodynamics and Kinetic Study for Removal of Cationic Dye from Aqueo...IOSR Journals
 
Potential Biodeteriogens of Indoor and Outdoor Surfaces (Coated With Gloss, E...
Potential Biodeteriogens of Indoor and Outdoor Surfaces (Coated With Gloss, E...Potential Biodeteriogens of Indoor and Outdoor Surfaces (Coated With Gloss, E...
Potential Biodeteriogens of Indoor and Outdoor Surfaces (Coated With Gloss, E...IOSR Journals
 
On The Use of Transportation Techniques to Determine the Cost of Transporting...
On The Use of Transportation Techniques to Determine the Cost of Transporting...On The Use of Transportation Techniques to Determine the Cost of Transporting...
On The Use of Transportation Techniques to Determine the Cost of Transporting...IOSR Journals
 
Neural Network For The Estimation Of Ammonia Concentration In Breath Of Kidne...
Neural Network For The Estimation Of Ammonia Concentration In Breath Of Kidne...Neural Network For The Estimation Of Ammonia Concentration In Breath Of Kidne...
Neural Network For The Estimation Of Ammonia Concentration In Breath Of Kidne...IOSR Journals
 
In-vivo anthelmintic evaluation of a processed herbal drug from Entada leptos...
In-vivo anthelmintic evaluation of a processed herbal drug from Entada leptos...In-vivo anthelmintic evaluation of a processed herbal drug from Entada leptos...
In-vivo anthelmintic evaluation of a processed herbal drug from Entada leptos...IOSR Journals
 
Effect of Fly Ash Particles on the Mechanical Properties of Zn-22%Al Alloy vi...
Effect of Fly Ash Particles on the Mechanical Properties of Zn-22%Al Alloy vi...Effect of Fly Ash Particles on the Mechanical Properties of Zn-22%Al Alloy vi...
Effect of Fly Ash Particles on the Mechanical Properties of Zn-22%Al Alloy vi...IOSR Journals
 

En vedette (20)

C017341216
C017341216C017341216
C017341216
 
Optimization Technologies for Low-Bandwidth Networks
Optimization Technologies for Low-Bandwidth NetworksOptimization Technologies for Low-Bandwidth Networks
Optimization Technologies for Low-Bandwidth Networks
 
Magnetic Properties and Interactions of Nanostructured CoCrTa Thin Films
Magnetic Properties and Interactions of Nanostructured CoCrTa Thin FilmsMagnetic Properties and Interactions of Nanostructured CoCrTa Thin Films
Magnetic Properties and Interactions of Nanostructured CoCrTa Thin Films
 
Batch Thermodynamics and Kinetic Study for Removal of Cationic Dye from Aqueo...
Batch Thermodynamics and Kinetic Study for Removal of Cationic Dye from Aqueo...Batch Thermodynamics and Kinetic Study for Removal of Cationic Dye from Aqueo...
Batch Thermodynamics and Kinetic Study for Removal of Cationic Dye from Aqueo...
 
Potential Biodeteriogens of Indoor and Outdoor Surfaces (Coated With Gloss, E...
Potential Biodeteriogens of Indoor and Outdoor Surfaces (Coated With Gloss, E...Potential Biodeteriogens of Indoor and Outdoor Surfaces (Coated With Gloss, E...
Potential Biodeteriogens of Indoor and Outdoor Surfaces (Coated With Gloss, E...
 
On The Use of Transportation Techniques to Determine the Cost of Transporting...
On The Use of Transportation Techniques to Determine the Cost of Transporting...On The Use of Transportation Techniques to Determine the Cost of Transporting...
On The Use of Transportation Techniques to Determine the Cost of Transporting...
 
B01230407
B01230407B01230407
B01230407
 
Neural Network For The Estimation Of Ammonia Concentration In Breath Of Kidne...
Neural Network For The Estimation Of Ammonia Concentration In Breath Of Kidne...Neural Network For The Estimation Of Ammonia Concentration In Breath Of Kidne...
Neural Network For The Estimation Of Ammonia Concentration In Breath Of Kidne...
 
C1802031219
C1802031219C1802031219
C1802031219
 
H012314047
H012314047H012314047
H012314047
 
D017632228
D017632228D017632228
D017632228
 
In-vivo anthelmintic evaluation of a processed herbal drug from Entada leptos...
In-vivo anthelmintic evaluation of a processed herbal drug from Entada leptos...In-vivo anthelmintic evaluation of a processed herbal drug from Entada leptos...
In-vivo anthelmintic evaluation of a processed herbal drug from Entada leptos...
 
G010425257
G010425257G010425257
G010425257
 
C1802041824
C1802041824C1802041824
C1802041824
 
I018145157
I018145157I018145157
I018145157
 
I017325055
I017325055I017325055
I017325055
 
Effect of Fly Ash Particles on the Mechanical Properties of Zn-22%Al Alloy vi...
Effect of Fly Ash Particles on the Mechanical Properties of Zn-22%Al Alloy vi...Effect of Fly Ash Particles on the Mechanical Properties of Zn-22%Al Alloy vi...
Effect of Fly Ash Particles on the Mechanical Properties of Zn-22%Al Alloy vi...
 
Q0104398104
Q0104398104Q0104398104
Q0104398104
 
J017345864
J017345864J017345864
J017345864
 
I017665774
I017665774I017665774
I017665774
 

Similaire à L010236974

301378156 design-of-sram-in-verilog
301378156 design-of-sram-in-verilog301378156 design-of-sram-in-verilog
301378156 design-of-sram-in-verilogSrinivas Naidu
 
MICROPROCESSOR,BASICS AND MEMORY CONCEPT
MICROPROCESSOR,BASICS AND MEMORY CONCEPTMICROPROCESSOR,BASICS AND MEMORY CONCEPT
MICROPROCESSOR,BASICS AND MEMORY CONCEPTLakshya Sharma
 
COMPUTER ORGANIZATION NOTES Unit 5
COMPUTER ORGANIZATION NOTES Unit 5COMPUTER ORGANIZATION NOTES Unit 5
COMPUTER ORGANIZATION NOTES Unit 5Dr.MAYA NAYAK
 
Random Access Memory ( RAM)
Random Access Memory ( RAM)Random Access Memory ( RAM)
Random Access Memory ( RAM)SH Rajøn
 
Term paper
Term paperTerm paper
Term paperBilal201
 
ARM architcture
ARM architcture ARM architcture
ARM architcture Hossam Adel
 
Modeling of DDR4 Memory and Advanced Verifications of DDR4 Memory Subsystem
Modeling of DDR4 Memory and Advanced Verifications of DDR4 Memory SubsystemModeling of DDR4 Memory and Advanced Verifications of DDR4 Memory Subsystem
Modeling of DDR4 Memory and Advanced Verifications of DDR4 Memory SubsystemIRJET Journal
 
Introduction of ram ddr3
Introduction of ram ddr3Introduction of ram ddr3
Introduction of ram ddr3Technocratz
 
Introduction of ram ddr3
Introduction of ram ddr3Introduction of ram ddr3
Introduction of ram ddr3Jatin Goyal
 
Ram and types of ram.Cache
Ram and types of ram.CacheRam and types of ram.Cache
Ram and types of ram.Cachehamza mukhtiar
 
Basics Of Semiconductor Memories
Basics Of Semiconductor MemoriesBasics Of Semiconductor Memories
Basics Of Semiconductor MemoriesRahul Bandhe
 
unit4 and unit5.pptx
unit4 and unit5.pptxunit4 and unit5.pptx
unit4 and unit5.pptxbobbyk11
 

Similaire à L010236974 (20)

Dd sdram
Dd sdramDd sdram
Dd sdram
 
Adaptive bank management[1]
Adaptive bank management[1]Adaptive bank management[1]
Adaptive bank management[1]
 
301378156 design-of-sram-in-verilog
301378156 design-of-sram-in-verilog301378156 design-of-sram-in-verilog
301378156 design-of-sram-in-verilog
 
MICROPROCESSOR,BASICS AND MEMORY CONCEPT
MICROPROCESSOR,BASICS AND MEMORY CONCEPTMICROPROCESSOR,BASICS AND MEMORY CONCEPT
MICROPROCESSOR,BASICS AND MEMORY CONCEPT
 
Memory.pptx
Memory.pptxMemory.pptx
Memory.pptx
 
COMPUTER ORGANIZATION NOTES Unit 5
COMPUTER ORGANIZATION NOTES Unit 5COMPUTER ORGANIZATION NOTES Unit 5
COMPUTER ORGANIZATION NOTES Unit 5
 
Memory
MemoryMemory
Memory
 
Random Access Memory ( RAM)
Random Access Memory ( RAM)Random Access Memory ( RAM)
Random Access Memory ( RAM)
 
Term paper
Term paperTerm paper
Term paper
 
css lesson 1.pptx
css lesson 1.pptxcss lesson 1.pptx
css lesson 1.pptx
 
Memorydevices 110602031611-phpapp02
Memorydevices 110602031611-phpapp02Memorydevices 110602031611-phpapp02
Memorydevices 110602031611-phpapp02
 
ARM architcture
ARM architcture ARM architcture
ARM architcture
 
Modeling of DDR4 Memory and Advanced Verifications of DDR4 Memory Subsystem
Modeling of DDR4 Memory and Advanced Verifications of DDR4 Memory SubsystemModeling of DDR4 Memory and Advanced Verifications of DDR4 Memory Subsystem
Modeling of DDR4 Memory and Advanced Verifications of DDR4 Memory Subsystem
 
Introduction of ram ddr3
Introduction of ram ddr3Introduction of ram ddr3
Introduction of ram ddr3
 
Introduction of ram ddr3
Introduction of ram ddr3Introduction of ram ddr3
Introduction of ram ddr3
 
Ram and types of ram.Cache
Ram and types of ram.CacheRam and types of ram.Cache
Ram and types of ram.Cache
 
Basics Of Semiconductor Memories
Basics Of Semiconductor MemoriesBasics Of Semiconductor Memories
Basics Of Semiconductor Memories
 
06 - Memory.ppt
06 - Memory.ppt06 - Memory.ppt
06 - Memory.ppt
 
unit4 and unit5.pptx
unit4 and unit5.pptxunit4 and unit5.pptx
unit4 and unit5.pptx
 
Concept of dma
Concept of dmaConcept of dma
Concept of dma
 

Plus de IOSR Journals (20)

A011140104
A011140104A011140104
A011140104
 
M0111397100
M0111397100M0111397100
M0111397100
 
L011138596
L011138596L011138596
L011138596
 
K011138084
K011138084K011138084
K011138084
 
J011137479
J011137479J011137479
J011137479
 
I011136673
I011136673I011136673
I011136673
 
G011134454
G011134454G011134454
G011134454
 
H011135565
H011135565H011135565
H011135565
 
F011134043
F011134043F011134043
F011134043
 
E011133639
E011133639E011133639
E011133639
 
D011132635
D011132635D011132635
D011132635
 
C011131925
C011131925C011131925
C011131925
 
B011130918
B011130918B011130918
B011130918
 
A011130108
A011130108A011130108
A011130108
 
I011125160
I011125160I011125160
I011125160
 
H011124050
H011124050H011124050
H011124050
 
G011123539
G011123539G011123539
G011123539
 
F011123134
F011123134F011123134
F011123134
 
E011122530
E011122530E011122530
E011122530
 
D011121524
D011121524D011121524
D011121524
 

Dernier

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 

Dernier (20)

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 

L010236974

  • 1. IOSR Journal of Electronics and Communication Engineering (IOSR-JECE) e-ISSN: 2278-2834,p- ISSN: 2278-8735.Volume 10, Issue 2, Ver. III (Mar - Apr.2015), PP 69-74 www.iosrjournals.org DOI: 10.9790/2834-10236974 www.iosrjournals.org 69 | Page Implementation of DDR SDRAM Controller using Verilog HDL Mayuri Sanwatsarkar and Jagdish Nagar Department of Electronics and Communication Acropolis Institute of Technology & research, RGPV Bhopal, India Abstract: Now days, DDR SDRAM (Double Data Rate Synchronous Dynamic Random Access Memory) has become the most popular class of memory used in computers due to its high speed, burst access and pipeline feature. For high speed applications like image/video processing, signal processing, networking etc. DDR SDRAM is widely used. The basic operations of DDR SDRAM controller are similar to that of SDR (Single Data Rate) SDRAM; however there is a difference in the circuit design; DDR simply use sophisticated circuit techniques to achieve high speed. To perform more operations per clock cycle DDR SDRAM uses double data rate architecture. DDR SDRAM (also known as DDR) transfers data on both the rising and falling edge of the clock. The DDR controller is designed with objective of proper commands for SDRAM initialization, read/write accesses, regular refresh operation, proper active and precharge command etc. DDR SDRAM controller is implemented using Verilog HDL and simulation and synthesis is done by using Modelsim and Xilinx ISE accordingly. Keywords: DDR, SDRAM, burst access, pipeline, Verilog HDL. I. Introduction Electronics is the field in which new developments are taken place every day. The sphere of electronics has become so vast, it has penetrates into our homes, places of work, in means of communication, in medical science as well as in defense applications. In homes and offices we use electronic devices like mobile phones, laptop, landline phone, T.V., desktop computers, microwave oven, washing machines etc. Most of the electronic devices need memory to store program and/ or data. In case of landline phones we need memory to store messages in case we are not at home or busy in some other work or in meeting. In case of mobile phones and laptop or in case of desktop computer we need memory to store data like contact numbers, photos, reminders, wallpapers, song, movies etc. So all of these devices need memory to store data whatever that can be. There are several types of memories are available. In some cases access to the memory is supported by processor’s in-built circuitry, but in some cases we need to design a sophisticated circuit to access the memory in order to achieve high speed. A microprocessor has several tasks to do at once, to make free the processor from the task like sending or receiving the data from the memory we need memory controller. The use of a memory controller provides the benefit of accessing the memory fast as it directly deal with the memory. Only once the processor sends the instruction to the controller according to that the controller generates the control signal and addresses to the memory. In the applications where the processor has to transfer bulk data it may require a lot of time in just transferring the data from source to destination using program controlled data transfer or interrupt driven data transfer. The alternate way of transferring the bulk data is the use of direct memory access technique in which the data transfer takes place under the control of DDR SDRAM controller, after it is initialized by the processor. A DDR memory controller is designed to achieve the high speed bulk data transfer task much faster than the processor [7]. RAM: Every computer system needs a memory area in which it can store the data on which it is working. This memory area is almost invariably made up of Random Access Memory (RAM). Random access memories can be both read and written. They are called random access because addresses can be read in any order. A RAM can be written an infinite number of times. The microprocessors can read data from the RAM quickly, faster than the ROM. The RAM forgets its data if the power is turned OFF. Hence the RAM is called the volatile memory. Usually RAMs are made up of cells consisting of MOSFETs. There is one cell each for a bit in the memory. Memory is made up of bits arranged in a two dimensional grid. In which memory cells are etched onto a silicon wafer in an array of columns (bit lines) and row (word lines). The intersection of a bit line and word line constitutes the address of the memory cell [2]. Two forms of RAM are Static RAM (SRAM) and Dynamic RAM (DRAM). A battery backed RAM is called Non Volatile RAM (NVRAM). Static RAM: The Static RAM uses a flip flop to store a bit of binary information or data. The static means that once a processor cycle writes a bit in a cell, it remains unchanged until it is modified in the processor cycle or until the power switches off. There are four to six transistors per cell in a SRAM. An advantage of
  • 2. Implementation of DDR SDRAM Controller using Verilog HDL DOI: 10.9790/2834-10236974 www.iosrjournals.org 70 | Page SRAM is that a write to it is static as long as the power is on and it does not require any refreshing circuit since it does not uses a capacitor in each cell. So static RAM is fast but is expensive. Dynamic RAM: Most bulk memory in modern systems is Dynamic RAM (DRAM). A DRAM uses tiny capacitor to store a bit of binary information. DRAM is very dense, but it requires that its values be refreshed periodically since the values inside the memory cells decay over time. An advantage of DRAM is that it stores a bit in less space than SRAM and is inexpensive. However it is slow since its memory locations need to be refreshed at regular intervals. Synchronous DRAM: The most dominant form of DRAM today, which uses clocks to improve the performance of DRAM, is Synchronous DRAM (SDRAM). Each cell is organized in rows and columns. SDRAM is arranged in banks of memory addressed by the row and column. The number of row and column address bits and number of bank defines the size of memory. SDRAM uses Row Address Select (RAS) and Column Address Select (CAS) signals to break the address into two parts, which selects the proper row and column in RAM array. Signal transitions are relative to the SDRAM clock that allows the internal operations of SDRAM to be pipelined. SDRAM uses a separate refresh control circuit to perform auto refresh operation. SDRAM has to be refreshed roughly once per millisecond. SDRAMs refresh part of the memory at a time instead of refreshing the entire memory at once. When a part of memory is being refreshed, it cannot be accessed until the refresh operation is completed. The memory refresh occurs over fairly few seconds so that each section is refreshed every few microseconds [6]. SDRAM also contains register that defines or control the mode in which SDRAM operates. SDRAM supports the burst length of 2, 4, and 8 that allows several sequential addresses to be accessed by sending only one address. Memories for PCs can be purchased either as Single In-line Memory Modules (SIMMs) or Double In-line Memory Modules (DIMMs). A SIMM or DIMM is a small circuit that fits into a standard memory socket. A DIMMS has two leads compared to the SIMM’s one. Memory chips are soldered to the circuit board to supply the desired memory [6]. SDRAM come in DIMMS. On the basis of data transfer rate the SDRAM can be classified into two categories: one is Single Data Rate (SDR) and other is Double Data Rate (DDR) SDRAM. The SDR SDRAM transfers data only on the rising edge of the clock whereas DDR SDRAM transfers data on both the rising as well as on the falling edge of the clock due to which the data transfer rate gets double. Now a day, even faster version of DDR SDRAMs i.e., DDR2 and DDR3 are also available for use in system designing. However most of the operations of SDR SDRAM and DDR SDRAM controller are same, but in case of DDR SDRAM controller we need to modify some features since it uses double data rate architecture. The DDR controller uses the commands such as NOP, REFRESH, READA, WRITEA, PRECHARGE, and Load_MODE command to control the operation of SDRAM. II. Design of DDR SDRAM controller: The basic functional block diagram of DDR SDRAM controller shown in fig.1 [3] consists of three modules: i. The control interface module ii. Command module or signal generation module and iii. The data path module 1. Control interface module: The control interface module; is the primary module; consists of a finite state machine shown in fig.2 and a programmable 16 bit counter to perform auto refresh operation. The control interface module accepts commands from the processor, decodes them and sends the decoded REFRESH, NOP, READA, WRITEA, PRECHARGE, and Load_MODE command to command module. The DDR SDRAM uses a separate clock: CLK and CLK` (the crossing of CLK going high and CLK` going low is considered as the positive edge of the clock). The commands are registered only on the positive edge of the clock. READ and WRITE are the basic commands used to access the SDRAM. The DDR SDRAM supports the burst length of 2, 4, or 8 locations for programmable READ/WRITE operation. An access to the SDRAM starts at any assigned location and continues until the burst length is reached. The READ and WRITE operation start by sending the ACTIVATE command.
  • 3. Implementation of DDR SDRAM Controller using Verilog HDL DOI: 10.9790/2834-10236974 www.iosrjournals.org 71 | Page Fig.1 Block diagram of DDR SDRAM Controller The controller consists of a finite state machine shown in fig.2 [5]. The initial state of the controller is ideal state. In the next state controller can be in either PRECHARGE, REFRESH, LOAD_MODE, or ACTIVATE state depend on the request from the processor. The dotted lines in the fig.2 show an automatic sequence. The READ and WRITE operation is followed by the ACT command. The active command is used to open a row in a particular bank and PRECHARGE command is used to close an open bank if the open bank is other than that we want to access. When a WRITE command is detected, the controller will first go to the ACT state and then to the WRITE state. The WRITE operation will continue until the burstlength is reached or the burst terminate is inserted[x]. During the READ operation, the initial address is registered. During the READ operation the data will arrive 1-3 clock cycles later on the data bus and this delay is due the time required to read the internal DRAM. This time delay is known as CAS latency. On completion of the burst READ and WRITE operation the controller will go back to the IDLE state. Fig.2 Finite state machine diagram 2. Command module: The command module consists of an arbiter, multiplexer and three shift registers. An arbiter is used in case if multiple requests are arriving from different- different devices. If a high- priority
  • 4. Implementation of DDR SDRAM Controller using Verilog HDL DOI: 10.9790/2834-10236974 www.iosrjournals.org 72 | Page and low- priority device both need to transmit data at the same time then the priority is given to high priority device. The low priority device will not be able to transmit data until the high priority device has sent all its data. In this work high priority is given to the REFRESH control operation. If the REFRESH operation is going on and the command from the host arrive then the controller will first continue the refresh operation and hold the command requests by not asserting the command acknowledge (CMDACK). Once the refresh operation is finished the command module will start performing the requested commands from the host. The shift registers are used to maintain the timing between the commands issued to the SDRAM. In addition to this the command module contains a multiplexer which is used to multiplex the address. The row address is multiplexed to SDRAM during the ACTIVATE (RAS) command. The column portion is multiplexed to SDRAM address outputs during a READ (WRITE) command [3]. 3. Data path module: The data path module acts as an interface between the processor and the SDRAM. The data module only performs latching and dispatching of the data between the processor/host and the SDRAM. The data path module contains a tristate buffer which is controlled by the OE signal generated by the command module. The data to be written is received on the DATAIN pin during the WRITE operation and during the READA operation data is provided on the DATAOUT pin. III. Simulation and Synthesis Result The design is simulated and synthesized on Modelsim 6.5b and Xilinx ISE 9.2i accordingly. The simulation and synthesis results are shown in the following fig. Simulation result:
  • 5. Implementation of DDR SDRAM Controller using Verilog HDL DOI: 10.9790/2834-10236974 www.iosrjournals.org 73 | Page Synthesis report: RTL Schematic: IV. Conclusion DDR SDRAM controller has been implemented using Verilog HDL. High, speed, pipeline and burst access features makes it most popular form of memory used in system designing. Use of DDR SDRAM has two advantages that it reduces the system cost and increases the data transfer throughput. The synchronous interface provides the operation to be pipelined and arranged in queue as they requests. This DDR SDRAM controller is used in embedded system in which high speed is of great concern
  • 6. Implementation of DDR SDRAM Controller using Verilog HDL DOI: 10.9790/2834-10236974 www.iosrjournals.org 74 | Page References [1]. Sonali, AshokKumar Patel, SantoshKrishna M., Design of DDR SDRAM controller for embedded system, Journal of Information, Knowledge and Research in Electronics and Communication Engineering, Nov 12 to oct13, volume-02, Issue-02. [2]. Deepali Sharma, Shruti Bhargava, Mahendra Vucha, Design and VLSI Implementation of DDR SDRAM Controller for high speed applications, International Journal of computer Science and Information Technologies, Vol.2 (4), 2011. [3]. ALTERA, DDR SDRAM Controller White Paper, Ver1.1, 2002, 8. [4]. www.xilinx.com [5]. http://www.latticesemi.com/products/intellectualproperty/referencedesign/ddrsdramcontroller.cfm. [6]. Wayne Wolf, Computer as Components, Principles of Embedded Computing System Design. [7]. A K Ray, K M Bhurchandi, Advanced Microprocessors and Peripherals, Architecture, Programming and Interfacing.