OpenCores
URL https://opencores.org/ocsvn/wbddr3/wbddr3/trunk

Subversion Repositories wbddr3

[/] [wbddr3/] [trunk/] [README.md] - Blame information for rev 21

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 21 dgisselq
# Description
2
 
3
The purpose of this core is to provide a GPL wishbone core capable of commanding
4
a DDR3 memory, such as the one used on Digilent's Arty board, at full speed.
5
A particular design goal is that consecutive reads or writes should take only one additional clock cycle per read or write.  My eventual goal is to build this so that it will support my OpenArty project.
6
 
7
Since the DDR3 memory specification is dated August, 2009, memory chips have
8
been built to this specification.  However, since the DDR3 SDRAM's are rather
9
complex, and there is a lot of work required to manage them, controllers for
10
DDR3 SDRAM's are primarily in the realm of proprietary.
11
 
12
The lack of a good open source DDR3 SDRAM controller leaves an FPGA engineer
13
with the choice of building a controller for a very complex interface from
14
scratch, or accepting a less than optimal controller built by Xilinx's Memory
15
Interface Generator and then converting the result to an open source bus, such
16
as the wishbone.
17
 
18
This core is designed to meet that need: it is both open (GPL), as well as
19
wishbone compliant.  Further, this core offers 32-bit granularity to an interface that would otehrwise offer only 128-bit granularity.  This core also offers complete pipelined performance.  Because of the pipeline interface, this core is
20
appropriate for filling cache linse.  Because the core also offers non-pipelined
21
performance, it is also appropriate for random access from a CPU--whether by a
22
write-through cache, or a CPU working without a cache.
23
 
24
# Current status
25
 
26
As anyone knows who has worked with DDR3 memory controllers will know, this is
27
a difficult and complex project.  There are lots of parts and pieces to is.
28
Currently, a large portion (not all) of the Verilog code has been built,
29
together with what should be a very thorough Verilator test bench.  The
30
Verilator code successfully brings the memory out of a reset condition, and
31
runs it through a variety of paces.
32
 
33
So, today, the code works within Verilator and appears to match the
34
specification of the DDR3 bus.
35
 
36
The core does not (yet) work on any physical hardware.  This task remains.
37
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.