Skip to content

Commit

Permalink
core: add LiteDRAMCore (ControllerInjector from LiteX)
Browse files Browse the repository at this point in the history
  • Loading branch information
enjoy-digital committed Sep 29, 2019
1 parent d647abd commit 5d1a984
Showing 1 changed file with 28 additions and 1 deletion.
29 changes: 28 additions & 1 deletion litedram/core/__init__.py
@@ -1,2 +1,29 @@
from migen import *

from litex.soc.interconnect.csr import AutoCSR

from litedram.dfii import DFIInjector
from litedram.core.controller import ControllerSettings, LiteDRAMController
from litedram.core.crossbar import LiteDRAMCrossbar
from litedram.core.crossbar import LiteDRAMCrossbar

# Core ---------------------------------------------------------------------------------------------

class LiteDRAMCore(Module, AutoCSR):
def __init__(self, phy, geom_settings, timing_settings, clk_freq, **kwargs):
self.submodules.dfii = DFIInjector(
addressbits = geom_settings.addressbits,
bankbits = geom_settings.bankbits,
nranks = phy.settings.nranks,
databits = phy.settings.dfi_databits,
nphases = phy.settings.nphases)
self.comb += self.dfii.master.connect(phy.dfi)

self.submodules.controller = controller = LiteDRAMController(
phy_settings = phy.settings,
geom_settings = geom_settings,
timing_settings = timing_settings,
clk_freq = clk_freq,
**kwargs)
self.comb += controller.dfi.connect(self.dfii.slave)

self.submodules.crossbar = LiteDRAMCrossbar(controller.interface)

0 comments on commit 5d1a984

Please sign in to comment.