42 namespace netlist_utils
77 [[deprecated(
"Will be removed in a future version, use Netlist::copy instead.")]]
CORE_API std::unique_ptr<Netlist>
copy_netlist(
const Netlist* nl);
87 [[deprecated(
"Will be removed in a future version, use boolean_influence::get_ff_dependency_matrix instead.")]] std::pair<std::map<u32, Gate*>, std::vector<std::vector<int>>>
98 [[deprecated(
"Will be removed in a future version, use SubgraphNetlistDecorator::copy_subgraph_netlist instead.")]]
CORE_API std::unique_ptr<Netlist>
115 [[deprecated(
"Will be removed in a future version, use NetlistTraversalDecorator::get_next_matching_gates_until_depth instead.")]]
CORE_API std::vector<Gate*>
116 get_next_gates(
const Gate* gate,
bool get_successors,
int depth = 0,
const std::function<
bool(
const Gate*)>& filter =
nullptr);
132 [[deprecated(
"Will be removed in a future version, use NetlistTraversalDecorator::get_next_matching_gates_until_depth instead.")]]
CORE_API std::vector<Gate*>
133 get_next_gates(
const Net*
net,
bool get_successors,
int depth = 0,
const std::function<
bool(
const Gate*)>& filter =
nullptr);
149 [[deprecated(
"Will be removed in a future version, use NetlistTraversalDecorator::get_next_sequential_gates instead.")]]
CORE_API std::vector<Gate*>
162 [[deprecated(
"Will be removed in a future version, use NetlistTraversalDecorator::get_next_sequential_gates instead.")]]
CORE_API std::vector<Gate*>
178 [[deprecated(
"Will be removed in a future version, use NetlistTraversalDecorator::get_next_sequential_gates instead.")]]
CORE_API std::vector<Gate*>
190 [[deprecated(
"Will be removed in a future version, use NetlistTraversalDecorator::get_next_sequential_gates instead.")]]
CORE_API std::vector<Gate*>
208 [[deprecated(
"Will be removed in a future version, use NetlistTraversalDecorator::get_gates instead.")]]
CORE_API std::vector<Gate*>
get_path(
const Gate* gate,
bool get_successors, std::set<GateTypeProperty> stop_properties, std::unordered_map<
u32, std::vector<Gate*>>& cache);
221 [[deprecated(
"Will be removed in a future version, use NetlistTraversalDecorator::get_gates instead.")]]
CORE_API std::vector<Gate*>
get_path(
const Gate* gate,
bool get_successors, std::set<GateTypeProperty> stop_properties);
237 [[deprecated(
"Will be removed in a future version, use NetlistTraversalDecorator::get_gates instead.")]]
CORE_API std::vector<Gate*>
get_path(
const Net*
net,
bool get_successors, std::set<GateTypeProperty> stop_properties, std::unordered_map<
u32, std::vector<Gate*>>& cache);
249 [[deprecated(
"Will be removed in a future version, use NetlistTraversalDecorator::get_gates instead.")]]
CORE_API std::vector<Gate*>
get_path(
const Net*
net,
bool get_successors, std::set<GateTypeProperty> stop_properties);
259 [[deprecated(
"Will be removed in a future version, iterate the pins and use Gate::get_fan_in_net or Gate::get_fan_out_net instead.")]]
CORE_API std::vector<Net*>
get_nets_at_pins(
Gate* gate, std::vector<GatePin*>
pins);
271 bool analyze_inputs =
false);
293 [[deprecated(
"Will be removed in a future version, use NetlistTraversalDecorator::get_common_inputs instead.")]]
CORE_API std::vector<Net*>
get_common_inputs(
const std::vector<Gate*>& gates,
u32 threshold = 0);
320 [[deprecated(
"Will be removed in a future version, use NetlistTraversalDecorator::get_shortest_path instead.")]]
CORE_API std::vector<Gate*>
get_shortest_path(
Gate* start_gate,
Gate* end_gate,
bool search_both_directions =
false);
333 [[deprecated(
"Will be removed in a future version, use NetlistTraversalDecorator::get_shortest_path instead.")]]
CORE_API std::vector<Gate*>
get_shortest_path(
Gate* start_gate,
Module* end_module,
bool forward_direction);
347 [[deprecated(
"Will be removed in a future version, use NetlistTraversalDecorator::get_shortest_path instead.")]]
CORE_API std::vector<std::vector<Gate*> >
get_shortest_path(
Module* start_module,
Module* end_module);
Result< u32 > remove_unused_lut_endpoints(Netlist *netlist)
std::vector< Gate * > get_path(const Gate *gate, bool get_successors, std::set< GateTypeProperty > stop_properties, std::unordered_map< u32, std::vector< Gate * >> &cache)
std::vector< Gate * > get_next_gates(const Gate *gate, bool get_successors, int depth=0, const std::function< bool(const Gate *)> &filter=nullptr)
Result< BooleanFunction > get_subgraph_function(const Net *net, const std::vector< const Gate * > &subgraph_gates, std::map< std::pair< u32, const GatePin * >, BooleanFunction > &cache)
Result< u32 > remove_buffers(Netlist *netlist, bool analyze_inputs=false)
std::unique_ptr< Netlist > copy_netlist(const Netlist *nl)
std::vector< Gate * > get_next_sequential_gates(const Gate *gate, bool get_successors, std::unordered_map< u32, std::vector< Gate * >> &cache)
std::vector< Gate * > get_shortest_path(Gate *start_gate, Gate *end_gate, bool search_both_directions=false)
Result< std::monostate > replace_gate(Gate *gate, GateType *target_type, std::map< GatePin *, GatePin * > pin_map)
std::vector< Net * > get_nets_at_pins(Gate *gate, std::vector< GatePin * > pins)
std::vector< Net * > get_common_inputs(const std::vector< Gate * > &gates, u32 threshold=0)
std::pair< std::map< u32, Gate * >, std::vector< std::vector< int > > > get_ff_dependency_matrix(const Netlist *nl)
std::unique_ptr< Netlist > get_partial_netlist(const Netlist *nl, const std::vector< const Gate * > &subgraph_gates)
std::vector< PinInformation > pins