HAL
netlist_utils.cpp File Reference
Include dependency graph for netlist_utils.cpp:

Go to the source code of this file.

Namespaces

 hal
 
 hal::netlist_utils
 

Functions

Result< BooleanFunction > hal::netlist_utils::get_subgraph_function (const Net *net, const std::vector< const Gate * > &subgraph_gates, std::map< std::pair< u32, const GatePin * >, BooleanFunction > &cache)
 
Result< BooleanFunction > hal::netlist_utils::get_subgraph_function (const Net *net, const std::vector< const Gate * > &subgraph_gates)
 
std::unique_ptr< Netlist > hal::netlist_utils::copy_netlist (const Netlist *nl)
 
std::pair< std::map< u32, Gate * >, std::vector< std::vector< int > > > hal::netlist_utils::get_ff_dependency_matrix (const Netlist *nl)
 
std::unique_ptr< Netlist > hal::netlist_utils::get_partial_netlist (const Netlist *nl, const std::vector< const Gate * > &subgraph_gates)
 
std::vector< Gate * > hal::netlist_utils::get_next_gates (const Gate *gate, bool get_successors, int depth, const std::function< bool(const Gate *)> &filter)
 
std::vector< Gate * > hal::netlist_utils::get_next_gates (const Net *net, bool get_successors, int depth, const std::function< bool(const Gate *)> &filter)
 
std::vector< Gate * > hal::netlist_utils::get_shortest_path (Gate *start_gate, Gate *end_gate, bool search_both_directions)
 
std::vector< Gate * > hal::netlist_utils::get_next_sequential_gates (const Gate *gate, bool get_successors, std::unordered_map< u32, std::vector< Gate * >> &cache)
 
std::vector< Gate * > hal::netlist_utils::get_next_sequential_gates (const Net *net, bool get_successors, std::unordered_map< u32, std::vector< Gate * >> &cache)
 
std::vector< Gate * > hal::netlist_utils::get_next_sequential_gates (const Gate *gate, bool get_successors)
 
std::vector< Gate * > hal::netlist_utils::get_next_sequential_gates (const Net *net, bool get_successors)
 
std::vector< Gate * > hal::netlist_utils::get_path (const Gate *gate, bool get_successors, std::set< GateTypeProperty > stop_properties, std::unordered_map< u32, std::vector< Gate * >> &cache)
 
std::vector< Gate * > hal::netlist_utils::get_path (const Net *net, bool get_successors, std::set< GateTypeProperty > stop_properties, std::unordered_map< u32, std::vector< Gate * >> &cache)
 
std::vector< Gate * > hal::netlist_utils::get_path (const Gate *gate, bool get_successors, std::set< GateTypeProperty > stop_properties)
 
std::vector< Gate * > hal::netlist_utils::get_path (const Net *net, bool get_successors, std::set< GateTypeProperty > stop_properties)
 
std::vector< Net * > hal::netlist_utils::get_nets_at_pins (Gate *gate, std::vector< GatePin * > pins)
 
Result< u32hal::netlist_utils::remove_buffers (Netlist *netlist, bool analyze_inputs)
 
Result< u32hal::netlist_utils::remove_unused_lut_endpoints (Netlist *netlist)
 
std::vector< Net * > hal::netlist_utils::get_common_inputs (const std::vector< Gate * > &gates, u32 threshold)
 
Result< std::monostate > hal::netlist_utils::replace_gate (Gate *gate, GateType *target_type, std::map< GatePin *, GatePin * > pin_map)
 
Result< std::vector< Gate * > > hal::netlist_utils::get_gate_chain (Gate *start_gate, const std::vector< const GatePin * > &input_pins, const std::vector< const GatePin * > &output_pins, const std::function< bool(const Gate *)> &filter)
 
Result< std::vector< Gate * > > hal::netlist_utils::get_complex_gate_chain (Gate *start_gate, const std::vector< GateType * > &chain_types, const std::map< GateType *, std::vector< const GatePin * >> &input_pins, const std::map< GateType *, std::vector< const GatePin * >> &output_pins, const std::function< bool(const Gate *)> &filter)