Re: [請益] 一個關於BDDSETVar的超級小問題...

看板EE_DSnP作者 (美良)時間14年前 (2010/01/16 14:22), 編輯推噓2(206)
留言8則, 2人參與, 最新討論串2/2 (看更多)
我也想問個這個指令的問題 怕用推的會沒人看到就用回的... ※ 引述《a3785lexx (Alex)》之銘言: : 如題...看著網頁上的specify看著看著越來越疑惑... : 自己對ref program試了一下之後也還是很疑惑@@" : 所以還是直接上來請教強者的見解好像比較好 : BSETVar裡面說: : associates <BddName> to <level> : 然後,BddName = gateID | valid string : 所以,我們可以把circuit裡面的gate隨意連接到level上 : 經過對ref的測試後似乎也真的是這麼回事... : bdd>cirr ./testcases/C17.cir : bdd>bsetv 1 0 ←----成功了 bdd>bsetv 1 0 這個動作在沒有讀進任何電路的狀態下也可以做啊... 所以這個動作應該是 讓 "0" 這個string對應到bddNode _supports[1]而已 和讀進來的電路的gateID應該沒有關係吧....? 這樣理解對嗎? 好疑惑... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.250.191

01/16 15:18, , 1F
但是 band a 0 b 是 legal 的, 那這個 0 是指 string 0
01/16 15:18, 1F

01/16 15:21, , 2F
還是 ID = 0 的 BddNode 呢? 所以 bsetv 1 0 應該要判斷
01/16 15:21, 2F

01/16 15:22, , 3F
0 是否為 varName (i.e. isVarName()), 如果是的話, 就存到
01/16 15:22, 3F

01/16 15:23, , 4F
_bddMap; 否則就檢查 0 是否為 legal int (ie.myStr2Int())
01/16 15:23, 4F

01/16 15:24, , 5F
如果是的話, 就加到 _bddArr 裏頭.
01/16 15:24, 5F

01/16 15:24, , 6F
In the latter case, 的確會跟 ID = 0 的 gate 造成
01/16 15:24, 6F

01/16 15:24, , 7F
confusion, so the user should use with care.
01/16 15:24, 7F

01/16 15:55, , 8F
喔 我想的太簡單了... 謝謝老師回答!
01/16 15:55, 8F
文章代碼(AID): #1BKLiVTy (EE_DSnP)
文章代碼(AID): #1BKLiVTy (EE_DSnP)