hlsfactory.framework

Module Contents

Classes

Functions

Data

API

hlsfactory.framework.EXTENSIONS_CPP = ['.cpp', '.cc', '.hpp', '.h']
hlsfactory.framework.EXTENTIONS_TCL = ['.tcl']
hlsfactory.framework.EXTENSIONS_PYTHON = ['.py']
hlsfactory.framework.NAMES_MAKEFILE = ['Makefile', 'makefile']
hlsfactory.framework.EXTENTIONS_MAKEFILE = ['.mk']
hlsfactory.framework.all_files_in_dir(dir_path: pathlib.Path) list[pathlib.Path][source]
hlsfactory.framework.filter_files_by_ext(files: list[pathlib.Path], ext: str) list[pathlib.Path][source]
class hlsfactory.framework.DesignStage(*args, **kwds)[source]

Bases: enum.Enum

ABSTRACT = 'auto(...)'
CONCRETE = 'auto(...)'
class hlsfactory.framework.Design(name: str, dir_path: pathlib.Path)[source]

Initialization

__repr__() str[source]
property all_files: list[pathlib.Path]
property tcl_files: list[pathlib.Path]
property cpp_source_files: list[pathlib.Path]
rename(new_name: str) hlsfactory.framework.Design[source]
move_to_new_parent_dir(new_parent_dir: pathlib.Path) hlsfactory.framework.Design[source]
copy_to_new_parent_dir(new_parent_dir: pathlib.Path) hlsfactory.framework.Design[source]
copy_and_rename_to_new_parent_dir(new_name: str, new_parent_dir: pathlib.Path) hlsfactory.framework.Design[source]
class hlsfactory.framework.DesignDataset(name: str, dataset_dir: pathlib.Path, designs: list[hlsfactory.framework.Design])[source]

Initialization

__repr__() str[source]
classmethod from_dir(name: str, dir_path: pathlib.Path, exclude_dir_filter: None | collections.abc.Callable[[pathlib.Path], bool] = None) hlsfactory.framework.DesignDataset[source]
classmethod from_empty_dir(name: str, work_dir: pathlib.Path) hlsfactory.framework.DesignDataset[source]
add_design(design: hlsfactory.framework.Design) hlsfactory.framework.DesignDataset[source]
add_designs(designs: list[hlsfactory.framework.Design]) hlsfactory.framework.DesignDataset[source]
add_design_copy(design: hlsfactory.framework.Design) hlsfactory.framework.DesignDataset[source]
add_designs_copy(designs: list[hlsfactory.framework.Design]) hlsfactory.framework.DesignDataset[source]
copy_dataset(work_dir: pathlib.Path) hlsfactory.framework.DesignDataset[source]
copy_and_rename(new_name: str, work_dir: pathlib.Path) hlsfactory.framework.DesignDataset[source]
hlsfactory.framework.check_n_jobs_cpu_affinity(n_jobs: int, cpu_affinity: list[int] | None) None[source]
hlsfactory.framework.DesignDatasetCollection = None
hlsfactory.framework.count_designs_in_dataset_collection(design_datasets: hlsfactory.framework.DesignDatasetCollection) dict[str, int][source]
hlsfactory.framework.count_total_designs_in_dataset_collection(design_datasets: hlsfactory.framework.DesignDatasetCollection) int[source]
hlsfactory.framework.worker_init(core_queue: multiprocessing.Queue) None[source]
class hlsfactory.framework.Flow(work_dir: pathlib.Path)[source]

Bases: abc.ABC

name: str = None
abstract execute(design: hlsfactory.framework.Design, timeout: float | None = None) list[hlsfactory.framework.Design][source]
execute_multiple_designs(designs: list[hlsfactory.framework.Design], n_jobs: int = 1, cpu_affinity: list[int] | None = None, timeout: float | None = None) list[hlsfactory.framework.Design][source]
default_new_dataset_name_fn() collections.abc.Callable[[str], str][source]
execute_multiple_design_datasets_naive_parallel(design_datasets: hlsfactory.framework.DesignDatasetCollection, copy_dataset: bool, new_dataset_name_fn: collections.abc.Callable[[str], str] | None = None, n_jobs: int = 1, cpu_affinity: list[int] | None = None, timeout: float | None = None) hlsfactory.framework.DesignDatasetCollection[source]
execute_multiple_design_datasets_fine_grained_parallel(design_datasets: hlsfactory.framework.DesignDatasetCollection, copy_dataset: bool, new_dataset_name_fn: collections.abc.Callable[[str], str] | None = None, n_jobs: int = 1, cpu_affinity: list[int] | None = None, par_chunksize: int | None = 1, timeout: float | None = None) hlsfactory.framework.DesignDatasetCollection[source]
class hlsfactory.framework.Frontend(work_dir: pathlib.Path)[source]

Bases: hlsfactory.framework.Flow

class hlsfactory.framework.ToolFlow(work_dir: pathlib.Path)[source]

Bases: hlsfactory.framework.Flow