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

您所在的位置:网站首页 systemc和systemverilog 谈谈Verilog/System Verilog 和C的几种交互方式

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

2023-01-23 19:13| 来源: 网络整理| 查看: 265

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

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

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

用户可以自定义PLI函数,下面是一个简单的PLI应用例子。以下是一段C代码下面是一段调用C的verilog的代码第二种 System Verilog 通过DPI和C进行交互为了更加简洁的连接C,system verilog 引入了DPI(Direct Programming Interface)。只要使用import声明和使用,导入一个C子程序,就可以像调用System Verilog中的子程序一样来调用它。相反,如果C想用system verilog里面的函数用export 声明即可。下面是一个简单的例子。在System Verilog 里面调用C函数C代码和上面一样System Verilog的代码如下在C中调用System Verilog 函数 System Verilog 的代码如下C代码如下第三中 System Verilog 和C的交互方式是通过TLM1.0或者TLM2.0 进行交互。

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

Systemc 的编码,其中cnn_inst的接口in是tlm1/tlm2类型port。System verilog 的编码,cpu_inst.out 为tlm1/tlm2类型的port。第四种交互方式,通过CPU执行C代码,从而实现verilog 和C的交互。C代码通过工具链编译成CPU可以执行的汇编指令,再将汇编指令转成对应的指令代码,然后通过CPU读取指令代码产生激励,实现C代码所描述的功能。以上是Verilog/System Verilog 和C的几种交互模式,小伙伴们学会了吗?


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3