CN111124769A - 一种嵌入式tdp ram模块测试电路与测试方法 - Google Patents

一种嵌入式tdp ram模块测试电路与测试方法 Download PDF

Info

Publication number
CN111124769A
CN111124769A CN201911055491.9A CN201911055491A CN111124769A CN 111124769 A CN111124769 A CN 111124769A CN 201911055491 A CN201911055491 A CN 201911055491A CN 111124769 A CN111124769 A CN 111124769A
Authority
CN
China
Prior art keywords
data
signal
port
register
selector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201911055491.9A
Other languages
English (en)
Other versions
CN111124769B (zh
Inventor
王贺
张松
汪悦
张大宇
汪洋
崔华楠
李剑焘
庄仲
吉美宁
杨彦朝
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Academy of Space Technology CAST
Original Assignee
China Academy of Space Technology CAST
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Academy of Space Technology CAST filed Critical China Academy of Space Technology CAST
Priority to CN201911055491.9A priority Critical patent/CN111124769B/zh
Publication of CN111124769A publication Critical patent/CN111124769A/zh
Application granted granted Critical
Publication of CN111124769B publication Critical patent/CN111124769B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • G06F11/2635Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers using a storage for the test inputs, e.g. test ROM, script files

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明涉及一种嵌入式TDP RAM模块测试电路,包括N个结构相同的测试单元、时钟信号、地址信号、第一数据输入信号、第二数据输入信号、数据输出信号、写使能信号、第一使能信号、第二使能信号、选择器控制信号与寄存器控制信号;每个测试单元包括被测存储器、3选1选择器模块和寄存器模块;每个被测存储器包括2组完全独立的数据读写总线端口:总线端口A与总线端口B。本发明提供的是一种通用的模块化测试电路设计,当需要进行大量TDP RAM测试时,只需将测试单元进行逻辑复制后再顺序级联即可。

Description

一种嵌入式TDP RAM模块测试电路与测试方法
技术领域
本发明涉及集成电路芯片测试领域,更具体地,涉及Xilinx 7系列FPGA中的嵌入式TDP RAM模块的测试电路与测试方法。
背景技术
BRAM(Block RAM)是FPGA芯片中进行数据存储的重要资源。Xilinx 7系列FPGA中1个BRAM的容量为36Kb。
BRAM是一种可编程的存储器阵列,可通过IP Core Generator配置为SP RAM(Single-Port RAM)、SDP RAM(Simple Dual-Port RAM)、TDP RAM(True Dual-Port RAM)、SP ROM(Single-Port ROM)与DP ROM(Dual-Port ROM)等具有不同结构与功能的具体存储器模块,以满足不同设计应用的需求。
在上面列举的存储器模块中,TDP RAM模块的端口最多、功能最复杂,并且是FPGA芯片的原生结构。其他模块的实现,都是通过对TDP RAM模块部分端口的功能进行限定后实现的。TDP RAM具体结构及端口如图1所示。
TDP RAM模块的具体技术特点是:
(1)具有两组完全独立的接口Port A与Port B,每组接口具有功能完全相同的I/O端口,包括:输入数据总线DIA/DIB,输出数据总线DOA/DOB,输入校验DIPA/DIPB,输出校验DOPA/DOPB,地址总线ADDRA/ADDRB,写使能WEA/WEB,使能ENA/ENB,时钟CLKA/CLKB,复位RSTRAMA/RSTRAMB,输出寄存器使能REGCEA/REGCEB,输出寄存器复位RSTREGA/RSTREGB。
(2)通过Port A与Port B都可以对TDP RAM进行数据的写/读操作,但不能从两组端口同时对同一地址进行数据写/读操作。
TDP RAM模式下支持读优先、写优先与数据保持三种工作模式,不同工作模式下输出端口DO的数据时序存在一定差异,如图2(a)-2(c)所示。
在现有技术中,对TDP RAM模块的测试方法主要是BIST方法,思路是利用FPGA片上的SLICE资源设计测试向量生成器(TPG)与输出响应分析器(ORA),构建内部的自测试电路完成测试,如图3所示:
BIST方法的特点是:测试向量的生成(TPG)与比较(ORA)都在FPGA芯片内部完成,只将最终测试结果(Pass/Fail)通过FPGA IO端口输出到外部。因此,该方法的优点在于:对外部测试仪器性能的依赖程度比较低,测试需要的IO数量比较少。但同时该方法也存在天然的缺点,主要在于:
(1)BIST方法对测试结果的数据分析是在FPGA片内完成的,外部只能接收到测试Pass or Fail的结果,而仅根据这一结果无法确定出现Fail的TDP RAM地址及其故障模式,这为TDP RAM复杂故障模式的分析与研究带来很大不便。
(2)TPG与ORA是由FPGA内部SLICE资源实现的,每个被测试的TDP RAM都需要一组TPG与ORA。当FPGA中需要测试的TDP RAM数量较多时,需要占用大量的可编程SLICE资源,会使FPGA的设计过于庞大。一方面,过大的设计会使FPGA的布局布线变得困难,甚至使设计无法实现;另一方面,在测试时大量的TDP RAM与SLICE会同时工作,将使FPGA的工作电流大幅增加,为供电电路设计带来困难。因此,在现有文献中,BIST方法主要用于早期Virtex-2FPGA的TDP RAM测试(因其数量较少,不会形成规模过大的设计),或是对FPGA中的部分TDPRAM进行抽样测试(覆盖性不全)。
从图2中可以看出,TDP RAM三种工作模式的区别在于:当输入信号相同时,不同工作模式下产生的数据输出内容不同。因此,采用BIST方法时,需要设计至少三种不同的ORA电路,来覆盖三种工作模式下的输出数据测试,造成开发工作量的增加。
发明内容
本发明解决的技术问题是:为克服现有技术的不足,提出一种嵌入式TDP RAM模块测试电路与测试方法,该电路具有通用性,可用于Xilinx Virtex-7系列FPGA嵌入式TDPRAM模块的测试,可实现在TDP RAM的3种工作模式下的测试。
本发明解决技术的方案是:
一种嵌入式TDP RAM模块测试电路,包括N个结构相同的测试单元、时钟信号、地址信号、第一数据输入信号、第二数据输入信号、数据输出信号、写使能信号、第一使能信号、第二使能信号、选择器控制信号与寄存器控制信号;
每个测试单元包括被测存储器、3选1选择器模块和寄存器模块;
每个被测存储器包括2组完全独立的数据读写总线端口:总线端口A与总线端口B,具体包括:存储器时钟端口A/B、存储器地址端口A/B、存储器数据输入端口A/B、存储器数据输出端口A/B、存储器写使能端口A/B和存储器使能端口A/B;
每个3选1选择器模块包括选择器第一数据输入端口,选择器第二数据输入端口,选择器第三数据输入端口,选择器数据输出端口和选择器控制端口;
每个寄存器模块包括寄存器数据输入端口,寄存器数据输出端口和寄存器控制端口;
时钟信号传到N个测试单元中的存储器时钟端口A/B上;地址信号传到N个测试单元的存储器地址端口A/B上;第一数据输入信号传到N个测试单元的存储器数据输入端口A/B上;写使能信号传到N个测试单元的存储器写使能端口A/B上;第一使能信号传到N个测试单元的存储器使能端口A上;第二使能信号传到N个测试单元的存储器使能端口B上;寄存器控制信号传到N个测试单元的寄存器控制端口上;选择器控制信号传到N个测试单元的选择器控制端口上;
第二数据输入信号传到第1个测试单元的选择器第一数据输入端口上,第1个测试单元的寄存器数据输出端口,连到第2个测试单元的选择器第一数据输入端口上,第2个测试单元的寄存器数据输出端口,连到第3个测试单元的选择器第一数据输入端口上,以此类推,第N-1个测试单元的寄存器数据输出端口,连到第N个测试单元的选择器第一数据输入端口上,第N个测试单元的寄存器数据输出端口连到数据输出信号;
每个测试单元中的存储器数据输出端口A,连到该测试单元中的选择器第二数据输入端口上;存储器数据输出端口B,连到选择器第三数据输入端口上;选择器数据输出端口,连到寄存器数据输入端口上。
进一步的,测试单元中的被测存储器、3选1选择器模块、寄存器模块具有唯一的物理身份编号;
存储器数据输出端口A/B、选择器第一数据输入端口、选择器第二数据输入端口、选择器第三数据输入端口、选择器数据输出端口、寄存器数据输入端口,和寄存器数据输出端口的位宽相同。
进一步的,选择器控制端口的位宽为3。
进一步的,被测存储器的工作方式包括:写优先模式、读优先模式与数据保持模式,
对于写优先模式:在第一时钟信号、地址信号、第一数据输入信号、写使能信号与第一使能信号有效时,被测存储器将第一数据输入信号上的数据写入地址信号对应的地址中;完成后,将地址信号对应地址中现存的数据从数据输出端口A输出;
在第一时钟信号、地址信号与第一使能信号有效,且写使能信号无效时,将地址信号对应的地址中的数据,从存储器数据输出端口A读出;
在第一时钟信号、地址信号、第一数据输入信号、写使能信号与第二使能信号有效时,被测存储器将第一数据输入信号上的数据写入地址信号对应的地址中;完成后,将地址信号对应地址中现存的数据从数据输出端口B输出;
在第一时钟信号、地址信号与第二使能信号有效,且写使能信号无效时,将地址信号对应的地址中的数据,从存储器数据输出端口B读出。
进一步的,对于读优先模式:在第一时钟信号、地址信号、第一数据输入信号、写使能信号与第一使能信号有效时,被测存储器将第一数据输入信号上的数据写入地址信号对应的地址中;完成后,将地址信号对应地址中所存的前一组数据从数据输出端口A输出;
在第一时钟信号、地址信号与第一使能信号有效,且写使能信号无效时,将地址信号对应的地址中的数据,从存储器数据输出端口A读出;
在第一时钟信号、地址信号、第一数据输入信号、写使能信号与第二使能信号有效时,被测存储器将第一数据输入信号上的数据写入地址信号对应的地址中;完成后,将地址信号对应地址中所存的前一组数据从数据输出端口B输出;
在第一时钟信号、地址信号与第二使能信号有效,且写使能信号无效时,将地址信号对应的地址中的数据,从存储器数据输出端口B读出。
进一步的,对于数据保持模式:在第一时钟信号、地址信号、第一数据输入信号与第一使能信号有效,写使能信号从无效变为有效时,被测存储器将第一数据输入信号上的数据写入地址信号对应的地址中;同时,数据输出端口A仍输出写使能信号无效时的最后一组数据;
在第一时钟信号、地址信号与第一使能信号有效,且写使能信号无效时,将地址信号对应的地址中的数据,从存储器数据输出端口A读出;
在第一时钟信号、地址信号、第一数据输入信号与第一使能信号有效,写使能信号从无效变为有效时,被测存储器将第一数据输入信号上的数据写入地址信号对应的地址中;同时,数据输出端口B仍输出写使能信号无效时的最后一组数据;
在第一时钟信号、地址信号与第二使能信号有效,且写使能信号无效时,将地址信号对应的地址中的数据,从存储器数据输出端口B读出。
进一步的,3选1选择器模块接收选择器控制信号,将选择器3组数据输入端口上的一组信号,传到选择器数据输出端口上;寄存器模块接收寄存器控制信号,将寄存器数据输入端口上的数据存入寄存器模块中,并同时传到寄存器数据输出端口上;通过3选1选择器模块和寄存器模块,实现被测存储器总线端口A与总线端口B的独立测试。
进一步的,当测试总线端口A时,由选择器控制信号向选择器控制端口发送第二控制指令,使3选1多路选择器模块将选择器第二数据输入端口上的数据,从选择器数据输出端口输出,传到寄存器数据输入端口;
寄存器控制信号向寄存器模块的控制端口发送控制指令,将寄存器数据输入端口上的数据存入寄存器模块中。
进一步的,第二数据输入信号传到第1个测试单元中3选1多路选择器模块的第一数据输入端口上;选择器控制信号向选择器控制端口发送第一控制指令,使3选1多路选择器模块将选择器第一数据输入端口上的数据,从选择器数据输出端口输出,传到寄存器数据输入端口上;
寄存器控制信号向寄存器模块的控制端口发送控制指令,将寄存器数据输入端口上的数据存入寄存器模块中;经过N级传递,第N个寄存器模块的数据输出端口将测试数据按顺序传到外部。
进一步的,将传到外部的测试数据按顺序与第一测试输入信号中的数据进行对比,通过输出数据的顺序与位置信息,判断被测存储器是否存在故障,以及故障的具体位置及模式。
进一步的,当测试总线端口B时,由选择器控制信号向选择器控制端口发送第二控制指令,使3选1多路选择器模块将选择器第二数据输入端口上的数据,从选择器数据输出端口输出,传到寄存器数据输入端口;
寄存器控制信号向寄存器模块的控制端口发送控制指令,将寄存器数据输入端口上的数据存入寄存器模块中。
进一步的,第二数据输入信号传到第1个测试单元中3选1多路选择器模块的第一数据输入端口上;选择器控制信号向选择器控制端口发送第一控制指令,使3选1多路选择器模块将选择器第一数据输入端口上的数据,从选择器数据输出端口输出,传到寄存器数据输入端口上;
寄存器控制信号向寄存器模块的控制端口发送控制指令,将寄存器数据输入端口上的数据存入寄存器模块中;经过N级传递,第N个寄存器模块的数据输出端口将测试数据按顺序传到外部。
进一步的,将传到外部的测试数据按顺序与第一测试输入信号中的数据进行对比,通过输出数据的顺序与位置信息,判断被测存储器是否存在故障,以及故障的具体位置及模式。
进一步的,根据存储器测试算法对地址累加形式与数据图形的要求,确定所述地址信号的起始地址与地址累加形式,同时确定与地址信号对应的第一数据信号和数据输出信号的测试数据图形。
一种嵌入式TDP RAM模块测试方法,具体步骤如下:
(1)按照需要测试的TDP RAM工作模式,配置嵌入式TDP RAM模块测试电路;
(2)根据存储器测试算法对地址累加形式与数据图形的要求,确定地址信号上的起始地址与地址累加形式;同时,结合需要测试的工作模式,确定与地址信号对应的第一数据输入信号和数据输出信号上的测试数据图形;
(3)通过第一使能信号,测试被测电路总线端口A;
(4)通过第二使能信号,测试被测电路总线端口B。
进一步的,步骤(3)具体测试方法为:
1)选择器控制信号向选择器控制端口发送第二控制指令,使3选1多路选择器模块将选择器第二数据输入端口上的数据,从选择器数据输出端口输出,传到寄存器数据输入端口;
寄存器控制信号向寄存器模块的控制端口发送控制指令,将寄存器数据输入端口上的数据存入寄存器模块中;
2)第二数据输入信号传到第1个测试单元中3选1多路选择器模块的第一数据输入端口上;选择器控制信号向选择器控制端口发送第一控制指令,使3选1多路选择器模块将选择器第一数据输入端口上的数据,从选择器数据输出端口输出,传到寄存器数据输入端口上;寄存器控制信号向寄存器模块的控制端口发送控制指令,将寄存器数据输入端口上的数据存入寄存器模块中;经过N级传递,第N个寄存器模块的数据输出端口将测试数据按顺序传到外部;
3)将传到外部的测试数据按顺序与第一测试输入信号中的数据进行对比,通过输出数据的顺序与位置信息,判断被测存储器是否存在故障,以及故障的具体位置与模式。
进一步的,步骤(4)具体测试方法为:
1)选择器控制信号向选择器控制端口发送第二控制指令,使3选1多路选择器模块将选择器第二数据输入端口上的数据,从选择器数据输出端口输出,传到寄存器数据输入端口;
寄存器控制信号向寄存器模块的控制端口发送控制指令,将寄存器数据输入端口上的数据存入寄存器模块中;
2)第二数据输入信号传到第1个测试单元中3选1多路选择器模块的第一数据输入端口上;选择器控制信号向选择器控制端口发送第一控制指令,使3选1多路选择器模块将选择器第一数据输入端口上的数据,从选择器数据输出端口输出,传到寄存器数据输入端口上;寄存器控制信号向寄存器模块的控制端口发送控制指令,将寄存器数据输入端口上的数据存入寄存器模块中;经过N级传递,第N个寄存器模块的数据输出端口将测试数据按顺序传到外部;
3)将传到外部的测试数据按顺序与第一测试输入信号中的数据进行对比,通过输出数据的顺序与位置信息,判断被测存储器是否存在故障,以及故障的具体位置与模式。
本发明与现有技术相比的有益效果是:
(1)与BIST方法相比,本发明可将全部测试数据通过FPGA的IO端口传输到外部,从而可以通过外部测试仪器读取到全部测试结果,当发现故障时,通过输出数据的顺序与位置信息,即可判断被测电路故障模块的位置与故障模式;
(2)由于写优先、读优先与数据保持三种模式的输出数据时序存在较大差异,使用BIST方法测试时,需要根据三种模式各自的时序特点分别设计三套BIST电路,而本发明采用的是相同的电路结构来测试三种不同工作模式,相比而言对FPGA程序的开发工作量更小,资源占用率也更低,同时,本发明给出了三种模式完整的测试方法,可针对三种模式的时序差别进行全面测试;
(3)本发明提供的是一种通用的模块化测试电路设计,当需要进行大量TDP RAM测试时,只需将测试单元进行逻辑复制后再顺序级联即可。
附图说明
图1是现有技术7系列FPGA TDP RAM模块结构图;
图2是现有技术7系列FPGA TDP RAM三种模式时序图,其中(a)写优先模式时序,(b)读优先模式时序,(c)数据保持模式时序;
图3是现有技术BIST电路结构图;
图4是本发明实施例TDP RAM测试电路结构示意图;
图5是本发明实施例TDP RAM测试方法流程图。
具体实施方式
下面结合实施例对本发明作进一步阐述。
一种嵌入式TDP RAM模块测试电路,如图4所示,包括N个结构相同的测试单元、时钟信号、地址信号、第一数据输入信号、第二数据输入信号、数据输出信号、写使能信号、第一使能信号、第二使能信号、选择器控制信号与寄存器控制信号;
每个测试单元包括被测存储器、3选1选择器模块和寄存器模块;
每个被测存储器包括2组完全独立的数据读写总线端口:总线端口A与总线端口B,具体包括:存储器时钟端口A/B、存储器地址端口A/B、存储器数据输入端口A/B、存储器数据输出端口A/B、存储器写使能端口A/B和存储器使能端口A/B;
每个3选1选择器模块包括选择器第一数据输入端口,选择器第二数据输入端口,选择器第三数据输入端口,选择器数据输出端口和选择器控制端口;
每个寄存器模块包括寄存器数据输入端口,寄存器数据输出端口和寄存器控制端口;
时钟信号传到N个测试单元中的存储器时钟端口A/B上;地址信号传到N个测试单元的存储器地址端口A/B上;第一数据输入信号传到N个测试单元的存储器数据输入端口A/B上;写使能信号传到N个测试单元的存储器写使能端口A/B上;第一使能信号传到N个测试单元的存储器使能端口A上;第二使能信号传到N个测试单元的存储器使能端口B上;寄存器控制信号传到N个测试单元的寄存器控制端口上;选择器控制信号传到N个测试单元的选择器控制端口上;
第二数据输入信号传到第1个测试单元的选择器第一数据输入端口上,第1个测试单元的寄存器数据输出端口,连到第2个测试单元的选择器第一数据输入端口上,第2个测试单元的寄存器数据输出端口,连到第3个测试单元的选择器第一数据输入端口上,以此类推,第N-1个测试单元的寄存器数据输出端口,连到第N个测试单元的选择器第一数据输入端口上,第N个测试单元的寄存器数据输出端口连到数据输出信号;
每个测试单元中的存储器数据输出端口A,连到该测试单元中的选择器第二数据输入端口上;存储器数据输出端口B,连到选择器第三数据输入端口上;选择器数据输出端口,连到寄存器数据输入端口上。
实施例1
图4所示为2个TDP RAM测试电路模块的级联结构,更多的TDP RAM可按照同样结构顺次级联下去,最多可一次将FPGA中全部待测TDP RAM模块全部级联进来。对图4中模块与信号的说明如下:
(1)图4中被测存储器即为TDP RAM模块,可以直接使用RAMB36原语实现,也可通过IP Core Generator工具产生;3选1的多路选择器模块通过FPGA中查找表实现,寄存器模块由FPGA中存储元件实现。
(2)被测存储器的地址A/B、数据输入A/B、数据输出A/B的总线宽度可变,其组合关系满足36Kbit的最大存储容量。从降低FPGA资源占用率角度考虑,应尽量减少数据总线宽度,增加地址总线宽度。实际设计中选取9位数据总线(含1位校验位)与12位地址总线。
(3)图4中选择器即为3选1选择器模块,选择器控制信号采用独热码形式,宽度为3位,选择器的3组数据输入端口与1组数据输出端口都为9位。
(4)第二数据输入信号宽度为9位,寄存器模块的寄存器数据输入端和寄存器数据输出端口都是9位。
一种嵌入式TDP RAM模块测试方法,如图5,具体步骤如下:
(1)按照需要测试的TDP RAM工作模式,配置嵌入式TDP RAM模块测试电路;
(2)根据存储器测试算法对地址累加形式与数据图形的要求,确定地址信号上的起始地址与地址累加形式;同时,结合需要测试的工作模式,确定与地址信号对应的第一数据输入信号和数据输出信号上的测试数据图形;
(3)通过第一使能信号,测试被测电路总线端口A;选择器控制信号向选择器控制端口发送第二控制指令,使3选1多路选择器模块将选择器第二数据输入端口上的数据,从选择器数据输出端口输出,传到寄存器数据输入端口;
寄存器控制信号向寄存器模块的控制端口发送控制指令,将寄存器数据输入端口上的数据存入寄存器模块中;
(4)第二数据输入信号传到第1个测试单元中3选1多路选择器模块的第一数据输入端口上;选择器控制信号向选择器控制端口发送第一控制指令,使3选1多路选择器模块将选择器第一数据输入端口上的数据,从选择器数据输出端口输出,传到寄存器数据输入端口上;寄存器控制信号向寄存器模块的控制端口发送控制指令,将寄存器数据输入端口上的数据存入寄存器模块中;经过N级传递,第N个寄存器模块的数据输出端口将测试数据按顺序传到外部。
(5)将传到外部的测试数据按顺序与第一测试输入信号中的数据进行对比,通过输出数据的顺序与位置信息,判断被测存储器是否存在故障,以及故障的具体位置与模式。
(6)通过第二使能信号,测试被测电路总线端口B;选择器控制信号向选择器控制端口发送第二控制指令,使3选1多路选择器模块将选择器第二数据输入端口上的数据,从选择器数据输出端口输出,传到寄存器数据输入端口;
寄存器控制信号向寄存器模块的控制端口发送控制指令,将寄存器数据输入端口上的数据存入寄存器模块中;
(7)第二数据输入信号传到第1个测试单元中3选1多路选择器模块的第一数据输入端口上;选择器控制信号向选择器控制端口发送第一控制指令,使3选1多路选择器模块将选择器第一数据输入端口上的数据,从选择器数据输出端口输出,传到寄存器数据输入端口上;寄存器控制信号向寄存器模块的控制端口发送控制指令,将寄存器数据输入端口上的数据存入寄存器模块中;经过N级传递,第N个寄存器模块的数据输出端口将测试数据按顺序传到外部。
(8)将传到外部的测试数据按顺序与第一测试输入信号中的数据进行对比,通过输出数据的顺序与位置信息,判断被测存储器是否存在故障,以及故障的具体位置与模式。
实施例2
下面以测试总线端口A、写优先工作模式、March C算法为例,如图5所示,说明测试电路具体测试流程:
(1)起始的地址信号设为12’h0,第一使能信号有效,第二使能信号无效,第一测试码设为9’h0,第二测试码设为9’h1FF;
(2)将第一测试码,通过第一数据输入信号写入被测存储器;
(3)选择器控制信号发送第二控制指令,控制3选1多路选择器模块,将被测存储器数据输出A端口上的数据,通过选择器第二数据输入端口,传到选择器数据输出端口上;
(4)寄存器控制信号发送控制指令,控制寄存器模块将3选1多路选择器模块的输出数据存入寄存器模块中;
(5)选择器控制信号发送第一控制指令,控制3选1多路选择器模块,将第二数据输入信号,通过选择第一数据输入端口,传到选择器数据输出端口上;
(6)寄存器控制信号发送控制指令,经N个指令周期,按顺序将数据从数据输出端口读出;
(7)将读出的数据与第一测试码对比,根据比较结果,判断被测存储器是否故障;
(8)地址信号加1,重复执行(2)-(7),直到地址信号累加至12’hFFF。
(9)地址信号重新设为12’h0;
(10)通过数据输出A端口读出数据,执行(3)-(6);
(11)将读出的数据与第一测试码对比,根据比较结果,判断被测存储器是否故障;
(12)将第二测试码通过第一数据输入信号写入被测存储器,执行(3)-(6);
(13)将读出的数据与第二测试码对比,根据比较结果,判断被测存储器是否故障;
(14)通过数据输出A端口读出数据,执行(3)-(6);
(15)将读出的数据与第二测试码对比,根据比较结果,判断被测存储器是否故障;
(16)地址信号累加1,重复执行(10)-(14),直到地址信号累加至12’hFFF;
(17)地址信号设为12’hFFF;
(18)通过数据输出A端口读出数据,执行(3)-(6);
(19)将读出的数据与第二测试码对比,根据比较结果,判断被测存储器是否故障;
(20)将第以测试码通过第一数据输入信号写入被测存储器,执行(3)-(6);
(21)将读出的数据与第一测试码对比,根据比较结果,判断被测存储器是否故障;
(22)通过数据输出A端口读出数据,执行(3)-(6);
(23)将读出的数据与第一测试码对比,根据比较结果,判断被测存储器是否故障;
(24)地址信号减1,重复执行(18)-(23),直到地址信号减至12’h0。
需要补充说明的是,TDP RAM测试需要使用FPGA的一部分LUT与存储元件资源,在使用前需要确保使用的LUT与存储元件功能正常,否则将会引起对测试结果的误判。
以上所述,仅为本发明最佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
本发明说明书中未作详细描述的内容属于本领域专业技术人员的公知技术。

Claims (17)

1.一种嵌入式TDP RAM模块测试电路,其特征在于,包括N个结构相同的测试单元、时钟信号、地址信号、第一数据输入信号、第二数据输入信号、数据输出信号、写使能信号、第一使能信号、第二使能信号、选择器控制信号与寄存器控制信号;
每个测试单元包括被测存储器、3选1选择器模块和寄存器模块;
每个被测存储器包括2组完全独立的数据读写总线端口:总线端口A与总线端口B,具体包括:存储器时钟端口A/B、存储器地址端口A/B、存储器数据输入端口A/B、存储器数据输出端口A/B、存储器写使能端口A/B和存储器使能端口A/B;
每个3选1选择器模块包括选择器第一数据输入端口,选择器第二数据输入端口,选择器第三数据输入端口,选择器数据输出端口和选择器控制端口;
每个寄存器模块包括寄存器数据输入端口,寄存器数据输出端口和寄存器控制端口;
时钟信号传到N个测试单元中的存储器时钟端口A/B上;地址信号传到N个测试单元的存储器地址端口A/B上;第一数据输入信号传到N个测试单元的存储器数据输入端口A/B上;写使能信号传到N个测试单元的存储器写使能端口A/B上;第一使能信号传到N个测试单元的存储器使能端口A上;第二使能信号传到N个测试单元的存储器使能端口B上;寄存器控制信号传到N个测试单元的寄存器控制端口上;选择器控制信号传到N个测试单元的选择器控制端口上;
第二数据输入信号传到第1个测试单元的选择器第一数据输入端口上,第1个测试单元的寄存器数据输出端口,连到第2个测试单元的选择器第一数据输入端口上,第2个测试单元的寄存器数据输出端口,连到第3个测试单元的选择器第一数据输入端口上,以此类推,第N-1个测试单元的寄存器数据输出端口,连到第N个测试单元的选择器第一数据输入端口上,第N个测试单元的寄存器数据输出端口连到数据输出信号;
每个测试单元中的存储器数据输出端口A,连到该测试单元中的选择器第二数据输入端口上;存储器数据输出端口B,连到选择器第三数据输入端口上;选择器数据输出端口,连到寄存器数据输入端口上。
2.如权利要求1所述的一种嵌入式TDP RAM模块测试电路,其特征在于,测试单元中的被测存储器、3选1选择器模块、寄存器模块具有唯一的物理身份编号;
存储器数据输出端口A/B、选择器第一数据输入端口、选择器第二数据输入端口、选择器第三数据输入端口、选择器数据输出端口、寄存器数据输入端口,和寄存器数据输出端口的位宽相同。
3.如权利要求2所述的一种嵌入式TDP RAM模块测试电路,其特征在于,选择器控制端口的位宽为3。
4.如权利要求1所述的一种嵌入式TDP RAM模块测试电路,其特征在于,被测存储器的工作方式包括:写优先模式、读优先模式与数据保持模式,
对于写优先模式:在第一时钟信号、地址信号、第一数据输入信号、写使能信号与第一使能信号有效时,被测存储器将第一数据输入信号上的数据写入地址信号对应的地址中;完成后,将地址信号对应地址中现存的数据从数据输出端口A输出;
在第一时钟信号、地址信号与第一使能信号有效,且写使能信号无效时,将地址信号对应的地址中的数据,从存储器数据输出端口A读出;
在第一时钟信号、地址信号、第一数据输入信号、写使能信号与第二使能信号有效时,被测存储器将第一数据输入信号上的数据写入地址信号对应的地址中;完成后,将地址信号对应地址中现存的数据从数据输出端口B输出;
在第一时钟信号、地址信号与第二使能信号有效,且写使能信号无效时,将地址信号对应的地址中的数据,从存储器数据输出端口B读出。
5.如权利要求4所述的一种嵌入式TDP RAM模块测试电路,其特征在于,
对于读优先模式:在第一时钟信号、地址信号、第一数据输入信号、写使能信号与第一使能信号有效时,被测存储器将第一数据输入信号上的数据写入地址信号对应的地址中;完成后,将地址信号对应地址中所存的前一组数据从数据输出端口A输出;
在第一时钟信号、地址信号与第一使能信号有效,且写使能信号无效时,将地址信号对应的地址中的数据,从存储器数据输出端口A读出;
在第一时钟信号、地址信号、第一数据输入信号、写使能信号与第二使能信号有效时,被测存储器将第一数据输入信号上的数据写入地址信号对应的地址中;完成后,将地址信号对应地址中所存的前一组数据从数据输出端口B输出;
在第一时钟信号、地址信号与第二使能信号有效,且写使能信号无效时,将地址信号对应的地址中的数据,从存储器数据输出端口B读出。
6.如权利要求4所述的一种嵌入式TDP RAM模块测试电路,其特征在于,
对于数据保持模式:在第一时钟信号、地址信号、第一数据输入信号与第一使能信号有效,写使能信号从无效变为有效时,被测存储器将第一数据输入信号上的数据写入地址信号对应的地址中;同时,数据输出端口A仍输出写使能信号无效时的最后一组数据;
在第一时钟信号、地址信号与第一使能信号有效,且写使能信号无效时,将地址信号对应的地址中的数据,从存储器数据输出端口A读出;
在第一时钟信号、地址信号、第一数据输入信号与第一使能信号有效,写使能信号从无效变为有效时,被测存储器将第一数据输入信号上的数据写入地址信号对应的地址中;同时,数据输出端口B仍输出写使能信号无效时的最后一组数据;
在第一时钟信号、地址信号与第二使能信号有效,且写使能信号无效时,将地址信号对应的地址中的数据,从存储器数据输出端口B读出。
7.如权利要求1所述的一种嵌入式TDP RAM模块测试电路,其特征在于,
3选1选择器模块接收选择器控制信号,将选择器3组数据输入端口上的一组信号,传到选择器数据输出端口上;寄存器模块接收寄存器控制信号,将寄存器数据输入端口上的数据存入寄存器模块中,并同时传到寄存器数据输出端口上;通过3选1选择器模块和寄存器模块,实现被测存储器总线端口A与总线端口B的独立测试。
8.如权利要求7所述的一种嵌入式TDP RAM模块测试电路,其特征在于,
当测试总线端口A时,由选择器控制信号向选择器控制端口发送第二控制指令,使3选1多路选择器模块将选择器第二数据输入端口上的数据,从选择器数据输出端口输出,传到寄存器数据输入端口;
寄存器控制信号向寄存器模块的控制端口发送控制指令,将寄存器数据输入端口上的数据存入寄存器模块中。
9.如权利要求8所述的一种嵌入式TDP RAM模块测试电路,其特征在于,
第二数据输入信号传到第1个测试单元中3选1多路选择器模块的第一数据输入端口上;选择器控制信号向选择器控制端口发送第一控制指令,使3选1多路选择器模块将选择器第一数据输入端口上的数据,从选择器数据输出端口输出,传到寄存器数据输入端口上;
寄存器控制信号向寄存器模块的控制端口发送控制指令,将寄存器数据输入端口上的数据存入寄存器模块中;经过N级传递,第N个寄存器模块的数据输出端口将测试数据按顺序传到外部。
10.如权利要求9所述的一种嵌入式TDP RAM模块测试电路,其特征在于,
将传到外部的测试数据按顺序与第一测试输入信号中的数据进行对比,通过输出数据的顺序与位置信息,判断被测存储器是否存在故障,以及故障的具体位置及模式。
11.如权利要求7所述的一种嵌入式TDP RAM模块测试电路,其特征在于,
当测试总线端口B时,由选择器控制信号向选择器控制端口发送第二控制指令,使3选1多路选择器模块将选择器第二数据输入端口上的数据,从选择器数据输出端口输出,传到寄存器数据输入端口;
寄存器控制信号向寄存器模块的控制端口发送控制指令,将寄存器数据输入端口上的数据存入寄存器模块中。
12.如权利要求11所述的一种嵌入式TDP RAM模块测试电路,其特征在于,
第二数据输入信号传到第1个测试单元中3选1多路选择器模块的第一数据输入端口上;选择器控制信号向选择器控制端口发送第一控制指令,使3选1多路选择器模块将选择器第一数据输入端口上的数据,从选择器数据输出端口输出,传到寄存器数据输入端口上;
寄存器控制信号向寄存器模块的控制端口发送控制指令,将寄存器数据输入端口上的数据存入寄存器模块中;经过N级传递,第N个寄存器模块的数据输出端口将测试数据按顺序传到外部。
13.如权利要求12所述的一种嵌入式TDP RAM模块测试电路,其特征在于,
将传到外部的测试数据按顺序与第一测试输入信号中的数据进行对比,通过输出数据的顺序与位置信息,判断被测存储器是否存在故障,以及故障的具体位置及模式。
14.如权利要求1所述的一种嵌入式TDP RAM模块测试电路,其特征在于,
根据存储器测试算法对地址累加形式与数据图形的要求,确定所述地址信号的起始地址与地址累加形式,同时确定与地址信号对应的第一数据信号和数据输出信号的测试数据图形。
15.一种嵌入式TDP RAM模块测试方法,其特征在于,具体步骤如下:
(1)按照需要测试的TDP RAM工作模式,配置嵌入式TDP RAM模块测试电路;
(2)根据存储器测试算法对地址累加形式与数据图形的要求,确定地址信号上的起始地址与地址累加形式;同时,结合需要测试的工作模式,确定与地址信号对应的第一数据输入信号和数据输出信号上的测试数据图形;
(3)通过第一使能信号,测试被测电路总线端口A;
(4)通过第二使能信号,测试被测电路总线端口B。
16.如权利要求15所述的一种嵌入式TDP RAM模块测试方法,其特征在于,步骤(3)具体测试方法为:
1)选择器控制信号向选择器控制端口发送第二控制指令,使3选1多路选择器模块将选择器第二数据输入端口上的数据,从选择器数据输出端口输出,传到寄存器数据输入端口;
寄存器控制信号向寄存器模块的控制端口发送控制指令,将寄存器数据输入端口上的数据存入寄存器模块中;
2)第二数据输入信号传到第1个测试单元中3选1多路选择器模块的第一数据输入端口上;选择器控制信号向选择器控制端口发送第一控制指令,使3选1多路选择器模块将选择器第一数据输入端口上的数据,从选择器数据输出端口输出,传到寄存器数据输入端口上;寄存器控制信号向寄存器模块的控制端口发送控制指令,将寄存器数据输入端口上的数据存入寄存器模块中;经过N级传递,第N个寄存器模块的数据输出端口将测试数据按顺序传到外部;
3)将传到外部的测试数据按顺序与第一测试输入信号中的数据进行对比,通过输出数据的顺序与位置信息,判断被测存储器是否存在故障,以及故障的具体位置与模式。
17.如权利要求15所述的一种嵌入式TDP RAM模块测试方法,其特征在于,步骤(4)具体测试方法为:
1)选择器控制信号向选择器控制端口发送第二控制指令,使3选1多路选择器模块将选择器第二数据输入端口上的数据,从选择器数据输出端口输出,传到寄存器数据输入端口;
寄存器控制信号向寄存器模块的控制端口发送控制指令,将寄存器数据输入端口上的数据存入寄存器模块中;
2)第二数据输入信号传到第1个测试单元中3选1多路选择器模块的第一数据输入端口上;选择器控制信号向选择器控制端口发送第一控制指令,使3选1多路选择器模块将选择器第一数据输入端口上的数据,从选择器数据输出端口输出,传到寄存器数据输入端口上;寄存器控制信号向寄存器模块的控制端口发送控制指令,将寄存器数据输入端口上的数据存入寄存器模块中;经过N级传递,第N个寄存器模块的数据输出端口将测试数据按顺序传到外部;
3)将传到外部的测试数据按顺序与第一测试输入信号中的数据进行对比,通过输出数据的顺序与位置信息,判断被测存储器是否存在故障,以及故障的具体位置与模式。
CN201911055491.9A 2019-10-31 2019-10-31 一种嵌入式tdp ram模块测试电路与测试方法 Active CN111124769B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911055491.9A CN111124769B (zh) 2019-10-31 2019-10-31 一种嵌入式tdp ram模块测试电路与测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911055491.9A CN111124769B (zh) 2019-10-31 2019-10-31 一种嵌入式tdp ram模块测试电路与测试方法

Publications (2)

Publication Number Publication Date
CN111124769A true CN111124769A (zh) 2020-05-08
CN111124769B CN111124769B (zh) 2024-06-14

Family

ID=70495585

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911055491.9A Active CN111124769B (zh) 2019-10-31 2019-10-31 一种嵌入式tdp ram模块测试电路与测试方法

Country Status (1)

Country Link
CN (1) CN111124769B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030140289A1 (en) * 2002-01-23 2003-07-24 Nobuyuki Endo Dual port RAM
US20050060621A1 (en) * 2003-09-12 2005-03-17 Jonathan Lee Method and system for direct access memory testing of an integrated circuit
CN101515020A (zh) * 2009-03-05 2009-08-26 北京时代民芯科技有限公司 一种fpga逻辑资源的内建自测试方法
WO2015075783A1 (ja) * 2013-11-20 2015-05-28 株式会社日立製作所 論理集積回路及びこれを用いた論理回路,比較器,高信頼性システム
CN107064783A (zh) * 2016-12-08 2017-08-18 中国空间技术研究院 一种fpga芯片中查找表的检测电路及检测方法
CN107452426A (zh) * 2017-07-24 2017-12-08 中国空间技术研究院 一种fpga芯片中存储元件的检测电路及检测方法
CN109712665A (zh) * 2018-02-27 2019-05-03 上海安路信息科技有限公司 存储器及存储器的功能测试方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030140289A1 (en) * 2002-01-23 2003-07-24 Nobuyuki Endo Dual port RAM
US20050060621A1 (en) * 2003-09-12 2005-03-17 Jonathan Lee Method and system for direct access memory testing of an integrated circuit
CN101515020A (zh) * 2009-03-05 2009-08-26 北京时代民芯科技有限公司 一种fpga逻辑资源的内建自测试方法
WO2015075783A1 (ja) * 2013-11-20 2015-05-28 株式会社日立製作所 論理集積回路及びこれを用いた論理回路,比較器,高信頼性システム
CN107064783A (zh) * 2016-12-08 2017-08-18 中国空间技术研究院 一种fpga芯片中查找表的检测电路及检测方法
CN107452426A (zh) * 2017-07-24 2017-12-08 中国空间技术研究院 一种fpga芯片中存储元件的检测电路及检测方法
CN109712665A (zh) * 2018-02-27 2019-05-03 上海安路信息科技有限公司 存储器及存储器的功能测试方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
A. M. S. ABDELHADI: "A Multi-ported Memory Compiler Utilizing True Dual-Port BRAMs", 2016 IEEE 24TH ANNUAL INTERNATIONAL SYMPOSIUM ON FIELD-PROGRAMMABLE CUSTOM COMPUTING MACHINES (FCCM), 18 August 2016 (2016-08-18), pages 140 - 147 *
SUPER_STAR123: "FPGA的基本组成单元LUT,以及三种核的概念", Retrieved from the Internet <URL:https://www.cnblogs.com/Dinging006/p/9512506.html> *
任杰 等: "双口RAM读写正确性自动测试的有限状态机控制器设计方法", 广西科技大学学报, vol. 26, no. 4, 31 December 2015 (2015-12-31), pages 36 - 41 *
吉国凡;赵智昊;杨嵩;: "基于ATE的FPGA测试方法", 电子测试, no. 12 *

Also Published As

Publication number Publication date
CN111124769B (zh) 2024-06-14

Similar Documents

Publication Publication Date Title
US6668347B1 (en) Built-in self-testing for embedded memory
US7814385B2 (en) Self programmable shared bist for testing multiple memories
US8780648B2 (en) Latch based memory device
CN100392617C (zh) 片上系统与应用于其中的测试/除错方法
WO2008103793A1 (en) Input/output compression and pin reduction in an integrated circuit
US20180059178A1 (en) Integrated circuit with low power scan system
CN101996687A (zh) 基于扫描测试的多个sram的内建自测试方法
CN109445366B (zh) 一种fpga可编程逻辑资源的筛选测试方法
KR20030019589A (ko) 마이크로코드형 메모리 내장 셀프-테스트의 시스템 초기화
CN212303083U (zh) 缺陷修复电路和存储器
CN103617810A (zh) 嵌入式存储器的测试结构及方法
JP2010152939A (ja) 半導体装置とテスト方法
Kong et al. An efficient March (5N) FSM-based memory built-in self test (MBIST) architecture
CN106291313B (zh) 用于测试集成电路的方法和设备
US7716541B2 (en) Test apparatus and electronic device for generating test signal to a device under test
US20030236648A1 (en) Memory defect redress analysis treating method, and memory testing apparatus performing the method
US7117394B2 (en) Built-in self-test circuit
CN111124769B (zh) 一种嵌入式tdp ram模块测试电路与测试方法
US7640467B2 (en) Semiconductor memory with a circuit for testing the same
US7539913B2 (en) Systems and methods for chip testing
CN114400042B (zh) 存储器测试系统
WO1998014954A1 (fr) Controleur de memoire
CN111292795B (zh) 存储器的内建自测试系统
US7433252B2 (en) Semiconductor memory device capable of storing data of various patterns and method of electrically testing the semiconductor memory device
US20240145020A1 (en) Circuit for testing memories

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant