FC2カウンター FPGAの部屋 無償ツールで実践する「ハード・ソフト協調検証」をやってみる6(ライブラリ化のまとめ)
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

無償ツールで実践する「ハード・ソフト協調検証」をやってみる6(ライブラリ化のまとめ)

さて、avalon_cpuにaltera_avalon_mm_master_bfmモジュールとSystemVerilogのコードをまとめたメリットについてまとめてみようと思う。
以前は、”無償ツールで実践する「ハード・ソフト協調検証」をやってみる4(シミュレーション)”の様に、SOPC BuilderでインスタンスしたAvalon-MM Master BFMとテストするスレーブデバイスのAvalon-MM Slave(onchi_memory2_0)、SystemVerilogファイルのtb_prog.sv、C言語で書かれたテストベンチ(dpi_main.c)があった。
そして、下図の様な接続になっていた。
hard_soft_18_100302.png

最初に、SystemVerilogファイル(tb_prog.sv)のinitial文からCの関数 dpi_main()を呼び出す。dpi_main()から test32(), test16(), test8() を呼び出し、その中から tb_prog.svのtaskを呼び出す。そこから、Avalon-MM Master BFMのAvalon Master BFM API(set_command_addressなど)を呼び出して、Avalon-MM Slave(onchi_memory2_0)に読み書きする。

次にライブラリ化をした場合だが、
Avalon-MM Master BFMをインスタンスして、その後にSystemVerilogファイルが追加されて1つのファイル(avalon_cpu.sv)になっている。この接続図を図に書くと下のようになる。
hard_soft_24_100306.png

ここでのメリットを列挙すると
1. `BFM.set_command_request()などで使われる。`BFMで指定された階層情報を含んだvalon-MM Master BFMのインスタンス名が、cpuだけとなって、階層が変わったときに変更する必要がない。
2. avalon_cpu.sv にポートを追加して、機能を拡張することができる。(”無償ツールで実践する「ハード・ソフト協調検証」(7) ―― DMAの割り込み機能を確かめられるようにする”を参照)
  1. 2010年03月06日 05:10 |
  2. SystemVerilog
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
https://marsee101.blog.fc2.com/tb.php/1395-393cc7a5
この記事にトラックバックする(FC2ブログユーザー)