SoC设计中多个时钟信号的自动验证万博投注网址

文章作者:Atulesh Kansal和Himanshu Aggarwal

SoC设计中时钟子系统的复杂性为自动化验证多个时钟信号组合铺平了道路。万博投注网址

现代半导体对新功能和升级功能的需求日益增加。这可能包括支持低功率和全功率模式的多个功率域,以及支持不同工作频率的接口的多个时钟域。当有多个时钟和电源域时,主要的挑战就来了。本文将讨论片上系统(SoC)设计中的多个时钟域。

现在的soc有多个时钟平台,其范围可能从2到20个时钟甚至更多。但是我们打算如何覆盖所有这些时钟组合呢?我们是否计划手动覆盖每个场景,用不同的分频器验证所有频率上的每一件事?工作量很大啊。因此,本文将演示一种基于Python脚本的全自动方法,用于验证多个时钟信号。

时钟随机化

随着时钟数量的增加,一维构型空间的覆盖范围增大。一维覆盖是指在单功率模式下切换不同设置的时钟时可能的配置数量。随着功耗模式(低功耗模式或全功能模式)数量的日益增加,一维的覆盖范围不足以排除角落场景。因此,我们需要二维覆盖。二维覆盖矩阵包括从低功耗模式到全功能模式的模式转换,以及从低功耗模式到全功能模式的模式转换。

在起草二维覆盖时,我们需要考虑一些可能来自架构限制、安全考虑和一个时钟对另一个时钟的逻辑依赖的约束。缺少这些约束可能会增加不必要的验证时间。因此,考虑到所有的约束条件,我们可以随机选择系统时钟,并检查SoC在不同条件下的工作情况。

随机时钟是非常重要的,因为一些特性可能在快速时钟工作,但可能不工作在慢频率和不准确的时钟。

图1一维矩阵的例子代表了SoC的一种可能的情况,它可以有nth可能的时钟数和nth可能的功率模式数。

如上面的一维矩阵示例所示,将在这样的矩阵的基础上形成数百万个组合,即使通过自动化来验证这些组合也将需要几个月的时间。我们的验证周期可能不会太长。此外,一些组合可能是冗余的,可能没有应用程序用例,例如涉及不准确的RC时钟的应用程序用例,这只是用于硅的引导目的。所以,去掉这些组合很重要。

图2一个一维矩阵的例子显示了减少的组合数量。

图2描述将在客户端具有用例的最终组合。因此,找出不适用的场景将帮助我们将组合从数百万减少到几千,这很容易在验证周期中覆盖。

图3表示我们在实现二维矩阵框架以测试最终减少的可能场景数量时应该记住的流程图,这样从这个角度来看就不会错过任何错误。

图3流程图显示了如何实现一个二维矩阵。

方法设置和概述

流中提到图4图5可用于实现使用随机参数验证时钟模块的设置,而无需手动操作。在这个设置中,可以使用各种仪器,如函数发生器、示波器、电源和逻辑分析仪。例如,在我们的验证设置中,我们使用Keysight公司的Infinium DSO 2.5 mhz S系列示波器和Tektronix公司的afg325c系列函数发生器。

图4安装和界面的概述显示在这里与板和PC。

图5该流程图演示了时钟随机化自动化方法(CRAM)设置是如何使用的。

各种参数被选择并通过Python进一步随机化,然后存储在Excel中,然后通过Excel,将它们作为参数传递到我们的C代码中。接下来,将通过PyVisa和可编程仪器(SCPI)的标准命令创建与所有将要在我们的设置中使用的仪器的接口。SCPI命令是用于各种读写操作的标准化IEEE命令。在我们使用的仪器中,有函数发生器,用于提供不同的输入波形,示波器,用于捕获输出数据和各种结果,这些结果以截图的形式存储在一些常见的位置。

在从Python约束文件中获取参数并创建一个带有所需工具的接口之后,将编译代码,然后将可执行和链接格式(ELF)加载到硅中,以检查场景。测试用例将使用这些随机参数执行,直到所有配置完成。

结果通过串口或UART设备捕获,并进一步从示波器捕获快照,以验证所采取的结果。所有这些都是可能的,如果有一个供应,带出系统时钟和其他可用的时钟,以便它们可以用于调试和自动化目的。如果时钟在GPIO是可用的,在这种情况下,也可以检查时钟是否按照预期生成。我们还可以检查时钟的准确性或一致性。

所有这些时钟源、时钟分频器和相位分频器都应该在每一种可能的模式下进行检查,特别是在低功耗模式下。

因此,通过这种设置,我们可以全面验证SoC中支持的各种时钟和模式的组合。我们可以看到在随机化过程中拍摄的时钟片段图6图7.在这些片段中,我们可以看到各种参数——如占空比、平均频率、最小频率、最大频率和频率范围——可以根据需要捕获并进一步验证。它将帮助用户捕捉时钟或系统路径上的任何故障或意外变化。

图6这就是如何从示波器中自动获取各种参数的信息,然后在示波器上验证这些参数。

图7SoC设计人员可以通过自动化获取示波器上观察到的时钟频率的各种参数信息,并在示波器上验证这些参数。

多个配置覆盖

我们已经看到了手动验证多个时钟组合的挑战,以及时钟随机化自动化方法或CRAM如何帮助克服这些挑战。在最后的分析中,我们可以说,使用这种自动化方法,我们可以用更少的工作获得更多的覆盖率。这是一个完全内部开发的方法,所以不需要任何许可费用。最后但并非最不重要的是,由于自动化,在此设置中也排除了测量时钟频率时人为错误的机会。

这篇文章最初发表于经济日报

Atulesh Kansal是NXP Semiconductors India Pvt. Ltd的高级首席设计工程师。

Himanshu Aggarwal是NXP Semiconductors India Pvt. Ltd的高级设计工程师。

留下你的评论