boost::tie(e,flag) = add_edge(0, 1, G); ds.union_set(0,1);Refs: Connected Components Algorithm Connected Components incremental_components @Boost c++ lib
2010年8月13日 星期五
Connected Components Algorithm
fig 1
Purpose:
Connected Components Algorithm application with SOC design
Sample case
Clock domain issue && Path extraction.
constrain:
Step1.
if we defined the Nodes 1 ~ 4 are in the same clock domain,and each node had it's data path, that we called edge or vector, so we can easily to know the INPUT graph in fig 1, ex: Node 1 (input Node 3, output Node 2)...and so on
Step2.
If the connection and depended condition had already know, we can trace each node and find it's loop path,if it exist, it means we can cluster the Nodes of loop in same clock domain, and each data path can be sort.
Step3.
If the cluster had find, we can use the sample commands to extract our results faster and easily, such as STA(static timing analysis tool) it used "report_timing -to -max_slack -max_path ...", so we can use it in this case, firstly, find the same clock domain in one cluster, secondly, find the data path correlation in this cluster,and report the results.... otherwise you can write the different clock domain in different clock domain constrain.
ps:Boost Lib is an easily way to do. just only define your graph conditions and edge paths and constrains, ex:
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言