Initial multi-shell support for Quartus

parent 044c49ef
...@@ -48,7 +48,7 @@ class ToolQuartus(ToolSyn): ...@@ -48,7 +48,7 @@ class ToolQuartus(ToolSyn):
STANDARD_LIBS = ['altera', 'altera_mf', 'lpm', 'ieee', 'std'] STANDARD_LIBS = ['altera', 'altera_mf', 'lpm', 'ieee', 'std']
_QUARTUS_SOURCE = 'set_global_assignment -name {0} $$filename' _QUARTUS_SOURCE = 'set_global_assignment -name {0} $(sourcefile)'
SUPPORTED_FILES = { SUPPORTED_FILES = {
SignalTapFile: _QUARTUS_SOURCE.format('SIGNALTAP_FILE'), SignalTapFile: _QUARTUS_SOURCE.format('SIGNALTAP_FILE'),
...@@ -80,12 +80,12 @@ class ToolQuartus(ToolSyn): ...@@ -80,12 +80,12 @@ class ToolQuartus(ToolSyn):
'mrproper': ["*.sof", "*.pof", "*.jam", "*.jbc", 'mrproper': ["*.sof", "*.pof", "*.jam", "*.jbc",
"*.ekp", "*.jic"]} "*.ekp", "*.jic"]}
TCL_CONTROLS = {'create': 'load_package flow\n' TCL_CONTROLS = {'create': 'load_package flow; '
'project_new $(PROJECT)', 'project_new $(PROJECT)',
'open': 'load_package flow\n' 'open': 'load_package flow; '
'project_open $(PROJECT)', 'project_open $(PROJECT)',
'project': '$(TCL_CREATE)\n' 'project': '$(TCL_CREATE)\n'
'$(TCL_FILES)', 'source files.tcl',
'bitstream': '$(TCL_OPEN)\n' 'bitstream': '$(TCL_OPEN)\n'
'execute_flow -compile', 'execute_flow -compile',
'install_source': ''} 'install_source': ''}
...@@ -166,24 +166,21 @@ class ToolQuartus(ToolSyn): ...@@ -166,24 +166,21 @@ class ToolQuartus(ToolSyn):
family_string = __get_family_string( family_string = __get_family_string(
family=self.manifest_dict.get("syn_family", None), family=self.manifest_dict.get("syn_family", None),
device=self.manifest_dict.get("syn_device", '')) device=self.manifest_dict.get("syn_device", ''))
device_string = ( device_string = "$(SYN_DEVICE)$(SYN_PACKAGE)$(SYN_GRADE)"
self.manifest_dict["syn_device"] +
self.manifest_dict["syn_package"] +
self.manifest_dict["syn_grade"]).upper()
command_list = [] command_list = []
command_list.append(self._tcl_controls["project"]) command_list.append(self._tcl_controls["project"])
command_list.append(_emit_property( command_list.append(_emit_property(
self.SET_GLOBAL_ASSIGNMENT, self.SET_GLOBAL_ASSIGNMENT,
name_type='FAMILY', name_type='FAMILY',
name='"' + family_string + '"')) name='\\"$(SYN_FAMILY)\\"'))
command_list.append(_emit_property( command_list.append(_emit_property(
self.SET_GLOBAL_ASSIGNMENT, self.SET_GLOBAL_ASSIGNMENT,
name_type='DEVICE', name_type='DEVICE',
name=device_string)) name='\\"' + device_string + '\\"'))
command_list.append(_emit_property( command_list.append(_emit_property(
self.SET_GLOBAL_ASSIGNMENT, self.SET_GLOBAL_ASSIGNMENT,
name_type='TOP_LEVEL_ENTITY', name_type='TOP_LEVEL_ENTITY',
name=self.manifest_dict["syn_top"])) name='\\"$(TOP_MODULE)\\"'))
# Insert the Quartus standard control TCL files # Insert the Quartus standard control TCL files
if "quartus_preflow" in self.manifest_dict: if "quartus_preflow" in self.manifest_dict:
path = path_mod.compose( path = path_mod.compose(
......
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