问题标签 [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 回答
1111 浏览

c++ - 使用 g++4.5.2 编译时对类的引用不明确

我需要一些帮助:当使用 g++ 4.1 构建我的代码时,没有关于“对类的引用不明确”的错误。仅在使用 g++4.5.2 编译相同代码时才会发生,代码片段如下:

我真的不确定为什么会发生这种情况,因为命名空间的语法肯定是有效的。有一个解决方法可以消除该消息,而不是“使用 tlm_utils::simple_initiator_socket;” 只需输入“tlm_utils::simple_initiator_socketinitiator_socket;” 在上面显示的类的主体中。但是我不明白为什么上面的代码不起作用,因为唯一的变化是编译器版本。

0 投票
3 回答
2904 浏览

c++ - 如何在 C++ 中实现多维关联数组?

我正在将一些 SystemVerilog 移植到 SystemC/C++ 并且遇到了多维关联数组的问题。考虑在 SV 中声明这个数组。

我知道一维关联数组可以使用映射,二维数组可以使用嵌套映射,我相信类似的方法可以解决多维数组,但它会变得非常混乱。

所以我的问题是,

(1) 上述是否正确,从某种意义上说,形式的操作mda[x][y][z]将返回与 SV 代码相同的预期值?

(2) 有没有更好、更清洁的方法?

0 投票
1 回答
500 浏览

systemc - 在运行时动态加载 SystemC 模块

在我的模拟器框架中,硬件/软件模块在 SystemC 中实现并预先构建。要模拟的平台用 XML 描述。模拟器核心解析 XML,确定使用的模块和相应的库文件(例如 Windows 中的 dll),并在运行时动态加载这些模块。但是我没有发现 SystemC 动态加载模块的示例代码。

我怎样才能在 SystemC 中做到这一点?

0 投票
1 回答
584 浏览

system-verilog - SystemVerilog fork/join w/“run()”类型函数和 SystemC

我正在尝试将内存控制器的 SystemVerilog 模型移植到 SystemC,并且想知道run()用 fork 生成并加入 SystemC 的转换类型函数(即使用执行连续处理的永久循环)的最佳方法是什么。这些run()函数通常在模拟开始时生成。我的困惑是 SystemC 确实支持生成线程、fork 和 join,但我相信该语言的目的是SC_THREAD提供这种功能。有没有人有足够的两种语言经验来发表评论?

注意:我认为这个问题更多地与惯例有关,而不是技术上正确或错误的解决方案。可能它可以通过不止一种方式完成。

0 投票
0 回答
472 浏览

system-verilog - 移植 SystemVerilog 风格的时钟分频并驱动到 SystemC

我正在将 System Verilog 模型移植到 SystemC,但我不确定对这种锁相环时钟驱动方案进行建模的最佳方法。在我看来,在 SV 中驱动时钟是一个手动过程,其中 SystemC 为内核提供了一种方法来为你做这件事。但我不知道 SystemC 如何支持在我正在查看的 SV 模型中手动完成的那种时钟划分。

考虑这个简化的 System Verilog 模型。

然后,在测试台中:

所以我的 SystemC 相当于测试台基本上看起来像

但是现在我有点坚持如何正确地模拟从参考时钟驱动的内部时钟。我想我可以尝试像 SV 代码这样的手动方法,但这似乎不像 SystemC 方式。我的另一个想法是尝试直接从 驱动所有时钟sc_main,而不是示例中的 PLL 样式,但我没有经验可以确定它是否会工作。在 SystemC 中做这样的事情有什么约定吗?

0 投票
2 回答
1404 浏览

systemc - 向 SystemC 中的模块发送事件触发器

我想做的感觉就像将 av 事件从一个模块发送到另一个模块(比如按下按钮)。但正如我所搜索的那样,它似乎应该以其他方式完成,因为我还没有找到任何标准的方式来发送 av 事件触发器/通知。

我的简单模型由两个模块组成,1 个发电机和 1 个控制器。我希望生成器能够将控制器中的内部布尔值设置为 true(表示传感器上已注册)。控制器有一个线程,如果自上次以来有注册,则该线程将采取行动,然后将 bool 重置为 false(在 5 秒等待期间有效地忽略并丢弃更多传感器注册)。

我应该如何将信号从发生器发送到控制器?

0 投票
1 回答
246 浏览

systemc - SystemC 2.3.0 支持建模电源域和抽象调度器

新的 SystemC 库 2.3.0 于 2012 年 7 月发布。据报道,它能够支持诸如电源域和抽象调度器等概念的建模。是否有人检查或研究过 SystemC 2.3.0 如何支持电源域和抽象调度程序的建模?任何参考推荐都表示赞赏!

0 投票
1 回答
297 浏览

c++ - 在 SystemC 中检查信号是否有效的最佳方法是什么?

我在 SystemC 仿真中遇到了一个小问题,因为在一个组件中我确实忘记检查信号完整性并且我的仿真因此而中断。基本上我不处理我的信号像"XXXXX...""ZZZZ..."

如何检查信号是否有效?意思不是"ZZZZ...",不是,"XXXX..."而是一个有效的喜欢"000110..."?谢谢

一个小细节

有人指出,也许我在这里问的是检查信号是否为数字。好的,假设信号有效,当然是数字。但是我在一些调试会话中遇到过"XXX..."信号有时被视为 -1 或一般的负数......所以这就是为什么我没有询问如何检查信号是否为数字......

0 投票
1 回答
583 浏览

c - SystemC 中的 OpenCV

我在几个应用程序中都使用了 OpenCV 和 SystemC,非常满意。

现在,我有了这个应用程序,我需要在 SystemC 仿真环境中使用 OpenCV 显示图像。然而,出于某种原因,这两个包似乎“在运行时”不兼容:

  • cvNamedWindow当我调用或cvShowImage在 SystemC 类中调用之前没有问题sc_start()
  • 但是,当在 a 中调用cvNamedWindowor时,程序的执行将被中止: cvShowImagesc_thread

    线程 1:EXC_BAD_ACCESS(代码=2,地址=0x7c91ad70)。

查询框架( )没有问题,cvQueryFrame似乎只有与窗口相关的功能会导致问题。如果有人知道可能导致此问题的原因,并且对此问题有解决方案或解决方法,那就太好了。

PS我正在使用Xcode,但我认为问题与编码环境无关。

0 投票
1 回答
1237 浏览

systemc - 使用带有 sc_signal 的 std::string 时调用 sc_trace 没有匹配的函数

我正在使用 systemc 进行模拟,我收到一条错误消息,告诉我

g++ -I/opt/Xilinx-14.2/Vivado_HLS/2012.2/Linux_x86_64/tools/systemc/include/ -o testBench.exe testBench.cc -L/opt/Xilinx-14.2/Vivado_HLS/2012.2/Linux_x86_64/tools/systemc/lib -lsystemc -lm /opt/Xilinx-14.2/Vivado_HLS/2012.2/Linux_x86_64/tools/systemc/include/sysc/communication/sc_signal_ports.h:在成员函数 void sc_core::sc_in::end_of_elaboration() [with T = std: :basic_string, std::allocator >]: testBench.cc:126: 从这里实例化

/opt/Xilinx-14.2/Vivado_HLS/2012.2/Linux_x86_64/tools/systemc/include/sysc/communication/sc_signal_ports.h:285:错误:没有匹配函数调用 sc_trace(sc_core::sc_trace_file*&, const std:: basic_string, std::allocator >&, std::string&)

你们对这个错误是什么以及如何解决它有任何想法吗?