1 |
14 |
root |
<!--# include virtual="/ssi/ssi_start.shtml" -->
|
2 |
|
|
<B><FONT COLOR="#bf0000" SIZE="+2" FACE="Helvetica, Arial">Project
|
3 |
|
|
Name: Synchronous-DRAM Controller (PC100 compliant)</FONT></B></P>
|
4 |
|
|
|
5 |
|
|
<P> </P>
|
6 |
|
|
|
7 |
|
|
<P><B><FONT SIZE="+1">Description</FONT></B></P>
|
8 |
|
|
|
9 |
|
|
<P>The Synchronous-DRAM controller core allows any synchronous
|
10 |
|
|
bus masters, such as most Intel microcontroller and x86 processors,
|
11 |
|
|
to effortlessly interface to a large capacity SDRAM as though
|
12 |
|
|
it were an SRAM. The core supports PC100 timing specifications.</P>
|
13 |
|
|
|
14 |
|
|
<P>By default the core is configured to work with 512K x 2 Bank
|
15 |
|
|
x 32-bit SDRAMs such as Samsung KM432S2030CT and Fujitsu MB81F643242B.
|
16 |
|
|
Easy modifications allows the core to work with different capacity
|
17 |
|
|
SDRAMs. Most of the critical parameters are defines in a global
|
18 |
|
|
include file allowing easy reconfigurability of the core.</P>
|
19 |
|
|
|
20 |
|
|
<P>The core handles much of the low level functions such as address
|
21 |
|
|
multiplexing, refresh generation and busy status generation.
|
22 |
|
|
In addtion, the non-trivial powerup initialization sequence is
|
23 |
|
|
also handled transparently to the host. Flexible refresh generation
|
24 |
|
|
permits burst refresh, normal refresh or everything in between.
|
25 |
|
|
The SDRAM mode-register can also be reprogrammed on the fly by
|
26 |
|
|
the host, although the core intializes the MRS with a default
|
27 |
|
|
value. This value can be compile-time adjustable.</P>
|
28 |
|
|
|
29 |
|
|
<P>The present design only supports 1 transfer per access. An
|
30 |
|
|
access is a host's request for a read or a write to the SDRAM.
|
31 |
|
|
A transfer is any data size from 1 byte, 1 word (16bit) or 1
|
32 |
|
|
long-word (32 bit). As soon as a multi-longword (i.e. burst)
|
33 |
|
|
data transfer protocol for the OR1K is adopted, variants of the
|
34 |
|
|
SDRAM controller supporting it will be offered.</P>
|
35 |
|
|
|
36 |
|
|
<P>The core also includes a set of synthesiable "test"
|
37 |
|
|
modules. When enabled for compilation, these test modules becomes
|
38 |
|
|
a host to the SDRAM controller and issues a series of read/write
|
39 |
|
|
test sequences to the SDRAM. This allows designers working on
|
40 |
|
|
FPGA/CPLD platforms to turn the SDRAM controller core into a
|
41 |
|
|
"stand-alone" SDRAM tester.</P>
|
42 |
|
|
|
43 |
|
|
<P>The core has been sucessfully tested with a Samsung KM416S1120D
|
44 |
|
|
SDRAM on Altera Flex10K20 FPGA and :Lattice isp3256 CPLD devices
|
45 |
|
|
(using the built-in tester).</P>
|
46 |
|
|
|
47 |
|
|
<P> </P>
|
48 |
|
|
|
49 |
|
|
<P><CENTER><IMG SRC="intefacing%20block%20diagram.gif"
|
50 |
|
|
ALIGN="BOTTOM" BORDER="0" NATURALSIZEFLAG="0"> <BR>
|
51 |
|
|
<I>Picture 1: Interfacing block diagram</I></CENTER></P>
|
52 |
|
|
|
53 |
|
|
<P> </P>
|
54 |
|
|
|
55 |
|
|
<P>Current Status:</P>
|
56 |
|
|
|
57 |
|
|
<UL>
|
58 |
|
|
<LI>Initial stable version avaible for down load : Use tag "sdram_8Mb_2Mx32_020200"
|
59 |
|
|
<LI>Fully parameterized version to be available. Use tag "sdram_param"
|
60 |
|
|
<LI><A HREF="http://www.opencores.org/cores/sdram/sdram_doc.pdf">Working
|
61 |
|
|
documentation</A> (72 KB) is available in Adobe PDF format.
|
62 |
|
|
</UL>
|
63 |
|
|
|
64 |
|
|
<P>Maintainer(s):</P>
|
65 |
|
|
|
66 |
|
|
<UL>
|
67 |
|
|
<P>Joon Lee, joon.lee@quantum.com_NOSPAM
|
68 |
|
|
</UL>
|
69 |
|
|
|
70 |
|
|
<P>Author(s):</P>
|
71 |
|
|
|
72 |
|
|
<UL>
|
73 |
|
|
<P>Joon Lee, joon.lee@quantum.com_NOSPAM
|
74 |
|
|
</UL>
|
75 |
|
|
|
76 |
|
|
<P>Mailing-list:</P>
|
77 |
|
|
|
78 |
|
|
<UL>
|
79 |
|
|
<P><A HREF="mailto:cores@opencores.org_NOSPAM">cores@opencores.org_NOSPAM</A>
|
80 |
|
|
<A HREF="mailto:cores@opencores.org_NOSPAM"></UL></A>
|
81 |
|
|
</UL>
|
82 |
|
|
|
83 |
|
|
|
84 |
|
|
<!--# include virtual="/ssi/ssi_end.shtml" -->
|