SystemVerilog:如何在VCS模拟器中使用DPI调用连接C函数?

东西

我有以下文件:

C文件的功能:

// funcs.c

#include <stdio.h>

void something() {
    printf("something\n");
    sayHello();
}

系统Verilog文件:

// hello_world.v

module kuku;
    export "DPI-C" function sayHello;
    import "DPI-C" function void something();
    initial something();
    function int sayHello ();
        $display("hello world");
        sayHello = 1;
    endfunction
endmodule

我如何编译它并使它工作,以便当我something()从SV调用时,它将调用C函数,而当我sayHello()从C调用时,它将调用SV函数?

东西

回答自己:

使用VCS编译SV代码时,首先将其转换为C代码。

exporting某个函数不在SV中时,它将生成一个C头文件vc_hdrs.h,该文件应包含在C文件中。

所以我在C文件中所做的更改是添加以下行:

#include "vc_hdrs.h"

然后,我只是将C函数文件添加到VCS编译命令中:

> vcs -sverilog hello_world.v funcs.c

有用!

我得到的输出是:

something
hello world

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Reactfire中使用Firestore模拟器?

来自分类Dev

如何使用Chisel C ++模拟器

来自分类Dev

如何使用pubsub模拟器在本地调用Firebase Schedule函数

来自分类Dev

如何在 SystemVerilog 模拟器之间生成重复的随机数序列?

来自分类Dev

如何在不同的模拟器中使元素稳定?

来自分类Dev

如何在iOS中使用模拟器进行GPS坐标调试?

来自分类Dev

如何在Xcode 12中使用iOS 12模拟器

来自分类Dev

如何在模拟器环境中使用UIImagePickerController的CameraOverlayView属性

来自分类Dev

如何在Cocos2d中使用ipad模拟器进行测试?

来自分类Dev

使用C#连接到Android模拟器

来自分类Dev

在模拟器中使用离线地图

来自分类Dev

在模拟器中使用离线地图

来自分类Dev

在模拟器中使用didReceiveUserInfo

来自分类Dev

如何使用代码在模拟器上模拟不良的Internet连接

来自分类Dev

如何使用代码在模拟器上模拟不良的Internet连接

来自分类Dev

如何在C#中使用构造函数调用方法?

来自分类Dev

如何在C中使用结构调用函数?

来自分类Dev

如何在NEST模拟器中设置连接的突触类型?

来自分类Dev

连接设备后如何在eclipse中启动android模拟器?

来自分类Dev

如何在带有Appium的Android模拟器中禁用互联网连接?

来自分类Dev

如何在iOS模拟器Delphi Seattle上进行HTTPS调用

来自分类Dev

如何使用 React Native 连接到 Android TV 模拟器(在 Mac OS 上)?

来自分类Dev

如何在Jest中使用axios模拟API调用?

来自分类Dev

如何从网络断开Windows Phone 8.1模拟器的连接?

来自分类Dev

如何从IDEA连接Android Studio模拟器?

来自分类Dev

如何将我的模拟器连接到Internet。

来自分类Dev

如何通过Android连接到SMSC模拟器?

来自分类Dev

如何知道cocotb测试台中使用了哪个模拟器?

来自分类Dev

无法使用 Xamarin Forms 连接到 iOs 模拟器

Related 相关文章

  1. 1

    如何在Reactfire中使用Firestore模拟器?

  2. 2

    如何使用Chisel C ++模拟器

  3. 3

    如何使用pubsub模拟器在本地调用Firebase Schedule函数

  4. 4

    如何在 SystemVerilog 模拟器之间生成重复的随机数序列?

  5. 5

    如何在不同的模拟器中使元素稳定?

  6. 6

    如何在iOS中使用模拟器进行GPS坐标调试?

  7. 7

    如何在Xcode 12中使用iOS 12模拟器

  8. 8

    如何在模拟器环境中使用UIImagePickerController的CameraOverlayView属性

  9. 9

    如何在Cocos2d中使用ipad模拟器进行测试?

  10. 10

    使用C#连接到Android模拟器

  11. 11

    在模拟器中使用离线地图

  12. 12

    在模拟器中使用离线地图

  13. 13

    在模拟器中使用didReceiveUserInfo

  14. 14

    如何使用代码在模拟器上模拟不良的Internet连接

  15. 15

    如何使用代码在模拟器上模拟不良的Internet连接

  16. 16

    如何在C#中使用构造函数调用方法?

  17. 17

    如何在C中使用结构调用函数?

  18. 18

    如何在NEST模拟器中设置连接的突触类型?

  19. 19

    连接设备后如何在eclipse中启动android模拟器?

  20. 20

    如何在带有Appium的Android模拟器中禁用互联网连接?

  21. 21

    如何在iOS模拟器Delphi Seattle上进行HTTPS调用

  22. 22

    如何使用 React Native 连接到 Android TV 模拟器(在 Mac OS 上)?

  23. 23

    如何在Jest中使用axios模拟API调用?

  24. 24

    如何从网络断开Windows Phone 8.1模拟器的连接?

  25. 25

    如何从IDEA连接Android Studio模拟器?

  26. 26

    如何将我的模拟器连接到Internet。

  27. 27

    如何通过Android连接到SMSC模拟器?

  28. 28

    如何知道cocotb测试台中使用了哪个模拟器?

  29. 29

    无法使用 Xamarin Forms 连接到 iOs 模拟器

热门标签

归档