DDR2存储器的建模方法和边界扫描测试方法.pdf

上传人:111****112 文档编号:4659743 上传时间:2018-10-25 格式:PDF 页数:14 大小:1.22MB
返回 下载 相关 举报
摘要
申请专利号:

CN201210560824.5

申请日:

2012.12.20

公开号:

CN103035300A

公开日:

2013.04.10

当前法律状态:

撤回

有效性:

无权

法律详情:

发明专利申请公布后的视为撤回IPC(主分类):G11C 29/00申请公布日:20130410|||实质审查的生效IPC(主分类):G11C 29/00申请日:20121220|||公开

IPC分类号:

G11C29/00; G11C29/32

主分类号:

G11C29/00

申请人:

北京航天测控技术有限公司

发明人:

杜影; 李洋; 徐鹏程; 王石记

地址:

100041 北京市石景山区实兴东街3号

优先权:

专利代理机构:

北京理工大学专利中心 11120

代理人:

李爱英;高燕燕

PDF下载: PDF下载
内容摘要

本发明公开了一种DDR2存储器建模方法和一种DDR2存储器的边界扫描测试程序加载方法。在所述建模方法中,步骤101,通过预先设置的关键词对DDR2存储器的各个属性分别进行定义,以文本文件形式完成模型文件的建立;步骤102,将所述模型文件添加上预定后缀并保存,完成DDR2存储器建模。所述DDR2存储器的各个属性包括:DDR2的控制信号线定义,DDR2的动作时序函数和DDR2存储器信息定义;所述存储器信息包括DDR2存储器BANK数量、列地址数量、行地址数量。

权利要求书

权利要求书一种DDR2存储器建模方法,其特征在于,包括:
步骤101,通过预先设置的关键词对DDR2存储器的各个属性分别进行定义,以文本文件形完成模型文件的建立;
步骤102,将所述模型文件添加上预定后缀并保存,完成DDR2存储器建模;
所述DDR2存储器的各个属性包括:DDR2的信号线定义,DDR2的动作时序函数和DDR2存储器信息定义;所述存储器信息包括DDR2存储器BANK数量、列地址数量、行地址数量。
如权利要求1所述的方法,其特征在于,通过预先设置的关键词对DDR2存储器的各个属性分别进行定义之后,所述方法还包括:
使用注释符号和注释信息对定义的所述DDR2存储器的各个属性进行注释。
如权利要求2所述的方法,其特征在于,所述注释信息包括:器件厂家、器件型号、以及封装信息。
如权利要求1所述的方法,其特征在于,对DDR2存储器的信号线采用如下方式进行定义:
(1)关键字1{地址信号线对应管脚名称1地址信号线对应管脚名称2…地址信号线对应管脚名称n}
其中n为地址信号线位宽;通过关键字1实现对地址信号线与DDR2存储器上管脚的对应关系的说明;
(2)关键字2{数据信号线对应管脚名称1数据信号线对应管脚名称2…数据信号线对应管脚名称m}
其中m为数据信号线位宽;通过关键字2实现对数据信号线与DDR2存储器上管脚的对应关系的说明;
(3)关键字3控制信号线名称对应管脚名称
通过在关键字3后跟随的控制信号线名称和对应管脚名称实现对控制信号线与DDR2存储器上管脚的对应关系的说明。
如权利要求1所述的方法,其特征在于,对DDR2存储器信息的定义采用如下方式:
关键字4存储器信息名称赋值
通过在关键字4后跟随存储器信息名称和相应赋值实现对存储器必要信息取值的说明。
如权利要求1所述的方法,其特征在于,DDR2存储器的动作包括初始化、读、写,对动作时序进行定义用于说明每个动作中对控制信号线的具体操作及其时序;
动作时序的定义是采用函数来实现的,函数中采用操作码来定义每项操作,通过操作码顺序的编排来定义操作时序。
如权利要求6所述的方法,其特征在于,所述操作码包括信号线值设置、信号线值生效、地址设置、数据设置、获取数据设置;
(1)信号线值设置操作的具体定义方式如下:
关键字5控制信号线名称设置值
通过在关键字5后跟随的控制信号线名称和对应的电平设置值,实现对DDR2存储器的控制信号线进行赋值操作;
(2)信号线值生效操作的具体定义方式如下:
关键字6
语句“关键字6”表示通过边界扫描的方法使已经用关键字5设置电平生效;
(3)地址设置操作的具体定义方式如下:
关键字7地址值
通过在关键字7后跟随的地址值,实现对DDR2存储器的地址线进行赋值操作;
(4)数据设置操作的具体定义方式如下:
关键字8数据值
通过在关键字8后跟随的数据值,实现对DDR2存储器的数据线进行赋值操作;
(5)获取数据设置操作的具体定义方式如下:
关键字9
通过关键字9,实现获取DDR2存储器数据信号线数据操作。
一种DDR2存储器的边界扫描测试方法,其特征在于,包括如下步骤:
步骤200,采用如权利要求2~7任意一项所述的建模方法构建DDR2存储器的模型文件;
步骤201,用户指定DDR2存储器所需完成的测试项目;
步骤202,加载模块调用用户指定测试项目对应的实现程序,读取DDR2存储器模型文件中的信号线定义和存储器信息;所述实现程序是预先编写的,其调用了模型文件中的动作时序函数;
步骤203,加载模块对步骤202调用的实现程序,进行逐条解析并转换为边界扫描链上的数据加载到边界扫描控制器并向DDR2存储器执行。

说明书

说明书DDR2存储器的建模方法和边界扫描测试方法
技术领域
本发明涉及存储器领域,特别是涉及一种DDR2类型存储器的建模方法及边界扫描测试方法。
背景技术
在现有技术中,边界扫描测试软件是在主计算机上运行的软件,它同边界扫描测试控制器有机结合,构成功能完整的边界扫描测试系统。该边界扫描测试系统完成测试生成、测试向量的加载、测试响应分析、故障显示和辅助功能等任务。同时利用边界扫描测试系统还可以对易失性存储器进行在线编程和数据读写。
目前,边界扫描测试系统经常遇到大容量存储器件(DDR2)测试的问题,现有技术中的测试方法都是根据存储器的特点设计相应的测试项目。在编写测试项目的实现程序时,不同程序员所编写的程序不同,它们之间没有共同点。而且在遇到新型的DDR2存储器件时,需要根据新类型的DDR2存储器的具体参数重新修改实现程序,导致在产品维护过程中由于不具有易用性导致产品维护费用高等问题。
发明内容
本发明提供一种DDR2存储器的建模方法,本建模方法对DDR2存储器的各个属性进行抽象并设置为关键字描述,来构建DDR2存储器模型。DDR2存储器模型具有易用性和重用性,修改方便,能够减低产品维护费用,降低边界扫描测试程序的编写难度。
建立模型后加载模块内部进行解析然后完成测试程序生成。该模型具有统一的风格,在测试程序层面几乎能包括所有的DDR2存储器,即使用同一装置同一流程进行在线测试,使测试效率提高。
一种DDR2存储器建模方法,包括:
步骤101,通过预先设置的关键词对DDR2存储器的各个属性分别进行定义,以文本文件形完成模型文件的建立;
步骤102,将所述模型文件添加上预定后缀并保存,完成DDR2存储器建模;
所述DDR2存储器的各个属性包括:DDR2的信号线定义,DDR2的动作时序函数和DDR2存储器信息定义;所述存储器信息包括DDR2存储器BANK数量、列地址数量、行地址数量。
所述方法还包括:使用注释符号和注释信息对定义的所述DDR2存储器的各个属性进行注释。
所述注释信息包括:器件厂家、器件型号、以及封装信息。
对DDR2存储器的信号线采用如下方式进行定义:
(1)关键字1{地址信号线对应管脚名称1地址信号线对应管脚名称2…地址信号线对应管脚名称n}
其中n为地址信号线位宽;通过关键字1实现对地址信号线与DDR2存储器上管脚的对应关系的说明;
(2)关键字2{数据信号线对应管脚名称1数据信号线对应管脚名称2…数据信号线对应管脚名称m}
其中m为数据信号线位宽;通过关键字2实现对数据信号线与DDR2存储器上管脚的对应关系的说明;
(3)关键字3控制信号线名称对应管脚名称
通过在关键字3后跟随的控制信号线名称和对应管脚名称实现对控制信号线与DDR2存储器上管脚的对应关系的说明。
对DDR2存储器信息的定义采用如下方式:
关键字4  存储器信息名称  赋值
通过在关键字4后跟随存储器信息名称和相应赋值实现对存储器必要信息取值的说明。
DDR2存储器的动作包括初始化、读、写,对动作时序进行定义用于说明每个动作中对控制信号线的具体操作及其时序;
动作时序的定义是采用函数来实现的,函数中采用操作码来定义每项操作,通过操作码顺序的编排来定义操作时序。
所述操作码包括信号线值设置、信号线值生效、地址设置、数据设置、获取数据设置;
(1)信号线值设置操作的具体定义方式如下:
关键字5控制信号线名称设置值
通过在关键字5后跟随的控制信号线名称和对应的电平设置值,实现对DDR2存储器的控制信号线进行赋值操作;
(2)信号线值生效操作的具体定义方式如下:
关键字6
语句“关键字6”表示通过边界扫描的方法使已经用关键字5设置电平生效;
(3)地址设置操作的具体定义方式如下:
关键字7地址值
通过在关键字7后跟随的地址值,实现对DDR2存储器的地址线进行赋值操作;
(4)数据设置操作的具体定义方式如下:
关键字8数据值
通过在关键字8后跟随的数据值,实现对DDR2存储器的数据线进行赋值操作;
(5)获取数据设置操作的具体定义方式如下:
关键字9
通过关键字9,实现获取DDR2存储器数据信号线数据操作。
一种DDR2存储器的边界扫描测试方法,包括如下步骤:
步骤200,采用如权利要求2~7任意一项所述的建模方法构建DDR2存储器的模型文件;
步骤201,用户指定DDR2存储器所需完成的测试项目;
步骤202,加载模块调用用户指定测试项目对应的实现程序,读取DDR2存储器模型文件中的信号线定义和存储器信息;所述实现程序是预先编写的,其调用了模型文件中的动作时序函数;
步骤203,加载模块对步骤202调用的实现程序,进行逐条解析并转换为边界扫描链上的数据加载到边界扫描控制器并向DDR2存储器执行。
本发明有益效果如下:
通过简单、规范的建模方法,构建DDR2存储器的模型文件,对于参数不同的DDR2,只需要修改其中相关参数即可。且模型文件中给出了控制信号线定义、DDR2存储器信息定义、和动作时序函数,该动作时序函数数量不多,但涵盖了DDR2所需的所有动作,这些动作可以组成各种测试流程,因此在编写测试项目的实现程序时,大大减小了编写难度,只需要调用动作时序函数并配以若干标准编程语言就可以完成测试程序的编写,从而减小了设计人员工作量。
而且,本发明能够对所有DDR2类型存储器件进行统一风格的建模,当DDR2存储器变更或遇到新器件时,无需修改测试程序,仅需简单的根据器件特点对模型文件进行编辑修改即可,提高了模型文件的易用性和重用性,进一步减小了测试程序设计人员的工作量,提高了边界扫描测试系统测试DDR2存储器的通用性以及易用性,产品维护费用得以降低。
附图说明
图1是本发明实施例的DDR2存储器建模方法的流程图;
图2为本发明实施例的DDR2存储器测试方法的流程图。
具体实施方式
为了解决现有技术中在遇到DDR2存储器件的情况下,需要设计人员编写相应的测试程序,无法达到通用测试的目的,从而导致设计人员工作量较大,维护困难的问题,本发明提供了一种DDR2存储器的建模方法及边界扫描测试程序加载方法,以下结合附图以及实施例,对本发明进行进一步详细说明。
图1是本发明实施例的DDR2存储器建模方法的流程图,如图1所示,根据本发明实施例的DDR2存储器建模方法包括如下处理:
步骤101,通过预先设置的关键词对DDR2存储器的各个属性分别进行定义,以文本文件形完成模型文件的建立;
其中,DDR2存储器的各个属性包括:DDR2存储器信号线定义、DDR2存储器读、写、初始化的时序定义和存储器信息(BANK数量、列地址数量、行地址数量)。
在步骤101中,具体地:
1.可以通过关键字“地址”对DDR2存储器地址信号线进行定义;
本发明采用如下方式进行定义:
关键字1{地址信号线对应管脚名称1地址信号线对应管脚名称2…地址信号线对应管脚名称n},其中n为地址信号线位宽;
本实施例中,DDR2存储器地址信号定义关键词为:mt_defaddress,通过在mt_defaddress定义后跟随的“{}”内的信号线管脚名称,实现对DDR2存储器模型的地址信号线进行定义。使用mt_defaddress定义DDR2存储器地址信号线的具体定义方法如下:“mt_defaddress{25 26 27 60 61 62 63 64 65 66 2421 22 23}”。上述定义语句表示此DDR2存储器芯片的第25 26 27 60 61 62 63 6465 66 24 21 22 23管脚分别为A0至A15信号。此定义为LSB至MSB方向。
2.通过关键字“数据”对DDR2存储器数据信号线进行定义;
本发明采用如下方式进行定义:
关键字2{数据信号线对应管脚名称1数据信号线对应管脚名称2…数据信号线对应管脚名称m},其中m为数据信号线位宽;
本实施例中,DDR2存储器数据信号定义关键词为:mt_defdata。通过在mt_defdata定义后跟随的“{}”内的信号线管脚名称,实现对DDR2存储器模型的数据信号线进行定义。具体定义方法如下:“mt_defdata{C8 C2 D7 D3 D1D9 B1 B9}”。上述定义语句表示此DDR2存储器芯片的第C8 C2 D7 D3 D1 D9B1 B9管脚分别为DB0至DB7信号。此定义为LSB至MSB方向。
3.通过关键字“控制信号”对DDR2存储器控制信号线进行定义;
DDR2存储器的控制信号线包括:片选信号CS、时钟使能CKE、时钟信号CLK、补充时钟信号CLKN、写信号WE、行地址选通信号RAS、列地址选通信号CAS、数据屏蔽信号DM0\DM1、数据选通信号DQS0\DQS1。对控制信号线定义用于说明控制信号线与DDR2存储器上管脚的对应关系。本发明采用如下方式进行定义:
关键字3控制信号线名称对应管脚名称
本实施例中,DDR2存储器必要控制信号定义关键词为:mt_defcontrol,通过在mt_defcontrol定义后跟随的信号线名称和对应管脚名称,实现对存储器模型的必要控制信号线进行定义,具体定义方法如下:“mt_defcontrol RASF7”,上述定义语句表示管脚“F7”为此DDR2存储器件的“RAS”信号。
4.通过关键字“通知”对DDR2存储器信息进行定义。
DDR2的存储器信息包括:BANK数量、列地址数量、行地址数量。本发明采用如下方式进行存储器信息的定义:
关键字4存储器信息名称赋值
本实施例中,DDR2存储器信息定义关键词为:INFO,通过在INFO定义后跟随各种存储器类型名称,实现对DDR2存储器模型的可选控制信号线进行定义。具体定义方法如下:INFO BANK 3,此定义语句表示此存储器件具有3个BANK。
5.通过关键字对DDR2的3类动作时序进行的定义;
DDR2的动作包括:初始化、写和读。对动作时序进行定义用于说明每个动作中对控制信号线的具体操作及其时序。动作时序的定义是采用函数来实现的,动作时序函数中采用操作码来定义每项操作,通过操作码顺序的编排来定义操作时序。
本实施例中,定义DDR2初始化、写和读的关键词分别为INIT、WriteCmd、ReadCmd。
动作时序函数中使用的操作码包括信号线值设置sa_setpinval、信号线值生效sa_run、设置地址mt_setaddrval、设置数据mt_setdatahighz、获取数据值mt_getdataval;其中,
●sa_setpinval的具体定义方式如下:
sa_setpinval控制信号线名称设置值
通过在sa_setpinval后跟随的控制信号线名称和对应的设置值,实现对DDR2存储器的控制信号线进行赋值操作。例如,“sa_setpinval CS 0”语句表示对已经用mt_defcontrol定义过的信号“CS”设置为低电平。从而完成对于DDR2存储器的管脚设置值的操作。
●sa_run的具体定义方式如下:
sa_run
上述语句表示通过边界扫描的方法使已经用sa_setpinval设置电平生效。sa_run与sa_setpinval配合完成对于DDR2存储器的管脚设置值的操作。例如“sa_setpinval CS 0”配合sa_run,从而完成将信号“CS”设置为低电平。sa_run语句执行后,立刻在DDR2存储器的CS管脚上注入低电平。
再例如,如下语句的组合完成了在CS信号线上产生一个上升沿。
sa_setpinval CS 0
sa_run
sa_setpinval CS1
sa_run
●mt_setaddrval的具体定义方式如下:
mt_setaddrval地址值
上述语句表示设置操作地址。例如mt_setaddrval 0x400表示操作地址为0x400。
●mt_setdatahighz的具体定义方式如下:
mt_setdataval数据值
上述语句表示设置数据。例如mt_setdataval 0x8000表示设置数据值为0x8000。
●mt_getdataval的具体定义方式如下:
mt_getdataval
上述语句表示获取DDR2存储器数据信号线数据。
在上述5类操作码定义完成的情况下,可以根据DDR2存储器的说明书公开的初始化、写和读这3个动作的时序,来完成INIT(1)、WriteCmd(2)、ReadCmd(3)函数的编写。下面分别进行介绍。
(1)INIT
DDR2存储器在读、写操作前,必须挂起和初始化到一个预定的状态。初始化的时序操作要严格按照芯片手册进行编写。在函数中使用的预定义信号必须是在管脚定义中声明过的信号。下表是DDR2存储器的预定义控制信号列表。
信号名范围功能默认值CAS  ‑ 列地址选通0CKE  ‑ 时钟使能1CLK  ‑ 时钟  ‑ CLKN  ‑ 补充时钟  ‑ CS  ‑ 片选0DMn0‑7数据屏蔽0DQSn0‑3数据选通0RAS  ‑ 行地址选通0
WE‑ 写使能0
下面是一段示例代码:

(2)WriteCmd
DDR2存储器在初始化到一个预定的状态后,才能进行写操作。由于不同的芯片写操作时序不同,因此写时序操作要严格按照芯片手册进行编写。在函数中使用的预定义信号必须是在管脚定义中声明过的信号。
下面是一段示例代码:


其中,for循环操作是为了处理重复代码执行多次的状况。本发明采用如下方式进行for循环的定义:
for {循环初始化}{循环判断部分}{循环控制部分}{循环体}
上示例中的for循环就是完成了产生3个时钟脉冲周期的操作。incri表示对i循环加1;
(3)ReadCmd
DR2存储器在初始化到一个预定的状态后,才能进行读操作。由于不同的芯片读操作时序不同,因此读时序操作要严格按照芯片手册进行编写。在函数中使用的预定义信号必须是在管脚定义中声明过的信号。
下面是一段示例代码:


综上,利用上述关键字完成对于DDR2的时序定义操作。
在步骤101中,通过预先设置的关键词对DDR2存储器的各个属性分别进行定义之后,还可以包括如下处理:使用注释符号和注释信息对定义的DDR2存储器的各个属性进行注释。其中,注释信息包括:器件厂家、器件型号、以及封装信息;此类信息便于设计人员区分多种器件以及后期的维护工作。
在本发明实施例中,模型内可通过注释符号对某些说明信息进行注释,例如,使用“#”作为注释符,“#”后面的任何语句软件都不识别。DDR2存储器模型注释信息使用注释符“#”起始,在注释符后面的此行的文字全部为注释信息,具体方法如下:
#Manufacturer  :Micron Technology,Inc.
#Component     :MT46V32M8FJ
#FormalPackageType:60BALLBGA。
步骤102,将模型文件添加上预定后缀并保存,完成存储器建模。需要说明的是,在本发明实施例中,模型文件以文本文件编写,编写完成后以.mem为后缀,作为与其他器件模型的区别。
图2是本发明实施例的DDR2存储器边界扫描测试程序的加载方法的流程图,如图2所示,该方法包括如下步骤:
步骤201,用户指定DDR2存储器所需完成的测试项目,并指定完成该测试项目所需参数;
步骤202,加载模块调用用户指定测试项目对应的实现程序,读取模型文件中的控制信号线定义、存储器信息以及用户指定的所需参数;所述实现程序是预先编写的,其调用了模型文件中的动作时序函数;
步骤203,加载模块对步骤202调用的实现程序,进行逐条解析并转换为边界扫描链上的数据加载到边界扫描控制器执行,边界扫描控制器每一个时钟执行一个动作,从而实现对DDR2的控制和测试。
当需要更改DDR2的类型时,不需要更改实现程序,只需要替换模型文件,或者对模型文件进行相应修订即可。
在本发明实施例中,使用边界扫描测试装置调用DDR2存储器模型文件的动作时序函数,完成DDR2存储器单元的读写操作,以实现对板载DDR2存储器的地址线、数据线连接性故障诊断。例如:向固定地址为0x400的存储单元先写入数据0x8000,再将数据读出的操作例程为:
mt_setaddrval 0x400
mt_setdataval 0x8000
WriteCmd
mt_setaddrval 0x400
ReadCmd
mt_getdataval
可见,本发明通过简单、规范的建模方法,解决了现有技术中在遇到DDR2存储器件的情况下,需要设计人员编写相应的测试程序,无法达到通用测试的目的,从而导致设计人员工作量较大,维护困难的问题,能够对所有DDR2存储器件进行统一风格的建模,在遇到新器件时,仅需简单的根据器件特点对模型文件进行编辑修改后,就可由软件自动识别并解析,减小了测试程序设计人员的工作量,提高了边界扫描测试系统中DDR2存储器测试的通用性以及易用性。
本发明可以应用于多种类型的DDR2,不同类型的DDR2都需要定义控制信号线、动作时序和存储器信息,只是控制信号线的数量可能不同,动作时序的具体时序编制可能不同,但是定义的原则是相同的。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

DDR2存储器的建模方法和边界扫描测试方法.pdf_第1页
第1页 / 共14页
DDR2存储器的建模方法和边界扫描测试方法.pdf_第2页
第2页 / 共14页
DDR2存储器的建模方法和边界扫描测试方法.pdf_第3页
第3页 / 共14页
点击查看更多>>
资源描述

《DDR2存储器的建模方法和边界扫描测试方法.pdf》由会员分享,可在线阅读,更多相关《DDR2存储器的建模方法和边界扫描测试方法.pdf(14页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103035300 A (43)申请公布日 2013.04.10 CN 103035300 A *CN103035300A* (21)申请号 201210560824.5 (22)申请日 2012.12.20 G11C 29/00(2006.01) G11C 29/32(2006.01) (71)申请人 北京航天测控技术有限公司 地址 100041 北京市石景山区实兴东街 3 号 (72)发明人 杜影 李洋 徐鹏程 王石记 (74)专利代理机构 北京理工大学专利中心 11120 代理人 李爱英 高燕燕 (54) 发明名称 DDR2存储器的建模方法和边界扫描测试方法 (。

2、57) 摘要 本发明公开了一种 DDR2 存储器建模方法和 一种 DDR2 存储器的边界扫描测试程序加载方法。 在所述建模方法中, 步骤 101, 通过预先设置的关 键词对 DDR2 存储器的各个属性分别进行定义, 以 文本文件形式完成模型文件的建立 ; 步骤 102, 将 所述模型文件添加上预定后缀并保存, 完成 DDR2 存储器建模。所述 DDR2 存储器的各个属性包括 : DDR2 的控制信号线定义, DDR2 的动作时序函数和 DDR2 存储器信息定义 ; 所述存储器信息包括 DDR2 存储器 BANK 数量、 列地址数量、 行地址数量。 (51)Int.Cl. 权利要求书 2 页 说。

3、明书 9 页 附图 2 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 9 页 附图 2 页 1/2 页 2 1. 一种 DDR2 存储器建模方法, 其特征在于, 包括 : 步骤 101, 通过预先设置的关键词对 DDR2 存储器的各个属性分别进行定义, 以文本文 件形完成模型文件的建立 ; 步骤 102, 将所述模型文件添加上预定后缀并保存, 完成 DDR2 存储器建模 ; 所述 DDR2 存储器的各个属性包括 : DDR2 的信号线定义, DDR2 的动作时序函数和 DDR2 存储器信息定义 ; 所述存储器信息包括 DDR2 存储器 BANK 数。

4、量、 列地址数量、 行地址数量。 2. 如权利要求 1 所述的方法, 其特征在于, 通过预先设置的关键词对 DDR2 存储器的各 个属性分别进行定义之后, 所述方法还包括 : 使用注释符号和注释信息对定义的所述 DDR2 存储器的各个属性进行注释。 3. 如权利要求 2 所述的方法, 其特征在于, 所述注释信息包括 : 器件厂家、 器件型号、 以 及封装信息。 4. 如权利要求 1 所述的方法, 其特征在于, 对 DDR2 存储器的信号线采用如下方式进行 定义 : (1) 关键字 1 地址信号线对应管脚名称 1 地址信号线对应管脚名称 2地址信号线对 应管脚名称 n 其中n为地址信号线位宽 ;。

5、 通过关键字1实现对地址信号线与DDR2存储器上管脚的对 应关系的说明 ; (2) 关键字 2 数据信号线对应管脚名称 1 数据信号线对应管脚名称 2数据信号线对 应管脚名称 m 其中m为数据信号线位宽 ; 通过关键字2实现对数据信号线与DDR2存储器上管脚的对 应关系的说明 ; (3) 关键字 3 控制信号线名称对应管脚名称 通过在关键字 3 后跟随的控制信号线名称和对应管脚名称实现对控制信号线与 DDR2 存储器上管脚的对应关系的说明。 5. 如权利要求 1 所述的方法, 其特征在于, 对 DDR2 存储器信息的定义采用如下方式 : 关键字 4 存储器信息名称赋值 通过在关键字 4 后跟随。

6、存储器信息名称和相应赋值实现对存储器必要信息取值的说 明。 6.如权利要求1所述的方法, 其特征在于, DDR2存储器的动作包括初始化、 读、 写, 对动 作时序进行定义用于说明每个动作中对控制信号线的具体操作及其时序 ; 动作时序的定义是采用函数来实现的, 函数中采用操作码来定义每项操作, 通过操作 码顺序的编排来定义操作时序。 7. 如权利要求 6 所述的方法, 其特征在于, 所述操作码包括信号线值设置、 信号线值生 效、 地址设置、 数据设置、 获取数据设置 ; (1) 信号线值设置操作的具体定义方式如下 : 关键字 5 控制信号线名称设置值 通过在关键字5后跟随的控制信号线名称和对应的。

7、电平设置值, 实现对DDR2存储器的 控制信号线进行赋值操作 ; (2) 信号线值生效操作的具体定义方式如下 : 权 利 要 求 书 CN 103035300 A 2 2/2 页 3 关键字 6 语句 “关键字 6” 表示通过边界扫描的方法使已经用关键字 5 设置电平生效 ; (3) 地址设置操作的具体定义方式如下 : 关键字 7 地址值 通过在关键字 7 后跟随的地址值, 实现对 DDR2 存储器的地址线进行赋值操作 ; (4) 数据设置操作的具体定义方式如下 : 关键字 8 数据值 通过在关键字 8 后跟随的数据值, 实现对 DDR2 存储器的数据线进行赋值操作 ; (5) 获取数据设置操。

8、作的具体定义方式如下 : 关键字 9 通过关键字 9, 实现获取 DDR2 存储器数据信号线数据操作。 8. 一种 DDR2 存储器的边界扫描测试方法, 其特征在于, 包括如下步骤 : 步骤 200, 采用如权利要求 27 任意一项所述的建模方法构建 DDR2 存储器的模型文 件 ; 步骤 201, 用户指定 DDR2 存储器所需完成的测试项目 ; 步骤 202, 加载模块调用用户指定测试项目对应的实现程序, 读取 DDR2 存储器模型文 件中的信号线定义和存储器信息 ; 所述实现程序是预先编写的, 其调用了模型文件中的动 作时序函数 ; 步骤 203, 加载模块对步骤 202 调用的实现程序。

9、, 进行逐条解析并转换为边界扫描链上 的数据加载到边界扫描控制器并向 DDR2 存储器执行。 权 利 要 求 书 CN 103035300 A 3 1/9 页 4 DDR2 存储器的建模方法和边界扫描测试方法 技术领域 0001 本发明涉及存储器领域, 特别是涉及一种 DDR2 类型存储器的建模方法及边界扫 描测试方法。 背景技术 0002 在现有技术中, 边界扫描测试软件是在主计算机上运行的软件, 它同边界扫描测 试控制器有机结合, 构成功能完整的边界扫描测试系统。该边界扫描测试系统完成测试生 成、 测试向量的加载、 测试响应分析、 故障显示和辅助功能等任务。同时利用边界扫描测试 系统还可以。

10、对易失性存储器进行在线编程和数据读写。 0003 目前, 边界扫描测试系统经常遇到大容量存储器件 (DDR2) 测试的问题, 现有技术 中的测试方法都是根据存储器的特点设计相应的测试项目。在编写测试项目的实现程序 时, 不同程序员所编写的程序不同, 它们之间没有共同点。而且在遇到新型的 DDR2 存储器 件时, 需要根据新类型的 DDR2 存储器的具体参数重新修改实现程序, 导致在产品维护过程 中由于不具有易用性导致产品维护费用高等问题。 发明内容 0004 本发明提供一种 DDR2 存储器的建模方法, 本建模方法对 DDR2 存储器的各个属性 进行抽象并设置为关键字描述, 来构建DDR2存储。

11、器模型。 DDR2存储器模型具有易用性和重 用性, 修改方便, 能够减低产品维护费用, 降低边界扫描测试程序的编写难度。 0005 建立模型后加载模块内部进行解析然后完成测试程序生成。 该模型具有统一的风 格, 在测试程序层面几乎能包括所有的 DDR2 存储器, 即使用同一装置同一流程进行在线测 试, 使测试效率提高。 0006 一种 DDR2 存储器建模方法, 包括 : 0007 步骤 101, 通过预先设置的关键词对 DDR2 存储器的各个属性分别进行定义, 以文 本文件形完成模型文件的建立 ; 0008 步骤 102, 将所述模型文件添加上预定后缀并保存, 完成 DDR2 存储器建模 ;。

12、 0009 所述 DDR2 存储器的各个属性包括 : DDR2 的信号线定义, DDR2 的动作时序函数和 DDR2 存储器信息定义 ; 所述存储器信息包括 DDR2 存储器 BANK 数量、 列地址数量、 行地址数 量。 0010 所述方法还包括 : 使用注释符号和注释信息对定义的所述 DDR2 存储器的各个属 性进行注释。 0011 所述注释信息包括 : 器件厂家、 器件型号、 以及封装信息。 0012 对 DDR2 存储器的信号线采用如下方式进行定义 : 0013 (1) 关键字 1 地址信号线对应管脚名称 1 地址信号线对应管脚名称 2地址信号 线对应管脚名称 n 0014 其中n为地。

13、址信号线位宽 ; 通过关键字1实现对地址信号线与DDR2存储器上管脚 说 明 书 CN 103035300 A 4 2/9 页 5 的对应关系的说明 ; 0015 (2) 关键字 2 数据信号线对应管脚名称 1 数据信号线对应管脚名称 2数据信号 线对应管脚名称 m 0016 其中m为数据信号线位宽 ; 通过关键字2实现对数据信号线与DDR2存储器上管脚 的对应关系的说明 ; 0017 (3) 关键字 3 控制信号线名称对应管脚名称 0018 通过在关键字 3 后跟随的控制信号线名称和对应管脚名称实现对控制信号线与 DDR2 存储器上管脚的对应关系的说明。 0019 对 DDR2 存储器信息的。

14、定义采用如下方式 : 0020 关键字 4 存储器信息名称 赋值 0021 通过在关键字 4 后跟随存储器信息名称和相应赋值实现对存储器必要信息取值 的说明。 0022 DDR2 存储器的动作包括初始化、 读、 写, 对动作时序进行定义用于说明每个动作中 对控制信号线的具体操作及其时序 ; 0023 动作时序的定义是采用函数来实现的, 函数中采用操作码来定义每项操作, 通过 操作码顺序的编排来定义操作时序。 0024 所述操作码包括信号线值设置、 信号线值生效、 地址设置、 数据设置、 获取数据设 置 ; 0025 (1) 信号线值设置操作的具体定义方式如下 : 0026 关键字 5 控制信号。

15、线名称设置值 0027 通过在关键字5后跟随的控制信号线名称和对应的电平设置值, 实现对DDR2存储 器的控制信号线进行赋值操作 ; 0028 (2) 信号线值生效操作的具体定义方式如下 : 0029 关键字 6 0030 语句 “关键字 6” 表示通过边界扫描的方法使已经用关键字 5 设置电平生效 ; 0031 (3) 地址设置操作的具体定义方式如下 : 0032 关键字 7 地址值 0033 通过在关键字 7 后跟随的地址值, 实现对 DDR2 存储器的地址线进行赋值操作 ; 0034 (4) 数据设置操作的具体定义方式如下 : 0035 关键字 8 数据值 0036 通过在关键字 8 后。

16、跟随的数据值, 实现对 DDR2 存储器的数据线进行赋值操作 ; 0037 (5) 获取数据设置操作的具体定义方式如下 : 0038 关键字 9 0039 通过关键字 9, 实现获取 DDR2 存储器数据信号线数据操作。 0040 一种 DDR2 存储器的边界扫描测试方法, 包括如下步骤 : 0041 步骤 200, 采用如权利要求 27 任意一项所述的建模方法构建 DDR2 存储器的模型 文件 ; 0042 步骤 201, 用户指定 DDR2 存储器所需完成的测试项目 ; 0043 步骤 202, 加载模块调用用户指定测试项目对应的实现程序, 读取 DDR2 存储器模 说 明 书 CN 10。

17、3035300 A 5 3/9 页 6 型文件中的信号线定义和存储器信息 ; 所述实现程序是预先编写的, 其调用了模型文件中 的动作时序函数 ; 0044 步骤 203, 加载模块对步骤 202 调用的实现程序, 进行逐条解析并转换为边界扫描 链上的数据加载到边界扫描控制器并向 DDR2 存储器执行。 0045 本发明有益效果如下 : 0046 通过简单、 规范的建模方法, 构建 DDR2 存储器的模型文件, 对于参数不同的 DDR2, 只需要修改其中相关参数即可。且模型文件中给出了控制信号线定义、 DDR2 存储器信息定 义、 和动作时序函数, 该动作时序函数数量不多, 但涵盖了 DDR2 。

18、所需的所有动作, 这些动作 可以组成各种测试流程, 因此在编写测试项目的实现程序时, 大大减小了编写难度, 只需要 调用动作时序函数并配以若干标准编程语言就可以完成测试程序的编写, 从而减小了设计 人员工作量。 0047 而且, 本发明能够对所有DDR2类型存储器件进行统一风格的建模, 当DDR2存储器 变更或遇到新器件时, 无需修改测试程序, 仅需简单的根据器件特点对模型文件进行编辑 修改即可, 提高了模型文件的易用性和重用性, 进一步减小了测试程序设计人员的工作量, 提高了边界扫描测试系统测试 DDR2 存储器的通用性以及易用性, 产品维护费用得以降低。 附图说明 0048 图 1 是本发。

19、明实施例的 DDR2 存储器建模方法的流程图 ; 0049 图 2 为本发明实施例的 DDR2 存储器测试方法的流程图。 具体实施方式 0050 为了解决现有技术中在遇到 DDR2 存储器件的情况下, 需要设计人员编写相应的 测试程序, 无法达到通用测试的目的, 从而导致设计人员工作量较大, 维护困难的问题, 本 发明提供了一种 DDR2 存储器的建模方法及边界扫描测试程序加载方法, 以下结合附图以 及实施例, 对本发明进行进一步详细说明。 0051 图 1 是本发明实施例的 DDR2 存储器建模方法的流程图, 如图 1 所示, 根据本发明 实施例的 DDR2 存储器建模方法包括如下处理 : 。

20、0052 步骤 101, 通过预先设置的关键词对 DDR2 存储器的各个属性分别进行定义, 以文 本文件形完成模型文件的建立 ; 0053 其中, DDR2 存储器的各个属性包括 : DDR2 存储器信号线定义、 DDR2 存储器读、 写、 初始化的时序定义和存储器信息 (BANK 数量、 列地址数量、 行地址数量) 。 0054 在步骤 101 中, 具体地 : 0055 1. 可以通过关键字 “地址” 对 DDR2 存储器地址信号线进行定义 ; 0056 本发明采用如下方式进行定义 : 0057 关键字1地址信号线对应管脚名称1地址信号线对应管脚名称2地址信号线对 应管脚名称 n, 其中 。

21、n 为地址信号线位宽 ; 0058 本实施例中, DDR2 存储器地址信号定义关键词为 : mt_defaddress, 通过在 mt_ defaddress 定义后跟随的 “” 内的信号线管脚名称, 实现对 DDR2 存储器模型的地址信号 线进行定义。 使用mt_defaddress定义DDR2存储器地址信号线的具体定义方法如下 :“mt_ 说 明 书 CN 103035300 A 6 4/9 页 7 defaddress25 26 27 60 61 62 63 64 65 66 2421 22 23” 。上述定义语句表示此 DDR2 存储器芯片的第 25 26 27 60 61 62 63。

22、 6465 66 24 21 22 23 管脚分别为 A0 至 A15 信 号。此定义为 LSB 至 MSB 方向。 0059 2. 通过关键字 “数据” 对 DDR2 存储器数据信号线进行定义 ; 0060 本发明采用如下方式进行定义 : 0061 关键字2数据信号线对应管脚名称1数据信号线对应管脚名称2数据信号线对 应管脚名称 m, 其中 m 为数据信号线位宽 ; 0062 本实施例中, DDR2 存储器数据信号定义关键词为 : mt_defdata。通过在 mt_ defdata 定义后跟随的 “” 内的信号线管脚名称, 实现对 DDR2 存储器模型的数据信号线进 行定义。具体定义方法如。

23、下 :“mt_defdataC8 C2 D7 D3 D1D9 B1 B9” 。上述定义语句表 示此 DDR2 存储器芯片的第 C8 C2 D7 D3 D1 D9B1 B9 管脚分别为 DB0 至 DB7 信号。此定义 为 LSB 至 MSB 方向。 0063 3. 通过关键字 “控制信号” 对 DDR2 存储器控制信号线进行定义 ; 0064 DDR2存储器的控制信号线包括 : 片选信号CS、 时钟使能CKE、 时钟信号CLK、 补充时 钟信号CLKN、 写信号WE、 行地址选通信号RAS、 列地址选通信号CAS、 数据屏蔽信号DM0DM1、 数据选通信号DQS0DQS1。 对控制信号线定义用。

24、于说明控制信号线与DDR2存储器上管脚的 对应关系。本发明采用如下方式进行定义 : 0065 关键字 3 控制信号线名称对应管脚名称 0066 本实施例中, DDR2 存储器必要控制信号定义关键词为 : mt_defcontrol, 通过在 mt_defcontrol 定义后跟随的信号线名称和对应管脚名称, 实现对存储器模型的必要控 制信号线进行定义, 具体定义方法如下 :“mt_defcontrol RASF7” , 上述定义语句表示管脚 “F7” 为此 DDR2 存储器件的 “RAS” 信号。 0067 4. 通过关键字 “通知” 对 DDR2 存储器信息进行定义。 0068 DDR2的存。

25、储器信息包括 : BANK数量、 列地址数量、 行地址数量。 本发明采用如下方 式进行存储器信息的定义 : 0069 关键字 4 存储器信息名称赋值 0070 本实施例中, DDR2 存储器信息定义关键词为 : INFO, 通过在 INFO 定义后跟随各种 存储器类型名称, 实现对 DDR2 存储器模型的可选控制信号线进行定义。具体定义方法如 下 : INFO BANK 3, 此定义语句表示此存储器件具有 3 个 BANK。 0071 5. 通过关键字对 DDR2 的 3 类动作时序进行的定义 ; 0072 DDR2 的动作包括 : 初始化、 写和读。对动作时序进行定义用于说明每个动作中对 控。

26、制信号线的具体操作及其时序。动作时序的定义是采用函数来实现的, 动作时序函数中 采用操作码来定义每项操作, 通过操作码顺序的编排来定义操作时序。 0073 本实施例中, 定义 DDR2 初始化、 写和读的关键词分别为 INIT、 WriteCmd、 ReadCmd。 0074 动作时序函数中使用的操作码包括信号线值设置 sa_setpinval、 信号线值 生效 sa_run、 设置地址 mt_setaddrval、 设置数据 mt_setdatahighz、 获取数据值 mt_ getdataval ; 其中, 0075 sa_setpinval 的具体定义方式如下 : 0076 sa_se。

27、tpinval 控制信号线名称设置值 说 明 书 CN 103035300 A 7 5/9 页 8 0077 通过在 sa_setpinval 后跟随的控制信号线名称和对应的设置值, 实现对 DDR2 存储器的控制信号线进行赋值操作。例如,“sa_setpinval CS 0” 语句表示对已经用 mt_ defcontrol 定义过的信号 “CS” 设置为低电平。从而完成对于 DDR2 存储器的管脚设置值的 操作。 0078 sa_run 的具体定义方式如下 : 0079 sa_run 0080 上述语句表示通过边界扫描的方法使已经用 sa_setpinval 设置电平生效。sa_ run与s。

28、a_setpinval配合完成对于DDR2存储器的管脚设置值的操作。 例如 “sa_setpinval CS 0” 配合 sa_run, 从而完成将信号 “CS” 设置为低电平。sa_run 语句执行后, 立刻在 DDR2 存储器的 CS 管脚上注入低电平。 0081 再例如, 如下语句的组合完成了在 CS 信号线上产生一个上升沿。 0082 sa_setpinval CS 0 0083 sa_run 0084 sa_setpinval CS1 0085 sa_run 0086 mt_setaddrval 的具体定义方式如下 : 0087 mt_setaddrval 地址值 0088 上述语句。

29、表示设置操作地址。 例如mt_setaddrval 0x400表示操作地址为0x400。 0089 mt_setdatahighz 的具体定义方式如下 : 0090 mt_setdataval 数据值 0091 上述语句表示设置数据。 例如mt_setdataval 0x8000表示设置数据值为0x8000。 0092 mt_getdataval 的具体定义方式如下 : 0093 mt_getdataval 0094 上述语句表示获取 DDR2 存储器数据信号线数据。 0095 在上述5类操作码定义完成的情况下, 可以根据DDR2存储器的说明书公开的初始 化、 写和读这 3 个动作的时序, 来。

30、完成 INIT(1) 、 WriteCmd(2) 、 ReadCmd(3) 函数的编写。 下面分别进行介绍。 0096 (1)INIT 0097 DDR2存储器在读、 写操作前, 必须挂起和初始化到一个预定的状态。 初始化的时序 操作要严格按照芯片手册进行编写。 在函数中使用的预定义信号必须是在管脚定义中声明 过的信号。下表是 DDR2 存储器的预定义控制信号列表。 0098 信号名范围功能默认值 CAS - 列地址选通0 CKE - 时钟使能1 说 明 书 CN 103035300 A 8 6/9 页 9 CLK - 时钟 - CLKN - 补充时钟 - CS - 片选0 DMn0-7数据屏。

31、蔽0 DQSn0-3数据选通0 RAS - 行地址选通0 WE - 写使能0 0099 0100 下面是一段示例代码 : 0101 0102 (2)WriteCmd 0103 DDR2 存储器在初始化到一个预定的状态后, 才能进行写操作。由于不同的芯片写 说 明 书 CN 103035300 A 9 7/9 页 10 操作时序不同, 因此写时序操作要严格按照芯片手册进行编写。在函数中使用的预定义信 号必须是在管脚定义中声明过的信号。 0104 下面是一段示例代码 : 0105 0106 0107 其中, for 循环操作是为了处理重复代码执行多次的状况。本发明采用如下方式 进行 for 循环的。

32、定义 : 0108 for 循环初始化 循环判断部分 循环控制部分 循环体 0109 上示例中的 for 循环就是完成了产生 3 个时钟脉冲周期的操作。incri 表示对 i 循环加 1 ; 0110 (3) ReadCmd 0111 DR2存储器在初始化到一个预定的状态后, 才能进行读操作。 由于不同的芯片读操 作时序不同, 因此读时序操作要严格按照芯片手册进行编写。在函数中使用的预定义信号 必须是在管脚定义中声明过的信号。 0112 下面是一段示例代码 : 0113 说 明 书 CN 103035300 A 10 8/9 页 11 0114 0115 综上, 利用上述关键字完成对于 DDR。

33、2 的时序定义操作。 0116 在步骤101中, 通过预先设置的关键词对DDR2存储器的各个属性分别进行定义之 后, 还可以包括如下处理 : 使用注释符号和注释信息对定义的 DDR2 存储器的各个属性进行 注释。其中, 注释信息包括 : 器件厂家、 器件型号、 以及封装信息 ; 此类信息便于设计人员区 分多种器件以及后期的维护工作。 0117 在本发明实施例中, 模型内可通过注释符号对某些说明信息进行注释, 例如, 使用 “#” 作为注释符,“#” 后面的任何语句软件都不识别。DDR2 存储器模型注释信息使用注释 符 “#” 起始, 在注释符后面的此行的文字全部为注释信息, 具体方法如下 : 。

34、0118 #Manufacturer :Micron Technology, Inc. 0119 #Component :MT46V32M8FJ 说 明 书 CN 103035300 A 11 9/9 页 12 0120 #FormalPackageType:60BALLBGA。 0121 步骤102, 将模型文件添加上预定后缀并保存, 完成存储器建模。 需要说明的是, 在 本发明实施例中, 模型文件以文本文件编写, 编写完成后以 .mem 为后缀, 作为与其他器件 模型的区别。 0122 图2是本发明实施例的DDR2存储器边界扫描测试程序的加载方法的流程图, 如图 2 所示, 该方法包括如下。

35、步骤 : 0123 步骤 201, 用户指定 DDR2 存储器所需完成的测试项目, 并指定完成该测试项目所 需参数 ; 0124 步骤 202, 加载模块调用用户指定测试项目对应的实现程序, 读取模型文件中的控 制信号线定义、 存储器信息以及用户指定的所需参数 ; 所述实现程序是预先编写的, 其调用 了模型文件中的动作时序函数 ; 0125 步骤 203, 加载模块对步骤 202 调用的实现程序, 进行逐条解析并转换为边界扫描 链上的数据加载到边界扫描控制器执行, 边界扫描控制器每一个时钟执行一个动作, 从而 实现对 DDR2 的控制和测试。 0126 当需要更改 DDR2 的类型时, 不需要。

36、更改实现程序, 只需要替换模型文件, 或者对 模型文件进行相应修订即可。 0127 在本发明实施例中, 使用边界扫描测试装置调用 DDR2 存储器模型文件的动作时 序函数, 完成 DDR2 存储器单元的读写操作, 以实现对板载 DDR2 存储器的地址线、 数据线连 接性故障诊断。例如 : 向固定地址为 0x400 的存储单元先写入数据 0x8000, 再将数据读出 的操作例程为 : 0128 mt_setaddrval 0x400 0129 mt_setdataval 0x8000 0130 WriteCmd 0131 mt_setaddrval 0x400 0132 ReadCmd 0133。

37、 mt_getdataval 0134 可见, 本发明通过简单、 规范的建模方法, 解决了现有技术中在遇到 DDR2 存储器 件的情况下, 需要设计人员编写相应的测试程序, 无法达到通用测试的目的, 从而导致设计 人员工作量较大, 维护困难的问题, 能够对所有 DDR2 存储器件进行统一风格的建模, 在遇 到新器件时, 仅需简单的根据器件特点对模型文件进行编辑修改后, 就可由软件自动识别 并解析, 减小了测试程序设计人员的工作量, 提高了边界扫描测试系统中 DDR2 存储器测试 的通用性以及易用性。 0135 本发明可以应用于多种类型的 DDR2, 不同类型的 DDR2 都需要定义控制信号线、 动 作时序和存储器信息, 只是控制信号线的数量可能不同, 动作时序的具体时序编制可能不 同, 但是定义的原则是相同的。 0136 综上所述, 以上仅为本发明的较佳实施例而已, 并非用于限定本发明的保护范围。 凡在本发明的精神和原则之内, 所作的任何修改、 等同替换、 改进等, 均应包含在本发明的 保护范围之内。 说 明 书 CN 103035300 A 12 1/2 页 13 图 1 说 明 书 附 图 CN 103035300 A 13 2/2 页 14 图 2 说 明 书 附 图 CN 103035300 A 14 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 信息存储


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1