关于硬件设计有许多观点,其中更为人们所认可的一条是,越早发现错误越好。然而,在传统的“先设计后验证”流程中,开始纠错之前,错误有充分的时间嵌入设计中。其实不必如此。
我们可以借鉴软件领域的一项技术——测试驱动开发 (TDD) ,通过局部修改设计流程来解决这个问题(图1)。在 TDD 中,你需要在编写代码之前为每个代码单元开发测试工具。
这样的顺序调整听起来似乎没有什么意义。但是越来越多的设计团队发现 TDD 带来了巨大的变化:缩短了设计时间,提高了质量,并使他们能够更好地应对漏洞和功能安全等新问题。