Modelsim10.0cでDPI-Cを使う(その1)

Modelsim10.0cでSystemVerilog DPI-Cを使ってみました。
Windows版だとこちらのサイトに記載があります。
[Verilog] ModelSimでDPIを使う(EDA Blog)

以下の記述はModelsimのExampleです。

hello.v


 1|module hello_top;
 2|  int ret;
 3|  export "DPI-C" task verilog_task;
 4|  task verilog_task(input int i, output int o);
 5|    #10;
 6|    $display("Hello from verilog_task()");
 7|  endtask
 8|  import "DPI-C" context task c_task(input int i, output int o);
 9|  initial
10|    begin
11|       c_task(1, ret);  // Call the c task named 'c_task()'
12|    end
13|endmodule

hello_c.c


 1|#include <stdio.h>
 2|#include "svdpi.h"
 3|#include "dpiheader.h"
 4|int c_task(int i, int *o)
 5|{
 6|   printf("Hello from c_task()\n");
 7|   verilog_task(i, o); /* Call back into Verilog */
 8|   *o = i;
 9|   return(0); /* Return success (required by tasks) */
10|}

Makefile


1|run:
2|    vlib work
3|    vlog -sv -dpiheader dpiheader.h hello.v
4|    gcc -c -I$(MODELSIM_HOME)/include hello_c.c
5|    gcc -shared -Bsymbolic -o hello_c.so hello_c.o
6|    vsim -c -sv_lib hello_c hello_top -do "run -all; quit -f"
7|
8|clean:
9|    rm -rf work *.o *.so transcript *.wlf dpiheader.h

実行結果


modelsim_example1

ここで、いくつか気になるメッセージが出ているのですが、なんでしょうか?
** Warning: (vsim-7032) The 32-bit glibc RPM does not appear to be installed on this machine.  Calls to gcc may fail.

** Error: (vsim-FLI-3155) The FLI is not enabled in this version of ModelSim.
うーん。。。


追記:
上記のWarningは32bitのみのサポートなので、出力されるものらしいです。
関連記事

コメントの投稿

非公開コメント

プロフィール

Kocha

Author:Kocha
なんでもチャレンジ!(^o^)/
E-mail
github:Kocha
イベントカレンダー

カレンダー
05 | 2017/06 | 07
- - - - 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 -
カテゴリ
OVP (4)
最新記事
最新コメント
アーカイブ
リンク
Twitter
アクセス人数