网站首页

人工智能P2P分享搜索全网发布信息网站地图标签大全

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

谈谈Verilog/System Verilog和C的几种交互模式

时间:2023-06-01 17:32

人气:

作者:admin

标签: system  谈谈  Verilog       

导读:PLI全称 Program Language Interface,程序员可以通过PLI在verilog中调用C函数,这种访问是双向的。...

最近有群友问我system Verilog 和C怎么交互,在网上搜了一圈发现资料比较少,今天这里就和大家讲讲system Verilog 和C的交互。话不多说直接上干活。

第一种 Verilog 通过PLI调用C函数。

PLI全称 Program Language Interface,程序员可以通过PLI在verilog中调用C函数,这种访问是双向的。这些用户定义的系统任务和函数的名称必须以美元符号"" 开头。大家用得比较多的PLI函数有display,$finish等。

用户可以自定义PLI函数,下面是一个简单的PLI应用例子。

以下是一段C代码

image.png

下面是一段调用C的verilog的代码

image.png

第二种 System Verilog 通过DPI和C进行交互

为了更加简洁的连接C,system verilog 引入了DPI(Direct Programming Interface)。只要使用import声明和使用,导入一个C子程序,就可以像调用System Verilog中的子程序一样来调用它。相反,如果C想用system verilog里面的函数用export 声明即可。下面是一个简单的例子。

在System Verilog 里面调用C函数

C代码和上面一样

image.png

System Verilog的代码如下

image.png

在C中调用System Verilog 函数

System Verilog 的代码如下

image.png

C代码如下

image.png

第三中 System Verilog 和C的交互方式是通过TLM1.0或者TLM2.0 进行交互。

image.png

这种交互方式主要应用在System Verilog 和systemc 上。对于systemc一般人用得比较少,所以这类交互也比较少用。下面是一个简单的例子

Systemc 的编码,其中cnn_inst的接口in是tlm1/tlm2类型port。

image.png

System verilog 的编码,cpu_inst.out 为tlm1/tlm2类型的port。

image.png

第四种交互方式,通过CPU执行C代码,从而实现verilog 和C的交互。

C代码通过工具链编译成CPU可以执行的汇编指令,再将汇编指令转成对应的指令代码,然后通过CPU读取指令代码产生激励,实现C代码所描述的功能。

以上是Verilog/System Verilog 和C的几种交互模式,小伙伴们学会了吗?

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信