3 现有验证技术及发展趋势
目前可使用的验证方法及技术如图2所示。
本文引用地址:http://www.eepw.com.cn/article/201612/324772.htm
3.1 动态功能验证
使用最为广泛的功能验证方法是动态的,之所以被称为动态是因为输入图形/激励信号是在一段时间(几个时钟周期)内生成并应用于设计的,相应结果会被用于与参考/黄金模型进行比较,以检验其与规范之间的一致性。
仿真器通常用于计算所有的信号值,并将其与指定的期望值进行比较。目前,有两类可供选择的仿真器:
1)基于周期的仿真器:这类仿真器不管在时钟周期内发生了什么事情,它只是在每个周期内对单脉冲信号进行一次求值,由于执行时间很短这类仿真器的速度通常很快。
2)基于事件的仿真器:这类仿真器在时钟周期内或者在时钟边界捕获事件,并在设计中传播这些事件,直到系统达到稳态。
3.2 随机/定向功能验证
在一个有时间限制的仿真过程中,动态仿真器只能验证芯片的典型行为,而不能验证所有可能的行为,这是动态仿真的主要缺陷。出现这个问题的主要原因是对芯片的定向测试是针对已知的测试空间,而不是未知的测试空间进行的。即使是仅对已知测试空间的测试也要花费很长时间。例如,假设推出每个运算数需要一个时钟,为了验证一个能对两个 32 位操作数进行加和运算的简单加法器的测试空间就需要 232x232个时钟周期。随着逻辑运算越来越复杂,验证空间也会相应增加。因此出现了随机动态仿真,通过为设计提供随机激励信号来增加验证的测试空间,这样能够使验证覆盖的功能空间最大化。但当设计规模很大且非常复杂时,随机测试空间