作者dostaevsky (軒)
看板EE_DSnP
標題[問題] buildBdd中fanin的Bdd建不出來
時間Thu Jun 25 15:24:25 2009
在建C17時,碰到cirb -all就crash
用gdb看,發現是在CirOrGate::buildBdd()中
faninBdd為空
code如下
BddNode resultBdd = bddMgr->getSupport(0);
for (size_t i = 0; i < _faninList.size(); i++) {
CirGate* fanin = _faninList[i];
unsigned faninId = fanin->getId();
BddNode faninBdd = bddMgr->getBddNode(faninId);
if ((faninBdd() & (~1)) == 0) {
BddNode faninBdd = fanin->buildBdd();
bddMgr->addBddNode(fanin->getName(), faninBdd());
bddMgr->addBddNode(faninId, faninBdd());
}
resultBdd &= faninBdd; // crash: faninBdd為空
}
我不確定if 的條件這樣寫對不對,因為沒辦法用private的getBddNodeInt()去判斷
或者有沒有可能是我的&=寫得不好?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.228.27.248