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)
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)
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', [])
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" })
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", [])
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', [])
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'})
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' })
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)