add test_read / test_write (HOST<-->HDD transfers OK for the 3 tests, rx data seems to be stuck in link of command layer)
This commit is contained in:
parent
eebc2abcda
commit
c17159754c
|
@ -146,6 +146,8 @@ class SATACommandRX(Module):
|
|||
If(test_type("DMA_ACTIVATE_D2H"),
|
||||
dma_activate.eq(1),
|
||||
NextState("WAIT_WRITE_REG_D2H")
|
||||
).Else(
|
||||
NextState("IDLE") # Generate an error
|
||||
)
|
||||
)
|
||||
)
|
||||
|
@ -154,6 +156,8 @@ class SATACommandRX(Module):
|
|||
If(transport.source.stb,
|
||||
If(test_type("REG_D2H"),
|
||||
NextState("PRESENT_WRITE_RESPONSE")
|
||||
).Else(
|
||||
NextState("IDLE") # Generate an error
|
||||
)
|
||||
)
|
||||
)
|
||||
|
@ -171,6 +175,8 @@ class SATACommandRX(Module):
|
|||
transport.source.ack.eq(0),
|
||||
If(test_type("DATA"),
|
||||
NextState("PRESENT_READ_DATA")
|
||||
).Else(
|
||||
NextState("IDLE") # Generate an error
|
||||
)
|
||||
)
|
||||
)
|
||||
|
@ -189,6 +195,8 @@ class SATACommandRX(Module):
|
|||
If(transport.source.stb,
|
||||
If(test_type("REG_D2H"),
|
||||
NextState("PRESENT_READ_RESPONSE")
|
||||
).Else(
|
||||
NextState("IDLE") # Generate an error
|
||||
)
|
||||
)
|
||||
)
|
||||
|
|
|
@ -7,11 +7,15 @@ mila = MiLaDriver(wb.regs, "mila")
|
|||
wb.open()
|
||||
regs = wb.regs
|
||||
###
|
||||
|
||||
#trigger0 = mila.sata_con_sink_payload_identify_o*1
|
||||
#mask0 = mila.sata_con_sink_payload_identify_m
|
||||
|
||||
#trigger0 = mila.sata_phy_source_source_payload_data_o*primitives["R_OK"]
|
||||
#mask0 = mila.sata_phy_source_source_payload_data_m
|
||||
|
||||
trigger0 = mila.sata_con_sink_payload_identify_o*1
|
||||
mask0 = mila.sata_con_sink_payload_identify_m
|
||||
trigger0 = mila.sata_phy_source_source_payload_data_o*primitives["X_RDY"]
|
||||
mask0 = mila.sata_phy_source_source_payload_data_m
|
||||
|
||||
mila.prog_term(port=0, trigger=trigger0, mask=mask0)
|
||||
mila.prog_sum("term")
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
import time
|
||||
from config import *
|
||||
from tools import *
|
||||
from miscope.host.drivers import MiLaDriver
|
||||
|
||||
mila = MiLaDriver(wb.regs, "mila")
|
||||
wb.open()
|
||||
regs = wb.regs
|
||||
###
|
||||
|
||||
#trigger0 = mila.sata_con_sink_payload_read_o*1
|
||||
#mask0 = mila.sata_con_sink_payload_read_m
|
||||
|
||||
#trigger0 = mila.sata_phy_source_source_payload_data_o*primitives["R_OK"]
|
||||
#mask0 = mila.sata_phy_source_source_payload_data_m
|
||||
|
||||
trigger0 = mila.sata_phy_source_source_payload_data_o*primitives["X_RDY"]
|
||||
mask0 = mila.sata_phy_source_source_payload_data_m
|
||||
|
||||
mila.prog_term(port=0, trigger=trigger0, mask=mask0)
|
||||
mila.prog_sum("term")
|
||||
|
||||
# Trigger / wait / receive
|
||||
mila.trigger(offset=32, length=512)
|
||||
regs.command_generator_sector.write(0)
|
||||
regs.command_generator_count.write(1)
|
||||
regs.command_generator_read.write(1)
|
||||
mila.wait_done()
|
||||
mila.read()
|
||||
mila.export("dump.vcd")
|
||||
###
|
||||
wb.close()
|
||||
|
||||
print_link_trace(mila,
|
||||
tx_data_name="sata_phy_sink_sink_payload_data",
|
||||
rx_data_name="sata_phy_source_source_payload_data"
|
||||
)
|
|
@ -0,0 +1,38 @@
|
|||
import time
|
||||
from config import *
|
||||
from tools import *
|
||||
from miscope.host.drivers import MiLaDriver
|
||||
|
||||
mila = MiLaDriver(wb.regs, "mila")
|
||||
wb.open()
|
||||
regs = wb.regs
|
||||
###
|
||||
|
||||
#trigger0 = mila.sata_con_sink_payload_write_o*1
|
||||
#mask0 = mila.sata_con_sink_payload_write_m
|
||||
|
||||
#trigger0 = mila.sata_phy_source_source_payload_data_o*primitives["R_RDY"]
|
||||
#mask0 = mila.sata_phy_source_source_payload_data_m
|
||||
|
||||
trigger0 = mila.sata_phy_source_source_payload_data_o*primitives["R_OK"]
|
||||
mask0 = mila.sata_phy_source_source_payload_data_m
|
||||
|
||||
mila.prog_term(port=0, trigger=trigger0, mask=mask0)
|
||||
mila.prog_sum("term")
|
||||
|
||||
# Trigger / wait / receive
|
||||
mila.trigger(offset=32, length=512)
|
||||
regs.command_generator_sector.write(0)
|
||||
regs.command_generator_count.write(1)
|
||||
regs.command_generator_data.write(0x12345678)
|
||||
regs.command_generator_write.write(1)
|
||||
mila.wait_done()
|
||||
mila.read()
|
||||
mila.export("dump.vcd")
|
||||
###
|
||||
wb.close()
|
||||
|
||||
print_link_trace(mila,
|
||||
tx_data_name="sata_phy_sink_sink_payload_data",
|
||||
rx_data_name="sata_phy_source_source_payload_data"
|
||||
)
|
Loading…
Reference in New Issue