RAM Sequential

news2024/11/16 9:36:58

    前段时间,在微信公众号上偶然看到一篇很不错的技术分享文章:《南湖处理器DFT设计范例》。文中详细介绍了中科院计算所的RISC-V处理器实施的DFT设计。

    去年,也基于一款处理器应用过Share Test Bus技术,但在memory界面fault测试的问题,我注意到南湖的测试方法(RAM_sequential)更加友好。本文针对这方面内容,做了一些简单的技术总结。

    通常,我们通过memory compiler 编译SRAM时,可以有以下几种选择或者场景:

    编译是否打开Test 专用的pin/bus: TA/A, TD/D

    编译器是否支持embedded scan chain

    然后,环绕memory界面的缺陷测试,我们的通常选择也有如下几种:

    1. RAM Bypass

        在测试模式下,将RAM Bypass, 实现从写一侧逻辑拉到读一侧,提高缺陷测试的覆盖率。

        在该方案下,我们注意到,进出memory的一段Net,实际上测试不到的。那么这部分,其实可以通过MBIST pattern 测试覆盖到。

        

 

        但是,如果memory 编译时将功能BUS 和MBIST Test BUS 分开的话,这样就没办法用MBIST pattern 覆盖剩下的那部分测试。

    2. Shadow logic

        本质上,就是添加Control Point 和Observe point, 与RAM Bypass 方案其实比较接近。

    3. RAM sequential Test

        如果上述功能BUS与Test BUS 分开的场景;

        或者,有些Core 有专门的Share Test Bus;

        特别是,后者,我们既然已经采用了Share Test Bus 方案,避免了常规MBIST 方案会在SRAM 附近增加很多逻辑(对PD和Timing 很友好)。那么前述的Shadow logic insertion 或者RAM Bypass 方案,都不再合适了。

        那么对,这两种场景,都将需要用到南湖方案:RAM Sequential Pattern.

        首先,以Memory Dataout BUS的Transition 测试流程为例,总结一下这个过程。

        测试流程:

        1. 通过scan chain load 给到Memory 前的Data flops = 0, Addr flops =0;

        2. 通过OCC/OPCG 给定第一个Pulse, 将Data flops (D=0) 读入Memory 相应的地址(Addr =0)。    

        同时,将Data1 flops/Addr1 flops 的值更新到 Data flops/Addr flops

        3. 通过OCC/OPCG 给定第二个Pulse, 将Data flops 的新值(D=1)读入Memory 相应的地址(Addr =1)

        同时,Addr flops 从前级拿到新值,Addr = 0

        4. 通过OCC/OPCG 给定第三个Pulse, 将Addr =0 的值读出到Memory Data Output.

        同时,Addr flops 从前级拿到新值,Addr = 1

        5. 通过OCC/OPCG 给定第四个Pulse, 将Addr = 1的值读出到Memory Data Output.

        同时, Observe flops 读到了前面Addr =0 的值,

        6. 通过OCC/OPCG给定第五个Pulse, 

        同时,Observe flops 读到了前面Addr = 1的值。

    

    下图展示了读端口Transition 测试的时序图:

cf1c62526e2b47c0a7d518208899ee67.png

    下图,展示了,memory及周围电路的示意图:

d8603352b8e547e6a7db19296187be0d.png

    当然,如果Memory有embedded scan chain, 界面测试就更简单一些了。SRAM IP 就像一个IEEE1500 compliant Core 一样了,甚至像一个大号的MUX-D flop.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/564086.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于 ESP32 创建 HTTP Server 服务器,支持载入文件到服务器,并对载入文件进行删除管理

软件编程指南参见:HTTP 服务器 测试准备 任意一款 ESP32 系列开发板2.4GHz 路由器热点准备各种格式的文件 测试软件 可基于 esp-idf/examples/protocols/http_server /file_serving 例程进行测试 测试步骤 1、软件配置 只需要设置 ESP32 连接的 2.4GHz 的 WiFi…

linux 部署Nginx

1,进入官网下载Nginx资源: 官网下载:http://nginx.org/en/download.html 2、下载 nginx-1.20.2 3、上传服务器 /opt目录 4、解压nginx-1.20.2.tar.gz 到当前目录 tar -zxvf nginx-1.20.2.tar.gz 5、配置基本信息,命令如下 #配置config…

香港服务器如何操作域名解析让网站上线?

​  网站上线是一个需要多个步骤的过程,其中之一就是解析IP。在这个过程中,您需要将您的网站域名解析到香港服务器IP地址,以便访问者可以通过域名来访问您的网站。 下面是解析IP的一般步骤: 1. 获取服务器IP地址:首先…

回收站文件恢复教程:如何找回误删除的重要文件

在使用电脑的过程中,误删除文件是一件很常见的事情,尤其是对于那些不太熟悉电脑操作的人来说,这种情况更为普遍。当重要文件误删除之后,人们最希望的就是能够快速地找回它。其实,在 Windows 操作系统中,回收…

View的工作原理

View的工作原理 当Activity对象被创建的时候,会将DecorView添加到Window中,同时创建ViewRootImpl对象并将它和DecorView关联起来 ViewRoot对应于ViewRootImpl类,它是连接WindowManager和DecorView的纽带,View的三大流程均是通过ViewRoot完成的 View的绘制是从ViewRoot的perf…

如何编写快速的SQL查询(一)——MySQL8.0优化器查询优化处理与样例

当希望MySQL能够以更高的性能运行查询时,最好的办法就是弄清楚MySQL是如何优化和执行查询的。一旦理解了这一点,很多查询优化工作实际上就是遵循一些原则让优化器能够按照预想的合理的方式运行。 MySQL是如何执行一个查询的过程的?根据图8-1可…

Java基础 变量与数据类型(类型转换)

变量 为什么需要变量 一花一世界,如果把一个程序看做一个世界或一个社会的话,那么变量就是程 序世界的花花草草、万事万物。即,变量是程序中不可或缺的组成单位,最基 本的存储单元。 初识变量 变量的概念 内存中的一个存储区域…

4.计算机网络基础

文章目录 1.网络互联模型2.常见网络协议(1)应用层协议:FTP、HFTP、HTTP(2)传输层协议:TCP、UDP三次握手、四次挥手(重要)TCP 和 UDP 区别(1)连接(…

【可乐荐书】人工智能数学基础

本栏目将推荐一些经典的、有趣的、有启发性的书籍,这些书籍涵盖了各个领域,包括文学、历史、哲学、科学、技术等等。相信这些书籍不仅可以让你获得知识,还可以让你感受到阅读的乐趣和魅力。 今天给大家推荐的书籍是:《人工智能数…

1688阿里巴巴中国站按关键字搜索抓取新品数据API接口展示示例(封装可高并发)(Java系列)

一、电商平台上新的重要性 电商平台上新非常重要。 首先,持续的新品上线可以吸引更多的用户访问平台和留存用户的兴趣。新品可以激发用户想要知道更多、购买更多的欲望,从而提高用户的使用频率和转化率。此外,新品上线也可以使电商平台更具…

windows下lib文件中的函数列表查看

可以使用Visual Studio中自带的dumpbin工具,首先应确保该文件路径已经加载到了环境变量中,以博主环境为例,其路径在 D:\xxxxxxxxxxxxx\Microsoft Visual Studio 14.0\VC\bin dumpbin.exe /LINKERMEMBER libfile.lib

pytorch房价预测(线性回归)

文章目录 一、前言二、实现方法 一、前言 任务目标:根据统计在csv中的房屋属性相关数据,预测房屋最终成交价格数据集:《住宅属性数据集》,自取https://download.csdn.net/download/weixin_43721000/87785277 3.数据集字段解释&am…

JAVA开发(对大表数据逐条进行处理踩的坑记录一下)

一、编程语言介绍 所使用的编程语言为JAVA。纯后端开发。 二、炫技代码分享 现在我编写代码一般通过逆向工程生成,只需要设计好数据库表就可以逆向生成后端的接口模块。 三、案例分享 逆向工程。逆向工程涉及到的输出模块。具体运用需要关注和联系博主分享使用。 ##…

day82【Leetcode】

文章目录 前言一、检查替换后的词是否有效(力扣1003)二、有效的括号(力扣20)【1003类似题目】每日一题:数青蛙(力扣1419) 前言 1、检查替换后的词是否有效 2、有效的括号 3、数青蛙 一、检查替…

操作系统第三章——内存管理(中)

九月重楼二两,冬至蝉蜕一钱,煎入隔年雪煮沸,可治人间相思苦疾, 可是,重楼七叶一花,冬日何来蝉蜕,原是相思无解 殊不知 夏枯即为九叶重楼,掘地三尺寒蝉现,除夕子时雪&…

2022级云曦实验室考试(一)pwn

讲真,俺都不知道pwn是啥,等俺搜搜! pwn简介: CTF中的pwn指的是通过通过程序本身的漏洞,编写利用脚本破解程序拿到主机的权限,这就需要对程序进行分析,了解操作系统的特性和相关漏洞&#xff0…

[PyTorch][chapter 35][Batch Normalize]

前言: Batch Norm 是深度学习里面常用的技术之一,主要作用是 把指定维度参数约束到范围内,有效的解决了梯度弥散 现象 ,有助于加速模型的训练速度。 问题解释 特征缩放 Feature Scaling Batch Normalization Torch API 一 问题解释 如上图,输入范…

《开箱元宇宙》爱心熊通过 The Sandbox 与粉丝建立更紧密的联系

你们有没有想过 The Sandbox 如何融入世界上最具标志性的品牌和名人的战略?在本期《开箱元宇宙》系列中,我们与 Cloudco Entertainment 的数字内容顾问 Derek Roberto 聊天,了解为什么爱心熊决定在 The Sandbox 中试验 web3,以及他…

Grpc 整合 Nacos SpringBoot 日常使用(Java版本)包括 Jwt 认证

前言 最近感到有点子迷茫,天天写业务代码有点麻木,趁着有点空闲时间去了解了下 Grpc 这个框架,一方面是听说他很火,支持多种语言。另一方面也是为了将来可能需要用到他,未雨绸缪一下,当然了本文只是基于使用…

Python数据可视化入门教程

什么是数据可视化? 数据可视化是为了使得数据更高效地反应数据情况,便于让读者更高效阅读,通过数据可视化突出数据背后的规律,以此突出数据中的重要因素,如果使用Python做数据可视化,建议学好如下这四个Pyt…