我在网上看过,讨论/示例似乎是针对传统软件开发的。由于 Verilog 和 VHDL(用于芯片设计,例如 FPGA 和 ASIC)与软件开发 C 和 C++ 相似,因此看起来是有道理的。但是,它们有一些差异,它们基本上是并行的,并且需要硬件来进行全面测试。
你有过哪些好的和坏的经历?您可以在此特定应用程序上建议任何链接吗?
编辑/澄清:2009 年 10 月 28 日:我特别询问 TDD。我熟悉做测试台,包括自检台。我也知道 SystemVerilog 有一些用于测试台的特殊功能。
2009 年 10 月 28 日:暗示的问题包括 1) 为任何功能编写测试,从不使用波形进行模拟和 2) 首先编写测试/测试平台。
2009 年 11 月 29 日:实证研究表明,测试驱动开发提高了他们报告的(软件)TDD 质量“四种产品的预发布缺陷密度(以每千行代码的缺陷数衡量)下降了 40% 到 90%相对于不使用 TDD 的项目。团队管理层主观地报告说,使用 TDD 的团队的初始开发时间增加了 15-35%,尽管团队同意这可以通过降低维护成本来抵消。减少的错误降低了流片的风险,但代价是适度的进度影响。 这也有一些数据。
2009 年 11 月 29 日:我主要做控制和数据路径代码,而不是 DSP 代码。对于 DSP,典型的解决方案包括 Matlab 位精确仿真。
2010 年 3 月 2 日:TDD 的优点是您可以确保测试首先失败。我想这也可以通过断言来完成。