アウトプットブログ

勉強したことをまとめていきます。

VHDL

OVL(Open Verification Library)を導入する

FPGAで組む回路規模が大きくなってくると、波形目視でのシミュレーションは抜けが多くなり、どうすれば良いか悩んでいます。少し検証手法について調べてみると、「アサーション」という手法があることを知りました。(詳細説明は以下ページが詳しいです) その…

DPI-CでVHDLモジュールの処理結果をコンペア

前回BMPファイルをDPI-C経由でVHDLモジュールに入力できました。今回はVHDLモジュールの出力結果をC関数に入力してコンペアを取ってみました。以下テストベンチの流れです。 1.シミュレーション開始時にC関数によりBMPファイル読込と比較データ生成を実施。 …

DPI-CでBMPファイルリード

ひとまずの目標であるDPI-Cでの画像読み込みです。前回作成したC言語でのBMPファイル読込モジュールを使用して、画像データをVHDLモジュールへ入力することが出来ました。ヘッダファイルを自作したためコンパイル方法が変わるかも、と思いましたが、ModelSim…

C関数で確保したメモリ領域にSystemVerilogからアクセス

DPI-Cを使用して、C言語のmalloc関数で確保したメモリ領域にSystemVerilogテストベンチからアクセスしてみる。最終的にはBMP等の画像ファイルをCで読み込んでテストデータとして使いたいと考えている。以下ソース。今回は以下URLを参考にさせて頂いた。 Shar…

DPI-CでSystemVerilogからC言語の関数呼び出し

VHDL/SystemVerilog混在シミュレーションにてSystemVerilogテストベンチからVHDLモジュールを呼び出せたので、次はDPI-CでC言語関数の生成データをVHDLモジュールに入力してみる。C言語をコンパイルできる環境が必要なため、MinGWをインストール、環境設定し…

VHDL/SystemVerilog混在シミュレーション

自分は普段の開発ではVHDLを使用している。テストベンチも同様なのだが、少し凝ったことをしようとすると面倒と感じることがあった。調べるとSystemVerilogのDPI-Cという機能で検証にC言語の関数を使用できるらしく、何が出来るのか試してみることにした。そ…