问题标签 [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 投票
1 回答
796 浏览

c++ - C++/SystemC:从 C++ 中的数组返回特定​​范围的值

这就是我正在尝试的。我已将结构传递给函数。在函数中,我将结构的值存储在一个数组中。在返回时,我只想发送基于特定条件在数组中定义的那些值。例如,假设我有一个 10 的数组定义,我想在函数中根据条件从该数组中只返回 5 个值。这是一个示例代码:

0 投票
2 回答
181 浏览

semaphore - 请帮助解释 SystemC 中信号量通道的代码

最近在学习systemc,有一个关于信号量通道的问题。

我在 asic 世界(http://www.asic-world.com/systemc/channels3.html)上找到了一个例子,但有点困惑。

在这个例子的前 1ns,第一个进程 bus_semaphore() 工作并且可以打印出两行“@1 ns ....”。同时,信号量值(bus)变为2(bus.post()),然后等待下一个时钟posedge。

对于第二个进程do_read(),也是在1ns,第一行“@”可以正常打印出来,但是下一个if语句中的trywait()呢?第一个和第二个进程应该同时执行,也就是说我们无法确定trywait()是在第一个进程的bus.post()语句之前还是之后执行,所以我们不知道第二个“@”是否第二个过程的行将被打印出来。

但是页面底部显示的答案意味着 trywait() 将在 bus.post() 执行后执行,以便打印出第二个“@...”语句。如何确定在 bus.post() 执行后 trywait() 将执行?

提前致谢!

0 投票
3 回答
695 浏览

systemc - SystemC:SC_THREAD 未启动

我简单的“HelloWorld”程序不起作用。程序会打印通常的 SystemC 版权声明,但不会打印“Hello World”字符串)。

SC_METHOD如果我使用(removing calls)编写类似的程序wait,我可以看到打印的消息。

这是什么原因造成的?

0 投票
1 回答
434 浏览

systemc - 错误:输出文件 ./.noxim_explorer.tmp 已损坏,noxim 工具

我正在使用 SystemC 和名为“Noxim”的片上网络模拟器,我听说它非常流畅和简单。

运行make没有问题

但是,当我运行 ./noxim_explorer sim.cfg 时出现错误

./noxim -routing xyz -sel random -dimx 8 -dimy 8 >./.noxim_explorer.tmp 2>&1 错误:输出文件 ./.noxim_explorer.tmp 已损坏

我认为它来自一个 cpp 代码,我不拥有它,并且真诚地,不完全理解。代码可以在下面找到,完整的 Noxim 分布可以在这里找到:

代码位于Noxim /other/

Noxim_explorer.cpp 和 sim.cfg 与我试图做的实验室密切相关。

请,如果有人解决了这个问题或有任何想法,那将非常有帮助。

记录:我在尝试关注这个实验室时被卡住了,因为我无法在 matlab 文件中获得任何信息

0 投票
2 回答
2128 浏览

python - Jinja2 ASCII 转字符串

我的 Jinja2 模板中有这一行:

其中 types 是模板中其他地方使用的 C++ 中各种类型的列表,输出是 SystemC 程序的一部分,用于初始化模块信号。目标是获得这样的输出,其中字符从小写 a 开始:

但是,它给出了这个错误:“+ 的不支持的操作数类型:'int'和'str'”所以我尝试将模板更改为:

但后来的输出是这样的

似乎问题在于没有办法在 Jinja2 模板中将整数转换为其对应的 ASCII 字符。我尝试了“chr()”,但这是一个 Python 函数,而不是 Jinja2 函数,并且不起作用。我想知道是否有人有这方面的经验并可以帮助我?

0 投票
0 回答
229 浏览

c++ - 在 Mac OS X 中使用 SystemC 的 Nirgam 运行时错误

我正在运行nirgam 3.0,它是我的 MacBook(Mac OS X 10.10)中基于开源 SystemC 的 NoC 模拟器。我成功编译了 nirgam 源代码,但是当尝试运行它时,它会抛出“分段错误”,如下所示:

我尝试使用lldb来找出错误,并得到以下提示:

以下事实可能是一个提示:

  1. 我可以编译和运行其他基于 SystemC 的代码,包括 Noxim 和我在系统环境中编写的其他代码。

  2. lldb 信息显示,在基于 SystemC 的建模中,出现了一个错误sc_main,这是一个主要功能。

我的问题是:

  1. EXC_BAD_ACCESS调用函数时是什么意思sc_main

  2. 有什么方法可以用来接近这个错误的根源吗?

0 投票
1 回答
164 浏览

c++ - systemC 错误:没有构造函数“BlackBox”的实例... ETC

我正在尝试在 SystemC 中制作一个模块,但必须与这个错误作斗争。

错误:

没有构造函数“BlackBox::BlackBox with[R=1, expR =3, C=5, expC=-6, T=1, expT=-1]”的实例与参数列表匹配

我不知道问题出在哪里。似乎这行代码导致了它:

dut0 = new BlackBox<1,3, 5,-6, 1,-4> ("DUT0");//错误

有人可以帮我解决这个问题吗?我将不胜感激。

我的代码是:




0 投票
1 回答
3945 浏览

c++ - 错误 C4716:'operator<<':必须返回一个值

我正在努力为这个运算符获得适当的回报(这不是我的代码,只是试图更正它,而且我不如我应该在 C++ 中更正它)任何人都可以帮我解决这个问题,它是数据类型类定义为数字电路的高级设计。

如何在temp没有错误的情况下返回这个,有什么特殊的方法吗?

当我添加返回操作系统时;

我收到了 226 个错误,这些错误指向那里的 systemC 库和实例。是否有人针对 systemC 类完成了流运算符的声明,或者有人知道它是如何完成的?

0 投票
1 回答
114 浏览

systemc - Accellera SystemC 实现是否错误地实现了 to_long()?

考虑以下 SystemC 代码:

如我所料,这会打印出 -2 而不是 6。这样做的明显原因是 to_long() 将位向量 0b110 解释为有符号。但是,在IEEE Std 1666-2011中,它在第 7.2.9 节中提到了整数转换函数,例如 to_long():

我是否误解了某些东西,或者 Accellera 的 SystemC 实现在这方面没有遵守标准?

0 投票
2 回答
131 浏览

c++ - 返回引用 C++/SystemC 的类方法

要将用户定义的数据类型传递到 SystemC 通道模板中,需要将这些数据类型定义为一个类,该类还实现了不同类型的运算符<<===

我需要定义一个sc_fifo例如:

为此,必须route_t按照以下示例编写数据类型。

  1. 为什么 SystemC 需要这样的实现?
  2. 为什么operator=需要返回对对象本身的引用?它只是更新内部成员。
  3. 可以将数据类型定义为 astruct而不是使用实现所需运算符的内部方法吗?
  4. 为什么inline在这种情况下使用?
  5. 返回如何*this等同于在方法声明中返回对对象的引用?