Ejemplo n.º 1
0
def test_library_location():
    from fusesoc.main import _get_core, init_coremanager

    tcf = tempfile.TemporaryFile(mode="w+")
    tcf.write(
        EXAMPLE_CONFIG.format(build_root=build_root,
                              cache_root=cache_root,
                              cores_root=cores_root,
                              library_root=library_root,
                              auto_sync='false',
                              sync_uri=sync_uri))
    tcf.seek(0)

    conf = Config(file=tcf)
    cm = init_coremanager(conf, [])

    _get_core(cm, 'mor1kx-generic')
    _get_core(cm, 'atlys')
Ejemplo n.º 2
0
def get_core(core):
    from fusesoc.coremanager import CoreManager
    from fusesoc.config import Config
    from fusesoc.main import _get_core

    config = Config()
    config.build_root = build_root
    config.cache_root = cache_root
    cm = CoreManager(config)
    cm.add_cores_root(cores_root)

    return _get_core(cm, core)
Ejemplo n.º 3
0
def get_core(core):
    import os
    from fusesoc.config import Config
    from fusesoc.coremanager import CoreManager
    from fusesoc.main import _get_core

    tests_dir = os.path.dirname(__file__)

    Config().build_root = os.path.join(tests_dir, 'build')
    Config().cache_root = os.path.join(tests_dir, 'cache')
    cores_root = os.path.join(tests_dir, 'cores')

    CoreManager().add_cores_root(cores_root)
    return _get_core(core)
Ejemplo n.º 4
0
def test_verilator():
    tests_dir = os.path.dirname(__file__)
    params = '--vlogparam_bool --vlogparam_int=42 --vlogparam_str=hello'
    params += ' --vlogdefine_bool --vlogdefine_int=42 --vlogdefine_str=hello'

    Config().build_root = os.path.join(tests_dir, 'build')
    Config().cache_root = os.path.join(tests_dir, 'cache')
    cores_root = os.path.join(tests_dir, 'cores')

    CoreManager().add_cores_root(cores_root)
    core = _get_core("mor1kx-generic")

    sim_name = 'verilator'
    CoreManager().tool = sim_name
    backend = _import('simulator', sim_name)(core, export=False)
    backend.configure(params.split())

    ref_dir = os.path.join(tests_dir, __name__)
    work_root = backend.work_root

    assert '' == compare_file(ref_dir, work_root, 'config.mk')
    assert '' == compare_file(ref_dir, work_root, 'Makefile')
    assert '' == compare_file(ref_dir, work_root, core.sanitized_name + '.vc')
Ejemplo n.º 5
0
def test_ise():
    tests_dir = os.path.dirname(__file__)
    params = '--vlogparam_bool --vlogparam_int=42 --vlogparam_str=hello'
    params += ' --vlogdefine_bool --vlogdefine_int=42 --vlogdefine_str=hello'

    Config().build_root = os.path.join(tests_dir, 'build')
    Config().cache_root = os.path.join(tests_dir, 'cache')
    cores_root = os.path.join(tests_dir, 'cores')

    CoreManager().add_cores_root(cores_root)
    core = _get_core("atlys")

    backend = _import('build', core.main.backend)(core, export=False)
    backend.configure(params.split())

    tcl_file = core.name.sanitized_name + '.tcl'
    reference_tcl = os.path.join(tests_dir, __name__, tcl_file)
    generated_tcl = os.path.join(backend.work_root, tcl_file)

    assert os.path.exists(generated_tcl)

    with open(reference_tcl) as f1, open(generated_tcl) as f2:
        diff = ''.join(difflib.unified_diff(f1.readlines(), f2.readlines()))
        assert diff == ''
Ejemplo n.º 6
0
def get_core(core):
    from fusesoc.main import _get_core

    return _get_core(common_cm, core)
Ejemplo n.º 7
0
def _run_test_util(cm, args):
    from fusesoc.main import _get_core
    _get_core(cm, 'mor1kx-generic')
    _get_core(cm, 'atlys')