33
計計計計計計計計計計計計 Chapter9(6-7) 計計計計 :6311622 計計計 計計

計算機アーキテクチャ特論 Chapter9(6-7)

  • 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

Page 1: 計算機アーキテクチャ特論 Chapter9(6-7)

計算機アーキテクチャ特論Chapter9(6-7)

学籍番号 :6311622  小野寺 道寛

Page 2: 計算機アーキテクチャ特論 Chapter9(6-7)

Chapter 9.6 テストベンチの作り方

Page 3: 計算機アーキテクチャ特論 Chapter9(6-7)

テストベンチを作るためにはここでのテストベンチとは?

ハードウェア部とソフトウェア部の性能テストを行うシステムのことテストベンチ作成に必要なこと ( 概要 )•プラットホーム ( テストを行う場所 ) の作成•FPGA ベンダツールを用いて、プラットホームの環境設定を行う•プラットホームを実機 (FPGA のプロトタイプボード ) に実装する

Xilinx Platform Studio を使用する

使用するボードは、 VirTexⅡ プロトタイプボード

Page 4: 計算機アーキテクチャ特論 Chapter9(6-7)

VirTexⅡ プロトタイプボード

•実際に用いる VirTexⅡ プロトタイプボードは Memec Design 社製    V2MB1000 ボード•テストベンチに必要な入出力の資源・便利なその他機能が揃っている。

Page 5: 計算機アーキテクチャ特論 Chapter9(6-7)

前準備テストベンチの作成に必要となるものを生成する必要がある•プラットホームの構築時に使用するハードウェア (HDL ファイル )•3DES アルゴリズムが表記してあるファイル•テストベンチのソースファイル等

生成法(概要)Impulse C の統合開発環境ツールである CoDeveloper を使用する。

Page 6: 計算機アーキテクチャ特論 Chapter9(6-7)

前準備生成法(詳細)

1.↓のような生成オプションダイアログで設定を行う。1

3ABCD

Page 7: 計算機アーキテクチャ特論 Chapter9(6-7)

前準備考慮すべき点 1

考慮すべき点3

考慮すべき点 2

•プラットホームサポートパッケージの指定

•今回は、 Xilinx MicroBlaze FSL を指定する。

•テストベンチで使用するものを考慮して指定する必要がある。FPGA のプロトタイプボード、ソフトウェアプロセッサコア、バスアーキテクチャ等

•項目 A には、ハードウェア部のソースを生成するディレクトリを指定•項目 B には、ソフトウェア部のソースを生成するディレクトリを指定•項目 C,D には、生成されたソースの移動先ディレクトリを指定•チェックが入っているかどうか確認する ( 入っていなかったら、チェックを入れる ) 。

•FPGA のコンポーネント ( トリプル DES 暗号化コア ) が MicroBlaze プロセッサとは異なるクロック周波数で動作することを意味する。

Page 8: 計算機アーキテクチャ特論 Chapter9(6-7)

前準備生成法(詳細)

2 . CoDeveloper の [Project] メニューから [Generate HDL] を選択する。

これを選択する

Page 9: 計算機アーキテクチャ特論 Chapter9(6-7)

前準備3 .コンパイルが行われ、 HDL ファイル等の様々なファイルが出力される。

Page 10: 計算機アーキテクチャ特論 Chapter9(6-7)

プラットホームの作成についてXilinx Platform Studio(XPS) という統合環境ツールを用いて、プラットホームの作成・環境設定を行う。XPS を使用する前に、プロジェクトディレクトリの中にEDK という名前のサブディレクトリを作成しておく

このディレクトリには XPS で作られるプロジェクトファイルが出力される

後に、前準備の段階で生成されたファイルをここに移すことになる

Page 11: 計算機アーキテクチャ特論 Chapter9(6-7)

プラットホームの作成について( プロジェクトファイルの作成 )1. XPS を起動する。2. Base System Builder Wizard を選択する。3. 新しいプロジェクトファイル (system.xmp) を作成する。

処理 2 処理 3

Project/system.xmp

System.xmp の作成

Page 12: 計算機アーキテクチャ特論 Chapter9(6-7)

プラットホームの作成について( 使用するボードの選択 )

次に進むと、使用するボードを選択する画面が現れる。

これを選択

このように入力すればよい

Page 13: 計算機アーキテクチャ特論 Chapter9(6-7)

プラットホームの作成について( 使用するプロセッサの選択 )

次に進むと、使用するプロセッサを選択する画面が現れる。これを選択

Page 14: 計算機アーキテクチャ特論 Chapter9(6-7)

プラットホームの作成について(MicroBlaze の環境設定 )

次に進むと、右図のような MicroBlazeの環境設定を行う画面が現れる。 どちらの周波数も 100MHz に設定これを選択

デフォルトでは 8KB なので、64KB に増加させておく。

基準クロック:CPU や周辺機能など各装置の同期を取るための周期的な信号

基準クロックの周波数 プロセッサバスのクロック周波数

プロセッサバス:コンピュータ内部で、メモリや入出力装置などと CPU を接続するデータ伝送路のこと

Page 15: 計算機アーキテクチャ特論 Chapter9(6-7)

プラットホームの作成について(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 の選択

Page 16: 計算機アーキテクチャ特論 Chapter9(6-7)

プラットホームの作成について( ソフトウェアの設定ダイアログ )

次に進むと、ソフトウェアの設定ダイアログが表示される。 チェックを入れる

入出力のインターフェースとして RS232 を選択する

Page 17: 計算機アーキテクチャ特論 Chapter9(6-7)

プラットホームの作成について( 環境設定の完了 )

次に進むと、今まで作成してきたプラットホームの概要が表示される。

[Generate] ボタンをクリックすることによって、プラットホームとプロジェクトファイルが生成される。

Page 18: 計算機アーキテクチャ特論 Chapter9(6-7)

前準備で作成したファイルをXPS プロジェクトに移動

前準備で作成したファイルを EDK ディレクトリに移動させる。目的:XPS プロジェクトでも、前準備で生成された HW を利用できるようにするため。

方法:1. CoDeveloper を起動する。2. 「 Export Generated Hardware options 」というコマンドを選択3. 「 Export Generated Software options 」というコマンドを選択

Page 19: 計算機アーキテクチャ特論 Chapter9(6-7)

HW のプラットホームへのインポート次に、先程 EDK に移した 3DES ハードウェアをプラットホームにインポートする。

1. 3DES ハードウェアの IP コア (fsl_des) をプラットホームに追加する。2. fsl_des を FSL バスに接続する。

最初に行うこと

インポートするためには

1. XPS を起動する。2. 先程作成した System.xps を開く。

Page 20: 計算機アーキテクチャ特論 Chapter9(6-7)

fsl_des のプラットホームへの追加1. 「 Project→Add/Edit Cores 」という項目を選択して、ダイアログを開く。2. 右下のリストから fsl_des を選択し、 Add ボタンを押す。

fsl_des の追加方法

処理 2

使用可能な全ての IP コア

処理 2 によって追加された

Page 21: 計算機アーキテクチャ特論 Chapter9(6-7)

FSL バスのパラメーターの設定fsl_des を FSL バスに接続する前に、 FSL バスのパラメーターの設定を行う。パラメーターの設定方法 ここをクリック

これを選択

クリック

3 を入力

使用する FSL バスのコネクション数を表す。この場合は 3 個使用するということ。

Page 22: 計算機アーキテクチャ特論 Chapter9(6-7)

fsl_des と FSL バスのコネクションの作成コネクションの作成法

これを選択

ここを 3 回クリックする。3 つのコネクションを作成するため。fsl_v20_0 に接続fsl_v20_1 に接続fsl_v20_2 に接続

ここをクリック

Page 23: 計算機アーキテクチャ特論 Chapter9(6-7)

3DES ハードウェア用の二次クロックの作成デュアルクロックシステムを実現するために、 3DES ハードウェア用に

MicroBlaze プロセッサとは異なるクロック ( 二次クロック ) を作成する。作成法

clk と co_clk を追加

リストに追加される

co_clk ポートのネット名を変更( 二次クロックの完成 )

ダイアログの [Ports] タグをクリックする。それ以降の処理は以下の通り。

Page 24: 計算機アーキテクチャ特論 Chapter9(6-7)

二次クロックに外部ポートを追加ここで、作成した二次クロックに外部ポートを追加する。

二次クロックを持つポートを選択するこれをクリック( 外部ポートの追加 )

Make External を選択後、ここに追加される

方法

Page 25: 計算機アーキテクチャ特論 Chapter9(6-7)

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] タグをクリックする。それ以降の処理は以下の通り。

Page 26: 計算機アーキテクチャ特論 Chapter9(6-7)

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 を選択する

Page 27: 計算機アーキテクチャ特論 Chapter9(6-7)

周辺機器のアドレスの指定プラットホームの作成に使われた周辺機器のアドレスの指定を行う。

例: opb_timer

方法ここをクリック

ここをクリックすることによって、各周辺機器のアドレスが自動的に割り当てられる。

Page 28: 計算機アーキテクチャ特論 Chapter9(6-7)

2 個目のシステムクロック端子の追加2 個目のシステムクロック端子は

3DES ハードウェアを動かすときに使うので、追加する必要がある。追加法

1. system.ucf ファイル ( プロジェクトファイルの下にある ) を開く。2. 「 Net sys_clk_2 LOC=A11; 」という記述を追加する。

なお、今回使用するボードにおいて、 A11 は 24Mhz の周波数を意味する。

Page 29: 計算機アーキテクチャ特論 Chapter9(6-7)

アプリケーション SW のインポートテストベンチを表すソフトウェアのソースファイルをプロジェクトにインポートする

方法1 .ここをクリック

2 .ここにある TestApp.c を削除。3 .ここで右クリックして「 Add Files 」を選択。

4 . 3 を行うと、この画面が表示される。ここで、 co_init.c とdes_sw.c を選ぶ。

Page 30: 計算機アーキテクチャ特論 Chapter9(6-7)

FPGA のビットマップイメージの生成ボードにアプリケーションをダウンロードするために、

FPGA のビットマップイメージを生成する。生成法

1 . XPS で、「 Tools→Generate Bitstream 」を選択する。この処理で、 FPGA のビットマップイメージが出力されるが、ソフトウェアのバイナリイメージは出力されない。2 .「 Tools→ Build All User Applications 」を選択する。この処理によって、ソフトウェアのバイナリイメージが出力される。3 .「 Tools→ Update Bitstream 」を選択する。

この処理によって、処理 2 で出力されたソフトウェアのバイナリイメージが処理 1 で出力された FPGA のビットマップイメージに追加される。

Page 31: 計算機アーキテクチャ特論 Chapter9(6-7)

アプリケーションのダウンロードと実行1 . Hyper Terminal ウィンドウを開く。この処理によって、ボード上の RS232 の周辺機器に接続されたシリアルポートへ作成したプラットホームを接続します。2 .ボードの電源をオンにして、「 Tools→Download 」を選択する。 処理 2 の後に、このようなメッセージが表示されれば、テストは成功。

暗号化の実行のために消費した時間

Page 32: 計算機アーキテクチャ特論 Chapter9(6-7)

Chapter 9.7 まとめ

Page 33: 計算機アーキテクチャ特論 Chapter9(6-7)

この章では、ソフトウェア部分がストリームベースの通信を使用して、ハードウェアのプロセスと直接通信する混合ハードウェア/ ソフトウェアアプリケーション (即ち、テストベンチ ) の作成を行った。

このテストを用いて、アルゴリズムの迅速な検証や様々な入力パターンの試行が可能である。

次章では、このテストを用いて、システムの性能の最適化について議論する。