作者yan12125 (姥姥)
看板EE_DSnP
标题[问题] FEC观念问题
时间Tue Jan 1 23:38:00 2013
我丢一个我自己写的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就要分成
两组吧?
--
谁知真患难 忽悟大光明 日出云俱静 风消水自平
功名几灭性 忠孝大劳生 天下惟豪杰 神仙立地成
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.241.234
1F:推 ric2k1:因为 00...000 与 11...111 是 inverse FEC,所以还是会被 01/01 23:50
2F:→ ric2k1:放在同一组,只是加上 ! 变成 !4 01/01 23:51
3F:→ yan12125:我的想法是:如果两个gate equiv. ,则所有的input都会使 01/02 00:00
4F:→ yan12125:结果相同,而如果是inverse equiv. ,则所有的input都会 01/02 00:01
5F:→ yan12125:结果完全相反,因此对於已知的两个gate,如果存在两组 01/02 00:03
6F:→ yan12125:input分别使结果完全相同与完全相反,则这两个gate既不是 01/02 00:03
7F:→ yan12125:equiv. 也不是inverse equiv. ,那就没有必要继续留在 01/02 00:04
8F:→ yan12125:functionally equivalent "candidate" pairs里吧? 01/02 00:05
9F:推 ric2k1:你这麽说的确有道理,ref prog 的确没有把这个因素考虑进去 01/02 00:12
10F:→ ric2k1:我等一下有空来改一下。 01/02 00:14
11F:→ yan12125:推! 01/02 00:18
12F:推 ric2k1:不过我又想了一下,在正常的 parrallel pattern 模拟底下 01/02 00:21
13F:→ ric2k1:两个 gates 要前一次 32 个 patterns 是 eq, 下一次 32 个 01/02 00:21
14F:→ ric2k1:patterns 是 inv-eq 的机率几乎是 0, 为了这样去改变我收集 01/02 00:22
15F:→ ric2k1:FEC pairs 的机制似乎不太划算,所以我就不改了。 01/02 00:23
16F:→ ric2k1:我们在测的时候会注意不要让这样的情形发生。 01/02 00:23
17F:→ yan12125:XD 我乱数产生10000个gate的电路+65行的pattern file 01/02 00:25
18F:→ yan12125:10几次就出现了 01/02 00:26
19F:→ yan12125:似乎32k+1个pattern时比较容易出现 01/02 00:26
20F:推 ric2k1:不懂... 不过基本上这不会影响 FRAIG 的正确性。也许在某些 01/02 00:45
21F:→ ric2k1:case 会让 cirp -FEC 不够精确,但我想 sim 的重点还是要快 01/02 00:46
22F:→ ric2k1:而且够就好,误判的情形就交给 SAT,整体来说应该是比较好 01/02 00:47
23F:推 ric2k1:简单的说,如果前面 32n 个 parallel patterns让两个 gates 01/02 01:15
24F:→ ric2k1:的反应一样,但下 32 个乱数的 parallel patterns 却让 01/02 01:16
25F:→ yan12125:嗯 了解 01/02 01:16
26F:→ ric2k1:这两个 gates 的反应正好反向,这样的电路真的是太奇怪了, 01/02 01:17
27F:→ ric2k1:都给 SAT 去解 SAT(f == g) // 因为反向 01/02 01:18
28F:→ ric2k1:应该会一下子就解出来了,所以也不会有什麽 overhead 01/02 01:19
29F:→ ric2k1:但为了要检查这种情形,以我目前的 implement 来说却要 01/02 01:19
30F:→ ric2k1:多记/多传一些东西,我觉得是不值得的。 01/02 01:20
31F:→ yan12125:感谢老师!问个小问题,让我获益良多 01/02 01:25
32F:→ yan12125:其实就算中间被误判归类为inverse FEC,最後还是会被分开 01/02 01:28
33F:→ yan12125:simulation pattern数量增加结果就一样了 01/02 01:29