ISSN: 2319 - 9873
MBM工程学院电子与通信工程系,焦特布尔,拉贾斯坦邦
收到的日期: 07/12/2016;接受日期:18/01/2017;发布日期: 24/01/2017
更多相关文章请访问研究与评论:工程与技术雷竞技苹果下载杂志
本文利用Xilinx或model sim软件设计了一个512位的存储芯片。内存内置自检(MBIST)或一些人所说的数组内置自检是一个惊人的逻辑。在没有任何与外界的直接连接的情况下,一个非常复杂的嵌入式内存可以被高效、简单、低成本地测试。模型本文介绍了MBIST的计算和仿真。设计架构是使用Xilinx ISE工具用超高速集成电路硬件描述语言(VHDL)代码编写的。通过对故障SRAM进行卡死测试,验证了该架构的有效性。像March C一样实现了BIST算法-以及更多用于测试故障SRAM的算法。
内置自检(BIST),内存,架构,软件
快速低功耗的sram正在成为许多VLSI芯片的关键组件。处理器和主存储器的速度差距越来越大,由于集成度和运行速度的提高以及电池供电设备的增加,功耗也在增加。SRAM有助于弥合差距,也减少了功耗。设计完内存后,我们将对内存中的故障进行测试。
内存测试
内置自检(BIST)技术被广泛应用于随机存取存储器(ram)的测试和诊断[1]。为了支持诊断,由于测试I/ o的限制,BIST电路将需要诊断的数据串行输出。显然,导出诊断数据很耗时,因为它们是一点一点导出的。为了减少时间消耗,有几种诊断数据压缩技术。提出了多种压缩方法,以暂停和导出的方式压缩待诊断数据。因此,当检测到故障时,BIST电路暂停,然后将故障压缩并串行输出。
Sram故障模型
为了研究记忆体的故障检测方法,首先要建立记忆体的故障模型。出现内存故障的简化部分有三个[2]。这三部分分别是:地址解码器、读写逻辑、存储单元阵列。前两部分在功能上与后者相等;我们只需要检测到存储单元阵列。
以下是故障类型,也称为故障模型:
•卡在故障
•状态转换故障
•耦合故障
•处理故障
•数据保留故障
停留在故障:缩写为SAF。在这种类型的故障模型中,一个单元或一行内存被假定卡在逻辑“1”或逻辑“0”。
状态转换故障:它是卡死故障的一部分,指一个单元或一行内存在写入操作后不能实现0-1或1-0转换。它们分别被称为上升态转移断层和下降态转移断层[3.]。
耦合故障:它包括两个单元,一个单元的状态改变导致另一个单元的状态发生相应的变化。
解决故障:在这种类型的故障模型中,行或列解码器可能无法访问寻址单元,或者多个地址访问相同的存储单元,或者一个地址同时访问多个单元,或者访问其他单元而不是同一指定单元。
卡开故障:在这种故障模型下,无法对存储单元进行寻址。如果存储单元只有一个输入端口,则只会产生固定的输出值。
数据保留故障:在这种故障模型中,存储单元不能在规定的时间内有效地保持其数据值不变。
Ram Bist建筑
RAM BIST的架构如下所示。在RAM的第一块BIST架构中“基于ROM的算法”发电机,其中所有8个算法都保持在理想状态[4]。除非BIST_EN信号等于“1”,否则该算法将保持理想状态(或者可以理解为直到BIST_EN信号等于“1”,BIST操作才会开始)。在这8种算法中,将根据8:1 MUX的选择线选择一种算法。然后将所选算法传递给“算法解码器”。来自这个块的读/写信号被传输到嵌入式RAM来定义天气读操作或写入操作将执行到RAM地址[5,6]。向上/向下信号被传递给“地址生成器”来定义读/写操作是在“向上寻址模式”还是“向下寻址模式”下执行,这是通过选择算法操作来决定的(图1)。
然后将第三个信号0 / 1传递给“数据生成器”,定义在“0”位或“1”位上执行读写操作[7]。因此,根据所选算法的状态,对RAM进行读写操作。每当执行“读取操作”时,数据就会从RAM中出来,并将数据传输到“比较器”。在比较器中有另一个输入端口(即测试数据),其中测试输入与写入“嵌入式RAM”的数据相同。
比较器将检查两个输入是否相同,如果有一些故障(如卡在故障或耦合故障),那么来自“嵌入式内存”的输出数据与给予比较器的输入不同。因此,它将通过使“故障检测”信号“等于1”来显示故障,如果内存中没有故障,则“故障检测”将等于“0”。另一方面,如果正在执行“写”,则比较器将处于理想状态。
Ram测试算法
有许多类型的测试算法用于RAM测试[8]。这些算法对于BIST实现来说相当简单。下表包括RAM测试的各种测试算法以及由这些算法执行的指令(表1)。
表1。随机测试的算法。
不。 | 算法 | 三月元素法典 |
---|---|---|
000 | 垫+ | {↕(w0);↑(r0, w1);↓(r1, w0)} |
001 | 3月X | {↕(w0);↑(r0, w1);↓(r1, w0)↕(r0)} |
010 | C - 3月 | {↕(w0);↑(r0, w1);↓(r1, w0);w1↕(r0),↓(r1, w0)↕(r0)} |
011 | 3月一个 | {↕(w0);↑(r0, w1, w0 w1);↑(r1 w0 w1);↓(r1 w0 w1, w0);↓(r0, w1, w0)} |
One hundred. | 3 B | {↕(w0);↑(r0, w1, r1 w0 r0, w1);↑(r1 w0 w1);↓(r1 w0 w1, w0);↓(r0, w1, w0)} |
101 | 3月你 | {↕(w0);↑(r0, w1, r1, w0);↑(r0, w1);↓(r1 w0 r0, w1);↓(r1, w0)} |
110 | 3月LR | {↕(w0);↓(r0, w1);↑(r1 w0 r0, w1);↑(r1, w0);↑(r0, w1, r1, w0);↑(r0)} |
111 | 3月党卫军 | {↕(w0);↑(r0、r0, w0、r0 w1);↑(r1, r1 w1 r1, w0),↓(r0、r0 w0、r0 w1);↓(r1, r1 w1 r1, w0);↕(r0)} |
在所有的测试算法中,March C-算法具有较高的故障覆盖率。March测试算法的故障检测能力总结如下表[9]。所有这些测试算法都计划用于每个字有一个数据位的ram,但每个字也可以应用多个数据位。为了提高故障检出率,需要针对RAM中的敏感性故障和耦合故障对算法进行改进(表2)。
表2。总结了march测试的故障检测算法。
算法 | 发生在 | 地址 | 过渡 | 耦合 |
---|---|---|---|---|
垫 | 是的 | 一些 | 没有 | 没有 |
垫+ | 是的 | 是的 | 没有 | 没有 |
垫+ + | 是的 | 是的 | 是的 | 没有 |
3月X | 是的 | 是的 | 是的 | 一些 |
3 Y | 是的 | 是的 | 是的 | 一些 |
C - 3月 | 是的 | 是的 | 是的 | 是的 |
有各种类型的工具可以用作执行测试设计的步骤的模拟器。这是通过使用试验台来完成的[10]。测试台是一套与测试刺激时序相对应的电路设计。被测电路的响应可以以的形式读出波形。
测试台架文件负责向被测内存(MUT)提供输入刺激,如时钟和各种其他测试控制信号。然后,响应将以故障信号的形式产生,这些故障信号被检测到并以波形的形式显示[11]。在这个项目中,我们使用了Model sim模拟器。设计的结果在下一节中以屏幕截图的形式显示软件。首先,我们展示了用Xilinx软件编写的RTL原理图的截图(图2)。
为此,软件首先要求对元素进行选择。选择元素后,我们必须单击选项卡创建原理图[12]。只要单击此选项卡,就可以看到程序的RTL原理图(图3)。
我们可以在设计摘要中看到程序的所有细节。详情以表格的形式显示出来。这幅图如下所示(图4)。
在完成所有这些之后,我们将使用ISim模拟VHDL代码模拟器或modelsim软件[13]。所有输入输出参数的波形都显示在屏幕上。然后,我们可以提供输入并观察输出(图5)。
的功率报告内存设计如下所示,将在Xilinx Xpower分析仪中获得(图6)。
现在在完成内存的整体设计和测试后,我们将通过Xilinx软件[14]将其连接到FPGA套件上。截图如下所示(图7及8)。
本文介绍了一种512位SRAM存储器的设计。我们选择6T SRAM作为存储位元,并用该位元设计了一个阵列。通过许多论文,比如制作7T SRAM或8T SRAM,我们了解了关于这个6T SRAM的低功耗实现的许多事情。这方面的工作可以进一步推进,以实现低功耗的实现。我们已经掌握了许多重要的概念和学习工具,这将有助于我们的未来。
总之,成功地设计了一个内置自检的随机存储器。BIST技术分为在线测试和离线测试。这个项目是在VHDL的入门级设计的,所以有很多修改可以做和额外的体系结构可添加以增加设计的稳健性。
在我们的项目中,只要简单地修改解码器,就可以在设计中使用March C-算法。这样做的原因是March C-算法比其他算法能更好地覆盖故障算法。
•我们可以增加位大小,这样我们就可以测试更多的内存位置。
•BIST无法插入故障模型。因此,为了插入并检测一组故障模型,可以进行后续工作。
•我们可以通过替换已经使用的比较器和计数器来减少项目的硬件覆盖率。这样,我们项目的性能将得到提高。
•我们可以用Verilog HDL代替VHDL,以减少未来工作的命令行。
•由于资源不可用,我们无法将该项目编程到实际的FPGA硬件中。因此,未来的工作可以通过FPGA硬件设备进行所有这些测试来验证我们的工作。