Design and Verification of SDRAM Controller Based
Design and Verification of SDRAM Controller Based
https://www.scirp.org/journal/jcc
ISSN Online: 2327-5227
ISSN Print: 2327-5219
Keywords
SDRAM Controller, Verilog HDL, DE1-SoC
1. Introduction
SDRAM is a memory chip to use widely for embedded real-time systems and
high-speed data transmission [1] [2].
In the development of computer systems, in order to give full play to the pro-
cessor's ability to process data at high speed and improve the efficiency of the
entire computer system, it is necessary to use cache technology to store input
and output data, intermediate calculation results and temporary data exchanged
with external memory Final Results. Most CPUs integrate a cache internally as a
matching buffer between the processor and main memory. Cache generally uses
SRAM, but although SRAM is high speed, but its capacity is small, so to com-
plete a large amount of data cache generally uses DRAM as the main memory.
The core of modern computer technology is an integrated circuit with transis-
tors as the basic unit. For a long time, in the process manufacturing of comput-
ers, processors and main memories were manufactured using different produc-
tion technology lines, so that they can meet the design to the maximum Demand
[3].
The processor process line is manufactured on the basis of logic technology,
using high-speed transistors and multilayer metals to achieve high system per-
formance and operating frequency; and the main memory production line is
manufactured on the basis of DRAM technology, using units as much as possible
Small area capacitors, low leakage current transistors and multilayer polysilicon
interconnects to achieve large capacity, low cost and low refresh intervals. With
the gradual progress of integrated circuit technology, the average annual growth
rate of processor performance from 1986 to 2004 is about 52%, and the average
annual growth rate after 2004 is about 20% [4], but the average of main memory.
The growth rate is only about 7% per year [5] [6], the performance difference
between the processor and the main memory is increasing, and the performance
of the main memory has become an important factor restricting the perfor-
mance of the processor [7] [8], which is the famous “Memory Wall” problem
[9].
In designing the SDRAM controller, Seiji Miura and Satoru Akiyamma fo-
cused on solving the latency problem in order to improve data transmission effi-
ciency. Finally, two solutions, address queue and virtual cache, were proposed to
reduce latency [10]. Bonatto, Soates, et al. in order to generate a smaller delay in the
encoding of the management macro definition module based on the H.264/AVC
video decoder, use a four-layer module structure to implement a multi-channel
SDRAM controller [11].
Command Inhibit H X X X X X
No Operation L H H H X X
Activate L L H H X Bank/Row
Read L H L H X Bank/Col
Write L H L L X Bank/Col
Burst Terminate L H H L X X
Precharge L L H L X code
Refresh L L L H X X
SDRAM_SETUP Output SDRAM Setup indicates that the SDRAM has been initialized.
is active, this module sends requests to the state machine module to initialize the
SDRAM. The SDRAM_EN signal could be removed from the design or can be
tied high if this feature is not needed. If tied high, the controller will initialize the
SDRAM sub-system when the reset signal becomes false.
The parameters for the mode register are stored in this module. These can be
modified to suit the user’s specific needs. Some of the bits are reserved and must
be kept as “0”. The parameters CAS LATENCY, BURST MODE, BURST LENGTH
and BURST TYPE can be changed in this module.
Table 3 describes the input and output signals of this module.
It outputs a state type vector as well as a state bit vector. The type vector indi-
cates what type of cycle is being performed. The bit vector indicates the state
cycle. Table 5 describes the input/output signals for this module.
Total registers 75
5. Conclusion
We verified accuracy of design through the simulation and downloaded code at
Cyclone V 5CSEMA5F31C6 FPGA in DE1-SoC development board. Then we
linked with display unit by VGA bus and showed image stored to SDRAM at
scene. The result shows that the SDRAM controller designed in this paper satisfy
requirement of design.
Conflicts of Interest
The authors declare no conflicts of interest regarding the publication of this pa-
per.
References
[1] Anup, P. and Ramana Reddy, R. (2012) A Low Power DDR SDRAM Controller De-
sign. International Journal of Computer Science and Information Technologies, 3,
4270-4274.
[2] Sharma, D. and Bhargava, S. (2011) Design and VLSI Implementation of DDR SDRAM
Controller for High Speed Applications. International Journal of Computer Science
and Information Technologies, 2, 1625-1632.
[3] Upadhyay, P., Kar, R., et al. (2019) A Design of Highly Stable and Low-Power SRAM
Cell. Advances in Computer Communication and Computational Sciences, 759,
281-289. https://doi.org/10.1007/978-981-13-0341-8_26
[4] Wulf, W.A. and McKee, S.A. (1995) Hitting the Memory Wall: Implications of the
Obvious. Computer Architecture News, 23, 20-24.
https://doi.org/10.1145/216585.216588
[5] Wilkes, M.V. (1995) The Memory Wall and the CMOS End-Point. Computer Ar-
chitecture News, 23, 4-6. https://doi.org/10.1145/218864.218865
[6] Burger, D.C., Goodman, J.R. and Kagi, A. (1995) The Declining Effectiveness of
Dynamic Caching for General-Purpose Microprocessors. Technical Report 1261,
Computer Sciences Department, University of Wisconsin, Madison, WI.
[7] Kagi, A., Goodman, J.R. and Burger, D. (1996) Memory Bandwidth Limitations of
Future Microprocessors. 23rd Annual International Symposium on Computer Ar-
chitecture (ISCA 1996), Philadelphia, PA, 24 May 1996, 78-89.
[8] Huh, J., Burger, D. and Keckler, S.W. (2001) Exploring the Design Space of Future
CMPs. International Conference on Parallel Architectures and Compilation Tech-
niques (PACT 2001), Barcelona, Spain, 8-12 September 2001, 199-210.
[9] Rogers, B., Krishna, A., Bell, G., et al. (2009) Scaling the Bandwidth Wall: Chal-
lenges in and Avenues for CMP Scaling. 36th Annual International Symposium on
Computer Architecture (ISCA 2009), Austin, TX, 20-24 June 2009, 371-382.
https://doi.org/10.1145/1555754.1555801
[10] Miura, S. and Akiyama, S. (2005) A Memory Controller That Reduces Latency of
Cached SDRAM. 2005 IEEE International Symposium on Circuits and Systems, Kobe,
Japan, 23-26 May 2005, 5250-5253.
https://doi.org/10.1109/ISCAS.2005.1465819
[11] Bonatto, A.C., Soares, A.B. and Susin, A.A. (2011) Multichannel SDRAM Controller
Design for H.264/AVC Video Decoder. 2011 VII Southern Conference on Program-
mable Logic (SPL), Cordoba, Argentina, 137-142.
https://doi.org/10.1109/SPL.2011.5782638