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的功能逻辑闭环。

  • 17
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CyberSecurity_zhang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值