用于后仿真的方法和仿真平台技术

技术编号:37302237 阅读:11 留言:0更新日期:2023-04-21 22:47
本申请公开了用于后仿真的方法和仿真平台。所述方法包括:用第一模块的代理组件接管所述第一模块的接口,以使所述代理组件代替所述第一模块来与第二模块交互;解析所述第二模块的标准延迟格式文件以确定所述代理组件的相应接口的延迟补偿量,其中所述代理组件与所述第二模块使用同一时钟源;以及将所述延迟补偿量添加到所述代理组件的相应接口上。偿量添加到所述代理组件的相应接口上。偿量添加到所述代理组件的相应接口上。

【技术实现步骤摘要】
用于后仿真的方法和仿真平台


[0001]本公开涉及集成电路
具体地,涉及用于后仿真的方法和仿真平台。

技术介绍

[0002]集成电路片上系统(SoC)的设计和验证是一个非常耗时和繁复的过程。一个产品从最初构想、到设计、验证、流片、测试最后到量产要经过少则数个月长则数年的时间。在集成电路的设计过程中,经常需要进行仿真与验证来检查所设计的片上系统是否能够按照设想那样执行。集成电路片上系统设计验证过程中需要进行功能前仿真和时序后仿真。其中功能前仿真是针对寄存器传输级(Register Transfer Level,RTL)的仿真,主要是通过仿真验证所设计电路的逻辑功能正确性,仿真速度快。时序后仿真是基于由基本门单元组成的网表(Netlist),同时将网表的门级电路延迟和各种门级电路之间的连线延迟等考虑在内进行仿真。时序后仿真主要是通过仿真发现设计潜在的约束和时序问题。并且由于后仿真中考虑进去了电路元件以及路径的延迟,导致仿真速度慢,经常一个集成电路片上系统的后仿真需要花费数个小时甚至数天的时间。
[0003]集成电路片上系统通常包括许多(例如数十或数百)模块。为了加快后仿真进程,对于一些常用的功能模块,可以用相应的代理组件(或者称为验证组件)来接管它们以进行后仿真。但是这种代理组件本身是理想的组件,没有实际应用中存在的各种元器件延迟和路径延迟。直接用代理组件代替相应功能模块进行后仿真可能导致错误的时序结果。

技术实现思路

[0004]针对现有技术中存在的缺陷,本公开提出了一种用于后仿真的方法和仿真平台。可以用代理组件接管相应功能模块的一些或者全部接口,并根据要交互的其他模块的标准延迟格式文件(SDF)解析出代理组件的相应接口所需的延迟补偿量,并将延迟补偿量添加到代理组件的相应接口上。使得代理组件模拟出其所接管的模块的包含输入和输出信号的延迟信息的真实的后仿真环境,从而在加快后仿真的同时,确保后仿真的时序结果的准确性。
[0005]在一方面中,本公开提出了一种用于后仿真的方法,包括:用第一模块的代理组件接管所述第一模块的接口,以使所述代理组件代替所述第一模块来与第二模块交互;解析所述第二模块的标准延迟格式文件以确定所述代理组件的相应接口的延迟补偿量,其中所述代理组件与所述第二模块使用同一时钟源;以及将所述延迟补偿量添加到所述代理组件的相应接口上。
[0006]在一个实施例中,方法还包括:根据仿真命令中的工艺角参数来获取特定工艺角下的所述第二模块的标准延迟格式文件。
[0007]在一个实施例中,方法还包括:比较所述代理组件接收的数据包与所述第二模块发出的数据包,或者比较所述代理组件发出的数据包与所述第二模块接收的数据包,以检查所述第二模块的功能和时序。
[0008]在一个实施例中,其中在所述代理组件的相应接口上要传输包括多个位的信号的情况下,将所述延迟补偿量添加到所述代理组件的相应接口上包括:将所述多个位的最大延迟补偿量添加到所述代理组件的相应接口上。
[0009]在一个实施例中,其中解析所述第二模块的标准延迟格式文件以确定所述代理组件的相应接口的延迟补偿量包括:解析所述第二模块的标准延迟格式文件以提取所述第二模块的与所述代理组件的相应接口交互的接口的延迟信息;以及基于所述延迟信息计算所述代理组件的相应接口的延迟补偿量。
[0010]在一个实施例中,其中所述延迟信息包括:Tdata_in,表示从所述第二模块的数据输入端到第二模块内部第一级触发器的数据延迟;Tdata_out,表示从所述第二模块内部最后一级触发器到所述第二模块的数据输出端的数据延迟;Tclk_in,表示从所述第二模块的时钟输入端到所述第一级触发器的时钟延迟;以及Tclk_out,表示从所述第二模块的时钟输入端到所述最后一级触发器的时钟延迟。
[0011]在一个实施例中,其中对于从所述代理组件传输到所述第二模块的信号,基于所述延迟信息计算所述代理组件的相应接口的延迟补偿量包括:通过比较Tdata_in与Tclk_in的大小来确定所述延迟补偿量。
[0012]在一个实施例中,其中对于从所述第二模块传输到所述代理组件的信号,基于所述延迟信息计算所述代理组件的相应接口的延迟补偿量包括:通过比较Tclk_out与Tdata_out的求和与Tclk的大小来确定所述延迟补偿量,其中Tclk表示时钟周期。
[0013]在一个实施例中,其中:在Tdata_in≥Tclk_in的情况下,延迟补偿量为“0”或者“f1*Tclk”,其中Tclk表示时钟周期,f1为0.05至0.2之间的小数;并且将所述延迟补偿量添加到所述代理组件的相应接口上包括:将所述延迟补偿量添加到所述代理组件的相应输出接口上。
[0014]在一个实施例中,其中:在Tdata_in<Tclk_in的情况下,延迟补偿量为“Tclk_in

Tdata_in”或者“Tclk_in

Tdata_in+f1*Tclk”,其中Tclk表示时钟周期,f1为0.05至0.2之间的小数,并且其中将所述延迟补偿量添加到所述代理组件的相应接口上包括:将所述延迟补偿量添加到所述代理组件的相应输出接口上。
[0015]在一个实施例中,其中:在Tclk_out+Tdata_out≤Tclk的情况下,延迟补偿量为“0”或者“f1*Tclk”,f1为0.05至0.2之间的小数;并且将所述延迟补偿量添加到所述代理组件的相应接口上包括:将所述延迟补偿量添加到所述代理组件的相应输入接口上。
[0016]在一个实施例中,其中:在Tclk_out+Tdata_out>Tclk的情况下,延迟补偿量为“f2*Tclk”,其中f2为0.2至0.5之间的小数,并且将所述延迟补偿量添加到所述代理组件的相应接口上包括:将所述延迟补偿量添加到所述代理组件的相应时钟接口上。
[0017]在一个实施例中,其中f1为0.1。在一个实施例中,其中f2为0.25。
[0018]在一个实施例中,方法还包括:设置时间点和关键字以从后仿真报告中的时序违例中过滤掉所述时间点之前的时序违例以及与所述关键字相关的时序违例;以及将时序违例过滤之后剩余的时序违例按照时间排列以及按照路径分组并分别输出到两个文件中,同时提供与剩余的时序违例中的每一个时序违例相关的信息。
[0019]在另一方面中,本公开提出了一种用于后仿真的仿真平台,包括:接管单元,被配置成用第一模块的代理组件接管所述第一模块的接口,以使所述代理组件代替所述第一模
块来与第二模块交互;解析单元,被配置成解析所述第二模块的标准延迟格式文件以确定所述代理组件的相应接口的延迟补偿量,其中所述代理组件与所述第二模块使用同一时钟源;以及补偿单元,被配置成将所述延迟补偿量添加到所述代理组件的相应接口上。
[0020]在另一方面中,本公开还提出一种计算设备,包括本公开中所阐述的用于后仿真的仿真平台。
[0021]在另一方面中,本公开还提出另外的用于后仿真的方法,包括用本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于后仿真的方法,其特征在于,包括:用第一模块的代理组件接管所述第一模块的接口,以使所述代理组件代替所述第一模块来与第二模块交互;解析所述第二模块的标准延迟格式文件以确定所述代理组件的相应接口的延迟补偿量,其中所述代理组件与所述第二模块使用同一时钟源;以及将所述延迟补偿量添加到所述代理组件的相应接口上。2.根据权利要求1所述的方法,还包括:根据仿真命令中的工艺角参数来获取特定工艺角下的所述第二模块的标准延迟格式文件。3.根据权利要求1所述的方法,还包括:比较所述代理组件接收的数据包与所述第二模块发出的数据包,或者比较所述代理组件发出的数据包与所述第二模块接收的数据包,以检查所述第二模块的功能和时序。4.根据权利要求1所述的方法,其中在所述代理组件的相应接口上要传输包括多个位的信号的情况下,将所述延迟补偿量添加到所述代理组件的相应接口上包括:将所述多个位的最大延迟补偿量添加到所述代理组件的相应接口上。5.根据权利要求1所述的方法,其中解析所述第二模块的标准延迟格式文件以确定所述代理组件的相应接口的延迟补偿量包括:解析所述第二模块的标准延迟格式文件以提取所述第二模块的与所述代理组件的相应接口交互的接口的延迟信息;以及基于所述延迟信息计算所述代理组件的相应接口的延迟补偿量。6.根据权利要求5所述的方法,其中所述延迟信息包括:Tdata_in,表示从所述第二模块的数据输入端到第二模块内部第一级触发器的数据延迟;Tdata_out,表示从所述第二模块内部最后一级触发器到所述第二模块的数据输出端的数据延迟;Tclk_in,表示从所述第二模块的时钟输入端到所述第一级触发器的时钟延迟;以及Tclk_out,表示从所述第二模块的时钟输入端到所述最后一级触发器的时钟延迟。7.根据权利要求6所述的方法,其中对于从所述代理组件传输到所述第二模块的信号,基于所述延迟信息计算所述代理组件的相应接口的延迟补偿量包括:通过比较Tdata_in与Tclk_in的大小来确定所述延迟补偿量。8.根据权利要求6所述的方法,其中对于从所述第二模块传输到所述代理组件的信号,基于所述延迟信息计算所述代理组件的相应接口的延迟补偿量包括:通过比较Tclk_out与Tdata_out的求和与Tclk的大小来确定所述延迟补偿量,其中Tclk表示时钟周期。9.根据权利要求7所述的方法,其中:在Tdata_in≥Tclk_in的情况下,延迟补偿量为“0”或者“f1*Tclk”,其中Tclk表示时钟周期,f1为0.05至0.2之间的小数;并且将所述延迟补偿量添加到所述代理组件的相应接口上包括:将所述延迟补偿量添加到所述代理组件的相应输出接口上。10.根据权利要求7所述的方法,其中:在Tdata_in<Tclk_in的情况下,延迟补偿量为“Tclk_in

Tdata...

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

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

1