Refactor how the tool_info is stored in their Classes

parent ef068159
......@@ -71,7 +71,7 @@ class ActionSimulation(
elif tool_name is "ghdl":
tool_object = ToolGHDL()
tool_info = tool_object.get_keys()
tool_info = tool_object.TOOL_INFO
if sys.platform == 'cygwin':
bin_name = tool_info['windows_bin']
else:
......
......@@ -79,7 +79,7 @@ class ActionSynthesis(
self._check_synthesis_makefile()
tool_object = self._load_synthesis_tool()
tool_info = tool_object.get_keys()
tool_info = tool_object.TOOL_INFO
path_key = tool_info['id'] + '_path'
name = tool_info['name']
......@@ -202,7 +202,7 @@ end sdb_meta_pkg;""")
self._check_synthesis_project()
tool_object = self._load_synthesis_tool()
tool_info = tool_object.get_keys()
tool_info = tool_object.TOOL_INFO
path_key = tool_info['id'] + '_path'
version_key = tool_info['id'] + '_version'
name = tool_info['name']
......
......@@ -123,7 +123,7 @@ class Env(dict):
def check_tool(self, info_class):
tool_info = info_class.get_keys()
tool_info = info_class.TOOL_INFO
if sys.platform == 'cygwin':
bin_name = tool_info['windows_bin']
else:
......
......@@ -28,21 +28,19 @@ from hdlmake.action import ActionMakefile
class ToolActiveHDL(ActionMakefile):
TOOL_INFO = {
'name': 'Aldec Active-HDL',
'id': 'aldec',
'windows_bin': 'vsimsa',
'linux_bin': None}
def __init__(self):
super(ToolActiveHDL, self).__init__()
def detect_version(self, path):
pass
def get_keys(self):
tool_info = {
'name': 'Aldec Active-HDL',
'id': 'aldec',
'windows_bin': 'vsimsa',
'linux_bin': None
}
return tool_info
def get_standard_libraries(self):
ALDEC_STANDARD_LIBS = ['ieee', 'std']
return ALDEC_STANDARD_LIBS
......
......@@ -34,22 +34,19 @@ DIAMOND_STANDARD_LIBS = ['ieee', 'std']
class ToolDiamond(ActionMakefile):
TOOL_INFO = {
'name': 'Diamond',
'id': 'diamond',
'windows_bin': 'pnmainc',
'linux_bin': 'diamondc',
'project_ext': 'ldf'}
def __init__(self):
super(ToolDiamond, self).__init__()
def detect_version(self, path):
return 'unknown'
def get_keys(self):
tool_info = {
'name': 'Diamond',
'id': 'diamond',
'windows_bin': 'pnmainc',
'linux_bin': 'diamondc',
'project_ext': 'ldf'
}
return tool_info
def get_standard_libraries(self):
return DIAMOND_STANDARD_LIBS
......
......@@ -27,21 +27,18 @@ from hdlmake.action import ActionMakefile
class ToolGHDL(ActionMakefile):
TOOL_INFO = {
'name': 'GHDL',
'id': 'ghdl',
'windows_bin': 'ghdl',
'linux_bin': 'ghdl'}
def __init__(self):
super(ToolGHDL, self).__init__()
def detect_version(self, path):
pass
def get_keys(self):
tool_info = {
'name': 'GHDL',
'id': 'ghdl',
'windows_bin': 'ghdl',
'linux_bin': 'ghdl'
}
return tool_info
def get_standard_libraries(self):
GHDL_STANDARD_LIBS = ['ieee', 'std']
return GHDL_STANDARD_LIBS
......@@ -66,10 +63,11 @@ class ToolGHDL(ActionMakefile):
self.writeln("""\
#target for cleaning all intermediate stuff
clean:
\t\trm -rf *.cf
\t\trm -rf *.cf *.o $(TOP_MODULE)
#target for cleaning final files
mrproper: clean
\t\trm -r *.vcd
""")
......
This diff is collapsed.
......@@ -44,18 +44,15 @@ ISIM_STANDARD_LIBS = ['std', 'ieee', 'ieee_proposed', 'vl', 'synopsys',
class ToolISim(ActionMakefile):
TOOL_INFO = {
'name': 'ISim',
'id': 'isim',
'windows_bin': 'isimgui',
'linux_bin': 'isimgui'}
def __init__(self):
super(ToolISim, self).__init__()
def get_keys(self):
tool_info = {
'name': 'ISim',
'id': 'isim',
'windows_bin': 'isimgui',
'linux_bin': 'isimgui'
}
return tool_info
def get_standard_libraries(self):
return ISIM_STANDARD_LIBS
......
......@@ -40,18 +40,15 @@ IVERILOG_STANDARD_LIBS = ['std', 'ieee', 'ieee_proposed', 'vl', 'synopsys',
class ToolIVerilog(ActionMakefile):
TOOL_INFO = {
'name': 'Icarus Verilog',
'id': 'iverilog',
'windows_bin': 'iverilog',
'linux_bin': 'iverilog'}
def __init__(self):
super(ToolIVerilog, self).__init__()
def get_keys(self):
tool_info = {
'name': 'Icarus Verilog',
'id': 'iverilog',
'windows_bin': 'iverilog',
'linux_bin': 'iverilog'
}
return tool_info
def get_standard_libraries(self):
return IVERILOG_STANDARD_LIBS
......
......@@ -35,22 +35,19 @@ LIBERO_STANDARD_LIBS = ['ieee', 'std']
class ToolLibero(ActionMakefile):
TOOL_INFO = {
'name': 'Libero',
'id': 'libero',
'windows_bin': 'libero',
'linux_bin': 'libero',
'project_ext': 'prjx'}
def __init__(self):
super(ToolLibero, self).__init__()
def detect_version(self, path):
return 'unknown'
def get_keys(self):
tool_info = {
'name': 'Libero',
'id': 'libero',
'windows_bin': 'libero',
'linux_bin': 'libero',
'project_ext': 'prjx' # older projects are prj
}
return tool_info
def get_standard_libraries(self):
return LIBERO_STANDARD_LIBS
......
......@@ -34,6 +34,13 @@ MODELSIM_STANDARD_LIBS = ['ieee', 'std', 'altera_mf']
class ToolModelsim(VsimMakefileWriter):
TOOL_INFO = {
'name': 'Modelsim',
'id': 'modelsim',
'windows_bin': 'vsim',
'linux_bin': 'vsim'}
def __init__(self):
super(ToolModelsim, self).__init__()
self.vcom_flags.extend(["-modelsimini", "modelsim.ini"])
......@@ -49,14 +56,6 @@ class ToolModelsim(VsimMakefileWriter):
def detect_version(self, path):
pass
def get_keys(self):
tool_info = {
'name': 'Modelsim',
'id': 'modelsim',
}
tool_info.update(super(ToolModelsim, self).get_keys())
return tool_info
def get_standard_libraries(self):
return MODELSIM_STANDARD_LIBS
......
......@@ -36,22 +36,19 @@ PLANAHEAD_STANDARD_LIBS = ['ieee', 'std']
class ToolPlanAhead(ActionMakefile):
TOOL_INFO = {
'name': 'PlanAhead',
'id': 'planahead',
'windows_bin': 'planAhead',
'linux_bin': 'planAhead',
'project_ext': 'ppr'}
def __init__(self):
super(ToolPlanAhead, self).__init__()
def detect_version(self, path):
return 'unknown'
def get_keys(self):
tool_info = {
'name': 'PlanAhead',
'id': 'planahead',
'windows_bin': 'planAhead',
'linux_bin': 'planAhead',
'project_ext': 'ppr'
}
return tool_info
def get_standard_libraries(self):
return PLANAHEAD_STANDARD_LIBS
......
......@@ -37,6 +37,13 @@ QUARTUS_STANDARD_LIBS = ['altera', 'altera_mf', 'lpm', 'ieee', 'std']
class ToolQuartus(ActionMakefile):
TOOL_INFO = {
'name': 'Quartus',
'id': 'quartus',
'windows_bin': 'quartus',
'linux_bin': 'quartus',
'project_ext': 'qsf'}
def __init__(self):
self._preflow = None
self._postmodule = None
......@@ -46,16 +53,6 @@ class ToolQuartus(ActionMakefile):
def detect_version(self, path):
return 'unknown'
def get_keys(self):
tool_info = {
'name': 'Quartus',
'id': 'quartus',
'windows_bin': 'quartus',
'linux_bin': 'quartus',
'project_ext': 'qsf'
}
return tool_info
def get_standard_libraries(self):
return QUARTUS_STANDARD_LIBS
......
......@@ -62,6 +62,12 @@ RIVIERA_STANDARD_LIBS.extend(RIVIERA_XILINX_VLOG_LIBRARIES)
class ToolRiviera(VsimMakefileWriter):
TOOL_INFO = {
'name': 'Riviera',
'id': 'riviera',
'windows_bin': 'vsim',
'linux_bin': 'vsim'}
def __init__(self):
super(ToolRiviera, self).__init__()
self.vcom_flags.append("-2008")
......@@ -70,14 +76,6 @@ class ToolRiviera(VsimMakefileWriter):
def detect_version(self, path):
pass
def get_keys(self):
tool_info = {
'name': 'Riviera',
'id': 'riviera',
}
tool_info.update(super(ToolRiviera, self).get_keys())
return tool_info
def get_standard_libraries(self):
return RIVIERA_STANDARD_LIBS
......
......@@ -61,14 +61,6 @@ class VsimMakefileWriter(ActionMakefile):
super(VsimMakefileWriter, self).__init__()
def get_keys(self):
tool_info = {
'windows_bin': 'vsim',
'linux_bin': 'vsim'
}
return tool_info
def _print_sim_options(self, top_module):
self.vlog_flags.append(
self.__get_rid_of_vsim_incdirs(top_module.manifest_dict["vlog_opt"]))
......
......@@ -35,22 +35,20 @@ VIVADO_STANDARD_LIBS = ['ieee', 'std']
class ToolVivado(ActionMakefile):
TOOL_INFO = {
'name': 'vivado',
'id': 'vivado',
'windows_bin': 'vivado',
'linux_bin': 'vivado',
'project_ext': 'xpr'
}
def __init__(self):
super(ToolVivado, self).__init__()
def detect_version(self, path):
return 'unknown'
def get_keys(self):
tool_info = {
'name': 'vivado',
'id': 'vivado',
'windows_bin': 'vivado',
'linux_bin': 'vivado',
'project_ext': 'xpr'
}
return tool_info
def get_standard_libraries(self):
return VIVADO_STANDARD_LIBS
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment