test: add make.py to replace static config.py file
This commit is contained in:
parent
b1dee774cd
commit
282c9b9426
|
@ -1,20 +0,0 @@
|
||||||
LEDIR = ../
|
|
||||||
PYTHON = python3
|
|
||||||
|
|
||||||
CMD = PYTHONPATH=$(LEDIR) $(PYTHON)
|
|
||||||
|
|
||||||
test_regs:
|
|
||||||
$(CMD) test_regs.py
|
|
||||||
|
|
||||||
test_la:
|
|
||||||
$(CMD) test_la.py
|
|
||||||
|
|
||||||
test_udp:
|
|
||||||
$(CMD) test_udp.py
|
|
||||||
|
|
||||||
test_etherbone:
|
|
||||||
$(CMD) test_etherbone.py
|
|
||||||
|
|
||||||
test_tty:
|
|
||||||
$(CMD) test_tty.py
|
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
use_uart = 1
|
|
||||||
use_eth = 0
|
|
||||||
|
|
||||||
csr_csv_file = "./csr.csv"
|
|
||||||
busword = 32
|
|
||||||
debug_wb = False
|
|
||||||
|
|
||||||
if use_uart:
|
|
||||||
from litescope.host.driver.uart import LiteScopeUARTDriver
|
|
||||||
wb = LiteScopeUARTDriver(2, 921600, csr_csv_file, busword, debug_wb)
|
|
||||||
|
|
||||||
if use_eth:
|
|
||||||
from litescope.host.driver.etherbone import LiteScopeEtherboneDriver
|
|
||||||
wb = LiteScopeEtherboneDriver("192.168.1.40", 20000, csr_csv_file, debug_wb)
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
import argparse, importlib
|
||||||
|
|
||||||
|
def _get_args():
|
||||||
|
parser = argparse.ArgumentParser()
|
||||||
|
parser.add_argument("-b", "--bridge", default="uart", help="Bridge to use")
|
||||||
|
parser.add_argument("--port", default=2, help="UART port")
|
||||||
|
parser.add_argument("--baudrate", default=921600, help="UART baudrate")
|
||||||
|
parser.add_argument("--ip_address", default="192.168.1.40", help="Etherbone IP address")
|
||||||
|
parser.add_argument("--udp_port", default=20000, help="Etherbone UDP port")
|
||||||
|
parser.add_argument("--busword", default=32, help="CSR busword")
|
||||||
|
|
||||||
|
parser.add_argument("test", nargs="+", help="specify a test")
|
||||||
|
|
||||||
|
return parser.parse_args()
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
args = _get_args()
|
||||||
|
if args.bridge == "uart":
|
||||||
|
from litescope.host.driver.uart import LiteScopeUARTDriver
|
||||||
|
wb = LiteScopeUARTDriver(args.port, args.baudrate, "./csr.csv", int(args.busword), debug=False)
|
||||||
|
elif args.bridge == "etherbone":
|
||||||
|
from litescope.host.driver.etherbone import LiteScopeEtherboneDriver
|
||||||
|
wb = LiteScopeEtherboneDriver(args.ip_address, int(args.udp_port), "./csr.csv", int(args.busword), debug=False)
|
||||||
|
else:
|
||||||
|
ValueError("Invalid bridge {}".format(args.bridge))
|
||||||
|
|
||||||
|
def _import(name):
|
||||||
|
return importlib.import_module(name)
|
||||||
|
|
||||||
|
for test in args.test:
|
||||||
|
t = _import("test_"+test)
|
||||||
|
t.main(wb)
|
|
@ -4,55 +4,57 @@ from liteeth.test.model.etherbone import *
|
||||||
SRAM_BASE = 0x02000000
|
SRAM_BASE = 0x02000000
|
||||||
|
|
||||||
import socket
|
import socket
|
||||||
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
|
||||||
|
|
||||||
# test probe
|
def main(wb):
|
||||||
packet = EtherbonePacket()
|
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
||||||
packet.pf = 1
|
|
||||||
packet.encode()
|
|
||||||
sock.sendto(bytes(packet), ("192.168.1.40", 20000))
|
|
||||||
time.sleep(0.01)
|
|
||||||
|
|
||||||
# test writes
|
# test probe
|
||||||
writes_datas = [j for j in range(16)]
|
packet = EtherbonePacket()
|
||||||
writes = EtherboneWrites(base_addr=SRAM_BASE, datas=writes_datas)
|
packet.pf = 1
|
||||||
record = EtherboneRecord()
|
packet.encode()
|
||||||
record.writes = writes
|
sock.sendto(bytes(packet), ("192.168.1.40", 20000))
|
||||||
record.reads = None
|
time.sleep(0.01)
|
||||||
record.bca = 0
|
|
||||||
record.rca = 0
|
|
||||||
record.rff = 0
|
|
||||||
record.cyc = 0
|
|
||||||
record.wca = 0
|
|
||||||
record.wff = 0
|
|
||||||
record.byte_enable = 0xf
|
|
||||||
record.wcount = len(writes_datas)
|
|
||||||
record.rcount = 0
|
|
||||||
|
|
||||||
packet = EtherbonePacket()
|
# test writes
|
||||||
packet.records = [record]
|
writes_datas = [j for j in range(16)]
|
||||||
packet.encode()
|
writes = EtherboneWrites(base_addr=SRAM_BASE, datas=writes_datas)
|
||||||
sock.sendto(bytes(packet), ("192.168.1.40", 20000))
|
record = EtherboneRecord()
|
||||||
time.sleep(0.01)
|
record.writes = writes
|
||||||
|
record.reads = None
|
||||||
|
record.bca = 0
|
||||||
|
record.rca = 0
|
||||||
|
record.rff = 0
|
||||||
|
record.cyc = 0
|
||||||
|
record.wca = 0
|
||||||
|
record.wff = 0
|
||||||
|
record.byte_enable = 0xf
|
||||||
|
record.wcount = len(writes_datas)
|
||||||
|
record.rcount = 0
|
||||||
|
|
||||||
# test reads
|
packet = EtherbonePacket()
|
||||||
reads_addrs = [SRAM_BASE+4*j for j in range(16)]
|
packet.records = [record]
|
||||||
reads = EtherboneReads(base_ret_addr=0x1000, addrs=reads_addrs)
|
packet.encode()
|
||||||
record = EtherboneRecord()
|
sock.sendto(bytes(packet), ("192.168.1.40", 20000))
|
||||||
record.writes = None
|
time.sleep(0.01)
|
||||||
record.reads = reads
|
|
||||||
record.bca = 0
|
|
||||||
record.rca = 0
|
|
||||||
record.rff = 0
|
|
||||||
record.cyc = 0
|
|
||||||
record.wca = 0
|
|
||||||
record.wff = 0
|
|
||||||
record.byte_enable = 0xf
|
|
||||||
record.wcount = 0
|
|
||||||
record.rcount = len(reads_addrs)
|
|
||||||
|
|
||||||
packet = EtherbonePacket()
|
# test reads
|
||||||
packet.records = [record]
|
reads_addrs = [SRAM_BASE+4*j for j in range(16)]
|
||||||
packet.encode()
|
reads = EtherboneReads(base_ret_addr=0x1000, addrs=reads_addrs)
|
||||||
sock.sendto(bytes(packet), ("192.168.1.40", 20000))
|
record = EtherboneRecord()
|
||||||
time.sleep(0.01)
|
record.writes = None
|
||||||
|
record.reads = reads
|
||||||
|
record.bca = 0
|
||||||
|
record.rca = 0
|
||||||
|
record.rff = 0
|
||||||
|
record.cyc = 0
|
||||||
|
record.wca = 0
|
||||||
|
record.wff = 0
|
||||||
|
record.byte_enable = 0xf
|
||||||
|
record.wcount = 0
|
||||||
|
record.rcount = len(reads_addrs)
|
||||||
|
|
||||||
|
packet = EtherbonePacket()
|
||||||
|
packet.records = [record]
|
||||||
|
packet.encode()
|
||||||
|
sock.sendto(bytes(packet), ("192.168.1.40", 20000))
|
||||||
|
time.sleep(0.01)
|
||||||
|
|
|
@ -1,34 +1,24 @@
|
||||||
from config import *
|
|
||||||
import time
|
import time
|
||||||
|
|
||||||
from litescope.host.driver.la import LiteScopeLADriver
|
from litescope.host.driver.la import LiteScopeLADriver
|
||||||
la = LiteScopeLADriver(wb.regs, "la", debug=True)
|
|
||||||
|
|
||||||
wb.open()
|
def main(wb):
|
||||||
regs = wb.regs
|
la = LiteScopeLADriver(wb.regs, "la", debug=True)
|
||||||
###
|
|
||||||
|
|
||||||
conditions = {}
|
wb.open()
|
||||||
conditions = {
|
regs = wb.regs
|
||||||
"udpsocdevel_mac_rx_cdc_source_stb" : 1
|
###
|
||||||
}
|
|
||||||
conditions = {
|
|
||||||
"core_udp_tx_fsm_state" : 1
|
|
||||||
}
|
|
||||||
conditions = {
|
|
||||||
"etherbonesocdevel_master_bus_stb" : 1,
|
|
||||||
"etherbonesocdevel_master_bus_we" : 0
|
|
||||||
}
|
|
||||||
la.configure_term(port=0, cond=conditions)
|
|
||||||
la.configure_sum("term")
|
|
||||||
# Run Logic Analyzer
|
|
||||||
la.run(offset=2048, length=4000)
|
|
||||||
|
|
||||||
while not la.done():
|
conditions = {}
|
||||||
pass
|
la.configure_term(port=0, cond=conditions)
|
||||||
|
la.configure_sum("term")
|
||||||
|
# Run Logic Analyzer
|
||||||
|
la.run(offset=2048, length=4000)
|
||||||
|
|
||||||
la.upload()
|
while not la.done():
|
||||||
la.save("dump.vcd")
|
pass
|
||||||
|
|
||||||
###
|
la.upload()
|
||||||
wb.close()
|
la.save("dump.vcd")
|
||||||
|
|
||||||
|
###
|
||||||
|
wb.close()
|
||||||
|
|
|
@ -1,14 +1,12 @@
|
||||||
from config import *
|
def main(wb):
|
||||||
|
wb.open()
|
||||||
wb.open()
|
regs = wb.regs
|
||||||
regs = wb.regs
|
###
|
||||||
###
|
print("sysid : 0x%04x" %regs.identifier_sysid.read())
|
||||||
regs.phy_crg_reset.write(1)
|
print("revision : 0x%04x" %regs.identifier_revision.read())
|
||||||
print("sysid : 0x%04x" %regs.identifier_sysid.read())
|
print("frequency : %d MHz" %(regs.identifier_frequency.read()/1000000))
|
||||||
print("revision : 0x%04x" %regs.identifier_revision.read())
|
SRAM_BASE = 0x02000000
|
||||||
print("frequency : %d MHz" %(regs.identifier_frequency.read()/1000000))
|
wb.write(SRAM_BASE, [i for i in range(64)])
|
||||||
SRAM_BASE = 0x02000000
|
print(wb.read(SRAM_BASE, 64))
|
||||||
wb.write(SRAM_BASE, [i for i in range(64)])
|
###
|
||||||
print(wb.read(SRAM_BASE, 64))
|
wb.close()
|
||||||
###
|
|
||||||
wb.close()
|
|
||||||
|
|
|
@ -31,5 +31,6 @@ def test(fpga_ip, udp_port, test_message):
|
||||||
except KeyboardInterrupt:
|
except KeyboardInterrupt:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
test_message = "LiteEth virtual TTY Hello world\n"
|
def main(wb):
|
||||||
test("192.168.1.40", 10000, test_message)
|
test_message = "LiteEth virtual TTY Hello world\n"
|
||||||
|
test("192.168.1.40", 10000, test_message)
|
||||||
|
|
|
@ -76,5 +76,6 @@ def test(fpga_ip, udp_port, test_size):
|
||||||
except KeyboardInterrupt:
|
except KeyboardInterrupt:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
test("192.168.1.40", 6000, 128*KB)
|
def main(wb):
|
||||||
test("192.168.1.40", 8000, 128*KB)
|
test("192.168.1.40", 6000, 128*KB)
|
||||||
|
test("192.168.1.40", 8000, 128*KB)
|
||||||
|
|
Loading…
Reference in New Issue