精華區beta EE_DSnP 關於我們 聯絡資訊
"If the BDD of the gate or the circuit has been built, do nothing." 所以對電路建BDD的過程應該是這樣: 先用BSETVar -PI對每個PI指定一個support (此時BddMap裡只有各PI的名稱) 從PO開始buildBDD() 每次看到一個circuit node, 就去檢查BddMap裡是否已經有這個name 如果有就直接拿來用,沒有就對每個fanin buildBdd()再整合 嗎? 如果bsetvar level時有設定到和電路裡的node相同名稱 這個方法就爛掉了 這種狀況要處理嗎? (reference program好像就放給他爛,EX: cread bdd_test/testcases/C17.cir bsetv -pi -f bsetv 5 22GAT // 22GAT is a PO in C17 bbuild 22GAT brep 22GAT [5](+) [0](+) [0](-) (*) ==> Total #BddNodes : 2 BUT, 如果沒有bsetv 5 22GAT那行,就會得到 [4](+) [3](+) [1](+) [0](+) [0](-) (*) [2](+) [0](+) (*) [0](-) (*) [3](+) [2](+) [0](+) (*) [1](+) (*) [2](+) (*) ==> Total #BddNodes : 7 ) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.33.200 ※ 編輯: timrau 來自: 140.112.33.200 (01/11 21:13) ※ 編輯: timrau 來自: 140.112.33.200 (01/11 21:13) ※ 編輯: timrau 來自: 140.112.33.200 (01/11 21:16)
ric2k1:Corrected. Please see post 424. 01/11 22:05