1 / 33

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

計算機アーキテクチャ特論 Chapter9(6-7). 学籍番号 :6311622  小野寺 道寛. Chapter 9.6 テストベンチの作り方. テストベンチを作るためには. ここでのテストベンチとは?. ハードウェア部とソフトウェア部の性能テストを行う システムのこと. テストベンチ作成に必要なこと ( 概要 ). プラットホーム ( テストを行う場所 ) の作成 FPGA ベンダツール を用いて、プラットホームの環境設定を行う プラットホームを実機 (FPGA のプロトタイプボード ) に実装する. Xilinx Platform Studio を使用する.

latika
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 計算機アーキテクチャ特論Chapter9(6-7) 学籍番号:6311622 小野寺 道寛

  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. 前準備 • 考慮すべき点1 • プラットホームサポートパッケージの指定 • テストベンチで使用するものを考慮して指定する必要がある。 FPGAのプロトタイプボード、ソフトウェアプロセッサコア、バスアーキテクチャ等 • 今回は、 XilinxMicroBlaze FSLを指定する。 • 考慮すべき点2 • 項目Aには、ハードウェア部のソースを生成するディレクトリを指定 • 項目Bには、ソフトウェア部のソースを生成するディレクトリを指定 • 項目C,Dには、生成されたソースの移動先ディレクトリを指定 • 考慮すべき点3 • チェックが入っているかどうか確認する(入っていなかったら、チェックを入れる)。 • FPGAのコンポーネント(トリプルDES暗号化コア)がMicroBlazeプロセッサとは異なるクロック周波数で動作することを意味する。

  8. 前準備 • 生成法(詳細) 2.CoDeveloperの[Project]メニューから[Generate HDL]を選択する。 これを選択する

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

  10. プラットホームの作成について Xilinx Platform Studio(XPS)という統合環境ツールを用いて、 プラットホームの作成・環境設定を行う。 XPSを使用する前に、プロジェクトディレクトリの中にEDKという名前のサブディレクトリを作成しておく 後に、前準備の段階で 生成されたファイルを ここに移すことになる このディレクトリにはXPSで作られる プロジェクトファイルが出力される

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

  12. プラットホームの作成について(使用するボードの選択)プラットホームの作成について(使用するボードの選択) 次に進むと、使用するボードを選択する画面が現れる。 これを選択 このように入力すればよい

  13. プラットホームの作成について(使用するプロセッサの選択)プラットホームの作成について(使用するプロセッサの選択) 次に進むと、使用するプロセッサを選択する画面が現れる。 これを選択

  14. プラットホームの作成について(MicroBlazeの環境設定)プラットホームの作成について(MicroBlazeの環境設定) 基準クロックの周波数 プロセッサバスの クロック周波数 次に進むと、 右図のようなMicroBlazeの 環境設定を行う画面が現れる。 どちらの周波数も100MHzに設定 基準クロック: CPUや周辺機能など各装置の 同期を取るための周期的な信号 これを選択 プロセッサバス: コンピュータ内部で、メモリや入出力装置 などとCPUを接続するデータ伝送路のこと デフォルトでは8KBなので、 64KBに増加させておく。

  15. プラットホームの作成について(I/Oインターフェイスの設定)プラットホームの作成について(I/Oインターフェイスの設定) 次に進むと、I/Oインターフェイスの設定を行う画面が表示される。 使用する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の選択

  16. プラットホームの作成について(ソフトウェアの設定ダイアログ)プラットホームの作成について(ソフトウェアの設定ダイアログ) 次に進むと、ソフトウェアの設定ダイアログが表示される。 チェックを入れる 入出力のインターフェースとしてRS232を選択する

  17. プラットホームの作成について(環境設定の完了)プラットホームの作成について(環境設定の完了) 次に進むと、 今まで作成してきた プラットホームの概要が表示される。 [Generate]ボタンを クリックすることによって、 プラットホームとプロジェクトファイルが 生成される。

  18. 前準備で作成したファイルをXPSプロジェクトに移動前準備で作成したファイルをXPSプロジェクトに移動 前準備で作成したファイルをEDKディレクトリに移動させる。 目的: XPSプロジェクトでも、前準備で生成されたHWを利用できるようにするため。 方法: CoDeveloperを起動する。 「 Export Generated Hardware options 」というコマンドを選択 「 Export Generated Software options 」というコマンドを選択

  19. 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バスのパラメーターの設定を行う。 ここをクリック • パラメーターの設定方法 これを選択 3を入力 使用するFSLバスのコネクション数を表す。 この場合は3個使用するということ。 クリック

  22. fsl_desとFSLバスのコネクションの作成 • コネクションの作成法 これを選択 ここをクリック ここを3回クリックする。 3つのコネクションを作成するため。 fsl_v20_0に接続 fsl_v20_1に接続 fsl_v20_2に接続

  23. 3DESハードウェア用の二次クロックの作成 デュアルクロックシステムを実現するために、 3DESハードウェア用に MicroBlazeプロセッサとは異なるクロック(二次クロック)を作成する。 • 作成法 ダイアログの[Ports]タグをクリックする。それ以降の処理は以下の通り。 co_clkポートのネット名を変更 (二次クロックの完成) リストに追加される clkとco_clkを追加

  24. 二次クロックに外部ポートを追加 ここで、作成した二次クロックに外部ポートを追加する。 • 方法 Make Externalを選択後、 ここに追加される 二次クロックを持つ ポートを選択する これをクリック (外部ポートの追加)

  25. FSLバスのコネクション用クロックの接続 先程作成した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を選択する

  27. 周辺機器のアドレスの指定 例:opb_timer プラットホームの作成に使われた周辺機器のアドレスの指定を行う。 • 方法 ここをクリック ここをクリックすることによって、 各周辺機器のアドレスが自動的に割り当てられる。

  28. 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. この章では、ソフトウェア部分がストリームベースの通信を使用して、ハードウェアのプロセスと直接通信する混合ハードウェア/ソフトウェアアプリケーション(即ち、テストベンチ)の作成を行った。この章では、ソフトウェア部分がストリームベースの通信を使用して、ハードウェアのプロセスと直接通信する混合ハードウェア/ソフトウェアアプリケーション(即ち、テストベンチ)の作成を行った。 このテストを用いて、アルゴリズムの迅速な検証や 様々な入力パターンの試行が可能である。 次章では、このテストを用いて、システムの性能の最適化について議論する。

More Related