AN 556: インテルFPGAにおけるデザイン・セキュリティー機能の使用

ID 683269
日付 11/12/2019
Public
ドキュメント目次

JTAGセキュアモードでの検証

28nm FPGAで改ざん防止ビットがイネーブルされていると、非必須のJTAG命令はディスエーブルされます。 KEY_VERIFY を改ざん防止ビットのプログラム中に実行すると、TDI では BYPASS レジスターを指します。このため、KEY_VERIFY 命令を改ざん防止ビットが設定されているときに実行すると、0x0 (hex) が返されます。

デバイス内の改ざん防止プログラムの有無を確認するには、ユーザー定義パターンを KEY_VERIFY 命令実行時にシフトし、受信した TDO パターンに 0 がシフトしていることを確認します。

20nm FPGAでは、KEY_VERIFY 命令をJTAGセキュアモードで実行することができます。20nm FPGAのJTAGセキュアモード中に検証を実行するには、USERCODE 命令の実行時に0x0 (hex) の値が返されることが予想されます。

JTAGセキュアモードでの検証例

0x15A (バイナリーでは1 0101 1010 ) にシフトします。改ざん防止ビットがプログラムされている場合、 KEY_VERIFY=BYPASS なので、0 1011 0100 で最後の 0BYPASS レジスターの内容であると予想してください。