片上网络的增量拓扑修改制造技术

技术编号:34993352 阅读:11 留言:0更新日期:2022-09-21 14:40
对基于初始要求集的初始片上网络(NoC)拓扑进行增量修改以满足不同要求集。每次增量修改包括:最小化对初始拓扑中的现有组件的改变次数。最小化改变包括:保留初始NoC拓扑中的现有组件的名称。有组件的名称。有组件的名称。

【技术实现步骤摘要】
片上网络的增量拓扑修改


[0001]本技术属于系统设计领域,并且更具体地涉及用于生成片上网络(NoC)描述的拓扑合成。

技术介绍

[0002]多处理器系统已经在片上系统(SoC)中实现,该SoC通过用于处理SoC的知识产权(IP)单元之间的通信的特殊网络而进行通信。特殊网络的一个示例是片上网络(NoC)。典型的SoC包括源或发起方IP和汇(“sink”)或目标IP的实例。事务使用行业标准协议而从发起方被发送到一个或多个目标。通过使用地址来选择目标,连接到NoC的发起方向目标发送请求事务。NoC解码地址并且将请求从发起方传输到目标。目标处理事务并且发送响应事务,该响应事务由NoC传输回发起方。
[0003]通常,在设计期间,合成工具基于要求集来生成NoC描述。结果已经通过ASIC设计流程而被处理,并且执行了逻辑合成和布局布线步骤。这些步骤通常需要很长时间(例如,数天)。
[0004]在第一代之后,决定从SoC中移除组件,这会导致根据对该组要求集的影响而对布局规划和连通性进行轻微修改。生成NoC拓扑的合成工具将利用所更新的要求再次运行。与第一次运行相比,该工具给出完全不同的结果。因此,关于逻辑合成和布局布线的所有先前工作都需要从头开始,即使修改非常小。这是非常昂贵的。
[0005]当设计包含一个或多个NoC的大型SoC时,设计方可能必须迭代地执行NoC拓扑的配置,随着设计的进展进行很多小的改变。改变的示例包括:添加或移除连接到NoC的组件;改变NoC中业务的源与汇之间的逻辑连通性;改变导致针对NoC实现的新的物理约束的布局规划的部分,诸如新的阻塞或新的空闲空间,以将构成NoC的逻辑元素放置在芯片上;以及改变所需要的性能,例如修改源与汇之间所需要的最小带宽,或改变某些元素的时钟频率,或改变某些元素的路径宽度。
[0006]当需要做出这样的改变时,这些改变对NoC拓扑有影响,使得该NoC拓扑不再满足新的要求。修改现有NoC拓扑以适应变化或新的需求/要求。在这样做的同时,将尝试最小化NoC中的改变次数,以保留实现,使得不受改变影响的部分保持被最小修改。例如,将尝试保留现有逻辑合成和/或布局布线的实现。这项任务很困难并且容易出错。
[0007]需要一种工具来将现有NoC拓扑和所更新的要求作为输入以生成所修改的NoC拓扑,该拓扑满足所更新的要求。

技术实现思路

[0008]根据本文中的各种实施例和方面,系统、方法和计算机可读介质在存在更新/新要求时,将现有NoC拓扑作为输入,并且生成满足所更新的/新的要求的所更新的NoC拓扑,同时最小化由增量合成运行导致的延迟和错误,诸如两次连续合成运行。
附图说明
[0009]图1示出了根据本专利技术的各个方面和实施例的、包括各种元素的片上网络(NoC)的逻辑视图;
[0010]图2示出了根据本专利技术的各个方面和实施例的用于修改现有NoC拓扑以满足所更新的要求的过程;
[0011]图3示出了根据本专利技术的各个方面和实施例的由拓扑修改工具使用的、用于更新NoC拓扑的过程;
[0012]图4示出了根据本专利技术的各个方面和实施例的用于更新NoC拓扑的过程;
[0013]图5示出了根据本专利技术的各个方面和实施例的图4的过程的步骤;
[0014]图6示出了根据本专利技术的各个方面和实施例的图4的过程的步骤;
[0015]图7示出了根据本专利技术的各个方面和实施例的图4的过程的步骤;以及
[0016]图8示出了根据本专利技术的各个方面和实施例的图4的过程的步骤。
具体实施方式
[0017]下面描述本技术的各种示例。通常,示例可以以任何组合使用所描述的方面。本文中引用原理、方面和实施例及其具体示例的所有陈述旨在涵盖其结构和功能等效物两者。此外,这样的等效物旨在包括当前已知的等效物和未来开发的等效物两者,即,无论结构如何,所开发的用于执行相同功能的任何元素。
[0018]注意,如本文中使用的,单数形式“一”、“一个”和“该”包括复数指示物,除非上下文另有明确规定。在整个说明书中对“一个实施例”、“实施例”、“某个实施例”、“各种实施例”或类似语言的引用表示结合该实施例所描述的特定方面、特征、结构或特性被包括在至少一个实施例中。
[0019]如本文中使用的,“源”和“发起方”指代相似的知识产权(IP)模块或单元,并且这些术语在该范围和实施例内可互换使用。如本文中使用的,“汇”和“目标”指代相似的IP模块或单元,并且这些术语在该范围和实施例内可互换使用。如本文中使用的,事务可以是请求事务或响应事务。请求事务的示例包括写入请求和读取请求。
[0020]因此,短语“在一个实施例中”、“在至少一个实施例中”、“在实施例中”、“在某些实施例中”和贯穿本说明书的类似语言的出现可以但不必然都指代相同的实施例或类似的实施例。此外,本文中描述的方面和实施例仅仅是示例性的,而不应当被解释为对本领域普通技术人员所理解的本专利技术的范围或精神的限制。本文中引用原理、方面和实施例的所有陈述旨在涵盖其结构和功能等效物两者。意图在于,这样的等效物包括当前已知的等效物和将来开发的等效物两者。此外,就在具体实施方式和权利要求中使用的术语“包括”、“包含”、“具有”、“有”、“利用”或其变型而言,这样的术语旨在以与术语“包括”类似的方式是包括性的。
[0021]现在参考图1,示出了片上网络(NoC)100的示例。NoC 100使用所组装的基本网络功能,诸如网络接口单元(NIU)102、104、106、108、110、112、130、132和134、交换机114、116、118、120和122、适配器126和缓冲器124。NoC 100的基础网络功能可以通常基于分组的传输来使用特定于NoC 100的内部传输协议以彼此通信。NIU 102、104、106、108、110、112、130、132和134将由附接的片上系统(SoC)单元(未示出)所使用的协议转换为在NoC 100内部所
使用的传输协议。交换机114、116、118、120和122在源与目标目的地之间路由业务流。缓冲器124用于插入流水线元素以跨越长距离,或存储分组以处理快速发送方与慢速接收方之间的速率适配,反之亦然。适配器126处理数据宽度、时钟与电源域之间的各种转换。NoC 100可以在具有数字逻辑的SoC中实现,诸如逻辑门和时序元素(触发器)。
[0022]现在参考图2,示出了用于修改NoC的现有拓扑的过程。提供NoC的初始要求(N)200作为输入。基于初始要求(N)200,提供或创建满足这些初始要求200的对应NoC拓扑202或204。在一些实施例中,NoC拓扑202是手工创建的,诸如由设计方。在一些实施例中,NoC拓扑204是使用NoC拓扑合成模块或工具而被自动创建的。初始要求200和对应NoC拓扑202或204两者都在计算机可读表示208(诸如,计算机文件或内存数据结构)中描述。
[0023]初始要求200被更新(例如,所更新的、新的和/或所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种包括代码的非暂态计算机可读介质,所述代码在被执行时使一个或多个处理器:接收基于初始要求集的初始片上网络NoC拓扑;以及对所述初始NoC拓扑进行增量修改,以满足不同要求集,每次增量修改包括:最小化对所述初始NoC拓扑中的现有组件的改变次数,其中最小化所述改变包括:保留所述初始NoC拓扑中的所述现有组件的名称。2.根据权利要求1所述的介质,其中不同要求是所述初始要求的更新。3.根据权利要求1所述的介质,其中最小化所述改变次数包括:保留现有网络结构。4.根据权利要求1所述的介质,其中所述现有组件包括网络组件和所述网络组件之间的连接。5.根据权利要求1所述的介质,其中所述增量修改包括:消除不再需要的组件和/或连接。6.根据权利要求1所述的介质,其中所述增量修改包括:添加丢失的组件,并且保留所述现有组件的所述名称包括:使用节点聚类,以将所添加的所述组件与现有组件聚类,并且由现有名称来引用集群。7.根据权利要求6所述的介质,其中保留所述现有组件的所述名称还包括:使用边缘聚类来组合连接。8.根据权利要求1所述的介质,其中修改所述初始NoC拓扑包括:将现有组件移动到合法位置,并且最小化连接长度。9.根据权利要求1所述的介质,其中修改所述初始NoC拓扑包括:更新现有组件的时序。10.一种计算机实现的方法,包括:接收基于初始要求集的初始片上网络NoC拓扑;以及对所述初始NoC拓扑进行增量修改,以满足不同要求集,每次增量修改最小化对所述初始NoC拓扑中的现有组件的改变,并且保留所述初始NoC拓扑中的所述现有组件的名称。11.根据权利要求10所述的方法,其中最...

【专利技术属性】
技术研发人员:B
申请(专利权)人:阿特里斯公司
类型:发明
国别省市:

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

1