Pattern program MPAT 详解

本文为VIP文章,主要介绍Pattern中元素与格式、常用指令、地址&数据产生指令等。

目录

一、pattern概述

二:Pattern构成元素

1、pattern构成元素:MPAT、END

2、pattern构成元素:pattern file name

3、pattern构成元素:SDEF

4、Pattern构成元素:REGISETR

5、Pattern构成元素:MODULE BEGIN/MODULE END

6、Pattern构成元素:START

7、Pattern构成元素:label

8、Pattern构成元素:ADDRESS DEFINE

9、Pattern指令段内部格式

实例 

三:Pattern常用控制指令详解

1、NOP

2、JNIn

3、INCn、STIn、LDIn、IDXIn(n=1~8)

4、OUT指令详解

5、JNCm

6、JZD

7、FLGLI1

8、JSR、RTN、JMP、STPS

四:Pattern地址产生指令详解

1、地址产生相关寄存器概述

2、XMAX, YMAX寄存器详解

3、LMAX, HMAX寄存器详解

4、Base Register:XB、YB、Z详解

5、Hold Register:XH、YH、ZH详解

6、直接输出寄存器XTn,YTn

7、地址偏移寄存器D1-D4详解

8、Base Register ALU操作总结

9、Current Register ALU操作总结

10、关于地址产生指令的补充说明

11、DSEL相关指令介绍

五、Pattern数据产生指令详解

1、TP,TP2寄存器详解

2、DCMR和DCMR2寄存器详解

3、使用D5/D6寄存器进行数据操作

4、数据反转

实例1 

实例2 

总结


一、pattern概述

自动测试设备(ATE)中用于生成测试模式的程序。

Pattern program 在 Advantest T55xx 系列测试设备中扮演着重要角色。它需要时间学习如何生成各种DRAM算法的pattern,难度在于掌握具体的语法控制ALPG(Algorithmic Pattern Generator)生成算法要求的地址和数据。Pattern program 通常与 socket program、scramble program 和 main program 一起工作,其中 main program 调用其他程序并定义测试项

“Pattern program”是用“MPAT语言”编写的一种用于DUT(Design Under Test)测试的程序,它是tester程序的一部分,用于通过编程驱动pattern硬件系统产生特定的输出(地址,数据,波形等)来测试DUT设备。

在这种情境下,“MPAT语言”是一个特定的测试编程语言,用于描述和生成测试模式。测试模式是一系列预定义的指令和参数,用于控制测试设备以特定的方式工作,并收集DUT的响应数据。

测试程序(即Pattern program)的作用是通过编程方式控制测试硬件系统,以便产生所需的测试激励,例如特定的地址序列、数据模式或波形。这些激励被应用到DUT上,以验证其功能和性能是否符合预期。Pattern program可能会包括多种测试模式,每种模式针对DUT的不同方面进行测试。例如,一些模式可能关注于DUT的数据处理能力,而另一些模式可能关注于其在不同条件下的稳定性和可靠性。

二:Pattern构成元素

Pattern程序主要由以下几个核心组件构成:

1、首先是MPATEND字段,它们分别标志着程序的起始与终结,为整个流程提供了明确的边界。

2、随后是REGISTER寄存器声明部分,这一环节主要承担寄存器的初始化工作,确保在执行后续操作前,寄存器处于正确的初始状态。

3、最后是MODULE BEGINMODULE END模块定义,它们界定了pattern程序的主体内容所在。在这个模块中,真正的pattern程序得以展开。值得注意的是,一个完整的pattern程序可以包含多个MODULE,也可以不包含MODULE,这取决于具体的测试需求与程序设计。

1、pattern构成元素:MPAT、END

MPAT的语法为: MPAT program-name <IL-mode> 其中program-name将成为编译之后目标文件的文件名。同时,它也是对应的Pattern程序。 <IL-mode>是一个插页模式,当不指定插页模式时则默认使用1WAY模式。

MPAT指定插页模式的实例: MPAT  MSAMPLE1  1WAY   or   MPAT  MSAMPLE1 (默认为1 WAY) MPAT MSAMPLE2   2WAY 实际上有三个地方可以指定插页模式(由高到低):

Module part(模块段)中进行设置

Common part(公共段)中进行设置

MAPT后进行设置

2、pattern构成元素:pattern file name

3、pattern构成元素:SDEF

SDEF:Pattern字符串定义 SDEF是使用一个最大32位的任意字符串来定义地址产生指令和数据产生指令。SDEF可以和C语言中的宏定义相类比。SDEF的语法为: SDEF new-mnemonic = mnemonics-already-defined.

4、Pattern构成元素:REGISETR

REGISETR: 寄存器初始化区域

一个pattern主要包括一些寄存器和对这些寄存器的操作。寄存器之间的算术运算执行后可以产生DUT需要的地址和数据,一个寄存器声明可以用来初始化/设置每个寄存器的值,在不同的地方设置的优先级不同(由高到低):

Main Program(C code)中设置寄存器的值

Pattern Module(模块段)中设置寄存器的值

Pattern Common(公共段)中设置寄存器的值

5、Pattern构成元素:MODULE BEGIN/MODULE END

MODULE: 一个pattern程序中可以有多个MODULE,每个MODULE可以实现不同的功能。 MODULE的语法:

MODULE BEGIN   ;表示模块开始        

START    #n        ......

MODULE END      ;表示模块结束

MODULE注意事项: Pattern中可以有多个MODULE MODULE中需要其指令开始位置,使用START指定。

6、Pattern构成元素:START

SATRT: Pattern序列从START声明开始执行 START的语法:

START    #NO  (NO表示ALPG PATTERN MEMORY中的位置)

7、Pattern构成元素:label

label: 类似汇编语言中的标签 label的语法: label: (”:”一定不能少)

8、Pattern构成元素:ADDRESS DEFINE

ADDRESS DEFINE:N/Z/B中对应的Bit将替换对应的X/Y信号输出到DUT ADDRESS DEFINE的(提示:不支持XY = XY.OR.ZN (即某个X/Y信号只能选择B/N/Z中的一个,有重复的话,后写的会覆盖先写的。)

ADDRESS DEFINE

Y12-15 = N0-3

Y12-13 = B0-1

Y14-15 = Z0-1

XY = ZN

9、Pattern指令段内部格式

指令段内部格式可以分为如下部分:

序列控制部分:主要是相关的指令如NOP,JZD等

地址计算部分:操作寄存器输出相关地址

数据计算部分:操作寄存器输出相关数据

MUT信号:控制触发,读写等信号

时钟控制部分:控制输出波形

  • 36
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ITC小浪花、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值