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信号:控制触发,读写等信号

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/9030.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Qt编译lua库并调用

参考博客&#xff1a; 编译lua库 参考下面文章编译lua库文件 QT5.9学习笔记之QT编译lua库_qtluaintf.h-CSDN博客 https://blog.csdn.net/qq_23345187/article/details/112710677 Qt代码引用lua库文件 打开pro项目文件&#xff0c;右键空白处&#xff0c;点击添加库&#xff…

数据结构:直接插入排序

直接插入排序是数据结构中较为简单的插入排序法&#xff0c;基本思想是&#xff1a;把待排序的记录按照关键码值的大小逐个插入到一个已经排好序的有序序列中&#xff0c;直到所有的记录插完为止&#xff0c;得到一个新的有序序列。 实际上我们玩扑克时&#xff0c;就用了插入排…

Pr 视频过渡:溶解

效果面板/视频过渡/溶解 Video Transitions/Dissolve Adobe Premiere Pro 的视频过渡效果中&#xff0c;溶解 Dissolve效果组提供了多种平滑过渡方式&#xff0c;适用于不同的场景需求&#xff0c;从基础的淡入淡出到复杂的叠加溶解&#xff0c;帮助用户实现更具层次感的视觉过…

使用 Elasticsearch 构建食谱搜索(一)

作者&#xff1a;来自 Elastic Andre Luiz 了解如何使用 Elasticsearch 构建基于语义搜索的食谱搜索。 简介 许多电子商务网站都希望增强其食谱搜索体验。正确使用语义搜索可以让客户根据更自然的查询&#xff08;例如 “something for Valentines Day - 情人节的礼物” 或 “…

prompt资料收集

1. LANGgpt模板 # Role: 知识探索专家 ## Profile: - - 即刻App即刻App&#xff0c;享受探索、表达和创造https://m.okjike.com/originalPosts/649801f1ba47fe581a0da471?seyJ1IjoiNjQyM2IwMDE4NDg5Njk1NGJjYzhkNWU1IiwiZCI6MX0%3D2. 好的prompt的标准 主观的说&#xff1a;…

大数据学习10之Hive高级

1.Hive高级 将大的文件按照某一列属性进行GROUP BY 就是分区&#xff0c;只是默认开窗存储&#xff1b; 分区是按行&#xff0c;如一百行数据&#xff0c;按十位上的数字分区&#xff0c;则有十个分区&#xff0c;每个分区里有十行&#xff1b; 分桶是根据某个字段哈希对桶数取…

前端Nginx的安装与应用

目录 一、前端跨域方式 1.1、CORS(跨域资源共享) 1.2、JSONP(已过时) 1.3、WebSocket 1.4、PostMessage 1.5、Nginx 二、安装 三、应用 四、命令 4.1、基本操作命令 4.2、nginx.conf介绍 4.2.1、location模块 4.2.2、反向代理配置 4.2.3、负载均衡模块 4.2.4、通…

Mit6.S081-实验环境搭建

Mit6.S081-实验环境搭建 注&#xff1a;大家每次做一些操作的时候觉得不太保险就先把虚拟机克隆一份 前言 qemu&#xff08;quick emulator&#xff09;&#xff1a;这是一个模拟硬件环境的软件&#xff0c;利用它可以运行我们编译好的操作系统。 准备一个Linux系统&#xf…

AWS账号安全:如何防范与应对账号被盗风险

在云计算时代&#xff0c;Amazon Web Services&#xff08;AWS&#xff09;作为全球领先的云服务提供商&#xff0c;为企业和个人提供了强大的计算资源和灵活的服务。然而&#xff0c;随着云计算的普及&#xff0c;AWS账号被盗的风险也随之增加。我们九河云有多年用云经验&…

IPTABLE:Linux下的网络防火墙

IPTABLE&#xff1a;Linux下的网络防火墙 引言 在Linux系统中&#xff0c;IPtable是一种强大的网络防火墙工具&#xff0c;广泛应用于各种网络环境中。它不仅可以实现基本的包过滤功能&#xff0c;还能进行网络地址转换&#xff08;NAT&#xff09;、数据包记录、流量统计等高…

Java版工程行业管理系统源码-专业的工程管理软件- 工程项目各模块及其功能点清单

工程项目管理软件&#xff08;工程项目管理系统&#xff09;对建设工程项目管理组织建设、项目策划决策、规划设计、施工建设到竣工交付、总结评估、运维运营&#xff0c;全过程、全方位的对项目进行综合管理 工程项目各模块及其功能点清单 一、系统管理 1、数据字典&am…

友思特应用 | 动态捕捉:高光谱相机用于移动产线上的食品检测

导读 高光谱成像技术能够为食品安全助力。以友思特BlackIndustry SWIR 1.7 Max 为代表的高光谱相机&#xff0c;完美解决了移动产线检测的应用难点。 高光谱技术&#xff1a;为食品安全保驾护航 食品安全一直是大众关心的热点话题&#xff0c;提供安全、高质量的食品需要对食…

Java——》try-with-resource

推荐链接&#xff1a; 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Kafka】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 总结——》【Linux】 总结——》【MongoD…

【极客兔兔-Web框架Gee详解】Day0 序言

文章目录 一、Web 开发1. 什么是Web 开发&#xff1f;2. 主要组成部分2.1 前端开发2.2 后端开发2.3 全栈开发2.4 数据库管理 3. Web开发过程3.1 规划和设计&#xff1a;3.2 开发和编码&#xff1a;3.3 测试和优化&#xff1a;3.4 部署和维护&#xff1a; 4. 总结 二、用标准库n…

点击文本将内容填入tinymce-vue 富文本编辑器的光标处

富文本编辑器组件 <template><div ref"tinymceBox" class"tinymce-box"><Editor id"myEditor" v-model"contentValue" :init"init" :disabled"disabled" blur"inputBlur" click"o…

3.2cpu

这个转换原理是基于&#xff0c;地址号*大小页内偏移量&#xff0c;通过页表使逻辑号和内存号之间建立起联系&#xff0c;从而实现地址的转换 按字节寻址&#xff0c;意思是说一个地址的大小是一个字节 页表记录的是逻辑块号与实际存储的主存块号之间的映射关系&#xff0c;是…

SQLI LABS | Less-35 GET-Bypass Add Slashes (we dont need them) Integer Based

关注这个靶场的其它相关笔记&#xff1a;SQLI LABS —— 靶场笔记合集-CSDN博客 0x01&#xff1a;过关流程 输入下面的链接进入靶场&#xff08;如果你的地址和我不一样&#xff0c;按照你本地的环境来&#xff09;&#xff1a; http://localhost/sqli-labs/Less-35/ 话不多说…

小北的字节跳动青训营与LangChain实战课:深入探索输出解析器与Pydantic解析器重构(持续更新中~~~)

前言 最近&#xff0c;字节跳动的青训营再次扬帆起航&#xff0c;作为第二次参与其中的小北&#xff0c;深感荣幸能借此机会为那些尚未了解青训营的友友们带来一些详细介绍。青训营不仅是一个技术学习与成长的摇篮&#xff0c;更是一个连接未来与梦想的桥梁~ 小北的青训营 X M…

Leetcode 两数之和 Ⅱ - 输入有序数组

这段代码实现了在一个非递减排序的数组中找到两个数&#xff0c;使它们的和等于目标值的算法。算法使用了双指针技术&#xff0c;具体思想如下&#xff1a; 算法思想&#xff1a; 初始化指针&#xff1a;定义两个指针 left 和 right&#xff0c;分别指向数组的起始位置和末尾位…

UE5.4 PCG 复制关卡实例

关卡实例&#xff1a;最大层级的管理&#xff0c;方便关卡级别的复制、重载 1.创建关卡实例&#xff0c;右箭生成PCG设置。注意&#xff1a;当关卡实例发生变化&#xff0c;需要重新手动再创建一次PCG设置 2.直接拖放到PCG图&#xff0c;设置如下 说明&#xff1a;PCG设置文…