问题标签 [vunit]
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.
vhdl - VUnit:错误 - 无法使用 `udp_ip_stack-master` 添加名为 work 的库
对于博客 1,我安装了 Python 版本。3.6 并使用 ModelSim 版本。10.5a。
对于博客 2,我下载了示例项目udp_ip_stack-master.zip 示例项目,但是当我运行时:
结果是如下所示的错误:
该项目不应定义任何名为 的库work
,并且作为示例项目,我希望它开箱即用。可能是什么问题?
vhdl - 如何使用 VUnit 为 ModelSim 添加编译选项?
使用 ModelSim 和VUnit我尝试编译一些UVVM,但这会给出一些警告,例如:
** 警告:C:\work\Qtec\SVN_sim\Design\uvvm\uvvm_util\src\methods_pkg.vhd(1159): (vcom-1346) 接口对象的默认表达式不是全局静态的。
所以我想禁止这些警告,所以我尝试使用add_compile_option
基于VUnit Python Interface更新 VUnit“run.py”文件:
但是在编译时,我得到了错误:
编译 ....\uvvm\uvvm_util\src\types_pkg.vhd 成 uvvm_util ...
** 错误(可抑制):(vcom-1902)选项“-suppress 1346”是未知的,需要一个参数,或者给出了一个错误的参数。
python - 如何将多个 VUnit run.py 文件合并到一个 VUnit 运行中?
我有一个这样的目录和文件结构:
VUnitrun.py
可以单独运行。
有没有什么好方法可以将这些多个单独的 VUnit 运行组合成一个带有组合状态报告的运行?
vunit - 我可以控制 VUnit 测试台的执行顺序吗?
我的设计项目中有几个 VUnit 单元测试平台和一个顶级测试平台。VUnit 找到我所有的测试平台并执行它们。我想控制测试台的执行顺序,所以我可以让较短的测试台先执行。这是 VUnit 中可用的功能吗?
vhdl - VUnit 测试顺序组件
如何使用 VUnit 测试库和使用 VHDL 正确测试顺序组件?我一直在使用它来测试使用wait for
语句等的组合组件。它的示例在我的 github 存储库中。
显然我必须生成一个时钟信号,clk <= not clk after half_period;
但如何等待它?我会写类似wait until rising_edge(clk)
. 但是,如果我想将时钟提前多个时钟周期?有没有比多次复制以上行更好的方法?
vhdl - vunit_lib.array_pkg 中的 data_width 限制(32 位)是否有解决方法
我正在运行 array_axis_vcs VUNIT 示例。现在我想根据我的需要自定义示例,增加 data_width 大小(示例中为 32 位)。
这样做会出现以下错误。包中的 AXIS 数据宽度似乎有 32 位的限制。
这是有根本原因的吗?也许是一种解决方法?
实际上,我想每个时钟周期传输 32 个有符号(9 到 0)值,然后我会将其映射到 std_logic_vector(319 到 0)。我希望 AXIS 代码只是将此有效负载视为 std_logic_vector,但在某处它会尝试将其转换为已签名。
python - 在 VUnit 中使用不同的参数文件运行相同的测试平台
我有一个具有以下结构的项目:
top.vhd
包括foo.vhd
,bar.vhd
以及top_parameter.vhd
每个测试用例。在run.py
中,首先编译文件src/
夹中的文件,然后编译top_parameter.vhd
每个测试用例。所有文件都在同一个库中。运行时run.py
显示以下错误:
显然,top.vhd
每次重新编译时都应该重新top_parameter.vhd
编译,但我不知道如何构建我的run.py
. 有没有办法正确编译测试,没有:
- 重新编译
foo.vhd
和bar.vhd
为每个测试? - 为每个测试复制相同的文件
tb_top.vhd
?run.py
我正在使用 VUnit 4.2.0 和当前的 ghdl 大师。如果需要,我可以准备 MWE。
unit-testing - 如何在系统级别使用 VUnit
我有一个包含多个结构实体的项目,每个结构实体都有子实体,如下图所示。
现在我正在尝试计划测试阶段。我检查了 UVVM、OSVVM 和 VUnit,发现 VUnit 是最简单、最快的启动方式。
我已经阅读了文档并对提供的示例进行了一些操作,然后我开始为一些子实体(如 A1、A2、...等)编写一些测试。
我的问题是如何在系统级别使用 VUnit 进行测试,我应该如何构建我的测试平台?
- 我应该为所有子实体编写测试,然后为结构实体编写测试,然后为整个系统编写测试吗?
- 我应该为结构实体编写测试作为交易吗?
- 我是否应该在一个单独的架构文件中为所有子实体编写测试,并在顶级测试平台的测试套件中按顺序运行它们?
- 还有其他建议吗?
vunit - 是否可以让 VUNIT 运行基于顶级泛型的测试套件?
我是 Vunit 的新手 - 但不是测试。我目前有一个设置,其中我有使用大量 OSVVM 的测试平台,其中设置是通过泛型提供给测试平台的,我使用 TCL 或 Pytest 通过完整的测试套件运行测试。
已经开始正确地研究 Vunit,我可以看到它可能会做我所追求的,或者至少允许我将一些测试套装用于一些测试到 VHDL 中,但我找不到的是一个例子,其中的一部分例如,测试用例差异涉及使用不同总线宽度或同步/异步时钟进行测试。
有没有办法通过 Vunit 做到这一点?如果有,有没有我可以看的例子?或者您只是希望在同一个 Vunit 测试平台中将它们全部实例化并按顺序运行它们?
我的基础设施 OSVVM 很重,所以我不想改变任何这些——但我正在寻找一个运行者来回归 GitLab 中的测试用例。TCL 没有削减它(主要是因为 ActiveHDL 有一个错误,它不能在 TCL 中正确捕获运行时异常)。
vhdl - 在 VUnit 中测试断言失败
如果他们不满意,我可能有一些功能会断言并失败。
如何使用 VUnit 测试此功能以确保这些功能确实在正确的条件下引发故障?
例如,假设我想检查这个函数:
如果我传入一个值然后在我的测试台的输出上断言,我可以很容易地测试它是否返回预期值。
但是,我还希望能够使用 VUnit 测试,如果我传入 22 位 SLV,断言会抛出。
这显然是一个非常简化的例子,但它应该解释我的意思。
Assert.Throws(function)
如果有帮助,C# 中的等价物将是。