作者timrau (没code没真相)
看板EE_DSnP
标题[问题] BBUILD
时间Thu Jan 11 20:44:23 2007
"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)
1F:推 ric2k1:Corrected. Please see post 424. 01/11 22:05