Source code for elasticai.preprocessor.translation.ir2fpga
from pathlib import Path
from typing import Any
import elasticai.creator.ir2verilog as ir
from elasticai.creator.ir import Registry, attribute
from elasticai.creator.ir2verilog import Ir2Verilog, factory
def _build_verilog_implementation(type: str, id: str, params: dict[str, Any]) -> ir.DataGraph:
mod_name = f"{type}_{id}" if id else f"{type}"
return factory.graph(
attributes=attribute(**params),
type=type,
name=mod_name.lower(),
)
def _prepare_translator(plugin_types: list[str]) -> Ir2Verilog:
_translate = Ir2Verilog()
loader = ir.PluginLoader(_translate)
for plugin in plugin_types:
loader.load_from_package(plugin)
return _translate