#!/usr/bin/env python3 import sys sys.path.insert(0, '/opt') from litex.soc.tools.remote import RemoteClient wb = RemoteClient() wb.open() # # # # get identifier fpga_id = "" for i in range(256): c = chr(wb.read(wb.bases.identifier_mem + 4 * i) & 0xff) fpga_id += c if c == "\0": break print("fpga_id: " + fpga_id) # # # wb.close()
dac0.print_status() # release/reset jesd core wb_amc.regs.dac0_control_prbs_config.write(0) wb_amc.regs.dac0_control_enable.write(0) wb_amc.regs.dac0_control_enable.write(1) time.sleep(1) # show dac0 status dac0.print_status() # prbs test if len(sys.argv) > 1: if sys.argv[1] == "prbs": fpga_prbs_configs = {"prbs7": 0b01, "prbs15": 0b10, "prbs31": 0b11} for prbs in ["prbs7", "prbs15", "prbs31"]: # configure prbs on fpga wb_amc.regs.dac0_control_prbs_config.write(fpga_prbs_configs[prbs]) # prbs test on ad9154 status, errors = dac0.prbs_test(prbs, 100) print("{:s} test status: {:02x}".format(prbs, status)) print("-" * 40) for i in range(8): print("-lane{:d}: {:d} errors".format(i, errors[i])) # # # wb_amc.close() wb_rtm.close()
from litex.soc.tools.remote import RemoteClient wb = RemoteClient() wb.open() # # # identifier = "" for i in range(30): identifier += chr(wb.read(wb.bases.identifier_mem + 4*(i+1))) # TODO: why + 1? print(identifier) print("frequency : {}MHz".format(wb.constants.system_clock_frequency/1000000)) print("link up : {}".format(wb.regs.pcie_phy_lnk_up.read())) print("bus_master_enable : {}".format(wb.regs.pcie_phy_bus_master_enable.read())) print("msi_enable : {}".format(wb.regs.pcie_phy_msi_enable.read())) print("max_req_request_size : {}".format(wb.regs.pcie_phy_max_request_size.read())) print("max_payload_size : {}".format(wb.regs.pcie_phy_max_payload_size.read())) # # # wb.close()
runpy.run_path("libbase/hmc7043_config_6gbps.py", {"dut": HMC7043DUT}) wb_rtm = RemoteClient(port=1234, csr_csv="../sayma_rtm/csr.csv", debug=False) wb_rtm.open() # # # # clock muxes : 100MHz ext SMA clock to HMC830 input wb_rtm.regs.clk_src_ext_sel_out.write(1) # use ext clk from sma wb_rtm.regs.ref_clk_src_sel_out.write(1) wb_rtm.regs.dac_clk_src_sel_out.write(0) # use clk from dac_clk hmc830 = HMC830(wb_rtm.regs) hmc7043 = HMC7043(wb_rtm.regs) print("HMC830 present: {:s}".format(str(hmc830.check_presence()))) print("HMC7043 present: {:s}".format(str(hmc7043.check_presence()))) # configure hmc830 for addr, data in hmc830_config: hmc830.write(addr, data) # configure hmc7043 for addr, data in hmc7043_config: hmc7043.write(addr, data) # # # wb_rtm.close()