作者OckhamsRazor (魏格納的友人)
看板EE_DSnP
標題[問題] DFT
時間Thu Dec 15 01:14:56 2011
cirp的netlist是用DFT來印的嗎?
怎麼覺得怪怪的...
像是opt06.aag
aag 14 2 0 1 12
2
4
28
28 22 27
26 21 24
20 12 14
22 12 16
24 12 18
12 11 16
10 0 8
8 6 1
16 15 15
18 14 14
6 0 2
14 2 5
c
它的cirp -n是:
[0] CONST0
[1] PI 1
[2] AIG 3 0 1
[3] AIG 4 3 !0
[4] AIG 5 0 4
[5] PI 2
[6] AIG 7 1 !2
[7] AIG 8 !7 !7
[8] AIG 6 !5 8
[9] AIG 11 6 8
[10] AIG 10 6 7
[11] AIG 9 7 7
[12] AIG 12 6 9
[13] AIG 13 !10 12
[14] AIG 14 11 !13
[15] PO 15 14
為什麼[10]不是"AIG 7 1 !2"呢?
明明就能再向下 為什麼要跳回去呢?
拜託大家了<(_ _)>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.244.51
1F:→ e124553423:cirp是從PO跑回去沒錯,但是是跑到底之後才開始印 12/15 07:12
2F:→ e124553423:(fanin都印完才會印自己) 12/15 07:12
3F:→ e124553423:因為7 1 !2在前面出現過了 不需要再印 12/15 07:14
4F:推 ric2k1:嗯,是從 PO 開始做 post-order 的 DFS, 所以 inputs 會比 12/15 14:04
5F:→ ric2k1:outputs 先印,而且有用 mark(或ref)之後印過的不應該再印 12/15 14:05
感謝說明
大致理解netlist的原理了
但下列AIGER碼:
aag 16 5 0 3 2
2
4
6
8
10
0
14
24
14 4 6
24 10 8
c
ref的cirp -n如下:
[0] CONST0
[1] PO 17 0
[2] PI 2
[3] PI 3
[4] AIG 7 2 3
[5] PO 18 7
[6] PI 5
[7] PI 4
[8] AIG 12 5 4
[9] PO 19 12
這可能太trivial了
但我想知道為何[6][7]的順序是那樣
如果我把他們反過來
算是錯嗎?
※ 編輯: OckhamsRazor 來自: 140.112.244.51 (12/15 20:14)
6F:推 ric2k1:"24 10 8" 這個 AIG gate 會把 "[6] PI 5" 放在 fanin[0], 12/15 21:02
7F:→ ric2k1:而把 "[7] PI 4" 放在 fanin[1], 因此,根據 spec, [6]會比 12/15 21:03
8F:→ ric2k1:[7] 先被 traverse 到,所以會是這樣的順序。 12/15 21:04
9F:→ OckhamsRazor:了解了!!!謝謝教授!!! 12/15 21:18