在ATE测试时的pattern x mode是如何来使pattern体积变小的

来源:互联网 发布:网络作家。乱弹琴 编辑:程序博客网 时间:2024/04/30 05:32

原因:因为ATE上的每个pin的vector memory都是固定的,当测试的使用使用的pattern太大的话,pattern是不能成功加载到ATE中去的,当然可以不同pin的vector memory可以互相share,当时这个另外一个topic了。

为什么x mode可以work:因为每一个wavetable在系统中其实就是一张表,这个表的索引范围是0~255(问题:如果wavetable太大的话,怎么办?),如果你的wavetable中只定义了两个wave,剩下的253的位置就浪费了,所以这就引入了x mode的概念

什么是x mode
一般来说,一个period,我们一般放入一个测试cycle,
但是x mode就是在一个period中,放入更多的测试cycle,放入几个(x)就叫做 x mode( 1/2 mode相反,就是讲一个测试cycle放入多个period中去,这里不讨论)

使用x mode的时候需要改变的是timing, wavetable和pattern,下面以wavetable来示例。但是好的ATE会根据你的x mode情况,自动计算这些,有的可能需要手动去修改。

以下只以wavetable来说明,假如有如下的wavetable
定义了两个波形:

0: drive1:0 drive2:01: drive1:1 drive2:0

对应的pattern如下:

10100011

如果使用x2 mode的话,wavetable会变成如下:

0: drive1:0 drive2:0 drive3:0 drive4:0 #equals 001: drive1:1 drive2:0 drive3:1 drive4:0 #equals 112: drive1:0 drive2:0 drive3:1 drive4:0 #equals 013: drive1:0 drive2:0 drive3:1 drive4:0 #equals 10

对应的pattern会变成如下形式:

3 #equals 103 #equals 100 #equals 001 #equals 11

原先的pattern行数是8,使用x2 mode只用,pattern的行数变成了4,从而达到节省vector memory的目的。

当然在使用x mode的使用还是有一些讲究的地方,
比方说如果
原来的pattern的行数/x ~= integer
的时候怎么办?
如果原来wavetable的波形太多怎么办?
在实际的工作中都有意识到这些。

0 0