Class node

Class Documentation

class node

超图节点抽象(图的基本单位)。

包含了该节点本身的资源使用类型矩阵与其连接性质(如所在 incident_nets 区间段等), 为了能被细化器频繁访问,它被设计为极为紧凑且支持直接代数超加操作。

Public Functions

inline bool operator>(const node &n) const

重载操作符比较节点间资源容量充裕度。

Parameters:

n – 对象对标节点比较。

Returns:

如果当前节点的各个维度资源需求向量均大于等于n对应维度时,返回 true。用以快速判断可否将该节点放置或交换等。

inline void add(const node &n)

资源吸收相加函数。

执行粗化操作或对聚类进行组合时,将外部传入集合对象的资源情况一并合并至当前节点容量的 resources 向量之中。

Parameters:

n – 将要合并吸收的另一个子节点对象。

inline void substract(const node &n)

资源剔除扣减函数。

作为细化或者还原操作的一部分,用来移除所占用的指定节点的物理部分资源。

Parameters:

n – 将要移出的另一个子节点对象,其所有维度资源将被从内部向量消除。

Public Members

int weight = 1

其在图分割过程中的粗化或基本权重评估中所呈现的合并尺寸。初始网表底层为1,合并后为合集大小。

int begin = 0

在主图类平展化 (flat) 数组 incident_nets 中的索引起始偏移。用于提取此节点连接的所有 net。

int size = 0

数组 incident_nets 里的实际长度刻度。因此 data[begin] ~ data[begin+size-1] 即为连接之net集合。

VectorXi resources

资源向量描述阵列。对于FPGA,可能为 (LUT, FF, DSP, BRAM, URAM...) 等各维度的耗用数目; 进行平衡划分(Balance constraint)评估时,这会被求和到区并受上下限控制。