用于对片上系统进行后仿真的方法和仿真平台技术方案

技术编号:37811243 阅读:18 留言:0更新日期:2023-06-09 09:41
本申请公开了用于对片上系统进行后仿真的方法和仿真平台。所述片上系统包括多个模块,所述方法包括:根据仿真命令在仿真平台中配置待后仿真的自定义子系统;将所述片上系统的除了所述自定义子系统之外的其他模块用空壳文件替代;根据仿真命令确定所述自定义子系统的后仿真文件,以及基于所述后仿真文件对所述自定义子系统进行后仿真。述自定义子系统进行后仿真。述自定义子系统进行后仿真。

【技术实现步骤摘要】
用于对片上系统进行后仿真的方法和仿真平台


[0001]本申请涉及集成电路
具体地,涉及用于对片上系统进行后仿真的方法和仿真平台。

技术介绍

[0002]集成电路片上系统(SoC)的设计和验证是一个非常耗时和繁复的过程。一个产品从最初构想、到设计、验证、流片、测试最后到量产要经过少则数个月长则数年的时间。在集成电路片上系统的设计过程中,经常需要进行仿真与验证来检查所设计的片上系统是否能够按照设想那样执行。集成电路片上系统设计验证过程中需要进行功能前仿真和时序后仿真。其中功能前仿真是针对寄存器传输级(Register Transfer Level,RTL)的仿真,主要是通过仿真验证所设计电路的逻辑功能正确性,仿真速度快。时序后仿真是基于由基本门单元组成的网表(Netlist),同时将网表的门级电路延迟和各种门级电路之间的连线延迟等考虑在内进行仿真。时序后仿真主要是通过仿真发现设计潜在的约束和时序问题。并且由于后仿真中考虑进去了电路元件以及路径的延迟,导致仿真速度慢,经常一个集成电路片上系统的后仿真需要花费数个小时甚至数天的时间。
[0003]为了加快对集成电路片上系统的后仿真,层次化设计和验证应运而生。所谓层次化是指在产品设计的初期就将整个大规模集成电路划分为多个相对独立的子系统,分派给不同的工程师或团队来分别进行设计和验证,以便将庞大的设计对象划分成几个相对独立的部分并行开展设计和验证,以缩短产品研发设计和验证的周期,尤其是缩短后仿真验证的时间。
[0004]然而,现有对集成电路片上系统的设计和验证的这种层次化方法一般是在产品设计初期就提前划分好层次。在后续仿真验证环节,要基于这种划分好的固定的层次进行设计和验证,而验证工程师无法基于应用场景和仿真效率需求来灵活地自定义选择要进行仿真验证的模块,从而使得在进行仿真验证的时候经常要连同实际上并不关注或者不需要的一些模块一起进行后仿真,导致后仿真的时间依然很长,后仿真的效率依然低下。同时,现有层次化设计和验证后产生的错误或者警告还需要手动机械地逐个进行处理,一方面给验证工程师带来繁冗的验证工作量,另一方面也容易出错。

技术实现思路

[0005]针对现有技术中存在的缺陷,本公开提出了一种用于对片上系统进行后仿真的方法和仿真平台。这种后仿真的方法和平台能够在现有层次化设计和验证的基础上,根据实际应用场景需要而定义待后仿真的自定义子系统以及其所包括的目标模块,实现灵活自定义的模块间联合后仿真验证,极大地提高后仿真验证的效率。进一步地,可以从多个版本的后仿真文件中选择目标版本的后仿真文件以进行后仿真。同时还实现对后仿真验证中报告的错误或警告进行自动化处理,从而进一步提升后仿真验证的效率,并进一步缩短产品开发的周期。此外,本公开的后仿真的方法和仿真平台是极其用户友好的,用户可以通过简单
地在仿真命令中输入相关参数,便可以实现基于特定后仿真文件、对自定义子系统的后仿真以及后仿真之后的处理,从而提升后仿真效率,缩短产品开发周期。
[0006]在一个方面中,本公开提出了一种用于对片上系统进行后仿真的方法,所述片上系统包括多个模块,所述方法包括:根据仿真命令在仿真平台中配置待后仿真的自定义子系统;将所述片上系统的除了所述自定义子系统之外的其他模块用空壳文件替代;根据仿真命令确定所述自定义子系统的后仿真文件,以及基于所述后仿真文件对所述自定义子系统进行后仿真。
[0007]在一个实施例中,根据仿真命令在仿真平台中配置待后仿真的自定义子系统包括:根据仿真命令中的子系统参数生成用于定义所述自定义子系统的子系统代码;以及根据所述子系统代码确定所述自定义子系统所包括的目标模块。
[0008]在一个实施例中,所述仿真平台支持所述片上系统的多个版本的后仿真文件。根据仿真命令确定所述自定义子系统的后仿真文件包括:根据仿真命令中的版本参数指定目标版本的后仿真文件;以及根据所述子系统代码来从所述目标版本的后仿真文件中提取所述自定义子系统的后仿真文件。
[0009]在一个实施例中,根据仿真命令中的版本参数指定目标版本的后仿真文件包括:根据仿真命令中的版本参数生成用于定义所述目标版本的后仿真文件的信息的版本代码;以及根据所述版本代码来从所述多个版本的后仿真文件中选择所述目标版本的后仿真文件。
[0010]在一个实施例中,所述后仿真文件包括网表、标准延迟格式文件以及标准单元库,并且所述方法还包括:对所述自定义子系统的后仿真文件中的标准延迟格式文件进行反标以获得带有反标后的时序信息的网表。
[0011]在一个实施例中,所述方法还包括:对反标过程中报告的错误进行归类以将相同类型的错误输出到同一文件中,同时提供与所述错误中的每一个错误相关的信息;以及对反标过程中报告的警告进行归类以将相同类型的警告输出到同一文件中,同时提供与所述警告中的每一个警告相关的信息自定义子系统。
[0012]在一个实施例中,所述方法还包括:在对所述自定义子系统进行后仿真时,比较所述自定义子系统的目标模块所包括的特定元器件和路径上的实际延迟量与标准延迟格式文件中记录的对应元器件和对应路径的延迟信息,以评估所述自定义子系统的后仿真的准确性。
[0013]在一个实施例中,所述方法还包括:设置时间点和关键字以从所述自定义子系统的后仿真中报告出的时序违例中过滤掉所述时间点之前的时序违例以及包括所述关键字的时序违例;以及将过滤之后剩余的时序违例按照时间排序以及按照路径分组并分别输出到两个文件中,同时提供与剩余的时序违例中的每一个时序违例相关的信息。
[0014]在一个实施例中,其中所述多个版本的后仿真文件包括:在所述片上系统的不同设计阶段、由不同的人员或者基于不同的工艺角产生的不同版本的后仿真文件。
[0015]在另一方面中,本公开还提出了一种用于对片上系统进行后仿真的仿真平台,所述片上系统包括多个模块,所述仿真平台包括:子系统配置单元,用于根据仿真命令在所述仿真平台中配置待后仿真的自定义子系统;虚设单元,用于将所述片上系统的除了所述自定义子系统之外的其他模块用空壳文件替代;后仿真文件确定单元,用于根据仿真命令确
定所述自定义子系统的后仿真文件;以及后仿真单元,用于基于所述后仿真文件对所述自定义子系统进行后仿真。
[0016]在一个实施例中,所述子系统配置单元包括:子系统定义单元,用于根据仿真命令中的子系统参数生成用于定义所述自定义子系统的子系统代码;以及目标模块确定单元,用于根据所述子系统代码确定所述自定义子系统所包括的目标模块。
[0017]在一个实施例中,所述仿真平台支持所述片上系统的多个版本的后仿真文件,所述后仿真文件确定单元包括:版本指定单元,用于根据仿真命令中的版本参数指定目标版本的后仿真文件;以及后仿真文件提取单元,用于根据所述子系统代码来从所述目标版本的后仿真文件中提取所述自定义子系统的后仿真文件。
[0018]在一个实施例中,所述版本指定单元包括:版本定义单元,用于根据仿真命令中的版本参数生成用于定义所述目标版本的后本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于对片上系统进行后仿真的方法,其特征在于,所述片上系统包括多个模块,所述方法包括:根据仿真命令在仿真平台中配置待后仿真的自定义子系统;将所述片上系统的除了所述自定义子系统之外的其他模块用空壳文件替代;根据仿真命令确定所述自定义子系统的后仿真文件,以及基于所述后仿真文件对所述自定义子系统进行后仿真。2.根据权利要求1所述的方法,其中根据仿真命令在仿真平台中配置待后仿真的自定义子系统包括:根据仿真命令中的子系统参数生成用于定义所述自定义子系统的子系统代码;以及根据所述子系统代码确定所述自定义子系统所包括的目标模块。3.根据权利要求2所述的方法,其中所述仿真平台支持所述片上系统的多个版本的后仿真文件,根据仿真命令确定所述自定义子系统的后仿真文件包括:根据仿真命令中的版本参数指定目标版本的后仿真文件;以及根据所述子系统代码来从所述目标版本的后仿真文件中提取所述自定义子系统的后仿真文件。4.根据权利要求3所述的方法,其中根据仿真命令中的版本参数指定目标版本的后仿真文件包括:根据仿真命令中的版本参数生成用于定义所述目标版本的后仿真文件的信息的版本代码;以及根据所述版本代码来从所述多个版本的后仿真文件中选择所述目标版本的后仿真文件。5.根据权利要求1

4中任一项所述的方法,其中所述后仿真文件包括网表、标准延迟格式文件以及标准单元库,并且所述方法还包括:对所述自定义子系统的后仿真文件中的标准延迟格式文件进行反标以获得带有反标后的时序信息的网表。6.根据权利要求5所述的方法,还包括:对反标过程中报告的错误进行归类以将相同类型的错误输出到同一文件中,同时提供与所述错误中的每一个错误相关的信息;以及对反标过程中报告的警告进行归类以将相同类型的警告输出到同一文件中,同时提供与所述警告中的每一个警告相关的信息。7.根据权利要求1所述的方法,还包括:在对所述自定义子系统进行后仿真时,比较所述自定义子系统的目标模块所包括的特定元器件和路径上的实际延迟量与标准延迟格式文件中记录的对应元器件和对应路径的延迟信息,以评估所述自定义子系统的后仿真的准确性。8.根据权利要求1所述的方法,还包括:设置时间点和关键字以从所述自定义子系统的后仿真中报告出的时序违例中过滤掉所述时间点之前的时序违例以及包括所述关键字的时序违例;以及将过滤之后剩余的时序违例按照时间排序以及按照路径分组并分别输出到两个文件中,同时提供与剩余的时序违例中的每一个时序违例相关的信息。
9.根据权利要求3所述的方法,其中所述多个版本的后仿真文件包括:在所述片上系统的不同设计阶段、由不同的人员或者基于不同的工艺角产生的不同版本的后仿真文件。10.一种用于对片上系统进行后仿真的仿真平台,其特征在于,所述片上系统包括多个模块,所述仿真平台包括:子系统配置单元,用于根据仿真命令在所述仿真平台中配置待后仿真的自定义子系统;虚设单元,用于将所述片上系统的除了所述自定义子系统之外的其他模块用空壳文件替代;后仿真文件确定单元,用于根据仿真命令确定所述自定义子系统的后仿真文件;以及后仿真单元,用于基于所述后仿真文件对所述自定义子系...

【专利技术属性】
技术研发人员:请求不公布姓名
申请(专利权)人:摩尔线程智能科技北京有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1