Ejemplo n.º 1
0
def test_capi2_get_tool_options():
    from fusesoc.core import Core

    core_file = os.path.join(tests_dir,
                             "capi2_cores",
                             "misc",
                             "targets.core")
    core = Core(core_file)

    with pytest.raises(KeyError):
        core.get_tool_options({})

    assert {} == core.get_tool_options({'tool' : 'icarus'})
    flags = {'target'      : 'target_with_tool_options',
             'is_toplevel' : True}

    flags['tool'] = 'icarus'
    expected = {'iverilog_options' : ['a', 'few', 'options']}
    assert expected == core.get_tool_options(flags)

    flags['tool'] = 'vivado'
    expected = {'part' : 'xc7a35tcsg324-1'}
    assert expected == core.get_tool_options(flags)

    flags['tool'] = 'invalid'
    expected = {}
    assert expected == core.get_tool_options(flags)
Ejemplo n.º 2
0
def test_capi2_get_tool_options():
    from fusesoc.core import Core

    core_file = os.path.join(tests_dir,
                             "capi2_cores",
                             "misc",
                             "targets.core")
    core = Core(core_file)

    with pytest.raises(KeyError):
        core.get_tool_options({})

    assert {} == core.get_tool_options({'tool' : 'icarus'})
    flags = {'target'      : 'target_with_tool_options',
             'is_toplevel' : True}

    flags['tool'] = 'icarus'
    expected = {'iverilog_options' : ['a', 'few', 'options']}
    assert expected == core.get_tool_options(flags)

    flags['tool'] = 'vivado'
    expected = {'part' : 'xc7a35tcsg324-1'}
    assert expected == core.get_tool_options(flags)

    flags['tool'] = 'invalid'
    expected = {}
    assert expected == core.get_tool_options(flags)
Ejemplo n.º 3
0
def test_verilator():
    cores_root = os.path.join(os.path.dirname(__file__), __name__)

    core = Core(os.path.join(cores_root, "verilator_managed_systemc.core"))
    expected = {'cli_parser' : 'managed', 'libs' : [], 'mode' : 'sc'}
    assert expected == core.get_tool_options({'is_toplevel' : True, 'tool' : 'verilator'})

    assert len(core.file_sets) == 2
    compare_fileset(core.file_sets[0], 'verilator_src_files', ['file1.sc', 'file2.sc'])
    assert core.file_sets[0].file[0].file_type == 'systemCSource'
    assert core.file_sets[0].file[1].file_type == 'systemCSource'

    compare_fileset(core.file_sets[1], 'verilator_tb_toplevel', [])
Ejemplo n.º 4
0
def test_get_tool_options():
    cores_root = os.path.join(os.path.dirname(__file__), "cores")

    core = Core(
        os.path.join(cores_root, "mor1kx-generic", "mor1kx-generic.core"))
    assert {
        "iverilog_options": ["-DSIM"]
    } == core.get_tool_options({
        "is_toplevel": True,
        "tool": "icarus"
    })
    assert {} == core.get_tool_options({
        "is_toplevel": True,
        "tool": "modelsim"
    })
    assert {
        "fuse_options": ["some", "isim", "options"]
    } == core.get_tool_options({
        "is_toplevel": True,
        "tool": "isim"
    })
    expected = {
        "xelab_options": [
            "--timescale 1ps/1ps",
            "--debug typical",
            "dummy",
            "options",
            "for",
            "xelab",
        ]
    }
    assert expected == core.get_tool_options({
        "is_toplevel": True,
        "tool": "xsim"
    })
    assert {} == core.get_tool_options({
        "is_toplevel": False,
        "tool": "icarus"
    })

    core = Core(os.path.join(cores_root, "elf-loader", "elf-loader.core"))
    assert {
        "libs": ["-lelf"]
    } == core.get_tool_options({
        "is_toplevel": False,
        "tool": "verilator"
    })
    assert {} == core.get_tool_options({
        "is_toplevel": True,
        "tool": "invalid"
    })
Ejemplo n.º 5
0
def test_verilator():
    cores_root = os.path.join(os.path.dirname(__file__), __name__)

    core = Core(os.path.join(cores_root, "verilator_managed_systemc.core"))
    expected = {"cli_parser": "managed", "libs": [], "mode": "sc"}
    assert expected == core.get_tool_options({
        "is_toplevel": True,
        "tool": "verilator"
    })

    assert len(core.file_sets) == 2
    compare_fileset(core.file_sets[0], "verilator_src_files",
                    ["file1.sc", "file2.sc"])
    assert core.file_sets[0].file[0].file_type == "systemCSource"
    assert core.file_sets[0].file[1].file_type == "systemCSource"

    compare_fileset(core.file_sets[1], "verilator_tb_toplevel", [])
Ejemplo n.º 6
0
def test_verilator():
    cores_root = os.path.join(os.path.dirname(__file__), __name__)

    core = Core(os.path.join(cores_root, "verilator_managed_systemc.core"))
    expected = {'cli_parser': 'managed', 'libs': [], 'mode': 'sc'}
    assert expected == core.get_tool_options({
        'is_toplevel': True,
        'tool': 'verilator'
    })

    assert len(core.file_sets) == 2
    compare_fileset(core.file_sets[0], 'verilator_src_files',
                    ['file1.sc', 'file2.sc'])
    assert core.file_sets[0].file[0].file_type == 'systemCSource'
    assert core.file_sets[0].file[1].file_type == 'systemCSource'

    compare_fileset(core.file_sets[1], 'verilator_tb_toplevel', [])
Ejemplo n.º 7
0
def test_get_tool_options():
    cores_root = os.path.join(os.path.dirname(__file__), 'cores')

    core = Core(os.path.join(cores_root, 'mor1kx-generic', 'mor1kx-generic.core'))
    assert {'iverilog_options' : ['-DSIM']} == core.get_tool_options({'is_toplevel' : True, 'tool' : 'icarus'})
    assert {} == core.get_tool_options({'is_toplevel' : True, 'tool' : 'modelsim'})
    assert {'fuse_options' : ['some','isim','options']} == core.get_tool_options({'is_toplevel' : True, 'tool' : 'isim'})
    expected = {'xelab_options' : ['--timescale 1ps/1ps', '--debug typical',
                                   'dummy', 'options', 'for', 'xelab']}
    assert expected == core.get_tool_options({'is_toplevel' : True, 'tool' : 'xsim'})
    assert {} == core.get_tool_options({'is_toplevel' : False, 'tool' : 'icarus'})

    core = Core(os.path.join(cores_root, 'elf-loader', 'elf-loader.core'))
    assert {'libs' : ['-lelf']} == core.get_tool_options({'is_toplevel' : False, 'tool' : 'verilator'})
    assert {} == core.get_tool_options({'is_toplevel' : True, 'tool' : 'invalid'})
Ejemplo n.º 8
0
def test_get_tool_options():
    cores_root = os.path.join(os.path.dirname(__file__), 'cores')

    core = Core(
        os.path.join(cores_root, 'mor1kx-generic', 'mor1kx-generic.core'))
    assert {
        'iverilog_options': ['-DSIM']
    } == core.get_tool_options({
        'is_toplevel': True,
        'tool': 'icarus'
    })
    assert {} == core.get_tool_options({
        'is_toplevel': True,
        'tool': 'modelsim'
    })
    assert {
        'fuse_options': ['some', 'isim', 'options']
    } == core.get_tool_options({
        'is_toplevel': True,
        'tool': 'isim'
    })
    expected = {
        'xelab_options': [
            '--timescale 1ps/1ps', '--debug typical', 'dummy', 'options',
            'for', 'xelab'
        ]
    }
    assert expected == core.get_tool_options({
        'is_toplevel': True,
        'tool': 'xsim'
    })
    assert {} == core.get_tool_options({
        'is_toplevel': False,
        'tool': 'icarus'
    })

    core = Core(os.path.join(cores_root, 'elf-loader', 'elf-loader.core'))
    assert {
        'libs': ['-lelf']
    } == core.get_tool_options({
        'is_toplevel': False,
        'tool': 'verilator'
    })
    assert {} == core.get_tool_options({
        'is_toplevel': True,
        'tool': 'invalid'
    })
Ejemplo n.º 9
0
def test_capi2_get_tool_options():
    from fusesoc.core import Core

    core_file = os.path.join(tests_dir, "capi2_cores", "misc", "targets.core")
    core = Core(core_file)

    with pytest.raises(KeyError):
        core.get_tool_options({})

    assert {} == core.get_tool_options({"tool": "icarus"})
    flags = {"target": "target_with_tool_options", "is_toplevel": True}

    flags["tool"] = "icarus"
    expected = {"iverilog_options": ["a", "few", "options"]}
    assert expected == core.get_tool_options(flags)

    flags["tool"] = "vivado"
    expected = {"part": "xc7a35tcsg324-1"}
    assert expected == core.get_tool_options(flags)

    flags["tool"] = "invalid"
    expected = {}
    assert expected == core.get_tool_options(flags)