【读书笔记·VLSI电路设计方法解密】问题43:什么是TestBench
功能验证是当今高度集成的IC芯片交付过程中的瓶颈之一。验证的复杂性往往随着设计规模的增加呈指数级增长。SoC集成水平的持续提升给当今的验证工程师带来了巨大的负担。尽管验证任务变得更加困难,他们仍必须确保在设计交付制造时不会遗漏任何错误。
在IC设计领域,“错误”(bug)一词用于描述设计过程中无意引入的设计错误。错误通常会导致系统行为异常,从而引发功能错误,甚至最坏的情况下导致芯片失效。验证的任务是发现系统中的所有错误。在这一任务中,首选的工具是为仿真设计而创建的测试平台(test bench)。
测试平台是用硬件描述语言(HDL,如VHDL和Verilog)或其他一些高级语言构建的实体。它激励被测模块(设备)并观察其行为。如图4.4所示,测试平台是驱动设备并提供激励的驱动器。它还会捕获设备在这一组激励下的行为,以评估其性能。如果测试结果与预期不符,则可能存在功能错误或错误。
测试平台已成为IC设计过程中不可或缺的一部分。其目标是确保HDL模块在硬件实现之前经过充分测试,或者不存在已知的错误。测试平台创建过程中最具挑战性的部分是生成一组能够覆盖所有应用场景(或尽可能多)的测试平台。