集成电路仿真方法及系统的制作方法

文档序号:6434622阅读:246来源:国知局
专利名称:集成电路仿真方法及系统的制作方法
技术领域
本发明涉及集成电路设计自动化领域,更具体地说,涉及一种集成电路仿真的方法及系统。
背景技术
集成电路仿真是集成电路设计中的重要步骤之一,是为了验证集成电路设计的逻辑和电路功能正确与否,以确保电路设计的准确性,而集成电路仿真是集成电路设计流程中的一个主要耗时的过程之一,是左右集成电路设计周期的一个重要影响因素之一,提高集成电路仿真速度可以有效地缩短集成电路的设计周期,进一步的降低集成电路产品的设计成本并提高产品的竞争力。集成电路仿真要对集成电路网表上的每一个仿真时间点进行仿真计算,在传统的集成电路仿真方法中,如图1所示,是在时间维度上作为一个整体,逐个进行仿真时间点, 也就是说,将集成电路网表作为一个整体的电路仿真时间窗口,从整个电路仿真时间窗口的起始时间点开始,顺序进行仿真计算,直至到达整个电路仿真时间窗口的终止时间点就结束电路仿真,这样,整个电路的仿真时间为整个电路仿真时间窗口内各个仿真时间点所用的时间之和。而随着集成电路的功能日益复杂,其电路的规模也日益庞大,如何提高集成电路仿真的速度成为一个研究热点,而随着计算机平台的计算资源的不断发展,人们提出了多个计算资源进行并行执行计算任务的仿真技术,以提高集成电路仿真的效率,而目前,这种并行计算主要体现在对同一仿真时间点上不同仿真计算任务的并行执行,诸如器件方程计算并行化、稀疏矩阵求解的并行化和电路不同结构部分的仿真计算并行化等。虽然这些并行化提高了每个仿真时间点的速度,但整个电路的仿真时间仍然为各个仿真时间点所用的时间之和,日益复杂的集成电路需要更高效率的电路仿真方法,以有效地缩短集成电路的设计周期,提高产品的竞争力。

发明内容
本发明实施例提供一种集成电路仿真的方法及系统,实现了不同时间点之间的并行仿真,大大提高了仿真效率。为实现上述目的,本发明实施例提供了如下技术方案一种集成电路仿真方法,包括提供待测电路的电路网表和逻辑仿真结果;将电路网表中的仿真时间点划分为N个连续的仿真时间窗口,每个仿真时间窗口的仿真时间点为从仿真窗起点至仿真窗终点的连续时间点,第n+1个仿真时间窗口的仿真窗起点为第η个仿真时间窗口的仿真窗终点之前的仿真时间点,以使相邻仿真时间窗口之间具有重叠时间区,N、η为正整数,1 ^n <Ν;根据逻辑仿真结果中与每个仿真时间窗口的仿真窗起点相对应的时间点的逻辑状态值,确定每个仿真时间窗口在仿真窗起点的电路仿真初始数据;根据各仿真时间窗口的电路仿真初始数据,以并行方式进行各个仿真时间窗口的电路仿真计算,在第η个仿真时间窗口与第η+1个仿真时间窗口的重叠时间区内结束第η 个仿真时间窗口的电路仿真计算;根据各个仿真时间窗口的电路仿真计算的结果进行数据拼接,以得到包括电路网表中所有仿真时间点的待测电路仿真结果。可选地,将电路网表中的仿真时间点划分为N个连续的仿真时间窗口的的步骤包括获取待测电路的电路网表的起始时间Ts和结束时间Te ;确定仿真时间窗口数目为N;将每个仿真时间窗口的长度定义为Tsim_win= (Te-Ts)/N* (1+k),k的数值范围为 (0,1);根据仿真时间窗口的长度,确定N个连续的仿真时间窗口,仿真时间窗口的仿真窗起点 t(s,n)及仿真窗终点 t(e,n),其中,t(s,D =Ts,t(e,N) =Te,t(s,n) = (Te-Ts)/N* (n-l-k/2), t(e,n) = (Te-Ts)/N*(n+k/2),第n+1个仿真时间窗口与第η个仿真时间窗口的重叠时间区为 (Te-Ts)/N*k,l < η < N。可选地,所述k的数值范围为(0,0.05)。可选地,根据逻辑仿真结果中与每个仿真时间窗口的仿真窗起点相对应的时间点的逻辑状态值,确定每个仿真时间窗口在仿真窗起点的仿真初始数据的步骤包括从逻辑仿真结果中得到与每个仿真时间窗口的仿真窗起点相对应的时间点的逻辑状态值;将逻辑状态值转换为电路仿真数据;将与仿真时间窗口的仿真窗起点相对应的电路仿真数据设置为该仿真时间窗口在仿真窗起点的电路仿真初始数据。可选地,在第η个仿真时间窗口与第η+1个仿真时间窗口的重叠时间区内结束第 η个仿真时间窗口的电路仿真计算的方法为以第η个仿真时间窗口与第η+1个仿真时间窗口的重叠时间区内指定的仿真时间点为第η个仿真时间窗口的电路仿真计算的结束时间点,结束第η个仿真时间窗口的电路仿真计算。可选地,第η个仿真时间窗口的电路仿真计算的结束时间点为第η个仿真时间窗口的仿真窗终点。可选地,在第η个仿真时间窗口与第η+1个仿真时间窗口的重叠时间区内结束第 η个仿真时间窗口的电路仿真计算的方法为判断第η个仿真时间窗口与第η+1个仿真时间窗口在重叠时间区的电路仿真计算的结果是否相同,若相同,则结束第η个仿真时间窗口的电路仿真计算。可选地,根据各个仿真时间窗口的电路仿真计算的结果进行数据拼接的步骤包括按照每个仿真时间窗口的实际的仿真计算结果进行拼接,其中,第η+1个仿真时间窗口中实际的仿真计算结果为从第η个仿真时间窗口的电路仿真计算结束的仿真时间点至第η+1个仿真时间窗口的电路仿真计算结束的仿真时间点之间的仿真计算结果,1 < η< N。此外,本发明还提供了一种集成电路仿真系统,包括初始模块,用于提供待测电路的电路网表和逻辑仿真结果;仿真时间窗口划分模块,用于将电路网表中的仿真时间点划分为N个连续的仿真时间窗口,每个仿真时间窗口的仿真时间点为从仿真窗起点至仿真窗终点的连续时间点, 第n+1个仿真时间窗口的仿真窗起点为第η个仿真时间窗口的仿真窗终点之前的仿真时间点,以使相邻仿真时间窗口之间具有重叠时间区,N、η为正整数,1彡η < N ;仿真初始数据确定模块,用于根据逻辑仿真结果中与每个仿真时间窗口的仿真窗起点相对应的时间点的逻辑状态值,确定每个仿真时间窗口在仿真窗起点的电路仿真初始数据;并行仿真模块,用于根据各仿真时间窗口的电路仿真初始数据,以并行方式进行各个仿真时间窗口的电路仿真计算,在第η个仿真时间窗口与第n+1个仿真时间窗口的重叠时间区内结束第η个仿真时间窗口的电路仿真计算;仿真结果拼接模块,用于根据将各个仿真时间窗口的电路仿真计算的结果进行拼接,以得到包括电路网表中所有仿真时间点的待测电路仿真结果。与现有技术相比,上述技术方案具有以下优点本发明实施例的集成电路仿真的方法及系统,通过将整个电路的仿真时间点划分为多个独立的仿真时间窗口,并根据逻辑仿真结果来确定各个仿真时间窗口的仿真窗起点的仿真初始数据,而由于相邻的仿真时间窗口在首尾连接处具有重叠时间区,可以在重叠时间区来结束本仿真时间窗口的电路仿真计算,从而实现各个仿真时间窗口能够相互独立地进行并行仿真计算,这样,整个电路仿真所需时间就近似为各仿真时间窗口中所需电路仿真时间的最大值,大大地提高了电路仿真的效率,从而有效地缩短集成电路的设计周期, 提高产品的竞争力。


通过附图所示,本发明的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。图1为传统的集成电路仿真方法示意图;图2为本发明的集成电路仿真方法中不同仿真时间点并行仿真示意图;图3为本发明的集成电路仿真方法的流程图;图4根据本发明实施例的集成电路仿真方法中仿真时间窗口划分方法的流程图;图5为根据本发明实施例的集成电路仿真方法中仿真时间窗口划分方法的示意图;图6为根据本发明实施例的集成电路仿真方法中确定仿真时间窗口的仿真初始数据的流程图;图7为根据本发明实施例的集成电路仿真方法中并行方式仿真计算方法的示意图;图8为根据本发明实施例的集成电路仿真方法中各仿真时间点的位置示意图;图9为根据本发明实施例的集成电路仿真方法中计算结果进行拼接方法示意图。
具体实施例方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式
做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。正如背景技术中的描述,目前,对于通过并行计算的方法提高集成电路仿真的速度,主要体现在同一仿真时间点上不同计算任务的并行执行,诸如器件方程计算并行化、稀疏矩阵求解的并行化和电路不同结构部分的仿真计算并行化等,这些并行化虽然提高了每个仿真时间点的速度,但整个电路的仿真时间仍然为各个仿真时间点所用的时间之和,日益复杂的集成电路需要更高效率的电路仿真方法,以有效地缩短集成电路的设计周期,提高产品的竞争力。为此,本发明提出了一种集成电路仿真的方法,对不同仿真时间点的计算任务进行并行计算,实现高效率的电路仿真。而在数字电路系统设计中,逻辑仿真结果和电路仿真结果之间存在着紧密的关联性,这种关联性反应为某个时钟点电路逻辑仿真的稳定状态与该时钟点之后但在新的时钟点到来之前电路级仿真的稳定状态是一致的,这从理论基础上支持了数字(逻辑)电路的电路级仿真的仿真时间窗口之间的并行计算。在本发明中,希望通过将整个电路的仿真时间窗口划分为若干个独立的仿真时间窗口,各独立的仿真时间窗口的电路仿真之间可以并行进行,参考图2所示,对电路仿真时间窗口 1,从左边的电路仿真时间窗口 1的起始时间点开始,自左往右沿时间轴方向,逐个仿真时间点,顺序进行仿真计算,直至到达电路仿真时间窗口 1内的预定结束时间点方才结束该窗口的电路仿真;对电路仿真时间窗口 2,从左边的电路仿真时间窗口 2的起始时间点开始,从左往右沿时间轴方向,逐个仿真时间点,顺序进行仿真计算,直至到达电路仿真时间窗口 2内的预定结束时间点方才结束该窗口的电路仿真;以此类推,对电路仿真时间窗口 M,从左边的电路仿真时间窗口 M的起始时间点开始,从左往右沿时间轴方向,逐个仿真时间点,顺序进行仿真计算,直至到达电路仿真时间窗口 M内的某一结束时间点方才结束该电路仿真。对于每个仿真时间窗口 1、2、...M,由于是并行进行仿真计算的,电路仿真所需时间就近似为各仿真时间窗口其所需电路仿真时间之最大值。基于上述思想,本发明将整个仿真时间窗划分为多个独立的仿真时间窗口,以各仿真时间窗口的仿真窗起点作为该窗口电路仿真计算的起始时间点,并在各仿真时间窗口内确定该窗口的电路仿真计算的结束时间点,以实现各仿真时间窗口的并行计算。所述集成电路仿真的方法包括以下步骤提供待测电路的电路网表和逻辑仿真结果;将电路网表中的仿真时间点划分为N个连续的仿真时间窗口,每个仿真时间窗口的仿真时间点为从仿真窗起点至仿真窗终点的连续时间点,第n+1个仿真时间窗口的仿真窗起点为第η个仿真时间窗口的仿真窗终点之前的仿真时间点,以使相邻仿真时间窗口之间具有重叠时间区,N、η为正整数,1 <η<Ν;根据逻辑仿真结果中与每个仿真时间窗口的仿真窗起点相对应的时间点的逻辑状态值,确定每个仿真时间窗口在仿真窗起点的电路仿真初始数据;根据各仿真时间窗口的电路仿真初始数据,以并行方式进行各个仿真时间窗口的电路仿真计算,在第η个仿真时间窗口与第η+1个仿真时间窗口的重叠时间区内结束第η 个仿真时间窗口的电路仿真计算;根据各个仿真时间窗口的电路仿真计算的结果进行数据拼接,以得到包括电路网表中所有仿真时间点的待测电路仿真结果。通过将整个电路的仿真时间点划分为多个独立的仿真时间窗口,并根据逻辑仿真结果来确定各个仿真时间窗口的仿真窗起点的仿真初始数据,而由于相邻的仿真时间窗口在首尾连接处具有重叠时间区,可以在重叠时间区来结束本仿真时间窗口的电路仿真计算,每个仿真时间窗具有各自的仿真初始数据以及仿真计算的结束点,从而实现各个仿真时间窗口能够相互独立地进行并行仿真计算,这样,整个电路仿真所需时间就近似为各仿真时间窗口中所需电路仿真时间的最大值,大大地提高了电路仿真的效率,从而有效地缩短集成电路的设计周期,提高产品的竞争力。为了更好地理解本发明的技术方案和效果,以下将结合本发明的方法的流程图对具体的实施例进行详细的描述。如图3所示,本发明的集成电路仿真方法的流程图。在步骤S101,提供待测电路的电路网表和逻辑仿真结果。待测电路为数字电路,所述逻辑仿真结果中包括各时间点的逻辑状态值等信息。所述电路网表即电路仿真网表,是集成电路设计时,对硬件描述语言综合后生成的电路文件,用于电路仿真测试。需要说明的是,文中所述电路网表/电路仿真网表至少包括这些部分通过电路和寄生参数提取软件工具从集成电路版图提取得到的包含寄生参数的电路网表;加在前述集成电路上的激励和负载等;电路节点初始电压值设置,电路节点电压和支路电流输出设定,启动电路仿真分析(如瞬态分析)的若干命令行(含起始、结束时间)、作后续测量分析的命令行等等。在步骤S102,将电路网表中的仿真时间点划分为N个连续的仿真时间窗口,第η+1 个仿真时间窗口与第η个仿真时间窗口具有重叠时间区。其中,每个仿真时间窗口的仿真时间点为从仿真窗起点至仿真窗终点的连续时间点,第η+1个仿真时间窗口的仿真窗起点为第η个仿真时间窗口的仿真窗终点之前的仿真时间点,以使相邻仿真时间窗口之间具有重叠时间区,N、η为正整数,1 < η < N。在本实施例中,参考图4所示,通过以下步骤来实现仿真时间窗口的划分在步骤S10201,获取待测电路的电路网表的起始时间和结束时间。待测电路的电路网表的起始时间Ts和结束时间Te可以从逻辑仿真结果中获取, 也可以从电路仿真网表中获取,例如电路仿真网表中激励开始的时间点和结束的时间点, 或者是电路仿真网表文件中瞬态分析命令行所指定的开始的时间点和结束的时间点。在步骤S10202,确定仿真时间窗口数目为N。可以根据可利用的能并行计算的资源的数目来确定仿真时间窗口的数目,也即将进行并行计算的仿真时间窗口数目,可利用的能并行计算的资源例如当前局域网上闲置的可以用作并行计算的计算机,可以以闲置的计算机的数目或者部分闲置的计算机数目作为仿真时间窗口的数目。此处仿真时间窗口的数目仅为示例,还可以根据具体的设计需求确定该仿真时间窗口的数目。在步骤S10203,确定仿真时间窗口长度,仿真时间窗口长度中包括重叠时间区。在本实施例中,将仿真时间窗口长度定义为Tsim_win = (Te-Ts)/N*(1+k),其中,其中,k值的取值范围可以为(0,1),更优选地,可以为(0,0. 05),该k值在划分仿真时间窗口时,使相邻的仿真时间窗口在首尾连接处具有重叠时间区,取值较小时,在保证重叠时间区的同时,对该窗口内仿真时间的影响很小。在步骤S10203,根据仿真时间窗口的长度,确定N个连续的仿真时间窗口,也就是,通过确定仿真时间窗口的仿真窗起点t(s,n)及仿真窗终点t(_),从而确定了每个仿真时间窗口中的所有仿真时间点,即仿真窗起点t(s,n)与仿真窗终点之间的所有的连续时间点为该窗口内的仿真时间点。在本实施例中,将t(s, n) = ((Te-Ts) /N* (n-l-k/2),t(e, n) = ((Te-Ts) /N* (n+k/2),1 <n<N,这样,将t(s,n+1) = ((Te-Ts)/N*(n-k/2),第n+1个仿真时间窗口与第η个仿真时间窗口的重叠时间区长度为(Te-Ts)/N*k。此夕卜,当n = 1时,即第1个仿真时间窗口,其仿真窗起点为、。)=Ts,当η = N
时,t(e,N) = Teo以上为本发明将整个电路的仿真时间点划分为具有重叠时间区的多个连续的仿真时间窗口的实施例,如图5所示,为一个划分为4个仿真时间窗口实施例,仿真时间窗口 1和仿真时间窗口 2之间的重叠时间区Dli2,仿真时间窗口 2和仿真时间窗口 3之间的重叠时间区D2,3,仿真时间窗口 3和仿真时间窗口 4之间的重叠时间区D3,4,其中的重叠时间区是为了确定各个仿真时间窗口中的电路仿真计算的结束时间点。在步骤S103,根据逻辑仿真结果中与每个仿真时间窗口的仿真窗起点相对应的时间点的逻辑状态值,确定每个仿真时间窗口在仿真窗起点的电路仿真初始数据。在本实施例中,参考图6所示,具体地,可以通过以下步骤来确定仿真时间窗口的仿真窗起点的仿真初始数据在步骤S10301,从逻辑仿真结果中得到与每个仿真时间窗口的仿真窗起点相对应的时间点的逻辑状态值。可以按照时间遍历逻辑仿真结果,获得与每个仿真时间窗口的仿真窗起点相对应的时间点的逻辑状态值。在步骤S10302,将所述逻辑状态值转化为电路仿真数据。通过计算,将得到的逻辑状态值转换为连续空间的电路仿真数据,例如电路节点的电压值等。在步骤S10303,将与仿真时间窗口的仿真窗起点相对应的电路仿真数据设置为该仿真时间窗口在仿真窗起点的电路仿真初始数据。这样就得到了每个仿真时间窗口在仿真窗起点的电路仿真初始数据,从而可以根据该电路仿真初始数据,以该点为电路仿真计算的起始时间点,对每个仿真时间窗口中其他仿真时间点进行电路仿真计算。在步骤S104,根据各仿真时间窗口的电路仿真初始数据,以并行方式进行各个仿真时间窗口的电路仿真计算,在第η个仿真时间窗口与第η+1个仿真时间窗口的重叠时间区内结束第η个仿真时间窗口的电路仿真计算,1 < η < N。对于第N个仿真时间窗口,其电路仿真计算的结束时间点为第N个仿真时间窗口的仿真窗终点,即整个待测电路的结束时间点 ;。在上述仿真时间窗口划分以及各仿真时间窗口的电路仿真初始数据确定的基础上,可以通过并行的方式在各个仿真时间窗口内从仿真窗起点开始进行仿真计算,并在第η 个仿真时间窗口与第η+1个仿真时间窗口的重叠时间区内结束第η个仿真时间窗口的电路仿真计算,从而实现了多个仿真时间窗口并行仿真计算,即不同仿真时间点之间的并行仿
真计算。在一些实施例中,可以通过在第η个仿真时间窗口与第η+1个仿真时间窗口的重叠时间区内指定某个仿真时间点为第η个仿真时间窗口的电路仿真计算的结束时间点,仿真计算执行到该结束时间点时便结束第η个仿真时间窗口的电路仿真计算,例如,可以指定第η个仿真时间窗口的仿真窗终点为第η个仿真时间窗口的电路仿真计算的结束时间点,还可以根据具体设计的需要,例如收敛性和计算效率,指定重叠时间区内的其他仿真时间点为仿真时间窗口的电路仿真计算的结束时间点。参考图7所示,仿真时间窗口 1、仿真时间窗口 2、仿真时间窗口 3和仿真时间窗口 4等多个仿真窗口以并行方式进行电路仿真计算,由于每个仿真窗口具有自己的电路仿真初始值以及电路仿真计算的结束点的判断方法,使各个仿真时间窗口可以独立地进行该窗口的仿真计算,在各个仿真时间窗口中,可以沿该仿真时间窗口的时间轴对各个仿真时间点进行逐个仿真,直到重叠时间区内的某个仿真时间点,结束本窗口的电路仿真计算。在更优选的实施例中,通过判断本仿真时间窗口 η与下一个仿真时间窗口 η+1在重叠时间区相同的仿真时间点的电路仿真计算结果是否相同,来确定本仿真时间窗口 η的电路仿真计算的结束点,从而确保了在各个仿真时间窗口内的有效结束,保证了仿真时间窗口仿真计算的收敛性,同时最大限度地提高了仿真计算的效率。对于该优选实施例中仿真时间窗口内各个时间点的仿真计算的方法,如图8所示,仿真时间窗口 η的电路仿真计算从仿真时间窗口 η的仿真窗起点t(s,n)开始,沿时间轴方向逐一仿真时间点仿真,在进入仿真时间窗口 η+1的仿真窗起点t(s,n+1)开始检测仿真时间窗口 η的电路仿真计算得到的计算结果(例如电压值)与仿真时间窗口 η+1的电路仿真计算得到的计算结果(例如电压值) 在同一仿真时间点的值是否相同,若相同,则该仿真时间点为仿真时间窗口 η的电路仿真计算的结束时间点4,否则继续下一个仿真时间点,如此重复直至发现仿真时间窗口 η的电路仿真计算得到的计算结果与仿真时间窗口 η+1的电路仿真计算得到的计算结果在同一仿真时间点的值相同。在步骤S105,根据各个仿真时间窗口的电路仿真计算的结果进行数据拼接,以得到包括电路网表中所有仿真时间点的待测电路仿真结果。将各个仿真窗口的计算结果拼接在一起组成待测电路的最终仿真结果,对于重叠时间区的时间点,由于在相邻的仿真时间窗内出现了两次,为了避免重复,仅拼接一次。在本实施例中,通过将每个仿真时间窗口的实际的仿真计算结果进行拼接,参考图9所示,对于第η+1个仿真时间窗口的实际的仿真计算结果为第η个仿真时间窗口的电路仿真计算的结束时间点&至第η+1个仿真时间口的电路仿真计算的结束时间点Εη+1之间的计算结果,其中1 < η < N。在进行拼接时,第1个仿真时间窗口的实际的仿真计算结果为该窗口的仿真窗起点Ts(即整个待测电路的起始时间)至第1个仿真时间窗口的电路仿真计算的结束时间点E1之间的仿真结果,这两个时间点之间的仿真结果作为整个待测电路仿真结果的一部分;第2个仿真时间口的实际的仿真计算结果为第1个仿真时间窗口的电路仿真计算的结束时间点E1至第2个仿真时间口的电路仿真计算的结束时间点E2之间的仿真结果,这两个时间点之间的仿真结果作为整个待测电路仿真结果的一部分,重复此步操作直至第N-I个仿真时间窗口 ;以此类推,第N个仿真时间窗口的实际的仿真计算结果为第N-I个仿真时间窗口的电路仿真计算的结束时间点Eim至整个待测电路的结束时间点Te 之间的仿真结果,将第1仿真时间窗口至第N个仿真时间窗口的实际的仿真结果拼接在一起,从而得到了整个待测电路的仿真结果。至此,本实施例通过对不同时间点并行执行仿真计算得到了待测电路仿真结果。以上对本发明及其实施例的集成电路仿真的方法进行了详细的描述,此外,本发明还提供了根据上述方法的集成电路的仿真系统,包括初始模块,用于提供待测电路的电路网表和逻辑仿真结果;仿真时间窗口划分模块,用于将电路网表中的仿真时间点划分为N个连续的仿真时间窗口,每个仿真时间窗口的仿真时间点为从仿真窗起点至仿真窗终点的连续时间点, 第n+1个仿真时间窗口的仿真窗起点为第η个仿真时间窗口的仿真窗终点之前的仿真时间点,以使相邻仿真时间窗口之间具有重叠时间区,N、η为正整数,1彡η < N ;仿真初始数据确定模块,用于根据逻辑仿真结果中与每个仿真时间窗口的仿真窗起点相对应的时间点的逻辑状态值,确定每个仿真时间窗口在仿真窗起点的电路仿真初始数据;并行仿真模块,用于根据各仿真时间窗口的电路仿真初始数据,以并行方式进行各个仿真时间窗口的电路仿真计算,在第η个仿真时间窗口与第n+1个仿真时间窗口的重叠时间区内结束第η个仿真时间窗口的电路仿真计算;仿真结果拼接模块,用于根据将各个仿真时间窗口的电路仿真计算的结果进行拼接,以得到包括电路网表中所有仿真时间点的待测电路仿真结果。以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例披露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案作出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此, 凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
权利要求
1.一种集成电路仿真方法,其特征在于,包括提供待测电路的电路网表和逻辑仿真结果;将电路网表中的仿真时间点划分为N个连续的仿真时间窗口,每个仿真时间窗口的仿真时间点为从仿真窗起点至仿真窗终点的连续时间点,第n+1个仿真时间窗口的仿真窗起点为第η个仿真时间窗口的仿真窗终点之前的仿真时间点,以使相邻仿真时间窗口之间具有重叠时间区州、11为正整数,1彡11<1根据逻辑仿真结果中与每个仿真时间窗口的仿真窗起点相对应的时间点的逻辑状态值,确定每个仿真时间窗口在仿真窗起点的电路仿真初始数据;根据各仿真时间窗口的电路仿真初始数据,以并行方式进行各个仿真时间窗口的电路仿真计算,在第η个仿真时间窗口与第n+1个仿真时间窗口的重叠时间区内结束第η个仿真时间窗口的电路仿真计算;根据各个仿真时间窗口的电路仿真计算的结果进行数据拼接,以得到包括电路网表中所有仿真时间点的待测电路仿真结果。
2.根据权利要求1所述的方法,其特征在于,将电路网表中的仿真时间点划分为N个连续的仿真时间窗口的的步骤包括获取待测电路的电路网表的起始时间Ts和结束时间Te ;确定仿真时间窗口数目为N;将每个仿真时间窗口的长度定义为Tsim_win= (Te-Ts)/N* (l+k),k的数值范围为(0,1);根据仿真时间窗口的长度,确定N个连续的仿真时间窗口,仿真时间窗口的仿真窗起点 t(s,n)及仿真窗终点 t(e,n),其中,t(sa) = Ts, t(e,N) = Te, t(s,n) = (Te-Ts)/N*(n-l-k/2), t(e,n) = (Te-Ts)/N*(n+k/2),第n+1个仿真时间窗口与第η个仿真时间窗口的重叠时间区为 (Te-Ts)/N*k,l < η < N。
3.根据权利要求2所述的方法,其特征在于,所述k的数值范围为(0,0.05)。
4.根据权利要求1所述的方法,其特征在于,根据逻辑仿真结果中与每个仿真时间窗口的仿真窗起点相对应的时间点的逻辑状态值,确定每个仿真时间窗口在仿真窗起点的仿真初始数据的步骤包括从逻辑仿真结果中得到与每个仿真时间窗口的仿真窗起点相对应的时间点的逻辑状态值;将逻辑状态值转换为电路仿真数据;将与仿真时间窗口的仿真窗起点相对应的电路仿真数据设置为该仿真时间窗口在仿真窗起点的电路仿真初始数据。
5.根据权利要求1所述的方法,其特征在于,在第η个仿真时间窗口与第n+1个仿真时间窗口的重叠时间区内结束第η个仿真时间窗口的电路仿真计算的方法为以第η个仿真时间窗口与第n+1个仿真时间窗口的重叠时间区内指定的仿真时间点为第η个仿真时间窗口的电路仿真计算的结束时间点,结束第η个仿真时间窗口的电路仿真计算。
6.根据权利要求5所述的方法,其特征在于,第η个仿真时间窗口的电路仿真计算的结束时间点为第η个仿真时间窗口的仿真窗终点。
7.根据权利要求1所述的方法,其特征在于,在第η个仿真时间窗口与第n+1个仿真时间窗口的重叠时间区内结束第η个仿真时间窗口的电路仿真计算的方法为判断第η个仿真时间窗口与第n+1个仿真时间窗口在重叠时间区的电路仿真计算的结果是否相同,若相同,则结束第η个仿真时间窗口的电路仿真计算。
8.根据权利要求1所述的方法,其特征在于,根据各个仿真时间窗口的电路仿真计算的结果进行数据拼接的步骤包括按照每个仿真时间窗口的实际的仿真计算结果进行拼接,其中,第n+1个仿真时间窗口中实际的仿真计算结果为从第η个仿真时间窗口的电路仿真计算结束的仿真时间点至第n+1个仿真时间窗口的电路仿真计算结束的仿真时间点之间的仿真计算结果,1 ( η < N。
9.一种集成电路仿真系统,其特征在于,包括初始模块,用于提供待测电路的电路网表和逻辑仿真结果;仿真时间窗口划分模块,用于将电路网表中的仿真时间点划分为N个连续的仿真时间窗口,每个仿真时间窗口的仿真时间点为从仿真窗起点至仿真窗终点的连续时间点,第n+1 个仿真时间窗口的仿真窗起点为第η个仿真时间窗口的仿真窗终点之前的仿真时间点,以使相邻仿真时间窗口之间具有重叠时间区,N、η为正整数,1^η<Ν;仿真初始数据确定模块,用于根据逻辑仿真结果中与每个仿真时间窗口的仿真窗起点相对应的时间点的逻辑状态值,确定每个仿真时间窗口在仿真窗起点的电路仿真初始数据;并行仿真模块,用于根据各仿真时间窗口的电路仿真初始数据,以并行方式进行各个仿真时间窗口的电路仿真计算,在第η个仿真时间窗口与第n+1个仿真时间窗口的重叠时间区内结束第η个仿真时间窗口的电路仿真计算;仿真结果拼接模块,用于根据将各个仿真时间窗口的电路仿真计算的结果进行拼接, 以得到包括电路网表中所有仿真时间点的待测电路仿真结果。
全文摘要
本发明公开了一种集成电路仿真的方法,通过将整个电路的仿真时间点划分为多个独立的仿真时间窗口,并根据逻辑仿真结果来确定各个仿真时间窗口的仿真窗起点的仿真初始数据,而由于相邻的仿真时间窗口在首尾连接处具有重叠时间区,可以在重叠时间区来结束本仿真时间窗口的电路仿真计算,从而实现各个仿真时间窗口能够相互独立地进行并行仿真计算,这样,整个电路仿真所需时间就近似为各仿真时间窗口中所需电路仿真时间的最大值,大大地提高了电路仿真的效率,从而有效地缩短集成电路的设计周期,提高产品的竞争力。
文档编号G06F17/50GK102360397SQ20111029778
公开日2012年2月22日 申请日期2011年9月30日 优先权日2011年9月30日
发明者吴玉平, 陈岚 申请人:中国科学院微电子研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1