芯片模块接口时钟构建方法、装置、存储介质及电子设备
文献发布时间:2023-06-19 16:11:11
技术领域
本申请涉及芯片技术领域,具体而言,涉及一种芯片模块接口时钟构建方法、装置、存储介质及电子设备。
背景技术
目前复杂芯片在物理实现过程中通常会切分成多个子模块,并单独进行物理设计,最后在顶层将所有的子模块集成到一起。一般而言,模块内部的时序借助强大的电子设计自动化(EDA,Electronics Design Automation)工具可以得到较好的优化,但模块接口的时序需要到全芯片的环境进行分析和修复。由于在模块物理设计过程中接口的约束通常不太准确,时序优化的力度也会低于模块内部,所以存在接口时序难收敛,修复慢的问题。
发明内容
本申请的目的在于提供一种芯片模块接口时钟构建方法、装置、存储介质及电子设备,以至少部分改善上述问题。
为了实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供一种芯片模块接口时钟构建方法,所述方法包括:基于目标模块设置N个时钟子树和时钟主树;其中,所述目标模块为包括至少一种类别接口逻辑器件的模块,所述时钟主树包括所述目标模块中的内部逻辑器件,所述时钟子树包括所述目标模块中的一种类别接口逻辑器件,接口逻辑器件为与上级模块存在时序关联的逻辑器件,不同种类的接口逻辑器件对应的上级模块不同,N大于或等于1;将每一个时钟子树均设置为与所述时钟主树保持时钟域隔离,且不同的时钟子树之间保持时钟域隔离;分别在每一个时钟子树的时钟根节点设置传播延时,其中,所述传播延时为时钟信号在所述时钟子树对应的上级模块内的传播时间。
应理解,在目标模块内部时钟构建的过程中,提前对接口逻辑器件的传播延时进行设置,便于后续芯片整体约束,目标模块接口的时序不在需要到全芯片的环境进行分析和修复,从而解决了接口时序难收敛,修复慢的问题。
可选地,所述时钟主树包括所述目标模块中的主管理器件和内部逻辑器件,所述时钟子树包括一个辅助管理器件和所述目标模块中的一种类别接口逻辑器件,所述辅助管理器件的输出端为所述时钟子树的时钟根节点,所述辅助管理器件与所述目标模块中的主管理器件相同。所述基于目标模块设置N个时钟子树和时钟主树的步骤,包括:设置N个所述辅助管理器件;基于一个所述辅助管理器件和一种类别的接口逻辑器件设置一个时钟子树;基于一个所述主管理器件和所述内部逻辑器件设置时钟主树。
应理解,通过以上步骤,可以将内部逻辑器件和接口逻辑器件区分开,快速完成时钟子树和时钟主树的构建。
可选地,所述基于一个所述辅助管理器件和一种类别的接口逻辑器件设置一个时钟子树的步骤,包括:将一种类别的接口逻辑器件合并为目标接口器件;基于一个所述辅助管理器件和所述目标接口器件设置一个时钟子树。
通过将一种类别的接口逻辑器件进行组合,合并为目标接口器件,可以起到降低功耗的目的。
可选地,所述将每一个时钟子树均设置为与所述时钟主树保持时钟域隔离,且不同的时钟子树之间保持时钟域隔离的步骤,包括:在每一个所述辅助管理器件的输入端设置隔离标识。
应理解,通过设置时钟域隔离可以保障时钟子树的时序优化过程不受到时钟主树和其他时钟子树的干扰,也不会干扰时钟主树和其他时钟子树的优化过程,从而便于目标模块内部时序构建。
可选地,在所述分别在每一个时钟子树的时钟根节点设置传播延时之前,所述方法还包括:对所述时钟子树对应的上级模块进行静态时序分析,以确定时钟信号在所述时钟子树对应的上级模块内的传播时间。
应理解,通过静态时序分析可以快速准确地确定时钟子树对应的传播延时。
可选地,所述分别在每一个时钟子树的时钟根节点设置传播延时的步骤,包括:向优化工具输入第一类指令,其中,所述第一类指令包括需要设置的传播延时;所述优化工具依据所述传播延时在时钟根节点添加缓冲器、反相器等逻辑器件,通过不同种类金属线路连接,以完成传播延时的设置;或者,向优化工具输入第二类指令,所述优化工具执行所述第二类指令,以完成传播延时的设置,其中,所述第二类指令包含需要在所述时钟根节点添加的线路信息和逻辑器件信息。
应理解,通过优化工具可以自动、快速、准确地完成传播延时设置,保障接口时序的正确性。
可选地,在基于目标模块设置N个时钟子树和时钟主树之前,所述方法还包括:确定所述目标模块中的逻辑器件是否与任意一个上级模块存在时序关联;若是,则将所述逻辑器件确定为接口逻辑器件;若否,则将所述逻辑器件确定为内部逻辑器件,从而快速完成目标模块中的逻辑划分。
第二方面,本申请实施例提供一种芯片模块接口时钟构建装置,所述装置包括:构建单元,用于基于目标模块设置N个时钟子树和时钟主树;其中,所述目标模块为包括至少一种类别接口逻辑器件的模块,所述时钟主树包括所述目标模块中的内部逻辑器件,所述时钟子树包括所述目标模块中的一种类别接口逻辑器件,接口逻辑器件为与上级模块存在时序关联的逻辑器件,不同种类的接口逻辑器件对应的上级模块不同,N大于或等于1;设置单元,用于将每一个时钟子树均设置为与所述时钟主树保持时钟域隔离,且不同的时钟子树之间保持时钟域隔离;所述设置单元还用于分别在每一个时钟子树的时钟根节点设置传播延时,其中,所述传播延时为时钟信号在所述时钟子树对应的上级模块内的传播时间。
第三方面,本申请实施例提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面所述的芯片模块接口时钟构建方法。
第四方面,本申请实施例提供一种电子设备,所述电子设备包括:处理器和存储器,所述存储器用于存储一个或多个程序;当所述一个或多个程序被所述处理器执行时,实现上述第一方面所述的芯片模块接口时钟构建方法。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。
图1为本申请实施例提供的电子设备的结构示意图;
图2为本申请实施例提供的芯片模块接口时钟构建方法的流程示意图;
图3为本申请实施例提供的一种目标模块的示意图;
图4为本申请实施例提供的另一种目标模块的示意图;
图5为本申请实施例提供的图3所对应的时钟树结构示意图;
图6为本申请实施例提供的图4所对应的时钟树结构示意图;
图7为本申请实施例提供的S104的子步骤示意图;
图8为本申请实施例提供的S104-2的子步骤示意图;
图9为本申请实施例提供的S105的子步骤示意图;
图10为本申请实施例提供的芯片模块接口时钟构建方法的流程示意图之一;
图11为本申请实施例提供的S107的子步骤示意图;
图12为本申请实施例提供的S107的子步骤示意图之一;
图13为本申请实施例提供的芯片模块接口时钟构建方法的流程示意图之一;
图14为本申请实施例提供的效果说明示意图;
图15为本申请实施例提供的芯片模块接口时钟构建装置的单元示意图。
图中:10-处理器;11-存储器;12-总线;13-通信接口;201-构建单元;202-设置单元。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
在本申请的描述中,需要说明的是,术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该申请产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
在本申请的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
目前复杂芯片在物理实现过程中通常会切分成多个子模块,并单独进行物理设计,最后在顶层将所有的子模块集成到一起。子模块例如为芯片中的二级缓存模块、DDR模块以及其他功能对应的子模块。
一般而言,模块内部的时序借助强大的电子设计自动化(EDA,ElectronicsDesign Automation)工具可以得到较好的优化,但模块接口的时序需要到全芯片的环境进行分析和修复。由于在模块物理设计过程中接口的约束通常不太准确,时序优化的力度也会低于模块内部。故在全芯片进行静态时序分析后通常会看到大量的模块接口之间的时序违反。传统的模块接口时序修复首先会简单的通过调节模块的时钟延时来平衡模块之间的时钟。然后就主要通过优化数据路径来修复时序(如通过改变数据路径上单元尺寸或者换高层厚金属等来修复建立时间(setup)时序违反;通过插入延时缓冲单元来修复保持时间(hold)时序违反),往往需要多轮迭代,消耗大量的精力和时间,存在接口时序难收敛,修复慢的问题。
为了克服以上问题,本申请实施例提供了一种电子设备,电子设备可以搭载有布局布线工具和时序分析工具。时序分析工具例如为PrimeTime,布局布线工具例如为Astro,此处用于举例说明,并不构成限定。
时序分析工具用于对集成电路的布局布线进行分析处理,从而获取时钟信号在任意子模块内的传播时间。
布局布线工具对集成电路的布局布线图中各个设计元件进行绕线处理,从而可以确定各个设计元件之间的连接关系。进一步地,在连接关系确定后,可以分析各个设计元件的时序是否正确。
需要说明的是,布局布线工具和时序分析工具可以搭建在同一个电子设备(例如服务器或PC端),也可以分别搭建不同的电子设备上,在此不做限定。
为了便于更好理解本申请所描述的技术方案,下面具体描述电子设备的组成单元。如图1所示,电子设备包括处理器10、存储器11、总线12。处理器10、存储器11通过总线12连接,处理器10用于执行存储器11中存储的可执行模块,例如计算机程序。
处理器10可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,芯片模块接口时钟构建方法的各步骤可以通过处理器10中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器10可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit ,简称ASIC)、现场可编程门阵列(Field-Programmable GateArray,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器11可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。
总线12可以是ISA(Industry Standard Architecture)总线、PCI(PeripheralComponent Interconnect)总线或EISA(Extended Industry Standard Architecture)总线等。图1中仅用一个双向箭头表示,但并不表示仅有一根总线12或一种类型的总线12。
存储器11用于存储程序,例如芯片模块接口时钟构建装置对应的程序。芯片模块接口时钟构建装置包括至少一个可以软件或固件(firmware)的形式存储于存储器11中或固化在电子设备的操作系统(operating system,OS)中的软件功能模块。处理器10在接收到执行指令后,执行所述程序以实现芯片模块接口时钟构建方法。
可能地,本申请实施例提供的电子设备还包括通信接口13。通信接口13通过总线与处理器10连接。电子设备可以通过通信接口13与其他终端进行交互。
应当理解的是,图1所示的结构仅为电子设备的部分的结构示意图,电子设备还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
本申请实施例提供的一种芯片模块接口时钟构建方法,可以包括但不限于应用于图1所示的电子设备,具体的流程,请参考图2,芯片模块接口时钟构建方法的实现步骤可以包括:S104、S105以及S107,下面对其进行具体阐述。
S104,基于目标模块设置N个时钟子树和时钟主树。
其中,目标模块为包括至少一种类别接口逻辑器件的模块,时钟主树包括目标模块中的内部逻辑器件,时钟子树包括目标模块中的一种类别接口逻辑器件,接口逻辑器件为与上级模块存在时序关联的逻辑器件,不同种类的接口逻辑器件对应的上级模块不同,N大于或等于1。
请参考图3和图4,图3为本申请实施例提供的一种目标模块的示意图,图4为本申请实施例提供的另一种目标模块的示意图。如图3所示,模块A(Block_A)为目标模块,模块B(Block_B)为模块A的上级模块,模块A中包括逻辑器件L1、L2、L3、L4以及L5。需要说明的是,图3中所示的模块A中的逻辑器件仅为了便于展示,并不对模块A中的逻辑器件的组成构成具体限定。本申请实施例中的逻辑器件可以为寄存器或静态随机存储器,在此不做限定。
请继续参考图3,假设逻辑器件L1与上级模块(模块B)存在时序关联,则逻辑器件L1为接口逻辑器件。时钟信号可以由模块B传输至模块A。可选地,时序关联表示接口逻辑器件与上级模块需要满足时序要求,例如要求建立时间不违反。需要说明的是,目标模块可以包括多个接口逻辑器件,还可以包括不同种类的接口逻辑器件,不同种类的接口逻辑器件对应的上级模块不同。例如图4所示,模块A中的逻辑器件L5与上级模块(模块C,Block_C)存在时序关联,则逻辑器件L5也为接口逻辑器件。时钟信号可以由模块C传输至模块A。并且,逻辑器件L5与逻辑器件L1属于不同种类的接口逻辑器件。
在图3中,逻辑器件L2、L3、L4以及L5与任意一个上级模块之间均不存在时序关联,则逻辑器件L2、L3、L4以及L5可以为内部逻辑器件。在图4中,逻辑器件L2、L3以及L4与任意一个上级模块之间均不存在时序关联,则逻辑器件L2、L3以及L4可以为内部逻辑器件。
请参考图5和图6,图5为本申请实施例提供的图3所对应的时钟树结构示意图,图6为本申请实施例提供的图4所对应的时钟树结构示意图。
如图5所示,时钟主树包括逻辑器件L2、L3、L4以及L5,均为内部逻辑器件。时钟子树b为与模块B对应的时钟子树,时钟子树b包括逻辑器件L1,逻辑器件L1为与模块B存在时序关联的接口逻辑器件。
如图6所示,时钟主树包括逻辑器件L2、L3以及L4,均为内部逻辑器件。时钟子树b为与模块B对应的时钟子树,时钟子树b包括逻辑器件L1,逻辑器件L1为与模块B存在时序关联的接口逻辑器件。时钟子树c为与模块C对应的时钟子树,时钟子树c包括逻辑器件L5,逻辑器件L5为与模块C存在时序关联的接口逻辑器件。
需要说明的是,图5和图6中仅示出的时钟子树的数量N等于2,但并不构成限定。在本申请提供的芯片模块接口时钟构建方法中,可以根据接口逻辑器件的种类数量构建对应数量的时钟子树,即N等于目标模块中接口逻辑器件的种类数量。
S105,将每一个时钟子树均设置为与时钟主树保持时钟域隔离,且不同的时钟子树之间保持时钟域隔离。
应理解,通过S105,可以使每一个时钟子树均与时钟主树以及其他的时钟子树保持时钟域隔离。例如,时钟子树b与时钟子树c和时钟主树均保持时钟域隔离。
在时钟域隔离设置完成后,可以分开对时钟子树或时钟主树进行优化调整,彼此不会产生干扰。
S107,分别在每一个时钟子树的时钟根节点设置传播延时。
其中,传播延时为时钟信号在时钟子树对应的上级模块内的传播时间。
请继续参考图5和图6,时钟子树b对应的传播延时为Xb,表示时钟信号在上级模块B内的传播时间,时钟子树c对应的传播延时为Xc,表示时钟信号在上级模块C内的传播时间。
应理解,在目标模块内部时钟构建的过程中,提前对接口逻辑器件的传播延时进行设置,便于后续芯片整体约束,目标模块接口的时序不在需要到全芯片的环境进行分析和修复,从而解决了接口时序难收敛,修复慢的问题。
综上所述,本申请实施例提供的芯片模块接口时钟构建方法,基于目标模块设置N个时钟子树和时钟主树;目标模块为包括至少一种类别接口逻辑器件的模块,时钟主树包括目标模块中的内部逻辑器件,时钟子树包括目标模块中的一种类别接口逻辑器件;将每一个时钟子树均设置为与时钟主树保持时钟域隔离,且不同的时钟子树之间保持时钟域隔离;分别在每一个时钟子树的时钟根节点设置传播延时,传播延时为时钟信号在时钟子树对应的上级模块内的传播时间。在目标模块内部时钟构建的过程中,提前对接口逻辑器件的传播延时进行设置,目标模块接口的时序不在需要到全芯片的环境进行分析和修复,从而解决了接口时序难收敛,修复慢的问题。
可选地,在S107之后,芯片模块接口时钟构建方法还包括:进行时钟树综合。应理解,时钟树综合是后端物理设计的关键步骤,需要对期望实现的参数做出定义,参数通过时钟树约束文件提供,时钟树约束文件为可调整的配置文件。
在图2的基础上,对于时钟主树和时钟子树的结构,本申请实施例还提供了一种可能的实现方式,请参考下文。
时钟主树包括目标模块中的主管理器件和内部逻辑器件,时钟子树包括一个辅助管理器件和目标模块中的一种类别接口逻辑器件,辅助管理器件的输出端(图5和图6中的Q端)为时钟子树的时钟根节点,辅助管理器件与目标模块中的主管理器件相同,主管理器件的输入端与N个辅助管理器件的输入端(图5和图6中的CP端)连接。
如图5和图6所示,ICG表示管理器件,其中,实线框中的ICG表示主管理器件,虚线框中的ICG表示辅助管理器件。
本申请实施例中的主管理器件可以但不限定为门控单元、缓冲器以及反相器中的任意一种或多种的组合。
在时钟主树包括目标模块中的主管理器件和内部逻辑器件,时钟子树包括一个辅助管理器件和目标模块中的一种类别接口逻辑器件的基础上,关于图2中S104中的内容,如何设置时钟子树和时钟主树,本申请实施例还提供了一种可能的实现方式,请参考图7,S104包括:S104-1、S104-2以及S104-3,具体阐述如下。
S104-1,设置N个辅助管理器件。
正如前文所述,N等于目标模块中接口逻辑器件的种类数量。例如,图5中N为1,图6中N为2,当然地,N还可以为大于2的整数,在此不做限定。
可选地,可以对主管理器件进行复制,从而获得N个辅助管理器件。
S104-2,基于一个辅助管理器件和一种类别的接口逻辑器件设置一个时钟子树。
可选地,将辅助管理器件的输出端确定为时钟子树的时钟根节点,将一种类别的接口逻辑器件连接于时钟子树的时钟根节点,从而完成时钟子树的设置。
S104-3,基于一个主管理器件和内部逻辑器件设置时钟主树。
可选地,将主管理器件的输出端确定为时钟主树的时钟根节点,将内部逻辑器件连接于时钟主树的时钟根节点,从而完成时钟主树的设置。
应理解,通过图7所示的步骤S104-1、S104-2以及S104-3,可以将内部逻辑器件和接口逻辑器件区分开,快速完成时钟子树和时钟主树的构建。
在图7的基础上,对于S104-2中的内容,本申请实施例还提供了一种可能的实现方式,请参考图8,S104-2包括:S104-2A和S104-2B,具体阐述如下。
S104-2A,将一种类别的接口逻辑器件合并为目标接口器件。
S104-2B,基于一个辅助管理器件和目标接口器件设置一个时钟子树。
应理解,本申请提供的芯片模块接口时钟构建方法中,已经将内部逻辑器件和接口逻辑器件区分开,内部逻辑器件和接口逻辑器件不存在混合的情况。在此条件下,将一种类别的接口逻辑器件进行组合,合并为目标接口器件,可以起到降低功耗的目的。
关于如何起到降低功耗的作用,本申请实施例还提供了另一种可能的实现方式,即在S104-2之后,对应各个时钟子树中的逻辑器件进行合并,合并为目标接口器件。
关于如何完成时钟域隔离设置,本申请实施例还提供了一种可能的实现方式,请参考图9,S105包括:S105-1,具体阐述如下。
S105-1,在每一个辅助管理器件的输入端设置隔离标识。
可选地,使时钟子树在工具优化过程中与整个CLK时钟域隔离开,如图5和图6所示,将辅助管理器件的输入端CP端设置隔离标识,例如ignore_pin。应理解,工具优化过程中,在识别到隔离标识的情况下,工具将保持时钟子树处于时钟域隔离的状态。
应理解,通过设置时钟域隔离可以保障时钟子树的时序优化过程不收到时钟主树和其他时钟子树的干扰,也不会干扰时钟主树和其他时钟子树的优化过程,从而便于目标模块内部时序构建。
在图2的基础上,关于如何准确获取传播延时,本申请实施例还提供了一种可能的实现方式,请参考图10,在S107之前,芯片模块接口时钟构建方法还包括:S106,具体阐述如下。
S106,对时钟子树对应的上级模块进行静态时序分析,以确定时钟信号在时钟子树对应的上级模块内的传播时间。
可选地,可以通过时序分析工具对时钟子树对应的上级模块进行静态时序分析,以确定时钟信号在时钟子树对应的上级模块内的传播时间。再将时钟信号在时钟子树对应的上级模块内的传播时间确定为传播延时。
应理解,通过静态时序分析可以快速准确地确定时钟子树对应的传播延时。
在图2的基础上,关于如何设置传播延时,本申请实施例还提供了一种可能的实现方式,请参考图11,S107包括:S107-1和S107-2,具体阐述如下。
S107-1,向优化工具输入第一类指令。
其中,第一类指令包括需要设置的传播延时。
S107-2,优化工具依据传播延时在时钟根节点添加线路和/或逻辑器件,以完成传播延时的设置。
可选地,本申请中的优化工具可以是布局布线工具或时序分析工具。优化工具在获取到第一类指令时,对集成电路的布局布线图进行调整,例如在时钟根节点添加线路和/或逻辑器件。
应理解,通过优化工具可以自动、快速、准确地完成传播延时设置,保障接口时序的正确性。
在图2的基础上,关于如何设置传播延时,本申请实施例还提供了一种可能的实现方式,请参考图12,S107包括:S107-3,具体阐述如下。
S107-3,向优化工具输入第二类指令,优化工具执行第二类指令,以完成传播延时的设置。
其中,第二类指令包含需要在时钟根节点添加的线路信息和逻辑器件信息。
应理解,通过优化工具可以快速准确地完成传播延时设置,保障接口时序的正确性。
在图2的基础上,关于如何区分内部逻辑器件和接口逻辑器件,本申请实施例还提供了一种可能的实现方式,请参考图13,在S104之前,芯片模块接口时钟构建方法还包括:S101、S102以及S103,具体阐述如下。
S101,确定目标模块中的逻辑器件是否与任意一个上级模块存在时序关联。若是,则执行S102;若否,则执行S103。
可选地,对目标模块,例如Block_A中的逻辑进行细致划分,提取出接口逻辑部分。逻辑器件与任意一个上级模块存在时序关联,即可以认定为接口逻辑器件。反之,逻辑器件与任意一个上级模块均不存在时序关联,即可以认定为内部逻辑器件。
S102,将逻辑器件确定为接口逻辑器件。
S103,将逻辑器件确定为内部逻辑器件。
应理解,通过图13中所示的步骤S101、S102以及S103,快速完成目标模块中的逻辑划分。
在一种可能的实现方式中,可以将全芯片时钟源规划在顶层,然后再送入相应的模块中,有接口时序检查的两模块时钟,往往是深层模块的时钟又是从其相邻浅级模块中送入,按照时钟送入时间将两模块分为上级模块和后级模块。
本申请实施例提供的芯片模块接口时钟构建方,实现简单,时钟方案可固定,后续设计流程只需要直接设置开关即可实现,可以直接调用通过本申请所获得额时钟方案。因为,接口单独实现,在自动实现的过程中兼顾内部时序,在时序修复过程中也不影响内部时序,优化效果明显。并且,适用范围可推广,将子树方案适用于绝大部分的接口设计中,如对FT3000的DAMI到l2c的接口中,同样取得了很好的效果,具体地,如图14所示。
请参阅图15,图15为本申请实施例提供的一种芯片模块接口时钟构建装置,可选的,该芯片模块接口时钟构建装置被应用于上文所述的电子设备。
一种芯片模块接口时钟构建装包括:构建单元201和设置单元202。
构建单元201,用于基于目标模块设置N个时钟子树和时钟主树;
其中,目标模块为包括至少一种类别接口逻辑器件的模块,时钟主树包括目标模块中的内部逻辑器件,时钟子树包括目标模块中的一种类别接口逻辑器件,接口逻辑器件为与上级模块存在时序关联的逻辑器件,不同种类的接口逻辑器件对应的上级模块不同,N大于或等于1。
设置单元202,用于将每一个时钟子树均设置为与时钟主树保持时钟域隔离,且不同的时钟子树之间保持时钟域隔离;
设置单元202还用于分别在每一个时钟子树的时钟根节点设置传播延时,其中,传播延时为时钟信号在时钟子树对应的上级模块内的传播时间。
可选地,构建单元201可以执行上述的S101-S104;设置单元202-可以执行上述的S105-S107。
需要说明的是,本实施例所提供的芯片模块接口时钟构建装置,其可以执行上述方法流程实施例所示的方法流程,以实现对应的技术效果。为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。
本申请实施例还提供了一种存储介质,该存储介质存储有计算机指令、程序,该计算机指令、程序在被读取并运行时执行上述实施例的芯片模块接口时钟构建方法。该存储介质可以包括内存、闪存、寄存器或者其结合等。
下面提供一种电子设备,可以是服务器设备或电脑设备,该电子设备如图1所示,可以实现上述的芯片模块接口时钟构建方法;具体的,该电子设备包括:处理器10,存储器11、总线12。处理器10可以是CPU。存储器11用于存储一个或多个程序,当一个或多个程序被处理器10执行时,执行上述实施例的芯片模块接口时钟构建方法。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其它的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
- 芯片模块接口时钟构建方法、装置、存储介质及电子设备
- 芯片模块接口时钟结构的构建方法、装置、设备及介质