作者ric2k1 (Ric)
看板EE_DSnP
标题Re: [问题] 关於standardize
时间Sun Jan 7 10:21:51 2007
※ 引述《kahang (终於大四了耶^^)》之铭言:
: 请问一下
: 如果还没有implement standardize()的话会对执行ITE的结果有影响吗?
standardize is to increase the "hit rate" of the computed cache and thus
improve the performance. Therefore, if you haven't implement standardize(),
you should still be able to compute the correct BDD, just that it may take
longer time.
: 因为感觉上isNegEdge只会在standardize中改变它的值...
: 可是看建议攻略又说这个function可以先不理....
还有 move bubble 也会呀...
: 然後我看中又有写以下一段话:
: "应该是先做 standardize parameters 再做 check terminal cases 才对
: 否则会 miss 掉一些 terminal cases"
: 所以有点搅不清楚到底它是不是可以optional implement的function之一...
: (其实我最想知道的是它跟XOR的正确性有没有关系T.T bug找不出来囧)
比方说 ITE(F, 0, 1) 就没有包含在那四个 terminal cases 里面, 但是如果你有做
standardize(), 他会变成 ~ITE(F, 1, 0) ==> ~F, 然後就变成一个 terminal case 了.
当然, 如果没有做 standardize() 你的程式可能会花一些力气去 recursively call
ITE(F, 0, 1), 最後还是会得到 ~F...
一个简单的 workaround 就是将 ITE(F, 0, 1) 加入 terminal cases 中, 当然, 如果
standardize() 做好之後这个就没有必要了.
XOR 会有 bug 通常是 bubble 移得不对...
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.121.129.139
1F:→ ric2k1:那你的 XNOR 呢? 01/07 10:22
2F:推 kahang:目前也是不对XD因为我只把XNOR当成~XOR...>"<我再看看... 01/07 12:04
3F:→ kahang:谢谢老师^^" 01/07 12:07
4F:推 ric2k1:XNOR = ~XOR 没错呀 01/07 12:17