【问题标题】:Run same testbench with different parameter files in VUnit在 VUnit 中使用不同的参数文件运行相同的测试平台
【发布时间】:2019-11-21 17:38:54
【问题描述】:

我有一个具有以下结构的项目:

tb_top
├── run.py
└── src
    ├── tb_top.vhd
    ├── test_a
    │   ├── top_parameter.vhd
    │   ├── input.csv
    │   └── output.csv
    ├── test_b
    │   ├── top_parameter.vhd
    │   ├── input.csv
    │   └── output.csv
    └── ...
src
├── bar.vhd
├── foo.vhd
└── top.vhd

top.vhd 包括每个测试用例的foo.vhdbar.vhdtop_parameter.vhd。在run.py 中,首先编译src/ 文件夹中的文件,然后编译每个测试用例的top_parameter.vhd。所有文件都在同一个库中。运行run.py时出现如下错误:

tb_top/src/tb_top.vhd:44:20: entity "top" is obsoleted by package "top_parameter"
/usr/local/bin/ghdl: compilation error

显然,每次重新编译top_parameter.vhd 时都应该重新编译top.vhd,但我不知道如何构造我的run.py。有没有办法正确编译测试,没有:

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

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

【问题讨论】:

    标签: python ghdl vunit


    【解决方案1】:

    编译的库不能在 VUnit 中的测试运行之间更改。首选的解决方案是将参数作为顶级泛型传递,而不是使用单独的文件。

    但是,我不想更改文件结构。所以在我的例子中,top_parameter.vhd 和所有依赖文件都被编译到每个测试用例的单独库中。要选择正确的库,需要将一个额外的泛型传递给测试平台。

    更多详情和其他选项可以在here找到。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-25
      • 2013-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多