一种存储器测试系统、方法及存储介质与流程

文档序号:15643213发布日期:2018-10-12 22:17阅读:318来源:国知局

本发明涉及一种用于sram型fpga配置的存储器电路的测试系统及其实现方法,特别是用于存储器电路在低温环境下的测试,属于集成电路技术领域。



背景技术:

sram型fpga是通过遍布fpga电路的sram配置位决定其具体的功能,这些配置位的码流集合即被称为码流(bitstream)。用于sram型fpga配置的存储器电路是一种可反复擦写、非易失的在线可编程存储器电路,可将fpga配置码流存储至其中,用来实现对fpga电路的功能配置。在应用系统中一般与fpga配套使用。

用于sram型fpga配置的存储器电路的存储体由多块flash模块构成flash阵列。控制和jtag接口电路实现支持ieee1149.1协议的软件通信。串并接口控制电路发送信号,完成数据并串转换。flash控制电路发送控制信号来实现对flash的配置、擦除、回读、及数据读取控制功能。flash存储单元在编程前后表现为阈值变化,编程前阈值较低,在加电压后能够检测到开启电流,经过电流放大比较器后可判断出存储值为“1”。编程后阈值较高,在加电压后仍然不能开启,漏电流非常小,经过电流放大比较器后可判断出存储值为“0”。读出电流放大比较器电路工作时需要一个参考电流,通过比较flash单元读出电流与参考电流,判断存储值是否为“1”。参考电流的生成需要一个启动电路,如果启动电路不能正常启动就不能提供稳定的参考电流。启动电路的参考电流容易受到工艺偏差和温度的影响,若出现异常会导致读出结果出现错误。这种读出故障一般发生在低温环境(0℃以下)且时间越长、温度越低发生的概率越大。因此,对fpga配置用存储器电路进行测试,需确保在低温下开展且有一定的低温保持时间要求。

基于flash的存储器测试一般需要多种图形的配合,包括如全0向量、全1向量、棋盘格向量等。flash的擦除和写入一般需要消耗大量的时间,同时,为了模拟串行fpga配置过程,串行读出也需要耗费较长时间。而大部分测试设备本身不具备保持低温的能力,只能对电路从温箱中取出进行测试,导致实际测试温度与测试要求不符,无法测试筛除具有上述缺陷的存储器电路。



技术实现要素:

本发明解决的技术问题是:克服现有测试技术低温测试时间不足的问题,提供一种存储器测试系统、方法及存储介质,本发明系统能够实现fpga配置存储器在低温环境下的高覆盖率测试,解决自动测试设备的保温时间不足的问题,提高fpga配置存储器电路在低温测试中的测试准确性和测试效率。

本发明的技术方案是:一种用于sram型fpga配置的存储器测试系统,包括上位计算机、配置存储器、主控fpga和验证fpga;

上位计算机使用串口与主控fpga进行通信,通过对主控fpga发送命令,实现对待测存储器的选择、配置、擦除操作;

主控fpga按照上位计算机命令要求,通过fpga的内部选择逻辑,将待测存储器与串口、验证fpga连接,并接收验证fpga的配置完成管脚done信号的电平,对验证fpga进行复位操作;

配置存储器用于对主控fpga进行配置;

采用jtag方式通过jtag端口将配置文件配置至配置存储器中。

所述上位计算机通过串口与主控fpga的通用i/o连接;待测存储器的第配置数据位管脚d、配置时钟管脚clk、片选管脚ce、输出使能管脚oe、初始化配置管脚cf、jtag输入管脚tdi、jtag时钟管脚tck、jtag输出管脚、jtag模式选择管脚tms分别与主控fpga的通用i/o管脚连接;验证fpga的复位管脚prog_b,配置完成管脚done,初始化完成管脚init,并行配置数据管脚d0-d7与主控fpga的通用i/o管脚连接;验证fpga的全局时钟管脚gclk1与主控fpga的全局时钟管脚gclk1连接,配置时钟管脚cclk与主控fpga的全局时钟管脚gclk2连接。

一种根据上述的测试系统进行测试的方法,步骤如下:

(1)、测试开始,对配置存储器进行配置并进行系统自检;

具体实现方式如下:系统正常上电后。若系统为首次使用,需通过上位计算机,使用存储器专用配置软件,利用专用配置器,通过jtag端口对配置存储器进行配置操作。若非首次使用,可略过此步骤。上电完成后,系统进入自检状态,若自检失败,上位机反馈错误消息,测试停止。若自检成功后可开始系统测试。使用外部上位计算机通过串口向主控fpga发送8位二进制配置命令。

(2)、主控fpga与指定待测存储器形成通信。

具体实现方式如下:主控fpga按照8位二进制配置命令要求,对命令所指定的待测存储器的tck、tdi、tms和tdo管脚通过主控fpga内部布线连接,与串口形成通信。8位二进制命令的具体格式为:第4-8位二进制数字指定需进行操作的待测存储器编号,该编号以存储器测试系统摆放的位置进行划分,以00001作为初始编号,以增量为1的方式对不同位置的待测存储器进行编号。1-3位二进制数字指定所选择待测存储器进行的操作,其中001表示存储器配置操作,010表示存储器测试操作,100表示存储器擦除操作。此步骤中所发送的命令以00001001作为初始命令,对不同存储器进行配置时,仅需修改命令中4-8位的待测存储器编号即可。

(3)、使用专用配置软件对指定待测存储器进行配置。

具体实现方式如下:上位计算机调用存储器专用配置软件,通过串口对配置命令选择的待测试存储器的tck、tdi、tms、tdo管脚进行通信,采用jtag配置方式,实现对待测存储器的配置操作。

(4)、将所有待测存储器逐一进行配置。

具体实现方式如下:反复执行(2)和(3)的步骤,按照存储器所处的不同位置,发送8位二进制配置命令,使用专用配置存储器逐一对指定的待测存储器进行配置。直到将测试系统中所有测试夹具内的待测试存储器电路配置完成。

(5)、对待测存储器进行测试。

具体实现方式如下:上位计算机发送8位二进制存储器测试命令。此步骤中所发送的命令以00001010作为初始命令,对不同存储器进行测试时,仅需修改命令中4-8位的待测存储器编号即可。主控fpga按照8位二进制测试命令要求,对命令所指定的测试存储器的配置管脚通过主控fpga的内部布线与验证fpga的配置管脚连接。待测存储器按照主串配置模式,自动对验证fpga进行配置。

(6)、收集待测存储器测试结果。

具体实现方式如下:验证fpga配置完成后,将验证fpga的done管脚电平发送给主控fpga中,主控fpga通过串口传送至上位计算机中。上位计算机软件根据done信号的电平值,判断并显示存储器的测试结果。

(7)、待测存储器测试完成,复位验证fpga。

具体实现方式如下:主控fpga对验证fpga的init和prog_b管脚按照先后顺序分别进行管脚电平拉低操作,保持一段时间后,先后将int和prog_b管脚进行拉高操作,使验证fpga进行复位,便于其余待测试的存储器对其进行配置。

(8)、将所有待测存储器逐一进行测试。

具体实现方式如下:反复执行(6)、(7)和(8)的步骤,按照存储器所处的不同位置,发送8位二进制测试命令,使用专用配置存储器逐一对指定的待测存储器进行配置。直到将测试系统中所有测试夹具内的待测试存储器器件测试完成。

(9)、擦除所有测试存储器,

具体实现方式如下:所有存储器测试完成后,上位计算机向主控fpga发送8位二进制擦除命令。通过串口对擦除命令选择的待测试存储器的tck、tdi、tms、tdo管脚进行通信,上位计算机调用存储器专用配置软件实现擦除操作。对所有测试的存储器依次进行擦除操作。此步骤中所发送的擦除命令以00001100作为初始命令,对不同存储器进行擦除时,仅需修改命令中4-8位的待测存储器编号即可所有存储器擦除完成后,测试结束。

一种存储介质,用于存储步骤(1)-步骤(9)所述的方法。

本发明与现有技术相比具有如下有益效果:

(1)、本发明针对存储器的低温测试问题,通过使用上位计算机和fpga,构建了一种可用于低温环境下长时间测试的测试系统。该套测试系统可使存储器直接处在低温环境下进行测试,满足测试条件中所规定的存储器在低温测试环境下的测试要求。消除由于自动测试设备本身的局限性,导致仅可在常温环境下测试时温度差异所带来的测试误测问题,提高存储器电路在低温测试中的测试精确度,解决了存储器在低温环境下的直接测试问题。

(2)、本发明的测试系统可包含多个待测器件,可由软件控制切换待测器件,对指定待测存储器逐一进行测试,并对测试结果按照所指定的路径自动进行保存,实现了存储器的批量自动化测试。存储器的整个测试过程无需测试人员监控,减少了人力测试成本。

(3)、本发明的测试系统,通过采用jtag配置模式和主串配置模式分别对存储器进行配置和测试。此两种配置模式均为用于sram型fpga配置的存储器电路的主要配置模式,因此本发明的测试系统可适用于具备此两种配置模式的多种型号存储器中,具有存储器测试范围广、测试通用性强的优点。

(4)、本发明的测试系统,通过判断fpga配置是否成功验证存储器的功能。与自动测试仪采用对多管脚发送激励、接收响应并作对比的方式相比,大大简化了存储器内部存储内容读取的测试过程,降低了测试开发难度。

附图说明

图1为本发明的系统整体框图。

图2为本发明的具体实例框图。

图3为本发明的具体实例中主控fpga电路与配置存储器电路连接示意图。

图4为本发明的具体实例中主控fpga电路与待测存储器电路连接示意图。

图5为本发明的具体实例中主控fpga电路与验证fpga电路连接示意图。

图6为本发明的测试系统的测试流程。

具体实施方式

整个测试系统框架如图1所示,由上位计算机101、通信串口102、系统主控fpga103、验证fpga104、配置存储器105、jtag端口106和待测存储器107108109组成。其中,上位计算机通过串口102向主控fpga103发送控制命令对主控fpga103进行操作。主控fpga按照命令要求,控制待测存储器与上位计算机101和验证fpga104之间进行配置、擦除、测试操作,并将存储器测试结果反馈给上位计算机101。验证fpga104通过待测存储器107108109对其进行配置,通过配置结果验证存储器的功能是否正常。配置存储器105用于系统上电后,通过jtag端口,采用jtag方式自动对主控fpga103进行配置,使其具备控制功能。

下面以具体实例对本发明做进一步的详细描述:

如图2所示,具体实例中,使用xilinx公司的fpga和存储器电路作为实例元件。其中,xcf32p205作为配置存储器,xc2v3000203作为主控fpga,xc2v1000204电路作为验证fpga。xc18v04207208作为待测试存储器。

如图3所示为具体实例中xcf32p205和xc2v3000203的连接示意图。其中,xcf32p205的jtag时钟管脚tck与xc2v3000203的jtag时钟管脚tck连接,xcf32p205的jtag输出管脚tdo与xc2v3000203的jtag输入管脚tdi连接,xcf32p205的jtag模式选择管脚tms与xc2v3000203的jtag模式选择管脚tms连接。xcf32p205的jtag输入管脚tdi管脚,时钟管脚tck、输出管脚tdo、模式选择管脚tms均以排针的方式呈现在系统板的表面。使用上位计算机201,利用专用配置器通过排针将xc2v3000203的配置文件配置至xcf32p205中。xcf32p205的输出使能管脚oe与xc2v3000203的初始化完成管脚init_b连接。xcf32p205的片选管脚ce与xc2v3000203的配置完成管脚done连接。配置存储器205的时钟管脚与xc2v3000的配置时钟管脚cclk连接。xcf32p205的初始化配置管脚cf与xc2v3000的复位管脚prog_b连接。xcf32p205的配置数据位管脚d0、d1、d2、d3、d4、d5、d6、d7分别依次与xc2v3000的配置数据位管脚d0、d1、d2、d3、d4、d5、d6、d7连接。在使用impact烧写软件对xcf32p205成功进行配置后,系统正常上电,xcf32p205自动会按照主串配置模式,通过d0管脚向xc2v3000203发送配置数据,完成对xc2v3000203的配置,使其实现主控fpga的控制功能。

如图4所示为具体实例中xc2v3000203和xc18v04207208的连接示意图。xc18v04207208的第0配置数据位管脚d0、配置时钟管脚clk、片选管脚ce、输出使能管脚oe、初始化配置管脚cf、jtag输入管脚tdi、jtag时钟管脚tck、jtag输出管脚、jtag模式选择管脚tms分别与xc2v3000203的通用i/o管脚连接。

在系统应用时,xc2v3000203按照上位计算机101发送的命令,使用xc2v3000203的内部选择逻辑,通过通用io管脚与选中的xc18v04207208的控制管脚进行信号交互。实现对xc18v04207208的配置和测试。对xc18v04207208的配置,采用上位机调用impact烧写软件,控制与xc18v04207208的jtag配置管脚的相连接的xc2v3000203的通用i/o管脚,使用jtag方式进行存储器配置。对xc18v04207208的测试,xc2v3000203按照上位机命令要求,将所选择的待测试存储器的d0管脚、clk管脚、ce管脚、oe管脚、cf管脚通过通用i/o管脚与xc2v1000204的d0管脚、gclk管脚、done管脚、init管脚、prog_b管脚连接。使用主串配置模式对xc2v1000204进行配置测试。测试完毕后,对xc18v04207208进行擦写操作。上位计算机101调用impact软件,通过串口,与xc18v04207208的jtag配置管脚连接的通用i/o管脚进行信号交互,完成xc18v04207208的擦写操作。主控fpga的通用i/o管脚数量限值了待测试存储器的数量,可根据存储器的批量生产数量,根据fpga的管脚数量灵活选择适合的sram型主控fpga。

如图5所示为具体实例中xc2v3000203与xc2v1000204的连接示意图。xc2v1000204的复位管脚prog_b,配置完成管脚done,初始化完成管脚init,并行配置数据管脚d0-d7与xc2v3000203的通用i/o管脚连接。xc2v1000204的全局时钟管脚gclk1与xc2v3000203的全局时钟管脚gclk1连接,配置时钟管脚cclk与xc2v3000203的gclk2连接。xc2v1000204的主要作用是测试存储器测试对其进行配置,通过xc2v1000204的配置结果判断存储器的配置功能是否正常。对xc2v1000204的配置,xc2v3000203按照上位机的命令要求,将xc2v1000204的d0管脚、gclk管脚、done管脚、init管脚、prog_b管脚通过通用i/o管脚,与测试存储器的d0管脚、clk管脚、ce管脚、oe管脚、cf管脚连接。待测试存储器采用主串配置模式,自动对xc2v1000204进行配置。配置完成后,若配置成功,xc2v1000204的配置完成管脚done变为高电平,若配置失效,xc2v1000204的配置完成管脚done变为低电平。配置结果会通过xc2v3000203,利用串口反馈给上位计算机101,上位计算机101会对此结果进行记录和保存。测试结果反馈完成,对xc2v1000204进行复位操作,便于待测存储器对其进行配置。xc2v3000203利用通用i/o控制xc2v1000204的复位配置管脚prog_b和配置初始化管脚init。先后将prog_b管脚和init管脚拉至低电平,持续一段时间后,先后将prog_b管脚和init管脚拉至高电平,实现对xc2v1000204的复位操作。

本系统的具体实例的测试流程如图6所示。外部电源为本系统供电,系统正常上电301后进入自检状态,若自检失败,上位计算机反馈错误消息。检测正常后可开始系统测试。测试开始,上位计算机101通过串口发送8位二进制命令302。xc2v3000203按照8位二进制命令要求,通过内部逻辑选中与其通用i/o所连接的待测试xc18v04303。上位机调用impact配置软件,通过串口与待测试xc18v04207208的jtag配置管脚的信号传输完成配置304。配置完成后,impact软件会将配置结果反馈给上位机软件101中,判断bq18v04207208是否成功完成配置305。若配置失败,系统则会记录失效结果。系统按照测试要求继续选择其他待测试xc18v04,发送配置命令进行配置。按照302到305步骤将所有待测试xc18v04207208进行配置。

开始进行存储器测试。上位机发送8位二进制测试命令306,通过串口至xc2v3000203中。xc2v3000203按照命令要求,将待测试xc18v04207208通过内部逻辑与xc2v1000204的主串配置管脚连接307。xc18v04207208会自动按照主串配置模式对xc2v1000204进行配置。xc2v1000204配置完成后,会将配置完成管脚done的电平反馈至xc2v3000203中308。若xc2v1000204配置成功,配置完成管脚done将呈现高电平状态。若xc2v1000204配置失败,配置完成管脚done将呈现低电平状态。xc2v3000203通过串口将xc2v1000204配置结果反馈至上位计算机中309,上位计算机记录存储器的测试结果。xc2v3000203通过对xc2v1000204的prog管脚和init管脚的操作,将xc2v1000204进行复位310,便于其他待测xc18v04对其进行配置。此后,反复执行步骤306到步骤310,将所有xc18v04进行测试。

所有存储器测试完成后,上位计算机101将记录测试结果312,并发送8位二进制擦除命令,调用存储器专用配置软件,将所有测试存储器207208进行擦除操作313。擦除完毕后,测试流程结束。

以上所述,仅为本发明最佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

本发明说明书中未作详细描述的内容属于本领域专业技术人员的公知技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1