一般而言,在验证的几个内容中功能验证最受重视,研究讨论得最多,特别是现在FPGA/IC设计都朝向SOC(System On Chip,片上系统) 的方向发展,设计的复杂都大大提高,如何保证这些复杂系统的功能是正确的成了至关重要的问题。功能验证对所有功能进行充分的验证,尽早地暴露问题,保证所有功能完全正确,满足设计的需要。任何潜在的问题都会给后续工作作带来难以极大的困难,而且由于问题发现得越迟,付出的代价也越大,这个代价是几何级数增长的。这里将以功能验证为主说明验证方法、工具、验证环境的建立。
做功能验证时,需要建立验证环境,以便对设计(DUT/DUV,Design Under Test/ Verification)施加特定的输入,然后对DUT的输出进行检查,确实其是否正确。在实际验证工作中,一般采用由TESTBENCH 和DUT(design under test)组成的Verification体系,如图1所示。