ZHCAFU0 October   2025 TDA4VM

 

  1.   1
  2.   摘要
  3.   商标
  4. 1简介
  5. 2指令
    1. 2.1 范围
    2. 2.2 HWA 指令定义
    3. 2.3 故障注入程序
      1. 2.3.1 方框图
      2. 2.3.2 故障注入:步骤
        1. 2.3.2.1 下溢错误
        2. 2.3.2.2 溢出错误
        3. 2.3.2.3 偏移奇偶校验错误
        4. 2.3.2.4 配置奇偶校验错误
          1. 2.3.2.4.1 FSM 配置奇偶校验错误
          2. 2.3.2.4.2 B FSM 配置奇偶校验错误
          3. 2.3.2.4.3 C FSM 配置奇偶校验错误
          4. 2.3.2.4.4 X FSM 配置奇偶校验错误
        5. 2.3.2.5 C 读取错误
        6. 2.3.2.6 C 写入错误
  6. 3流程图
    1. 3.1 代码更改
      1. 3.1.1 返回挂钩定义
      2. 3.1.2 清除 MMA 函数
      3. 3.1.3 序列测试
  7. 4总结
  8. 5参考资料

C 写入错误

当对同一 C 矩阵组同时进行多个写入访问时,会发生 C 写入错误,从而导致冲突。使用以下步骤注入此错误:
  1. HWAOPEN 指令用于通过将操作配置为 MULPLUS,写入 HWA_CONFIG 和 HWA_OFFSET。
  2. 并行执行 HWAOP 及 HWALDC 操作。
  3. 对 C 矩阵组进行短暂而频繁的读取和写入会触发错误。
  4. 执行 HWARCV 指令以观察错误。
void c_write_error(void)
{
   int switch_period=0; 
    int repeat_op_count = 0;
    for( ;switch_period<2;switch_period++)
    {
        __HWA_CONFIG_REG_v1 config_reg = __gen_HWA_CONFIG_REG_v1();
        config_reg.C_OPERATION0 = __MMA_C_CONFIG_MULPLUS;
        config_reg.C_OPERATION1 = __MMA_C_CONFIG_MULPLUS;
        config_reg.C_CRSWPER = switch_period; //different switching period
        config_reg.C_CWSWPER  = switch_period+10000;
        __HWA_OFFSET_REG offset_reg;
        offset_reg = __gen_HWA_OFFSET_REG(); //This generates the offset register.  
        __HWAOPEN(config_reg,offset_reg,__MMA_OPEN_FSM_RESET); //This opens theHWAOPEN
        repeat_op_count = 0;
        for(;repeat_op_count<10;repeat_op_count++)
        {
        __asm(" HWALDC .L2 VB0"); //Earlier SE0++
        __asm(" ||HWAOP.S1 SA0"); //This should run them in parallel
        __HWAADV();
        __HWAADV();
        __HWAADV();
        __HWAADV();
        } 
    }
    __HWARCV(0);  //Calls the error
    __asm(" NOP");
    __asm(" NOP");
}