• No : 17402
  • 公開日時 : 2025/02/17 11:35
  • 印刷

【NXP:DN】 LS1026A/LS1046A Random-number generator (RNG)のエラービットをセットする方法について

LS1046AのRandom-number generator(RNG)の機能でエラーを発生させて、LS1046Aの動作テストを実施する方法はありますか。
カテゴリー : 

回答

LS1046AのSECに含まれるRNGにおいて、セキュリティ上の理由によりテストするために設定する方法はありません。
しかし、QorIQ LS1046A Security (SEC) Reference Manualに記載の「RNG TRNG Miscellaneous Control Register (RTMCTL)」の「PRGM」フィールドにて通常動作の「Run Mode」からデモ動作として「Program Mode」に設定した後に、以下の方法でRTMCTLの「ERR」フィールドに「1」をセットして、その後にクリアすることはできます。
 
手順を以下に記します。
1. 
write RTMCTL[ERR]=1 when TRNG is in program mode. 
Example commands in u-boot.
=> md 1700600 1
01700600: 01200000
=> mw 1700600 21000100
=> md 1700600 1
01700600: 21200100
 
2. 
TRNG error manually for test.
"RNG TRNG Statistical Check Monobit Limit Register RTSCML" with invalid value, run, and clear.
// set in program mode
=> mw 1700600 21000100
=> md 1700600 1
01700600: 21200100
// set RTSCML
=> md 1700620 1
01700620: 68050c01
=> mw 1700620 68050000
=> md 1700620 1
01700620: 68050000
// clear and run
=> mw 1700600 21100000
// read RTMCTL, you can see ERR=1
=> md 1700600 1
01700600: 21320000
 
// clear RTMCTL[ERR]
// clear error in program mode
=> mw 1700600 21100100
=> md 1700600 1
01700600: 21220100