你们中有人在 VHDL 中应用过 TDD 吗?

Have any of you applied TDD in VHDL?

我在软件开发中应用了TDD,真的很棒!现在,我热衷于使用 VHDL 进行 FPGA 设计,并且想知道如何将 TDD 方法应用于它。

你们中有人在FPGA设计中使用过TDD吗?如果是,你好吗?你知道有什么文章或资料可以学习吗?

谢谢!

我从来没有专门应用过 TDD,但我总是有 VHDL 项目中设计组件的测试平台。

虽然不完全在 TDD 的哲学范围内,但很多硬件设计最终都类似于它的某些描述。事实上,我认为硬件通常更适合进行细粒度测试,因为组件通常具有明确定义的输入和输出,而软件单元将依赖许多其他 类 才能使功能有意义。

在正确验证所有子块的情况下,这种相似性很强,特别是如果您认为这些块是 'features'。更重要的是,当在小算术块上使用测试平台的刺激文件时,通常首先从您能想到的一些常见和特殊情况开始,然后在您发现高级测试中的问题时添加更多。您最终将在相当低的级别上迭代工作。

一些不能很好地映射到硬件设计的 TDD 概念包括 'user stories'。除非您专门将项目设计为可扩展的,否则在所有组件都到位之前,您很可能不会看到任何顶级测试通过。

我没有任何特定的链接或材料给你。 运行 所有测试通常涉及许多自定义脚本。除了测试台之外,它通常还涉及断言检查、等效性检查和各种形式的形式验证,但非常详细地执行这些操作可能更针对 ASIC 而不是 FPGA 设计。 Briand Drummond 在评论中提到的 VUnit 看起来很有趣。

请注意,硬件工程师倾向于调用对 VHDL 代码的检查 验证,其中 测试 是您在物理产品上所做的。我有一位教授对这一殊荣充满热情。