CN114519318B - Noc设计方法、装置、相关器件和设备 - Google Patents
Noc设计方法、装置、相关器件和设备 Download PDFInfo
- Publication number
- CN114519318B CN114519318B CN202210138128.9A CN202210138128A CN114519318B CN 114519318 B CN114519318 B CN 114519318B CN 202210138128 A CN202210138128 A CN 202210138128A CN 114519318 B CN114519318 B CN 114519318B
- Authority
- CN
- China
- Prior art keywords
- clock frequency
- relay unit
- noc
- transmission delay
- working clock
- 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.)
- Active
Links
- 238000013461 design Methods 0.000 title claims abstract description 69
- 238000000034 method Methods 0.000 title claims abstract description 61
- 230000005540 biological transmission Effects 0.000 claims abstract description 219
- 238000012545 processing Methods 0.000 claims abstract description 73
- 230000006872 improvement Effects 0.000 claims abstract description 69
- 238000005070 sampling Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 7
- 230000000875 corresponding effect Effects 0.000 description 84
- 238000004891 communication Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 230000001360 synchronised effect Effects 0.000 description 9
- 230000008054 signal transmission Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 3
- 238000012300 Sequence Analysis Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004148 unit process Methods 0.000 description 1
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/3315—Design verification, e.g. functional simulation or model checking using static timing analysis [STA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7825—Globally asynchronous, locally synchronous, e.g. network on chip
-
- 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/337—Design optimisation
-
- 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)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本申请实施例提供一种NOC设计方法、装置、相关器件和设备,其中方法包括:从NOC的功能单元之间的连接中,确定时序违例的至少一条目标连接;从中继单元初始的工作时钟频率开始,迭代的对中继单元的工作时钟频率进行至少一次分频处理,直至所述至少一条目标连接在中继单元的当前工作时钟频率对应的传输延时改善情况达到预设条件;将所述当前工作时钟频率设计为中继单元的基准工作时钟频率。本申请实施例能够将中继单元的工作时钟与NOC的工作时钟相独立,为中继单元合理、准确的设计工作时钟频率,从而减少冗余的中继单元、降低NOC的传输延时。进一步的,本申请实施例还可在NOC内引入信号跨时钟域处理逻辑,以保障信号在中继单元和NOC的时序正确性。
Description
技术领域
本申请实施例涉及芯片技术领域,具体涉及一种NOC设计方法、装置、相关器件和设备。
背景技术
随着集成电路的发展和工艺的提升,芯片的集成度在不断提升,大规模芯片的设计已成为主流。为了适应芯片的性能和扩展性要求,NOC(Network on Chip,片上网络)被提出并被用于芯片中的功能模块互联;NOC是芯片采用的区别于总线的一种通信技术,其具备优异的性能和扩展性。
NOC作为芯片中实现功能模块互联的通信网络,如何合理、准确的设计NOC,成为了本领域技术人员亟需解决的技术问题。
发明内容
有鉴于此,本申请实施例提供一种NOC设计方法、装置、相关器件和设备,以在设计NOC时,合理、准确的确定NOC内的中继单元的工作时钟频率,从而在NOC运行在非最高工作时钟频率时,达到减少NOC内冗余的中继单元、降低NOC的传输延时的目的。
为实现上述目的,本申请实施例提供如下技术方案。
第一方面,本申请实施例提供一种NOC设计方法,包括:
从NOC的功能单元之间的连接中,确定时序违例的至少一条目标连接;
从中继单元初始的工作时钟频率开始,迭代的对中继单元的工作时钟频率进行至少一次分频处理,直至所述至少一条目标连接在中继单元的当前工作时钟频率对应的传输延时改善情况达到预设条件;
将所述当前工作时钟频率设计为中继单元的基准工作时钟频率。
第二方面,本申请实施例提供一种NOC设计装置,包括:
目标连接确定模块,用于从NOC的功能单元之间的连接中,确定时序违例的至少一条目标连接;
循环确定模块,用于从中继单元初始的工作时钟频率开始,迭代的对中继单元的工作时钟频率进行至少一次分频处理,直至所述至少一条目标连接在中继单元的当前工作时钟频率对应的传输延时改善情况达到预设条件;
基准频率设计模块,用于将所述当前工作时钟频率设计为中继单元的基准工作时钟频率。
第三方面,本申请实施例提供一种计算机设备,包括至少一个存储器和至少一个处理器,所述存储器存储一条或多条计算机可执行指令,所述处理器调用所述一条或多条计算机可执行指令,以执行如上述第一方面所述的NOC设计方法。
第四方面,本申请实施例提供一种存储介质,所述存储介质存储一条或多条计算机可执行指令,所述一条或多条计算机可执行指令被执行时实现如上述第一方面所述的NOC设计方法。
第五方面,本申请实施例提供一种NOC,包括:多个NIU、多个RU和多个中继单元;所述中继单元设置于NIU和RU之间的目标连接,以及RU和RU之间的目标连接;所述目标连接为存在时序违例的连接;
其中,所述中继单元的基准工作时钟频率根据上述第一方面所述的NOC设计方法进行设计,并且各条目标连接中设置的中继单元级数根据所述基准工作时钟频率确定。
第六方面,本申请实施例提供一种芯片,包括如上述第五方面所述的NOC。
第七方面,本申请实施例提供一种电子设备,包括如上述第六方面所述的芯片。
本申请实施例提供的NOC设计方法,在为NOC内的中继单元设计工作时钟频率时,可从NOC的功能单元之间的连接中,确定时序违例的至少一条目标连接,该目标连接可以视为是NOC内需要设置中继单元的连接;从而本申请实施例可从中继单元初始的工作时钟频率开始,迭代的对中继单元的工作时钟频率进行至少一次分频处理,直至所述至少一条目标连接在中继单元的当前工作时钟频率对应的传输延时改善情况达到预设条件;进而将所述当前工作时钟频率设计为中继单元的基准工作时钟频率。可见,本申请实施例提供的NOC设计方法可在考虑目标连接的传输延时改善情况的前提下,从降频的工作时钟频率中,为中继单元确定基准工作时钟频率,使得NOC运行在非最高工作时钟频率时,能够为NOC中的中继单元合理、准确的设计工作时钟频率,达到减少NOC内冗余的中继单元、降低NOC的传输延时的目的。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为NOC的结构示例图。
图2为NOC的另一结构示例图。
图3为NOC设计方法的流程图。
图4为NOC设计方法的另一流程图。
图5为NOC设计方法的再一流程图。
图6为时序关系示例图。
图7为NOC的再一结构示例图。
图8为跨时钟域处理单元的结构示例图。
图9为NOC设计装置的框图。
图10为计算机设备的框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
NOC为大规模SOC(System-on-a-Chip,系统级芯片)等大规模芯片中引入的通信技术,用于芯片内功能模块的互联。芯片内的功能模块可以是芯片内实现功能的器件,例如芯片内的CPU(Central Processing Unit,中央处理器)核、内存控制器、加速器等。
SOC的功能模块互联主要可以分为控制类信息交互和数据类信息交互,也就是说,NOC可以传输功能模块的控制类信息和数据类信息;控制类信息交互要求NOC具备高扩展性,低延时的特性;数据类信息交互要求NOC具备高带宽、低延时的特性。以NOC传输控制类信息为例,图1示例性的示出了NOC的结构示例图,如图1所示,NOC可以包括多个NIU(Network Interface Unit,网络接口单元)110、多个RU(Routing Unit,路由单元)120,NIU和RU的具体数量可根据实际情况设计,本申请实施例并不设限。
在NOC中,NIU负责连接SOC中需要挂载至NoC的功能模块,RU负责连接NIU(一个RU可连接一个或多个NIU),并且多个RU连接形成NoC的通信网络。对于传输控制类信息的NOC,由于挂载的功能模块分布在芯片各处,因此NIU和RU可覆盖芯片绝大部分的物理区域。
NIU与NOC挂载的功能模块之间可以通过标准总线进行连接;进一步的,为优化设计,减少芯片内的物理走线,NIU可在物理位置上紧邻挂载的功能模块。NIU与RU之间、RU与RU之间可通过NOC内部数据总线互联;可选的,NOC内部数据总线的数据位宽可小于标准总线的数据位宽。
NOC可根据同步时序原则进行设计,同步时序是指芯片设计使用同一个时钟,也就是说,同步时序要求芯片设计具有一个全局统一的时钟,并且芯片设计中所有的触发器都统一在该时钟的上升沿(或下降沿)同时更新触发器,以实现逻辑运算和输出。具体来说,在同步时序下,芯片设计中所有的逻辑变化均需要在一个时钟周期内完成,例如,芯片设计的时序应满足如下公式1的要求:
T≥DW+DG-DT+TU(公式1);其中,T为工作时钟周期(工作时钟频率的倒数),DW是信号线传输延时,DG是逻辑门传输延时,DT是时钟信号的传输延时(简称为时钟信号传输延时),TU是时钟信号的抖动(简称为时钟抖动)。需要说明的是,芯片内的时序逻辑是通过时钟来同步,时钟频率指的是时序逻辑使用的时钟的频率,单位通常为Hz(赫兹),MHz(兆赫)等。
在同步时序原则下,NOC内的NIU与RU之间、RU与RU之间的连接需要满足同步时序要求,即上述满足公式1的要求。需要说明的是,NIU与RU之间、RU与RU之间均存在信号线传输延时DW和逻辑门传输延时DG,而为了保证信号在接收端能够正常被采样,因此NOC还需要考虑时钟信号的传输延时DT,以及时钟本身的抖动TU所带来的误差。
然而,随着芯片设计的复杂度增加和规模的增大,NIU与RU之间、RU与RU之间的物理距离也随之增大,这导致NOC的DW(信号线传输延时)随之增大,致使NOC的设计无法满足同步时序要求,即无法满足上述公式1的要求。
基于此,在设计NOC时,可在NOC内引入中继单元(Repeater)来满足同步时序要求,具体来说,在NIU与RU之间的连接、RU与RU之间的连接中设置中继单元,从而将NOC的信号线传输延时分为多段,以满足同步时序要求。在此思路下,图2示例性的示出了NOC的另一结构示例图,结合图1和图2所示,图2所示NOC中还可以包括:多个中继单元130,其中,中继单元插入于NIU与RU之间的连接、以及RU与RU之间的连接。在一些实施例中,中继单元可以是NIU与RU之间、RU与RU之间插入的一组时序触发器。
在NOC中引入中继单元需要在设计NOC时,设计中继单元的工作时钟频率,从而基于中继单元的工作时钟频率,确定NOC中各条目标连接具体设置的中继单元级数。可选的,目标连接可以是NOC中NIU与RU之间时序违例的连接、RU与RU之间时序违例的连接。
在一种可选实现中,NOC需要支持多个工作时钟频率,因此在进行NOC设计时,为了保证NOC在各种应用场景下均能正常工作,NOC需要按照最严格的工作条件进行设计(例如NOC按照最高的工作时钟频率进行设计)。在此设计思路下,NOC内设计的中继单元数量取决于NIU与RU之间的物理距离、RU与RU之间的物理距离和NOC设计的最高工作时钟频率;也就是说,NIU与RU之间的物理距离、NIU与RU之间物理距离、以及NOC的最高工作时钟频率,均与中继单元数量呈正相关关系。比如,NIU与RU之间的物理距离越远、则NIU与RU之间设计的中继单元数量越多,RU与RU之间的物理距离越远,则RU与RU之间的设计的中继单元数量越多,NOC的最高工作时钟频率越高,则NOC内的中继单元数量越多。
作为可选实现,图3示例性的示出了NOC设计方法的可选流程图,该方法流程可在设计NOC时,根据NOC的最高工作时钟频率,设计中继单元的工作时钟频率,并确定中继单元在NOC的设置方式(比如确定NOC内的各条目标连接设置的中继单元级数);该方法流程可由设计软件执行实现,例如由用于芯片设计的计算机设备(比如主机)执行设计软件,来实现该方法流程。参照图3,该方法流程可以包括如下步骤。
在步骤S310中,确定NOC内NIU与RU之间的连接,以及RU与RU之间的连接。
在步骤S311中,从NIU与RU之间的连接,以及RU与RU之间的连接中,确定时序违例的至少一条目标连接。
本申请实施例可列出NOC内功能单元之间的连接,基于NOC中存在连接关系的功能单元包括NIU和RU,因此NOC内功能单元之间的连接可以包括:NIU与RU之间的连接,以及RU与RU之间的连接。
为确认NOC内需要设置中继单元的连接,本申请实施例可对NOC内功能单元之间的连接进行分析,从而筛选出存在时序违例的目标连接(该目标连接可以视为是NOC中违背同步时序的连接)。在一些实施例中,本申请实施例可通过静态时序分析方式,从NIU与RU之间的连接以及RU与RU之间的连接中,确定时序违例的目标连接。所确定的目标连接的数量可以为一条或多条。需要说明的是,静态时序分析是芯片物理实现过程中的分析方法,通过静态时序分析工具可以得到公式1中的各项参数。
在一个示例中,本申请实施例可设NOC内时序违例的目标连接具有n条,分别为L1至Ln;该n条时序违例的目标连接可形成连接集合L,L={L1,…,Ln}。
在步骤S312中,将NOC的最高工作时钟频率作为中继单元的工作时钟频率。
在步骤S313中,针对任一条目标连接,计算所述目标连接的总信号线传输延时,并根据中继单元的工作时钟频率,确定所述目标连接中的一级中继单元覆盖的单位信号线传输延时。
本申请实施例可根据NOC的最高工作时钟频率,确定中继单元的工作时钟频率,即将NOC的最高工作时钟频率作为中继单元的工作时钟频率,从而基于中继单元的工作时钟频率,确定NOC内的各条目标连接设置的中继单元级数,以实现在NOC内设置中继单元。
在一些实施例中,在确定NOC内时序违例的目标连接后,针对任一条目标连接,本申请实施例可确定该目标连接的总信号线传输延时。作为可选实现,针对任一条目标连接,本申请实施例可根据该目标连接在NOC的预期物理走线,计算该目标连接的总信号线传输延时。在一个示例中,假设NOC内具有n条目标连接(L1至Ln),则针对n条目标连接中的每一条目标连接,本申请实施例可根据目标连接的预期物理走线,计算出每一条目标连接的总信号线传输延时。一条目标连接的总信号线传输延时可设为DW_SUM。
同时,在以NOC的最高工作时钟频率设置中继单元的工作时钟频率时,中继单元的工作时钟周期可以是NOC的工作时钟周期;在此情况下,针对任一条目标连接,本申请实施例可确定该目标连接中的一级中继单元覆盖的单位信号线传输延时。其中,目标连接的一级中继单元可以视为是目标连接所设置的一个中继单元,目标连接设置的中继单元级数可与目标连接设置的中继单元数量相应。目标连接中的一级中继单元所覆盖的单位信号线传输延时可以视为是,一级的中继单元在目标连接中所能降低的信号线传输延时。
作为可选实现,针对任一条目标连接,本申请实施例可根据中继单元的工作时钟周期(对应NOC的工作时钟周期)、目标连接的逻辑门传输延时、时钟信号传输延时以及时钟抖动,确定目标连接中的一级中继单元覆盖的单位信号线传输延时。例如,针对任一条目标连接,本申请实施例可计算中继单元的工作时钟周期与目标连接的逻辑门传输延时的差值,与时钟信号传输延时的和,以及与时钟抖动的差值,从而得到目标连接的参考信号线传输延时;通过设置单位信号线传输延时不大于该参考信号线传输延时,以得到目标连接中的一级中继单元所覆盖的单位信号线传输延时。在一个示例中,设一级中继单元所覆盖的单位信号线传输延时为DW_Single,则针对任一条目标连接,本申请实施例可根据如下公式2确定DW_Single:DW_Single≤T-DG+DT-TU(公式2)。
在步骤S314中,针对任一条目标连接,根据所述目标连接的总信号线传输延时以及单位信号线传输延时,确定所述目标连接设置的中继单元级数。
在一些实施例中,在以NOC的最高工作时钟频率设置中继单元的工作时钟频率时,针对任一条目标连接,本申请实施例可将目标连接的总信号线传输延时除以相应的单位信号线传输延时,并将结果向上取整,以得到目标连接设置的中继单元级数。
在一个示例中,针对任一条目标连接,该目标连接设置的中继单元级数可设为m,则m根据如下公式3确定:m=ceil[DW_SUM/DW_Single](公式3),函数ceil表示向上取整。
基于步骤S313和步骤S314,本申请实施例可在设置中继单元的工作时钟频率为NOC的最高工作时钟频率时,确定出NOC内时序违例的各目标连接所设置的中继单元级数。例如,针对NOC内的n条目标连接{L1,…,Ln},本申请实施例可针对每一条目标连接,分别执行步骤S313和步骤S314,从而得到每一条目标连接设置的中继单元级数。
以NOC的最高工作时钟频率设计中继单元的工作时钟频率,虽然能保证NOC在各种应用场景下均能正常工作,但本申请的发明人发现这种设计方式仍然存在如下问题:如果NOC当前未工作在最高工作时钟频率,则NOC内设计的中继单元将出现冗余,并且冗余的中继单元将导致NOC的延时增大,影响NOC的性能。
具体来说,NOC无论是传输控制类信息还是数据类信息,NOC都具有低延时的要求,并且NOC的延时主要包括NOC内的传输延时、NIU和RU的处理延时、以及中继单元的延时;其中,中继单元的延时由中继单元的数量和中继单元的工作时钟周期(中继单元的工作时钟频率的倒数)决定。基于此,如果中继单元的工作时钟频率按照NOC的最高工作时钟频率进行设计,那在NOC运行在非最高工作时钟频率时,NOC中设置的中继单元数量将大于当前工作需要的数量,也就是NOC中存在冗余的中继单元;并且这些冗余的中继单元将增大中继单元的延时,进而导致NOC的延时增大,影响NOC的性能。
为更为清楚的说明上述问题,下面通过一个示例进行说明。设在中继单元的一个工作时钟频率下,NOC内的第i条目标连接Li设置mi的中继单元级数(例如,在为中继单元设置一个工作时钟频率后,基于图3所示方法流程的原来为NOC内的n条目标连接分别确定中继单元级数,针对第i条目标连接Li,Li设置mi级数的中继单元),则在中继单元设置的一个工作时钟频率下,目标连接Li的传输延时Di可以通过如下公式4表示:
Di=T*ceil[DW_i/(T-DG+DT_i-TU)](公式4),其中,DW_i为目标连接Li设置mi级数的中继单元情况下的信号线传输延时,DT_i为目标连接Li设置mi级数的中继单元情况下的时钟信号传输延时。
基于公式4,当以NOC的最高工作时钟频率设计中继单元的工作时钟频率时,可设NOC的最高工作时钟频率为fc,fc对应的最高工作时钟周期为Tc,则此时将Tc作为T代入公式4,并适应匹配其他参数,可得出在中继单元的工作时钟频率fc下,目标连接Li的传输延时Di为:Tc*ceil[DW_i/(Tc-DG+DT_i-TU)]。
当NOC运行在最高工作时钟频率的一半,并以NOC一半的最高工作时钟频率设计中继单元的工作时钟频率时,可设NOC当前运行的工作时钟频率为fr,且fr=fC/2,fr对应的工作时钟周期为Tr,Tr=2*Tc,则此时将Tr作为T代入公式4,并适应匹配其他参数,可得出在中继单元的工作时钟频率fr下,目标连接Li的传输延时Di为:Tr*ceil[DW_i/(Tr-DG+DT_i-TU)]。
可见,由于Tr=2*TC,因此中继单元的工作时钟频率fc对应的目标连接Li的传输延时高于,中继单元的工作时钟频率fr对应的目标连接Li的传输延时;也就是说,在以NOC的最高工作时钟频率设计中继单元的工作时钟频率时,如果NOC运行的工作时钟频率低于最高工作时钟频率,则NOC内设置的中继单元将存在冗余,并且导致NOC内目标连接的传输延时升高。
可以看出,在将NOC的工作时钟作为中继单元的工作时钟,并按照NOC的最高工作时钟频率设计中继单元的工作时钟频率时,由于不能综合考虑NOC在较低工作频率的场景,这导致NOC运行在非最高工作时钟频率时,会使得NOC内存在中继单元冗余的情况,并且目标连接的传输延时将会升高。基于此,本申请实施例进一步提供改进的NOC设计方案,以在设计NOC时,合理、准确的设计中继单元的工作时钟频率,从而在NOC运行在非最高工作频率时,减少NOC内冗余的中继单元、降低NOC的传输延时,实现合理、准确的设计NOC。
区别于上述以NOC的最高工作时钟频率设计中继单元的工作时钟频率,本申请实施例将中继单元的工作时钟与NOC的工作时钟相独立,并且使得中继单元工作在固定的工作时钟频率,从而中继单元带来的延时是固定的且能够进行优化,进而中继单元的延时不再受到NOC的工作时钟频率的影响,能够实现合理、准确的设计中继单元的时钟频率,并且降低NOC运行在非最高工作频率时的传输延时,实现合理、准确的设计NOC。基于此思路,作为可选实现,图4示例性的示出了NOC设计方法的另一可选流程图,该方法流程可由设计软件执行实现,例如计算机设备通过执行设计软件,实现该方法流程。参照图4,该方法流程可以包括如下步骤。
在步骤S410中,从NOC的功能单元之间的连接中,确定时序违例的至少一条目标连接。
在一些实施例中,确定NOC内至少一条目标连接的方式可参照前文步骤S310至步骤S311部分的描述。作为可选实现,本申请实施例可通过静态时序分析方式,从NOC的功能单元之间的连接中,确定时序违例的至少一条目标连接。例如,本申请实施例可通过静态时序分析方式,从NOC的NIU与RU之间的连接以及RU与RU之间的连接中,确定时序违例的至少一条目标连接。
在步骤S411中,确定NOC支持的多个工作时钟频率,并根据所述多个工作时钟频率确定中继单元初始的工作时钟频率。
在一些实施例中,本申请实施例可列出NOC需支持的所有工作时钟频率,以得到NOC支持的多个工作时钟频率,计算该多个工作时钟频率的最大公约数,从而得到中继单元初始的工作时钟频率。
在步骤S412中,根据中继单元初始的工作时钟频率,确定NOC中各条目标连接设置的中继单元级数。
在一些实施例中,在中继单元初始的工作时钟频率下,确定NOC中各条目标连接设置的中继单元级数的原理可与前文S313至步骤S314部分的描述类似。作为可选实现,针对任一条目标连接,本申请实施例可确定目标连接的总信号线传输延时,并根据中继单元初始的工作时钟频率,确定目标连接中的一级中继单元覆盖的单位信号线传输延时;进而,根据目标连接的总信号线传输延时,以及一级中继单元覆盖的单位信号线传输延时,确定目标连接设置的中继单元级数。
在根据中继单元初始的工作时钟频率,确定目标连接中的一级中继单元覆盖的单位信号线传输延时的可选实现中,针对任一条目标连接,本申请实施例可确定中继单元初始的工作时钟频率对应的初始的工作时钟周期,从而根据初始的工作时钟周期、目标连接的逻辑门传输延时、时钟信号传输延时以及时钟抖动,确定目标连接中的一级中继单元覆盖的单位信号线传输延时。例如,本申请实施例可计算初始的工作时钟周期与目标连接的逻辑门传输延时的差值,与时钟信号传输延时的和,以及与时钟抖动的差值,从而得到目标连接的参考信号线传输延时;进而设置单位信号线传输延时不大于该参考信号线传输延时,以得到目标连接中的一级中继单元覆盖的单位信号线传输延时。在一个示例中,假设中继单元初始的工作时钟频率为fm,相应的工作时钟周期为Tm,则针对任一条目标连接,本申请实施例可根据公式2,将公式2中的T以Tm进行带入,并适应调整参数,从而以中继单元初始的工作时钟频率,计算出目标连接中的一级中继单元覆盖的单位信号线传输延时DW_Single。
在根据目标连接的总信号线传输延时,以及一级中继单元覆盖的单位信号线传输延时,确定目标连接设置的中继单元级数的可选实现中,针对任一条目标连接,本申请实施例可将目标连接的总信号线传输延时除以相应的单位信号线传输延时,并将结果向上取整,以得到目标连接设置的中继单元级数。在一个示例中,在确定目标连接的总信号线传输延时DW_SUM,以及一级中继单元覆盖的单位信号线传输延时DW_Single的情况下,本申请实施例可根据公式3确定出目标连接设置的中继单元级数。
在步骤S413中,根据NOC中的各条目标连接设置的中继单元级数,分别确定各条目标连接在所述初始的工作时钟频率对应的传输延时。
在基于中继单元的初始的工作时钟频率,确定NOC内的各条目标连接设置的中继单元级数后,本申请实施例可分别确定NOC内的各条目标连接在所述初始的工作时钟频率对应的传输延时。在一些实施例中,针对任一条目标连接,本申请实施例可根据初始的工作时钟频率对应的工作时钟周期,以及目标连接设置的中继单元级数,确定目标连接在所述初始的工作时钟频率对应的传输延时。作为可选实现,针对任一条目标连接,本申请实施例可将中继单元初始的工作时钟频率对应的工作时钟周期,乘以目标连接设置的中继单元级数,从而确定出目标连接在所述初始的工作时钟频率对应的传输延时。例如,结合公式4,本申请实施例可将公式4中的T以Tm进行带入,并适应调整参数,从而针对NOC内的第i条目标连接,确定第i条目标连接在所述初始的工作时钟频率对应的传输延时:
Tm*ceil[DW_i/(Tm-DG+DT_i-TU)]。
在步骤S414中,根据各条目标连接在所述初始的工作时钟频率对应的传输延时,确定所述至少一条目标连接在所述初始的工作时钟频率对应的传输延时。
在一些实施例中,本申请实施例可将各条目标连接在所述初始的工作时钟频率对应的传输延时进行相加,确定出NOC内的所述至少一条目标连接(即所有的目标连接)在中继单元的当前工作时钟频率对应的传输延时。
在步骤S415中,将所述初始的工作时钟频率作为中继单元的上一工作时钟频率。
在步骤S416中,对上一工作时钟频率进行分频处理,以得到中继单元的当前工作时钟频率。
为合理、准确的选择中继单元的工作时钟频率,本申请实施例可对所述初始的工作时钟频率迭代的进行至少一次分频(即降频)处理,从而从分频后的工作时钟频率中选择目标连接的传输延时改善情况达到预设条件的工作时钟频率,以实现为中继单元合理、准确的设计工作时钟频率。
基于此思路,本申请实施例在确定NOC内的所述至少一条目标连接在初始的工作时钟频率对应的传输延时后,可将初始的工作时钟频率作为中继单元的上一工作时钟频率,并对上一工作时钟频率进行分频处理,从而得到中继单元新的当前工作时钟频率。
在一些实施例中,本申请实施例可按照预设的倍数对上一工作时钟频率进行分频处理,从而得到中继单元的当前工作时钟频率。例如,本申请实施例可根据1/2、1/3等预设的倍数,对上一工作时钟频率进行分频处理,具体分频的倍数可根据实际情况设定,本申请实施例并不设限。
在步骤S417中,确定所述至少一条目标连接在所述当前工作时钟频率对应的传输延时。
在得到中继单元的当前工作时钟频率后,为衡量在该当前工作时钟频率下,所述至少一条目标连接的传输延时改善情况,本申请实施例需确定NOC内的所述至少一条目标连接在该当前工作时钟频率对应的传输延时,以便将所述至少一条目标连接在当前工作时钟频率与上一工作时钟频率对应的传输延时进行比对,从而确定所述至少一条目标连接的传输延时改善情况。
作为可选实现,确定所述至少一条目标连接在当前工作时钟频率对应的传输延时的方式,可同理参照前文相应部分的描述,此处不再展开;例如,将步骤S412至步骤S414的流程中的初始的工作时钟频率,调整为该当前工作时钟频率,从而确定出所述至少一条目标连接在当前工作时钟频率对应的传输延时。
在步骤S418中,根据所述至少一条目标连接在当前工作时钟频率以及上一工作时钟频率对应的传输延时,确定所述至少一条目标连接在当前工作时钟频率对应的传输延时改善情况。
在步骤S419中,判断传输延时改善情况是否符合预设条件,若是,执行步骤S420,若否,执行步骤S421。
在步骤S420中,将所述当前工作时钟频率设计为中继单元的基准工作频率。
在步骤S421中,将当前工作时钟频率作为新的上一工作时钟频率,并返回步骤S416。
在确定出所述至少一条目标连接在当前工作时钟频率的传输延时后,本申请实施例可根据所述至少一条目标连接在当前工作时钟频率以及上一工作时钟频率对应的传输延时,确定所述至少一条目标连接当前的传输延时改善情况。所述至少一条目标连接当前的传输延时改善情况可以视为是,所述至少一条目标连接在当前工作时钟频率的传输延时,相比于在上一工作时钟频率的传输延时的降低值。
在一些实施例中,本申请实施例可将所述至少一条目标连接在当前工作时钟频率对应的传输延时,除以所述至少一条目标连接在上一工作时钟频率对应的传输延时,得到相除结果;从而计算预设的第一值与所述相除结果的差值,取所述差值的绝对值,作为所述至少一条目标连接在中继单元的当前工作时钟频率对应的传输延时改善情况。在一个示例中,设所述至少一条目标连接在上一工作时钟频率对应的传输延时为Db1,在当前工作时钟频率对应的传输延时为Db2,k为所述至少一条目标连接在当前工作时钟频率对应的传输延时改善情况,预设的第一值为1,则k=|1-Db2/Db1|。
需要说明的是,本申请实施例也可支持采用其他方式,确定所述传输延时改善情况的方式,而不限于上述描述的方式,例如,本申请实施例也可将所述至少一条目标连接在当前工作时钟频率对应的传输延时,减去所述至少一条目标连接在上一工作时钟频率对应的传输延时,从而得到所述传输延时改善情况。
本申请实施例可设置预设条件,如果所述传输延时改善情况符合预设条件,则认为所述至少一条目标连接的传输延时改善情况达到要求,本申请实施例可将分频得到的当前工作时钟频率,设计为中继单元的基准工作时钟频率。如果所述传输延时改善情况不符合预设条件,则需要以当前工作时钟频率为基础,继续进行工作时钟频率的分频处理,直至所述至少一条目标连接在分频的工作时钟频率对应的传输延时改善情况符合预设条件;作为可选实现,在所述传输延时改善情况不符合预设条件时,本申请实施例可将当前工作时钟频率作为新的上一工作时钟频率,从而返回步骤S416继续分频得到新的当前工作时钟频率,并确定所述至少一条目标连接在新的当前工作时钟频率对应的传输延时以及传输延时改善情况,如此循环执行,直至所述至少一条目标连接在分频得到的当前工作时钟频率的传输延时改善情况,符合预设条件。
作为可选实现,本申请实施例可根据预设的阈值定义预设条件,如果所述传输延时改善情况不大于预设的阈值,则确定所述传输延时改善情况符合预设条件,如果所述传输延时改善情况大于预设的阈值,则确定所述传输延时改善情况不符合预设条件。在一个示例中,设预设的阈值为a,则在计算得到传输延时改善情况k后,本申请实施例可将k与a进行比对;如果k大于a,则所述传输延时改善情况不符合预设条件,本申请实施例可将当前工作时钟频率作为新的上一工作时钟频率,并返回步骤S416继续执行;如果k不大于a,则所述传输延时改善情况符合预设条件,本申请实施例可将中继单元的当前工作时钟频率,设计为基准工作时钟频率。
基于图4所示流程可以看出,本申请实施例并不是直接以NOC的最高工作时钟频率,设计中继单元的工作时钟频率,而是在确定中继单元的初始的工作时钟频率后,从初始的工作时钟频率开始,迭代的对中继单元的工作时钟频率进行一次或多次的分频处理,并且当NOC的所述至少一条目标连接(即所有的目标连接)在分频得到的当前工作时钟频率的传输延时改善情况达到预设条件时,本申请实施例停止分频处理,并将分频得到的当前工作时钟频率作为中继单元的基准工作时钟频率。可见,本申请实施例是从分频的工作时钟频率中,选取出目标连接的传输延时改善情况达到要求的工作时钟频率,并为中继单元设计基准工作时钟频率;本申请实施例可在考虑目标连接的传输延时改善情况的前提下,从降频的工作时钟频率中,为中继单元设置基准工作时钟频率,使得NOC运行在非最高工作时钟频率时,能够为NOC中的中继单元合理、准确的设计工作时钟频率,达到减少NOC内冗余的中继单元、降低NOC的传输延时的目的。
结合前文描述的为中继单元设计工作时钟频率的方案,作为可选实现,图5示例性的示出了NOC设计方法的再一可选流程图,该方法流程可由设计软件执行实现,例如计算机设备通过执行设计软件,实现该方法流程。参照图5,该方法流程可以包括如下步骤。
在步骤S510中,从NOC的功能单元之间的连接中,确定时序违例的至少一条目标连接。
在步骤S511中,从中继单元初始的工作时钟频率开始,迭代的对中继单元的工作时钟频率进行至少一次分频处理,直至所述至少一条目标连接在中继单元的当前工作时钟频率对应的传输延时改善情况达到预设条件。
在一些实施例中,从中继单元初始的工作时钟频率开始,迭代的对中继单元的工作时钟频率进行至少一次分频处理可以理解为是:中继单元的当前工作时钟频率由上一工作时钟频率分频得到,并且最开始的工作时钟频率为中继单元初始的工作时钟频率。
在一些实施例中,在基于中继单元的上一工作时钟频率,分频得到当前工作时钟频率的情况下,本申请实施例可确定所述至少一条目标连接在中继单元的上一工作时钟频率对应的传输延时,以及所述至少一条目标连接在中继单元的当前工作时钟频率对应的传输延时;从而根据所述至少一条目标连接在中继单元的当前工作时钟频率对应的传输延时、以及所述至少一条目标连接在中继单元的上一工作时钟频率对应的传输延时,确定出所述至少一条目标连接在中继单元的当前工作时钟频率对应的传输延时改善情况。
作为可选实现,所述至少一条目标连接在中继单元的一个工作时钟频率对应的传输延时的确定方式,可参照前文相应部分的描述,此处不再展开。
作为可选实现,确定所述至少一条目标连接在中继单元的当前工作时钟频率对应的传输延时改善情况的具体方式,可参照前文相应部分的描述,此处不再展开。
在步骤S512中,将所述当前工作时钟频率设计为中继单元的基准工作时钟频率。
当所述至少一条目标连接在当前工作时钟频率对应的传输延时改善情况达到预设条件时,本申请实施例可确认在中继单元的当前工作时钟频率下,所述至少一条目标连接的传输延时改善情况达到要求,从而可将所述当前工作时钟频率设计为中继单元的基准工作时钟频率。
本申请实施例提供的NOC设计方法,在为NOC内的中继单元设计工作时钟频率时,可从NOC的功能单元之间的连接中,确定时序违例的至少一条目标连接,该目标连接可以视为是NOC内需要设置中继单元的连接;从而本申请实施例可从中继单元初始的工作时钟频率开始,迭代的对中继单元的工作时钟频率进行至少一次分频处理,直至所述至少一条目标连接在中继单元的当前工作时钟频率对应的传输延时改善情况达到预设条件;进而将所述当前工作时钟频率设计为中继单元的基准工作时钟频率。可见,本申请实施例提供的NOC设计方法可在考虑目标连接的传输延时改善情况的前提下,从降频的工作时钟频率中,为中继单元确定基准工作时钟频率,使得NOC运行在非最高工作时钟频率时,能够为NOC中的中继单元合理、准确的设计工作时钟频率,达到减少NOC内冗余的中继单元、降低NOC的传输延时的目的。
为便于理解本申请实施例设计的中继单元与其他功能器件之间的时序关系,图6示例性的示出了时序关系示例图,可进行参照。在图6示例中,NOC的工作时钟频率为中继单元的基准工作时钟频率的2倍(相应的,NOC的工作时钟周期为中继单元的工作时钟周期的1/2),信号从NIU传输至RU(即NIU输出信号,RU输入信号),且NIU和RU之间的连接设置两级中继单元(比如第一级中继单元和第二级中继单元)。
在进一步的一些实施例中,由于本申请实施例为中继单元设计的基准工作时钟频率独立与NOC的工作时钟频率,因此中继单元的工作时钟并不同于NOC的工作时钟;基于此,本申请实施例还可在RU和NIU的边界设计信号跨时钟域处理逻辑,以保证信号时序的正确性。也就是说,本申请实施例在设计NOC时,除为中继单元合理、准确的设计基准时钟频率外,还需在中继单元与NOC的工作时钟不同的情况下,为在中继单元与NOC的工作时钟之间的信号,设计信号跨时钟域处理逻辑。需要说明的是,一个时钟域可以是一个时钟在芯片中作用的区域,跨时钟域可以理解为跨时钟作用的区域。
作为可选实现,图7示例性的示出了NOC的再一结构示例图,结合图2和图7所示,图7所示NOC中还可以包括:多个跨时钟域处理单元710,其中,跨时钟域处理单元设置于NOC的功能单元的边界。作为可选实现,跨时钟域处理单元可设置于RU和NIU的边界,例如在NIU的连接处设置跨时钟域处理单元,以及在RU的连接处设置跨时钟域处理单元。NOC中设计的跨时钟域处理单元,主要用于对中继单元和NOC的工作时钟之间的信号进行时序处理。在一个示例中,假设NOC的工作时钟频率为fc,本申请实施例设计的中继单元的工作时钟频率为fb,则跨时钟域处理单元负责信号在fc对应工作时钟以及fb对应工作时钟之间的时序处理。其中,NOC的工作时钟频率fc可以作为NIU的工作时钟频率和RU的工作时钟频率。
在一些实施例中,图8示例性的示出了跨时钟域处理单元的结构示例图,如图8所示,跨时钟域处理单元710可以包括:高频采样模块810和低频采样模块820。
高频采样模块可处理信号从中继单元传输到NOC的功能单元(例如RU或NIU)的时序问题。在NOC的工作时钟频率为中继单元的基准工作时钟频率的倍数时(例如fc是fb的倍数时),由于NOC和中继单元的工作时钟是同相,且频率是倍数关系,高频采样模块可在中继单元的工作时钟的每个信号沿(上升沿或下降沿),生成位于NOC的工作时钟域的单周期脉冲,以通过该单周期脉冲将中继单元传输的信号锁存在NOC的一个工作时钟周期,从而保证信号从中继单元传输到NOC的功能单元的时序正确性。
低频采样模块可处理信号从NOC的功能单元(例如RU或NIU)传输到中继单元的时序问题。在NOC的工作时钟频率为中继单元的基准工作时钟频率的倍数时,由于NOC和中继单元的工作时钟是同相,且频率是倍数关系,低频采样模块可将NOC传输的信号锁存在NOC的所述倍数对应的工作时钟周期,从而保证信号从中继单元传输到NOC的功能单元的时序正确性。例如,s为NOC的工作时钟频率相对于中继单元的基准工作时钟频率的倍数,比如s=fc/fb,则低频采样模块可将NOC的功能单元传输的信号锁存在NOC的s个工作时钟周期。
需要说明的是,图8所示的结构仅是跨时钟域处理单元实现信号时序处理的可选实现方式,在其他可能的实现中,跨时钟域处理单元也可在NOC的工作时钟频率不与中继单元的基准工作时钟频率呈倍数关系时,实现信号时序处理,例如,跨时钟域处理单元可采用异步FIFO(First Input First Output,先进先出)等异步处理逻辑或者定制异步处理逻辑,实现信号时序处理。
本申请实施例通过在NIU和RU的边界引入跨时钟域处理单元,并由跨时钟域处理单元处理信号从中继单元传输到NOC的功能单元的时序问题,以及信号从NOC的功能单元传输到中继单元的时序问题,可以避免跨时钟域处理单元引入额外的延时,使得本申请实施例设计的NOC能够更好的适用于要求低延时并且对带宽不敏感的控制类信息的传输场景。
出于保证NOC在各个工作时钟频率均能正常工作的目的,本申请实施例在按照NOC的最高工作时钟频率设计中继单元的工作时钟频率后,发现NOC运行在非最高工作时钟频率的情况下,中继单元的级数将存在冗余并且NOC的延时也将增大。基于此,出于NOC运行在不同的工作时钟频率时,NOC对于中继单元的级数需求存在区别,本申请实施例进行中继单元的工作时钟频率优化设计,从而实现优化NOC中的中继单元级数并降低NOC运行在非最高工作频率的延时。本申请实施例将中继单元的工作时钟与NOC的工作时钟相独立,结合物理实现的需求并且考虑NOC内的目标连接的传输延时改善情况,为NOC内的中继单元合理、准确的设计基准工作时钟频率,并且在基准工作时钟频率下,实现NOC内中继单元的级数优化,解决了NOC工作在非最高工作时钟频率时的中继单元冗余问题,降低了NOC的延时。也就是说,中继单元的时钟频率和NOC的时钟频率不再保持一致,而是可选为倍数关系,从而中继单元的时钟频率可以保持不变,不再随着NOC的时钟频率变化,进而中继单元的级数由中继单元的时钟频率决定,不再与NOC的时钟频率相关,解决了NOC工作在非最高工作时钟频率时的中继单元冗余问题。
进一步,本申请实施例在NOC与中继单元的工作时钟不同的情况下,引入跨时钟域处理单元,解决信号在中继单元和NOC的功能单元之间的时序问题,保证了信号时序的正确性。
下面对本申请实施例提供的NOC设计装置进行介绍,下文描述的NOC设计装置可以认为是,用于芯片设计的计算机设备为实现本申请实施例提供的NOC设计方法,所需设置的软件装置。例如计算机设备运行的芯片设计软件所需设置的软件装置。下文描述的内容可与上文描述内容相互对应参照。
作为可选实现,图9示例性的示出了NOC设计装置的框图。该装置可应用于计算机设备,该计算机设备可以是进行芯片设计的设计设备。参照图9,该装置可以包括:
目标连接确定模块910,用于从NOC的功能单元之间的连接中,确定时序违例的至少一条目标连接;
循环确定模块911,用于从中继单元初始的工作时钟频率开始,迭代的对中继单元的工作时钟频率进行至少一次分频处理,直至所述至少一条目标连接在中继单元的当前工作时钟频率对应的传输延时改善情况达到预设条件;
基准频率设计模块912,用于将所述当前工作时钟频率设计为中继单元的基准工作时钟频率。
在一些实施例中,所述至少一条目标连接在中继单元的当前工作时钟频率对应的传输延时改善情况,根据所述至少一条目标连接在中继单元的当前工作时钟频率对应的传输延时、以及所述至少一条目标连接在中继单元的上一工作时钟频率对应的传输延时确定;所述当前工作时钟频率由上一工作时钟频率分频得到。
在一些实施例中,一条目标连接在中继单元的一个工作时钟频率对应的传输延时,根据目标连接在中继单元的该工作时钟频率下确定的中继单元级数确定。
在一些实施例中,循环确定模块911,用于从中继单元初始的工作时钟频率开始,迭代的对中继单元的工作时钟频率进行至少一次分频处理,直至所述至少一条目标连接在中继单元的当前工作时钟频率对应的传输延时改善情况达到预设条件包括:
对中继单元的上一工作时钟频率进行分频处理,得到中继单元的当前工作时钟频率;
确定所述至少一条目标连接在中继单元的当前工作时钟频率对应的传输延时;
根据所述至少一条目标连接在当前工作时钟频率对应的传输延时,以及所述至少一条目标连接在上一工作时钟频率对应的传输延时,确定所述至少一条目标连接在中继单元的当前工作时钟频率对应的传输延时改善情况;
若所述传输延时改善情况达到预设条件,停止所述分频处理;
若所述传输延时改善情况未达到预设条件,将中继单元的当前工作时钟频率作为新的上一工作时钟频率,并返回所述对中继单元的上一工作时钟频率进行分频处理的步骤。
在一些实施例中,循环确定模块911,用于根据所述至少一条目标连接在当前工作时钟频率对应的传输延时,以及所述至少一条目标连接在上一工作时钟频率对应的传输延时,确定所述至少一条目标连接在中继单元的当前工作时钟频率对应的传输延时改善情况包括:
将所述至少一条目标连接在当前工作时钟频率对应的传输延时,除以所述至少一条目标连接在上一工作时钟频率对应的传输延时,得到相除结果;
确定预设的第一值与所述相除结果的差值,取所述差值的绝对值,得到所述至少一条目标连接在中继单元的当前工作时钟频率对应的传输延时改善情况。
在一些实施例中,所述传输延时改善情况达到预设条件包括:所述传输延时改善情况不大于预设的阈值。
在一些实施例中,循环确定模块911,用于确定所述至少一条目标连接在中继单元的当前工作时钟频率对应的传输延时包括:
根据中继单元的当前工作时钟频率,确定各条目标连接设置的中继单元级数;
根据各条目标连接设置的中继单元级数,分别确定各条目标连接在所述当前工作时钟频率对应的传输延时;
根据各条目标连接在所述当前工作时钟频率对应的传输延时,确定所述至少一条目标连接在中继单元的当前工作时钟频率对应的传输延时。
在一些实施例中,循环确定模块911,用于根据中继单元的当前工作时钟频率,确定各条目标连接设置的中继单元级数包括:
针对任一条目标连接,确定所述目标连接的总信号线传输延时,并根据中继单元的当前工作时钟频率,确定所述目标连接中的一级中继单元覆盖的单位信号线传输延时;
根据所述目标连接的总信号线传输延时,以及所述目标连接中的一级中继单元覆盖的单位信号线传输延时,确定所述目标连接设置的中继单元级数。
在一些实施例中,循环确定模块911,用于根据中继单元的当前工作时钟频率,确定所述目标连接中的一级中继单元覆盖的单位信号线传输延时包括:
根据中继单元的当前工作时钟频率对应的工作时钟周期、所述目标连接的逻辑门传输延时、时钟信号传输延时以及时钟抖动,确定所述目标连接中的一级中继单元覆盖的单位信号线传输延时。
在一些实施例中,循环确定模块911,用于根据各条目标连接设置的中继单元级数,分别确定各条目标连接在所述当前工作时钟频率对应的传输延时包括:
针对任一条目标连接,根据中继单元的当前工作时钟频率对应的工作时钟周期,以及所述目标连接设置的中继单元级数,确定所述目标连接在所述当前工作时钟频率对应的传输延时。
在一些实施例中,所述上一工作时钟频率包括:中继单元初始的工作时钟频率,或者,上一分频处理得到的工作时钟频率。
在进一步的一些实施例中,所述装置还可用于:确定NOC支持的多个工作时钟频率,将所述多个工作时钟频率的最大公约数,作为中继单元初始的工作时钟频率。
在进一步的一些实施例中,所述装置还可用于:在NOC的功能单元的边界设计跨时钟域处理单元,以通过所述跨时钟域处理单元对中继单元和NOC的工作时钟之间的信号进行时序处理,其中,中继单元和NOC的工作时钟不同。
在一些实施例中,所述NOC的工作时钟频率为中继单元的基准工作时钟频率的倍数;若信号从中继单元传输到NOC的功能单元,则跨时钟域处理单元在中继单元的工作时钟的每个信号沿,生成位于NOC的工作时钟域的单周期脉冲,以通过所述单周期脉冲将中继单元传输的信号锁存在NOC的一个工作时钟周期;若信号从NOC的功能单元传输到中继单元,则跨时钟域处理单元将信号锁存在NOC的所述倍数对应的工作时钟周期。
本申请实施例还提供一种用于芯片设计的计算机设备,作为可选实现,图10示例性的示出了计算机设备的可选框图,参照图10,该计算机设备可以包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4。
在本申请实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信。
可选的,通信接口2可以为用于进行网络通信的通信模块的接口。
可选的,处理器1可能是CPU(中央处理器),GPU(Graphics Processing Unit,图形处理器),NPU(嵌入式神经网络处理器),FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列),TPU(张量处理单元),AI芯片,特定集成电路ASIC(Application SpecificIntegrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路等。
存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
其中,存储器3存储一条或多条计算机可执行指令,处理器1调用所述一条或多条计算机可执行指令,以执行本申请实施例提供的NOC设计方法。
本申请实施例还提供一种存储介质,该存储介质存储一条或多条计算机可执行指令,该一条或多条计算机可执行指令被执行时实现如本申请实施例提供的NOC设计方法。
基于本申请实施例提供的NOC设计方法,本申请实施例还提供一种NOC,该NOC的结构可以结合图2所示,包括:多个NIU、多个RU和多个中继单元;所述中继单元设置于NIU和RU之间的目标连接,以及RU和RU之间的目标连接;目标连接为存在时序违例的连接;
其中,所述中继单元的基准工作时钟频率根据本申请实施例提供的NOC设计方法进行设计,并且各条目标连接中设置的中继单元级数根据所述基准工作时钟频率确定。
在进一步的一些实施例中,结合图7所示,本申请实施例提供的NOC还可以包括:多个跨时钟域处理单元;所述跨时钟域处理单元设置于NIU的边界和RU的边界,用于对中继单元和NOC的工作时钟之间的信号进行时序处理,其中,中继单元和NOC的工作时钟不同。
在进一步的一些实施例中,所述NOC的工作时钟频率为中继单元的基准工作时钟频率的倍数。结合图8所示,所述跨时钟域处理单元可以包括:高频采样模块和低频采样模块;
所述高频采样模块,用于若信号从中继单元传输到NIU或RU,则在中继单元的工作时钟的每个信号沿,生成位于NOC的工作时钟域的单周期脉冲,以通过所述单周期脉冲将中继单元传输的信号锁存在NOC的一个工作时钟周期;
所述低频采样模块,用于若信号从NIU或RU传输到中继单元,将信号锁存在NOC的所述倍数对应的工作时钟周期。
本申请实施例还提供一种芯片,例如SOC芯片,该芯片可以包括本申请实施例提供的NOC。
本申请实施例还提供一种电子设备,例如服务器或者终端设备,该电子设备可以包括本申请实施例提供的芯片。
上文描述了本申请实施例提供的多个实施例方案,各实施例方案介绍的各可选方式可在不冲突的情况下相互结合、交叉引用,从而延伸出多种可能的实施例方案,这些均可认为是本申请实施例披露、公开的实施例方案。
虽然本申请实施例披露如上,但本申请并非限定于此。任何本领域技术人员,在不脱离本申请的精神和范围内,均可作各种更动与修改,因此本申请的保护范围应当以权利要求所限定的范围为准。
Claims (24)
1.一种NOC设计方法,其特征在于,包括:
从片上网络NOC的功能单元之间的连接中,确定时序违例的至少一条目标连接;
从中继单元初始的工作时钟频率开始,迭代的对中继单元的工作时钟频率进行至少一次分频处理,直至所述至少一条目标连接在中继单元的当前工作时钟频率对应的传输延时改善情况达到预设条件;
将所述当前工作时钟频率设计为中继单元的基准工作时钟频率。
2.根据权利要求1所述的方法,其特征在于,所述至少一条目标连接在中继单元的当前工作时钟频率对应的传输延时改善情况,根据所述至少一条目标连接在中继单元的当前工作时钟频率对应的传输延时、以及所述至少一条目标连接在中继单元的上一工作时钟频率对应的传输延时确定;所述当前工作时钟频率由上一工作时钟频率分频得到。
3.根据权利要求2所述的方法,其特征在于,一条目标连接在中继单元的一个工作时钟频率对应的传输延时,根据目标连接在中继单元的该工作时钟频率下确定的中继单元级数确定。
4.根据权利要求2所述的方法,其特征在于,所述从中继单元初始的工作时钟频率开始,迭代的对中继单元的工作时钟频率进行至少一次分频处理,直至所述至少一条目标连接在中继单元的当前工作时钟频率对应的传输延时改善情况达到预设条件包括:
对中继单元的上一工作时钟频率进行分频处理,得到中继单元的当前工作时钟频率;
确定所述至少一条目标连接在中继单元的当前工作时钟频率对应的传输延时;
根据所述至少一条目标连接在当前工作时钟频率对应的传输延时,以及所述至少一条目标连接在上一工作时钟频率对应的传输延时,确定所述至少一条目标连接在中继单元的当前工作时钟频率对应的传输延时改善情况;
若所述传输延时改善情况达到预设条件,停止所述分频处理;
若所述传输延时改善情况未达到预设条件,将中继单元的当前工作时钟频率作为新的上一工作时钟频率,并返回所述对中继单元的上一工作时钟频率进行分频处理的步骤。
5.根据权利要求4所述的方法,其特征在于,所述根据所述至少一条目标连接在当前工作时钟频率对应的传输延时,以及所述至少一条目标连接在上一工作时钟频率对应的传输延时,确定所述至少一条目标连接在中继单元的当前工作时钟频率对应的传输延时改善情况包括:
将所述至少一条目标连接在当前工作时钟频率对应的传输延时,除以所述至少一条目标连接在上一工作时钟频率对应的传输延时,得到相除结果;
确定预设的第一值与所述相除结果的差值,取所述差值的绝对值,得到所述至少一条目标连接在中继单元的当前工作时钟频率对应的传输延时改善情况。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述传输延时改善情况达到预设条件包括:所述传输延时改善情况不大于预设的阈值。
7.根据权利要求4所述的方法,其特征在于,所述确定所述至少一条目标连接在中继单元的当前工作时钟频率对应的传输延时包括:
根据中继单元的当前工作时钟频率,确定各条目标连接设置的中继单元级数;
根据各条目标连接设置的中继单元级数,分别确定各条目标连接在所述当前工作时钟频率对应的传输延时;
根据各条目标连接在所述当前工作时钟频率对应的传输延时,确定所述至少一条目标连接在中继单元的当前工作时钟频率对应的传输延时。
8.根据权利要求7所述的方法,其特征在于,所述根据中继单元的当前工作时钟频率,确定各条目标连接设置的中继单元级数包括:
针对任一条目标连接,确定所述目标连接的总信号线传输延时,并根据中继单元的当前工作时钟频率,确定所述目标连接中的一级中继单元覆盖的单位信号线传输延时;
根据所述目标连接的总信号线传输延时,以及所述目标连接中的一级中继单元覆盖的单位信号线传输延时,确定所述目标连接设置的中继单元级数。
9.根据权利要求8所述的方法,其特征在于,所述根据中继单元的当前工作时钟频率,确定所述目标连接中的一级中继单元覆盖的单位信号线传输延时包括:
根据中继单元的当前工作时钟频率对应的工作时钟周期、所述目标连接的逻辑门传输延时、时钟信号传输延时以及时钟抖动,确定所述目标连接中的一级中继单元覆盖的单位信号线传输延时。
10.根据权利要求7所述的方法,其特征在于,所述根据各条目标连接设置的中继单元级数,分别确定各条目标连接在所述当前工作时钟频率对应的传输延时包括:
针对任一条目标连接,根据中继单元的当前工作时钟频率对应的工作时钟周期,以及所述目标连接设置的中继单元级数,确定所述目标连接在所述当前工作时钟频率对应的传输延时。
11.根据权利要求2-3任一项所述的方法,其特征在于,所述上一工作时钟频率包括:中继单元初始的工作时钟频率,或者,上一分频处理得到的工作时钟频率。
12.根据权利要求1所述的方法,其特征在于,还包括:
确定NOC支持的多个工作时钟频率,将所述多个工作时钟频率的最大公约数,作为中继单元初始的工作时钟频率。
13.根据权利要求1所述的方法,其特征在于,还包括:在NOC的功能单元的边界设计跨时钟域处理单元,以通过所述跨时钟域处理单元对中继单元和NOC的工作时钟之间的信号进行时序处理,其中,中继单元和NOC的工作时钟不同。
14.根据权利要求13所述的方法,其特征在于,所述NOC的工作时钟频率为中继单元的基准工作时钟频率的倍数;所述通过所述跨时钟域处理单元对中继单元和NOC的工作时钟之间的信号进行时序处理包括:
若信号从中继单元传输到NOC的功能单元,则在中继单元的工作时钟的每个信号沿,生成位于NOC的工作时钟域的单周期脉冲,以通过所述单周期脉冲将中继单元传输的信号锁存在NOC的一个工作时钟周期;
若信号从NOC的功能单元传输到中继单元,将信号锁存在NOC的所述倍数对应的工作时钟周期。
15.一种NOC设计装置,其特征在于,包括:
目标连接确定模块,用于从NOC的功能单元之间的连接中,确定时序违例的至少一条目标连接;
循环确定模块,用于从中继单元初始的工作时钟频率开始,迭代的对中继单元的工作时钟频率进行至少一次分频处理,直至所述至少一条目标连接在中继单元的当前工作时钟频率对应的传输延时改善情况达到预设条件;
基准频率设计模块,用于将所述当前工作时钟频率设计为中继单元的基准工作时钟频率。
16.根据权利要求15所述的装置,其特征在于,所述循环确定模块,用于从中继单元初始的工作时钟频率开始,迭代的对中继单元的工作时钟频率进行至少一次分频处理,直至所述至少一条目标连接在中继单元的当前工作时钟频率对应的传输延时改善情况达到预设条件包括:
对中继单元的上一工作时钟频率进行分频处理,得到中继单元的当前工作时钟频率;
确定所述至少一条目标连接在中继单元的当前工作时钟频率对应的传输延时;
根据所述至少一条目标连接在当前工作时钟频率对应的传输延时,以及所述至少一条目标连接在上一工作时钟频率对应的传输延时,确定所述至少一条目标连接在中继单元的当前工作时钟频率对应的传输延时改善情况;
若所述传输延时改善情况达到预设条件,停止所述分频处理;
若所述传输延时改善情况未达到预设条件,将中继单元的当前工作时钟频率作为新的上一工作时钟频率,并返回所述对中继单元的上一工作时钟频率进行分频处理的步骤。
17.根据权利要求15所述的装置,其特征在于,所述装置还用于:
在NOC的功能单元的边界设计跨时钟域处理单元,以通过所述跨时钟域处理单元对中继单元和NOC的工作时钟之间的信号进行时序处理,其中,中继单元和NOC的工作时钟不同。
18.一种计算机设备,其特征在于,包括至少一个存储器和至少一个处理器,所述存储器存储一条或多条计算机可执行指令,所述处理器调用所述一条或多条计算机可执行指令,以执行如权利要求1-14任一项所述的NOC设计方法。
19.一种存储介质,其特征在于,所述存储介质存储一条或多条计算机可执行指令,所述一条或多条计算机可执行指令被执行时实现如权利要求1-14任一项所述的NOC设计方法。
20.一种片上网络,其特征在于,包括:多个网络接口单元NIU、多个路由单元RU和多个中继单元;所述中继单元设置于NIU和RU之间的目标连接,以及RU和RU之间的目标连接;所述目标连接为存在时序违例的连接;
其中,所述中继单元的基准工作时钟频率根据权利要求1-14任一项所述的NOC设计方法进行设计,并且各条目标连接中设置的中继单元级数根据所述基准工作时钟频率确定。
21.根据权利要求20所述的片上网络,其特征在于,还包括:多个跨时钟域处理单元;所述跨时钟域处理单元设置于NIU的边界和RU的边界;所述跨时钟域处理单元,用于对中继单元和NOC的工作时钟之间的信号进行时序处理,其中,中继单元和NOC的工作时钟不同。
22.根据权利要求21所述的片上网络,其特征在于,所述NOC的工作时钟频率为中继单元的基准工作时钟频率的倍数;所述跨时钟域处理单元包括:高频采样模块和低频采样模块;
所述高频采样模块,用于若信号从中继单元传输到NIU或RU,则在中继单元的工作时钟的每个信号沿,生成位于NOC的工作时钟域的单周期脉冲,以通过所述单周期脉冲将中继单元传输的信号锁存在NOC的一个工作时钟周期;
所述低频采样模块,用于若信号从NIU或RU传输到中继单元,将信号锁存在NOC的所述倍数对应的工作时钟周期。
23.一种芯片,其特征在于,包括如权利要求20-22任一项所述的片上网络。
24.一种电子设备,其特征在于,包括如权利要求23所述的芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210138128.9A CN114519318B (zh) | 2022-02-15 | 2022-02-15 | Noc设计方法、装置、相关器件和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210138128.9A CN114519318B (zh) | 2022-02-15 | 2022-02-15 | Noc设计方法、装置、相关器件和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114519318A CN114519318A (zh) | 2022-05-20 |
CN114519318B true CN114519318B (zh) | 2024-04-09 |
Family
ID=81597596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210138128.9A Active CN114519318B (zh) | 2022-02-15 | 2022-02-15 | Noc设计方法、装置、相关器件和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114519318B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101000510A (zh) * | 2006-01-11 | 2007-07-18 | 松下电器产业株式会社 | 时钟发生电路 |
CN112000173A (zh) * | 2020-08-20 | 2020-11-27 | 天津飞腾信息技术有限公司 | 一种检查跨时钟域多位信号时序违反的方法及系统 |
CN112394807A (zh) * | 2020-11-17 | 2021-02-23 | 海光信息技术股份有限公司 | 一种降低片上网络功耗的方法、装置、cpu芯片及服务器 |
CN113221490A (zh) * | 2021-04-20 | 2021-08-06 | 长沙海格北斗信息技术有限公司 | 一种芯片间可配置延时链的数据采样方法与系统 |
CN113806276A (zh) * | 2021-08-31 | 2021-12-17 | 上海美仁半导体有限公司 | 时钟生成方法、装置、芯片及电子设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100922965B1 (ko) * | 2006-10-10 | 2009-10-22 | 삼성전자주식회사 | 네트워크온칩 장치와 이를 위한 동작 주파수 제어 방법 |
US20100005214A1 (en) * | 2008-07-01 | 2010-01-07 | International Business Machines Corporation | Enhancing bus efficiency in a memory system |
-
2022
- 2022-02-15 CN CN202210138128.9A patent/CN114519318B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101000510A (zh) * | 2006-01-11 | 2007-07-18 | 松下电器产业株式会社 | 时钟发生电路 |
CN112000173A (zh) * | 2020-08-20 | 2020-11-27 | 天津飞腾信息技术有限公司 | 一种检查跨时钟域多位信号时序违反的方法及系统 |
CN112394807A (zh) * | 2020-11-17 | 2021-02-23 | 海光信息技术股份有限公司 | 一种降低片上网络功耗的方法、装置、cpu芯片及服务器 |
CN113221490A (zh) * | 2021-04-20 | 2021-08-06 | 长沙海格北斗信息技术有限公司 | 一种芯片间可配置延时链的数据采样方法与系统 |
CN113806276A (zh) * | 2021-08-31 | 2021-12-17 | 上海美仁半导体有限公司 | 时钟生成方法、装置、芯片及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114519318A (zh) | 2022-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0666541B1 (en) | Apparatus and method for operating chips synchronously at speeds exceeding the bus speed | |
US7694242B1 (en) | System and method of replacing flip-flops with pulsed latches in circuit designs | |
US7949907B2 (en) | Method and device for data communication | |
US20160048626A1 (en) | Clock-Tree Transformation in High-Speed ASIC Implementation | |
US8595683B1 (en) | Generating user clocks for a prototyping environment | |
JP2007336003A (ja) | クロック分配回路、半導体集積回路、クロック分配回路の形成方法及びそのプログラム | |
US7284143B2 (en) | System and method for reducing clock skew | |
KR20060018845A (ko) | 상이한 클럭 도메인을 통한 데이터 신호 전송 방법 | |
US20090271747A1 (en) | Logic circuit designing device, logic circuit designing method and logic circuit designing program for asynchronous logic circuit | |
US20100253409A1 (en) | Clock generation system and clock dividing module | |
US8645117B2 (en) | Clock simulation device and methods thereof | |
US20240063801A1 (en) | Integrated circuit, method for synchronizing clocks therefor and electronic device | |
US6711089B2 (en) | Method and apparatus for performing signal synchronization | |
US6518788B2 (en) | Logic circuit design method and logic circuit | |
CN114519318B (zh) | Noc设计方法、装置、相关器件和设备 | |
US6738963B2 (en) | Dynamically reconfiguring clock domains on a chip | |
US20160161551A1 (en) | Automated method for analyzing a board having a plurality of fpga components | |
US7676685B2 (en) | Method for improving the data transfer in semi synchronous clock domains integrated circuits at any possible m/n clock ratio | |
US8984456B2 (en) | Macro timing analysis device, macro boundary path timing analysis method and macro boundary path timing analysis program | |
CN113486613B (zh) | 数据链路的提取方法、装置、电子设备和存储介质 | |
JPH10133768A (ja) | クロックシステム、半導体装置、半導体装置のテスト方法、及びcad装置 | |
JPH04227576A (ja) | 順序論理回路及びディジタル論理回路の同期操作提供方法 | |
JP2003216271A (ja) | 半導体集積回路 | |
JP2013036960A (ja) | 遅延スキャンテスト方法、半導体装置及び半導体装置の設計方法 | |
US7170817B2 (en) | Access of two synchronous busses with asynchronous clocks to a synchronous single port ram |
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 |