5 from litescope
.host
.driver
import LiteScopeLADriver
7 la
= LiteScopeLADriver(wb
.regs
, "la")
8 identify
= LiteSATABISTIdentifyDriver(wb
.regs
, "sata_bist")
9 generator
= LiteSATABISTGeneratorDriver(wb
.regs
, "sata_bist")
10 checker
= LiteSATABISTCheckerDriver(wb
.regs
, "sata_bist")
17 print("No trigger condition, triggering immediately!")
22 conditions
["now"] = {}
23 conditions
["id_cmd"] = {
24 "sata_command_tx_sink_stb" : 1,
25 "sata_command_tx_sink_payload_identify" : 1,
27 conditions
["id_resp"] = {
28 "source_source_payload_data" : primitives
["X_RDY"],
30 conditions
["wr_cmd"] = {
31 "sata_command_tx_sink_stb" : 1,
32 "sata_command_tx_sink_payload_write" : 1,
34 conditions
["wr_resp"] = {
35 "sata_command_rx_source_stb" : 1,
36 "sata_command_rx_source_payload_write" : 1,
38 conditions
["rd_cmd"] = {
39 "sata_command_tx_sink_stb" : 1,
40 "sata_command_tx_sink_payload_read" : 1,
42 conditions
["rd_resp"] = {
43 "sata_command_rx_source_stb" : 1,
44 "sata_command_rx_source_payload_read" : 1,
47 la
.configure_term(port
=0, cond
=conditions
[trig
])
48 la
.configure_sum("term")
51 la
.run(offset
=64, length
=1024)
53 #identify.run(blocking=False)
54 generator
.run(0, 2, 1, 0, blocking
=False)
55 #checker.run(0, 2, 1, 0, blocking=False)
65 f
= open("dump_link.txt", "w")
67 tx_data_name
="sink_sink_payload_data",
68 rx_data_name
="source_source_payload_data"