def get_module_instance(module_dir: str) -> AsModule: module = AsModule() module.files = ["hardware/hdl/vhdl/pkg/as_generic_filter_pkg.vhd"] module.dependencies = [] # As this is not a typical Automatics module (no VHDL entity) # we manually set the necessary attributes, # so Automatics can work with it normally module.module_dir = module_dir module.repository_name = "default" module.name = "as_generic_filter" module.entity_name = "as_generic_filter" module.generics = [] module.standard_ports = [] module.ports = [] module.interfaces = [] # Automatic module discovery would run into errors (no entity in 'as_generic_filter_pkg') # as_automatics now automatically parses the toplevel file and discovers # ports, generics, existing interfaces and register interfaces #module.discover_module("{mdir}/{toplevel}" # .format(mdir=module_dir, toplevel=toplevel_file)) return module
def get_module_instance(module_dir: str) -> AsModule: module = AsModule() module.files = ["hardware/hdl/vhdl/pkg/helpers.vhd"] module.dependencies = [] # As this is not a typical Automatics module (no VHDL entity) # we manually set the necessary attributes, # so Automatics can work with it normally module.module_dir = module_dir module.repository_name = "default" module.name = "" module.entity_name = "helpers" module.generics = [] module.standard_ports = [] module.ports = [] module.interfaces = [] module.show_in_browser = False module.dev_status = AsModule.DevStatus.STABLE module.module_type = AsModule.ModuleTypes.LIBRARY module.module_category = "Internal Libraries" return module
def get_module_instance(module_dir: str) -> AsModule: module = AsModule() module.files = [] module.dependencies = [] # As this is not a typical Automatics module (no HW files) # we manually set the necessary attributes, # so Automatics can work with it module.module_dir = module_dir module.repository_name = "default" module.name = "as_memio" module.entity_name = "as_memio" module.generics = [] module.standard_ports = [] module.ports = [] module.interfaces = [] module.show_in_browser = False module.dev_status = AsModule.DevStatus.BETA module.module_type = AsModule.ModuleTypes.SOFTWARE module.module_category = "Memory IO" return module
def get_module_instance(module_dir: str) -> AsModule: module = AsModule() module.files = ["hardware/hdl/vhdl/pkg/helpers.vhd"] module.dependencies = [] # As this is not a typical Automatics module (no VHDL entity) # we manually set the necessary attributes, # so Automatics can work with it normally module.module_dir = module_dir module.repository_name = "default" module.name = "" module.entity_name = "helpers" module.generics = [] module.standard_ports = [] module.ports = [] module.interfaces = [] # Automatic module discovery would run into errors (no entity in 'helpers') #module.discover_module("{mdir}/{toplevel}" # .format(mdir=module_dir, toplevel=toplevel_file)) return module
def define_module_to_wrap(self, module: AsModule): self.modules = [module] module.modlevel += 1 self.name = module.name self.entity_name = module.name + "_wrapper" self.generics = [] self.standard_port_templates = module.standard_port_templates set_delay(self, get_delay(module)) for inter in module.interfaces: self.add_interface(inter) for port in module.ports: self.add_port(port) for port in module.standard_ports: self.add_standard_port(port) if isinstance(module, AsWindowModule): self.vhdl_libraries.append("as_generic_filter") setattr(self, "window_interfaces", module.window_interfaces) module.window_interfaces = [] module.interfaces = [] module.ports = [] module.standard_ports = [] full_port_list = self.get_full_port_list(include_signals=False) for port in full_port_list: nport = port.duplicate() if nport.port_type == "interface": nport.set_port_type("single") module.add_port(nport) if port.direction == "in": nport.incoming = port port.outgoing.append(nport) else: nport.outgoing.append(port) port.incoming = nport