litex/test/test_link.py

64 lines
1.5 KiB
Python
Raw Normal View History

import sys
from config import *
from tools import *
from bist import *
from miscope.host.drivers import MiLaDriver
mila = MiLaDriver(wb.regs, "mila")
2015-01-16 17:52:41 -05:00
identify = LiteSATABISTIdentifyDriver(wb.regs, "sata_bist")
generator = LiteSATABISTGeneratorDriver(wb.regs, "sata_bist")
checker = LiteSATABISTCheckerDriver(wb.regs, "sata_bist")
wb.open()
regs = wb.regs
###
if len(sys.argv) < 2:
print("Need trigger condition!")
sys.exit(0)
conditions = {}
conditions["wr_cmd"] = {
2015-01-16 17:52:41 -05:00
"bistsocdevel_core_sink_stb" : 1,
"bistsocdevel_core_sink_payload_write" : 1,
}
conditions["wr_dma_activate"] = {
2015-01-16 17:52:41 -05:00
"bistsocdevel_core_source_source_stb" : 1,
"bistsocdevel_core_source_source_payload_write" : 1,
}
conditions["rd_cmd"] = {
2015-01-16 17:52:41 -05:00
"bistsocdevel_core_sink_stb" : 1,
"bistsocdevel_core_sink_payload_read" : 1,
}
conditions["rd_data"] = {
2015-01-16 17:52:41 -05:00
"bistsocdevel_core_source_source_stb" : 1,
"bistsocdevel_core_source_source_payload_read" : 1,
}
2015-01-16 16:49:34 -05:00
conditions["id_cmd"] = {
2015-01-16 17:52:41 -05:00
"bistsocdevel_core_sink_stb" : 1,
"bistsocdevel_core_sink_payload_identify" : 1,
2015-01-16 16:49:34 -05:00
}
conditions["id_pio_setup"] = {
2015-01-16 17:52:41 -05:00
"bistsocdevel_source_source_payload_data" : primitives["X_RDY"],
2015-01-16 16:49:34 -05:00
}
mila.prog_term(port=0, cond=conditions[sys.argv[1]])
mila.prog_sum("term")
# Trigger / wait / receive
mila.trigger(offset=512, length=2000)
2015-01-16 16:49:34 -05:00
identify.run()
generator.run(0, 2, 0)
checker.run(0, 2, 0)
mila.wait_done()
mila.read()
mila.export("dump.vcd")
###
wb.close()
print_link_trace(mila,
2015-01-16 17:52:41 -05:00
tx_data_name="bistsocdevel_sink_sink_payload_data",
rx_data_name="bistsocdevel_source_source_payload_data"
)