2015-01-01から1年間の記事一覧
前回テストデータと比較データを自動生成しました。その比較結果は標準出力に表示していましたが、ログとしてファイル出力できると便利そう。比較はSystemVerilg側で実施しているので、そのままSystemVerilogで出来るならやってしまいたい。ということで試し…
前回の方法でもタイトルの内容は可能なのですが、もっと便利で確実に(と思う)方法でコンペアを実施する方法がありました。ざっくりまとめると、①テストデータ生成と比較値生成を同時に行い、SVモジュールに入力。その際、C関数からSystemVerilogのタスクを…
前回BMPファイルをDPI-C経由でVHDLモジュールに入力できました。今回はVHDLモジュールの出力結果をC関数に入力してコンペアを取ってみました。以下テストベンチの流れです。 1.シミュレーション開始時にC関数によりBMPファイル読込と比較データ生成を実施。 …
ひとまずの目標であるDPI-Cでの画像読み込みです。前回作成したC言語でのBMPファイル読込モジュールを使用して、画像データをVHDLモジュールへ入力することが出来ました。ヘッダファイルを自作したためコンパイル方法が変わるかも、と思いましたが、ModelSim…
前回BMPファイルの読み込み失敗の原因としてバイトオーダーを挙げましたが、間違いでした。(それどころか問題を修正してバイトオーダー変換をかましたら逆に動きませんでした…笑)原因は構造体のバイトアライメントでした。BMPファイルの先頭にはBMPFILEHEA…
前回、malloc関数で確保したメモリにSystemVerilogからアクセスできたので、C言語で画像ファイルを読み込めればそのままテストデータとして使用できるはず。C言語の標準関数では画像ファイルを読み込む関数は存在しない。検索するとそのまま使用できそうなソ…
DPI-Cを使用して、C言語のmalloc関数で確保したメモリ領域にSystemVerilogテストベンチからアクセスしてみる。最終的にはBMP等の画像ファイルをCで読み込んでテストデータとして使いたいと考えている。以下ソース。今回は以下URLを参考にさせて頂いた。 Shar…
VHDL/SystemVerilog混在シミュレーションにてSystemVerilogテストベンチからVHDLモジュールを呼び出せたので、次はDPI-CでC言語関数の生成データをVHDLモジュールに入力してみる。C言語をコンパイルできる環境が必要なため、MinGWをインストール、環境設定し…
自分は普段の開発ではVHDLを使用している。テストベンチも同様なのだが、少し凝ったことをしようとすると面倒と感じることがあった。調べるとSystemVerilogのDPI-Cという機能で検証にC言語の関数を使用できるらしく、何が出来るのか試してみることにした。そ…
勉強のモチベーションのために始めてみます。