一种存储器控制器自动化测试方法及装置的制作方法

文档序号:6778866阅读:142来源:国知局
专利名称:一种存储器控制器自动化测试方法及装置的制作方法
技术领域
本发明涉及存储器控制器领域,尤其涉及一种存储器控制器自动化测试 方法及装置。
背景技术
目前SOC(System on Chip,嵌入式系统)芯片设计的目标是更专用的,不 是通用的。它要求刚刚合用、最低的成本代价、最高的集成度。以它为核心 的产品将因此能够更快上市、成本理低、功能更丰富、体积更小、功耗更低。SOC的硬件部分,包括处理器/微处理器、存储器及外设器件和I/O端 口、图形控制器等。嵌入式系统有别于一般的计算机处理系统,它不具备像 硬盘那样大容量的存储介质。软件部分包括操作系统软件(要求实时和多 任务操作)和应用程序编程。应用程序控制着系统的运作和行为;而操作 系统控制着应用程序编程与硬件的交互作用。SOC(System on Chip,嵌入式系统)芯片设计中 一般带有存储器控制器, 以支持多种类型和配置的存储器,典型的存储类型有SDRAM (同步动态随 机存储器)、DDR SDRAM (双倍速率同步动态随机存储器)、NAND FLASH (与非门闪存)、NORFLASH (或非门闪存)、SRAM (静态随机存储器) 等。以512Mb容量以下的SDRAM芯片而言,商用的芯片类型已经超过数 十种。假设一款芯片支持4个DRAM (动态随机存储器)片选,并且支持30 种不同类型和配置的SDRAM芯片,为了完整地验证存储器控制器的功能, 至少要构造q4。2"GS个测试用例用以覆盖,带来的编码、调试以及测试的 复杂度是不可接受的,而且不容易实现测试自动化和测试结果统计。综上所述,当前需要一种解决存储器控制器自动化测试的技术方案
发明内容
本发明所要解决的技术问题是提供一种存储器控制器自动化测试方法及装置,克服了现有技术中的soc存储系统测试中全覆盖难以实现的缺点,实现存储系统测试的自动化。为了解决上述问题,本发明提供了 一种存储器控制器自动化测试装置, 其特征在于,包括,交换矩阵模块、存储器类型模块、配置接口、查询接口,其中,交换矩阵模块,用于存储总线到存储器类型模块之间的连接交换;存储器类型模块,用于存储各种存储器仿真模型的测试用例、编号以及 存储器的参数;配置接口,用于配置所述交换矩阵模块,以及对所述交换矩阵模块当前 配置的检查;查询接口,用于对当前支持的所有存储器的参数和编号的查询,以及对 交换矩阵模块的配置参数的查询;通过所述查询接口选择存储类型以及存储器的参数,并通过所述配置接 口将选择的存储类型以及存储器的参数下发到所述交换矩阵模块,针对选择 的存储类型执行所需的初始化以及测试用例,进行存储器的测试。进一步地,上述装置还可包括,所述交换矩阵模块包括交换矩阵配置参 数模块,所述交换矩阵配置参数模块用于存放当前交换矩阵模块的配置,包 括存储总线的数量、每条存储总线的配置、当前配置的有效性检查结果、交 换总线就绪状态;所述存储器类型模块中,每一种类型的存储器都对应一个独立的所述编— 所述配置接口的所述检查内容包括每条存储总线对应的所述编号、总线 宽度、寻址范围、映射沖突、地址冲突、类型冲突。进一步地,上述装置还可包括,所述配置接口包括配置读写接口、配置 参数检查模块、交换矩阵配置库、配置握手模块、出错处理模块,其中,
配置读写接口,用于所述测试装置和软件部分的接口,通过所述配置读写接口 ,软件实现对所述测试装置的控制和监测;配置参数检查模块,用于所述测试装置对软件下配参数的合法性检查;交换矩阵配置库,用于记录所述测试装置当前支持的所有存储模型的参 数列表;配置握手模块,用于辅助所述测试装置完成所述配置读写接口中的各种 同步;出错处理模块,用于负责捕获参数下发过程中出现的各种错误,并集中 上报所述测试装置。进一步地,上述装置还可包括,所述配置参数检查模块包括,测试系统 状态检查模块、模型存在性检查模块、模型参数有效性检查模块、模型协同 工作冲企查才莫块,其中,测试系统状态检查模块,用于负责所述测试装置的自检,检查所述测试 装置是否就绪;模型存在性检查模块,用于检查对下发参数中指定的存储模型是否是所 述测试装置所支持,是否在所述测试装置中真实存在;模型参数有效性检查模块,用于负责完成对单种模型下发参数的其它部 分的检查,包括各种参数是否越界,参数之间是否协同工作;模型协同工作检查模块,用于负责对下发的多种模型是否协同工作进行 检查。进一步地,上述装置还可包括,所述配置握手模块,根据所述测试装置 支持存^f诸模型的复杂程度,采用不同的握手协议来实现同步。进一步地,上述装置还可包括,还包括所述配置接口和所述查询接口的 读写接口,用于所述配置接口和所述查询接口的读写操作;所述配置接口和 所述查询接口的配置握手通过异步互锁的机制来实现。进一步地,上述装置还可包括,所述配置握手^t块采用两个信号量实现 互锁同步;所述配置接口和所述查询接口的读写接口包括PLI/VPI/DPI接口或者 EDA工具专有接口。本发明还提供了 一种存储器控制器自动化测试的方法,包括以下步骤,a、 对存储器建模,为各种类型的存储器分配编号,整理各存储器的参数;b、 通过查询当前支持的存储器的类型及编号,选择存储器的类型以及 存储器的参数,并通过配置交换总线,以及对当前交换总线的配置的检查, 将所述存储器的参数下发到所述交换总线;c、 针对选择的存储器的类型,执行所需的初始化以及测试用例,完成 对当前配置的存储器的测试。进一步地,上述方法还可包括,所述步骤a中,还包括整理当前芯片支 持的存储总线的配置参数;各种类型的存储器分配的所述编号为独立的;所述存储器的参数包括存储类型、访问时序参数、行地址宽度、列地址 宽度、存储体数量、访问方式、容量、总线协议类型、工作频率;存储总线的配置参数,包括总线数量、寻址空间、访问时序参数、访问 方式。进一步地,上述方法还可包括,所述步骤b中进一步包括,查询所述交换总线是否就绪,如果没有就绪,则等待;否则,查询所述交换总线当前配置是否发生错误,如果是,则执行所述 步骤b或者终止测试;否则,执行步骤c。与现有技术相比,应用本发明所述方法和装置,达到了测试自动化效果, 节省了测试编码工作量,提高了测试效率。


图1是本发明具体实施方式
中存储器控制器自动化测试装置的系统框图2是本发明具体实施方式
中存储器控制器自动化测试方法的流程图;图3是本发明具体实施方式
中存储器控制器自动化测试装置的交换矩 阵的功能框图;图4是本发明具体实施方式
中存储器控制器自动化测试装置的配置接 口的功能框图;图5是本发明具体实施方式
中存储器控制器自动化测试装置的具体实 例的系统框图。
具体实施方式
下面结合附图对本发明具体实施方式
作进一步说明。本发明具体实施方式
主要应用于数字IC设计领域的RTL原型验证,尤 其是带有存储系统的大规模的数字电路设计,如SOC系统等。如图1所示,本发明具体实施方式
中存储器控制器自动化测试装置包括 交换矩阵模块、存储器类型模块、配置接口、查询接口,其中,交换矩阵模块101,用于实现多条存储总线到存储器类型模块104之间 的连接交换;交换矩阵模块101包括交换矩阵配置参数模块;交换矩阵配置参数模块 用于存放当前交换矩阵模块的配置,包括存储总线的数量、每条存储总线的 配置、当前配置的有效性检查结果、交换总线就绪状态等。用户可定义对应的存储总线的数量。存储器类型模块104,用于存储各种存储器仿真模型的测试用例、编号 以及存储器的参数;为了区分不同类型的存储器,每一种类型的存储器都对应一个独立的编 号;存储器的参数包括时序参数和总线参数等。配置接口 102,用于实现对交换矩阵模块的配置,以及对交换矩阵模块 当前配置的检查;所述;f全查内容包括每条存储总线对应的所述编号、总线宽度、寻址范围、
映射冲突、地址冲突、类型沖突等。查询接口 103,用于实现对测试装置当前支持的所有存储器的参数和编 号的查询,以及对交换矩阵模块的配置参数的查询。通过所述查询接口选择存储类型以及存储器的参数,并通过所述配置接 口将选择的存储类型以及存储器的参数下发到所述交换矩阵模块,针对选择 的存储类型执行所需的初始化以及测试用例,进行存储器的测试。本发明具体实施方式
中的核心算法是通过实时查询当前测试装置支持 的所有存储器类型和存储总线配置,通过直接或随机的遍历算法对存储器的 各种配置进行动态切换和测试,从而达到自动测试,增加测试效率的目的。图2描述的本发明具体实施方式
中存储器控制器自动化测试的方法,包括以下步骤,步骤IIO、对存储器建模,为各种类型的存储器分配编号,整理各存储 器的参数,整理当前芯片支持的存储总线的配置参数;每种类型的存储器分配的编号为独立的。存储器的参数包括存储类型、访问时序参数、行地址宽度、列地址宽度、 BANK(存储体)数量、访问方式、容量、总线协议类型、工作频率等。存储总线的配置参数,包括总线数量、寻址空间、访问时序参数、访问 方式等。通过以上操作,完成构建测试装置。步骤120、选择合适的存储器的类型以及存储器的参数,并通过配置交 换总线,以及对当前交换总线的配置的检查,将所述存储器的参数下发到交 换总线;通过查询当前支持的存储器的类型及编号,选择合适的存储器的类型及 其配置。步骤130、查询交换总线是否就绪,如果没有就绪,则等待,执行步骤 130;否则,才丸行步骤140;步骤140、查询所述交换总线当前配置是否发生错误,如果是,则执行
步骤120,否则,执行步骤150;下发配置发生错误,则可以执行步骤120,或停止测试。步骤150、查询交换总线是否就绪,如果没有就绪,则等待,执行步骤 150;否则,4丸行步骤160;步骤160、针对选择的存储器的类型,执行所需的初始化以及测试用例, 完成对当前配置的存储器的测试;步骤170、统计已覆盖的存储器的配置,执行步骤120。釆用合适的算法统计已覆盖的存储器的配置。根据覆盖策略选择停止测试或继续测试,如果选择继续测试,则执行步 骤120。下面结合具体实例对本发明作进一 步说明。硬件部分的构建过程如下第一步,如图4所示,构建存储器类型模块;根据具体需要,选择各种存储器仿真模型。 一般可以采用DENALI模型、 厂家模型或者自己编码创建;整理各种模型的总线配置、时序参数以及内部寄存器配置信息。典型的 总线配置一般包括存储数据总线宽度(以bit计数,常见的有8位、16位、 32位、64位等)、存储总线可寻址容量(以byte计数,常见的有256KB、 512KB、 2MB、 16MB、 32MB、 64MB等)、存储芯片数据总线宽度(以bit 计数,常见的有4位、8位、16位、32位等)、存储芯片容量(以byte计 数,常见的有256KB、 512KB、 2MB、 16MB、 32MB、 64MB等)、存储类 型(i口 SDRAM 、 DDR SDRAM 、 NAND Flash 、 NOR Flash等)、功耗模型 (如Low Power、 High Performance等)等;时序参数包括存储芯片的关键访问时序参数, 一般有关键信号建立时 间、关键信号保持时间、总线传送方向翻转时间等。以SDRAM为例,关键 的访问时序参数包括RAS延迟(可以从芯片手册获得)、CAS延迟(可以 从芯片手册获得,常见的有1、 2、 2.5、 3等)、预充电延迟(可以从芯片 手册获得)、刷新延迟(常见的有32ms、 64ms等)、工作频率范围等;
内部寄存器配置信息包括存储芯片内部寄存器可配置值的说明。以SDRAM为例, 一般有支持的CAS延迟、支持的突发长度/类型、支持写操 作类型、支持低功耗特性等。第二步,如图3所示,构建交换矩阵模块;交换矩阵模块实现的 一种方式是对每个存储类型进行总线重构,对于不 需要重构的部分,可以直接连接到对应的存储模型上,如数据总线、时钟等; 对于需要重构的总线,需要对总线的每个部分,如BANK控制、地址线、 时钟使能、片选等,按照当前的配置进行对应的重构。如图4所示,交换矩阵模块401包括交换矩阵配置参数模块;交换矩阵配置参数模块,用于交换矩阵模块需要实现图3中重构所需的 各种信息的暂存,实现上可以采用Verilog数组(简单信息)或者VPI扩展 (复杂信息)。第三步,如图4、图5所示,构建配置接口;配置接口包括配置读写接口 301、配置参数检查模块302、交换矩阵配 置库307、配置握手模块308、出错处理模块309。配置读写接口301,用于实现测试装置和软件部分的接口,通过配置读 写接口301,软件可以实现对装置的控制和监测; 一般可以采用VPI实现, 也可以采用EDA工具专有接口实现,实施例中采用的是TB MEM接口 402, 配置读写接口也是查询4矣口 404的基础构成部分;配置参数检查模块302,用于测试装置对软件下配参数的合法性检查, 其中包括,测试系统状态检查模块303、模型存在性检查模块304、模型参 数有效性检查模块305、模型协同工作检查模块306;测试系统状态检查模块303,用于负责测试装置的自检,检查所述测试 装置是否就绪可用;模型存在性检查模块304,用于检查对下发参数中指定 的存储模型是否是装置所支持的,是否在装置中真实存在;模型参数有效性 检查模块305,用于负责完成对单种模型下发参数的其它部分的检查,包括 各种参数是否越界,参数之间是否可以协同工作等;模型协同工作检查模块 306,用于负责对下发的多种模型是否可以协同工作进行检查。
交换矩阵配置库307,用于记录测试装置当前支持的所有存储模型的参数列表;配置握手模块308,用于辅助测试装置完成配置读写接口 301中的各种 同步;根据测试装置支持存储模型的复杂程度,可以采用不同的握手协议来 实现同步;简单的实现方式可以采用两个信号量实现互锁同步;出错处理模块309,用于负责捕获参数下发过程中出现的各种错误,并 集中上报所述测试装置。第四步,如图4所示,构建查询才妄口 404。配置4妻口 403和查询4妾口 404的读写4妄口 ,用于所述配置4妻口和所述查 询接口的读写操作,可以采用PLI/VPI/DPI接口实现,也可以采用EDA工 具专有接口 ,如TB MEM接口 402等;配置接口 403和查询接口 404的配 置握手可以采用异步互锁的机制来实现。软件部分描述的是对本测试装置的使用,其所使用的各种参数均应保持 与硬件部分中列出的 一致, 一种可能的软件处理步骤如下步骤600、通过查询接口获得测试装置当前支持的存储类型以及各存储 类型的各类参数,包括总线配置、时序参数、工作参数等;步骤610、选择合适的存储类型以及存储器的存储参数,并通过配置接 口将配置下发到交换矩阵模块,典型的配置包括存储类型、容量、总线宽 度、时序参数、总线协议类型、工作频率等;步骤620、测试装置检查下发配置是否合法,如果非法,则通知测试控 制程序出错原因,并等待新配置;如果合法,则将交换矩阵切换到对应的工 作状态,并通知测试控制程序测试装置已经就绪,执行步骤630;步骤630、测试控制程序针对选择的存储类型执行所需的初始化以及测 试用例;步骤640、测试控制程序将已选择的存储类型置于睡眠模式(如对于 DRAM类型的存储器,则将它们配置成自刷新模式);步骤650、根据需要,执行步骤600或者退出测试。以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不 局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到 的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范 围应该以权利要求的保护范围为准。
权利要求
1、一种存储器控制器自动化测试装置,其特征在于,包括,交换矩阵模块、存储器类型模块、配置接口、查询接口,其中,交换矩阵模块,用于存储总线到存储器类型模块之间的连接交换;存储器类型模块,用于存储各种存储器仿真模型的测试用例、编号以及存储器的参数;配置接口,用于配置所述交换矩阵模块,以及对所述交换矩阵模块当前配置的检查;查询接口,用于对当前支持的所有存储器的参数和编号的查询,以及对交换矩阵模块的配置参数的查询;通过所述查询接口选择存储类型以及存储器的参数,并通过所述配置接口将选择的存储类型以及存储器的参数下发到所述交换矩阵模块,针对选择的存储类型执行所需的初始化以及测试用例,进行存储器的测试。
2、 如权利要求l所述的装置,其特征在于,所述交换矩阵模块包括交换矩阵配置参数模块,所述交换矩阵配置参数 模块用于存放当前交换矩阵模块的配置,包括存储总线的数量、每条存储总 线的配置、当前配置的有效性检查结果、交换总线就绪状态;所述存储器类型模块中,每一种类型的存储器都对应一个独立的所述编号;所述配置接口的所述^r查内容包括每条存储总线对应的所述编号、总线 宽度、寻址范围、映射沖突、地址冲突、类型冲突。
3、 如权利要求2所述的装置,其特征在于,所述配置接口包括配置 读写接口、配置参数检查模块、交换矩阵配置库、配置握手模块、出错处理模块,其中,配置读写接口,用于所述测试装置和软件部分的接口,通过所述配置读 写接口 ,软件实现对所述测试装置的控制和监测; 配置参数检查模块,用于所述测试装置对软件下配参数的合法性检查;交换矩阵配置库,用于记录所述测试装置当前支持的所有存储模型的参 数列表;配置握手模块,用于辅助所述测试装置完成所述配置读写接口中的各种 同步;出错处理模块,用于负责捕获参数下发过程中出现的各种错误,并集中 上报所述测试装置。
4、 如权利要求3所述的装置,其特征在于,所述配置参数检查模块包括,测试系统状态检查模块、模型存在性检查 模块、模型参数有效性检查模块、模型协同工作检查模块,其中,测试系统状态检查模块,用于负责所述测试装置的自检,检查所述测试 装置是否就绪;模型存在性检查模块,用于检查对下发参数中指定的存储模型是否是所 述测试装置所支持,是否在所述测试装置中真实存在;模型参数有效性检查模块,用于负责完成对单种模型下发参数的其它部 分的检查,包括各种参数是否越界,参数之间是否协同工作;模型协同工作检查模块,用于负责对下发的多种模型是否协同工作进行 检查。
5、 如权利要求3所述的装置,其特征在于,所述配置握手模块,根 据所述测试装置支持存储模型的复杂程度,采用不同的握手协议来实现同步。
6、 如权利要求4或5所述的装置,其特征在于,还包括所述配置接 口和所述查询接口的读写接口 ,用于所述配置接口和所述查询接口的读写操 作;所述配置接口和所述查询接口的配置握手通过异步互锁的机制来实现。
7、 如权利要求6所述的装置,其特征在于,所述配置握手模块采用 两个信号量实现互锁同步;所述配置接口和所述查询接口的读写接口包括PLI/VPI/DPI接口或者EDA工具专有接口。
8、 一种存储器控制器自动化测试的方法,包括以下步骤,a、 对存储器建模,为各种类型的存储器分配编号,整理各存储器的参数;b、 通过查询当前支持的存储器的类型及编号,选择存储器的类型以及 存储器的参数,并通过配置交换总线,以及对当前交换总线的配置的检查, 将所述存储器的参数下发到所述交换总线;c、 针对选择的存储器的类型,执行所需的初始化以及测试用例,完成 对当前配置的存储器的测试。
9、 如权利要求8所述的方法,其特征在于,所述步骤a中,还包括 整理当前芯片支持的存储总线的配置参数;各种类型的存储器分配的所述编号为独立的;所述存储器的参数包括存储类型、访问时序参数、行地址宽度、列地址 宽度、存储体数量、访问方式、容量、总线协议类型、工作频率;存储总线的配置参数,包括总线数量、寻址空间、访问时序参数、访问 方式。
10、 如权利要求9所述的方法,其特征在于,所述步骤b中进一步包括,查询所述交换总线是否就绪,如果没有就绪,则等待;否则,查询所述交换总线当前配置是否发生错误,如果是,则执行所述 步骤b或者终止测试;否则,执行步骤c。
全文摘要
本发明公开了一种存储器控制器自动化测试方法及装置,包括步骤,首先对存储器建模,为各种类型的存储器分配编号,整理各存储器的参数;然后通过查询当前支持的存储器的类型及编号,选择存储器的类型以及存储器的参数,并通过配置交换总线,以及对当前交换总线的配置的检查,将所述存储器的参数下发到所述交换总线;最后针对选择的存储器的类型,执行所需的初始化以及测试用例,完成对当前配置的存储器的测试。应用本发明,克服了现有技术中的SOC存储系统测试中全覆盖难以实现的缺点,实现存储系统测试的自动化,节省了测试编码工作量,提高了测试效率。
文档编号G11C29/56GK101118788SQ200710129499
公开日2008年2月6日 申请日期2007年7月19日 优先权日2007年7月19日
发明者沈梓荣 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1