[問題] FEC觀念問題

看板EE_DSnP作者 (姥姥)時間11年前 (2013/01/01 23:38), 編輯推噓5(5028)
留言33則, 2人參與, 最新討論串1/1
我丟一個我自己寫的aag file: aag 4 2 0 2 2 2 4 6 8 6 2 4 8 2 5 模擬的pattern:(00跟10各重複32次) 00 .... 00 10 .... 10 第一輪模擬完AIG 3和AIG 4都是0000_0000_0000_0000_0000_0000_0000_0000, cirp -fec應該像這樣: [0] 0 3 4 第二輪模擬AIG 3=0000_0000_0000_0000_0000_0000_0000_0000, AIG 4=1111_1111_1111_1111_1111_1111_1111_1111 這時./ref/fraig給出cirp -fec的結果是: [0] 0 3 !4 第一輪模擬後3跟4在同一組,只要之後任何模擬的結果不一樣,兩個gate就要分成 兩組吧? -- 誰知真患難 忽悟大光明 日出雲俱靜 風消水自平 功名幾滅性 忠孝大勞生 天下惟豪傑 神仙立地成 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.241.234

01/01 23:50, , 1F
因為 00...000 與 11...111 是 inverse FEC,所以還是會被
01/01 23:50, 1F

01/01 23:51, , 2F
放在同一組,只是加上 ! 變成 !4
01/01 23:51, 2F

01/02 00:00, , 3F
我的想法是:如果兩個gate equiv. ,則所有的input都會使
01/02 00:00, 3F

01/02 00:01, , 4F
結果相同,而如果是inverse equiv. ,則所有的input都會
01/02 00:01, 4F

01/02 00:03, , 5F
結果完全相反,因此對於已知的兩個gate,如果存在兩組
01/02 00:03, 5F

01/02 00:03, , 6F
input分別使結果完全相同與完全相反,則這兩個gate既不是
01/02 00:03, 6F

01/02 00:04, , 7F
equiv. 也不是inverse equiv. ,那就沒有必要繼續留在
01/02 00:04, 7F

01/02 00:05, , 8F
functionally equivalent "candidate" pairs裡吧?
01/02 00:05, 8F

01/02 00:12, , 9F
你這麼說的確有道理,ref prog 的確沒有把這個因素考慮進去
01/02 00:12, 9F

01/02 00:14, , 10F
我等一下有空來改一下。
01/02 00:14, 10F

01/02 00:18, , 11F
推!
01/02 00:18, 11F

01/02 00:21, , 12F
不過我又想了一下,在正常的 parrallel pattern 模擬底下
01/02 00:21, 12F

01/02 00:21, , 13F
兩個 gates 要前一次 32 個 patterns 是 eq, 下一次 32 個
01/02 00:21, 13F

01/02 00:22, , 14F
patterns 是 inv-eq 的機率幾乎是 0, 為了這樣去改變我收集
01/02 00:22, 14F

01/02 00:23, , 15F
FEC pairs 的機制似乎不太划算,所以我就不改了。
01/02 00:23, 15F

01/02 00:23, , 16F
我們在測的時候會注意不要讓這樣的情形發生。
01/02 00:23, 16F

01/02 00:25, , 17F
XD 我亂數產生10000個gate的電路+65行的pattern file
01/02 00:25, 17F

01/02 00:26, , 18F
10幾次就出現了
01/02 00:26, 18F

01/02 00:26, , 19F
似乎32k+1個pattern時比較容易出現
01/02 00:26, 19F

01/02 00:45, , 20F
不懂... 不過基本上這不會影響 FRAIG 的正確性。也許在某些
01/02 00:45, 20F

01/02 00:46, , 21F
case 會讓 cirp -FEC 不夠精確,但我想 sim 的重點還是要快
01/02 00:46, 21F

01/02 00:47, , 22F
而且夠就好,誤判的情形就交給 SAT,整體來說應該是比較好
01/02 00:47, 22F

01/02 01:15, , 23F
簡單的說,如果前面 32n 個 parallel patterns讓兩個 gates
01/02 01:15, 23F

01/02 01:16, , 24F
的反應一樣,但下 32 個亂數的 parallel patterns 卻讓
01/02 01:16, 24F

01/02 01:16, , 25F
嗯 了解
01/02 01:16, 25F

01/02 01:17, , 26F
這兩個 gates 的反應正好反向,這樣的電路真的是太奇怪了,
01/02 01:17, 26F

01/02 01:18, , 27F
都給 SAT 去解 SAT(f == g) // 因為反向
01/02 01:18, 27F

01/02 01:19, , 28F
應該會一下子就解出來了,所以也不會有什麼 overhead
01/02 01:19, 28F

01/02 01:19, , 29F
但為了要檢查這種情形,以我目前的 implement 來說卻要
01/02 01:19, 29F

01/02 01:20, , 30F
多記/多傳一些東西,我覺得是不值得的。
01/02 01:20, 30F

01/02 01:25, , 31F
感謝老師!問個小問題,讓我獲益良多
01/02 01:25, 31F

01/02 01:28, , 32F
其實就算中間被誤判歸類為inverse FEC,最後還是會被分開
01/02 01:28, 32F

01/02 01:29, , 33F
simulation pattern數量增加結果就一樣了
01/02 01:29, 33F
文章代碼(AID): #1GumBS1F (EE_DSnP)