2015-01-16 17:52:41 -05:00
|
|
|
from litesata.common import *
|
|
|
|
from litesata.phy import *
|
|
|
|
from litesata.core import *
|
|
|
|
from litesata.frontend import *
|
|
|
|
|
|
|
|
from migen.bank.description import *
|
|
|
|
|
|
|
|
class LiteSATA(Module, AutoCSR):
|
2015-01-21 17:11:38 -05:00
|
|
|
def __init__(self, phy, buffer_depth=2*fis_max_dwords,
|
2015-01-16 17:52:41 -05:00
|
|
|
with_bist=False, with_bist_csr=False):
|
|
|
|
# phy
|
|
|
|
self.phy = phy
|
|
|
|
|
|
|
|
# core
|
2015-01-22 10:02:41 -05:00
|
|
|
self.submodules.core = LiteSATACore(self.phy, buffer_depth)
|
2015-01-16 17:52:41 -05:00
|
|
|
|
|
|
|
# frontend
|
2015-01-22 10:02:41 -05:00
|
|
|
self.submodules.crossbar = LiteSATACrossbar(self.core)
|
2015-01-16 17:52:41 -05:00
|
|
|
if with_bist:
|
2015-01-22 10:02:41 -05:00
|
|
|
self.submodules.bist = LiteSATABIST(self.crossbar, with_bist_csr)
|
2015-01-16 17:52:41 -05:00
|
|
|
|