作者ric2k1 (Ric)
看板EE_DSnP
标题[消息] 关於 BddNode 的名字
时间Tue Jan 5 00:30:21 2010
首先请见 project website 说明的第 (i) 点:
(i) [bddName = varName | gateID] Many commands require the lookup from
name (string varName) or gate ID (int gateID) to BddNode. Please use “
BddManager::_bddMap” to record the connections from “varName” to “BddNode
”, and use “BddManager::_bddArray” to record the connections from “gateID
” to “BddNode”. The “string varName” must be a valid variable name (i.e.
start with [a-zA-Z_]), while the “int gateID” must be a legal non-negative
integer. (Note: each gate will be assigned with a distinct gateID as its DFS
search order, from PI to PO)
并且注意一下 command usage 里头到底是 specify "BddName", "varName", 还是
"gateID"? 比方说:
bdd> BAND <(string varName)> <(string bddName)>...
就表示 AND 之後的 BddNode 一定要存成 string 的 varName,但是 inputs 可以是
string name or int gateID. 所以 "band c a b", "band c 1 2" or "band c a 8"
都是合法的。
bdd> BREPort <(string bddName)>
表示可以 "brep 3" or "brep c"。
: 想问一下教授
: 在看不到的 cir package 中,是怎麽把 bddNode 加进 _bddMap 的?
(gateID, BddNode) 只会加到 _bddArr, 不会加到 _bddMap, 因为 gateID is an int
: 因为我用 ref 进行测试 brep 的测试
: cirr testcases/C17.cir
: cirsetv -d
: cirb -a
: brep ....?
: brep 1GAT???
: 怎麽测都是用 ID 来进行呼叫,
嗯, 不用将 (gateName, BddNode) 存到 _bddMap 里头。
: 而且这个 ID 应该是根据 netlist 的行号来定义的
: 那麽一个 bdd 的名字呢?
: 还是读 .cir 档的 bdd 不会有名字?
: 只有用 BADD 等指令的 bdd node 才会有名字?
可以这麽说
: 那麽这些用BADD 产生的 bdd 需不需要加进 uniqueTable 呢?(目前是没有)
BAND 吧?
这边观念要澄清一下,
uniqueTable 是用来存 Hash(level, left, right) --> BddNodeInt* 用的哦!
跟 Map(string, BddNode) 或是 vector(gateId, BddNode) 是不一样的!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.224.46.86
1F:推 herbert570:@@手误...是BAND。不过如果新创出来的 BddNode 他的 01/05 23:10
2F:→ herbert570:BddNodeInt 如果是第一次出现的,那要不要加到 unique- 01/05 23:11
3F:→ herbert570:Table 里呢? 01/05 23:11
4F:→ ric2k1:当然要罗! 不过这个 BddNodeInt* 应该是在 ite() 里面被 01/05 23:48
5F:→ ric2k1:产生的吧! 01/05 23:48
6F:→ ric2k1:I mean BAND --> BddNode::operator &() --> BddMgr::ite() 01/05 23:49
7F:推 herbert570:SEE~~~~ 谢谢ric! 01/06 10:52