忍者ブログ

EDA Blog

Verilog、SystemVerilog、SystemCなど、ハードウェア記述言語についてのブログです。

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

Verilog PLI Reference Manual


ここからダウンロードできました。
当然英語ですが、各関数についてサンプルのソースも記述されているので、参考になりそうです。

拍手[0回]

PR

ModelSimでPLI

ModelSim-Alteraで、Verilog PLIを使用してみました。
Cのコンパイルには、MinGWを使用しました。
Cygwinのgccコンパイラではエラーになるので注意してください。

C言語とVerilogのコードを用意します。
"Hello, World!"と表示する関数helloを、タスク$helloに登録しています。
それぞれ、hello.chello.vという名前で保存します。

C
#include 
#include "veriuser.h"

void hello() {
io_printf("Hello, World!\n");
}

s_tfcell veriusertfs[] = {
{usertask, 0, 0, 0, hello, 0, "$hello"},
{0}
};


Verilog

module hello;
    initial begin
        $hello;
        #1 $finish;
    end
endmodule

hello.cはgccでコンパイルし、hello.dllを作成します。
gcc -c -I<ModelSim directory>/include hello.c
gcc -shared -Bsymbolic -o hello.dll hello.o -L<ModelSim directory>/win32aloem -lmtipli


hello.vをコンパイルし、vsim実行時に-pliオプションでhello.dllを指定します。
vlib work
vlog hello.v
vsim -c -pli hello.dll -do "run 1 us" hello


"Hello, World!"と表示されます。
hello_022809.PNG

拍手[0回]

カレンダー

03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

フリーエリア

最新CM

[04/11 なつたん]

最新TB

プロフィール

HN:
aston_martin
性別:
非公開

ブログ内検索

カウンター

アクセス解析