TC3xx MTU概述(2)

目录

1.概述

2.如何配置NDT

3.小结


1.概述

上篇TC3xx MTU概述(1)-CSDN博客我们讲解了MTU基本功能和MBIST基本概念,接下来我们继续讲解MTU如何配置NDT算法。

2.如何配置NDT

前面聊了那么多概念,我们还是来看看如何配置MTU来实现NDT。

MTU寄存器分为了两大块,MTU配置寄存器和SSH寄存器。

  • MTU 配置寄存器:用于使能SSH,寄存器位宽32bits;
  • SSH寄存器:用于控制关联SRAM的MBIST和ECC设置等,寄存器位宽16bits。

因此在设计代码时需要重点关注MC的寄存器配置,主要是位宽限制。

经总结,要运行NDT须掌握MTU\SSH中的四个关键寄存器CONFIG0,CONFG1,MCONTROL和RANGE。

  • CONFIG0:用于配置SSH访问类型和每个地址的访问次数
  • CONFIG1:用于选择测试pattern等;
  • MCONTROL:用于控制MBIST开启,测试地址运行方向等;
  • RANGE:用于设置SRAM测试地址范围。

以测试LMU0为例,具体步骤如下:

1.使能LMU0的SSH控制器,配置MTU_MEMTEST0.BIT30。

 2.配置NDT:

由于LMU0属于第31个SSH,因此我们需要配置MC30_CONFIG0\1、RANGE等。

我们要搞清楚mbist不同算法下CONFIG0和1里的位域是有关联的;

CONFIG0位域如下:

  • [7:0]:ACCSTYPE,每一位代表对单个地址的一次访问,0表示写访问、1表示读访问。例如ACCSYYPE[0] = 1,表示对当前单个地址的读访问。
  • [15:12]:NUMACCS,配置每个地址的访问次数,最多8次。

CONFIG1位域如下:

  • AC_MOD:用于SSH执行更复杂的寻址方案
  • SELFASTB:选择fast bits
  • ACCSPAT:访问pattern配置,当AG_MOD选择NDT后,该位域就与CONFIG0.ACCSTYPE关联,当ACCSPAT[0] = 0时表示上一次读访问的正常数据,等于1时表示上次读访问是取反的数据。

 有了上述基本概念,我们尝试来构建一个时间复杂度为4N的NDT逻辑,一个Cell的完整测试逻辑为{ r, w*, r* ,w }。

那么首先CONFIG1.AC_MOD就要配置为0x5,

针对CONFIG0.NUMACCS,就应该为4,表示单个地址访问四次;ACCSTYPE就应该配置为0b0101,表示 w <- r* <- w* <- r;

同理,CONFIG1.ACCSPT就应该配置为0b1000 ,逻辑如下:

第一次读取sram 是正常读取,故ACCSPT[0] = 0;第二次是写访问,写入的是上一次读取的取反,第一次是正常读取,故ACCSPT[1]=0;第三次是读取取反的值,但是由于第一次读取是正常读取,故ACCSPT[2] = 0;最后一个是对取反值取反,并写回SRAM,由于第三次读取的是取反值,故ACCSPT[3] = 1;

故MC30CONFIG0 = 0x4005;MC30CONFIG1 = 0x5008。

完成CONFIG0\1的配置后,接下来需要考虑待测SRAM的地址上下限。

这与我们在Memmap里定义的地址大有不同,毕竟对于特定SSH来说,它只是到自己关联SRAM的相对地址,从0x00开始以64word为单位增长到SRAM最大Size。

因此我们在配置RANGE寄存器时,通常采用每个SSH RANGE的默认值,表示SRAM全量测试,如果需要测某块,就需要大家自己去锁定每个SRAM的size。

最后,我们通过MC_MCONTROL配置MBIST测试方向(高地址->低地址或者相反),并开启测试。

测试如果有问题,我们可以通过寄存器MC_ETRR来查询出错的位置,如下:

3.小结

通过上面简单描述,我们了解了TC3xx的MTU基本功能;同时也明白了MTU应该放在SafetyLib整个维度。

MTU承载的MBIST功能不仅是对功能安全要求的具体硬件机制实现,也是对AUTOSAR中RamTest模块的需求承接。从而我们进一步打通MTU->SMU的功能逻辑闭环。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WireShark对tcp通信数据的抓包

一、抓包准备工作 安装wireshark sudo apt update sudo apt install wireshark 运行 二、WireShark工具面板分析 上图中所显示的信息从上到下分布在 3 个面板中&#xff0c;每个面板包含的信息含义如下&#xff1a; Packet List 面板&#xff1a;显示 Wireshark 捕获到的所…

window golang 升级版本

执行go tidy&#xff0c;发现执行不了&#xff0c;得升级一下版本了 进入官网&#xff0c;并选择合适的系统以及版本。https://go.dev/dl/ 这台电脑是windows&#xff0c;我本人比较喜欢下载zip自己解压。 解压&#xff0c;这里我选择直接覆盖原文件&#xff0c;需要保留原版…

Vue3自定义封装音频播放组件(带拖拽进度条)

Vue3自定义封装音频播放组件&#xff08;带拖拽进度条&#xff09; 描述 该款自定义组件可作为音频、视频播放的进度条&#xff0c;用于控制音频、视频的播放进度、暂停开始、拖拽进度条拓展性极高。 实现效果 具体效果可以根据自定义内容进行位置调整 项目需求 有播放暂停…

Pycharm 执行pytest时,会遇见某些case Empty suite

我这边的情况是有些case就是执行不了&#xff0c;百度了很多&#xff0c;有说设置选pytest的&#xff0c;有命名规范的&#xff0c;都没有成功。后面问了同事之后才发现&#xff0c;pytest 的框架&#xff0c;pytest.ini 执行的时候&#xff0c;加了个标签&#xff0c;主动把某…

天府锋巢直播产业基地构建成都电商直播高地

天府锋巢直播产业基地自成立以来&#xff0c;一直秉承着创新、协同、共赢的发展理念&#xff0c;吸引了众多直播企业纷纷入驻。随着直播产业的迅猛发展&#xff0c;改成都直播基地内的配套服务也显得尤为重要。本文将深入探讨入驻天府锋巢直播产业基地后&#xff0c;配套的直播…

【笔试训练】day23

一、打怪 思路 由于是先手攻击&#xff0c;如果一次攻击就能杀死小怪&#xff0c;那么说明可以为无限杀小怪。 再计算杀一只小怪要扣多少血就好了&#xff0c;再用总生命值去除这个扣血量&#xff0c;得到的就是最多杀死小怪的数量。注意&#xff0c;由于最后一定要活下来&am…

【Linux系统】进程控制

再次理解进程 进程&#xff1a;内核的相关管理数据结构(task_struct(进程控制块PCB)&#xff0c;mm_struct(地址空间)&#xff0c;页表) 代码和数据 那么如何理解进程具有独立性&#xff1f; 我们之前已经学习过进程控制块啊&#xff0c;地址空间啊&#xff0c;页表啊&…

爆爽,英语小白怒刷 50 课!像玩游戏一样学习英语~

重点!!!(先看这) 清楚自己学英语的目的, 先搞清楚目标&#xff0c;再行动自身现在最需要的东西&#xff1a;词汇量&#xff1f;口语&#xff1f;还是阅读能力&#xff1f;找对应的书籍,学习资料往兴趣靠拢&#xff1a;网上有大量的推荐美剧学习、小说学习&#xff0c;不要被他…

数据库调优-连接池优化

先贴下连接池的相关配置&#xff1a; 连接池参数配置&#xff1a; 字段含义Max Number of Connections最大连接数&#xff1b;做性能测试时&#xff0c;可以填 0 。在开发的项目中按实际代码填写&#xff0c;默认是 20 。Max Wait(ms)在连接池中取回连接最大等待时间&#xf…

Optional学习记录

Optional出现的意义 在Java中&#xff0c;我们经常遇到的一种异常情况&#xff1a;空指针异常&#xff0c;在原本的编程中&#xff0c;为了避免这种异常&#xff0c;我们通常会向对象进行判断&#xff0c;然而&#xff0c;过多的判断语句会让我们的代码显得臃肿不堪。 所以在J…

ETL工具kettle(PDI)入门教程,Transform,Mysql->Mysql,Csv->Excel

什么是kettle&#xff0c;kettle的下载&#xff0c;安装和配置&#xff1a;ETL免费工具kettle(PDI)&#xff0c;安装和配置-CSDN博客 mysql安装配置&#xff1a;Linux Centos8 Mysql8.3.0安装_linux安装mysql8.3-CSDN博客 1 mysql -> mysql 1.1 mysql CREATE TABLE user_…

《黑暗之魂》系列迎来打折:魂三标准版半价134,豪华版199

《黑暗之魂》系列游戏降价促销&#xff0c;现在是购买的好时机&#xff01;想必喜欢挑战和探索的玩家们对这个消息会特别感兴趣。让我们来看看具体的折扣信息吧&#xff01; 首先是《黑暗之魂&#xff1a;重制版》&#xff0c;原价198元&#xff0c;现价仅为99元&#xff01;这…

DSP开发实战教程-国产DSP替代进口TI DSP的使用技巧

1.替换CCS安装路径下的Flash.out文件 找到各自CCS的安装路径&#xff1a; D:\ti\ccs1230\ccs\ccs_base\c2000\flashAlgorithms 复制进芯电子国产DSP官网提供的配置文件 下载链接&#xff1a;https://mp.csdn.net/mp_download/manage/download/UpDetailed 2.替换原有文件 3.…

密码学《图解密码技术》 记录学习 第十三章

目录 第十三章 13.1 本章学习的内容 13.2 PGP 简介 13.2.1 什么是 PGP 13.2.2 关于 OpenPGP 13.2.3关于GNU Privacy Guard 13.2.4 PGP 的功能 公钥密码 数字签名 单向散列函数 证书 压缩 文本数据 大文件的拆分和拼合 13.3 生成密钥对 13.4 加密与解密 13.4.1 加密 生成…

电脑显示丢失mfc140u.dll怎么修复,总共有7个方法

mfc140u.dll 是一个动态链接库&#xff08;Dynamic Link Library&#xff09;文件&#xff0c;它是Microsoft Foundation Class (MFC)库的一部分&#xff0c;专为使用C编程语言开发Windows应用程序而设计。MFC库由微软提供&#xff0c;作为一个高级的应用程序框架&#xff0c;旨…

数据分析——业务指标量化

业务指标量化 前言一、统计指标二、统计指标特点完整的统计指标统计指标的理解和使用方法 三、统计指标类型总量指标时期指标时点指标总量指标的作用 相对指标计划完成相对数指标结构相对数指标比例相对数指标比较相对数指标动态相对数指标 平均指标 四、数量指标和质量指标五、…

【JVM】从硬件层面和应用层面的有序性和可见性,到Java的volatile和synchronized

Java的关键字volatile保证了有序性和可见性&#xff0c;这里我试着从底层开始讲一下有序性和可见性。 一&#xff0c;一致性 数据如果同时被两个cpu读取了&#xff0c;如何保证数据的一致性&#xff1f;或者换句话说&#xff0c;cpu1改了数据&#xff0c;cpu2的数据就成了无效…

Final Draft 12 for Mac:高效专业剧本创作软件

对于剧本创作者来说&#xff0c;一款高效、专业的写作工具是不可或缺的。Final Draft 12 for Mac就是这样一款完美的选择。这款专为Mac用户设计的剧本创作软件&#xff0c;凭借其卓越的性能和丰富的功能&#xff0c;让您的剧本创作更加得心应手。 Final Draft 12支持多种剧本格…

QML及VTK配合构建类MVVM模式DEMO

1 创建QT QUICK项目 这次我们不在主程中加载VTK的几何&#xff1b; 在qml建立的控件&#xff0c;创建MyVtkObject类的单例&#xff0c;main中将指针和单例挂钩&#xff1b; 在MyVtkObject实例中操作 QQuickVTKRenderItem 类即可&#xff1b; 由于VTK的opengl显示是状态机&a…

Bpmn.js使用(仅查看版)

Bpmn.js使用&#xff08;仅查看版&#xff09; 下载 npm install bpmn-js创建一个 Dom 节点来挂载画布元素。 <a-tabs v-model:activeKey"activeKey" change"tabsChange"><a-tab-pane key"1" tab"审批记录"><a-tabl…