PandA-2024.02
|
Node, edge and graph description of the graph associated with a structural description. More...
#include "edge_info.hpp"
#include "graph.hpp"
#include "graph_info.hpp"
#include "refcount.hpp"
#include "typed_node_info.hpp"
#include <ostream>
#include <string>
#include <utility>
Go to the source code of this file.
Data Structures | |
struct | cg_node_info |
Information associated with a circuit graph node. More... | |
struct | cg_edge_info |
Information associated with a circuit graph edge. More... | |
struct | cg_graph_info |
Information associated with the whole graph of a circuit. More... | |
class | cg_edge_writer |
class | cg_label_writer |
Macros | |
#define | DATA_SELECTOR 1 |
Data line selector. More... | |
#define | CLOCK_SELECTOR 2 |
Clock line selector. More... | |
#define | CHANNEL_SELECTOR 4 |
Channel line selector. More... | |
#define | ALL_LINES_SELECTOR (DATA_SELECTOR | CLOCK_SELECTOR | CHANNEL_SELECTOR) |
All lines selector. More... | |
#define | PURE_DATA_SELECTOR (DATA_SELECTOR | CHANNEL_SELECTOR) |
All but clock lines selector. More... | |
#define | GET_REFERENCE(data, node_index) Cget_node_info<cg_node_info>(node_index, *(data))->reference |
#define | GET_CRITICAL(data, node_index) Cget_node_info<cg_node_info>(node_index, *(data))->is_critical |
#define | GET_FROM_PORT(data, edge_index) Cget_edge_info<cg_edge_info>(edge_index, *(data))->from_port |
Helper macro returning the from port. More... | |
#define | GET_EDGE_CRITICAL(data, edge_index) Cget_node_info<cg_edge_info>(edge_index, *(data))->is_critical |
Helper macro returning if the edge is timing critical. More... | |
#define | EDGE_ADD_FROM_PORT(data, edge_index, from) get_edge_info<cg_edge_info>(edge_index, *(data))->from_port = from |
Add a from port to the edge. More... | |
#define | GET_TO_PORT(data, edge_index) Cget_edge_info<cg_edge_info>(edge_index, *(data))->to_port |
Helper macro returning the to port/channel. More... | |
#define | EDGE_ADD_TO_PORT(data, edge_index, _to) get_edge_info<cg_edge_info>(edge_index, *(data))->to_port = _to |
Add a to port/channel to the edge. More... | |
#define | EDGE_SET_CRITICAL(data, edge_index, critical) get_edge_info<cg_edge_info>(edge_index, *(data))->is_critical = critical |
Set the edge as critical. More... | |
Functions | |
Forward declarations. | |
REF_FORWARD_DECL (structural_object) | |
Node, edge and graph description of the graph associated with a structural description.
Definition in file cg_node.hpp.
#define ALL_LINES_SELECTOR (DATA_SELECTOR | CLOCK_SELECTOR | CHANNEL_SELECTOR) |
All lines selector.
Definition at line 69 of file cg_node.hpp.
Referenced by structural_manager::INIT(), and structural_manager::structural_manager().
#define CHANNEL_SELECTOR 4 |
Channel line selector.
Definition at line 67 of file cg_node.hpp.
Referenced by add_directed_edge(), and cg_edge_writer::operator()().
#define CLOCK_SELECTOR 2 |
Clock line selector.
Definition at line 65 of file cg_node.hpp.
Referenced by add_directed_edge_single(), and cg_edge_writer::operator()().
#define DATA_SELECTOR 1 |
Data line selector.
Definition at line 63 of file cg_node.hpp.
Referenced by add_directed_edge(), add_directed_edge_single(), and cg_edge_writer::operator()().
#define EDGE_ADD_FROM_PORT | ( | data, | |
edge_index, | |||
from | |||
) | get_edge_info<cg_edge_info>(edge_index, *(data))->from_port = from |
Add a from port to the edge.
data | is the graph. |
edge_index | is the index of the cdfg edge. |
from | is the from port. |
Definition at line 147 of file cg_node.hpp.
Referenced by circuit_add_edge().
#define EDGE_ADD_TO_PORT | ( | data, | |
edge_index, | |||
_to | |||
) | get_edge_info<cg_edge_info>(edge_index, *(data))->to_port = _to |
Add a to port/channel to the edge.
data | is the graph. |
edge_index | is the index of the cdfg edge. |
from | is the from port. |
Definition at line 162 of file cg_node.hpp.
Referenced by circuit_add_edge().
#define EDGE_SET_CRITICAL | ( | data, | |
edge_index, | |||
critical | |||
) | get_edge_info<cg_edge_info>(edge_index, *(data))->is_critical = critical |
Set the edge as critical.
data | is the graph. |
edge_index | is the index of the cdfg edge. |
Definition at line 169 of file cg_node.hpp.
Referenced by circuit_add_edge().
#define GET_CRITICAL | ( | data, | |
node_index | |||
) | Cget_node_info<cg_node_info>(node_index, *(data))->is_critical |
Definition at line 102 of file cg_node.hpp.
Referenced by cg_label_writer::operator()().
#define GET_EDGE_CRITICAL | ( | data, | |
edge_index | |||
) | Cget_node_info<cg_edge_info>(edge_index, *(data))->is_critical |
Helper macro returning if the edge is timing critical.
data | is the graph. |
edge_index | is the index of the edge. |
Definition at line 139 of file cg_node.hpp.
#define GET_FROM_PORT | ( | data, | |
edge_index | |||
) | Cget_edge_info<cg_edge_info>(edge_index, *(data))->from_port |
Helper macro returning the from port.
data | is the graph. |
edge_index | is the index of the edge. |
Definition at line 132 of file cg_node.hpp.
Referenced by circuit_add_edge().
#define GET_REFERENCE | ( | data, | |
node_index | |||
) | Cget_node_info<cg_node_info>(node_index, *(data))->reference |
Definition at line 100 of file cg_node.hpp.
#define GET_TO_PORT | ( | data, | |
edge_index | |||
) | Cget_edge_info<cg_edge_info>(edge_index, *(data))->to_port |
Helper macro returning the to port/channel.
data | is the graph. |
edge_index | is the index of the edge. |
Definition at line 154 of file cg_node.hpp.
Referenced by circuit_add_edge().
#define PURE_DATA_SELECTOR (DATA_SELECTOR | CHANNEL_SELECTOR) |
All but clock lines selector.
Definition at line 71 of file cg_node.hpp.
Referenced by structural_manager::INIT(), and structural_manager::structural_manager().
REF_FORWARD_DECL | ( | structural_object | ) |