作者ckmarkoh (阿傑)
看板EE_DSnP
標題[心得] 產生const 0 電路的程式
時間Sun Jan 16 14:05:52 2011
由於老師給的testcase結果為const 0的circuit 不夠多
而其它testcase的電路刪完後還會剩下很多gate
而我們刪的跟老師刪的gate可能會不一樣
以至於難以比對
所以要確定fraig是否正確 就只能用const 0的電路測
於是我就寫了一個產生const 0 testcase的程式
將一個相同的電路copy兩遍後接一個XOR
http://homepage.ntu.edu.tw/~b97901113/fraig_113
使用方法
輸入指令:cirr <輸入檔檔名> 讀一個電路
再輸入指令:circ -o <輸出檔檔名> 輸出產生的const 0電路
這樣就完成了
要注意的是所讀取的電路只可以有一個PI
如果想要產生更多層
可以寫一個檔案用do file
cirr X
circ -o Y
cirr Y -r
circ -o Y
cirr Y -r
circ -o Y
這樣就可將原本的電路複製2^3倍 然後產生const 0電路
ps:可以打help查指令circ的用法
但請不要執行此程式的其它指令 也請不要把它當reference program用
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.4.193
※ 編輯: ckmarkoh 來自: 140.112.4.193 (01/16 14:09)
1F:→ ckmarkoh:如果此檔案無法開啟 請寄站內信 我可以給source code 01/16 15:33
2F:推 ric2k1:推! 新增了一個 sim12.aag, 有將近 10000 個 gates, 最後 01/16 17:16
3F:→ ric2k1:應該可以 simplify 成 0. (原先 sim12.aag 改名叫 sim13.aa 01/16 17:16
4F:→ ckmarkoh:有沒有500~1000個gate左右的test case? 我的fraig實在是. 01/16 18:20
5F:→ ckmarkoh:慢到一種很誇張的地步.... 01/16 18:20
6F:推 ric2k1:OK... 新增一個 sim14.aag, 放在 ceiba 公佈欄 01/16 18:31
7F:→ ric2k1:aag 927 41 0 1 886 01/16 18:31
8F:→ ckmarkoh:所以老師那邊有aag產生器? 01/16 18:59
9F:推 BBSealion:其實剛開始還滿想要50gate左右的case 肉眼能trace的極限 01/16 19:22
10F:推 ric2k1:這些是 benchmark circuits 啦! 不過我們是有 script 可以 01/16 19:42
11F:→ ric2k1:將一個 aag file 產生出一份 optimized 過的 circuit, 然後 01/16 19:42
12F:→ ric2k1:再將兩者 merge (xor) 起來變成single output miter circui 01/16 19:43
13F:→ ckmarkoh:我的程式也可產生 但是有一點小bug 01/16 19:48
14F:→ ckmarkoh:但至少sim10.aag產生出來的是可以變const0 01/16 19:49
15F:推 BBSealion:你說的是只能有一個po吧? 01/16 23:06
16F:→ ckmarkoh:只能有一個po的電路 我才有辦法把它複製一遍 01/16 23:22
17F:→ ckmarkoh:再把這兩個po都接到XOR 01/16 23:22