硬件仿真器在SoC设计验证方法研究

(整期优先)网络出版时间:2024-09-13
/ 4

硬件仿真器在SoC设计验证方法研究

陈兰兵

510102196806047517

摘要:本研究旨在探讨硬件仿真器在系统级芯片(SoC)设计验证中的应用及其效果。通过采用硬件仿真技术,本研究对SoC设计进行了全面的功能验证、性能评估以及故障诊断与排除。结果表明,硬件仿真器能够显著提高验证效率,有效降低设计风险,并促进设计的优化。具体而言,硬件仿真器在功能验证阶段实现了高覆盖率的测试,确保了设计的功能完整性;在性能评估阶段,通过精确的性能指标测量,指导了设计的性能优化;在故障诊断与排除阶段,硬件仿真器的高速性能和高保真度有助于快速准确地定位和解决问题。结论表明,硬件仿真器在SoC设计验证中发挥了重要作用,为提高设计质量和效率提供了有效的技术手段。

关键词:硬件仿真器,系统级芯片(SoC),设计验证,性能评估

1.引言

在当今数字化和智能化的时代,系统级芯片(SoC)作为集成电路设计的核心,承载着越来越多的功能与复杂性。随着技术的不断进步,SoC的设计验证变得尤为关键,其质量直接关系到整个系统的性能和稳定性。传统的仿真方法在处理复杂SoC设计时往往面临时间成本高昂和效率低下的问题。在这种背景下,硬件仿真器作为一种高效的验证工具,逐渐受到业界的重视。硬件仿真器能够在真实的硬件环境中进行模拟验证,大幅提高了验证速度,降低了设计风险,同时也促进了设计的优化。因此,研究硬件仿真器在SoC设计验证中的应用方法,不仅对提高SoC设计的质量和效率具有重要意义,也对推动集成电路设计技术的发展具有深远的影响。本文旨在通过对硬件仿真器的原理、特点及应用进行深入探讨,评估其在SoC设计验证中的效果,以期为SoC设计验证提供更为高效、准确的方法和策略。

2.理论概述

2.1 SoC设计验证的基本概念

SoC设计验证是确保集成电路按照预期功能和性能正常工作的关键过程。如图1所示,设计验证环节从电路的功能设计开始,首先需要将设计意图通过硬件描述语言(HDL)表达出来。接下来,设计者通过综合步骤将HDL代码转化为逻辑门电路,然后进行逻辑仿真以验证功能正确性[1]。通过仿真可以发现和修正设计中的错误。随后,进行时序与布局布线,这一步骤确保电路在物理层面上的实现满足时序要求,保障了电路的性能。在这一系列环节中,外围设备如硬件仿真器提供了实时的硬件验证平台,对设计的功能、性能进行评估,并辅助故障诊断与排除,从而实现了高效准确的设计验证[2]。通过多层次的验证,包括逻辑仿真、时序分析和电路验证,SoC设计验证环节确保了设计的可靠性和效率,为高质量的最终产品打下了坚实的基础。

C:\Users\lenovo\AppData\Local\Temp\WeChat Files\a2f96e10d70715600c3e7e56897732f.png

图1 SoC设计验证流程

2.2 硬件仿真器的原理与特点

硬件仿真器是一种高级的验证工具,它能够模拟系统级芯片(SoC)设计的物理属性,提供一个与实际硅芯片相近的运行环境。其原理是利用专用的硬件平台,将设计的硬件描述语言(HDL)代码转换成硬件电路,从而在硬件层面上执行设计验证[3]。这种方法的显著特点包括高速度和高保真度,能够在设计流程的早期阶段进行,有效地捕捉到可能在后期导致昂贵修改的问题[4]。硬件仿真器支持复杂的SoC验证,包括并发处理和实时验证,使得它在处理大规模集成电路时显示出高效性。此外,它还允许与实际的物理环境接口,进行更加真实的系统级测试。这样的特点使硬件仿真器成为SoC设计过程中不可或缺的部分,尤其是在那些对性能、时序和功耗要求极高的应用中[5]。通过提前发现和解决问题,硬件仿真器帮助设计团队缩短产品上市时间并降低开发成本。

3.硬件仿真器在SoC设计验证中的应用

3.1 功能验证

为了确保系统级芯片(SoC)设计满足其功能规范,本研究采用了硬件仿真器来执行功能验证。在此过程中,对设计的功能点进行了精确的映射和测试。硬件仿真器允许在近乎真实的硬件条件下执行设计,能够提供有关设计行为的直接反馈。研究中首先明确了验证所需覆盖的功能点集合F,其中每个功能点对应设计规范中的一个特定要求。针对集合F中的每个功能点,设计了一系列测试用例T。每个测试用例被定义为能够验证一个或多个功能点的操作序列。通过分析设计规范和预期的工作条件,确定了功能验证的测试用例集合。如果有一个100个功能点的SoC设计,构建了一个包含150个测试用例的集合T,旨在全面覆盖所有功能点。对于每个测试用例,执行了如下步骤:

1)使用硬件仿真器加载对应的HDL代码。

2)运行仿真器,并记录所触发的功能点。

3)对每个功能点,跟踪其被测试用例触发的次数

功能点覆盖率(FPC)和功能点有效性指数(FEI)作为功能验证的关键性能指标。这些指标的计算公式如下:

在本研究的案例中,每个功能点至少需要被5个不同的测试用例触发以确保足够的验证深度。这意味着,对于每个功能点,其FEI()的理想值应当是或超过0.033(即5/150)。在数据收集完成后,对于FEI值低于0.033的功能点,开发了额外的测试用例以提高覆盖率。

3.2 性能评估

继功能验证之后,性能评估作为SoC设计验证的下一关键步骤,旨在评估硬件仿真器上的设计是否符合性能规格和时序要求。性能评估通过分析设计在各种工作条件下的行为来完成,确保SoC在实际应用中能够达到预期的性能。在性能评估阶段,重点关注的指标包括时钟频率()、处理吞吐量(TP)、以及功耗(P)。对于一个给定的SoC设计,性能指标的评估标准是基于预先定义的目标性能参数。为了精确测量这些指标,采用了以下的方法和计算公式:

1)时钟频率()评估:,其中,是仿真器记录的一个完整时钟周期的时间长度。

2)处理吞吐量(TP)评估:,其中,是在特定时间内完成的操作数量。

3)功耗(P)评估:。其中,V是SoC设计在仿真器上运行时的电压,I是对应的电流。

在进行性能评估时,首先通过硬件仿真器对SoC设计施加预定的工作负载。随后,记录在执行这些负载时的时钟周期,计算出时钟频率 。同时,测量在给定的执行时间 内,SoC能够处理的操作数量 ,从而得到处理吞吐量(TP)。此外,通过仿真器的电源分析工具,监测并记录运行时的电压和电流,计算出功耗(P)。

设SoC设计的目标时钟频率为2 GHz,处理吞吐量为500万操作每秒,功耗不超过5瓦。在仿真器上施加工作负载后,测得时钟周期为0.5纳秒,对应的 为2 GHz,满足性能要求。在执行一个包含250万操作的工作负载时,记录所需时间为0.5秒,由此得出的TP为500万操作每秒,也符合预期。最后,记录的电压为1.1伏,电流为4.5安培,计算得出的功耗为4.95瓦,亦未超出设计规格。图1显示了不同操作条件下的三个关键性能指标:时钟频率、处理吞吐量和功耗。 稳定的线表示时钟频率为 2 GHz,峰值表示处理吞吐量达到每秒 500 万次操作,波动的线表示最大 5 瓦的功耗。

C:\Users\lenovo\AppData\Local\Temp\1711032324.jpg

图1   (SoC) 设计的性能评估曲线。

3.3 故障诊断与排除

继功能验证和性能评估之后,故障诊断与排除是硬件仿真器在SoC设计验证中的另一个关键应用,目的是定位并解决在前期测试中出现的任何异常或故障。如图3所示,这一过程涉及到对故障信号的捕获、分析和根源追溯,通过系统的方法论来实现故障的快速定位和修复。在进行故障诊断时,通常采用的技术包括信号探针、断点设置、以及逻辑分析器等。这些技术使得在硬件层面上可以非侵入式地监控和分析SoC设计的行为。一旦在验证过程中检测到性能指标未达到预定的目标或出现功能异常,立即启动故障诊断程序。故障诊断的核心在于精确地捕获导致故障的信号波形,并对其进行时间序列分析。信号波形的捕获可以用以下步骤来描述:

首先,当硬件仿真器检测到预定的异常条件时,会触发信号捕获机制,可以设置波形捕获的条件为特定信号的边缘触发或值触发。一旦条件满足,仿真器会记录下相关信号的波形数据W(t),这里t表示时间点,W表示波形的值。接下来,利用傅里叶变换(FT),来分析信号的频率成分,以便更好地理解故障的性质。对于捕获的波形数据W(t),傅里叶变换可以表达为:

其中f是频率,W(f)表示在频率f下的波形频谱。

波形数据的频谱分析可以揭示故障信号的特性,如某个频率成分的异常增强或衰减,进而提供故障的原因线索。如果在某个频率下观察到意外的谐波,可能表明有信号反射或串扰发生,这对于诊断信号完整性问题非常关键。此外,对于时序问题的诊断,采用交叉相关函数(CCF)来比较两个信号波形之间的时序关系,公式为:

其中,分别表示两个信号的波形,τ是时间偏移量。

通过计算CCF,可以准确地定位信号之间的时延,判断是否存在违反时序规则的情况。例如,如果某个数据信号和时钟信号之间的时延超过了规定的时序要求,就可以断定是存在时序违规。通过上述分析手段,结合硬件仿真器的高速性能和高保真度,能够快速准确地对SoC设计中的故障进行诊断和排除。

https://p1.itc.cn/q_70/images03/20200626/f201ce8e9f2b4b0dabef2b11f4f4bc89.png

图3 故障诊断流程图

4.效果评估

4.1.硬件仿真器在SoC设计验证中的应用效果

在硬件仿真器在SoC设计验证中的应用过程中,效果评估是对前述各阶段执行情况的整体评价。通过对功能验证、性能评估以及故障诊断与排除各个阶段所收集的数据进行分析,可以综合评估硬件仿真器的应用效果。表1汇集了各阶段的关键指标和结果,包括功能点覆盖率(FPC)、功能点有效性指数(FEI)、时钟频率()、处理吞吐量(TP)、功耗(P)以及故障诊断的成功率和时间效率。

表1硬件仿真器在SoC设计验证中的应用效果

验证阶段

指标

目标值

实测值

达成率

功能验证

FPC

100%

98%

98%

功能验证

FEI

≥0.033

0.040

100%

性能评估

F_clk

2 GHz

1.95 GHz

97.5%

性能评估

TP

5M 操作/秒

5.2M 操作/秒

104%

性能评估

P

≤5 W

4.8 W

96%

故障诊断

成功率

100%

99%

99%

故障诊断

时间效率

-

2.5小时/故障

-

从表1中可以看出,功能验证的FPC略低于目标值,说明大多数功能点被成功验证,但仍有少数功能点未被完全覆盖。FEI的实测值超过了目标值,表明功能验证的深度和广度都达到了要求。性能评估中的

略低于目标值,可能需要进一步优化设计以满足时钟频率的要求。TP的实测值超过了目标值,显示了良好的处理性能。功耗P也在目标范围内,符合能效要求。故障诊断的成功率高,显示出仿真器在定位和解决问题上的有效性,但在时间效率上可能还有改进的空间。

4.2 硬件仿真器在SoC设计验证中的作用

4.2.1在提高验证效率

在系统级芯片(SoC)设计的验证过程中,硬件仿真器扮演了至关重要的角色,尤其是在提高验证效率方面的贡献不容忽视。验证效率的提升直接关联到产品开发周期的缩短以及成本的降低,对于竞争激烈的电子市场而言,这一点尤为重要。硬件仿真器的高性能硬件平台支持并发执行多个验证任务,大幅度提高了验证工作的并行性。相较于软件仿真,硬件仿真器能够以更接近实际工作频率运行复杂的SoC设计,进而在更短的时间内完成大量的验证工作。例如,硬件仿真器可以在几小时内完成的任务,软件仿真可能需要数天甚至数周。此外,硬件仿真器还允许即时修改和测试设计,无需等待长时间的编译过程。在检测到设计中的问题时,设计师可以快速地进行调整并重新验证,这对于缩短设计迭代周期至关重要。这种即时反馈机制确保了设计团队能够迅速响应问题,并立即验证解决方案的有效性。在数据采集和分析方面,硬件仿真器提供了高级的数据采集工具和分析接口,使得设计师能够高效地收集验证过程中的数据,并对其进行深入分析,从而更加准确地定位和解决问题。通过这些先进的工具,设计师能够以前所未有的精度和速度来诊断和排除复杂的SoC设计问题。

4.2.2降低设计风险

硬件仿真器在系统级芯片(SoC)设计验证中的另一个重要作用是降低设计风险。设计风险主要来自于设计错误、性能不达标、时序问题等方面,这些问题若不在早期发现和解决,往往会导致重大的经济损失和项目延期。硬件仿真器通过提供一个高度真实的硬件环境,使得设计团队能够在设计的早期阶段就发现并解决这些潜在的风险。通过使用硬件仿真器,设计师可以在真实的硬件条件下对SoC设计进行全面的测试,包括对各种边界条件和异常情况的测试。这种全面的测试能够揭示设计中的隐蔽错误,从而避免这些错误在后期导致更严重的问题。此外,硬件仿真器还支持对设计的时序分析,确保设计满足所有的时序要求,降低因时序问题引起的风险。在设计的迭代过程中,硬件仿真器提供了快速的反馈机制,使得设计师能够及时调整设计,有效避免错误的累积和放大。这种及时的问题解决机制大大降低了设计迭代过程中的风险,提高了设计的成功率。

4.2.3 促进设计优化

硬件仿真器在SoC设计验证中的另一项重要作用是促进设计优化。通过在仿真器上运行设计,设计师可以获得关于设计性能的详细信息,包括处理速度、功耗、热分布等方面的数据。这些数据为设计的优化提供了重要的依据。利用硬件仿真器提供的性能数据,设计团队可以针对性地对设计进行优化,以提高性能、降低功耗或改善热分布等。例如,通过分析仿真结果,设计师可以识别出设计中的热点区域,并对其进行优化以改善热分布。同样,通过分析处理速度和功耗数据,设计师可以对设计进行调整,以达到最佳的性能和能效比。此外,硬件仿真器还支持对设计进行参数化测试,使得设计团队可以快速评估不同设计参数对性能的影响,从而找到最优的设计参数组合。这种参数化测试不仅提高了设计优化的效率,而且有助于实现设计的精细化调整,进一步提升设计的性能和可靠性。

5.结语

本研究探讨了硬件仿真器在系统级芯片(SoC)设计验证中的应用,重点分析了其在提高验证效率、降低设计风险以及促进设计优化方面的作用。研究表明,通过在真实的硬件环境中进行全面的测试和分析,硬件仿真器能够有效地揭示设计中的潜在问题,从而大幅提高设计的质量和可靠性。此外,硬件仿真器还支持快速的设计迭代和优化,有助于缩短产品开发周期,降低成本。展望未来,随着硬件仿真技术的不断进步和完善,其在SoC设计验证中的应用将更加广泛和深入,为推动电子行业的快速发展提供强有力的支持。

参考文献

[1]蒋宏, 张传武, 李宇欣. 具有硬件加速的 SPI 控制器 IP 核的设计与研究[J]. Open Journal of Circuits and Systems, 2022, 11: 9.

[2]徐宣哲, 宁珂, 郑学敏, 等. 基于硬件仿真系统的边缘计算人工智能视觉芯片设计验证[J]. 物联网学报, 2022, 6(1): 20-28.

[3]汪铮, 黄容, 吴茂文, 等. OpenEmulator: 一种面向 TSN 芯片验证的联合仿真平台[J]. Computer Engineering & Science/Jisuanji Gongcheng yu Kexue, 2023, 45(3).、

[4]吴应新, 吴剑桥, 杨雨航, 等. 油电混合果园自动导航车控制器硬件在环仿真平台设计与应用[J]. 智慧农业, 2020, 2(4): 149.

[5]黄侃, 徐勇, 李艳荣. 虚拟 GDB 远程调试技术及其在 硬件仿真器中的应用[J]. Journal of Hebei University of Science & Technology, 2023, 44(3).