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

virtual-machine - SystemC 在虚拟机中运行,计时问题或损坏的结果?

可以在虚拟机内的来宾操作系统上运行基于 SystemC 的模拟吗?仿真时间会受此影响吗?我知道 SystemC 时间是模拟的,实际上并不依赖于硬件计时器。

并且在配置有 4 核(物理机有 8 个)的虚拟机中运行数十个 SystemC 模拟实例会影响结果吗?

0 投票
1 回答
41 浏览

systemc - 需要更快的软件模块(虚拟原型)?

这个问题与软件建模(虚拟原型)有关。
我不完全理解为什么需要更快的虚拟原型。我的意思是与 RTL 模块相比,它可以在更短的时间内模拟所需功能的模块。
我可以理解需要一个周期精确的软件模块,但不是一个更快的模块。

这个方向有光吗?谢谢!

0 投票
1 回答
683 浏览

systemc - SystemC 中的默认堆栈大小

有谁知道为什么 SystemC 中的默认堆栈大小等于0x50000我们不使用 POSIX 线程(同时使用 Cygwin)和0x20000其他情况?

0 投票
1 回答
1670 浏览

c++ - 错误:未在此范围内声明“sc_unit”(SystemC-2.3.0)

当我编译这个时,我得到了以下错误..但我不知道如何解决这个.. root@ubuntu:/mnt/lnx-arch/systemc-2.3.0/workspace/picoE/first_counter# make g++ -I . -I/mnt/lnx-arch/systemc-2.3.0/包括-L。-L/mnt/lnx-arch/systemc-2.3.0/lib-linux64 > -Wl,-rpath=/mnt/lnx-arch/systemc-2.3.0/lib-linux64 -o first_counter_tb first_counter_tb.cpp > -lsystemc -2.3.0 -lm

0 投票
1 回答
288 浏览

java-native-interface - JNI 调用在 SystemC sc_core::sc_start() 调用中不起作用

在 SystemC 中使用 JNI 时,我遇到了一个非常奇怪的问题,我无法解释自己。

只是关于我使用的环境的一些信息:我目前正在安装 openjdk-6 和 openjdk-7 的 12.04 ubuntu 上进行开发。两个jdks都重现了这个问题!

有这个主要方法:

以及 SystemCWrapper 的以下实现:

结果进入以下控制台输出(Java 程序仅输出“Hello Java!”,如果被调用):

似乎 SystemC 方法sc_core::sc_start();所做的事情是每个 JNI 调用都没有“传递”到 Java。

我已经尝试了一些调整,但即使我将当前线程附加到 jvm 也没有任何变化(因为可以看到线程 ID 甚至保持不变)。

有什么建议么?如果需要更多信息,请告诉我。

0 投票
1 回答
99 浏览

python - 在 VLAB 仿真期间在屏幕上显示图像

我正在 VLAB 下编写一个 SystemC 模拟演示脚本。

如何在屏幕上显示图像,作为演示运行时执行的操作之一?

我尝试使用 wx 打开一个窗口并显示一个图像,但这需要我创建一个 wxApp,它阻塞了我的演示线程。

编辑:

这个问题几乎等同于经常被问到的同一个问题:“如何在 Python 中显示图像?”,因为 VLAB 解释器是 Python。但是,我正在寻找一种不需要我将 VLAB 指向第三方库的解决方案。

0 投票
1 回答
790 浏览

multithreading - SystemC:通道与端口值更新

在从事 SystemC 项目时,我发现我可能对信号和端口有一些混淆的想法。假设我有这样的事情:

我试过运行这个模块,我注意到一些奇怪的东西(至少,对我来说很奇怪):当刺激写入一个值(81)时,在wait(SC_ZERO_TIME)内存线程找到它之后datainenable并且address_enable值已经更新。这是我预期会发生的。当刺激改变enable_es值时也会发生同样的情况,以便在内存线程中运行另一个循环并将data_cell值复制到内存单元dataout端口中。我不明白的是为什么在内存模块写入其dataout端口并再次进入wait()while循环开头的语句后,刺激模块仍然具有其旧值dataout_s通道 (0),而不是刚刚被内存模块复制的新值 (81)。然后,如果我运行另一个内存循环周期(例如更改激励通道上的一些值),数据输出通道最终会更新。

换句话说,如果我写入刺激通道然后切换到内存线程,内存会发现更新的值。但是如果内存线程写入它的端口,然后我切换到激励线程,线程仍然会在其通道上看到旧值(绑定到内存端口)。

0 投票
1 回答
865 浏览

c++ - 在不同的进程上运行 Boost 单元测试

我想在 SystemC 程序中进行单元测试。这个想法是拥有多个测试套件,每个套件中有多个测试。每个测试都需要重置 SystemC 框架(例如,通过调用sc_simcontext::reset()),但这实际上是不可能的,因为一些显然不会很快修复的错误。因此,我决定想出一个解决方法。

我发现如果我在不同的进程上运行每个测试,一切正常。以下代码片段概述了我用来使其工作的方案:

现在我想用 Boost Unit Test 来实现这样一个测试方案。

我一直在研究 Boost Unit Test 库的内部结构,我发现这unit_test_main似乎是触发所有测试执行的函数。但是我无法设计一种非侵入式的方式来与 Boost Unit Test 进行交互,以便在不同的进程上运行每个测试。

有谁知道在不同进程上运行每个测试的简单解决方案?

0 投票
3 回答
7572 浏览

macos - 如何在终端 mac OS X 中使用和安装 SystemC?

如何在终端 mac OS X 中使用和安装SystemC ?
我尝试了逻辑诗人应用程序,但我使用的是 os x 10.10,所以它不起作用。
所以我想知道如何在终端中编译和执行 SystemC。
我在终端中找不到 SystemC 的详细信息。

谢谢

0 投票
2 回答
1677 浏览

systemc - SC_THREAD 不会被其敏感度列表触发

我正在 SystemC 中开发一个简单的 NAND 模块。按照规范,它应该有 4 ns 的延迟,所以我尝试用一​​个带有“等待”语句的进程来描述它SC_THREAD,如下所示:

为了模拟,我创建了另一个模块,输出 NAND 的刺激,如下所示:

描述了这两个模块后,顶部模块(在哪里sc_main)如下所示:

代码编译和模拟没有错误,但是.vcd在 gtkwave 中可视化文件时,输出 (F) 卡在 1 中,仅显示模拟开始时的延迟。

为了测试代码中是否有任何错误,我删除了“等待”语句并在文件中更改SC_THREAD为并再次模拟,现在得到了正确的结果,但当然没有延迟。SC_METHODnand.h

我究竟做错了什么?