def do_sp_test(speed): resources = xmostest.request_resource("xsim") binary = 'i2c_sp_test/bin/%(speed)d/i2c_sp_test_%(speed)d.xe' % { 'speed': speed } checker = I2CMasterChecker("tile[0]:XS1_PORT_8A.1", "tile[0]:XS1_PORT_8A.3", tx_data=[0x99, 0x3A, 0xff], expected_speed=speed) tester = xmostest.ComparisonTester(open('single_port_test.expect'), 'lib_i2c', 'i2c_master_sim_tests', 'single_port_test', {'speed': speed}, regexp=True) if speed == 10: tester.set_min_testlevel('nightly') xmostest.run_on_simulator(resources['xsim'], binary, simthreads=[checker], simargs=['--weak-external-drive'], suppress_multidrive_messages=True, tester=tester)
def do_master_test(arch, stop): resources = xmostest.request_resource("xsim") binary = 'i2c_master_test/bin/tx_only_%(stop)s_%(arch)s/i2c_master_test_tx_only_%(stop)s_%(arch)s.xe' % { 'stop': stop, 'arch': arch, } checker = I2CMasterChecker( "tile[0]:XS1_PORT_1A", "tile[0]:XS1_PORT_1B", tx_data=[0x99, 0x3A, 0xff], expected_speed=400, ack_sequence=[True, True, True, True, True, False, False, True]) tester = xmostest.ComparisonTester(open('ack_test_%s.expect' % stop), 'lib_i2c', 'i2c_master_sim_tests', 'ack_test', { 'speed': 400, 'arch': arch, 'stop': stop }, regexp=True) xmostest.run_on_simulator(resources['xsim'], binary, simthreads=[checker], simargs=['--weak-external-drive'], suppress_multidrive_messages=True, tester=tester)
def do_test(arch): resources = xmostest.request_resource("xsim") binary = 'i2c_test_locks/bin/%(arch)s/i2c_test_locks_%(arch)s.xe' % { 'arch': arch } speed = 400 checker = I2CMasterChecker("tile[0]:XS1_PORT_1A", "tile[0]:XS1_PORT_1B", expected_speed=speed) tester = xmostest.ComparisonTester(open('lock_test.expect'), 'lib_i2c', 'i2c_master_sim_tests', 'bus_locks', { 'speed': speed, 'arch': arch }, regexp=True) xmostest.run_on_simulator(resources['xsim'], binary, simthreads=[checker], simargs=['--weak-external-drive'], suppress_multidrive_messages=True, tester=tester)
def do_test(arch): resources = xmostest.request_resource("xsim") binary = 'i2c_master_reg_test/bin/%(arch)s/i2c_master_reg_test_%(arch)s.xe' % { 'arch' : arch } checker = I2CMasterChecker("tile[0]:XS1_PORT_1A", "tile[0]:XS1_PORT_1B", tx_data=[0x99, 0x3A, 0xff, 0x05, 0x11, 0x22], expected_speed=400, ack_sequence=[False, # NACK header True, True, False, # NACK before data True, False, # NACK before data True, False, # NACK before data False, # NACK address True, False, # NACK before data True, False, # NACK before data True, True, False # NACK before data ]) tester = xmostest.ComparisonTester(open('reg_ops_nack.expect'), 'lib_i2c', 'i2c_master_sim_tests', 'reg_ops_nack_test', {'arch' : arch}, regexp=True) xmostest.run_on_simulator(resources['xsim'], binary, simthreads=[checker], simargs=['--weak-external-drive'], suppress_multidrive_messages=True, tester=tester)
def do_master_test(arch, speed, impl, stop): resources = xmostest.request_resource("xsim") binary = 'i2c_master_async_test/bin/%(impl)s_%(speed)s_%(arch)s_%(stop)s/i2c_master_async_test_%(impl)s_%(speed)s_%(arch)s_%(stop)s.xe' % { 'impl' : impl, 'speed' : speed, 'arch' : arch, 'stop' : stop } checker = I2CMasterChecker("tile[0]:XS1_PORT_1A", "tile[0]:XS1_PORT_1B", tx_data = [0x99, 0x3A, 0xff], expected_speed = speed, ack_sequence=[True, True, False, True, True, True, True, True, False, True, False]) tester = xmostest.ComparisonTester(open('master_test_%s.expect' % stop), 'lib_i2c', 'i2c_master_sim_tests', 'async_basic_test', {'speed' : speed, 'impl' : impl, 'arch' : arch, 'stop' : stop}, regexp=True) if speed == 10: tester.set_min_testlevel('nightly') xmostest.run_on_simulator(resources['xsim'], binary, simthreads = [checker], simargs=['--weak-external-drive'], suppress_multidrive_messages = True, tester = tester)
def runtest(): resources = xmostest.request_resource("xsim") speed = 100 build_config = "interfere" binary = 'i2c_master_async_test/bin/%(config)s/i2c_master_async_test_%(config)s.xe' % {'config':build_config} checker = I2CMasterChecker("tile[0]:XS1_PORT_1A", "tile[0]:XS1_PORT_1B", tx_data = [0x99, 0x3A, 0xff], expected_speed = None, ack_sequence=[True, True, False, True, True, True, True, True, False, True, False]) tester = xmostest.ComparisonTester(open('master_test.expect'), 'lib_i2c', 'i2c_master_sim_tests', 'async_interference_test', {'speed':str(speed)}, regexp=True) xmostest.run_on_simulator(resources['xsim'], binary, simthreads = [checker], simargs=['--weak-external-drive'], suppress_multidrive_messages = True, tester = tester)
def do_master_test(speed, comb): resources = xmostest.request_resource("xsim") if comb: build_config = "comb_%d" % speed config = {'speed':speed,'impl':'comb'} else: build_config = str(speed) config = {'speed':speed,'impl':'noncomb'} binary = 'i2c_master_async_test/bin/%(config)s/i2c_master_async_test_%(config)s.xe' % {'config':build_config} checker = I2CMasterChecker("tile[0]:XS1_PORT_1A", "tile[0]:XS1_PORT_1B", tx_data = [0x99, 0x3A, 0xff], expected_speed = speed, ack_sequence=[True, True, False, True, True, True, True, True, False, True, False]) tester = xmostest.ComparisonTester(open('master_test.expect'), 'lib_i2c', 'i2c_master_sim_tests', 'async_basic_test', config, regexp=True) if speed == 10: tester.set_min_testlevel('nightly') xmostest.run_on_simulator(resources['xsim'], binary, simthreads = [checker], simargs=['--weak-external-drive'], suppress_multidrive_messages = True, tester = tester)
def do_sp_test(stop, speed): resources = xmostest.request_resource("xsim") binary = 'i2c_sp_test/bin/%(speed)d_%(stop)s/i2c_sp_test_%(speed)d_%(stop)s.xe' % { 'speed' : speed, 'stop' : stop } checker = I2CMasterChecker("tile[0]:XS1_PORT_8A.1", "tile[0]:XS1_PORT_8A.3", tx_data=[0x99, 0x3a, 0xff, 0xaa, 0xbb], expected_speed=speed, # Test some sequences ending with ACK, some with NACK ack_sequence=[True, True, False, True, True, True, False]) tester = xmostest.ComparisonTester(open('single_port_test_%s.expect' % stop), 'lib_i2c', 'i2c_master_sim_tests', 'single_port_test', {'speed':speed, 'stop':stop}, regexp=True) if speed == 10: tester.set_min_testlevel('nightly') sim_args = ['--weak-external-drive'] xmostest.run_on_simulator(resources['xsim'], binary, simthreads = [checker], simargs=sim_args, suppress_multidrive_messages = True, tester = tester)
def runtest(): resources = xmostest.request_resource("xsim") binary = 'i2c_master_test/bin/rx_tx_400/i2c_master_test_rx_tx_400.xe' checker = I2CMasterChecker("tile[0]:XS1_PORT_1A", "tile[0]:XS1_PORT_1B", tx_data=[0x99, 0x3A, 0xff], expected_speed=175, clock_stretch=5000, ack_sequence=[ True, True, False, True, True, True, True, True, False, True, False ]) tester = xmostest.ComparisonTester(open('master_test.expect'), 'lib_i2c', 'i2c_master_sim_tests', 'clock_stretch', regexp=True) xmostest.run_on_simulator(resources['xsim'], binary, simthreads=[checker], simargs=['--weak-external-drive'], suppress_multidrive_messages=True, tester=tester)
def do_test(arch, stop): resources = xmostest.request_resource("xsim") speed = 400 binary = 'i2c_master_test/bin/rx_tx_%(speed)s_%(stop)s_%(arch)s/i2c_master_test_rx_tx_%(speed)s_%(stop)s_%(arch)s.xe' % { 'speed': speed, 'stop': stop, 'arch': arch, } checker = I2CMasterChecker("tile[0]:XS1_PORT_1A", "tile[0]:XS1_PORT_1B", tx_data=[0x99, 0x3A, 0xff], expected_speed=170, clock_stretch=5000, ack_sequence=[ True, True, False, True, True, True, True, True, False, True, False ]) tester = xmostest.ComparisonTester(open('master_test_%s.expect' % stop), 'lib_i2c', 'i2c_master_sim_tests', 'clock_stretch', { 'speed': speed, 'stop': stop, 'arch': arch }, regexp=True) # vcd_args = '-o test.vcd' # vcd_args += ( ' -tile tile[0] -ports -ports-detailed -instructions' # ' -functions -cycles -clock-blocks -pads' ) # sim_args = ['--weak-external-drive', '--trace-to', 'sim.log'] # sim_args += [ '--vcd-tracing', vcd_args ] sim_args = ['--weak-external-drive'] xmostest.run_on_simulator(resources['xsim'], binary, simthreads=[checker], simargs=sim_args, suppress_multidrive_messages=True, tester=tester)
def runtest(): resources = xmostest.request_resource("xsim") binary = 'i2c_test_repeated_start/bin/i2c_test_repeated_start.xe' checker = I2CMasterChecker("tile[0]:XS1_PORT_1A", "tile[0]:XS1_PORT_1B", expected_speed=400) tester = xmostest.ComparisonTester(open('repeated_start.expect'), 'lib_i2c', 'i2c_master_sim_tests', 'repeated_start', regexp=True) xmostest.run_on_simulator(resources['xsim'], binary, simthreads=[checker], simargs=['--weak-external-drive'], suppress_multidrive_messages=True, tester=tester)