SoC仿真验证中多核技术的研究与应用

时间:2022-08-09 01:42:13

SoC仿真验证中多核技术的研究与应用

摘 要: 随着SoC设计规模的日益增大,结构逐渐复杂,仿真验证已经成为Soc设计过程中重要的环节,其所需时

>> Veloce平台在大规模SOC仿真验证中的应用 遍地开花的多核技术 Intel多核技术 AMD多核技术 英特尔推动多核技术在嵌入式系统的应用 多核技术已成潮流 多核SOC系统整合过程中的FPGA软处理器应用 LabVIEW驰骋多核技术时代 x86多核技术解析 利用多核技术提升IPS性能 基于协作学习的核技术应用课程教学模式研究与实践 核技术在环境保护中的应用探究 核技术在环境保护中的应用 用于SoC的SPI接口设计与验证 一种基于SOC软硬件协同仿真调度技术的研究 SOC与单片机应用技术的发展 SoC系统平台在EDA技术教学中的应用 图书重量复核技术的应用 环保部门在核技术应用辐射安全监管工作中的问题研究 英特尔启动多核技术大学计划等 常见问题解答 当前所在位置:l”的报告,选择基于模块的视图,就可以看到整个设计中各个模块在仿真过程中所消耗的时间。

1.2 DLP技术的使用方法

在确认所验证的设计可以使用DLP技术后,VCS提供了两种方法来对设计进行分割,一种是自动分割方法,另一种是手动分割方法。这里推荐使用手动分割的方法,因为项目工程师更加了解自己当前的设计,知道如何分割更加的合理,而工具提供的自动分割方法可以作为参考。

1.2.1 自动分割方法

对于自动分割方法的使用,只需在VCS编译时加入“?parallel+autopart=N”的选项,其中,N是分割后Slave的个数。如果当前设计适合使用DLP技术,那么VCS将会在当前目录下生成名为“autopart.cfg”的分割配置文件,而如果当前设计并不适合使用多核技术,那么VCS将会生成名为“autopartFail.txt”的文件来说明分割失败的原因。

1.2.2 手动分割方法

对于手动分割方法的使用,只需在VCS编译时加入“?parallel+design=part.cfg”的选项,其中,“part.cfg”是分割配置文件。该配置文件的具体语法规则如下:

partition {hierarchical_name(module_identifier),...} ;

其中:“partition”是关键词,代表分割出的一个Slave;“hierarchical_name”是该Slave在整个设计中的层级路径;“module_identifier”是该Slave对应的模块定义名字,该配置语句的个数也就是分割后Slave的个数。这里需要注意的是,可以将设计中的多个模块分割在同一个Slave部分中,只需要在配置语句中以逗号隔开这些模块即可。

2 DLP多核技术的应用

本文通过在实际项目使用DLP多核技术,成功地缩减了仿真时间,保证了整个项目的验证工作能够高效顺利地完成。

2.1 项目介绍

本文所验证的设计属于多核类型,主要是由6个Core电路和其他控制电路构成,其系统框图如图 1所示。

该设计的数据流过程为:芯片通过SPI协议接收寄存器配置信息和工作任务,主控电路将这些任务分配给Core电路进行计算,Core电路通过一系列的计算过程将最终结果反馈给主控电路。

<E:\王芳\现代电子技术201506\现代电子技术15年38卷第6期\Image\29t1.tif>

图1 验证对象的系统框图

通过对验证对象的典型应用进行仿真,并且使用Profile工具统计各个模块在仿真过程所消耗的时间,可以得到如图 2所示的结果。

从图中可以看到,6个Core电路占用了绝大部分的仿真时间(79.70%),而每一个Core电路分别占用的仿真时间都在10%以上,符合DLP技术的使用条件。

<E:\王芳\现代电子技术201506\现代电子技术15年38卷第6期\Image\29t2.tif>

图2 验证对象典型应用的时间消耗图

2.2 实验结果

为了更好地说明DLP技术对仿真速度的提升,本文选取了3个验证对象的典型应用进行实验,在每一种应用下,分别进行传统的单核串行仿真和DLP多核并行仿真,并且采用如表 1所示的3种配置文件对验证对象进行分割。

2.2.1 工作量和工作时刻相同

在该场景中,6个Core电路拥有相同的工作量,并且开始工作的时刻也相同,这是该设计在实际应用中最为常见的情况。通过仿真实验,得到了在不同配置条件下运行所需要的时间,如表2所示。

表1 DLP技术的分割配置文件

表2 工作量和工作时刻相同的仿真运行时间

从表2中可以看出,如果使用传统的串行方法进行仿真,CPU利用率为100%,即占用一个CPU核运行仿真任务,需要5 471 s才能够完成一次仿真。而当使用DLP技术,将仿真对象分割为1个Master和2个Slave,CPU利用率将提高到300%,仿真只需要2 633 s即可完成,仿真速度提升了50%以上。同时,随着Slave分割个数的增加,仿真速度的提升效果也会随之增加。当Slave个数为6时,仿真速度加快了80%以上,效果非常显著。

2.2.2 工作量不同

在该场景中只有前3个Core电路被分配有工作任务,而另外3个Core电路并不需要启动。这种情况得到的仿真结果如表 3所示。

表3 工作量不同的仿真运行时间

从表3中可以看出,使用不同的分割配置文件,DLP技术可以为仿真速度带来21%~66%不等的提升。与第一种应用场景相比,此处的性能提升有所减少,这是因为有一半的Core电路不需要工作,而将它们单独分割出来放到某个CPU核运行仿真并不会带来很多速度上的优化。

2.2.3 工作时刻不同

在该场景中,6个Core电路拥有相同的工作量,但是每个Core电路开始工作的时刻不同,它们是顺序地依次打开。这种情况得到的仿真结果如表 4所示。

表4 工作时刻不同的仿真运行时间

从表4中可以看出,DLP技术在不同的分割配置文件情况下为仿真速度带来最高67%的提升,可以为仿真工作节省不少的时间。由于每个Core电路开始工作的时刻存在一定的延迟,在整个仿真过程中的某一些时间段,并不是所有的Core电路都在并行的运算,所以该场景性能提升的效果也略低于第一种情况下的数值。

3 结 语

综上所述,本文重点研究了VCS仿真工具所提供的DLP多核技术,包括其使用条件和使用方法。通过在实际项目中的应用和分析,对于符合DLP技术使用条件的电路设计,该并行技术相较于传统的单核串行仿真,可以大幅地缩减仿真运行时间,有效地提高验证工作的效率。因此,多核技术必将成为SoC验证工作中的一个重要发展方向。

参考文献

[1] 吴军,华更新,刘鸿瑾.SoC验证方法学研究与应用[J].空间控制技术与应用,2012(5):27?33.

[2] 黄欣.基于UVM的高效验证平台设计及运用[J].电子技术与软件工程,2014(4):28?29.

[3] 宋秀兰,吴晓波.高性能验证平台设计与搭建[J].电子器件,2008(6):1819?1821.

[4] 邓爱国.基于验证方法学的IC验证平台研究[D].武汉:武汉邮电科学研究院,2009.

[5] PUGH Richard.SoC验证走出实验室良机已到[J].中国集成电路,2014(3):36?37.

[6] ,耿相铭.SoC验证平台的联合架构设计[J].信息技术,2013(7):75?79.

[7] 代君利.面向多核技术的新一代验证平台[J].中国电子商情:基础电子,2009(5):29?30.

[8] 李响.使用先进技术来加速SoC验证[J].电子产品世界,2013(12):51?53.

[9] Synopsys. VCS/VCSi user guide [M]. USA: Synopsys, 2014.

[10] Synopsys. VCS/VCSi LCA features [M]. USA: Synopsys, 2014.

上一篇:一种基于Bitmap的虚拟路由表算法的Petri网建模... 下一篇:配方奶粉该喝到几岁?