CN112613259A - 片上系统后仿真方法、装置及电子设备 - Google Patents
片上系统后仿真方法、装置及电子设备 Download PDFInfo
- Publication number
- CN112613259A CN112613259A CN202011506355.XA CN202011506355A CN112613259A CN 112613259 A CN112613259 A CN 112613259A CN 202011506355 A CN202011506355 A CN 202011506355A CN 112613259 A CN112613259 A CN 112613259A
- Authority
- CN
- China
- Prior art keywords
- target
- chip
- data
- delay
- post
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/323—Translation or migration, e.g. logic to logic, hardware description language [HDL] translation or netlist translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/3312—Timing analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/02—System on chip [SoC] design
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本申请涉及芯片设计制作技术领域,具体而言,涉及一种片上系统后仿真方法、装置及电子设备。片上系统后仿真方法,包括:基于片上系统的芯片数据库,获取目标模块的第一延时数据,目标模块为片上系统包括的目标子系统中,需要通过除目标子系统以外的其他子系统发送激励信号的功能模块,第一延时数据为激励信号的延时数据;根据第一延时数据对预设的初始时序模型进行反标,获得目标时序模型;根据目标时序模型对初始网表进行更新,获得目标网表,初始网表为目标子系统的电路网表;基于目标网表,对目标子系统进行后仿真操作。本申请实施例提供的片上系统后仿真方法能够提高片上系统的后仿真效率,同时,提高片上系统的后仿真质量。
Description
技术领域
本申请涉及芯片设计制作技术领域,具体而言,涉及一种片上系统后仿真方法、装置及电子设备。
背景技术
片上系统验证涉及功能仿真、前仿真和后仿真,其中,后仿真是指片上系统的版图设计完成之后,将寄生参数、互连延迟反标到片上系统的电路网表中,并进行仿真的过程。片上系统的制造进入更先进的工艺节点之后,后仿真更成为片上系统设计流程中不可缺少的一部分,在片上系统中时钟、复位和互联越来越复杂的情况下,利用带有时序的后仿真才能够发现潜在的约束问题和时序问题。而完成片上系统的后仿真,需要:
1)将标准延时文件中的延时数据反标到待验证设计的电路网表中;
2)将符合片上系统实际时序的激励信号施加到待验证设计上。
当片上系统的规模较小时,后仿真是以整个片上系统作为待验证设计的。片上系统的版图设计完成后,标准延时文件和片上系统的电路网表是对应的,片上系统的输入时序也由时序约束文件确定,因此,完全按照上述步骤1和步骤2即可完成片上系统的后仿真操作。
但是,随着半导体工艺特征尺寸的不断缩小,片上系统的规模越来越大,功能也日益复杂,片上系统验证的时间和资源开销也越来越大,因此,片上系统的验证流程也趋向于将验证环境建立在由多个功能相关模块构成的子系统上,验证人员通过并行的完成多个子系统的功能验证,从而达到验证整个芯片功能的目的。从验证角度来讲,将片上系统划分为多个子系统来验证,可以使得验证更加充分,同时,降低验证环境的复杂程度,缩减整个片上系统的验证时间,做到验证质量和验证时间之间的平衡。如图1所示,一个片上系统被划分为多个子系统,那么,验证环境便可以基于多个子系统来搭建,例如,一个片上系统被划分为第一子系统、第二子系统和第三子系统,那么,验证环境便可以基于第一子系统、第二子系统和第三子系统来搭建。基于此,片上系统的后仿真也可以基于子系统的验证环境来完成。由于针对待验证子系统中的某个目标模块,其激励信号通常是由片上系统中除待验证子系统以外的其他子系统来驱动的,因此,仅依靠与待验证子系统对应的芯片标准延时文件中包括的延时数据是无法确定目标模块的输入时序行为的。
基于以上描述,针对如何在片上系统的后仿真过程中施加符合实际时序的激励信号的问题,现有技术中,会人为给激励信号设置一定的延时,用于满足目标模块中第一级寄存器的时序采样和时序检查要求,有时还会根据后仿真和时序检查的结果来反复调整激励信号的延时,直至满足目标模块中第一级寄存器的时序采样和时序检查要求,也即,通过不断的仿真试错来调整激励信号的延时。这样的方法有以下缺点:
1)人为设定激励信号的延时,仅仅是为了满足目标模块中第一级寄存器的时序采样和时序检查要求而设置,并不能真实反映目标模块实际的时序情况,可能会掩盖一些时序约束或遗漏一些时序违例的错误;
2)通过不断仿真试错来调整激励信号的延时,一方面迭代时间长,另一方面待验证子系统的电路网表和标准延时文件出现变化时,需要重新迭代,如此,便会花费大量时间,进而影响后仿真效率。
发明内容
本申请的目的在于,提供一种片上系统后仿真方法、装置及电子设备,以解决上述问题。
第一方面,本申请提供的片上系统后仿真方法,包括:
基于片上系统的芯片数据库,获取目标模块的第一延时数据,目标模块为片上系统包括的目标子系统中,需要通过除目标子系统以外的其他子系统发送激励信号的功能模块,第一延时数据为激励信号的延时数据;
根据第一延时数据对预设的初始时序模型进行反标,获得目标时序模型;
根据目标时序模型对初始网表进行更新,获得目标网表,初始网表为目标子系统的电路网表;
基于目标网表,对目标子系统进行后仿真操作。
结合第一方面,本申请实施例还提供了第一方面的第一种可选的实施方式,基于片上系统的芯片数据库,获取目标模块的第一延时数据,包括:
从目标模块包括的多条激励信号输入线路中划分出数据信号输入线路和时钟信号输入线路;
基于芯片数据库,获取与数据信号输入线路对应的数据延时值;
基于芯片数据库,获取与时钟信号输入线路对应的时钟延时值;
将数据延时值和时钟延时值作为第一延时数据。
结合第一方面的第一种可选的实施方式,本申请实施例还提供了第一方面的第二种可选的实施方式,基于芯片数据库,获取与数据信号输入线路对应的数据延时值,包括:
从芯片数据库中读取出第一延时值,第一延时值为时钟源与数据信号输入线路中末级寄存器的数据输出端口之间的信号传输时长;
从芯片数据库中读取出第二延时值,第二延时值为末级寄存器的数据输出端口与目标模块的数据输入接口之间的信号传输时长;
将第一延时值与第二延时值的和作为数据延时值。
结合第一方面的第一种可选的实施方式,本申请实施例还提供了第一方面的第三种可选的实施方式,基于芯片数据库,获取与时钟信号输入线路对应的时钟延时值,包括:
从芯片数据库中读取出第三延时值,以将第三延时值作为时钟延时值,第三延时值为时钟源与目标模块的时钟输入接口之间的信号传输时长。
结合第一方面,本申请实施例还提供了第一方面的第四种可选的实施方式,根据第一延时数据对预设的初始时序模型进行反标,获得目标时序模型之前,片上系统后仿真方法还包括:
针对目标模块包括的多条激励信号输入线路中的每条激励信号输入线路,创建与激励信号输入线路对应的初始时序模型。
结合第一方面的第四种可选的实施方式,本申请实施例还提供了第一方面的第五种可选的实施方式,创建与激励信号输入线路对应的初始时序模型,包括:
创建包括信号输入接口和信号输出接口,且信号输入接口和信号输出接口之间包括缓冲器的延时仿真电路,以将延时仿真电路作为与激励信号输入线路对应的初始时序模型,缓冲器上设置有延时值配置接口。
结合第一方面的第五种可选的实施方式,本申请实施例还提供了第一方面的第六种可选的实施方式,根据第一延时数据对初始时序模型进行反标,获得目标时序模型,包括:
从多条激励信号输入线路中,确定出与第一延时数据对应的目标激励信号输入线路,以及确定出与目标激励信号输入线路对应的初始时序模型,作为待处理时序模型;
通过待处理时序模型中缓冲器上设置的延时值配置接口,将第一延时数据写入待处理时序模型,以对待处理时序模型进行反标,获得目标时序模型。
结合第一方面,本申请实施例还提供了第一方面的第七种可选的实施方式,根据目标时序模型对初始网表进行更新,获得目标网表,包括:
将目标时序模型的信号输入接口连接至激励生成器,以及将目标时序模型的信号输出接口连接至目标模块,获得后仿真激励电路;
读取后仿真激励电路的连接关系参数;
通过连接关系参数对初始网表进行更新,获得目标网表。
结合第一方面,本申请实施例还提供了第一方面的第八种可选的实施方式,基于目标网表,对目标子系统进行后仿真操作,包括:
基于芯片数据库,获得目标子系统的第二延时数据,第二延时数据包括目标子系统的器件延时值和线延时值;
根据第二延时数据对目标网表进行反标;
通过进行反标之后的目标网表,对目标子系统进行后仿真操作。
第二方面,本申请实施例还提供了一种片上系统后仿真装置,包括:
第一延时数据获取模块,用于基于片上系统的芯片数据库,获取目标模块的第一延时数据,目标模块为片上系统包括的目标子系统中,需要通过除目标子系统以外的其他子系统发送激励信号的功能模块,第一延时数据为激励信号的延时数据;
第一反标模块,用于根据第一延时数据对预设的初始时序模型进行反标,获得目标时序模型;
网表更新模块,用于根据目标时序模型对初始网表进行更新,获得目标网表,初始网表为目标子系统的电路网表;
后仿真模块,用于基于目标网表,对目标子系统进行后仿真操作。
第三方面,本申请实施例还提供了一种电子设备,包括处理器和存储器,存储器上存储有计算机程序,处理器用于执行计算机程序,以实现上述第一方面,或第一方面的任意一种可选的实施方式所提供的片上系统后仿真方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被执行时,实现上述第一方面,或第一方面的任意一种可选的实施方式所提供的片上系统后仿真方法。
本申请实施例提供的片上系统后仿真方法能够基于片上系统的芯片数据库,获取目标模块的第一延时数据,其中,目标模块为片上系统包括的目标子系统中,需要通过除目标子系统以外的其他子系统发送激励信号的功能模块,第一延时数据为激励信号的延时数据,此后,根据第一延时数据对预设的初始时序模型进行反标,获得目标时序模型,再根据目标时序模型对初始网表进行更新,获得目标网表,初始网表为目标子系统的电路网表,最后,基于目标网表,对目标子系统进行后仿真操作。本申请实施例提供的片上系统后仿真方法、装置及电子设备能够直接根据第一延时数据对预设的初始时序模型进行反标,获得目标时序模型,以简化后仿真过程中对于激励信号的延时处理,缩短整个后仿真的验证周期,最终,提高了片上系统的后仿真效率,又由于第一延时数据为激励信号的实际延时数据,因此,通过第一延时数据能够真实反映目标模块实际的时序情况,确保在后仿真过程中不掩盖一些时序约束或遗漏一些时序违例的错误,从而提高后片上系统的仿真质量。
本申请实施例提供的片上系统后仿真装置、电子设备及计算机可读存储介质具有与上述片上系统后仿真方法相同的有益效果,此处不作赘述
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种片上系统的示意性结构框图。
图2为本申请实施例提供的一种电子设备的示意性结构框图。
图3为本申请实施例提供的一种片上系统后仿真方法的步骤流程图。
图4为本申请实施例提供的一种片上系统的部分组成结构的示意性结构框图。
图5为本申请实施例提供的另一种片上系统的部分组成结构的示意性结构框图。
图6位本申请实施例提供的一种初始时序模型的结构示意图。
图7为本申请实施例提供的一种目标模块通过整体延时模型与激励生成器连接的连接方式示意图。
图8为本申请实施例提供的一种多个目标模块通过各自对应的整体延时模型与激励生成器连接的连接方式示意图。
图9为本申请实施例提供的片上系统后仿真方法的一种具体实施方式的整体流程示意图。
图10为本申请实施例提供的一种片上系统后仿真装置的示意性结构框图。
附图标记:100-电子设备;110-处理器;120-存储器;200-片上系统后仿真装置;210-第一延时数据获取模块;220-第一反标模块;230-网表更新模块;240-后仿真模块。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。此外,应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
请参阅图2,为本申请实施例提供的一种电子设备100的示意性结构框图。本申请实施例中,电子设备100可以是终端设备,例如,电脑、个人数字助理(Personal DigitalAssistant,PAD)、移动上网设备(Mobile Internet Device,MID)等,还可以是服务器,本申请实施例对此不作具体限制。
在结构上,电子设备100可以包括处理器110和存储器120。
处理器110和存储器120直接或间接地电性连接,以实现数据的传输或交互,例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。片上系统后仿真装置包括至少一个可以软件或固件(Firmware)的形式存储在存储器120中的软件模块。处理器110用于执行存储器120中存储的可执行模块,例如,片上系统后仿真装置所包括的软件功能模块及计算机程序等,以实现片上系统后仿真方法。
处理器110可以在接收到执行指令后,执行计算机程序。其中,处理器110可以是一种集成电路芯片,具有信号处理能力。处理器110也可以是通用处理器,例如,可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、分立门或晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图,此外,通用处理器可以是微处理器或者任何常规处理器等。
存储器120可以是,但不限于,随机存取存储器(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-OnlyMemory,PROM)、可擦可编程序只读存储器(Erasable Programmable Read-Only Memory,EPROM),以及电可擦编程只读存储器(Electric Erasable Programmable Read-OnlyMemory,EEPROM)。存储器120用于存储程序,处理器110在接收到执行指令后,执行该程序。
应当理解,图2所示的结构仅为示意,本申请实施例提供的电子设备100还可以具有比图2更少或更多的组件,或是具有与图2所示不同的配置。此外,图2所示的各组件可以通过软件、硬件或其组合实现。
请参阅图3,为本申请实施例提供的片上系统后仿真方法的流程示意图,该方法应用于图2所示的电子设备100。需要说明的是,本申请实施例提供的片上系统后仿真方法不以图3及以下所示的顺序为限制,以下结合图3对片上系统后仿真方法的具体流程及步骤进行描述。
步骤S100,基于片上系统的芯片数据库,获取目标模块的第一延时数据,目标模块为片上系统包括的目标子系统中,需要通过除目标子系统以外的其他子系统发送激励信号的功能模块,第一延时数据为激励信号的延时数据。
在片上系统(SystemOnChip,SOC,又称系统级芯片)的后端设计过程中,会整合形成芯片数据库,用于存储SOC中每个单元在版图中的物理位置、单元之间的连线信息、每个单元内部的时序信息,每条线路的延时值,以及SOC的层次结构等,其中,每个单元内部的时序信息和每条线路的延时值可以通过Prime Time软件读取。此外,可以理解的是,本申请实施例中,“单元”可以理解为组成功能模块的最小逻辑块,例如,与门、或门、触发器、反相器等。
基于以上描述,本申请实施例中,便可以基于SOC的芯片数据库,获取目标模块的第一延时数据。其中,目标模块为SOC包括的目标子系统中,需要通过除目标子系统以外的其他子系统发送激励信号的功能模块。此外,本申请实施例中,功能模块可以理解为包括时序逻辑和组合逻辑的电路模块,因此,此处所指激励信号可以是数据信号,也可以是时钟信号,而第一延时数据为激励信号的延时数据。
再次以图1所示的SOC为例,若第一子系统中,第一功能模块需要通过除第一子系统以外的其他子系统发送激励信号,例如,需要通过第二子系统发送激励信号,以使第一功能模块启动工作,则可以将第一功能模块作为目标模块,同时,也可以将第一子系统中其他需要通过除第一子系统以外的其他子系统发送激励信号的所有功能模块均作为目标模块,再通过本申请实施例通过的片上系统后仿真方法对第一子系统进行后仿真操作,同样,若第二子系统中,第四功能模块需要通过除第二子系统以外的其他子系统发送激励信号,例如,需要通过第三子系统发送激励信号,以使第四功能模块启动工作,则可以将第四功能模块作为目标模块,同时,也可以将第二子系统中其他需要通过除第二子系统以外的其他子系统发送激励信号的所有功能模块均作为目标模块,再通过本申请实施例通过的片上系统后仿真方法对第二子系统进行后仿真操作。
进一步地,对于步骤S100,本申请实施例中,作为一种可选的实施方式,其可以包括步骤S110、步骤S120、步骤S130和步骤S140。
步骤S110,从目标模块包括的多条激励信号输入线路中确定出数据信号输入线路和时钟信号输入线路。
本申请实施例中,由于功能模块为包括时序逻辑和组合逻辑的电路模块,因此,目标模块是在接收到数据激励信号和时钟激励信号之后启动工作的,如此,便需要从目标模块包括的多条激励信号输入线路中划分出数据信号输入线路和时钟信号输入线路,其中,数据信号输入线路用于输入数据激励信号,时钟信号输入线路用于输入时钟激励信号。
本申请实施例中,数据信号输入线路可以是一条,也可以包括多条,若数据信号输入线路为一条,则数据激励信号为单比特的数据信号,若数据信号输入线路包括多条,则数据激励信号为多比特的数据信号。可以理解的是,本申请实施例中,若数据信号输入线路为一条,则时钟信号输入线路同样为一条,若数据信号输入线路包括多条,那么时钟信号输入线路则至少包括一条,也即,时钟信号输入线路为一条或多条,也可以理解为,时钟信号输入线路与数据信号输入线路的对应关系为一对一,或时钟信号输入线路与数据信号输入线路的对应关系为一对多。
此外,需要说明的是,本申请实施例中,可以根据目标子系统的电路网表,确定出目标模块包括的多条激励信号输入线路,而目标子系统即为SOC中目标模块所在的子系统,目标子系统的电路网表可以基于芯片数据库获得。
步骤S120,基于芯片数据库,获取与数据信号输入线路对应的数据延时值。
本申请实施例中,由于Prime Time软件可以读取出每个单元内部的时序信息和每条线路的延时值,因此,根据Prime Time软件的读取结果可以直接获取时钟源到SOC包括的任意子系统中,任意模块中任意寄存器的时钟输入端口的延时值,因此,也可以理解为,芯片数据库中包括时钟源到SOC包括的任意子系统中,任意模块中任意寄存器的时钟输入端口的延时值,又由于在寄存器类型确定的情况下,寄存器的时钟输入端口与数据输出端口之间的延时值是能够根据寄存器属性直接获知的,因此,又可以理解为,根据芯片数据库可以获得时钟源到SOC包括的任意子系统中,任意模块中任意寄存器的数据输出端口的延时值。
基于以上描述,对于步骤S120,本申请实施例中,作为一种可选的实施方式,其又可以包括步骤S121、步骤S122和步骤S123。
步骤S121,从芯片数据库中读取出第一延时值,第一延时值为时钟源与数据信号输入线路中末级寄存器的数据输出端口之间的信号传输时长。
步骤S122,从芯片数据库中读取出第二延时值,第二延时值为末级寄存器的数据输出端口与目标模块的数据输入接口之间的信号传输时长。
步骤S123,将第一延时值与第二延时值的和作为数据延时值。
本申请实施例中,末级寄存器可以理解为数据信号输入线路包括的至少一个寄存器中,位于数据信号输入线路末尾位置的寄存器,而信号输入线路中关于“首部”、“末尾”等方位名词的定义,是按照数据信号输入线路中数据激励信号的走向为依据设定的。
步骤S130,基于芯片数据库,获取与时钟信号输入线路对应的时钟延时值。
同样,本申请实施例中,由于Prime Time软件可以读取出每个单元内部的时序信息和每条线路的延时值,因此,对于步骤S130,本申请实施例中,作为一种可选的实施方式,其又可以包括步骤S131。
步骤S131,从芯片数据库中读取出第三延时值,以将第三延时值作为时钟延时值,第三延时值为时钟源与目标模块的时钟输入接口之间的信号传输时长。
步骤S140,将数据延时值和时钟延时值作为第一延时数据。
本申请实施例中,数据延时值和时钟延时值均为第一延时数据,其中,数据延时值为数据激励信号的延时数据,时钟延时值为时钟激励信号的延时数据。
以图4所示的SOC的部分组成结构为例,其包括第四子系统和目标子系统,目标模块为目标子系统中,需要通过第四子系统中包括的第十功能模块发送激励信号的功能模块。目标模块的数据信号输入线路为一条,记作A-B-C,数据激励信号为单比特的数据信号。
数据信号输入线路A-B-C上涉及两个延时值:
1)A节点与B节点之间的延时值;
2)B节点与C节点之间的延时值。
其中,A节点与B节点之间的延时值即为第一时钟源与数据信号输入线路A-B-C中末级寄存器REG1的数据输出端口之间的信号传输时长,也即,第一延时值为A节点与B节点之间的延时值,B节点与C节点之间的延时值即为末级寄存器REG1的数据输出端口与目标模块的数据输入接口In01之间的信号传输时长(包括组合电路CLC1的器件延时值和末级寄存器REG1的数据输出端口与目标模块的数据输入接口In01之间的线延时值),也即,第二延时值为B节点与C节点之间的延时值。
在上述基础上,便可以将第一延时值与第二延时值的和作为与数据信号输入线路A-B-C对应的数据延时值。
目标模块的时钟信号输入线路为A-E,而时钟信号输入线路A-E上涉及一个延时值:
1)A节点与E节点之间的延时值。
A节点与E节点之间的延时值即为第一时钟源与目标模块的时钟输入接口In02之间的信号传输时长(包括组合电路CLC3的器件延时值和第一时钟源与目标模块的时钟输入接口In02之间的线延时值),也即,第三延时值为A节点与E节点之间的延时值。
在上述基础上,便可以将第三延时值作为与时钟信号输入线路A-E对应的时钟延时值。
基于以上描述,可以理解的是,本申请实施例中,若待验证设计为包括图4所示结构的SOC,则与数据信号输入线路A-B-C对应的数据延时值和与时钟信号输入线路A-E对应的时钟延时值均为第一延时数据。
再以图5所示的SOC的部分组成结构为例,其包括第五子系统和目标子系统,目标模块为目标子系统中,需要通过第五子系统中包括的第十一功能模块发送激励信号的功能模块。目标模块的数据信号输入线路为四条,分别记作F1-G-H、F1-J-K、F2-L-M和F3-O-P,数据激励信号为多比特的数据信号,具体为四比特的数据信号。
数据信号输入线路F1-G-H上涉及两个延时值:
1)F1节点与G节点之间的延时值;
2)G节点与H节点之间的延时值。
其中,F1节点与G节点之间的延时值即为第二时钟源与数据信号输入线路F1-G-H中末级寄存器REG3的数据输出端口之间的信号传输时长,也即,第一延时值为F1节点与G节点之间的延时值,G节点与H节点之间的延时值即为末级寄存器REG3的数据输出端口与目标模块的数据输入接口In03之间的信号传输时长(包括组合电路CLC4的器件延时值和末级寄存器REG3的数据输出端口与目标模块的数据输入接口In03之间的线延时值),也即,第二延时值为G节点与H节点之间的延时值。
在上述基础上,便可以将第一延时值与第二延时值的和作为与数据信号输入线路F1-G-H对应的数据延时值。
按照同样的发明构思可以分别获得与数据信号输入线路F1-J-K对应的数据延时值、与数据信号输入线路F2-L-M对应的数据延时值,以及与数据信号输入线路F3-O-P对应的数据延时值。
目标模块的时钟信号输入线路为三条,分别记作F1-I、F2-M和F3-Q。
时钟信号输入线路F1-I上涉及一个延时值:
1)F1节点与I节点之间的延时值。
F1节点与I节点之间的延时值即为第二时钟源与目标模块的时钟输入接口In04之间的信号传输时长(包括组合电路CLC6的器件延时值和第二时钟源与目标模块的时钟输入接口In04之间的线延时值),也即,第三延时值为F1节点与I节点之间的延时值。
在上述基础上,便可以将第三延时值作为与时钟信号输入线路F1-I对应的时钟延时值。
按照同样的发明构思可以分别获得与时钟信号输入线路F2-M对应的数据延时值,以及与时钟信号输入线路F3-Q对应的数据延时值。
基于以上描述,可以理解的是,本申请实施例中,若待验证设计为包括图5所示结构的SOC,则第一延时数据的数量为七条,其中,四条为数据激励信号的延时数据,分别为:与数据信号输入线路F1-G-H对应的数据延时值、与数据信号输入线路F1-J-K对应的数据延时值、与数据信号输入线路F2-L-M对应的数据延时值,以及与数据信号输入线路F3-O-P对应的数据延时值,另外三条为时钟激励信号的延时数据,分别为:与时钟信号输入线路F2-I对应的时钟延时、与时钟信号输入线路F2-M对应的数据延时值,以及与时钟信号输入线路F3-Q对应的数据延时值。
步骤S200,根据第一延时数据对预设的初始时序模型进行反标,获得目标时序模型。
本申请实施例中,初始时序模型需要预先创建,基于此,可以理解的是,本申请实施例提供的片上系统后仿真方法还可以包括步骤S001,用于创建初始时序模型。
步骤S001,针对目标模块包括的多条激励信号输入线路中的每条激励信号输入线路,创建与激励信号输入线路对应的初始时序模型。
本申请实施例中,可以根据目标子系统的电路网表,确定出目标模块包括的多条激励信号输入线路,由于目标子系统的电路网表可以基于芯片数据库获得,因此,本申请实施例中,也可以理解为,基于芯片数据库,确定出目标模块包括的多条激励信号输入线路,此后,针对目标模块包括的多条激励信号输入线路中的每条激励信号输入线路,创建与激励信号输入线路对应的初始时序模型。
对于初始时序模型,本申请实施例中,作为一种可选的实施方式,其创建过程可以为:创建包括信号输入接口和信号输出接口,且信号输入接口和信号输出接口之间包括缓冲器的延时仿真电路,以将延时仿真电路作为与激励信号输入线路对应的初始时序模型,缓冲器上设置有延时值配置接口,用以配置缓冲器中的延时值。对于缓冲器,其可以通过硬件描述语言(Hardware Description Language,HDL)中的buf(Z,A)语句或assign Z=A语句来描述,而延时反标位置可以通过HDL中的specify语句来描述。
再次以图5所示的SOC的部分组成结构为例,目标模块包括的多条激励信号输入线路分别为:
数据信号输入线路F1-G-H;
数据信号输入线路F1-J-K;
数据信号输入线路F2-L-M;
数据信号输入线路F3-O-P;
时钟信号输入线路F1-I;
时钟信号输入线路F2-M;
时钟信号输入线路F3-Q。
请结合图6,执行步骤S001,便可以创建出与数据信号输入线路F1-G-H对应的第一初始时序模型DEL01、与数据信号输入线路F1-J-K对应的第二初始时序模型DEL02、与数据信号输入线路F2-L-M对应的第三初始时序模型DEL03,以及与数据信号输入线路F3-O-P对应的第四初始时序模型DEL04,第一初始时序模型DEL01中包括缓冲器T01,第二初始时序模型DEL02中包括缓冲器T02,第三初始时序模型DEL03中包括缓冲器T03,第四初始时序模型DEL04中包括缓冲器T04,同时,还可以创建出与时钟信号输入线路F1-I对应的第五初始时序模型DEL05、与时钟信号输入线路F2-M对应的第六初始时序模型DEL06,以及与时钟信号输入线路F3-Q对应的第七初始时序模型DEL07,第五初始时序模型DEL05中包括缓冲器T05,第六初始时序模型DEL06中包括缓冲器T06,第七初始时序模型DEL07中包括缓冲器T07。
通过步骤S001创建出与多条激励信号输入线路中的每条激励信号输入线路对应的初始时序模型之后,便可以执行步骤S200,而本申请实施例中,对于步骤S200,作为一种可选的实施方式,其可以包括步骤S210和步骤S220。
步骤S210,从多条激励信号输入线路中,确定出与第一延时数据对应的目标激励信号输入线路,以及确定出与目标激励信号输入线路对应的初始时序模型,作为待处理时序模型。
步骤S220,通过待处理时序模型中缓冲器上设置的延时值配置接口,将第一延时数据写入待处理时序模型,以对待处理时序模型进行反标,获得目标时序模型。
继续以图5所示的SOC的部分组成结构为例,执行步骤S210时,对于四条数据信号输入线路,可以分别确定出与数据信号输入线路F1-G-H对应的第一初始时序模型,作为第一待处理时序模型,确定出与数据信号输入线路F1-J-K对应的第二初始时序模型,作为第二待处理时序模型,确定出与数据信号输入线路F2-L-M对应的第三初始时序模型,作为第三待处理时序模型,确定出与数据信号输入线路F3-O-P对应的第四初始时序模型,作为第四待处理时序模型,同时,对于三条时钟信号输入线路,可以分别确定出与时钟信号输入线路F1-I对应的第五初始时序模型,作为第五待处理时序模型,确定出与时钟信号输入线路F2-M对应的第六初始时序模型,作为第六待处理时序模型,确定出与时钟信号输入线路F3-Q对应的第七初始时序模型,作为第七待处理时序模型。
此后,在执行步骤S220时,对于第一待处理时序模块,可以通过第一待处理时序模型中缓冲器上设置的延时值配置接口,将与数据信号输入线路F1-G-H对应的数据延时值写入第一待处理时序模型,以对第一待处理时序模型进行反标,获得第一目标时序模型,按照同样的发明构思可以获得与第二待处理时序模型对应的第二目标时序模型、与第三待处理时序模型对应的第三目标时序模型、与第四待处理时序模型对应的第四目标时序模型、与第五待处理时序模型对应的第五目标时序模型、与第六待处理时序模型对应的第六目标时序模型,以及与第七待处理时序模型对应的第七目标时序模型。
此外,为方便描述,本申请实施例中,可以将与同一目标模型对应的多个目标时序模型定义为一个整体延时模型,也即,图5所示的SOC的部分组成结构中目标模块对应的整体延时模型包括第一目标时序模型、第二目标时序模型、第三目标时序模型、第四目标时序模型、第五目标时序模型、第六目标时序模型和第七目标时序模型。
步骤S300,根据目标时序模型对初始网表进行更新,获得目标网表,初始网表为目标子系统的电路网表。
本申请实施例中,在获得目标时序模型之后,可以将目标时序模型作为目标子系统的新增电路模块,获得目标子系统新的电路网表,为方便描述,本申请实施例中,可以将目标子系统新的电路网表定义为目标网表,而获得目标网表的过程,即为根据目标时序模型对初始网表进行更新的过程,其中,初始网表为目标子系统最初的电路网表。
基于以上描述,本申请实施例中,对于步骤S300,其可以包括步骤S310、步骤S320和步骤S330。
步骤S310,将目标时序模型的信号输入接口连接至激励生成器,以及将目标时序模型的信号输出接口连接至目标模块,获得后仿真激励电路。
步骤S320,读取后仿真激励电路的连接关系参数。
步骤S330,通过连接关系参数对初始网表进行更新,获得目标网表。
本申请实施例中,在获得目标模块的所有目标时序模型之后,执行步骤S310,便可以分别将所有目标时序模块的信号输入接口连接至激励生成器,同时,分别将所有目标时序模块的信号输出接口连接至目标模块,获得后仿真激励电路。此后,执行步骤S320,读取后仿真激励电路的连接关系参数,最后,执行步骤S330,通过连接关系参数对初始网表进行更新,获得目标网表。
请结合图7,再次以图5所示的SOC的部分组成结构为例,其目标模块对应的整体延时模型包括第一目标时序模型DEL11、第二目标时序模型DEL12、第三目标时序模型DEL13、第四目标时序模型DEL14、第五目标时序模型DEL15、第六目标时序模型DEL16和第七目标时序模型DEL17,那么,执行步骤S310时,便可以将第一目标时序模型DEL11的信号输入接口In11连接至激励生成器,将第一目标时序模型DEL11的信号输出接口Out11连接至目标模块的数据输入接口In03,将第二目标时序模型DEL12的信号输入接口In12连接至激励生成器,将第二目标时序模型DEL12的信号输出接口Out12连接至目标模块的数据输入接口In05,将第三目标时序模型DEL13的信号输入接口In13连接至激励生成器,将第三目标时序模型DEL13的信号输出接口Out13连接至目标模块的数据输入接口In06,以及将第四目标时序模型DEL14的信号输入接口In14连接至激励生成器,将第四目标时序模型DEL14的信号输出接口Out14连接至目标模块的数据输入接口In08,同时,将第五目标时序模型DEL15的信号输入接口In15连接至激励生成器,将第五目标时序模型DEL15的信号输出接口Out15连接至目标模块的数据输入接口In04,将第六目标时序模型DEL16的信号输入接口In16连接至激励生成器,将六目标时序模型DEL16的信号输出接口Out16连接至目标模块的数据输入接口In07,将第七目标时序模型DEL17的信号输入接口In17连接至激励生成器,将第七第五目标时序模型DEL17的信号输出接口Out17连接至目标模块的数据输入接口In09,如此,便可以获得最终的后仿真激励电路。此后,执行步骤S320,读取后仿真激励电路的连接关系参数,最后,执行步骤S330,通过连接关系参数对初始网表进行更新,获得目标网表。
可以理解的是,本申请实施例中,若目标子系统中还包括其他需要通过除目标子系统以外的其他子系统发送激励信号的功能模块,则同样需要将其作为目标模块,并再次执行步骤S100、步骤S200和步骤S300,也即,需要同时创建多个目标模块对应的整体延时模型,以实现对包括多个目标模块的目标子系统的进行后仿真验证。同图7所示连接方式,多个目标模块可以分别通过各自对应的整体延时模型与激励生成器连接,获得多个目标模块对应的后仿真激励电路,在执行步骤S320和步骤S330,获得多个目标模块对应的目标网表即可。
请结合图8,假设,需要对SOC包括的目标子系统进行后仿真操作,而目标子系统中包括多个目标模块,为方便描述,可以定义多个目标模块包括第一目标模块、第二目标模块和第三目标模块,且第一目标模块对应的第一整体延时模型,第二目标模块对应的第二整体延时模型,第三目标模块对应的第三整体延时模型,则可以通过第一目标模块将第一整体延时模型与激励生成器连接,通过第二目标模块将第二整体延时模型与激励生成器连接,同时,通过第三目标模块将第三整体延时模型与激励生成器连接。
步骤S400,基于目标网表,对目标子系统进行后仿真操作。
本申请实施例中,对于步骤S400,作为一种可选的实施方式,其可以包括步骤S410、步骤S420和步骤S430。
步骤S410,基于芯片数据库,获得目标子系统的第二延时数据,第二延时数据包括目标子系统的器件延时值和线延时值。
步骤S420,根据第二延时数据对目标网表进行反标。
步骤S430,通过进行反标之后的目标网表,对目标子系统进行后仿真操作。
本申请实施例中,可以直接获取目标模块所在的子系统的标准延时格式(Standard Delay Format,SDF)文件,也即,直接获取目标子系统的SDF文件,目标子系统的SDF文件中包括的延时数据即为第二延时数据,也即,目标子系统的器件延时值和线延时值,而目标子系统的SDF文件又可以基于芯片数据库获取。在获得目标模块的第二延时数据之后,便可以执行步骤S420,根据第二延时数据对目标网表进行反标,最后,执行步骤S430,通过进行反标之后的目标网表,对目标模块进行后仿真操作,具体为,通过激励生成器,对目标子系统中包括的所有目标模块施加相应的激励信号,以对目标子系统进行后仿真操作。
此外,需要说明的是,本申请实施例中,执行步骤S400,基于目标网表,对目标子系统进行后仿真操作之后,若后仿真操作结果表征目标子系统的运行过程中,不存在功能错误或时序违例的错误,则表示后仿真通过,若后仿真操作结果表征目标子系统的运行过程中,存在功能错误或时序违例的错误,则对目标子系统中包括的功能模块进行功能修改或时序修改,并根据修改结果,对SOC的芯片数据库进行修改,并基于修改之后的SOC的芯片数据库,重新执行本申请实施例提供的片上系统后仿真方法,再次对目标子系统进行后仿真操作。
以下,将结合图9,对本申请实施例提供的片上系统后仿真方法的一种具体实施方式的整体流程进行描述。
首先,执行步骤S100,基于SOC的芯片数据库,获取目标模块的第一延时数据,此后,执行步骤S200,根据第一延时数据对预设的初始时序模型进行反标,获得目标时序模型,但是,在执行步骤S200之前,需要步骤S001,针对目标模块包括的多条激励信号输入线路中的每条激励信号输入线路,创建与激励信号输入线路对应的初始时序模型,此后,执行步骤S300,根据目标时序模型对初始网表进行更新,获得目标网表,初始网表为目标子系统的电路网表,其中,初始网表为目标子系统的电路网表,而目标子系统的电路网表可以基于芯片数据库获得,接着,执行步骤S400,基于目标网表,对目标子系统进行后仿真操作,该步骤包括步骤S420,根据第二延时数据对目标网表进行反标,其中,第二延时数据包括目标子系统的器件延时值和线延时值,具体可以基于芯片数据库获得,最后,通过激励生成器,对目标子系统中包括的所有目标模块施加相应的激励信号,以对目标子系统进行后仿真操作。
对目标子系统进行后仿真操作之后,若后仿真操作结果表征目标子系统的运行过程中,不存在功能错误或时序违例的错误,则表示后仿真通过,若后仿真操作结果表征目标子系统的运行过程中,存在功能错误或时序违例的错误,则对目标子系统中包括的功能模块进行功能修改或时序修改,并根据修改结果,对SOC的芯片数据库进行修改,并基于修改之后的SOC的芯片数据库,重新执行本申请实施例提供的片上系统后仿真方法,再次对目标子系统中进行后仿真操作。
需要说明的是,在上述过程中,还需要将时序模型集成到目标子系统中的验证环境中,具体可以是将时序模型的信号输入接口连接至激励生成器,以及将时序模型的信号输出接口连接至目标模块。此外,将时序模型集成到目标子系统的验证环境中具体可以是在创建初始时序模型之后,直接将初始时序模型集成到目标子系统的验证环境中,也可以是在根据第一延时数据对预设的初始时序模型进行反标,获得目标时序模型之后,将目标时序模型集成到目标子系统的验证环境中(如前述步骤S310),本申请实施例对此不作具体限制。
总结来说,本申请实施例提供的片上系统后仿真方法能够直接根据第一延时数据对预设的初始时序模型进行反标,获得目标时序模型,以简化后仿真过程中对于激励信号的延时处理,缩短整个后仿真的验证周期,最终,提高了片上系统的后仿真效率,又由于第一延时数据为激励信号的实际延时数据,因此,通过第一延时数据能够真实反映目标模块实际的时序情况,确保在后仿真过程中不掩盖一些时序约束或遗漏一些时序违例的错误,从而提高后片上系统的仿真质量。
基于与上述片上系统后仿真方法同样的发明构思,本申请实施例还提供了一种片上系统后仿真装置200。请参阅图10,本申请实施例提供的片上系统后仿真装置200,包括第一延时数据获取模块210、第一反标模块220、网表更新模块230和后仿真模块240。
第一延时数据获取模块210,用于基于片上系统的芯片数据库,获取目标模块的第一延时数据,目标模块为片上系统包括的目标子系统中,需要通过除目标子系统以外的其他子系统发送激励信号的功能模块,第一延时数据为激励信号的延时数据。
第一反标模块220,用于根据第一延时数据对预设的初始时序模型进行反标,获得目标时序模型。
网表更新模块230,用于根据目标时序模型对初始网表进行更新,获得目标网表,初始网表为目标子系统的电路网表。
后仿真模块240,用于基于目标网表,对目标子系统进行后仿真操作。
本申请实施例中,第一延时数据获取模块210可以包括输入线路确定单元、数据延时值获取单元、时钟延时值获取单元和第一延时数据获取单元。
输入线路确定单元,用于从目标模块包括的多条激励信号输入线路中划分出数据信号输入线路和时钟信号输入线路。
数据延时值获取单元,用于基于芯片数据库,获取与数据信号输入线路对应的数据延时值。
时钟延时值获取单元,用于基于芯片数据库,获取与时钟信号输入线路对应的时钟延时值。
第一延时数据获取单元,用于将数据延时值和时钟延时值作为第一延时数据。
本申请实施例中,数据延时值获取单元可以第一延时值读取单元、第二延时值读取单元和计算单元。
第一延时值读取单元,用于从芯片数据库中读取出第一延时值,第一延时值为时钟源与数据信号输入线路中末级寄存器的数据输出端口之间的信号传输时长。
第二延时值读取单元和计算单元,用于从芯片数据库中读取出第二延时值,第二延时值为末级寄存器的数据输出端口与目标模块的数据输入接口之间的信号传输时长。
计算单元,用于将第一延时值与第二延时值的和作为数据延时值。
本申请实施例中,时钟延时值获取单元可以第三延时值读取单元。
第三延时值读取单元,用于从芯片数据库中读取出第三延时值,以将第三延时值作为时钟延时值,第三延时值为时钟源与目标模块的时钟输入接口之间的信号传输时长。
本申请实施例提供的片上系统后仿真装置200还可以包括初始时序模型创建模块。
初始时序模型创建模块,用于针对目标模块包括的多条激励信号输入线路中的每条激励信号输入线路,创建与激励信号输入线路对应的初始时序模型。
本申请实施例中,初始时序模型创建模块可以包括延时仿真电路创建单元。
延时仿真电路创建单元,用于创建包括信号输入接口和信号输出接口,且信号输入接口和信号输出接口之间包括缓冲器的延时仿真电路,以将延时仿真电路作为与激励信号输入线路对应的初始时序模型,缓冲器上设置有延时值配置接口。
本申请实施例中,第一反标模块220可以包括待处理时序模型确定单元和第一反标单元。
待处理时序模型确定单元,用于从多条激励信号输入线路中,确定出与第一延时数据对应的目标激励信号输入线路,以及确定出与目标激励信号输入线路对应的初始时序模型,作为待处理时序模型。
第一反标单元,用于通过待处理时序模型中缓冲器上设置的延时值配置接口,将第一延时数据写入待处理时序模型,以对待处理时序模型进行反标,获得目标时序模型。
本申请实施例中,网表更新模块230可以包括后仿真激励电路创建单元、连接关系参数读取单元和网表更新单元。
后仿真激励电路创建单元,用于将目标时序模型的信号输入接口连接至激励生成器,以及将目标时序模型的信号输出接口连接至目标模块,获得后仿真激励电路。
连接关系参数读取单元,用于读取后仿真激励电路的连接关系参数。
网表更新单元,用于通过连接关系参数对初始网表进行更新,获得目标网表。
本申请实施例中,后仿真模块240可以包括第二延时数据获取单元、第二反标单元和后仿真单元。
第二延时数据获取单元,用于基于芯片数据库,获得目标子系统的第二延时数据,第二延时数据包括目标子系统的器件延时值和线延时值。
第二反标单元,用于根据第二延时数据对目标网表进行反标。
后仿真单元,用于通过进行反标之后的目标网表,对目标子系统进行后仿真操作。
由于本申请实施例提供的片上系统后仿真装置200是基于与上述片上系统后仿真方法同样的发明构思实现的,因此,片上系统后仿真装置200中,每个软件模块的具体描述,均可参见上述片上系统后仿真方法实施例中对应步骤的相关描述,此处不作赘述。
此外,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被执行时,实现上述方法实施例所提供的片上系统后仿真方法,具体可参见上述方法实施例,本申请实施例中对此不作赘述。
综上所述,本申请提供的片上系统后仿真方法能够基于片上系统的芯片数据库,获取目标模块的第一延时数据,其中,目标模块为片上系统包括的目标子系统中,需要通过除目标子系统以外的其他子系统发送激励信号的功能模块,第一延时数据为激励信号的延时数据,此后,根据第一延时数据对预设的初始时序模型进行反标,获得目标时序模型,再根据目标时序模型对初始网表进行更新,获得目标网表,初始网表为目标子系统的电路网表,最后,基于目标网表,对目标子系统进行后仿真操作。本申请实施例提供的片上系统后仿真方法、装置及电子设备能够直接根据第一延时数据对预设的初始时序模型进行反标,获得目标时序模型,以简化后仿真过程中对于激励信号的延时处理,缩短整个后仿真的验证周期,最终,提高了片上系统的后仿真效率,又由于第一延时数据为激励信号的实际延时数据,因此,通过第一延时数据能够真实反映目标模块实际的时序情况,确保在后仿真过程中不掩盖一些时序约束或遗漏一些时序违例的错误,从而提高后片上系统的仿真质量。
本申请实施例提供的片上系统后仿真装置、电子设备及计算机可读存储介质具有与上述片上系统后仿真方法相同的有益效果,此处不作赘述。
在本申请实施例所提供的几个实施方式中,应该理解到,所揭露的方法和装置,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。此外,在本申请每个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是每个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
此外,所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请每个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
还需要说明的是,在本文中,诸如“第一”、“第二”、“第三”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
Claims (12)
1.一种片上系统后仿真方法,其特征在于,包括:
基于所述片上系统的芯片数据库,获取目标模块的第一延时数据,所述目标模块为所述片上系统包括的目标子系统中,需要通过除所述目标子系统以外的其他子系统发送激励信号的功能模块,所述第一延时数据为所述激励信号的延时数据;
根据所述第一延时数据对预设的初始时序模型进行反标,获得目标时序模型;
根据所述目标时序模型对初始网表进行更新,获得目标网表,所述初始网表为所述目标子系统的电路网表;
基于所述目标网表,对所述目标子系统进行后仿真操作。
2.根据权利要求1所述的片上系统后仿真方法,其特征在于,所述基于所述片上系统的芯片数据库,获取目标模块的第一延时数据,包括:
从所述目标模块包括的多条激励信号输入线路中划分出数据信号输入线路和时钟信号输入线路;
基于所述芯片数据库,获取与所述数据信号输入线路对应的数据延时值;
基于所述芯片数据库,获取与所述时钟信号输入线路对应的时钟延时值;
将所述数据延时值和所述时钟延时值作为所述第一延时数据。
3.根据权利要求2所述的片上系统后仿真方法,其特征在于,基于所述芯片数据库,获取与所述数据信号输入线路对应的数据延时值,包括:
从所述芯片数据库中读取出第一延时值,所述第一延时值为时钟源与所述数据信号输入线路中末级寄存器的数据输出端口之间的信号传输时长;
从所述芯片数据库中读取出第二延时值,所述第二延时值为所述末级寄存器的数据输出端口与所述目标模块的数据输入接口之间的信号传输时长;
将所述第一延时值与所述第二延时值的和作为所述数据延时值。
4.根据权利要求2所述的片上系统后仿真方法,其特征在于,所述基于所述芯片数据库,获取与所述时钟信号输入线路对应的时钟延时值,包括:
从所述芯片数据库中读取出第三延时值,以将所述第三延时值作为所述时钟延时值,所述第三延时值为时钟源与所述目标模块的时钟输入接口之间的信号传输时长。
5.根据权利要求1所述的片上系统后仿真方法,其特征在于,所述根据所述第一延时数据对预设的初始时序模型进行反标,获得目标时序模型之前,所述片上系统后仿真方法还包括:
针对所述目标模块包括的多条激励信号输入线路中的每条激励信号输入线路,创建与所述激励信号输入线路对应的初始时序模型。
6.根据权利要求5所述的片上系统后仿真方法,其特征在于,所述创建与所述激励信号输入线路对应的初始时序模型,包括:
创建包括信号输入接口和信号输出接口,且所述信号输入接口和所述信号输出接口之间包括缓冲器的延时仿真电路,以将所述延时仿真电路作为与所述激励信号输入线路对应的初始时序模型,所述缓冲器上设置有延时值配置接口。
7.根据权利要求6所述的片上系统后仿真方法,其特征在于,所述根据所述第一延时数据对初始时序模型进行反标,获得目标时序模型,包括:
从所述多条激励信号输入线路中,确定出与所述第一延时数据对应的目标激励信号输入线路,以及确定出与所述目标激励信号输入线路对应的初始时序模型,作为待处理时序模型;
通过所述待处理时序模型中缓冲器上设置的延时值配置接口,将所述第一延时数据写入所述待处理时序模型,以对所述待处理时序模型进行反标,获得所述目标时序模型。
8.根据权利要求1所述的片上系统后仿真方法,其特征在于,所述根据所述目标时序模型对初始网表进行更新,获得目标网表,包括:
将所述目标时序模型的信号输入接口连接至激励生成器,以及将所述目标时序模型的信号输出接口连接至所述目标模块,获得后仿真激励电路;
读取所述后仿真激励电路的连接关系参数;
通过所述连接关系参数对所述初始网表进行更新,获得所述目标网表。
9.根据权利要求1所述的片上系统后仿真方法,其特征在于,所述基于所述目标网表,对所述目标子系统进行后仿真操作,包括:
基于所述芯片数据库,获得所述目标子系统的第二延时数据,所述第二延时数据包括所述目标子系统的器件延时值和线延时值;
根据所述第二延时数据对所述目标网表进行反标;
通过进行反标之后的所述目标网表,对所述目标子系统进行后仿真操作。
10.一种片上系统后仿真装置,其特征在于,包括:
第一延时数据获取模块,用于基于所述片上系统的芯片数据库,获取目标模块的第一延时数据,所述目标模块为所述片上系统包括的目标子系统中,需要通过除所述目标子系统以外的其他子系统发送激励信号的功能模块,所述第一延时数据为所述激励信号的延时数据;
第一反标模块,用于根据所述第一延时数据对预设的初始时序模型进行反标,获得目标时序模型;
网表更新模块,用于根据所述目标时序模型对初始网表进行更新,获得目标网表,所述初始网表为所述目标子系统的电路网表;
后仿真模块,用于基于所述目标网表,对所述目标子系统进行后仿真操作。
11.一种电子设备,其特征在于,包括处理器和存储器,所述存储器上存储有计算机程序,所述处理器用于执行所述计算机程序,以实现权利要求1~9中任意一项所述的片上系统后仿真方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被执行时,实现权利要求1~9中任意一项所述的片上系统后仿真方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011506355.XA CN112613259B (zh) | 2020-12-18 | 2020-12-18 | 片上系统后仿真方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011506355.XA CN112613259B (zh) | 2020-12-18 | 2020-12-18 | 片上系统后仿真方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112613259A true CN112613259A (zh) | 2021-04-06 |
CN112613259B CN112613259B (zh) | 2022-06-10 |
Family
ID=75240592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011506355.XA Active CN112613259B (zh) | 2020-12-18 | 2020-12-18 | 片上系统后仿真方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112613259B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114444419A (zh) * | 2022-04-11 | 2022-05-06 | 奇捷科技(深圳)有限公司 | 一种芯片新版本电路的生成方法、设备和存储介质 |
CN115238619A (zh) * | 2022-09-20 | 2022-10-25 | 北京数字光芯集成电路设计有限公司 | 数字芯片的子模块后仿真方法和系统 |
CN115983171A (zh) * | 2023-03-17 | 2023-04-18 | 摩尔线程智能科技(北京)有限责任公司 | 用于对片上系统进行后仿真的方法和仿真平台 |
CN116227396A (zh) * | 2023-03-17 | 2023-06-06 | 摩尔线程智能科技(北京)有限责任公司 | 用于对片上系统进行后仿真的方法和仿真平台 |
CN116451625A (zh) * | 2023-06-14 | 2023-07-18 | 摩尔线程智能科技(北京)有限责任公司 | 用于rtl和带sdf网表的联合仿真的装置和方法 |
WO2024000730A1 (zh) * | 2022-06-30 | 2024-01-04 | 长鑫存储技术有限公司 | 数据处理电路的检查方法、装置及电子设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101714010A (zh) * | 2009-10-28 | 2010-05-26 | 北京龙芯中科技术服务中心有限公司 | 跨时钟域的时序仿真系统及方法 |
CN104899076A (zh) * | 2015-06-18 | 2015-09-09 | 中国科学院自动化研究所 | 一种超大规模集成电路门级网表仿真的加速方法 |
CN105138774A (zh) * | 2015-08-25 | 2015-12-09 | 中山大学 | 一种基于集成电路层次化设计的时序后仿真方法 |
CN108052769A (zh) * | 2017-12-28 | 2018-05-18 | 天津芯海创科技有限公司 | 网表仿真验证方法和装置 |
CN110750946A (zh) * | 2018-07-19 | 2020-02-04 | 澜至电子科技(成都)有限公司 | 集成电路网表仿真加速方法及其系统 |
CN111427794A (zh) * | 2020-04-03 | 2020-07-17 | 天津飞腾信息技术有限公司 | 一种用于加速存储部件网表仿真的方法、系统及介质 |
US10762259B1 (en) * | 2018-06-08 | 2020-09-01 | Diakopto, Inc. | Circuit design/layout assistance based on sensitivities to parasitics |
CN111950214A (zh) * | 2020-08-14 | 2020-11-17 | Oppo广东移动通信有限公司 | 一种时序分析方法、装置、设备以及计算机存储介质 |
-
2020
- 2020-12-18 CN CN202011506355.XA patent/CN112613259B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101714010A (zh) * | 2009-10-28 | 2010-05-26 | 北京龙芯中科技术服务中心有限公司 | 跨时钟域的时序仿真系统及方法 |
CN104899076A (zh) * | 2015-06-18 | 2015-09-09 | 中国科学院自动化研究所 | 一种超大规模集成电路门级网表仿真的加速方法 |
CN105138774A (zh) * | 2015-08-25 | 2015-12-09 | 中山大学 | 一种基于集成电路层次化设计的时序后仿真方法 |
CN108052769A (zh) * | 2017-12-28 | 2018-05-18 | 天津芯海创科技有限公司 | 网表仿真验证方法和装置 |
US10762259B1 (en) * | 2018-06-08 | 2020-09-01 | Diakopto, Inc. | Circuit design/layout assistance based on sensitivities to parasitics |
CN110750946A (zh) * | 2018-07-19 | 2020-02-04 | 澜至电子科技(成都)有限公司 | 集成电路网表仿真加速方法及其系统 |
CN111427794A (zh) * | 2020-04-03 | 2020-07-17 | 天津飞腾信息技术有限公司 | 一种用于加速存储部件网表仿真的方法、系统及介质 |
CN111950214A (zh) * | 2020-08-14 | 2020-11-17 | Oppo广东移动通信有限公司 | 一种时序分析方法、装置、设备以及计算机存储介质 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114444419A (zh) * | 2022-04-11 | 2022-05-06 | 奇捷科技(深圳)有限公司 | 一种芯片新版本电路的生成方法、设备和存储介质 |
WO2024000730A1 (zh) * | 2022-06-30 | 2024-01-04 | 长鑫存储技术有限公司 | 数据处理电路的检查方法、装置及电子设备 |
CN115238619A (zh) * | 2022-09-20 | 2022-10-25 | 北京数字光芯集成电路设计有限公司 | 数字芯片的子模块后仿真方法和系统 |
CN115983171A (zh) * | 2023-03-17 | 2023-04-18 | 摩尔线程智能科技(北京)有限责任公司 | 用于对片上系统进行后仿真的方法和仿真平台 |
CN116227396A (zh) * | 2023-03-17 | 2023-06-06 | 摩尔线程智能科技(北京)有限责任公司 | 用于对片上系统进行后仿真的方法和仿真平台 |
CN116451625A (zh) * | 2023-06-14 | 2023-07-18 | 摩尔线程智能科技(北京)有限责任公司 | 用于rtl和带sdf网表的联合仿真的装置和方法 |
CN116451625B (zh) * | 2023-06-14 | 2023-09-15 | 摩尔线程智能科技(北京)有限责任公司 | 用于rtl和带sdf网表的联合仿真的装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112613259B (zh) | 2022-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112613259B (zh) | 片上系统后仿真方法、装置及电子设备 | |
US7100133B1 (en) | Computer system and method to dynamically generate system on a chip description files and verification information | |
US20050273298A1 (en) | Simulation of systems | |
US20060130029A1 (en) | Programming language model generating apparatus for hardware verification, programming language model generating method for hardware verification, computer system, hardware simulation method, control program and computer-readable storage medium | |
US20080140379A1 (en) | Approximations for simulations of systems | |
JP2009522652A (ja) | 単一のマスターモデルから異なる抽象化レベルの複数のモデルを生成するシステムと方法 | |
CN111475192B (zh) | 对游戏服务器进行热更的方法、装置、存储介质和系统 | |
US8234102B2 (en) | Development of assertions for integrated circuit design simulation | |
US7222317B1 (en) | Circuit comparison by information loss matching | |
JPH07160744A (ja) | 自律進化型ハードウェア設計システム | |
JPH05256901A (ja) | 回路の論理機能の判定方法 | |
US20120198398A1 (en) | Equivalence Checking for Retimed Electronic Circuit Designs | |
CN112632884B (zh) | 门级网表生成方法、装置及电子设备 | |
CN111624475B (zh) | 大规模集成电路的测试方法及系统 | |
CN107784185B (zh) | 一种门级网表中伪路径的提取方法、装置及终端设备 | |
US8065641B2 (en) | Automatically creating manufacturing test rules pertaining to an electronic component | |
US8656335B2 (en) | System and methods for inferring higher level descriptions from RTL topology based on connectivity propagation | |
CN115688643A (zh) | 仿真逻辑系统设计的方法、设备及存储介质 | |
CN112257359B (zh) | 用于数据波形的调试方法、装置、调试系统以及存储介质 | |
US20040153301A1 (en) | Integrated circuit development methodology | |
Allam et al. | Model‐Based Hardware‐Software Codesign of ECT Digital Processing Unit | |
JPH0589199A (ja) | ハードウエアの設計支援システム | |
JP2005510787A5 (zh) | ||
JP2007018313A (ja) | 回路設計プログラム、回路設計装置、回路設計方法 | |
CN117408198B (zh) | 一种仿真模型建模方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |