新闻中心

EEPW首页 > EDA/PCB > 设计应用 > 扩大ARM SoC的验证覆盖缩短仿真时间

扩大ARM SoC的验证覆盖缩短仿真时间

——
作者:时间:2007-08-14来源:电子设计应用收藏
    验证复杂的设计要耗费极大的成本和时间。据证实,验证一个设计所需的时间会随着设计大小的增加而成倍增加。在过去的几年中,出现了很多的技术和工具,使验证工程师可以用它们来处理这类问题。但是,这些技术中很多基于动态,并依靠电路操作来发现设计问题,因此设计者仍面临为设计创建激励的问题。

  设计者可以使用运行在处理器上的固件作为验证激励的一部分,这也是目前通常采用的方法----使用全功能处理器模型。与在HDL中编写激励相比,固件作为激励速度更快,并且更容易创建。在一个全功能处理器模型上执行代码的缺点是模型运行较慢,因此只有少量软件会使用这个技术执行。很多固件执行由取指令操作和内存读写周期组成,验证价值很低。在逻辑器中屏蔽这些低价值操作,而继续执行寄存器和内存映射I/O周期,可以在最低限度减少验证覆盖率的同时,显著提高执行速度。

  在仿真环境中能够更快速地执行代码主要有两个好处。首先,快速仿真意味着功能验证仿真可以使用更多的代码。诊断程序、驱动程序、固件以及某些情况下部分应用程序代码都可用于验证问题。其次,因为仿真运行速度加快,因此能够执行更多的验证。很多设计者会选择

运行附加测试,而不是运行较少的CPU仿真时间。大多数验证都受到能够用于运行仿真的CPU时间的限制。

  如果固件用来作为验证的一部分,它将对设计起推动作用。这个激励将是切合实际的,它通过典型的操作使设计得到测试。为设计创建激励的挑战之一是如何估算出典型的设计操作,并将其在测试平台上编码。使用实际的软件可为验证工程师排除这个问题。但是,运行作为测试平台的代码不可能提供大量激励,特别是不能覆盖大部分验证空间。因此,设计者需要使用其它的技术提供额外激励,以遍历设计的所有边界情况。

  设计者使用传统的直接测试和其它验证技术能够增加用固件作激励源的情况。内存分区可用于过滤仿真过程中不必要的总线周期,从而提高性能。本文将介绍一个设计实例,使用作为激励的代码和基于断言的验证,通过该实例来描述使用传统验证技术无法发现的设计错误。

  解决验证挑战

  目前,电子工程师面临的验证挑战不断加剧。为了更好地阐明这些挑战,本文中介绍了一个简单的实例。该实例是一个在250

linux操作系统文章专题:linux操作系统详解(linux不再难懂)


评论


相关推荐

技术专区

关闭