作者ric2k1 (Ric)
看板EE_DSnP
標題[情報] ref program (temp)
時間Wed Jan 12 22:33:25 2011
有鑑於上面幾篇的一些 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
1F:→ ric2k1:11:20pm, 01/12 更新 (fsim 的 bug,也影響到 fraig的效能) 01/12 23:25
2F:推 puerpuella:剛剛測試sim08,不過為什麼fraig完strash會刪掉gate? 01/12 23:48
3F:→ puerpuella:可以strash掉的不是會出現在FEC pairs裡面? 01/12 23:48
4F:→ ric2k1:不是很了解樓上的問題... 我的解釋是: (1) fraig 的時候會 01/12 23:56
5F:→ ric2k1:FEC pairs 是 EQ or not EQ, 如果是 EQ 的話,我會三不五時 01/12 23:56
6F:→ ric2k1:的呼叫 merge 的動作把其中的一個 gate 刪掉,並且將這個 01/12 23:57
7F:→ ric2k1:FEC pair 拿掉 (因為不再是 candidate 了!),如果證明是 01/12 23:58
8F:→ ric2k1:不 EQ, 我會收集到足夠的 patterns 後再跑一個 32-pattern 01/12 23:59
9F:→ ric2k1:的 simulation 來重新整理 FEC pairs, 所以這種情況這個FEC 01/12 23:59
10F:→ ric2k1:pair 也會被拿掉。 (2) 一些 gates 被刪掉之後我會重新產生 01/13 00:00
11F:→ ric2k1:DFS list, 並且呼叫 strash() 以及 constant simplify() 來 01/13 00:01
12F:→ ric2k1:化簡電路,所以像是 sim10.aag 才會被化簡成只剩一個 node 01/13 00:02
13F:→ ric2k1:(4.5 樓漏句) 使用 SAT 去證明 01/13 00:03
14F:→ ric2k1:呃... 12:40am, 01/13 更新 (circuit simplification bug) 01/13 00:54
15F:推 puerpuella:抱歉可能沒有說清楚..我的意思是跑了讓fraig跑完之後, 01/13 09:09
16F:→ puerpuella:我下strash指令,又有gates被merge掉,可是這些被merge 01/13 09:09
17F:→ puerpuella:的gate不是應該會出現在FEC pair中而被SAT證明? 01/13 09:10
18F:→ ckmarkoh:突然發現一件事 sim10.aag只要一直strash和optimization 01/13 18:22
19F:→ ckmarkoh:就可以變成一個const0接到opt了 還不需要用到fraig 01/13 18:23