gpt4 book ai didi

verilog - 使用 DPI 将任务导出到 'C

转载 作者:行者123 更新时间:2023-12-02 18:53:42 24 4
gpt4 key购买 nike

我有一个基于 verilog 的测试平台,使用 DPI 连接到“C 源”。现在我计划使用 DPI 编写整个固件。为此,我需要 3 件事

  • 注册阅读
  • 注册写入
  • 中断处理程序据我了解,寄存器读取和写入是我需要从 RTL 测试平台导出的任务。和中断处理程序(我通过从 'C 导入函数来实现)。

我检查了大部分 cadence 文档,没有发现有用的提示。我也已在 cadence 用户社区注册,但在他们批准我的注册之前,我似乎无法提出问题。

万一有人意识到这一点,我们将不胜感激他们的帮助。

最佳答案

其实我是这么想的。

//--From RTL ---
export "DPI" task reg_read;

task reg_read;
input int nAddr;
output int nVal;

// -- read implementation --

endtask

// -- From C code
extern void reg_read (int nAddr, int *pVal);

void test_read (void)
{
int nRegVal;

// Dummy checking !!
reg_read (0x100, &nRegVal);
}

// -- Again in RTL --
import "DPI" context task test_read ();

这对我使用 ncverilog 有效。

关于verilog - 使用 DPI 将任务导出到 'C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/724476/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com