看板 EE_DSnP 關於我們 聯絡資訊
好像還是不能完全懂這裡的概念orz 雖然大概能理解hash function如何做,但還有些問題 我講一下我理解的部份好了 請大家幫我看看有沒有錯誤,還有一些實作上的問題,感謝! --- 既然目標是要找到fanin in完全一樣的gate(包括fanin的 id和invert) 開始流程大概是 1.對每個gate: g_n,先用他造出一個HashKey: g_nk 2.一起丟進Hash裡面 h.insert(g_nk,g_n) 理論上HashKey不同,代表他的fanin一定不同 但HashKey相同,不代表fanin就一定相同 不過同一個bucket也可能有不同的HashKey被丟進來 所以我只要check同bucket中各個slot是否有可以merge的gate就好了 在不同bucket中的一定不可能被merge --- 我的問題是: 這個過程中,是每次insert時就要去檢查是否有一樣,然後當場完成merge的動作嗎? 感覺這樣是比較好的,但又覺得把merge的動作寫在insert裡面 好像有點讓Hash不乾淨,變成不是一個獨立的資料結構 而是一定要配合我電路graph使用 但全部都insert進去之後,再去處理merge問題 就無法確定是dfs的順序去merge,那有些能merge的東西就會漏掉了 想問問看大家是怎麼做的? --- ps:有需要merge fanin一樣的 output嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.168.217.146 ※ 編輯: BBSealion 來自: 218.168.217.146 (01/11 18:57)
TommyKSHS:記得老師好像有說過 output 還有 input不能被simplified 01/11 19:02
puerpuella:先check,有就merge,沒有就forceInsert? 01/11 19:08
BBSealion:嗯... 樓上這樣講不錯 (樓樓上謝啦XD) 01/11 19:38
BBSealion:但這樣變成每個都用check和forceinsert來完成 insert 01/11 19:40
BBSealion:本身反而變成沒有用了? 01/11 19:40
BBSealion:有點像把insert該做的兩件事拆成兩個function分別完成 01/11 19:44
ric2k1:推 3000!! 01/11 21:14
BBSealion:噗... XDD 01/11 21:34
BBSealion:話說 bucket的數量...開個十萬會很過分嗎= =? 01/11 21:35
tomap41017:3000PO被你搶到了..數量就開3000吧!(誤 01/12 14:21