CN113642275A - 用于无死锁变换的片上网络的综合的系统和方法 - Google Patents
用于无死锁变换的片上网络的综合的系统和方法 Download PDFInfo
- Publication number
- CN113642275A CN113642275A CN202110500687.5A CN202110500687A CN113642275A CN 113642275 A CN113642275 A CN 113642275A CN 202110500687 A CN202110500687 A CN 202110500687A CN 113642275 A CN113642275 A CN 113642275A
- Authority
- CN
- China
- Prior art keywords
- nodes
- network
- cluster
- edge
- edges
- 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
- 238000000034 method Methods 0.000 title claims abstract description 78
- 230000009466 transformation Effects 0.000 title claims abstract description 22
- 230000010354 integration Effects 0.000 title description 6
- 238000000844 transformation Methods 0.000 title description 6
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 12
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 12
- 230000008569 process Effects 0.000 description 51
- 238000013507 mapping Methods 0.000 description 27
- 230000008901 benefit Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 6
- 238000005457 optimization Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000007717 exclusion Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 239000003999 initiator Substances 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 238000012804 iterative process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011960 computer-aided design Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000007728 cost analysis Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/109—Integrated on microchip, e.g. switch-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/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/17—Interprocessor communication using an input/output type connection, e.g. channel, I/O port
-
- 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/46—Cluster building
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/24—Connectivity information management, e.g. connectivity discovery or connectivity update
- H04W40/32—Connectivity information management, e.g. connectivity discovery or connectivity update for defining a routing cluster membership
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
-
- 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)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Evolutionary Computation (AREA)
- Environmental & Geological Engineering (AREA)
- Architecture (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本公开的实施例涉及用于无死锁变换的片上网络的综合的系统和方法。公开了用于网络(诸如片上网络(NoC))的变换的系统和方法。该系统向节点和边应用集群的方法。集群变换网络并产生遵守输入网络的布图规划和规范的约束的无死锁并且(近)最优的网络。
Description
技术领域
本技术处于计算机系统设计的领域,并且更具体地,涉及拓扑综合以生成无死锁片上网络(NoC)。
背景技术
在片上系统(SoC)中所实现的多处理器系统通过网络(诸如片上网络(NoC))通信。知识产权(IP)块或元件或核被使用在芯片设计中。SoC包括知识产权(IP)块的实例。一些IP块是主设备(master)。一些IP块是从设备(slave)。主设备和从设备通过网络(诸如NoC)通信。
使用许多工业标准协议中的任何工业标准协议,以分组的形式的事务从主设备被发送到一个或多个从设备。连接到NoC的主设备向从设备发送请求事务,使用地址来选择从设备。NoC将地址解码,并且从主设备向从设备输送请求。从设备处置事务并且发送响应事务,该响应事务由NoC输送回到主设备。
处置在所有主设备与其对应从设备之间的所有通信的NoC的设计包括建立针对布图规划内的NoC的连接性映射。挑战在于连接性映射必须考虑布图规划中的IP块的位置,其表示布图规划中的物理约束。另外,在NoC的情况下,连接性映射应当避免创建循环。循环可以引起不期望的死锁状态,在该死锁状态中沿着循环的节点处于循环的“等待”中并且防止彼此访问资源和传输消息。因此,所需要的是用于网络的综合和变换的系统和方法。过程应当最小化资源使用以鉴于物理约束来产生近最优并且无循环的网络。该系统和方法应当将给定网络变换成在功能上等效的另一网络,该另一网络具有更少的线(诸如更少链路)和更少的逻辑元件(诸如更少的交换机)。另外,变换必须遵守网络的连接性约束并且不引入可能导致死锁的任何新循环。
发明内容
根据本发明的各种实施例和方面,公开了生成近最优网络(诸如片上网络(NoC))同时维持网络连接性约束的系统和方法。根据本发明的各个方面和实施例,该系统向节点和边应用集群的方法应用。集群变换网络并且产生遵守输入网络的布图规划和规范的物理约束的无死锁并且(近)最优的网络。
本发明的一个优点包括优化网络并且减少资源使用和拥塞。另一优点包括使用死锁感知过程用于减少网络中的线路(边)和交换机(节点)。另一优点包括在与物理路线图方法的使用结合时输出最优结果。另一优点包括生成近最优或最优的网络,该近最优或最优网络维持所生成的网络的无循环构建,同时每个变换向更好地被布线的线路结果收敛。另一优点包括系统将实现应用到不规则网络和包括环、网格和torii的规则网络的任何结构的能力。另一优点包括当系统以高运行时效率实现过程时快速的吞吐量。另一优点包括在由系统执行的综合过程期间处置增量变化的效力。
附图说明
图1示出了根据本发明的各个方面和实施例的用于网络的综合和变换以生成新网络的过程。
图2示出了根据本发明的各个方面和实施例的以具有物理约束的布图规划所实现的网络,该网络包括三个源节点和十三个汇聚节点。
图3示出了根据本发明的各个方面和实施例的针对图2的网络的连接性映射,该连接性映射包括节点和边。
图4示出了包括三个主干的输入网络的映射,使用暴力集群,该网络被变换成由新映射表示的新网络。
图5示出了根据本发明的各个方面和实施例的包括三个主干的输入网络的映射,该网络被变换和综合以生成由新映射表示的新网络。
图6示出了根据本发明的各个方面和实施例的图5的新网络的映射,该新网络被变换以生成由新映射表示的另一新网络。
图7示出了根据本发明的各个方面和实施例的图6的新网络的映射,该新网络被变换以生成由新映射表示的另一新网络。
图8示出了根据本发明的各个方面和实施例的在没有边集群被实现以避免循环的情况下的图7的新网络的映射,该新网络没有边集群被实现以便避免循环。
图9示出了根据本发明的各个方面和实施例的图8的网络的映射,该网络被变换以生成由新映射表示的另一新网络。
图10A示出了根据本发明的各个方面和实施例的用于实现边集群分群(grouping)的流过程。
图10B示出了根据本发明的各个方面和实施例的用于实现节点集群分群的流过程。
图11示出了根据本发明的各个方面和实施例的具有潜在节点集群的边被集群的(edge clustered)网络的映射。
图12示出了根据本发明的各个方面和实施例的用于折叠潜在节点集群的步骤。
图13示出了根据本发明的各个方面和实施例的输入网络,该输入网络具有能够被折叠的潜在节点集群以及由于网络约束而不能够被折叠的潜在节点集群。
图14示出了根据本发明的各个方面和实施例的在潜在节点集群被折叠之后的图13的输入网络。
具体实施方式
下文描述了说明本发明的各个方面和实施例的本技术的各种示例。通常,示例可以以任何组合来使用所描述的方面。本文中叙述原理、方面和实施例以及其具体示例的所有陈述旨在涵盖其结构性和功能性等效体两者。另外,旨在将这样的等效体包括当前已知的等价等效体和未来所开发的等价体两者,即,所开发的不管结构如何但执行相同功能的任何元件。
应指出,如本文中所使用的,单数形式“一”、“一个”和“该”包括复数指代,除非上下文清楚地另行指示。在整个本说明书中对“一个方面”、“方面”、“某些方面”、“各个方面”或类似语言的引用意味着结合任何实施例所描述的特定方面、特征、结构或特性被包括于本发明的至少一个实施例中。
短语“在一个实施例中”、“在至少一个实施例中”、“在实施例中”、“在某些实施例中”以及类似语言在整个本说明书中的出现可以但不必全部指代相同实施例或类似实施例。另外,本文中所描述的本发明的方面和实施例仅是示例性的,并且不应当被解释为对如由本领域普通技术人员理解的本发明的范围或精神的限制。所公开的本发明被有效地被制作或被使用在包括本文中所描述的任何新颖方面的任何实施例中。本文中叙述本发明的方面和实施例的所有陈述旨在涵盖其结构性和功能性等效体两者。旨在将这样的等效体包括当前已知的等效体和未来开发的等效体两者。
如本文中所使用的,“主设备”和“发起者”是指类似的知识产权(IP)块、单元或模块。术语“主设备”和“发起者”在本发明的范围和实施例内可互换地使用。如本文中所使用的,“从设备”和“标靶”是指类似的IP块;术语“从设备”和“主设备”在本发明的范围和实施例内可互换地使用。如本文中所使用的,事务可以是请求事务或响应事务。请求事务的示例包括写请求和读请求。
如本文中所使用的,节点被定义为能够创建、通过通信路径或信道接收和/或传输信息的分发点或通信端点。节点可以是指以下任意一项:交换机、分流器、合流器、缓冲器以及适配器。如本文中所使用的,分流器和合流器是交换机;不是所有交换机都是分流器或合流器。如本文中所使用的并且根据本发明的各个方面和实施例,术语“分流器”描述具有单个入口端口和多个出口端口的交换机。如本文中所使用的并且根据本发明的各个方面和实施例,术语“合流器”描述具有单个出口端口和多个入口端口的交换机。
根据本发明的各个方面和一个实施例,综合和变换在无死锁网络上被执行,如本文中所描述的。得到的经变换的网络拓扑也将是无循环的。如本文中所使用的,“无循环”网络是其中不存在穿越相同节点两次的布线或路径的网络。术语“路径”和“布线”在本文中可互换使用。路径包括节点和边(也在本文中被称为链路)的任何组合并且由节点和边的任何组合构成,数据沿着路径从源行进到目的地。根据本发明的各个方面和实施例,以下符号被定义为:
E是任意边或者链路
LE是最长边
BE是已被登记(booked)的边的集合
NBE是未被登记的边的集合
CL是边集群或者链路的集群
G(CL)是CL的总增益(或总成本)
WL是针对边或链路的线长度
WL(CL)是集群CL的总线长度
现在参考图1,图1示出了根据本发明的各个方面的用于网络的综合和变换以生成近最优或最优的无循环网络的过程100。根据本发明的一个实施例,输入网络是无循环的。根据本发明的各个其他实施例,输入网络是任意网络,该输入网络可以是具有循环的网络、具有不规则拓扑的网络、以及具有规则拓扑(例如,网格、环、torii等)的网络。
综合/变换过程包括边集群和节点集群。综合过程最小化资源使用并且产生近最优无循环网络。得到的网络结构遵从被描述为本说明书的部分的布图规划的物理约束。根据本发明的一些方面,综合过程包括优化目标函数以及优化对应于网络的边的总被布线的线长度(表示链路)的全局成本。根据本发明的各个方面和实施例,两个集群阶段(边集群和节点集群)在保持输入网络无循环的同时操作;综合过程朝着最优结构收敛。这使用两个网络变换而被达成:边集群和节点集群。这些变换采取现有网络作为输入,并且产生网络作为输出,该作为输出的网络根据一些度量是比输入网络更优的。这些变换不在新被生成的网络中引入循环,这是关键结果并且是有益的,因为循环如所解释的导致死锁。根据本发明的各个方面和实施例,综合过程重构网络以移除循环,如果有的话,并且然后在遵守并维持无循环属性的同时应用集群和优化。另外,布图规划的物理约束被维持和遵守。
如图1中所示出的,综合过程100示出了包括两个变换或集群阶段的总体综合流。输入网络102是任意的。输入网络102可以被手动地设计(诸如由人)或者由计算机辅助设计工具产生(自动化设计)。根据本发明的一个方面和实施例,输入网络102被使用并且综合过程100以无循环网络拓扑110开始。如所提到的,根据本发明的一些其他方面和实施例,网络拓扑110可以是任何任意网络。综合过程100使用变换模块112,变换模块112在网络拓扑110上执行边集群变换以生成边被集群的网络拓扑综合过程100使用优化模块114来优化边被集群的网络拓扑。综合过程100使用变换模块116来在经优化的网络拓扑上执行节点集群。得到的网络拓扑120是无循环网络拓扑。根据本发明的一个方面,得到的网络拓扑120可以由用户处理以供被用于生成最终网络拓扑130的进一步优化和设计整理(finishing),。根据本发明的其他方面,得到的网络拓扑120可以由综合工具处理以供被用于生成最终网络拓扑130的进一步优化和设计整理。如所提到的,根据本发明的一些其他方面和实施例,即使开始的网络拓扑(诸如网络拓扑102)具有循环,得到的网络拓扑120也是无循环网络拓扑。
现在参考图2,图2示出了根据本发明的各个方面和实施例的布图规划200,布图规划200包括九个禁止区域210、与十三个汇聚节点230通信的三个源节点220的。布图规划200示出了源节点220与汇聚节点230之间的使用直接边(诸如边(或链路)240)的直接通信连接性。如所指示的,禁止区域210指示布图规划上链路或边不可以穿越的空间;链路必须被布局在布图规划上未由禁止区域210占据的区中。根据本发明的各个方面和实施例,系统接收实现具有源节点230与汇聚节点240之间的连接性的布图规划200任何网络结构作为输入。布图规划200作为映射被提供到系统。该系统使用边集群和节点集群来处理该映射以产生更被优化的结构。
根据本发明的各个方面和实施例,输入网络具有循环。因此,边集群和节点集群不旨在破坏现有循环。该系统将优化网络而不增加现有循环的数目。根据本发明的各个方面和实施例,输入网络是无循环的。因此,优化的网络也将是无循环的。
现在参考图3,图3是实现图2的布图规划200的通信连接性(或链路)的连接性网络300的一个示例。节点是交换机和其他有源网络元件。根据本发明的各个方面和实施例,连接性网络300包括交换机,诸如交换机350。根据本发明的各个方面和实施例,连接性网络300包括边,诸如边360。边是节点之间的链路;链路是电气连接的束。节点和链路构成路径。根据本发明的各个方面和实施例,许多节点在彼此附近。根据本发明的各个方面和实施例,许多边具有类似的形状,因为这些边开始和结束于相邻节点,并且它们的轮廓可以被同化(assimilate)。系统将可以被同化的节点和边组合。根据本发明的各个方面和实施例,可以被同化的边和节点被组合以获得经改进的网络,因为该组合降低网络的线和逻辑元件的数目同时维持等效的功能。
现在参考图4,图4示出了根据本发明的各个方面和实施例的集群前映射400和集群后映射450。映射400和映射450包括交换机和链路。为了说明目的,仅参考图3的网络300的一部分,该网络300是输入网络和集群在其上操作结构。根据本发明的各个方面和实施例,映射400被示出为具有多个交换机(诸如交换机402)和多个链路(诸如链路404)。子网络的映射450示出了当被应用到三个主干410、412和414时集群的结果。根据本发明的各个方面和实施例,映射450被示出为具有多个交换机(诸如交换机452)和多个链路(诸如链路454)。根据本发明的各个方面和实施例,交换机402可以被同化。交换机402的同化得到交换机452。这是用于节点集群的过程。根据本发明的各个方面和实施例,链路404可以被同化。链路404的同化得到链路454。该过程被称为边集群。
映射400表示包括输入网络(诸如网络300)的三个不相交的主干410、412和414的子网络。节点和边可以被堆叠在彼此顶上或者如图中被分隔开。根据本发明的各个方面和实施例,每个主干410、412和414不具有循环,因为输入网络(诸如网络300)是无循环的。如本文中所提到的,根据本发明的各个方面和实施例,边集群和节点集群的过程以类似的方式在可以是输入网络的具有循环的网络上操作。
根据本发明的各个方面和实施例,集群产生在资源使用(线长度、性能等)方面更紧凑并更被优化、并且保持网络无循环的结构。这通过对“类似的”边和相邻节点进行集群和折叠来达成。网络的映射450是无循环的、最优的,并且实现相同的局部连接性映射(诸如映射400)。此处局部连接性映射是向内点到主干以及其向外点之间的映射。集群在贯穿每个变换局部地以及全局地(即,在源与汇聚之间)维持连接性。例如,交换机406可以被集群以得到交换机456。主干414显现为具有环路形状,该环路形状可以创建循环,并且因此如果利用暴力来应用集群则创建死锁。根据本发明的各个方面和实施例,为了防止该循环可能性和死锁的可能,集群将仅在其不引入循环时被应用。为了最大化益处,过程主要减少长边或长链路。
现在参考图5,图5示出了根据本发明的各个方面和实施例的具有边集群或集群链路(CL)分群(诸如CL1、CL2、CL3、CL4和CL5)和三个主干510、512以及514的集群前网络的映射500。CL群组是用于实现边集群的潜在群组,根据本发明的各个方面和实施例,取决于所定义的目标,可以以任何次序来实现CL群组中的每个CL群组。集群后网络的映射550被示出为具有针对CL1分群中的边所实现的集群。
根据本发明的各个方面和实施例,执行边集群的一个目标和焦点是最小化长边。穿越2个或更多个禁止区域之间的窄廊道的许多长边可以导致线拥塞。最小化长边的线路有助于降低拥塞。根据本发明的各个方面和实施例,边(链路)的长度被测量为边的端点之间被布线的线的长度。
根据本发明的各个方面和实施例,所有边(链路)最初被标记为未被登记。如果边(或链路)已经被选择并且被分配给边的集群或CL,则该边(或链路)被认为“已被登记”。例如,链路504已被登记的链路,因为它们被选择并且被分配给CL1。
根据本发明的一个实施例,边集群迭代地操作并且在每次迭代时应用两个主要步骤:(1)构建边集群,诸如CL1;以及(2)折叠边(CL1的链路)并且实现集群。
图5示出了针对一组被标识的集群的映射500。如下面根据本发明的各个方面和实施例所概述的,过程标识所有潜在边集群,这些边集群在映射500中被标记为CL1、CL2、CL3、CL4和CL5。潜在集群是接近于彼此并且在相同方向上行进的边的群组。为了清楚性和简单性,集群CL1的示例实现被讨论并且过程在下面概述。根据本发明的各个方面和实施例,映射550示出了折叠CL1得到的结果,其中三个链路504已经被折叠,得到链路562和两个新节点564和566。更具体地,集群CL1的实现包括移除CL1的所有边504并且插入连接到节点564和566的一个单个边562。为了保留输入网络的网络连接性,CL1的原始边的所有开始点被连接到节点564并且CL1的边的所有结束点从节点566被连接。因此,代替于使用CL1的3个长边504,在集群分群CL1的实现之后,网络现在使用6个小边和一个长边或链路562以遵守原始连接性。在该简单示例上,集群的成本是边的基数。根据本发明的一个实施例,过程首先开始具有最大集群的实现,以此类推。根据本发明的各个方面和实施例,如果成本是根据线长度的增益,则集群的实现会已经由于针对CL3分群的每个边的线长度而以CL3开始。
如根据本发明的各个方面所提到的,边集群的过程迭代地操作并且包括将边分群在不相交的集群(诸如CL1、CL2、CL3、CL4和CL5)中。一旦边的分群或CL被标识,每个CL就关于增益而被排名,该增益根据有多少线长度减少被达成和/或性能被改进。集群(CL)的列表然后以所计算的增益的降序被排序。经排序的列表然后被遍历并且最好的集群被选择用于实现。一旦这被完成,就存在两种可能的情况。根据本发明的各个方面和实施例,如果集群群组的所有边被发现是可容许并且兼容的,则实现生效并且无需更新剩余的集群。过程选择经排序的列表中的下一个最好的集群并且继续进行其集群实现。
根据本发明的各个方面和实施例,如果存在因为其引入新循环或者破坏所指定的约束中的一些约束而被拒绝的边,则过程从当前集群中排除该边(或链路)。过程标识被排除的边是否可以被分群在下一个集群内。这确保所有边被考虑用于集群和优化。
兼容并且可容许的边的集群的实现通过考虑被提供为输入的网络或子网络的所有边来操作。过程遍历所有边。过程针对每个边来标识将该边与其他集群边折叠是否可以导致循环。循环利用跨网络的全体的图搜索而被标识,该图搜索查找连接边的端点的前驱和后继的路径。引入循环的边从集群中被移除或被排除。根据本发明的各个方面和实施例,一旦集群被完全验证为无循环,集群就被实现。然后过程继续构建并且实现下一个集群,并且以此类推直到边中的所有边已经被考虑为止。根据本发明的一个方面和实施例,为了维持运行时效率,过程仅在集群被选取用于实现时检查无循环接受度。所达成的优点是避免在过程中早早地从与其他边的集群分群使好边不合格。
构建集群的步骤迭代地工作。在每次迭代时,过程首先创建空集群CL并且在未被登记的边(NBE)的集合之中选择最长边(LE)。然后,过程遍历NBE,并且提取在与LE相同的方向上行进并且端点在LE的端点附近的边。围绕LE构建集群是迭代的过程,该迭代的过程基于重新计算边的形心以及识别/同化位于其附近的新边。该方案具有更好地覆盖非竖直和非水平边的一般情况的优点。
根据本发明的各个方面和实施例,仅接近的、在相同方向上、并且不引入循环的边被保持在集群分群中。一旦边中的所有边被标记为已被登记并且从NBE集合被移动到BE集合,集群就准备好被实现并且边可以被折叠。
现在参考图6、图7和图9,图6、图7和图9示出了根据本发明的各个方面和实施例的用于在剩余的集群群组CL2、CL3和CL5上实现边集群的过程。在图6中,边集群针对CL2而被实现,得到边610以及节点620和630。在图7中,边集群针对CL3而被实现,得到边710以及节点720和730。在图9中,边集群针对CL5而被实现,得到边910、节点920和节点930。
现在参考图8,边集群CL4包括边810和边820。在CL4上实现集群分群会由于边820而产生循环,因为针对CL4的边集群的实现会导致仅一个边来代替边810和边820。因此,在CL4上不执行实现,留下路径不相交并且保留网络的无循环属性。根据本发明的各个方面,如果在边810的区中存在其他边并且如果边810可以被选择为另一集群的部分,则边810会已经被选择并且被折叠为另一集群的部分。该过程是动态的,并且当存在针对备选集群分群的选项并且在布图规划中存在空间时保持朝着最优解收敛。
现在参考图10A,图10A示出了根据本发明的各个方面的用于生成边集群分群(诸如CL)的过程。在步骤1010处,系统接收无循环的网络(或子网络)作为输入并且将所有边分配给NBE的集合。在步骤1012处,系统创建新的并且空的集群群组CL新以添加边。在步骤1014处,系统遍历网络的边并且从NBE的集合中选择LE;所选择的LE被添加到CL。在步骤1016处,系统标识接近于所选择的LE的所有NBE并且将邻近的边添加到CL。在步骤1018处,系统从CL中移除在步骤1016处被添加的任何邻近的边,如果该邻近的边会引入循环或违反任何网络约束的话。结果是被更新的CL,该CL具有可以在集群实现步骤期间被实现的边的集合。在步骤1020处,系统将是CL的部分的边从NBE的集合移动到BE的集合。在步骤1022处,系统实现集群分群并且利用两个新节点N1和N2以及新边来替换CL中的边。节点N1和节点N2由新边连接。在步骤1024处,系统使用短边将在CL的开始点处的所有节点连接到节点N1。在步骤1026处,系统将在CL的结束点处的所有节点连接到节点N2。在步骤1028处,系统确定在NBE中是否存在其他边或者NBE的集合是否是空的。如果NBE的集合不是空的,则系统通过返回到步骤1012来迭代集群分群过程。如果NBE的集合是空的,则在NBE的集合中不存在其他边并且过程结束。
现在参考图10B,图10B示出了根据本发明的各个方面的用于生成节点集群的过程。在步骤1070处,系统接收具有节点(以及链路)和约束的网络作为输入。如下面根据本发明的各个实施例所概述的,输入网络是边被集群的网络。根据本发明的各个方面和实施例,输入网络是任何网络,包括还没有使用边集群而被变换的网络。在步骤1072处,根据本发明的各个方面,节点被遍历,以确定或标识可以被组合以形成潜在节点集群的至少两个节点。根据本发明的一个方面,在步骤1072处,所有节点被遍历。根据本发明的一个方面,在步骤1072处,节点被遍历,直到可以被组合以形成潜在节点集群的至少两个节点被标识为止。在步骤1074处,所标识的节点被选择以形成潜在节点集群。在步骤1076处,根据本发明的一些方面,剩余的节点被遍历。在步骤1078处,如果可以与潜在节点集群一起被组合的其他节点被标识,则在步骤1080处所标识的节点被添加到潜在节点集群。如果在步骤1078处其他节点未被标识以添加到潜在节点集群,则在步骤1082处潜在节点集群被折叠,如下面所概述的,以形成新的经折叠的节点。在步骤1084处,系统使用新折叠节点来生成经变换的网络。根据本发明的各个方面,系统在经变换的网络上重复过程,直到所有不同的可能的节点集群被标识为止。过程的每次迭代可以得到新的经变换的网络,并且过程可以在从先前迭代得到的新的经变换的网络上被重复,这在下面根据本文中所公开的本发明的各个方面和实施例来详细概述。
现在参考图11,根据本发明的各个方面和实施例,图11示出了边被集群的网络1100。网络1100包括三个主干和八个潜在节点集群(诸如节点集群1110)。系统执行被称为节点集群的变换。节点集群是被布局在一起的节点的群组,这些节点的群组是兼容的。兼容的节点对是如下节点对:该节点对不会使得到的节点超过关于节点的入口端口和出口端口的数目的最大边界,并且不会将新循环引入到网络,该最大边界是方法的参数。兼容的对还应当在系统正在考虑性能约束和度量时遵守性能目标。
兼容节点(诸如交换机元件)被分群(集群)以产生使用更少资源(诸如更少逻辑元件和更少线)的网络。节点集群的过程迭代地并且以多轮方案来操作。系统遍历节点的列表。系统基于布图规划中的邻近性将节点分群到潜在集群中。系统使用迭代过程,该迭代过程以一个节点开始,并且考虑围绕桶形心的“曼哈顿球”地持续将新节点添加到潜在集群。一旦系统无法将任何新节点添加到潜在集群,潜在集群就被认为完全被形成。系统继续进行以从如下新节点开始:该新节点没有已经处于先前所构建的潜在集群中的任何潜在集群中。
使用潜在节点集群,系统遍历潜在节点集群,并且关于得分函数针对每个节点集群来执行成本分析。根据本发明的一个方面,得分函数基于集群大小。根据本发明的一个方面,一旦所有潜在节点集群被分析以得到成本值,系统就按该成本的降序将潜在节点集群进行排序。根据本发明的各个其他方面,潜在节点集群可以以其他方式被排序并且本发明的范围不受此限制。
系统遍历经排序的潜在节点集群的列表并且一次处理其中一个潜在节点集群。针对当前所选择的潜在节点集群,系统迭代地标识所有兼容的节点对,并且关于在它们如果被折叠在一起则带来的增益来将它们评分。根据本发明的各个方面,成本根据WL而被表达。根据本发明的各个方面,成本根据性能而被表达。根据本发明的各个方面,成本根据合并的节点的生长而被表达。根据本发明的各个方面,成本根据WL、性能或生长的任何组合而被表达。一旦所有对被估算成本,系统就选择最高的兼容对,从候选节点的列表移除该兼容对,并且实现该兼容节点对的折叠。
根据本发明的各个方面,两个节点N1和N2的折叠包括移除节点N1和N2。然后,利用新节点N3来替换被移除的节点。系统将N1和N2的所有前驱连接向N3。系统然后将N3连接向N1和N2的所有后继。系统用N3更新通过N1和N2的所有布线以便增量地保持布线已被更新。一旦系统更新所有布线,系统然后就利用新节点N3来更新候选节点的列表。系统还更新受影响的候选节点的成本。系统然后选择新的最高的候选对并且沿着相同的方案继续进行。系统迭代地重复该过程,直到所有节点被折叠或者不存在可以被用于折叠的可容许对为止。
现在参考图12。图11的潜在节点集群1110根据本发明的各个方面和实施例被实现以产生得到的节点1210。如以上所概述的,系统从潜在节点集群1110选择两个节点并且将两个节点折叠以产生新节点,该两个节点是兼容的节点对。结果是新的潜在节点集群1202。系统在节点集群1202上重复实现过程以生成另一新的潜在节点集群1204。该过程在节点集群1204上被实现以生成节点集群1206。节点集群1206的兼容节点对被实现以产生节点1210。一旦节点1210被生成,在潜在节点集群中就不存在其他节点。根据本发明的各个方面,当在当前潜在节点集群内不再有折叠可以被完成时,系统继续进行到下一个潜在节点集群。系统使用相同方案继续进行,直到所有潜在节点集群被处理为止。
现在参考图13,图13示出了根据本发明的各个方面和实施例的具有潜在节点集群1310、1320、1330、1340、1350、1360、1370和1380的输入网络。潜在节点集群的编号在该示例中是任意的并且指示它们在经排序的列表中的排名。潜在节点集群1310、1320、1330、1340、1350和1360中的所有节点是可以被折叠在一起的可容许组合。潜在节点集群1370和1380中的所有节点不是可容许组合,因为折叠这些潜在节点集群将创建循环,其不是可容许的。
现在参考图14,图14示出了针对图13的输入网络的最终节点集群映射1400。映射1400包括经折叠的集群1410、1420、1430、1440、1450和1460以及未被折叠的作为(图13的)节点集群1370和1380的部分的节点。根据本发明的各个方面,得到的映射1400来自系统将实现步骤重复与集群可以折叠现有节点并且可以创建新节点的次数一样多的次数。如从映射1400明显可见,当不再获得收敛并且不再可以通过应用集群来获得节点时,系统停止节点集群。根据本发明的各个方面,由系统执行的多轮确保由折叠节点的兼容对产生的新被创建的节点也被考虑用于进一步生长和与其他节点折叠。
根据一些方面和实施例,工具可以被用于确保综合的多次迭代被完成以用于NoC的增量优化。在由系统对综合过程的实现和执行之后,产生以机器可读形式的结果,诸如使用良好定义的格式来捕获信息的计算机文件。本发明的范围不受具体格式限制。
根据本发明的各个方面的某些方法可以由被存储在非瞬态计算机可读介质上的指令来执行。非瞬态计算机可读介质存储包括指令的代码,该指令如果由一个或多个处理器执行则会使系统或计算机执行本文中所描述的方法的步骤的指令。非瞬态计算机可读介质包括:旋转的磁盘、旋转的光盘、闪速随机存取存储器(RAM)芯片、以及其他机械地移动的或固态的存储介质。任何类型的计算机可读介质适合用于存储包括根据各个示例的指令的代码。
各个示例是使用机器中的任一或组合的行为的方法。无论大多数组成步骤在哪里发生,方法示例都是完整的。例如并且根据本发明的各个方面和实施例,IP元件或单元包括:处理器(例如,CPU或GPU)、随机存取存储器(RAM,例如片外动态RAM或DRAM)、用于有线或无线连接(诸如以太网、WiFi、3G、4G长期演进(LTE)、5G以及其他无线接口标准无线电)的网络接口。IP还可以包括各种I/O接口设备,如对于不同外围设备(诸如触摸屏传感器、地理位置接收器、麦克风、扬声器、蓝牙外围、以及USB设备,诸如键盘和鼠标等)所需要的。通过执行被存储在RAM设备中的指令,处理器执行如本文中所描述的方法的步骤。
一些示例是被布置为存储用于本文中所描述的方法的这样的指令的一个或多个非瞬态计算机可读介质。持有包括必要代码中的任何必要代码的非瞬态计算机可读介质的无论什么机器都可以实现示例。一些示例可以被实现为:物理设备,诸如半导体芯片;这样的设备的逻辑或功能行为的硬件描述语言表示;以及被布置为存储这样的硬件描述语言表示的一个或多个非瞬态计算机可读介质。本文中叙述原理、方面和实施例的描述涵盖其结构和功能等效体两者。本文中被描述为耦合的元件具有由直接连接可实现、或者利用一个或多个其他中介元件间接地可实现的有效关系。
本文中被描述为“耦合”或“通信地耦合”的元件具有由直接连接或使用一个或多个其他中介元件的间接连接可实现的有效关系。本文中被描述为“通信”另一设备、模块或元件或“与之通信”的实施例包括任何形式的通信或链接并且包括有效关系。例如,可以使用有线连接、无线协议、近场协议或RFID来建立通信链路。
因此,本发明的范围不旨在限于本文中所示出和描述的示例性实施例和方面。确切地说,本发明的范围和精神由随附权利要求体现。
Claims (10)
1.一种用于网络的综合和变换的方法,所述方法包括:
接收包括针对所述网络的多个约束的所述网络作为输入,其中所述网络包括多个边;
将所述多个边中的所有边分配给未被登记的边的集合;
对从所述未被登记的边的集合所选择的至少两个边进行集群,以生成符合所述多个约束的至少一个边集群;
将来自所述未被登记的边的集合的所述至少两个边重新分配给已被登记的边的集合;
折叠所述边集群;以及
使用经折叠的所述边集群来生成经变换的网络。
2.根据权利要求1所述的方法,其中所述网络是无循环网络,并且折叠所述边集群维持所述经变换的网络的无循环性质。
3.根据权利要求1所述的方法,其中集群的步骤包括:
生成空的边集群;
从所述多个边选择第一边;
从所述多个边选择第二边,使得所述第一边和所述第二边形成边的集合;以及
将所述边的集合分配给所述空的边集群,以生成所述边集群。
4.根据权利要求1所述的方法,还包括以下步骤:
通过从所述未被登记的边的集合选择边来生成多个附加边集群;
将所选择的所述边重新分配给所述已被登记的边的集合;
将所述多个附加边集群进行排序,以生成经排序的边集群的列表;以及
使用增益函数按增益的降序来处理所述经排序的边集群的列表,其中来自边集群的所述列表的具有最高增益的边集群被首先处理。
5.根据权利要求1所述的方法,还包括:
使用网络循环来确定折叠所述边集群是否将引入拓扑环路;
如果无拓扑环路被创建,则执行所述折叠步骤;以及
如果拓扑环路被创建,则从所述多个边消除所述两个边。
6.根据权利要求1所述的方法,其中折叠的步骤包括:
利用第一节点和第二节点替换边集群;以及
利用边连接所述第一节点和所述第二节点。
7.一种用于网络的变换的方法,所述方法包括:
接收包括多个节点的所述网络作为输入;
接收针对所述网络的多个约束作为输入;
组合从所述多个节点所选择的至少两个节点以形成第一潜在节点集群,其中所述节点集群符合所述多个约束;
遍历所述多个节点,以确定是否任何其他节点能够被添加到所述第一潜在节点集群;
折叠所述第一潜在节点集群以生成经折叠的节点;以及
使用所述经折叠的节点来生成经变换的网络。
8.根据权利要求7所述的方法,还包括以下步骤:
从剩余的多个节点生成多个潜在节点集群;
从所述第一潜在节点集群和所述多个潜在节点集群构建潜在节点集群的列表;
使用增益函数来将所述潜在节点集群的列表进行排序以向所述潜在节点集群的列表中的每个潜在节点集群分配增益值;以及
按基于增益值的降序折叠来自经排序的所述潜在节点集群的列表的每个潜在节点集群,以生成经折叠的节点的集合;
利用所述经折叠的节点的集合来更新所述经变换的网络,以生成第二经变换的网络。
9.根据权利要求7所述的方法,其中折叠节点集群的步骤包括以下步骤:
从所述节点集群选择两个节点;
移除所述两个节点;以及
添加新节点以替换被移除的所述两个节点。
10.一种用于存储代码的非瞬态计算机可读介质,所述代码当由一个或多个处理器运行时将使所述处理器:
接收包括多个节点的网络;
接收针对所述网络的多个约束;
组合从所述多个节点所选择的至少两个节点以形成第一潜在节点集群,其中所述第一潜在节点集群符合所述多个约束;
遍历所述多个节点以确定是否任何其他节点能够被添加到所述第一潜在节点集群;以及
折叠所述第一潜在节点集群折叠以生成经折叠的节点;以及
使用所述经折叠的节点来生成经变换的网络。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/872,096 US11665776B2 (en) | 2019-12-27 | 2020-05-11 | System and method for synthesis of a network-on-chip for deadlock-free transformation |
US16/872,096 | 2020-05-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113642275A true CN113642275A (zh) | 2021-11-12 |
CN113642275B CN113642275B (zh) | 2024-08-02 |
Family
ID=75887914
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110500687.5A Active CN113642275B (zh) | 2020-05-11 | 2021-05-08 | 用于无死锁变换的片上网络的综合的系统和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11665776B2 (zh) |
EP (1) | EP3910522A1 (zh) |
JP (1) | JP2021180484A (zh) |
KR (1) | KR102594944B1 (zh) |
CN (1) | CN113642275B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11121933B2 (en) * | 2019-12-27 | 2021-09-14 | Arteris, Inc. | Physically aware topology synthesis of a network |
US11245643B2 (en) * | 2020-05-20 | 2022-02-08 | Tenstorrent Inc. | Speculative resource allocation for routing on interconnect fabrics |
EP4492278A1 (en) * | 2023-06-22 | 2025-01-15 | Arteris, Inc. | Tool for supporting use of regular network topologies in generating a network-on-chip topology |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6437804B1 (en) * | 1997-10-23 | 2002-08-20 | Aprisma Management Technologies, Inc | Method for automatic partitioning of node-weighted, edge-constrained graphs |
US20130054811A1 (en) * | 2011-08-23 | 2013-02-28 | Kalray | Extensible network-on-chip |
US20130148506A1 (en) * | 2011-12-08 | 2013-06-13 | The Hong Kong University Of Science And Technology | Bufferless nonblocking networks on chip |
CN103684961A (zh) * | 2012-08-30 | 2014-03-26 | 网速系统公司 | 自动构建无死锁互连 |
US20140098702A1 (en) * | 2012-10-05 | 2014-04-10 | Jean-Philippe Fricker | Position discovery by detecting irregularities in a network topology |
CN104683242A (zh) * | 2015-03-15 | 2015-06-03 | 西安电子科技大学 | 一种二维片上网络的拓扑结构以及路由方法 |
CN109948428A (zh) * | 2019-01-28 | 2019-06-28 | 上海理工大学 | 面向传感信息处理的gpu集群深度学习边缘计算系统 |
CN109962867A (zh) * | 2019-03-19 | 2019-07-02 | 天津中德应用技术大学 | 一种片上网络分支界定任务映射方法 |
CN110347638A (zh) * | 2018-04-08 | 2019-10-18 | 北京嘉楠捷思信息技术有限公司 | Asic阵列、数据处理板以及区块挖掘方法和设备 |
CN110784406A (zh) * | 2019-10-23 | 2020-02-11 | 上海理工大学 | 功率感知的动态自适应片上网络阈值路由方法 |
US20200092230A1 (en) * | 2018-09-17 | 2020-03-19 | Xilinx, Inc. | Partial reconfiguration for network-on-chip (noc) |
Family Cites Families (80)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5485396A (en) | 1991-06-28 | 1996-01-16 | Vlsi Technology, Inc. | Symbolic routing guidance for wire networks in VLSI circuits |
US5638288A (en) | 1994-08-24 | 1997-06-10 | Lsi Logic Corporation | Separable cells having wiring channels for routing signals between surrounding cells |
US5623420A (en) | 1994-11-16 | 1997-04-22 | Sun Microsystems, Inc. | Method and apparatus to distribute spare cells within a standard cell region of an integrated circuit |
US5761078A (en) | 1996-03-21 | 1998-06-02 | International Business Machines Corporation | Field programmable gate arrays using semi-hard multicell macros |
US5903886A (en) | 1996-04-30 | 1999-05-11 | Smartlynx, Inc. | Hierarchical adaptive state machine for emulating and augmenting software |
US6026226A (en) | 1996-10-28 | 2000-02-15 | Altera Corporation | Local compilation in context within a design hierarchy |
US6002857A (en) | 1996-11-14 | 1999-12-14 | Avant! Corporation | Symbolic constraint-based system for preroute reconstruction following floorplan incrementing |
JP3063828B2 (ja) | 1997-03-27 | 2000-07-12 | 日本電気株式会社 | 集積回路の自動概略配線方法 |
US6249902B1 (en) | 1998-01-09 | 2001-06-19 | Silicon Perspective Corporation | Design hierarchy-based placement |
US6145117A (en) | 1998-01-30 | 2000-11-07 | Tera Systems Incorporated | Creating optimized physical implementations from high-level descriptions of electronic design using placement based information |
US6449761B1 (en) | 1998-03-10 | 2002-09-10 | Monterey Design Systems, Inc. | Method and apparatus for providing multiple electronic design solutions |
US6543040B1 (en) | 2000-03-15 | 2003-04-01 | International Business Machines Corporation | Macro design techniques to accommodate chip level wiring and circuit placement across the macro |
US6622225B1 (en) | 2000-08-31 | 2003-09-16 | Hewlett-Packard Development Company, L.P. | System for minimizing memory bank conflicts in a computer system |
JP4035354B2 (ja) | 2001-07-11 | 2008-01-23 | 富士通株式会社 | 電子回路設計方法及び装置、コンピュータプログラム及び記憶媒体 |
US6907591B1 (en) | 2001-08-28 | 2005-06-14 | Cadence Design Systems, Inc. | Method and apparatus for performing extraction using a neural network |
US20030093765A1 (en) | 2001-11-13 | 2003-05-15 | Lam William K | Method and system for robust distributed circuit synthesis |
JP3961346B2 (ja) | 2002-06-17 | 2007-08-22 | 川崎重工業株式会社 | 滑走艇、及び滑走艇用の緩衝部材 |
US7225116B2 (en) | 2002-08-20 | 2007-05-29 | Cadence Design Systems, Inc. | Method for eliminating routing congestion in an IC layout |
US6990651B2 (en) | 2003-05-14 | 2006-01-24 | Lsi Logic Corporation | Advanced design format library for integrated circuit design synthesis and floorplanning tools |
US6914435B2 (en) | 2003-10-01 | 2005-07-05 | And Yet, Inc. | Circuit for measurement of electrical pollution on power line |
US7594052B2 (en) | 2004-03-17 | 2009-09-22 | Koninklijke Philips Electronics N.V. | Integrated circuit and method of communication service mapping |
WO2005119531A2 (en) | 2004-06-01 | 2005-12-15 | Tera Systems, Inc. | Rule-based design consultant and method for integrated circuit design |
US7305641B2 (en) | 2005-01-12 | 2007-12-04 | International Business Machines Corporation | Method and system to redistribute white space for minimizing wire length |
US7788625B1 (en) | 2005-04-14 | 2010-08-31 | Xilinx, Inc. | Method and apparatus for precharacterizing systems for use in system level design of integrated circuits |
US7587687B2 (en) | 2005-12-30 | 2009-09-08 | Cadence Design Systems, Inc. | System and method for incremental synthesis |
US7673259B2 (en) | 2005-12-30 | 2010-03-02 | Cadence Design Systems, Inc. | System and method for synthesis reuse |
US8000318B2 (en) | 2006-06-30 | 2011-08-16 | Embarq Holdings Company, Llc | System and method for call routing based on transmission performance of a packet network |
US8144587B2 (en) | 2006-08-22 | 2012-03-27 | Embarq Holdings Company, Llc | System and method for load balancing network resources using a connection admission control engine |
US8042087B2 (en) | 2006-10-10 | 2011-10-18 | Ecole Polytechnique Federale De Lausanne (Epfl) | Method to design network-on-chip (NOC)-based communication systems |
US20100061352A1 (en) | 2006-10-31 | 2010-03-11 | Elena Fasolo | Method for routing traffic in a local mobile communication network |
US7756029B2 (en) | 2007-05-24 | 2010-07-13 | Harris Stratex Networks Operating Corporation | Dynamic load balancing for layer-2 link aggregation |
US8819608B2 (en) | 2007-07-23 | 2014-08-26 | Synopsys, Inc. | Architectural physical synthesis |
US9576092B2 (en) | 2009-02-24 | 2017-02-21 | Mentor Graphics Corporation | Synthesis using multiple synthesis engine configurations |
US9444737B2 (en) | 2009-04-27 | 2016-09-13 | Intel Corporation | Packet data processor in a communications processor architecture |
US8457107B2 (en) | 2010-01-12 | 2013-06-04 | Verizon Patent And Licensing Inc. | Method and system for finding shortest paths in ring networks |
US8786495B2 (en) | 2010-07-14 | 2014-07-22 | Zebra Enterprise Solutions Corp. | Frequency channel diversity for real-time locating systems, methods, and computer program products |
US8793644B2 (en) | 2011-06-02 | 2014-07-29 | Qualcomm Technologies, Inc. | Display and automatic improvement of timing and area in a network-on-chip |
US20130174113A1 (en) | 2011-12-30 | 2013-07-04 | Arteris SAS | Floorplan estimation |
US8730806B2 (en) | 2012-04-03 | 2014-05-20 | Telefonaktiebolaget L M Ericsson (Publ) | Congestion control and resource allocation in split architecture networks |
US8726214B2 (en) | 2012-04-19 | 2014-05-13 | Ncku Research And Development Foundation | Floorplanning method for an analog integrated circuit layout |
US8601423B1 (en) | 2012-10-23 | 2013-12-03 | Netspeed Systems | Asymmetric mesh NoC topologies |
US9479456B2 (en) | 2012-11-02 | 2016-10-25 | Altera Corporation | Programmable logic device with integrated network-on-chip |
US9203761B2 (en) | 2012-12-12 | 2015-12-01 | Taqua Wbh, Llc | Systems and methods optimizing backhaul transport |
US9130856B2 (en) | 2013-01-28 | 2015-09-08 | Netspeed Systems | Creating multiple NoC layers for isolation or avoiding NoC traffic congestion |
US9184998B2 (en) | 2013-03-14 | 2015-11-10 | Qualcomm Incorporated | Distributed path update in hybrid networks |
US8839171B1 (en) | 2013-03-31 | 2014-09-16 | Atrenta, Inc. | Method of global design closure at top level and driving of downstream implementation flow |
US9054977B2 (en) | 2013-08-05 | 2015-06-09 | Netspeed Systems | Automatic NoC topology generation |
ITTO20130824A1 (it) | 2013-10-11 | 2015-04-11 | St Microelectronics Grenoble 2 | Sistema per progettare disposizioni di interconnessione network on chip |
US9158882B2 (en) | 2013-12-19 | 2015-10-13 | Netspeed Systems | Automatic pipelining of NoC channels to meet timing and/or performance |
US9569574B1 (en) | 2014-03-07 | 2017-02-14 | Altera Corporation | Method and apparatus for performing fast incremental physical design optimization |
US9825779B2 (en) | 2014-05-23 | 2017-11-21 | Arteris, Inc. | Network-on-chip (NoC) topology generation |
US9529951B2 (en) | 2014-05-29 | 2016-12-27 | International Business Machines Corporation | Synthesis tuning system for VLSI design optimization |
US9355211B2 (en) | 2014-10-10 | 2016-05-31 | Oracle International Corporation | Unified tool for automatic design constraints generation and verification |
US9417961B2 (en) | 2014-11-18 | 2016-08-16 | HGST Netherlands B.V. | Resource allocation and deallocation for power management in devices |
US9660942B2 (en) | 2015-02-03 | 2017-05-23 | Netspeed Systems | Automatic buffer sizing for optimal network-on-chip design |
US9444702B1 (en) | 2015-02-06 | 2016-09-13 | Netspeed Systems | System and method for visualization of NoC performance based on simulation output |
US10348563B2 (en) | 2015-02-18 | 2019-07-09 | Netspeed Systems, Inc. | System-on-chip (SoC) optimization through transformation and generation of a network-on-chip (NoC) topology |
JP2016177454A (ja) | 2015-03-19 | 2016-10-06 | 富士通株式会社 | 動作合成方法、動作合成プログラムおよび動作合成装置 |
US9852254B2 (en) | 2015-11-10 | 2017-12-26 | Arteris, Inc. | Automatic architecture placement guidance |
US9940423B2 (en) | 2015-12-20 | 2018-04-10 | Arteris, Inc. | Editing a NoC topology on top of a floorplan |
US10068047B1 (en) | 2016-10-14 | 2018-09-04 | Altera Corporation | Systems and methods for designing an integrated circuit |
US10425339B2 (en) | 2016-10-24 | 2019-09-24 | Cisco Technology, Inc. | Multi-homed load-balanced rate-based tunnels |
US10521536B2 (en) | 2016-11-21 | 2019-12-31 | Synopsys, Inc. | RTL verification using computational complexity-based property ranking and scheduling |
EP3333735B1 (en) | 2016-12-12 | 2021-07-07 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Method and computer program for determining a placement of at least one circuit for a reconfigurable logic device |
US9792397B1 (en) | 2017-01-08 | 2017-10-17 | Alphaics Corporation | System and method for designing system on chip (SoC) circuits through artificial intelligence and reinforcement learning |
US10282502B1 (en) | 2017-03-07 | 2019-05-07 | Amazon Technologies, Inc. | Flexible constraint integrated circuit implementation runs |
US10740527B2 (en) | 2017-09-06 | 2020-08-11 | Apple Inc. | Semiconductor layout in FinFET technologies |
CN109587081A (zh) | 2017-09-29 | 2019-04-05 | 邢筱丹 | 一种基于拓扑划分的片上网络快速映射算法 |
US10719651B2 (en) | 2017-12-30 | 2020-07-21 | Arteris, Inc. | Synthesizing topology for an interconnect network of a system-on-chip with intellectual property blocks |
US11154251B2 (en) | 2018-02-10 | 2021-10-26 | The Governing Council Of The University Of Toronto | System and method for classifying time series data for state identification |
US11544441B2 (en) | 2018-02-12 | 2023-01-03 | Arizona Board Of Regents On Behalf Of The University Of Arizona | Automated network-on-chip design |
US20190260504A1 (en) | 2018-02-22 | 2019-08-22 | Netspeed Systems, Inc. | Systems and methods for maintaining network-on-chip (noc) safety and reliability |
US11671329B2 (en) | 2018-04-04 | 2023-06-06 | Arista Networks, Inc. | Computation of network flooding topologies |
US10516478B2 (en) | 2018-05-23 | 2019-12-24 | Futurewei Technologies, Inc. | Controller based path estimation and path provisioning using optical impairment data |
US11588733B2 (en) | 2019-05-14 | 2023-02-21 | Vmware, Inc. | Slice-based routing |
US11558259B2 (en) | 2019-12-27 | 2023-01-17 | Arteris, Inc. | System and method for generating and using physical roadmaps in network synthesis |
US11121933B2 (en) | 2019-12-27 | 2021-09-14 | Arteris, Inc. | Physically aware topology synthesis of a network |
US10990724B1 (en) | 2019-12-27 | 2021-04-27 | Arteris, Inc. | System and method for incremental topology synthesis of a network-on-chip |
US11418448B2 (en) | 2020-04-09 | 2022-08-16 | Arteris, Inc. | System and method for synthesis of a network-on-chip to determine optimal path with load balancing |
US11281827B1 (en) | 2020-12-26 | 2022-03-22 | Arteris, Inc. | Optimization of parameters for synthesis of a topology using a discriminant function module |
-
2020
- 2020-05-11 US US16/872,096 patent/US11665776B2/en active Active
-
2021
- 2021-05-07 JP JP2021079166A patent/JP2021180484A/ja active Pending
- 2021-05-07 KR KR1020210059163A patent/KR102594944B1/ko active IP Right Grant
- 2021-05-08 CN CN202110500687.5A patent/CN113642275B/zh active Active
- 2021-05-10 EP EP21173034.6A patent/EP3910522A1/en active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6437804B1 (en) * | 1997-10-23 | 2002-08-20 | Aprisma Management Technologies, Inc | Method for automatic partitioning of node-weighted, edge-constrained graphs |
US20130054811A1 (en) * | 2011-08-23 | 2013-02-28 | Kalray | Extensible network-on-chip |
US20130148506A1 (en) * | 2011-12-08 | 2013-06-13 | The Hong Kong University Of Science And Technology | Bufferless nonblocking networks on chip |
CN103684961A (zh) * | 2012-08-30 | 2014-03-26 | 网速系统公司 | 自动构建无死锁互连 |
US20140098702A1 (en) * | 2012-10-05 | 2014-04-10 | Jean-Philippe Fricker | Position discovery by detecting irregularities in a network topology |
CN104683242A (zh) * | 2015-03-15 | 2015-06-03 | 西安电子科技大学 | 一种二维片上网络的拓扑结构以及路由方法 |
CN110347638A (zh) * | 2018-04-08 | 2019-10-18 | 北京嘉楠捷思信息技术有限公司 | Asic阵列、数据处理板以及区块挖掘方法和设备 |
US20200092230A1 (en) * | 2018-09-17 | 2020-03-19 | Xilinx, Inc. | Partial reconfiguration for network-on-chip (noc) |
CN109948428A (zh) * | 2019-01-28 | 2019-06-28 | 上海理工大学 | 面向传感信息处理的gpu集群深度学习边缘计算系统 |
CN109962867A (zh) * | 2019-03-19 | 2019-07-02 | 天津中德应用技术大学 | 一种片上网络分支界定任务映射方法 |
CN110784406A (zh) * | 2019-10-23 | 2020-02-11 | 上海理工大学 | 功率感知的动态自适应片上网络阈值路由方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3910522A1 (en) | 2021-11-17 |
US11665776B2 (en) | 2023-05-30 |
CN113642275B (zh) | 2024-08-02 |
KR102594944B1 (ko) | 2023-10-26 |
KR20210137919A (ko) | 2021-11-18 |
JP2021180484A (ja) | 2021-11-18 |
KR20230170609A (ko) | 2023-12-19 |
US20210204360A1 (en) | 2021-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113642275B (zh) | 用于无死锁变换的片上网络的综合的系统和方法 | |
US11558259B2 (en) | System and method for generating and using physical roadmaps in network synthesis | |
KR101652490B1 (ko) | 자동 noc 토폴로지 생성 | |
Gindin et al. | NoC-based FPGA: architecture and routing | |
JP4880802B1 (ja) | 中継装置 | |
CN106936739B (zh) | 一种报文转发方法及装置 | |
US20150350057A1 (en) | Switchless network topology system for parallel computation and method thereof | |
KR101382606B1 (ko) | 하이브리드 광학 네트워크 온 칩의 태스크 매핑 장치 및 방법과 이를 이용한 하이브리드 광학 네트워크 온 칩 시스템 | |
KR101754618B1 (ko) | 소프트웨어 정의 네트워크 기반의 가상 네트워크 동적 생성 방법 및 그 장치 | |
CN106339350A (zh) | 众核处理器片上访存距离优化的方法及其装置 | |
WO2022042368A1 (zh) | 一种逻辑节点布局方法、装置、计算机设备及存储介质 | |
CN109962867A (zh) | 一种片上网络分支界定任务映射方法 | |
KR102727965B1 (ko) | 교착상태없는 변환을 위한 네트워크 온칩의 합성을 위한 시스템 및 방법 | |
KR101800320B1 (ko) | 버스 프로토콜 기반의 네트워크 온 칩 시스템, 그 설계 방법 및 그 설계 방법에 관한 프로그램이 기록된 컴퓨터 판독가능 기록매체 | |
US20060268691A1 (en) | Divide and conquer route generation technique for distributed selection of routes within a multi-path network | |
CN111062180B (zh) | 一种fpga布线方法及装置 | |
EP3961472A2 (en) | System and method for generating connectivity models in network synthesis | |
Inam et al. | Shortest path routing algorithm for hierarchical interconnection network-on-chip | |
CN117176638A (zh) | 一种路由路径确定方法及相关组件 | |
CN113255284B (zh) | 全局布线中快速局部拆线重布方法 | |
US10070439B2 (en) | Apparatus and method for managing assignment of time slots | |
Liu et al. | Multi-stage aggregation and lightpath provisioning of geo-distributed data over EON assisted by MEC | |
Roy et al. | Effect of core ordering on application mapping onto mesh based network-on-chip design | |
JP2014137732A (ja) | 情報処理システム及び情報処理システムの制御方法 | |
Mittal et al. | Collective algorithms for sub-communicators |
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 |