Verilog、SystemVerilog、SystemCなど、ハードウェア記述言語についてのブログです。
#include "svdpi.h"
#include "dpiheader.h"
int c_task(int i, int *o) {
printf("Hello from c_task()\n");
verilog_task(i, o);
*o = 2 * i;
return (0);
}
module hello_top;
int ret;
export "DPI-C" task verilog_task;
task verilog_task(input int i, output int o);
#10;
$display("Hello from verilog_task()");
endtask // verilog_task
import "DPI-C" context task c_task(input int i, output int o);
initial begin
c_task(1, ret);
$display("ret=%d", ret);
end
endmodule // hello_top
# Hello from c_task()
# Hello from verilog_task()
# ret= 2
top.v:6: Can't locate sample module definition
Check the verilog-library-directories variable.
I looked in (if not listed, doesn't exist):
c:/cygwin/home/user/verilog.top.v
// Local Variables:
// verilog-library-extentions:(".v" ".vo")
// End:
(setq verilog-auto-newline nil)
(setq verilog-auto-start-save t)
(setq verilog-auto-star-expand t)
module sample (input CLK, input DIN, output DOUT);
logic ff0, ff1;
always_ff @(posedge CLK) begin
ff0 <= DIN;
ff1 <= ff0;
end
assign DOUT = ff1;
endmodule
module sample_vt;
logic CLK, DIN;
wire DOUT;
sample DUT ( .*);
endmodule
module sample_vt;
logic CLK, DIN;
wire DOUT;
sample DUT ( .*,
// Outputs
.DOUT (DOUT), // Implicit .*
// Inputs
.CLK (CLK), // Implicit .*
.DIN (DIN)); // Implicit .*
endmodule
カレンダー
カテゴリー
フリーエリア
最新CM
最新記事
最新TB
プロフィール
ブログ内検索
カウンター
アクセス解析