Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def __init__(self, items=None):
super(MainSection, self).__init__()
self._add_member('name' , str , "Component name")
self._add_member('backend' , str , "Backend for FPGA implementation")
self._add_member('component' , PathList, "Core IP-Xact component file")
self._add_member('description', str, "Core description")
self._add_member('depend' , VlnvList, "Common dependencies")
self._add_member('simulators' , SimulatorList, "Supported simulators. Valid values are icarus, modelsim, verilator, isim and xsim. Each simulator have a dedicated section desribed elsewhere in this document")
self._add_member('patches' , StringList, "FuseSoC-specific patches")
if items:
self.load_dict(items)
class VhdlSection(Section):
TAG = 'vhdl'
def __init__(self, items=None):
super(VhdlSection, self).__init__()
self._add_member('src_files', PathList, "VHDL source files for simulation and synthesis")
if items:
self.load_dict(items)
self.export_files = self.src_files
class VerilogSection(Section):
TAG = 'verilog'
self.load_dict(items)
if not self.scope:
self.scope = 'public'
if not self.usage:
self.usage = ['sim', 'synth']
for f in self.files:
if not f.file_type:
f.file_type = self.file_type
if self.is_include_file.lower() == "true":
f.is_include_file = True
if not f.logical_name:
f.logical_name = self.logical_name
self.export_files = self.files
class VpiSection(Section):
TAG = 'vpi'
def __init__(self, items=None):
super(VpiSection, self).__init__()
self.include_dirs = []
self._add_member('src_files' , FileList, "C source files for VPI library")
self._add_member('include_files', FileList, "C include files for VPI library")
self._add_member('libs' , StringList, "External libraries linked with the VPI library")
if items:
self.load_dict(items)
if self.include_files:
self.include_dirs += unique_dirs(self.include_files)
if items:
self.load_dict(items)
class ToolSection(Section):
def __init__(self):
super(ToolSection, self).__init__()
self._add_member('depend', VlnvList, "Tool-specific Dependencies")
def __str__(self):
s = ""
if self.depend:
_s = "{}-specific dependencies : {}\n"
s += _s.format(self.TAG,
' '.join([x.depstr() for x in self.depend]))
return(s)
class MainSection(Section):
TAG = 'main'
def __init__(self, items=None):
super(MainSection, self).__init__()
self._add_member('name' , str , "Component name")
self._add_member('backend' , str , "Backend for FPGA implementation")
self._add_member('component' , PathList, "Core IP-Xact component file")
self._add_member('description', str, "Core description")
self._add_member('depend' , VlnvList, "Common dependencies")
self._add_member('simulators' , SimulatorList, "Supported simulators. Valid values are icarus, modelsim, verilator, isim and xsim. Each simulator have a dedicated section desribed elsewhere in this document")
self._add_member('patches' , StringList, "FuseSoC-specific patches")
if items:
self.load_dict(items)
setattr(self, item, _type(e.args[0]))
else:
self.warnings.append(
'Unknown item "%(item)s" in section "%(section)s"' % {
'item': item, 'section': self.TAG})
def __str__(self):
s = ''
for k,v in self._members.items():
if isinstance(v.get('type'), list):
s += k + ' : ' + ';'.join(getattr(self, item)) + '\n'
elif isinstance(v.get('type'), str):
s += k + ' : ' + getattr(self, k) + '\n'
return s
class ScriptsSection(Section):
TAG = 'scripts'
def __init__(self, items=None):
super(ScriptsSection, self).__init__()
self._add_member('pre_synth_scripts', StringList, 'Scripts to run before backend synthesis')
self._add_member('post_impl_scripts', StringList, 'Scripts to run after backend implementation')
self._add_member('pre_run_scripts' , StringList, 'Scripts to run before running simulations')
self._add_member('pre_build_scripts', StringList, 'Scripts to run before building')
self._add_member('pre_run_scripts' , StringList, 'Scripts to run before running simulations')
self._add_member('post_run_scripts' , StringList, 'Scripts to run after simulations')
if items:
self.load_dict(items)
class ToolSection(Section):
def __init__(self):
super(ToolSection, self).__init__()
elif isinstance(v.get('type'), str):
s += k + ' : ' + getattr(self, k) + '\n'
return s
class ScriptsSection(Section):
TAG = 'scripts'
def __init__(self, items=None):
super(ScriptsSection, self).__init__()
self._add_member('pre_build_scripts', StringList, 'Scripts to run before building')
self._add_member('pre_run_scripts' , StringList, 'Scripts to run before running simulations')
self._add_member('post_run_scripts' , StringList, 'Scripts to run after simulations')
if items:
self.load_dict(items)
class ToolSection(Section):
def __init__(self):
super(ToolSection, self).__init__()
self._add_member('depend', StringList, "Tool-specific Dependencies")
self._add_member('extra_files' , FileList, 'Extra files to be exported to the build directory')
self.export_files = self.extra_files
def __str__(self):
s = ""
if self.depend:
_s = "{}-specific dependencies : {}\n"
s += _s.format(self.TAG,
' '.join([str(x) for x in self.depend]))
return(s)
class MainSection(Section):
self.load_dict(items)
class VhdlSection(Section):
TAG = 'vhdl'
def __init__(self, items=None):
super(VhdlSection, self).__init__()
self._add_member('src_files', PathList, "VHDL source files for simulation and synthesis")
if items:
self.load_dict(items)
self.export_files = self.src_files
class VerilogSection(Section):
TAG = 'verilog'
def __init__(self, items=None):
super(VerilogSection, self).__init__()
self.include_dirs = []
self.tb_include_dirs = []
self._add_member('src_files' , FileList, "Verilog source files for synthesis/simulation")
self._add_member('include_files' , FileList, "Verilog include files")
self._add_member('tb_src_files' , FileList, "Verilog source files that are only used in simulation. Visible to other cores")
self._add_member('tb_private_src_files', FileList, "Verilog source files that are only used in the core's own testbench. Not visible to other cores")
self._add_member('tb_include_files' , FileList, "Testbench include files")
self._add_member('file_type' , str , "Default file type of the files in fileset")
def __init__(self):
super(ToolSection, self).__init__()
self._add_member('depend', StringList, "Tool-specific Dependencies")
self._add_member('extra_files' , FileList, 'Extra files to be exported to the build directory')
self.export_files = self.extra_files
def __str__(self):
s = ""
if self.depend:
_s = "{}-specific dependencies : {}\n"
s += _s.format(self.TAG,
' '.join([str(x) for x in self.depend]))
return(s)
class MainSection(Section):
TAG = 'main'
def __init__(self, items=None):
super(MainSection, self).__init__()
self._add_member('name' , str , "Component name")
self._add_member('component' , PathList, "Core IP-Xact component file")
self._add_member('description', str, "Core description")
self._add_member('depend' , StringList, "Common dependencies")
self._add_member('simulators' , SimulatorList, "Supported simulators. Valid values are icarus, modelsim, verilator, isim and xsim. Each simulator have a dedicated section desribed elsewhere in this document")
self._add_member('patches' , StringList, "FuseSoC-specific patches")
if items:
self.load_dict(items)
class VhdlSection(Section):
TAG = 'main'
def __init__(self, items=None):
super(MainSection, self).__init__()
self._add_member('name' , str , "Component name")
self._add_member('component' , PathList, "Core IP-Xact component file")
self._add_member('description', str, "Core description")
self._add_member('depend' , StringList, "Common dependencies")
self._add_member('simulators' , SimulatorList, "Supported simulators. Valid values are icarus, modelsim, verilator, isim and xsim. Each simulator have a dedicated section desribed elsewhere in this document")
self._add_member('patches' , StringList, "FuseSoC-specific patches")
if items:
self.load_dict(items)
class VhdlSection(Section):
TAG = 'vhdl'
def __init__(self, items=None):
super(VhdlSection, self).__init__()
self._add_member('src_files', PathList, "VHDL source files for simulation and synthesis")
if items:
self.load_dict(items)
self.export_files = self.src_files
class VerilogSection(Section):
TAG = 'verilog'
self.load_dict(items)
class VhdlSection(Section):
TAG = 'vhdl'
def __init__(self, items=None):
super(VhdlSection, self).__init__()
self._add_member('src_files', PathList, "VHDL source files for simulation and synthesis")
if items:
self.load_dict(items)
self.export_files = self.src_files
class VerilogSection(Section):
TAG = 'verilog'
def __init__(self, items=None):
super(VerilogSection, self).__init__()
self.include_dirs = []
self.tb_include_dirs = []
self._add_member('src_files' , FileList, "Verilog source files for synthesis/simulation")
self._add_member('include_files' , FileList, "Verilog include files")
self._add_member('tb_src_files' , FileList, "Verilog source files that are only used in simulation. Visible to other cores")
self._add_member('tb_private_src_files', FileList, "Verilog source files that are only used in the core's own testbench. Not visible to other cores")
self._add_member('tb_include_files' , FileList, "Testbench include files")
self._add_member('file_type' , str , "Default file type of the files in fileset")
setattr(self, item, _type(e.args[0]))
else:
self.warnings.append(
'Unknown item "%(item)s" in section "%(section)s"' % {
'item': item, 'section': self.TAG})
def __str__(self):
s = ''
for k,v in self._members.items():
if isinstance(v.get('type'), list):
s += k + ' : ' + ';'.join(getattr(self, item)) + '\n'
elif isinstance(v.get('type'), str):
s += k + ' : ' + getattr(self, k) + '\n'
return s
class ScriptsSection(Section):
TAG = 'scripts'
def __init__(self, items=None):
super(ScriptsSection, self).__init__()
self._add_member('pre_build_scripts', StringList, 'Scripts to run before building')
self._add_member('pre_run_scripts' , StringList, 'Scripts to run before running simulations')
self._add_member('post_run_scripts' , StringList, 'Scripts to run after simulations')
if items:
self.load_dict(items)
class ToolSection(Section):
def __init__(self):
super(ToolSection, self).__init__()
self._add_member('depend', StringList, "Tool-specific Dependencies")
self._add_member('extra_files' , FileList, 'Extra files to be exported to the build directory')