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