ArmFrogs-ALICE / FPGA Sample Project Manual...
Transcript of ArmFrogs-ALICE / FPGA Sample Project Manual...
ArmFrogs-ALICE / FPGA Sample Project Manual -AES-
MN080028-01
製品名称: ArmFrogs-ALICE (SCA, A4/A6)
製品型番: BS080007-000010-00 / BS080007-000011-00
全 14 枚 (本シート含む) ( 添付資料 : 有 無 )
MN080028-01
i
ArmFrogs-ALICE / FPGA Sample Project Manual -AES-
目次
1. 適用 ................................................................................................................. 1
1.1. 製品バリエーション ...................................................................................................................... 1
2. 用語集 .............................................................................................................. 1
3. 関連図書 ........................................................................................................... 1
4. 禁止事項 ........................................................................................................... 1
5. 注意事項 ........................................................................................................... 1
6. SoC ................................................................................................................. 2
6.1. STD-A4/SCA-A4 .................................................................................................................... 2
6.2. STD-A6/SCA-A6 .................................................................................................................... 2
7. 開発環境 ........................................................................................................... 3
7.1. 開発ツール .............................................................................................................................. 3
7.2. FPGA コンフィギュレーションデータ ..................................................................................................... 3
8. ハードウェア .......................................................................................................... 4
9. FPGA 構成 ......................................................................................................... 5
9.1. FPGA ブロック図 ........................................................................................................................ 5
9.2. ソースファイル ............................................................................................................................ 5
9.3. IO ピン .................................................................................................................................. 6
9.4. クロック ................................................................................................................................... 6
9.5. リセット ................................................................................................................................... 6
9.6. LED ..................................................................................................................................... 7
9.7. 汎用 IO ................................................................................................................................. 7
9.8. 汎用スイッチ ............................................................................................................................. 7
9.9. 拡張コネクタ ............................................................................................................................ 7
10. AES 暗号機能 ..................................................................................................... 8
10.1. AES 暗号化機能 ...................................................................................................................... 8
10.2. モード .................................................................................................................................... 8
10.3. AES 復号化機能 ...................................................................................................................... 8
10.4. 暗号化動作中表示 LED ............................................................................................................. 8
10.5. 暗号化実行中信号出力 .............................................................................................................. 9
10.6. 暗号化実行周期設定機能 ........................................................................................................... 9
10.7. 暗号機能の使用方法 ................................................................................................................. 10
11. メモリマップ ........................................................................................................... 11
MN080028-01
ii
ArmFrogs-ALICE / FPGA Sample Project Manual -AES-
12. レジスタ .............................................................................................................. 11
12.1. FPGA Information Register-(0x00) ......................................................................................... 12
12.2. HW Control Register-(0x04).................................................................................................. 13
12.3. External Signals Control Register 1-(0x08) ............................................................................. 14
12.4. External Signals Control Register 2-(0x0C) ............................................................................. 15
12.5. Encryption Setting Register-(0x10) ........................................................................................ 16
12.6. Encryption Control Register-(0x14) ........................................................................................ 16
12.7. Reserved-(0x18) ................................................................................................................. 16
12.8. Reserved-(0x1C) ................................................................................................................. 16
12.9. Text Set Register 1-(0x20).................................................................................................... 17
12.10. Text Set Register 2-(0x24).................................................................................................... 17
12.11. Text Set Register 3-(0x28).................................................................................................... 17
12.12. Text Set Register 4-(0x2C) ................................................................................................... 17
12.13. Encryption Key Register 1-(0x30) .......................................................................................... 18
12.14. Encryption Key Register 2-(0x34) .......................................................................................... 18
12.15. Encryption Key Register 3-(0x38) .......................................................................................... 18
12.16. Encryption Key Register 4-(0x3C) .......................................................................................... 18
12.17. Encrypt Data Register 1-(0x40) ............................................................................................. 19
12.18. Encrypt Data Register 2-(0x44) ............................................................................................. 19
12.19. Encrypt Data Register 3-(0x48) ............................................................................................. 19
12.20. Encrypt Data Register 4-(0x4C) ............................................................................................ 19
13. FPGA データ生成方法............................................................................................. 20
13.1. rbf ファイルの生成方法 ................................................................................................................ 20
14. 使用手順 ........................................................................................................... 23
14.1. 接続 ..................................................................................................................................... 23
14.2. シリアルコンソール ....................................................................................................................... 24
14.2.1. ドライバのインストール .............................................................................................................. 24
14.2.2. ターミナルプログラムの設定 ........................................................................................................ 24
14.3. 起動とログイン .......................................................................................................................... 24
14.4. ネットワーク接続 ........................................................................................................................ 25
14.4.1. IP アドレス設定 .................................................................................................................... 25
14.4.2. 共有フォルダへのアクセス .......................................................................................................... 26
14.4.3. リモートログイン ..................................................................................................................... 27
14.5. 電源 OFF ............................................................................................................................... 28
15. アプリケーション開発 ................................................................................................ 29
15.1. ソフトウェア開発 ......................................................................................................................... 29
15.1.1. サンプルプログラムのコンパイル..................................................................................................... 29
15.1.2. ソースコードの編集................................................................................................................. 29
15.2. FPGA コンフィギュレーションデータの書き換え ......................................................................................... 29
15.3. デバッグ .................................................................................................................................. 30
MN080028-01
iii
ArmFrogs-ALICE / FPGA Sample Project Manual -AES-
16. Appendix .......................................................................................................... 31
16.1. SD カードから起動できなくなった場合................................................................................................. 31
16.2. 共有フォルダへのアクセスができない場合 .............................................................................................. 35
16.2.1. ネットワークエラーダイアログが表示される場合 ................................................................................... 35
16.2.2. 資格情報の入力後にエラーが発生する場合 .................................................................................... 35
17. 変更履歴 ........................................................................................................... 36
MN080028-01
1
ArmFrogs-ALICE / FPGA Sample Project Manual -AES-
1. 適用
本書は、GopherTec 社製 FPGA ボード ArmFrogs-ALICE 用 FPGA サンプルプロジェクト(DP080034/DP080036)のマニュアルです。
ArmFrogs-ALICE には、搭載する部品が異なるバリエーションがあります。
1.1. 製品バリエーション
表 1-1 に ArmFrogs-ALICE の製品バリエーションを示します。製品バリエーションは製品番号ラベルに記載しており、以降、バリエーションを
表す場合は表 1-1 の略称を使用します。本マニュアル記載のサンプルプロジェクトは SCA 研究用としての使用を考慮した AES 暗号化機能を
搭載した FPGA サンプルプロジェクトですが、いずれのバリエーションでも動作可能です。但し、搭載される FPGA に合致したプロジェクトを使用す
る必要があります。
表 1-1:製品バリエーション
略称 製品番号 用途 搭載 FPGA
STD-A4 BS080007-000000-00 標準品 5CSEBA4U19C8SLN
STD-A6 BS080007-000001-00 標準品 5CSEBA6U19C8N
SCA-A4 BS080007-000010-00 SCA 研究用 5CSEBA4U19C8SLN
SCA-A6 BS080007-000011-00 SCA 研究用 5CSEBA6U19C8N
2. 用語集
本書で使用される用語について、表 2-1 にて説明します。
表 2-1:用語集
用語 説明
SCA Side Channel Attack (サイドチャネル攻撃)
SoC Cyclone V SoC
HPS Hard Processor System (Cyclone V SoC 内の ARM ベースプロセッサ部)
FPGA Field Programming Gate Array (Cyclone V SoC 内の FPGA 部)
0xXX 16 進数表現
0bXX 2 進数表現
3. 関連図書
関連図書を表 3-1 に記載します。
表 3-1:関連図書
図書番号 図書名
MN080014-00 ArmFrogs-ALICE Hardware Manual
DP080034-00 ArmFrogs-ALICE(SCA-A4) Simple AES FPGA Project
DP080036-00 ArmFrogs-ALICE(SCA-A6) Simple AES FPGA Project
4. 禁止事項
ArmFrogs-ALICE 用としてサンプルプロジェクトはボードの購入者に限りご使用下さい。ゴフェルテックの承認なく、ゴフェルテックから提供するデ
ータ類を第三者へ公開・提供することは出来ません。
5. 注意事項
本 FPGA プロジェクトは ArmFrogs-ALICE のサンプルとしての用途であり、動作を保証するものではありません。また、本サンプルの内容は予
告なく変更する場合があります。
MN080028-01
2
ArmFrogs-ALICE / FPGA Sample Project Manual -AES-
6. SoC
搭載している SoC の主な仕様を以下に示します。詳細はメーカのデータシート等を参照して下さい。FPGA サンプルプロジェクトは基板に搭載
されている SoC 用を使用して下さい。
6.1. STD-A4/SCA-A4
表 6-1:STD-A4/SCA-A4 搭載 SoC 仕様
項目 内容 備考
メーカ Intel Corporation
シリーズ Cyclone V SoC SE シリーズ
型式 5CSEBA4U19C8SLN
CPU コア Cortex-A9, Single core
Logic Elements 40K
ALMs 15,880
Registers 60,376
M10K memory 2,700 kbit
MLAB memory 231 kbit
Variable-precision DSP blocks 84
18 x 18 multipliers 168
Package U484
Speed Grade 8 Slowest
Operation Temperature Commercial Tj=0 to 85
6.2. STD-A6/SCA-A6
表 6-2:STD-A6/SCA-A6 搭載 SoC 仕様
項目 内容 備考
メーカ Intel Corporation
シリーズ Cyclone V SoC SE シリーズ
型式 5CSEBA6U19C8N
CPU コア Cortex-A9, Dual core
Logic Elements 110K
ALMs 41,910
Registers 166,036
M10K memory 5,570 kbit
MLAB memory 621 kbit
Variable-precision DSP blocks 112
18 x 18 multipliers 224
Package U484
Speed Grade 8 Slowest
Operation Temperature Commercial Tj=0 to 85
MN080028-01
3
ArmFrogs-ALICE / FPGA Sample Project Manual -AES-
7. 開発環境
7.1. 開発ツール
FPGA 開発環境を表 7-1 に示します。記載しているバージョンはサンプルプロジェクト作成時のものであり、デバイスが対応していれば他のバー
ジョンも使用可能です。但し、操作内容などが本書に記載している内容と異なる場合があります。
表 7-1:FPGA 開発環境
項目 設定 備考
ツール名 Quartus Prime Lite Edition 無償バージョン
メーカ Intel Corporation 旧 Altera
バージョン Version 18.1.0 Build 625 09/12/2018 SJ Lite Edition
OS Windows 10
Quartus Prime Lite Edition は無償で使用出来る Intel 社の開発ツール(一部、機能制限があります)であり、Intel 社の Web サイトか
らダウンロードしてインストールします。ダウンロードやインストールの詳細は Intel 社の Web サイトを参照下さい。
製品に付属しているサンプルプロジェクトを使用するためには、Sample FPGA Project フォルダ内にあるフォルダ(DP080036-…)を使用する
パソコンにコピーします。Quartus Prime を起動し、File-Open Project...でコピーしたフォルダ内にある ArmFrogs-ALICE.qpf を選択して
開くとサンプルプロジェクトを開くことが出来ます。図 7-1 に Quartus Prime でサンプルプロジェクトを開いた画面を示します。
図 7-1:サンプルプロジェクト
7.2. FPGA コンフィギュレーションデータ
FPGA のコンフィギュレーションは HPS によるコンフィギュレーションのみに対応しており、FPGA コンフィギュレーションファイル(*.rbf)は microSD
カード内に保存して使用します。コンフィギュレーションデータの生成方法は 13 章を参照して下さい。
MN080028-01
4
ArmFrogs-ALICE / FPGA Sample Project Manual -AES-
8. ハードウェア
ArmFrogs-ALICE のハードウェア機能ブロックを図 8-1 に示します。各部の詳細については、ArmFrogs-ALICE のハードウェアマニュアルを
参照して下さい。
図 8-1:ハードウェア機能ブロック図
USB HPS
32bit
JTAG JTAG
FPGA
Ethernet PHY
RGMII
UART
Ethernet RJ-45
USB2.0 (Device)
MicroSD SD/SDIO
LED
Pin Header
Pin Header
GPIO (4 bit)
DC Jack (DC5V)
RESET
Power Regulator
I2C
UART/USB
DDR3 (1 GByte)
EEPROM (128 kbit)
GPIO (4 bit)
LED 4 bit
Switch 4 bit
GPIO (4 bit)
Clock
(25 MHz)
RESET BUTTON
Clock (25 MHz)
GPIO (20 bit)
DIFF-GPIO (12 pair)
Power
Switch Internal Powers
External Connector
Power (I/O)
External
Connector
Power (I/O)
Reset
MN080028-01
5
ArmFrogs-ALICE / FPGA Sample Project Manual -AES-
9. FPGA 構成
9.1. FPGA ブロック図
FPGA の機能ブロックを図 9-1 に示します。HPS と FPGA はレジスタでのみ接続されており、設定や指示、結果の取得等は全てレジスタを経
由して行います。
図 9-1:FPGA 機能ブロック図
9.2. ソースファイル
Verilog-HDL で記述したソースファイルはプロジェクトフォルダ以下にある「src」フォルダ内に保存しています。表 9-1 にソースファイルの概要を
示します。
表 9-1:HDL ソースファイル一覧
ファイル名 機能
top.v 最上位
registers.v HPS から操作されるレジスタ
enc_ctrl.v 暗号機能の最上位
aes_key_expansion.v ラウンドキー生成機能
aes_subbyte_32b.v 32 bit 入力 SubBytes 処理
key_sbox_table.v Key Expansion 用 Sbox 変換テーブル
aes_enc.v AES 暗号機能のトップファイル
aes_mixcol.v MixColumn 処理
aes_mixcol_body.v MixColumn 処理本体
aes_subbyte_128b.v 128 bit 入力 SubBytes 処理(テーブルを使用)
aes_sbox_table.v AES 暗号用 Sbox 変換テーブル
HPS
Cyclone V SoC
AXI
registers
encode controller
Clock (50MHz)
key expansion
subbyte
Reset
aes encoder
mix columns
alice_qsys
Switch LED GPO
MN080028-01
6
ArmFrogs-ALICE / FPGA Sample Project Manual -AES-
9.3. IO ピン
FPGA の IO 接続ピンや I/O Standard はサンプルプロジェクトの制約ファイル(ArmFrogs-ALICE.qsf)等を参照して下さい。
9.4. クロック
FPGA 内のクロックは HPS 部で生成した 50MHz クロックを使用しています。
9.5. リセット
FPGA 内のリセットは HPS 部で生成したリセットを使用しています。このリセットは 50MHz クロックに同期したリセットです。
MN080028-01
7
ArmFrogs-ALICE / FPGA Sample Project Manual -AES-
9.6. LED
FPGA によって制御される LED(LED5~LED8)は表 9-2 の機能を組み込んでいます。
表 9-2:LED
LED 機能名 詳細
FPGA1 (LED5) FPGA 動作中 FPGA のリセットが解除され、動作中に 2 回点滅を繰り返し
FPGA2 (LED6) 暗号化実行中 暗号化実行中に点灯
FPGA3 (LED7) レジスタ制御 レジスタ操作によって点灯/消灯が可能
FPGA4 (LED8) レジスタ制御 レジスタ操作によって点灯/消灯が可能
9.7. 汎用 IO
FPGA によって制御される汎用 IO(JP3)は表 9-3 の機能を組み込んでいます。暗号化実行中信号出力詳細は 10.5 章を参照して下さ
い。
表 9-3:汎用 IO
JP3 機能名 詳細
JP3-1 ピン 暗号化実行中
JP3-2 ピン レジスタ制御 レジスタ操作によって H/L 出力が可能
JP3-3 ピン レジスタ制御 レジスタ操作によって H/L 出力が可能
JP3-4 ピン レジスタ制御 レジスタ操作によって H/L 出力が可能
JP3-5 ピン GND -
JP3-6 ピン GND -
9.8. 汎用スイッチ
FPGA に接続されている汎用スイッチ(SW1)は表 9-4 の機能を組み込んでいます。
表 9-4:汎用スイッチ
SW1 機能名 詳細
SW1-1 レジスタ制御 レジスタで ON/OFF を読み取り可能
SW1-2 レジスタ制御 レジスタで ON/OFF を読み取り可能
SW1-3 レジスタ制御 レジスタで ON/OFF を読み取り可能
SW1-4 レジスタ制御 レジスタで ON/OFF を読み取り可能
9.9. 拡張コネクタ
拡張コネクタへは FPGA 信号が直接接続され、レジスタ操作によって出力を操作することが可能です。
MN080028-01
8
ArmFrogs-ALICE / FPGA Sample Project Manual -AES-
10. AES 暗号機能
ArmFrogs-ALICE はサイドチャネル攻撃研究用として設計されたボードです。サンプルプロジェクトでは、シンプルな AES 暗号化機能を実装
しています。
10.1. AES 暗号化機能
AES は 128 ビットのみに対応し、SubBytes 処理はテーブルを使用しています。
10.2. モード
Key は FPGA 内部のレジスタに設定することが出来、モードは ECB のみに対応しています。ECB モードであるため、Key Expansion は Key
設定時にのみ動作し、暗号化中には動作しません。
10.3. AES 復号化機能
復号化機能は搭載していません。
10.4. 暗号化動作中表示 LED
暗号化実行中は基板上にある LED6 が点灯します。
図 10-1:LED6(暗号化実行中)
LED6
(暗号化実行中に点灯)
MN080028-01
9
ArmFrogs-ALICE / FPGA Sample Project Manual -AES-
10.5. 暗号化実行中信号出力
オシロスコープ等を使用して波形を観測する際のトリガ用信号として、暗号化実行中を示す信号を汎用 IO ピンへ出力しています。
図 10-2:トリガ用信号測定ポイント
暗号化実行中信号は暗号化実行中に Low となる信号です。
図 10-3:暗号化実行中信号
10.6. 暗号化実行周期設定機能
本 FPGA では、暗号化を実行すると停止するまで連続で暗号化を行います。連続して実行する際の暗号化の周期はレジスタで設定すること
が出来ます。
図 10-4:暗号化周期
暗号化周期は Encryption Setting Register(12.5 章)で設定します。レジスタ設定値×20 ns の周期で暗号化を実行します。周期設
定は暗号化を実行していない状態で行って下さい。また、600 ns 以下に設定した場合は正常に動作しない可能性があります。
暗号化実行中
暗号化処理
ラウンド処理 最終処理
JP3-1 (暗号化実行中=Low)
JP3-5,6 (GND)
暗号化実行中信号
暗号化周期
MN080028-01
10
ArmFrogs-ALICE / FPGA Sample Project Manual -AES-
10.7. 暗号機能の使用方法
暗号機能の基本的な使用方法を図 10-5に示します。工場出荷時のmicroSDカードにある「sample.c」も併せて参考にして下さい。尚、
暗号化したデータは Encrypt Data Register で読み取ることが出来ます。
図 10-5:暗号機能の使用方法
暗号化周期設定?
開始
Encryption Setting Register 設定
Key 設定?
Encryption Key Register 設定
Encryption Control Register
KSET に 1 を書き込み
Encryption Control Register 読取
KSET=1? Y
N
Text 設定?
Text Set Register 設定
暗号化開始?
Encryption Control Register
ACT に 1 を書き込み
暗号化終了?
Encryption Control Register ACT に 0 を書き込み
終了
Y
N
Y
Y
Y
N
N
N
Y
N
MN080028-01
11
ArmFrogs-ALICE / FPGA Sample Project Manual -AES-
11. メモリマップ
HPS から見た FPGA slaves のアドレスマップを表 11-1 に示します。HPS から見た FPGA レジスタのベースアドレスは 0xC000_0000 で
す。サンプルプロジェクトでのレジスタはアドレスの下位 7 ビットのみをデコードしているため、FPGA slaves 領域は全てレジスタ(128 Byte)のエイ
リアスになります。
表 11-1:HPS to FPGA メモリマップ
Base Address Area Target Memo
0xC000_0000 960 MByte レジスタ FPGA slaves
12. レジスタ
本書内で記述するレジスタアクセス記号の定義を表 12-1 に示します。
表 12-1:レジスタアクセス記号定義
記号 定義
× 未使用
R/W リードライト可能
R リードのみ可能
W ライトのみ可能
R/W1C リード可能且つ、1 を書込むことにより 0 クリア
レジスタの一覧を表 12-2 に示します。FPGA slaves 領域内は以下のエイリアスとなります。
表 12-2:レジスタ一覧
オフセット レジスタ 参照 ページ
0x00 FPGA Information Register 12.1 12
0x04 HW Control Register 12.2 13
0x08 External Signals Control Register 1 12.3 14
0x0C External Signals Control Register 2 12.4 15
0x10 Encryption Setting Register 12.5 16
0x14 Encryption Control Register 12.6 16
0x18 Reserved 12.7 16
0x1C Reserved 12.8 16
0x20 Text Set Register 1 12.9 17
0x24 Text Set Register 2 12.10 17
0x28 Text Set Register 3 12.11 17
0x2C Text Set Register 4 12.12 17
0x30 Encryption Key Register 1 12.13 18
0x34 Encryption Key Register 2 12.14 18
0x38 Encryption Key Register 3 12.15 18
0x3C Encryption Key Register 4 12.16 18
0x40 Encrypt Data Register 1 12.17 19
0x44 Encrypt Data Register 2 12.18 19
0x48 Encrypt Data Register 3 12.19 19
0x4C Encrypt Data Register 4 12.20 19
: Reserved - -
0x7C Reserved - -
MN080028-01
12
ArmFrogs-ALICE / FPGA Sample Project Manual -AES-
12.1. FPGA Information Register-(0x00)
0x00
31-24 DEV[07-00]
23-16 FUN[07-00]
15-8 REV[15-08]
7-0 REV[07-00]
Bit(s) Name Description Access 初期値
31-24 DEV
Target FPGA Device 搭載可能な FPGA バリエーション
0x02 : STD-A6/SCA-A6 0x01 : STD-A4/SCA-A4
R ←
23-16 FUN
FPGA Sample Function
サンプルプロジェクト機能 0x03 : Reserved 0x02 : Simple AES
0x01 : Standard
R 0x02
15-0 REV
FPGA Revision
FPGA レビジョン 0x0001 : 初期リリース版
R ←
MN080028-01
13
ArmFrogs-ALICE / FPGA Sample Project Manual -AES-
12.2. HW Control Register-(0x04)
0x04
31-24 × × × × × × × ×
23-16 × × × × SW1-4 SW1-3 SW1-2 SW1-1
15-8 × × × × JP3-4 JP3-3 JP3-2 JP3-1
7-0 × × × × LED8 LED7 LED6 LED5
Bit(s) Name Description Access 初期値
31-12 Reserved Reserved × 0
19 SW1-4 SW1-4
1 : ON 0 : OFF
R -
18 SW1-3 SW1-3
1 : ON
0 : OFF
R -
17 SW1-2 SW1-2
1 : ON
0 : OFF
R -
16 SW1-1
SW1-1
1 : ON 0 : OFF
R -
15-12 Reserved Reserved × 0
11 JP3-4 JP3-4
1 : High
0 : Low
R/W 0
10 JP3-3
JP3-3
1 : High 0 : Low
R/W 0
9 JP3-2
JP3-2
1 : High 0 : Low
R/W 0
8 JP3-1
JP3-1 暗号化実行中(ラウンド実行中)に Low
1 : High
0 : Low
R 1
7-4 Reserved Reserved × 0
3 LED8 LED8 (FPGA4)
1 : 点灯
0 : 消灯
R/W 1
2 LED7 LED7 (FPGA3)
1 : 点灯
0 : 消灯
R/W 1
1 LED6
LED6 (FPGA2)
暗号化実行中に点灯 1 : 点灯 0 : 消灯
R 0
0 LED5
LED5 (FPGA1) FPGA 動作中に点滅
1 : 点灯
0 : 消灯
R -
MN080028-01
14
ArmFrogs-ALICE / FPGA Sample Project Manual -AES-
12.3. External Signals Control Register 1-(0x08)
0x08
31-24 × × × × × × × ×
23-16 × × × × SE20 SE19 SE18 SE17
15-8 SE16 SE15 SE14 SE13 SE12 SE11 SE10 SE09
7-0 SE08 SE07 SE06 SE05 SE04 SE03 SE02 SE01
Bit(s) Name Description Access 初期値
31-20 Reserved Reserved × 0
19 SE20
JP5-B12 シングルエンド信号用として設けている JP5 の信号を制御します。
1 : HIGH
0 : LOW
R/W 1
18 SE19 JP5-B11 R/W 1
17 SE18 JP5-B10 R/W 1
16 SE17 JP5-B9 R/W 1
15 SE16 JP5-B8 R/W 1
14 SE15 JP5-B7 R/W 1
13 SE14 JP5-B6 R/W 1
12 SE13 JP5-B5 R/W 1
11 SE12 JP5-B4 R/W 1
10 SE11 JP5-B3 R/W 1
9 SE10 JP5-A12 R/W 1
8 SE09 JP5-A11 R/W 1
7 SE08 JP5-A10 R/W 1
6 SE07 JP5-A9 R/W 1
5 SE06 JP5-A8 R/W 1
4 SE05 JP5-A7 R/W 1
3 SE04 JP5-A6 R/W 1
2 SE03 JP5-A5 R/W 1
1 SE02 JP5-A4 R/W 1
0 SE01 JP5-A3 R/W 1
MN080028-01
15
ArmFrogs-ALICE / FPGA Sample Project Manual -AES-
12.4. External Signals Control Register 2-(0x0C)
0x0C
31-24 × × DRX6N DRX5N DRX4N DRX3N DRX2N DRX1N
23-16 × × DRX6P DRX5P DRX4P DRX3P DRX2P DRX1P
15-8 × × DTX6N DTX5N DTX4N DTX3N DTX2N DTX1N
7-0 × × DTX6P DTX5P DTX4P DTX3P DTX2P DTX1P
Bit(s) Name Description Access 初期値
31-30 Reserved Reserved × 0
29 DRX6N
JP4-B22 差動信号用として設けている JP4 の信号を制御します。JP4 への配線は差動信号用としてますが、本サンプルではシングルエンドの出力信号として使用します。
1 : HIGH 0 : LOW
R/W 1
28 DRX5N JP4-B21 R/W 1
27 DRX4N JP4-B19 R/W 1
26 DRX3N JP4-B18 R/W 1
25 DRX2N JP4-B16 R/W 1
24 DRX1N JP4-B15 R/W 1
23-22 Reserved Reserved × 0
21 DRX6P JP4-A22 R/W 1
20 DRX5P JP4-A21 R/W 1
19 DRX4P JP4-A19 R/W 1
18 DRX3P JP4-A18 R/W 1
17 DRX2P JP4-A16 R/W 1
16 DRX1P JP4-A15 R/W 1
15-14 Reserved Reserved × 0
13 DTX6N JP4-B13 R/W 1
12 DTX5N JP4-B12 R/W 1
11 DTX4N JP4-B10 R/W 1
10 DTX3N JP4-B9 R/W 1
9 DTX2N JP4-B7 R/W 1
8 DTX1N JP4-B6 R/W 1
7-6 Reserved Reserved × 0
5 DTX6P JP4-A13 R/W 1
4 DTX5P JP4-A12 R/W 1
3 DTX4P JP4-A10 R/W 1
2 DTX3P JP4-A9 R/W 1
1 DTX2P JP4-A7 R/W 1
0 DTX1P JP4-A6 R/W 1
MN080028-01
16
ArmFrogs-ALICE / FPGA Sample Project Manual -AES-
12.5. Encryption Setting Register-(0x10)
0x10
31-24 × × × × × × × ×
23-16 × × × × × × × ×
15-8 × × × × × × × ×
7-0 CYC[7-0]
Bit(s) Name Description Access 初期値
31-8 Reserved Reserved × 0
7-0 CYC Encryption Cycle
暗号処理の周期を設定します。暗号化実行中は変更しないで下さい。また、1 回の暗号化実行時間以下に設定した場合には正常に動作しない可能性があります。
R/W 0x20
(640ns)
12.6. Encryption Control Register-(0x14)
0x14
31-24 × × × × × × × ×
23-16 × × × × × × × ×
15-8 × × × × × × × ×
7-0 × × × × × × KSET ACT
Bit(s) Name Description Access 初期値
31-2 Reserved Reserved × 0
1 KSET
Encryption Key Set 1 を書き込むことでラウンドキーを生成します。そのため、設定した Key を適用するた
めには、本ビットに 1 を書き込む必要があります。 ラウンドキー生成中は 1 が読み取られるので、本ビットに 1 を書き込み後、0 になるのを確認してから暗号化を開始して下さい。
R/W 0
0 ACT Encryption Active
1 を書き込むことで暗号化を開始し、0 に設定されるまで連続して暗号化を行いま
す。
R/W 0
12.7. Reserved-(0x18)
本アドレスは Reserved です。
12.8. Reserved-(0x1C)
本アドレスは Reserved です。
MN080028-01
17
ArmFrogs-ALICE / FPGA Sample Project Manual -AES-
12.9. Text Set Register 1-(0x20)
0x20
31-24 TEXT[031-024]
23-16 TEXT[023-016]
15-8 TEXT[015-008]
7-0 TEXT[007-000]
Bit(s) Name Description Access 初期値
31-0 TEXT TEXT 1
平文設定 1 R/W 0
12.10. Text Set Register 2-(0x24)
0x24
31-24 TEXT[063-056]
23-16 TEXT[055-048]
15-8 TEXT[047-040]
7-0 TEXT[039-032]
Bit(s) Name Description Access 初期値
31-0 TEXT TEXT 2
平文設定 2 R/W 0
12.11. Text Set Register 3-(0x28)
0x28
31-24 TEXT[095-088]
23-16 TEXT[087-080]
15-8 TEXT[079-072]
7-0 TEXT[071-064]
Bit(s) Name Description Access 初期値
31-0 TEXT TEXT 3
平文設定 3 R/W 0
12.12. Text Set Register 4-(0x2C)
0x2C
31-24 TEXT[127-120]
23-16 TEXT[119-112]
15-8 TEXT[111-104]
7-0 TEXT[103-096]
Bit(s) Name Description Access 初期値
31-0 TEXT TEXT 4
平文設定 4 R/W 0
MN080028-01
18
ArmFrogs-ALICE / FPGA Sample Project Manual -AES-
12.13. Encryption Key Register 1-(0x30)
0x30
31-24 KEY[031-024]
23-16 KEY[023-016]
15-8 KEY[015-008]
7-0 KEY[007-000]
Bit(s) Name Description Access 初期値
31-0 KEY Encryption Key 1
Key 設定 1 R/W 0
12.14. Encryption Key Register 2-(0x34)
0x34
31-24 KEY[063-056]
23-16 KEY[055-048]
15-8 KEY[047-040]
7-0 KEY[039-032]
Bit(s) Name Description Access 初期値
31-0 KEY Encryption Key 2
Key 設定 2 R/W 0
12.15. Encryption Key Register 3-(0x38)
0x38
31-24 KEY[095-088]
23-16 KEY[087-080]
15-8 KEY[079-072]
7-0 KEY[071-064]
Bit(s) Name Description Access 初期値
31-0 KEY Encryption Key 3
Key 設定 3 R/W 0
12.16. Encryption Key Register 4-(0x3C)
0x3C
31-24 KEY[127-120]
23-16 KEY[119-112]
15-8 KEY[111-104]
7-0 KEY[103-096]
Bit(s) Name Description Access 初期値
31-0 KEY Encryption Key 4
Key 設定 4 R/W 0
MN080028-01
19
ArmFrogs-ALICE / FPGA Sample Project Manual -AES-
12.17. Encrypt Data Register 1-(0x40)
0x40
31-24 ENC[031-024]
23-16 ENC[023-016]
15-8 ENC[015-008]
7-0 ENC[007-000]
Bit(s) Name Description Access 初期値
31-0 ENC Encrypt Data 1
暗号化データ 1 R 0
12.18. Encrypt Data Register 2-(0x44)
0x44
31-24 ENC[063-056]
23-16 ENC[055-048]
15-8 ENC[047-040]
7-0 ENC[039-032]
Bit(s) Name Description Access 初期値
31-0 ENC Encrypt Data 2
暗号化データ 2 R 0
12.19. Encrypt Data Register 3-(0x48)
0x48
31-24 ENC[095-088]
23-16 ENC[087-080]
15-8 ENC[079-072]
7-0 ENC[071-064]
Bit(s) Name Description Access 初期値
31-0 ENC Encrypt Data 3
暗号化データ 3 R 0
12.20. Encrypt Data Register 4-(0x4C)
0x4C
31-24 ENC[127-120]
23-16 ENC[119-112]
15-8 ENC[111-104]
7-0 ENC[103-096]
Bit(s) Name Description Access 初期値
31-0 ENC Encrypt Data 4
暗号化データ 4 R 0
MN080028-01
20
ArmFrogs-ALICE / FPGA Sample Project Manual -AES-
13. FPGA データ生成方法
FPGA コンフィギュレーションは microSD カードに保存した rbf ファイルを使用します(JTAG によるコンフィギュレーションを除く)。以下に、rbf フ
ァイルの生成方法を記します。
13.1. rbf ファイルの生成方法
rbf ファイルは FPGA のコンパイルによって生成される sof ファイルを用いて作成します。
➢ Quartus で Compile Design を実行
Compile Design が完了するとプロジェクトフォルダ下にある[output_files]フォルダ内に sof ファイル(サンプルプロジェクトの
場合は[ArmFrogs-ALICE.sof])が生成されます。
➢ rbf ファイルの生成
Quartus で[File]-[Convert Programming File...]を実行し、sof ファイルから rbf ファイルを生成します。
FPGA のコンフィギュレーションはファイル名が「output_file.rbf」のファイルを使用します。そのため、rbf ファイルのファイル名は
「output_file.rbf」として下さい。
Convert Programming File を実行し、図 13-1 のように設定します。
項目 設定
Programming file type Raw Binary File (.rbf)
Mode Passive Parallel x16
File name output_file.rbf
図 13-1:Output programming file の設定
MN080028-01
21
ArmFrogs-ALICE / FPGA Sample Project Manual -AES-
次に、生成した sof ファイル(output_files フォルダ内)を選択して Add します。SOF Data を選択した状態で[Add File…]
をクリックし、output_files フォルダ内にある生成した sof ファイルを選択します。
図 13-2:sof ファイルの Add
sof ファイルのプロパティで圧縮を有効にします。Add した sof ファイルを選択した状態で Properties をクリックし、SOF File
Properties Window の Compression をチェックして圧縮を有効にします。
図 13-3:sof ファイルの Properties 設定
SOF Data を選択した状態で
Add File...をクリックし、sof ファイルを選択
Compression をチェック
sof ファイルを選択
Properties をクリック
MN080028-01
22
ArmFrogs-ALICE / FPGA Sample Project Manual -AES-
Generate をクリックして、rbf ファイルを生成します。フォルダを指定しない場合、プロジェクトファルダに生成されます。
図 13-4:rbf ファイルの生成
Generate をクリック
MN080028-01
23
ArmFrogs-ALICE / FPGA Sample Project Manual -AES-
14. 使用手順
本章では、ArmFrogs-ALICE の使用準備及び電源投入から電源切断までの手順を説明します。尚、ホスト PC として Windows マシンの
使用を想定しています。
14.1. 接続
電源スイッチが OFF になっている状態で、図 14-1 に示すように SD カードの挿入とケーブル接続を行って下さい。
No 内容 備考
1 AC/DC コンバータ 付属品
2 Ethernet ケーブル CAT5 以上のケーブルを使用して下さい
3 USB ケーブル USB A - microB ケーブル
4 SD カード 付属品
5 電源スイッチ 写真の左が OFF 右が ON
図 14-1:接続図
ArmFrogs-ALICE には Linux(Ubuntu)を搭載していますので、電源スイッチを OFF にする前にシャットダウン
処理(14.5 章参照)が必要です。
電源を接続前に電源スイッチが OFF になっていることを確認して下さい。
2
付属の AC/DCコンバータを使用
LAN 等へ接続
ホスト PC の USB
ポートへ接続
4
3 1
5
MN080028-01
24
ArmFrogs-ALICE / FPGA Sample Project Manual -AES-
14.2. シリアルコンソール
14.2.1. ドライバのインストール
ArmFrogs-ALICE のシアルコンソールは、Windows 上の USB 仮想 COM ポート(シリアルコンソールが USB ケーブルを介してホスト PC の
COM ポートにつながっているように見えます)として使用出来ます。
ホスト PC の OS が Windows10 の場合、ArmFrogs-ALICE を接続するとデバイスドライバが自動的にインストールされます。自動的にイン
ストールされない場合(インストール画面が表示されない場合)は Silicon Labs 社の Web サイトから「CP210x USB-UART ブリッジ VCP ドラ
イバ」を検索し、ダウンロード/インストールして下さい。
14.2.2. ターミナルプログラムの設定
ホスト PC にて TeraTerm 等のターミナルプログラムを起動し、シリアルポートに接続します。図 14-2 は TeraTerm を使用した際の接続例
です。
図 14-2:接続時のシリアルポート選択の例
シリアルポート設定を表 14-1 に示します。
表 14-1:シリアルポートの通信設定
項目 内容
Baud rate 115200
Data 8 bits
Parity none
Stop 1 bit
Flow control none
14.3. 起動とログイン
電源スイッチを ON にすると、20~30 秒で Linux が起動します。参考までに、起動時の処理概要(1)~(4)を示します。
1) Preloader、u-boot の起動
2) u-boot により、FPGA コンフィギュレーション実行
3) u-boot により、Linux カーネルイメージロード/実行
4) Linux 起動完了
Linux 起動後、シリアルポートにログインプロンプトが表示されます。表 14-2 のユーザーアカウントを使用してログインして下さい。
表 14-2:出荷時に登録されているユーザーアカウント
ユーザー名 パスワード
user user
MN080028-01
25
ArmFrogs-ALICE / FPGA Sample Project Manual -AES-
14.4. ネットワーク接続
ネットワークに接続する際の手順を以下に示します。尚、シリアルコンソールのみを使用する場合にネットワークの接続は必要ありません。
14.4.1. IP アドレス設定
出荷時のネットワーク設定を表 14-3 に示します。
表 14-3:出荷時の IP アドレス
項目 内容
IP アドレス 192.168.0.10
ネットマスク 255.255.255.0
デフォルトゲートウェイ 192.168.0.1
IP アドレスの変更が必要な場合、ネットワーク設定ファイル「/etc/network/interfaces」を書き換えた後、再起動します。以下に手順を示
します。
1) エディタの起動
エディタにて設定ファイルを開きます。以下のコマンドは、vi エディタを使用して設定ファイルを編集するものです。
sudo vi /etc/network/interfaces
interfaces フ ァ イル の 編 集 に は 管 理 者 権 限 が 必 要 です 。 こ のた め 上 記 の 例 で は 「 sudo 」 コ マ ン ド 経 由 で「 vi
/etc/network/interfaces」コマンドを実行しています。尚、コマンド実行時にはパスワード入力を求められますので、「user」を
入力して下さい。
2) 設定ファイルの編集
interfaces ファイルの以下の部分をネットワーク環境に合わせて変更します。
address 192.168.0.10
netmask 255.255.255.0
gateway 192.168.0.1
3) 再起動
変更内容を保存した後、再起動します。
sudo reboot
ホスト PC と ArmFrogs-ALICE のネットワーク部アドレス(表 14-3 の場合、192.168.0 の部分)が異なると通信
出来ませんので、IP アドレスの変更が必要となります。
MN080028-01
26
ArmFrogs-ALICE / FPGA Sample Project Manual -AES-
14.4.2. 共有フォルダへのアクセス
ArmFrogs-ALICE 上では Samba サーバが動作しており、ホームディレクトリ(/home/user)を Windows の共有フォルダとしてエクスポー
トしています。以下に、共有フォルダへのアクセス手順を示します。
1) エクスプローラーのアドレスバー(通常はフォルダのフルパスが表示される部分)に「\\192.168.0.10」を入力し、「Enter」キーを
押します。
図 14-3:アドレスバーへの入力
2) 表示された「user」フォルダをダブルクリックすると、以下のダイアログが表示されますので、「ユーザー名」、「パスワード」を入力します。
図 14-4:資格情報の入力ダイアログ
3) 正常にログインできると/home/user ディレクトリの内容がエクスプローラーに表示されます。
図 14-5:共有フォルダの内容表示
MN080028-01
27
ArmFrogs-ALICE / FPGA Sample Project Manual -AES-
14.4.3. リモートログイン
SSH を使用してネットワーク経由で ArmFrogs-ALICE にログインすることが出来ます。本章では TeraTerm を使用した場合の例を示しま
す。尚、以下の説明ではネットワーク設定は出荷時設定のままとしています。
1) TeraTerm の「新しい接続」で図 14-6 に示す設定を行ったあと「OK」ボタンを押します。
図 14-6:接続設定
2) セキュリティー警告が表示されるので「続行」ボタンを押します。
図 14-7:TeraTerm のセキュリティー警告
MN080028-01
28
ArmFrogs-ALICE / FPGA Sample Project Manual -AES-
3) SSH 認証画面にて、ユーザー名とパスフレーズを入力した後、「OK」ボタンを押します。
図 14-8:SSH 認証画面
4) ログインが正常に完了すると、図 14-9 のようにプロンプトが表示されます。
図 14-9:ログイン後プロンプト
14.5. 電源 OFF
電源を OFF する場合、電源スイッチを OFF にする前にターミナル画面にて以下のコマンドを入力して下さい。
sudo halt
コマンドを入力するとシャットダウン処理が実行されます。以下のメッセージが表示された後、電源スイッチを OFF にして下さい。
System halted.
MN080028-01
29
ArmFrogs-ALICE / FPGA Sample Project Manual -AES-
15. アプリケーション開発
15.1. ソフトウェア開発
ArmFrogs-ALICE には GNU C/C++コンパイラ、make 等の開発ツールがあらかじめインストールされていますので、すぐにソフトウェア開発
がスタート出来ます。サンプルプログラムは FPGA レジスタを使用して LED の点灯/消灯を行う「ctrl_led」と AES 暗号機能を実行するサンプル
の 2 種類を用意しています。
15.1.1. サンプルプログラムのコンパイル
ArmFrogs-ALICE には C 言語で記述したサンプルプログラムが格納されています。以下に、サンプルプログラムのコンパイルおよび実行手順を
示します。
1) サンプルプログラムのソースコードディレクトリに移動します
LED 制御サンプルプログラム : cd /home/user/sample/led
AES 暗号機能サンプルプログラム : cd /home/user/sample/aes
2) make コマンドを実行します。
make
3) 実行ファイルが作成されます
LED 制御サンプルプログラム : ctrl_led
AES 暗号機能サンプルプログラム : sample
4) プログラムを実行すると使用方法が表示されます。本プログラムの実行には管理者権限が必要です。搭載されている機能の詳細
についてはソースファイルで確認下さい。
LED 制御サンプルプログラム : sudo ./ctrl_led
AES 暗号機能サンプルプログラム : sudo ./sample
15.1.2. ソースコードの編集
ターミナル画面からソースコードを編集する場合には、vi エディタが使用出来ます。また、14.4.2 章の手順に従って共有フォルダへアクセスし、
ホスト PC(Windows 機)からファイルを直接編集することも可能です。但し、ファイルの編集には EUC の改行コードに対応したエディタを使用し
て下さい。
15.2. FPGA コンフィギュレーションデータの書き換え
FPGA コンフィグレーションデータの書き換え方法について説明します。FPGA コンフィグレーションは、起動時に SD カード上の
「output_file.rbf」ファイルを読み込んで実行されます。FPGA コンフィギュレーションデータの書き換えは「output_file.rbf」ファイルを上書きする
ことで行います。
1) 13 章の手順に従って FPGA コンフィギュレーションデータを作成します。このときファイル名を「output_file.rbf」にして下さい。
2) ホスト PC で共有フォルダを開きます(14.4.2 章参照)。
3) 共有フォルダの「user」ディレクトリ(最上位ディレクトリ)に手順(1)のファイルをコピーします。
4) シリアルコンソールで以下のコマンドを実行し、コンフィギュレーションデータを上書きします。
sudo cp output_file.rbf /mnt/boot
5) 再起動します。
sudo reboot
共有フォルダに「output_file.rbf」を書き込んだ後にコピーする方法を示しましたが、「output_file.rbf」は SD カードに直接書き込むことも可
能です。但し、SD カードに直接書き込む場合は他のファイル(起動ファイル等)を破損してしまわないよう、十分注意して行って下さい。
MN080028-01
30
ArmFrogs-ALICE / FPGA Sample Project Manual -AES-
15.3. デバッグ
ArmFrogs-ALICE には「debug」という名前のプログラムが格納されています。これは、物理メモリ空間にコマンドラインからアクセスするための
プログラムであり、FPGA の動作確認を主な目的とするプログラムです。動作不良の原因がソフトにあるのか FPGA にあるのかわからない場合など
の障害切り分けに使用出来ます。
以下コマンドにて起動して下さい。尚、物理メモリ空間にアクセスするために管理者権限が必要となりますので、sudo コマンドを使用します。
sudo ./debug
「debug」プログラム起動後に「?」と「Enter キー」を入力すると、使用方法が表示されます。尚、ソフトウェアのデバッグツールとしては gdb がイ
ンストールされています。
MN080028-01
31
ArmFrogs-ALICE / FPGA Sample Project Manual -AES-
16. Appendix
16.1. SD カードから起動できなくなった場合
本章では、ArmFrogs-ALICE 付属の SD カードを出荷時の状態に復元する手順を示します。SD カードの復元には Linux 環境(仮想
Linux マシン等)が必要です。それらの環境は別途準備して下さい。
1) SD カードイメージの準備
ArmFrogs-ALICE 付属ディスク(DVD)の sdimg ディレクトリから Linux 環境の任意のディレクトリに sdimg.tgz をコピー
します。
2) SD カードイメージの展開
以下のコマンドにて sdimg.tgz を展開します。展開後、sdimg という名前のディレクトリが作成されます。
sudo tar xvzf sdimg.tgz
3) SD カード挿入準備
SD カードのデバイス名を調べるため、挿入前のパーティション情報を調べます。以下のコマンドを、SD カード挿入前に実行しま
す。
cat /proc/partitions
以下に実行結果の例を示します。
4) SD カード挿入とデバイス名の確認
SD カード挿入後に、手順 3)と同じコマンドを実行します。
cat /proc/partitions
実行結果を比較することで、SD カードのデバイス情報が確認できます。以下に実行結果の例を示します。
上記の例では赤字の部分が手順 3)の実行結果例との差分です。この場合、SD カード全体のデバイス名は sdc になります。
また SD は sdc1,sdc2,sdc3 の 3 つのパーティションに分割されていることが分かります。
major minor #blocks name
1 0 65536 ram0
・ ・ ・ 11 0 1048575 sr0
8 0 375074048 sda
8 1 370878464 sda1
8 2 1 sda2
8 5 4193280 sda5
major minor #blocks name
1 0 65536 ram0
・ ・ ・ 11 0 1048575 sr0
8 0 375074048 sda
8 1 370878464 sda1
8 2 1 sda2
8 5 4193280 sda5
8 32 15558144 sdc
8 33 1024 sdc1
8 34 16384 sdc2
8 35 15540719 sdc3
ここで調べたデバイス名は以降の手順で使用します。以降の手順で間違ったデバイスに対するオペレーションを行った場
合、デバイスの内容を破壊することがありますので、十分ご注意下さい。
MN080028-01
32
ArmFrogs-ALICE / FPGA Sample Project Manual -AES-
5) デバイスのアンマウント
SD カードを挿入すると、自動的にマウントされることがあります。そのような場合は以下のコマンドを実行して、アンマウントして下
さい。以下のコマンドにおいて sdc1~sdc3は、手順 4)で調べたパーティション名です。
sudo umount /dev/sdc1
sudo umount /dev/sdc2
sudo umount /dev/sdc3
6) u-boot の環境変数領域初期化
以下のコマンドにて u-boot の環境変数領域を初期化します。コマンドの「of=/dev/」に続くパラメータに、手順 4)で調べたデ
バイス名を使用します(以下のコマンドは、SD カードのデバイスが/dev/sdc の例)。
sudo dd if=/dev/zero of=/dev/sdc bs=512 count=8 seek=2
7) パーティション分割
SD カードのパーティションを分割するため、fdisk コマンドを実行します。
sudo fdisk /dev/sdc
まず、「p」コマンドを使用して、現在のパーティション情報を表示します。既存のパーティションが存在する場合は、「d」コマンドを
使用してすべて削除します。その後、「n」、「t」コマンドを使用して、パーティション分割/設定します。
デバイス 起動 Start 最後から セクタ Size Id タイプ
/dev/sdc1 2048 4095 2048 1M a2 不明
/dev/sdc2 4096 36863 32768 16M 6 FAT16
/dev/sdc3 36864 31116287 31079424 14.8G 83 Linux
最初のパーティションのサイズを 1Mbyte、タイプ ID を a2 に設定します。2 番目のパーティションのサイズを 16Mbyte、タイプ
ID を 6 に設定します。3 番目のパーティションは 4GByte 以上で、タイプ ID は 83(デフォルト値)に設定します。以下に、コマンド
の実行例を示します。
MN080028-01
33
ArmFrogs-ALICE / FPGA Sample Project Manual -AES-
--------------------------------------------------------------------------------
コマンド (m でヘルプ): n Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p):
Using default response p.
パーティション番号 (1-4, default 1):
First sector (2048-31116287, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-31116287, default 31116287): +1M
Created a new partition 1 of type 'Linux' and of size 1 MiB.
--------------------------------------------------------------------------------
コマンド (m でヘルプ): n Partition type
p primary (1 primary, 0 extended, 3 free)
e extended (container for logical partitions)
Select (default p):
Using default response p.
パーティション番号 (2-4, default 2):
First sector (4096-31116287, default 4096):
Last sector, +sectors or +size{K,M,G,T,P} (4096-31116287, default 31116287): +16M
Created a new partition 2 of type 'Linux' and of size 16 MiB.
--------------------------------------------------------------------------------
コマンド (m でヘルプ): n Partition type
p primary (2 primary, 0 extended, 2 free)
e extended (container for logical partitions)
Select (default p):
Using default response p.
パーティション番号 (3,4, default 3):
First sector (36864-31116287, default 36864):
Last sector, +sectors or +size{K,M,G,T,P} (36864-31116287, default 31116287):
Created a new partition 3 of type 'Linux' and of size 14.8 GiB.
--------------------------------------------------------------------------------
コマンド (m でヘルプ): t パーティション番号 (1-3, default 3): 1
Partition type (type L to list all types): a2
Changed type of partition 'Linux' to '不明'.
--------------------------------------------------------------------------------
コマンド (m でヘルプ): t パーティション番号 (1-3, default 3): 2
Partition type (type L to list all types): 6
Changed type of partition 'Linux' to 'FAT16'.
--------------------------------------------------------------------------------
コマンド (m でヘルプ): p Disk /dev/sdc: 14.9 GiB, 15931539456 bytes, 31116288 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000
デバイス 起動 Start 最後から セクタ Size Id タイプ /dev/sdc1 2048 4095 2048 1M a2 不明
/dev/sdc2 4096 36863 32768 16M 6 FAT16
/dev/sdc3 36864 31116287 31079424 14.8G 83 Linux
--------------------------------------------------------------------------------
コマンド (m でヘルプ): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
MN080028-01
34
ArmFrogs-ALICE / FPGA Sample Project Manual -AES-
8) フォーマット
手順 2)で作成されたディレクトリに移動します。
cd sdimg
以下コマンドを実行して、SD をフォーマットします。
sudo ./format sdc
9) SD カードを抜いた後、再度挿入します。
10) ブートイメージの書込み。
Preloader、u-boot イメージを書き込みます。
sudo ./wrboot sdc
11) FPGA、Linux イメージの書込み
FPGA イメージ(出荷時イメージ)、Linux カーネルイメージ、Linux ルートファイルシステムを書き込みます。
sudo ./instroot sdc
ルートファイルシステムの書込みは、数分かかることがあります。
以上で SD カードの復元は終了です。
MN080028-01
35
ArmFrogs-ALICE / FPGA Sample Project Manual -AES-
16.2. 共有フォルダへのアクセスができない場合
16.2.1. ネットワークエラーダイアログが表示される場合
共有フォルダへのアクセスにおいて、図 16-1 に示すエラーダイアログが表示される場合は以下の項目を確認して下さい。
図 16-1:ネットワークエラーダイアログ
1) ArmFrogs-ALICE のネットワーク設定がどのようになっているか(ifconfig 等で確認)
2) アドレスバーへ入力した ArmFrogs-ALICE の IP アドレスが上記で調査した内容と合っているか
3) ArmFrogs-ALICE、及びホスト PC の IP アドレスにおいて、ネットワーク部のアドレスが一致しているか
(ネットマスクが一致しているか、ネットマスクのビットがセットされている部分の IP アドレスが一致しているか)
16.2.2. 資格情報の入力後にエラーが発生する場合
共有フォルダへのアクセスにおいて、「資格情報」の入力、(ユーザー名、パスワード入力)後にアクセスが出来ないことがあります。この場合、まず
ユーザー名、パスワードが正しいことを確認下さい。ユーザー名、パスワードが正しいにも関わらず、アクセス出来ない場合、「資格情報」を削除し
た後、再起動することで問題解決することがあります。以下に、「資格情報」を削除する手順を示します。
1) Windows の「ファイル名を指定して実行」ウインドウから、以下のコマンドを実行して下さい。
rundll32 keymgr.dll KRShowKeyMgr」
2) 図 16-2 のウインドウが表示されますので、ArmFrogs-ALICE の IP アドレスと一致する項目を削除します。
図 16-2:資格情報の管理画面
3) ArmFrogs-ALICE、及びホスト PC を再起動します。
MN080028-01
36
ArmFrogs-ALICE / FPGA Sample Project Manual -AES-
17. 変更履歴
Rev. 日付 内容
00 2019.10.24 新規作成
01 2020.01.17
・7.1 章に Quartus でプロジェクトを開くまでの記述を追加
・10.6 章 暗号化実行周期設定機能
周期設定時間の誤記修正 (レジスタ設定値×10ns → レジスタ設定値×20ns)
正常動作させる周期設定の誤記修正 (300ns → 600 ns)
・12.5 章 Encryption Setting Register-(0x10)
Encryption Cycle 初期値の誤記修正 (320 ns → 640 ns)