JAJAA48 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 と HWAXFER 演算を並列実行します。
  3. C マトリクス バンクへの短時間かつ頻繁な読み取りおよび書き込みにより、エラーが発生します。
  4. HWARCV 命令が実行され、エラーが観測されます。
void c_read_error(void)
{
    int switch_period=0;
    int repeat_op_count = 0;
    for( ;switch_period<5;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<5;repeat_op_count++)
        {
        __asm(" HWAOP.S1 SA0");
        __asm(" ||HWAXFER .L1 CMAT"); 
        __HWAADV();
        __HWAADV();
        __HWAADV();
        __HWAADV();
        }    
    }
  __HWARCV(0); //calls the error
  __asm(" NOP");
__asm(" NOP");
}