Network Implementations

All network implementations are located in mockturtle/networks/:

Headers

  • AIG network: mockturtle/networks/aig.hpp

  • MIG network: mockturtle/networks/mig.hpp

  • XAG network: mockturtle/networks/xag.hpp

  • XMG network: mockturtle/networks/xmg.hpp

  • k-LUT network: mockturtle/networks/klut.hpp

  • COVER network: mockturtle/networks/cover.hpp

Interface method

AIG

MIG

XAG

XMG

k-LUT

COVER

clone

Primary I/O and constants

get_constant

create_pi

create_po

create_ro

create_ri

is_combinational

is_constant

is_ci

is_pi

is_ro

constant_value

latch_reset

Create unary functions

create_buf

create_not

Create binary functions

create_and

create_nand

create_or

create_nor

create_lt

create_le

create_gt

create_ge

create_xor

create_xnor

Create ternary functions

create_maj

create_ite

create_xor3

Create nary functions

create_nary_and

create_nary_or

create_nary_xor

Create arbitrary functions

create_node

create_cover_node

clone_node

Restructuring

substitute_node

substitute_nodes

replace_in_node

replace_in_outputs

take_out_node

is_dead

substitute_node_of_parents

Structural properties

size

num_cis

num_cos

num_pis

num_pos

num_gates

num_registers

fanin_size

fanout_size

incr_fanout_size

decr_fanout_size

depth

level

is_on_critical_path

is_and

is_or

is_xor

is_maj

is_ite

is_xor3

is_nary_and

is_nary_or

is_nary_xor

is_function

Functional properties

node_function

Nodes and signals

get_node

make_signal

is_complemented

node_to_index

index_to_node

ci_at

co_at

pi_at

po_at

ro_at

ri_at

ci_index

co_index

pi_index

po_index

ro_index

ri_index

ro_to_ri

ri_to_ro

Node and signal iterators

foreach_node

foreach_ci

foreach_co

foreach_pi

foreach_po

foreach_gate

foreach_register

foreach_fanin

foreach_fanout

Simulate values

compute

Mapping

has_mapping

is_cell_root

clear_mapped

num_cells

add_to_mapping

remove_from_mapping

cell_function

set_cell_function

foreach_cell_fanin

Custom node values

clear_values

value

set_value

incr_value

decr_value

Visited flags

clear_visited

visited

set_visited

trav_id

incr_trav_id

General methods

events

Signal naming methods

has_name

set_name

get_name

has_output_name

set_output_name

get_output_name

Coloring methods

new_color

current_color

color

paint

eval_color

eval_fanins_color

Cover Network

Header: mockturtle/networks/cover.hpp

This header file defines a data structure of type cover_network, which is primarily designed for reading in a .blif file and then converting it into other network types (COVER to graph conversion). This data structure provides an additional node creation function, create_cover_node.

inline signal mockturtle::cover_network::create_cover_node(std::vector<signal> const &children, cover_type cover)

Creates node with arbitrary cover (SOP or POS).

cover_type is std::pair<std::vector<kitty::cube>, bool>, where the first element defines the cubes (clauses) of the onset (offset) and the second element selects between the onset mode (true) or offset mode (false).

Parameters
  • children – Fanin signals

  • cover – Cover for node function