看板 EE_DSnP 關於我們 聯絡資訊
有鑑於上面幾篇的一些 bugs,以及有些人也許想要比較一下 cirfraig 的結果, 我把我目前完整的的 ref prog 上傳到 ceiba 的公佈欄了, 有興趣的人可以先下載來看看。 我還在跑一些大 cases 看看有沒有甚麼問題, 如果有空的話也會再調一下 performance。 已經寫到 fraig 的人可以測一下 sim10.aag 那個檔案。 fraig> cirp Circuit Statistics ================== PI 36 PO 1 AIG 260 ------------------ Total 297 FRAIG 之後應該只剩一個 PO gate: fraig> cirp -n [0] CONST0 [1] PO 753 !0 Runtime 應該是可以秒殺... fraig> usage Period time used : 0 seconds Total time used : 0.01 seconds Total memory used: 0.1367 M Bytes (Note: 原始電路為 ISCAS 85 的 C432 benchmark circuit) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.36.51.20
ric2k1:11:20pm, 01/12 更新 (fsim 的 bug,也影響到 fraig的效能) 01/12 23:25
puerpuella:剛剛測試sim08,不過為什麼fraig完strash會刪掉gate? 01/12 23:48
puerpuella:可以strash掉的不是會出現在FEC pairs裡面? 01/12 23:48
ric2k1:不是很了解樓上的問題... 我的解釋是: (1) fraig 的時候會 01/12 23:56
ric2k1:FEC pairs 是 EQ or not EQ, 如果是 EQ 的話,我會三不五時 01/12 23:56
ric2k1:的呼叫 merge 的動作把其中的一個 gate 刪掉,並且將這個 01/12 23:57
ric2k1:FEC pair 拿掉 (因為不再是 candidate 了!),如果證明是 01/12 23:58
ric2k1:不 EQ, 我會收集到足夠的 patterns 後再跑一個 32-pattern 01/12 23:59
ric2k1:的 simulation 來重新整理 FEC pairs, 所以這種情況這個FEC 01/12 23:59
ric2k1:pair 也會被拿掉。 (2) 一些 gates 被刪掉之後我會重新產生 01/13 00:00
ric2k1:DFS list, 並且呼叫 strash() 以及 constant simplify() 來 01/13 00:01
ric2k1:化簡電路,所以像是 sim10.aag 才會被化簡成只剩一個 node 01/13 00:02
ric2k1:(4.5 樓漏句) 使用 SAT 去證明 01/13 00:03
ric2k1:呃... 12:40am, 01/13 更新 (circuit simplification bug) 01/13 00:54
puerpuella:抱歉可能沒有說清楚..我的意思是跑了讓fraig跑完之後, 01/13 09:09
puerpuella:我下strash指令,又有gates被merge掉,可是這些被merge 01/13 09:09
puerpuella:的gate不是應該會出現在FEC pair中而被SAT證明? 01/13 09:10
ckmarkoh:突然發現一件事 sim10.aag只要一直strash和optimization 01/13 18:22
ckmarkoh:就可以變成一個const0接到opt了 還不需要用到fraig 01/13 18:23