[问题] FEC观念问题

楼主: yan12125 (姥姥)   2013-01-01 23:38:00
我丢一个我自己写的aag file:
aag 4 2 0 2 2
2
4
6
8
6 2 4
8 2 5
模拟的pattern:(00跟10各重复32次)
00
....
00
10
....
10
第一轮模拟完AIG 3和AIG 4都是0000_0000_0000_0000_0000_0000_0000_0000,
cirp -fec应该像这样:
[0] 0 3 4
第二轮模拟AIG 3=0000_0000_0000_0000_0000_0000_0000_0000,
AIG 4=1111_1111_1111_1111_1111_1111_1111_1111
这时./ref/fraig给出cirp -fec的结果是:
[0] 0 3 !4
第一轮模拟后3跟4在同一组,只要之后任何模拟的结果不一样,两个gate就要分成
两组吧?
作者: ric2k1 (Ric)   2013-01-01 23:50:00
因为 00...000 与 11...111 是 inverse FEC,所以还是会被放在同一组,只是加上 ! 变成 !4
楼主: yan12125 (姥姥)   2013-01-02 00:00:00
我的想法是:如果两个gate equiv. ,则所有的input都会使结果相同,而如果是inverse equiv. ,则所有的input都会结果完全相反,因此对于已知的两个gate,如果存在两组input分别使结果完全相同与完全相反,则这两个gate既不是equiv. 也不是inverse equiv. ,那就没有必要继续留在functionally equivalent "candidate" pairs里吧?
作者: ric2k1 (Ric)   2013-01-02 00:12:00
你这么说的确有道理,ref prog 的确没有把这个因素考虑进去我等一下有空来改一下。
楼主: yan12125 (姥姥)   2013-01-02 00:18:00
推!
作者: ric2k1 (Ric)   2013-01-02 00:21:00
不过我又想了一下,在正常的 parrallel pattern 模拟底下两个 gates 要前一次 32 个 patterns 是 eq, 下一次 32 个patterns 是 inv-eq 的机率几乎是 0, 为了这样去改变我收集FEC pairs 的机制似乎不太划算,所以我就不改了。我们在测的时候会注意不要让这样的情形发生。
楼主: yan12125 (姥姥)   2013-01-02 00:25:00
XD 我乱数产生10000个gate的电路+65行的pattern file10几次就出现了似乎32k+1个pattern时比较容易出现
作者: ric2k1 (Ric)   2013-01-02 00:45:00
不懂... 不过基本上这不会影响 FRAIG 的正确性。也许在某些case 会让 cirp -FEC 不够精确,但我想 sim 的重点还是要快而且够就好,误判的情形就交给 SAT,整体来说应该是比较好简单的说,如果前面 32n 个 parallel patterns让两个 gates的反应一样,但下 32 个乱数的 parallel patterns 却让
楼主: yan12125 (姥姥)   2013-01-02 01:16:00
嗯 了解
作者: ric2k1 (Ric)   2013-01-02 01:17:00
这两个 gates 的反应正好反向,这样的电路真的是太奇怪了,都给 SAT 去解 SAT(f == g) // 因为反向应该会一下子就解出来了,所以也不会有什么 overhead但为了要检查这种情形,以我目前的 implement 来说却要多记/多传一些东西,我觉得是不值得的。
楼主: yan12125 (姥姥)   2013-01-02 01:25:00
感谢老师!问个小问题,让我获益良多其实就算中间被误判归类为inverse FEC,最后还是会被分开simulation pattern数量增加结果就一样了

Links booklink

Contact Us: admin [ a t ] ucptt.com