HAL  v4.5.0-83-g30c8f0afc
The Hardware Analyzer - a comprehensive reverse engineering and manipulation framework for gate-level netlists.
netlist_preprocessing.h File Reference
#include "hal_core/defines.h"
#include "hal_core/utilities/result.h"
#include <map>
#include <vector>
Include dependency graph for netlist_preprocessing.h:

Go to the source code of this file.

Namespaces

 hal
 
 hal::netlist_preprocessing
 

Functions

Result< u32hal::netlist_preprocessing::remove_unused_lut_inputs (Netlist *nl)
 
Result< u32hal::netlist_preprocessing::remove_buffers (Netlist *nl)
 
Result< u32hal::netlist_preprocessing::remove_redundant_gates (Netlist *nl, const std::function< bool(const Gate *)> &filter=nullptr)
 
Result< u32hal::netlist_preprocessing::remove_redundant_loops (Netlist *nl)
 
Result< u32hal::netlist_preprocessing::remove_redundant_logic_trees (Netlist *nl)
 
Result< u32hal::netlist_preprocessing::remove_unconnected_gates (Netlist *nl)
 
Result< u32hal::netlist_preprocessing::remove_unconnected_nets (Netlist *nl)
 
Result< u32hal::netlist_preprocessing::remove_unconnected_looped (Netlist *nl)
 
Result< u32hal::netlist_preprocessing::manual_mux_optimizations (Netlist *nl, GateLibrary *mux_inv_gl)
 
Result< u32hal::netlist_preprocessing::propagate_constants (Netlist *nl)
 
Result< u32hal::netlist_preprocessing::remove_consecutive_inverters (Netlist *nl)
 
Result< u32hal::netlist_preprocessing::simplify_lut_inits (Netlist *nl)
 
Result< u32hal::netlist_preprocessing::reconstruct_indexed_ff_identifiers (Netlist *nl)
 
Result< u32hal::netlist_preprocessing::reconstruct_top_module_pin_groups (Netlist *nl)
 
Result< std::monostate > hal::netlist_preprocessing::parse_def_file (Netlist *nl, const std::filesystem::path &def_file)
 
Result< std::vector< Module * > > hal::netlist_preprocessing::create_multi_bit_gate_modules (Netlist *nl, const std::map< std::string, std::map< std::string, std::vector< std::string >>> &concatenated_pin_groups)
 
Result< std::vector< Net * > > hal::netlist_preprocessing::create_nets_at_unconnected_pins (Netlist *nl)
 
Result< u32hal::netlist_preprocessing::unify_ff_outputs (Netlist *nl, const std::vector< Gate * > &ffs={}, GateType *inverter_type=nullptr)