Download presentation
Presentation is loading. Please wait.
1
計算機アーキテクチャ特論 Chapter9(6-7)
学籍番号: 小野寺 道寛
2
Chapter 9.6 テストベンチの作り方
3
テストベンチを作るためには ここでのテストベンチとは? テストベンチ作成に必要なこと(概要)
ハードウェア部とソフトウェア部の性能テストを行うシステムのこと テストベンチ作成に必要なこと(概要) プラットホーム(テストを行う場所)の作成 FPGAベンダツールを用いて、プラットホームの環境設定を行う プラットホームを実機(FPGAのプロトタイプボード)に実装する Xilinx Platform Studioを使用する 使用するボードは、 VirTexⅡプロトタイプボード
4
VirTexⅡプロトタイプボード 実際に用いるVirTexⅡプロトタイプボードはMemec Design社製 V2MB1000ボード
テストベンチに必要な入出力の資源・便利なその他機能が揃っている。
5
前準備 生成法(概要) テストベンチの作成に必要となるものを生成する必要がある
プラットホームの構築時に使用するハードウェア(HDLファイル) 3DESアルゴリズムが表記してあるファイル テストベンチのソースファイル等 生成法(概要) Impulse C の統合開発環境ツールであるCoDeveloperを使用する。
6
前準備 生成法(詳細) 1.↓のような生成オプションダイアログで設定を行う。 1 2 A B 3 C D
7
FPGAのプロトタイプボード、ソフトウェアプロセッサコア、バスアーキテクチャ等
前準備 考慮すべき点1 プラットホームサポートパッケージの指定 テストベンチで使用するものを考慮して指定する必要がある。 FPGAのプロトタイプボード、ソフトウェアプロセッサコア、バスアーキテクチャ等 今回は、 Xilinx MicroBlaze FSLを指定する。 考慮すべき点2 項目Aには、ハードウェア部のソースを生成するディレクトリを指定 項目Bには、ソフトウェア部のソースを生成するディレクトリを指定 項目C,Dには、生成されたソースの移動先ディレクトリを指定 考慮すべき点3 チェックが入っているかどうか確認する(入っていなかったら、チェックを入れる)。 FPGAのコンポーネント(トリプルDES暗号化コア)がMicroBlazeプロセッサとは異なるクロック周波数で動作することを意味する。
8
前準備 生成法(詳細) 2. CoDeveloperの[Project]メニューから[Generate HDL]を選択する。 これを選択する
9
前準備 3.コンパイルが行われ、HDLファイル等の様々なファイルが出力される。
10
Xilinx Platform Studio(XPS)という統合環境ツールを用いて、
プラットホームの作成について Xilinx Platform Studio(XPS)という統合環境ツールを用いて、 プラットホームの作成・環境設定を行う。 XPSを使用する前に、プロジェクトディレクトリの中にEDKという名前のサブディレクトリを作成しておく 後に、前準備の段階で 生成されたファイルを ここに移すことになる このディレクトリにはXPSで作られる プロジェクトファイルが出力される
11
プラットホームの作成について (プロジェクトファイルの作成)
XPSを起動する。 Base System Builder Wizardを選択する。 新しいプロジェクトファイル(system.xmp)を作成する。 Project/system.xmp 以降、XPSを使うことを前提に話を進めていく。 System.xmpの作成 処理2 処理3
12
プラットホームの作成について (使用するボードの選択)
次に進むと、使用するボードを選択する画面が現れる。 これを選択 このように入力すればよい
13
プラットホームの作成について (使用するプロセッサの選択)
次に進むと、使用するプロセッサを選択する画面が現れる。 これを選択
14
プラットホームの作成について (MicroBlazeの環境設定)
基準クロックの周波数 プロセッサバスの クロック周波数 次に進むと、 右図のようなMicroBlazeの 環境設定を行う画面が現れる。 どちらの周波数も100MHzに設定 基準クロック: CPUや周辺機能など各装置の 同期を取るための周期的な信号 これを選択 プロセッサバス: コンピュータ内部で、メモリや入出力装置 などとCPUを接続するデータ伝送路のこと デフォルトでは8KBなので、 64KBに増加させておく。
15
プラットホームの作成について (I/Oインターフェイスの設定)
RS232デバイスとSRAM_256Kx32を選択する。 なお、選択する際には次のようにパラメーターを設定する I/0 Device: RS232 Peripheral: OPB UARTLITE Baudrate(データの伝送速度): 9600(bit/s) Data Bits(1個のデータにおけるビット数): 8 Parity(パリティチェックするかどうか): NONE Use Interrupt (割り込み処理を行うかどうか): disabled RS232デバイスの選択 I/0 Device: SRAM_256Kx32 Peripheral: OPB EMC SRAM_256Kx32の選択 RS232とは、パソコン、モデム等を接続するシリアル通信方式のシリアルインターフェースの一つ。 つまり、シリアルポートの一つ。 シリアルポートとは、1本の信号線を使って1ビットずつ順番にデータを送受信するシリアル転送方式の通信コネクタのこと。
16
プラットホームの作成について (ソフトウェアの設定ダイアログ)
次に進むと、ソフトウェアの設定ダイアログが表示される。 チェックを入れる 入出力のインターフェースとしてRS232を選択する
17
プラットホームの作成について (環境設定の完了)
次に進むと、 今まで作成してきた プラットホームの概要が表示される。 [Generate]ボタンを クリックすることによって、 プラットホームとプロジェクトファイルが 生成される。
18
前準備で作成したファイルを XPSプロジェクトに移動
前準備で作成したファイルをEDKディレクトリに移動させる。 目的: XPSプロジェクトでも、前準備で生成されたHWを利用できるようにするため。 方法: CoDeveloperを起動する。 「 Export Generated Hardware options 」というコマンドを選択 「 Export Generated Software options 」というコマンドを選択
19
次に、先程EDKに移した3DESハードウェアを
HWのプラットホームへのインポート 次に、先程EDKに移した3DESハードウェアを プラットホームにインポートする。 インポートするためには 3DESハードウェアのIPコア(fsl_des)をプラットホームに追加する。 fsl_desをFSLバスに接続する。 最初に行うこと XPSを起動する。 先程作成したSystem.xpsを開く。
20
fsl_desのプラットホームへの追加 fsl_desの追加方法
「Project→Add/Edit Cores」という項目を選択して、ダイアログを開く。 右下のリストからfsl_desを選択し、Addボタンを押す。 使用可能な 全てのIPコア 処理2 処理2によって 追加された
21
FSLバスのパラメーターの設定 パラメーターの設定方法 fsl_desをFSLバスに接続する前に、FSLバスのパラメーターの設定を行う。
ここをクリック パラメーターの設定方法 これを選択 理由は分からないけど、おそらくトリプルDESアルゴリズムを使用するためだと思われる。 具体的に言うと、トリプルDESアルゴリズムでは、暗号化→復号化→暗号化というプロセスを3回行うので、 1個のコネクションにつきその処理を1回行うためだと思われます。 3を入力 使用するFSLバスのコネクション数を表す。 この場合は3個使用するということ。 クリック
22
fsl_desとFSLバスのコネクションの作成
コネクションの作成法 これを選択 ここをクリック ここを3回クリックする。 3つのコネクションを作成するため。 fsl_v20_0に接続 fsl_v20_1に接続 fsl_v20_2に接続
23
3DESハードウェア用の二次クロックの作成
MicroBlazeプロセッサとは異なるクロック(二次クロック)を作成する。 作成法 ダイアログの[Ports]タグをクリックする。それ以降の処理は以下の通り。 co_clkポートのネット名を変更 (二次クロックの完成) リストに追加される clkとco_clkを追加
24
ここで、作成した二次クロックに外部ポートを追加する。
方法 Make Externalを選択後、 ここに追加される 二次クロックを持つ ポートを選択する これをクリック (外部ポートの追加)
25
FSLバスのコネクション用クロックの接続
方法 ダイアログの[Ports]タグをクリックする。それ以降の処理は以下の通り。 FSL_ Clkポートにはsys_clk_sを SYS_Rstポートにはnet_gndを 選択する。 各コネクション(fsl_v20_0,fsl_v20_1,fsl_v20_2)の FSL_ ClkとSYS_Rstポートを追加
26
OPBタイマーコアの追加 OPBタイマーのIPコアを追加する必要がある。 このタイマーは、3DESアルゴリズムのSWとHWの処理速度を
計るために使用される。 追加法 Add/EditダイアログのPeripheralsタブを選択して、opb_timerを追加する(opb_timer_0が生成される)。 Bus Connectionsタブを選択して、mb_opdバスにopb_timer_0を接続する。 Portsタブを選択し、 opb_timer_0 のOPB_Clkポートにsys_clk_sを選択する 追加法は、先程のfsl_desの追加とほぼ同じなので、 箇条書きのみで示す。
27
各周辺機器のアドレスが自動的に割り当てられる。
周辺機器のアドレスの指定 例:opb_timer プラットホームの作成に使われた周辺機器のアドレスの指定を行う。 方法 ここをクリック ここをクリックすることによって、 各周辺機器のアドレスが自動的に割り当てられる。
28
3DESハードウェアを動かすときに使うので、追加する必要がある。
2個目のシステムクロック端子の追加 2個目のシステムクロック端子は 3DESハードウェアを動かすときに使うので、追加する必要がある。 追加法 system.ucfファイル(プロジェクトファイルの下にある)を開く。 「 Net sys_clk_2 LOC=A11; 」という記述を追加する。 なお、今回使用するボードにおいて、A11は24Mhzの周波数を意味する。
29
テストベンチを表すソフトウェアのソースファイルを
アプリケーションSWのインポート テストベンチを表すソフトウェアのソースファイルを プロジェクトにインポートする 方法 4.3を行うと、この画面が表示される。ここで、co_init.cとdes_sw.cを選ぶ。 1.ここをクリック さっきまではプラットフォームを作ってたけど、テストベンチアプリをインポートするよ。 2.ここにあるTestApp.cを削除。 3.ここで右クリックして「Add Files」を選択。
30
FPGAのビットマップイメージの生成 ボードにアプリケーションをダウンロードするために、 FPGAのビットマップイメージを生成する。 生成法
1.XPSで、「Tools→Generate Bitstream」を選択する。 この処理で、FPGAのビットマップイメージが出力されるが、 ソフトウェアのバイナリイメージは出力されない。 2.「Tools→ Build All User Applications」を選択する。 この処理によって、ソフトウェアのバイナリイメージが出力される。 3.「Tools→ Update Bitstream」を選択する。 この処理によって、処理2で出力されたソフトウェアのバイナリイメージが 処理1で出力されたFPGAのビットマップイメージに追加される。
31
アプリケーションのダウンロードと実行 1.Hyper Terminalウィンドウを開く。
この処理によって、ボード上のRS232の周辺機器に 接続されたシリアルポートへ作成したプラットホームを接続します。 2.ボードの電源をオンにして、「Tools→Download」を選択する。 処理2の後に、 このようなメッセージが 表示されれば、テストは成功。 暗号化の実行のために 消費した時間
32
Chapter 9.7 まとめ
33
このテストを用いて、アルゴリズムの迅速な検証や 様々な入力パターンの試行が可能である。
この章では、ソフトウェア部分がストリームベースの通信を使用して、ハードウェアのプロセスと直接通信する混合ハードウェア/ソフトウェアアプリケーション(即ち、テストベンチ)の作成を行った。 このテストを用いて、アルゴリズムの迅速な検証や 様々な入力パターンの試行が可能である。 次章では、このテストを用いて、システムの性能の最適化について議論する。
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.