front_end.front_end module¶
-
class
front_end.front_end.
FrontEnd
(settings)¶ Bases:
abc.ABC
Abstract Base Class for FrontEnd stage. The FrontEnd stage parses the input design and configuration file and initializes data structures for the next stages.
- Inheriting classes must implement methods:
- __init__ setup process
Parameters: settings (dict) – A dictionary using options from the config as keys and strings of their values as values. -
__init__
(settings)¶ Instantiates a subclass instance using the options from the configuration file.
-
setup
(cfg_file, input_file)¶ Sets up the FrontEnd instance using config and input files. Provides default implementation.
Parameters: - cfg_file (str) – The absolute path to the configuration file in *.cfg format.
- input_file (str) – The absolute path to the input circuit file in Verilog format.
Raises: ValueError
– If cfg_file or input_file is invalid, i.e.None
or empty.
-
process
()¶ Returns a GeneralInformation instance: Must generate a CandidateSet, VariantSet and ApproximatedCircuits, set paths and create directories. Must also create Verilog and Blif format files of the original circuit.
- Parameters to set in GeneralInformation object:
- top_module pis pos cand_set variant_set approx_circuits base_directory (optional, default is input file path) output_dir (optional, default is input file path)