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:
  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

沒有留言:

張貼留言