from lib.sata.command import SATACommand
class SATACON(Module):
- def __init__(self, phy, sector_size=512, max_count=8):
+ def __init__(self, phy, sector_size=512, max_count=16):
self.sector_size = sector_size
self.max_count = max_count
self.link = SATALink(phy)
self.transport = SATATransport(self.link)
- self.command = SATACommand(self.transport, sector_size=sector_size, max_count=max_count)
+ self.command = SATACommand(self.transport, sector_size, max_count)
self.sink, self.source = self.command.sink, self.command.source
###
cmd_fifo = SyncFIFO(command_rx_cmd_description(32), 2) # Note: ideally depth=1
- data_fifo = InsertReset(SyncFIFO(command_rx_data_description(32), sector_size*max_count//4, buffered=True))
+ data_fifo = InsertReset(SyncFIFO(command_rx_data_description(32), (sector_size*max_count//4), buffered=True))
self.submodules += cmd_fifo, data_fifo
def test_type(name):
except ConstraintError:
pass
self.add_platform_command("""
-create_clock -name sys_clk -period 5 [get_nets sys_clk]
-create_clock -name sata_rx_clk -period 3.33 [get_nets sata_rx_clk]
-create_clock -name sata_tx_clk -period 3.33 [get_nets sata_tx_clk]
+create_clock -name sys_clk -period 10 [get_nets sys_clk]
+create_clock -name sata_rx_clk -period 6.66 [get_nets sata_rx_clk]
+create_clock -name sata_tx_clk -period 6.66 [get_nets sata_tx_clk]
set_false_path -from [get_clocks sys_clk] -to [get_clocks sata_rx_clk]
set_false_path -from [get_clocks sys_clk] -to [get_clocks sata_tx_clk]
UART2WB.__init__(self, platform, clk_freq)
self.crg = _CRG(platform)
- self.sata_phy = SATAPHY(platform.request("sata_host"), clk_freq, host=True, speed="SATA2")
- self.sata_con = SATACON(self.sata_phy, sector_size=512, max_count=8)
+ self.sata_phy = SATAPHY(platform.request("sata_host"), clk_freq, speed="SATA2")
+ self.sata_con = SATACON(self.sata_phy)
self.bist = SATABIST(self.sata_con)