2011年4月13日 星期三

Critical Fan-In flipflops with PHI Nodes check

感覺可以用 PHINode 來分析 hardware Architecture 中的 Critical Fan-in Nodes. 透過 LLVM 產生的 IR code 中.會 Check alive-In alive-Out 的彼此關係. 除非有 feedback or loop 的 case 下,才會產生 PHINode, 這也表示在 PHINode 的 Fan-In > 1,於是我們可以得到 max path delay(paths) & min path delay(paths). 之後就可以針對這兩條 path 做 setup/hold time check.來 balance timing root tree...避免real time 時的 timing check error.小弟還沒驗證過拉,只是個從 LLVM 移植來的想法罷了.XD
entry:
   ...

for.body: 
 %indvar = phi i32 [ 0, %entry ], [ %indvar.next, %for.body ]
 ...
 %indvar.next = add i32 %indvar, 1
 ...
PS: 不小心 goole 到 control flow graph 的 lib. 有興趣的人可以玩玩看. The Machine-SUIF Control Flow Graph Library

沒有留言:

張貼留言