问题标签 [systemc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
2012 浏览

systemc - SystemC 构造函数,类

我是systemc的新手。我有一个困惑。

我正在创建一个sc_module(hello_world). 花sc_ctor(hello_world)括号之间没有任何内容,我只是void say_hello()在模块内部有一个简单的函数,它打印“hello world”。

在中sc_main,我这样做了:

但是,我收到一个错误error C2228: left of '.say_hello' must have class/struct/union.

我试过了,它奏效了:

sc_main,我这样做了:

为什么它首先显示错误?我没有使用一个参数构造函数。

那么,不是hello_world hello("hi ")不应该hello_world hello吗?我只是想与 C++ 类进行比较。

0 投票
2 回答
2438 浏览

systemc - 编写D触发器的主程序

我是 systemC 编程的新手,我正在编写一个 D 触发器,但我找不到编写主程序和输入信号的方法(在我的情况下是 din、clock 和 dout):

这是我的代码:

0 投票
3 回答
4207 浏览

systemc - 在 systemC 中,如何在 end_of_simulation 例程中获得 sc_time

我想报告模拟结束时的时间。我以为我会使用 end_of_simulation 例程,只需在例程中执行一个 sc_timestamp 即可。

问题是内核在 end_of_simulation 之前终止,我得到了一个虚假的时间戳。

我不能真正使用线程来确定这一点,因为让我脱离模拟的是所有线程都在等待事件。没有“主线程”我可以只存储时间戳。

有什么想法吗?

0 投票
1 回答
764 浏览

systemc - 在 SystemC 中获取 VCD 跟踪信号的名称

SystemC 允许通过 sc_trace 函数跟踪信号(或成员等),结果是可以在其他程序中使用的 VCD 文件。但是,这些信号的命名相当随意,函数接受任何字符串(不必与变量本身相关)作为要转储的信号的名称。

问题是:我可以通过 SystemC API 以某种方式获取从 sc_interface 对象到用作其名称的字符串的映射吗?我正在以其他方式记录大量数据,能够以某种方式将我检索到的值连接到 VCD 数据会很好,如果我只有转储值和随机字符串标识符。

0 投票
5 回答
10377 浏览

c++ - 加载共享库时出错:libsystemc-2.3.0.so

我是 Linux 的新用户,我正在尝试systemc-2.3.0在我的机器(Fedora 16)上安装库。我非常仔细地遵循了库的 INSTALL 文件中提到的每条说明,但是当我尝试使用 ECLIPSE 运行一个简单的程序时出现错误。我已在 ECLIPSE 中正确链接了所有库,但仍然出现错误。

程序如下:

错误输出是:

/home/vivek/workspace/TestSystemC/Debug/TestSystemC:加载共享库时出错:libsystemc-2.3.0.so:无法打开共享对象文件:没有这样的文件或目录

任何帮助将不胜感激。由于我不是 Linux 专家,请以详尽的方式(逐步)解释您的建议。

谢谢你。

0 投票
1 回答
479 浏览

c++ - 在 SystemC 中启用 debugf

我正在查看 SystemC 的源代码,发现有以下内容:

后来有几行,例如:

(这些来自sc_cor_pthread.cpp

我在配置使用时已经启用了调试选项,../configure --enable-debug但它似乎没有激活这些东西。我应该如何打开这些而不是手动修改源?

0 投票
2 回答
4710 浏览

systemc - Code example for a TLM fifo

I am new to TLM. Someone can give me an example code for connecting two processes by a TLM fifo?

Thank you

0 投票
1 回答
126 浏览

c++ - 参数化 sc_lv 时报告错误(表达式必须具有常量值)

我正在使用 System C。在课堂上

首先我声明了一个整数:

然后我在使用 G_WIDTH :

当我试图模拟它时。报以下错误:

表达式 <*sc_in < sc_lv > a;*> 必须有一个常数值。

当我使用:

它工作正常。

谁能帮我解决这个问题?

0 投票
2 回答
1807 浏览

system-verilog - System Verilog wait() 语句将等待的最短时间/周期是多少?

我有一个 SystemVerilog 任务,我正在尝试移植到 SystemC。任务的主体只是等待一个布尔表达式,然后推送到一个队列中。SystemC 等待机制的工作方式并不完全相同,它只会等待时间或事件。

所以我想知道 SystemVerilog wait() 在重新测试布尔表达式之前等待的最小周期/时间长度是多少。换句话说,在 SV wait() 中驱动重新测试布尔表达式的频率或原因是什么?

如果答案只是每个周期一次,我希望并期望但无法确认,那么解决方案很容易。

这是代码,其中一些内容被重命名和简化,以便脱离上下文更有意义:

0 投票
3 回答
949 浏览

verilog - 将位/逻辑向量的 SystemC 结构安全地转换/转换为单个位/逻辑向量

我正在将代码从 SystemVerilog 移植到 SystemC。SV 很容易将位/逻辑的打包结构解释为单个位/逻辑向量。例如:

但是对于 SystemC 和使用 sc_lv<> 模板,由于类型不匹配,这会导致编译器错误。

有没有一个很好的 SystemC 支持的方法来做这个等价物?我可以想到潜在的解决方案,但它们并不优雅或简洁,而且我不确定 c 风格的指针转换是否安全/正确。