SX-USB4搭載のFPGA(Startix4GX)では、コンフィグデータの暗号化機能が利用できます。
(USBコンフィグの場合)
ここでは、USBコンフィグするときの、FPGAコンフィグデータの暗号化、ボード設定、制御アプリ設定を紹介します。
【FPGAコンフィグデータの作成方法】
Quartus2プロジェクトをコンパイルすると、xxx.sofができます。このsofから暗号化したxxx.rbfを生成します。
Quartus2 ツールバー File→Convert Programming Files...を開きます。
①Programming file typeで Raw Binary File (.rbf) を選択します。
②File nameに、任意の名前を付けます。
③Add File...をクリックして、コンパイル後に生成されたxxx.sofを選択します。
④Input files to convert欄に表示されたsofファイルを選択し、Propertiesボタンをクリックしてください。
以下の画面が表示されます。
Sof File Properties画面で、□Compression (圧縮オプション)、□Genertae encrypted bitstream、□Generate key programming fileをすべてチェックしてください。
□Generate key programming fileにチェックを入れると、暗号化キーファイルの名称を入力できます。実際に生成されるのは、このファイル名に拡張子.ekpがつきます。
次に、Key entry欄で、Key1、Key2それぞれ「Add」ボタンをクリックし、SOF File Properties:画面で暗号キーデータを入力してください。
入力が完了したら、OKボタンをクリックし、最終的に、SOF File Properties画面の「Genertae」ボタンをクリックすると、設定した暗号鍵に基づいたrbfファイルが生成されます。
生成した暗号化データとして、USBコンフィグ時に使用するxxx.rbfが生成され、FPGAにあらかじめ書き込んでおくための鍵ファイルxxx.ekpが生成されます。
【ボード側の設定】
SX-USB2ボードのディップスイッチSW1 ビット2をONにします。
USB Blasterを利用し、xxx.ekpファイルをJTAGによりFPGAに書き込んでおきます。xxx.sofをFPGAに書き込むのと同じ方法です。 このとき、揮発性のメモリに鍵データ(epk)を書くので、ボードが電源を失えば、書き込んだepkデータも消えます。 これを防ぐためには、ボード上のバッテリバックアップ用端子にボタン電池(1.2V~3.3V)を接続してください。
【制御ソフトウエアの設定】
RefApp7.exeは、ver1.0.10以上を利用してください。
SX-USB4のUSBコンフィグ画面では、□Sigma mode?? と□Encrypt??の両方にチェックを入れて、「Configure...」ボタンをクリックしてFPGAコンフィグができます。