有没有人在VHDL中应用TDD?

时间:2016-10-16 11:32:14

标签: tdd vhdl fpga

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

有没有人在FPGA设计中使用过TDD?如果是的话,你怎么办?你知道要学习的文章或材料吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

我从未专门应用过TDD,但我总是为VHDL项目中的设计组件提供测试平台。

尽管它并不完全符合TDD的理念,但许多硬件设计最终都与其描述类似。实际上,我认为硬件通常更适合以细粒度进行测试,因为组件通常具有明确定义的输入和输出,其中软件单元将依赖于许多其他类来使功能有意义。

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

一些不能很好地映射到硬件设计的TDD概念包括“用户故事”的概念。除非您专门设计了可扩展的项目,否则在您的所有组件都到位之前,您更有可能看不到任何顶级测试。

我没有任何具体的链接或材料供您使用。通常,有许多自定义脚本用于运行所有测试。除了测试平台之外,它通常还包括使用断言,等效性检查和各种形式的形式验证进行检查,但这样做非常详细,可能比ASIC设计更具体。 Briand Drummond在评论中提到的VUnit看起来非常有趣。

请注意,硬件工程师倾向于调用VHDL代码验证,其中 testing 是您在物理产品上执行的操作。我有一位对这种区别充满热情的教授。