作者stwxk (STWXK)
看板EE_DSnP
標題[問題] HW#6 CIRGate指令 gate展開加(*)
時間Tue Dec 24 16:22:40 2013
只是一個小問題,根據HW#6的spec,在CIRgate -FANIn/-FANOut指令中,
若經過一個gate,只要其fanin/fanout在之前有被report過,
下一次再需要展開其fanin/fanout時就直接加(*),不管後面的層數。
這若是避免重複輸出,但若有未重複涵蓋到的部分呢?例如:
cir>CIRGate 1 -fanin 3
┌──┐ 5─┐┌──╮ (fanin2)┌──╮
│ ├─┐ └┤ ├────────┤ │
│ 7 │ │ ┌──╮ ┌┤ 4 ├─┐┌──╮┌─┤ 1 │
└──┘ └─┤ ├─┘└──╯ └┤ ││ └──╯
┌──┐ ┌─┤ 6 │ ┌┤ 2 ├┘(fanin1)
│ ├─┘ └──╯ 3─┘└──╯
│ 8 │
└──┘
若AIG 1接的fanin是先AIG 2再AIG 4,那輸出:
AIG 1
AIG 2
UNDEF 3
AIG 4
AIG 6
UNDEF 5
AIG 4 (*)
可是實際上gate 7和8是在level=3範圍之內:
AIG 1
AIG 2
UNDEF 3
AIG 4
AIG 6
UNDEF 5
AIG 4
AIG 6
PI 7
PI 8
UNDEF 5
還是就不論如何,只要下一層重複report過了,就輸出(*)?
感謝回答!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.4.183
推 arsenefrog:是,好像幾年前討論過了 12/24 17:04
→ arsenefrog:3415篇 12/24 17:05
→ stwxk:了解,感謝樓上。 12/24 20:26
推 ric2k1:辛苦了! 畫得真好!! 12/24 22:07
→ kusoayan: 才找得到 12/14 12:01