SystemVerilog 与 C语言的接口

上一篇 / 下一篇  2018-06-11 06:05:58 / 个人分类:Verification

1. System verily 与C语言之间的数据传递
Verilog使用编程语言接口(Programming Language Interface)来跟C语言程序交互。
使用比较复杂。
SystemVerilog使用直接编程接口(Direct Programming Interface),他能跟家简单的连接C,C++或者其他非Ve ri lo g, 一旦使用import语句导入了一个C程序,就可以像调用SV中的子程序一样调用。

# 导入C程序
import “DPI-C” function int factorial (input int i)
program automatic test;
initial begin
$display("%d != %0d", i, factorial(i))
end
end:test

#改变导入程序的名字
program automatic test;
import “DPI-C” test = function void my_test();
initial my_test();
import “DPI-C” \expect=function int fexpect;
end:test

# 调用位置
被导入的程序将只有在它被声明的空间中有效。

# 参数方向
默认input,可为input,output,不可用ref。
可以将input变量声明为const, 一旦对input变量执行写操作便会出错。

# 参数类型
通过DPI传递的变量都有两个相匹配的定义,一个是SV的,一个是C的,必须相匹配。

# 导入数学库函数
import “DPI-C” function real sin(input real r);

2. 连接简单的C子程序


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2018-11-16  
    123
45678910
11121314151617
18192021222324
252627282930 

数据统计

  • 访问量: 8538
  • 日志数: 37
  • 建立时间: 2018-01-19
  • 更新时间: 2018-07-17

RSS订阅

Open Toolbar
博聚网