testing - 如何管理大型 VHDL 测试平台

标签 testing vhdl

我在不同的 VHDL 项目中一再看到的一个问题是顶层测试平台总是很大并且难以保持组织。基本上有一个主要的测试过程,其中每个测试信号都受到控制或验证,随着时间的推移,这个过程变得非常庞大。我知道你可以为较低级别的组件制作测试平台,但这个问题主要适用于顶级输入/输出测试。

我想要某种层次结构来使事情井井有条。我尝试过实现 VHDL 程序,但编译器非常不高兴,因为它认为我试图从不同的代码部分分配信号...

VHDL 中是否有任何可用的东西来实现 c 编程的内联函数或#define 预处理器替换宏的行为?如果没有,你有什么建议?如果我的顶级测试台看起来像这样,我会很高兴:

testClockSignals();
testDigitialIO();
testDACSignals();
...

在单独的文件中实现这些功能会锦上添花。哈哈...我只是想用 C 编写和模拟测试台。

最佳答案

VHDL 要求您在过程中编写过程(如@MortenZdk 所建议的那样)或将所有 IO 传递给它。

我的偏好是只将我的程序放在包中,所以我使用 pass all IO 方法。为了简化传递的内容,我使用记录。如果将其减少为一条记录,它将是 inout 并且需要对记录的元素执行解析函数。

有关此方法的更多想法,请转到:http://www.synthworks.com/papers/并查看标题为: “通过使用前加速验证……”(靠近底部)和 “跨越 SystemVerilog 的 VHDL 测试台技术”(在顶部)

另一个关键方面是为每个独立的接口(interface)使用一个单独的进程。这样可以为不同的接口(interface)同时生成刺激。论文中也说明了这一点。

关于testing - 如何管理大型 VHDL 测试平台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20461988/

相关文章:

html - 如果静态资源在 CDN 上,如何在本地调试站点?

vhdl - vhdl 中输入向量导致的 Mod 错误

vhdl - 使用 QuestaSim 编译 VHDL 时出现警告 "Range choice direction does not determine aggregate index range direction"

vhdl - 我无法让 Xilinx uartlite IP 工作

typescript - vscode-test - 调用 runTests 时出错

android - Android beta测试如何应对不同后端环境?

Scrum 中的测试

testing - 在 telerik test studio 中单击客户文本 block 的代码

concurrency - 使用并发语句实现触发器

windows - ghdl 不生成二进制文件 (windows)