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 |
---|---|---|---|---|---|---|
|
✓ |
✓ |
✓ |
✓ |
||
Primary I/O and constants |
||||||
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
Create unary functions |
||||||
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
Create binary functions |
||||||
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
|
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
|
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
|||||
|
✓ |
|||||
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
||
Create ternary functions |
||||||
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
Create nary functions |
||||||
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
Create arbitrary functions |
||||||
|
✓ |
✓ |
||||
|
✓ |
|||||
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
Restructuring |
||||||
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
|||||
|
✓ |
✓ |
✓ |
✓ |
||
|
✓ |
✓ |
✓ |
✓ |
||
|
✓ |
✓ |
✓ |
✓ |
||
|
✓ |
✓ |
✓ |
✓ |
||
|
✓ |
✓ |
✓ |
|||
Structural properties |
||||||
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
||
|
✓ |
✓ |
✓ |
✓ |
||
|
||||||
|
||||||
|
||||||
|
✓ |
✓ |
✓ |
✓ |
||
|
✓ |
✓ |
✓ |
✓ |
||
|
✓ |
✓ |
✓ |
✓ |
||
|
✓ |
✓ |
✓ |
✓ |
||
|
✓ |
✓ |
✓ |
✓ |
||
|
✓ |
✓ |
✓ |
✓ |
||
|
✓ |
✓ |
✓ |
✓ |
||
|
✓ |
✓ |
✓ |
✓ |
||
|
✓ |
✓ |
✓ |
✓ |
||
|
✓ |
✓ |
||||
Functional properties |
||||||
|
✓ |
✓ |
||||
Nodes and signals |
||||||
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
Node and signal iterators |
||||||
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
||||||
Simulate values |
||||||
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
Mapping |
||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
||||||
Custom node values |
||||||
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
Visited flags |
||||||
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
General methods |
||||||
|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
Signal naming methods |
||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
||||||
Coloring methods |
||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
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
isstd::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