Update the existing manifest in vsim-like simulator to avoid extra instance attributes

parent 4b43787e
......@@ -46,9 +46,6 @@ class ToolModelsim(VsimMakefileWriter):
def __init__(self):
super(ToolModelsim, self).__init__()
self.vcom_flags.extend(["-modelsimini", "modelsim.ini"])
self.vlog_flags.extend(["-modelsimini", "modelsim.ini"])
self.vmap_flags.extend(["-modelsimini", "modelsim.ini"])
self.copy_rules["modelsim.ini"] = os.path.join(
"$(MODELSIM_INI_PATH)", "modelsim.ini")
self.additional_deps.append("modelsim.ini")
......@@ -65,4 +62,11 @@ class ToolModelsim(VsimMakefileWriter):
else:
modelsim_ini_path = os.path.join("$(HDLMAKE_MODELSIM_PATH)", "..")
self.custom_variables["MODELSIM_INI_PATH"] = modelsim_ini_path
modelsim_ini = "-modelsimini modelsim.ini "
vcom_opt = self.manifest_dict.get("vcom_opt", '')
self.manifest_dict["vcom_opt"] = modelsim_ini + vcom_opt
vlog_opt = self.manifest_dict.get("vlog_opt", '')
self.manifest_dict["vlog_opt"] = modelsim_ini + vlog_opt
vmap_opt = self.manifest_dict.get("vmap_opt", '')
self.manifest_dict["vmap_opt"] = modelsim_ini + vmap_opt
super(ToolModelsim, self)._makefile_sim_options()
......@@ -79,7 +79,12 @@ class ToolRiviera(VsimMakefileWriter):
def __init__(self):
super(ToolRiviera, self).__init__()
self.vcom_flags.append("-2008")
self._tool_info.update(ToolRiviera.TOOL_INFO)
self._standard_libs.extend(ToolRiviera.STANDARD_LIBS)
self._clean_targets.update(ToolRiviera.CLEAN_TARGETS)
def _makefile_sim_options(self):
"""Print the Riviera options to the Makefile"""
vcom_opt = self.manifest_dict.get("vcom_opt", '')
self.manifest_dict["vcom_opt"] = "-2008 " + vcom_opt
super(ToolRiviera, self)._makefile_sim_options()
......@@ -46,11 +46,6 @@ class VsimMakefileWriter(ToolSim):
def __init__(self):
super(VsimMakefileWriter, self).__init__()
# additional global flags to pass to every invocation of these commands
self.vcom_flags = ["-quiet", ]
self.vsim_flags = []
self.vlog_flags = ["-quiet", ]
self.vmap_flags = []
# These are variables that will be set in the makefile
# The key is the variable name, and the value is the variable value
self.custom_variables = {}
......@@ -73,22 +68,18 @@ class VsimMakefileWriter(ToolSim):
if not vlog_aux.startswith("+incdir+"):
ret.append(vlog_aux)
return ' '.join(ret)
vcom_flags = ["-quiet", ]
vsim_flags = []
vlog_flags = ["-quiet", ]
vmap_flags = []
vlog_flags.append(__get_rid_of_vsim_incdirs(
self.manifest_dict.get("vlog_opt", '')))
vcom_flags.append(self.manifest_dict.get("vcom_opt", ''))
vmap_flags.append(self.manifest_dict.get("vmap_opt", ''))
vsim_flags.append(self.manifest_dict.get("vsim_opt", ''))
vcom_flags = "-quiet " + self.manifest_dict.get("vcom_opt", '')
vsim_flags = "" + self.manifest_dict.get("vsim_opt", '')
vlog_flags = "-quiet " + __get_rid_of_vsim_incdirs(
self.manifest_dict.get("vlog_opt", ''))
vmap_flags = "" + self.manifest_dict.get("vmap_opt", '')
for var, value in six.iteritems(self.custom_variables):
self.writeln("%s := %s" % (var, value))
self.writeln()
self.writeln("VCOM_FLAGS := %s" % (' '.join(vcom_flags)))
self.writeln("VSIM_FLAGS := %s" % (' '.join(vsim_flags)))
self.writeln("VLOG_FLAGS := %s" % (' '.join(vlog_flags)))
self.writeln("VMAP_FLAGS := %s" % (' '.join(vmap_flags)))
self.writeln("VCOM_FLAGS := %s" % vcom_flags)
self.writeln("VSIM_FLAGS := %s" % vsim_flags)
self.writeln("VLOG_FLAGS := %s" % vlog_flags)
self.writeln("VMAP_FLAGS := %s" % vmap_flags)
def _makefile_sim_compilation(self):
"""Write a properly formatted Makefile for the simulator.
......
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