问题标签 [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.

0 投票
1 回答
385 浏览

vhdl - VUnit:错误 - 无法使用 `udp_ip_stack-master` 添加名为 work 的库

想尝试VUnit,因此遵循入门 1-2-3

对于博客 1,我安装了 Python 版本。3.6 并使用 ModelSim 版本。10.5a。

对于博客 2,我下载了示例项目udp_ip_stack-master.zip 示例项目,但是当我运行时:

结果是如下所示的错误:

该项目不应定义任何名为 的库work,并且作为示例项目,我希望它开箱即用。可能是什么问题?

0 投票
1 回答
1109 浏览

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”是未知的,需要一个参数,或者给出了一个错误的参数。

0 投票
1 回答
684 浏览

python - 如何将多个 VUnit run.py 文件合并到一个 VUnit 运行中?

我有一个这样的目录和文件结构:

VUnitrun.py可以单独运行。

有没有什么好方法可以将这些多个单独的 VUnit 运行组合成一个带有组合状态报告的运行?

0 投票
1 回答
58 浏览

vunit - 我可以控制 VUnit 测试台的执行顺序吗?

我的设计项目中有几个 VUnit 单元测试平台和一个顶级测试平台。VUnit 找到我所有的测试平台并执行它们。我想控制测试台的执行顺序,所以我可以让较短的测试台先执行。这是 VUnit 中可用的功能吗?

0 投票
2 回答
231 浏览

vhdl - VUnit 测试顺序组件

如何使用 VUnit 测试库和使用 VHDL 正确测试顺序组件?我一直在使用它来测试使用wait for语句等的组合组件。它的示例我的 github 存储库中。

显然我必须生成一个时钟信号,clk <= not clk after half_period;但如何等待它?我会写类似wait until rising_edge(clk). 但是,如果我想将时钟提前多个时钟周期?有没有比多次复制以上行更好的方法?

0 投票
1 回答
102 浏览

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,但在某处它会尝试将其转换为已签名。

0 投票
1 回答
136 浏览

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. 有没有办法正确编译测试,没有:

  1. 重新编译foo.vhdbar.vhd为每个测试?
  2. 为每个测试复制相同的文件tb_top.vhdrun.py

我正在使用 VUnit 4.2.0 和当前的 ghdl 大师。如果需要,我可以准备 MWE。

0 投票
1 回答
113 浏览

unit-testing - 如何在系统级别使用 VUnit

我有一个包含多个结构实体的项目,每个结构实体都有子实体,如下图所示。

在此处输入图像描述

现在我正在尝试计划测试阶段。我检查了 UVVM、OSVVM 和 VUnit,发现 VUnit 是最简单、最快的启动方式。

我已经阅读了文档并对提供的示例进行了一些操作,然后我开始为一些子实体(如 A1、A2、...等)编写一些测试。

我的问题是如何在系统级别使用 VUnit 进行测试,我应该如何构建我的测试平台?

  • 我应该为所有子实体编写测试,然后为结构实体编写测试,然后为整个系统编写测试吗?
  • 我应该为结构实体编写测试作为交易吗?
  • 我是否应该在一个单独的架构文件中为所有子实体编写测试,并在顶级测试平台的测试套件中按顺序运行它们?
  • 还有其他建议吗?
0 投票
1 回答
160 浏览

vunit - 是否可以让 VUNIT 运行基于顶级泛型的测试套件?

我是 Vunit 的新手 - 但不是测试。我目前有一个设置,其中我有使用大量 OSVVM 的测试平台,其中设置是通过泛型提供给测试平台的,我使用 TCL 或 Pytest 通过完整的测试套件运行测试。

已经开始正确地研究 Vunit,我可以看到它可能会做我所追求的,或者至少允许我将一些测试套装用于一些测试到 VHDL 中,但我找不到的是一个例子,其中的一部分例如,测试用例差异涉及使用不同总线宽度或同步/异步时钟进行测试。

有没有办法通过 Vunit 做到这一点?如果有,有没有我可以看的例子?或者您只是希望在同一个 Vunit 测试平台中将它们全部实例化并按顺序运行它们?

我的基础设施 OSVVM 很重,所以我不想改变任何这些——但我正在寻找一个运行者来回归 GitLab 中的测试用例。TCL 没有削减它(主要是因为 ActiveHDL 有一个错误,它不能在 TCL 中正确捕获运行时异常)。

0 投票
1 回答
121 浏览

vhdl - 在 VUnit 中测试断言失败

如果他们不满意,我可能有一些功能会断言并失败。

如何使用 VUnit 测试此功能以确保这些功能确实在正确的条件下引发故障?


例如,假设我想检查这个函数:

如果我传入一个值然后在我的测试台的输出上断言,我可以很容易地测试它是否返回预期值。

但是,我还希望能够使用 VUnit 测试,如果我传入 22 位 SLV,断言会抛出。

这显然是一个非常简化的例子,但它应该解释我的意思。

Assert.Throws(function)如果有帮助,C# 中的等价物将是。