片上网络中的端到端服务质量

文档序号:1146521 发布日期:2020-09-11 浏览:11次 >En<

阅读说明:本技术 片上网络中的端到端服务质量 (End-to-end quality of service in a network on chip ) 是由 I·A·斯瓦布里克 Y·阿贝尔 M·米陶尔 S·阿玛德 于 2019-01-31 设计创作,主要内容包括:一种生成用于可编程器件中的片上网络(NoC)的配置的示例方法包括:接收(502)多个业务流的业务流需求;基于业务流需求通过NoC为每个业务流分配(508)路由;确定(514)沿着所分配的路由的业务流的仲裁设置;生成(516)用于NoC的编程数据;以及将编程数据加载(518)到可编程器件以配置NoC。(An example method of generating a configuration for a network on chip (NoC) in a programmable device includes: receiving (502) traffic flow requirements for a plurality of traffic flows; assigning (508) a route to each traffic flow through the NoC based on traffic flow demand; determining (514) arbitration settings for traffic flows along the assigned route; generating (516) programming data for the NoC; and loading (518) programming data to the programmable device to configure the NoC.)

片上网络中的端到端服务质量

技术领域

本公开的示例总体上涉及电子电路,并且具体地涉及片上网络中的端到端服务质量。

背景技术

已经发现总线结构不适用于某些片上系统(SoC)集成电路(SoC)。随着电路集成度的提高,事务可能变得阻塞,而电容的增加会产生信令问题。代替总线结构,可以使用片上网络(NoC)来支持SoC的组件之间的数据通信。

NoC通常包括一组交换机,这些交换机将数据包从芯片上的源电路(“源”)路由到芯片上的目的地电路(“目的地”)。芯片中的交换机的布局支持从期望源到期望目的地的数据包传输。数据包可以在从源到目的地的传输中经过多个交换机。每个交换机可以连接到网络中的一个或多个其他交换机,并且将输入数据包路由到所连接的交换机之一或路由到目的地。

发明内容

用于片上网络中的端到端服务质量的技术。在一个示例中,一种生成用于可编程器件中的片上网络(NoC)的配置的方法包括:接收多个业务流的业务流需求;基于业务流需求通过NoC为每个业务流分配路由;确定沿着所分配的路由的业务流的仲裁设置;生成用于NoC的编程数据;以及将编程数据加载到可编程器件以配置NoC。

在另一示例中,一种非暂态计算机可读介质包括,其上存储有由处理器可执行以执行生成用于可编程器件中的片上网络(NoC)的配置的方法的指令,该方法包括:接收多个业务流的业务流需求;基于业务流需求通过NoC为每个业务流分配路由;确定沿着所分配的路由的业务流的仲裁设置;生成用于NoC的编程数据;以及将编程数据加载到可编程器件以配置NoC。

在另一示例中,一种集成电路包括:处理系统;可编程逻辑区域;以及耦合处理系统和可编程逻辑区域的片上网络(NoC),该NoC包括通过一个或多个物理通道耦合到从电路的主电路,第一物理通道具有多个虚拟通道。

这些和其他方面可以参考以下详细描述来理解。

附图说明

为了详细理解上述特征,可以通过参考示例实现来进行上面简要概述的更具体的描述,其中一些示例在附图中示出。然而,应当注意,附图仅示出了典型的示例实现,并且因此不应当被认为是对其范围的限制。

图1是示出根据一个示例的片上系统(SoC)的框图。

图2是示出根据一个示例的片上网络(NoC)的框图。

图3是示出根据一个示例的通过NoC的端点电路之间的连接的框图。

图4是示出根据一个示例的计算机系统的框图。

图5是示出根据一个示例的生成用于NoC的配置数据的方法的流程图。

图6是示出根据一个示例的通信系统的框图。

图7是示出根据一个示例的NoC的交换机中的仲裁的框图。

图8是示出根据一个示例的向虚拟通道分配权重的框图。

图9是示出可以在其中采用本文中描述的技术的可编程集成电路(IC)的框图。

图10是可以在其中采用本文中描述的技术的现场可编程门阵列(FPGA)架构的示意图。

为了便于理解,在可能的地方使用了相同的附图标记来表示图中共有的相同的元素。可以想到,一个示例的元素可以有益地并入其他示例中。

具体实施方式

在下文中参考附图描述各种特征。应当注意,附图可以按比例绘制,也可以不按比例绘制,并且在整个附图中,相似结构或功能的元素由相似的附图标记表示。应当注意,附图仅旨在促进对特征的描述。它们无意作为所要求保护的发明的详尽描述或对所要求保护的发明的范围的限制。另外,所示出的示例不必具有所示出的所有方面或优点。结合特定示例描述的方面或优点不必限于该示例,而是可以在任何其他示例中实践,即使未如此示出或未明确描述。

图1是示出根据一个示例的片上系统(SoC)102的框图。SoC 102是集成电路(IC),该IC包括处理系统104、片上网络(NoC)106和一个或多个可编程区域108。SoC 102可以耦合到外部电路,诸如非易失性存储器(NVM)110和/或随机存取存储器(RAM)112。NVM 110可以存储可以被加载到SoC 102以配置SoC 102(诸如配置NoC 106和可编程逻辑区域108)的数据。下面描述处理系统104和可编程逻辑区域108的示例。通常,处理系统104通过NoC 106连接到可编程逻辑区域108。

NoC 106包括用于控制其中的数据流的端到端服务质量(QoS)特征。在示例中,NoC106首先将数据流分离为指定业务类别。同一业务类别中的数据流可以共享或具有独立的虚拟或物理传输路径。QoS方案在业务类别之间应用两个优先级。在业务类别之内和之间,NoC 106应用加权仲裁方案以调节业务流并且提供满足用户要求的带宽和延迟。下面进一步讨论NoC 106的示例。

图2是示出根据一个示例的NoC 106的框图。NoC 106包括NoC主单元(NMU)202、NoC从单元(NSU)204、网络214、NoC***互连(NPI)210和寄存器(Reg)212。每个NMU 202是将主端点连接到NoC 106的入口电路。每个NSU 204是将NoC 106连接到从端点的出口电路。NMU202通过网络214连接到NSU 204。在一个示例中,网络214包括NoC数据包交换机206和在NoC数据包交换机206之间的路由208。每个NoC数据包交换机206执行NoC数据包的交换。NoC数据包交换机206通过路由208彼此连接并且连接到NMU 202和NSU 204以实现多个物理通道。另外,NoC数据包交换机206每个物理通道支持多个虚拟通道。NPI 210包括用于对NMU 202、NSU 204和NoC数据包交换机206进行编程的电路系统。例如,NMU 202、NSU 204和NoC数据包交换机206可以包括确定其功能的寄存器212。NPI 210包括耦合到寄存器212以对其进行编程以设置功能的互连。NoC 106的配置数据可以存储在NVM 110中并且被提供给NPI 210以对NoC 106进行编程。

图3是示出根据一个示例的通过NoC 106的端点电路之间的连接的框图。在该示例中,端点电路302通过NoC 106连接到端点电路304。端点电路302是耦合到NoC 106的NMU202的主电路。端点电路304是耦合到NoC 106的NSU 204的从电路。每个端点电路302和304可以是处理系统104中的电路或可编程逻辑区域108中的电路。可编程逻辑区域108中的每个端点电路可以是专用电路(例如,硬化电路)或以可编程逻辑配置的电路。

网络214包括多个物理通道306。物理通道306通过对NoC 106进行编程来实现。每个物理通道306包括一个或多个NoC数据包交换机206和相关联的路由208。NMU 202通过至少一个物理通道306与NSU 204连接。物理通道306也可以具有一个或多个虚拟通道308。

图4是示出根据一个示例的计算机系统400的框图。计算机系统400包括计算机401、输入/输出(IO)设备412和显示器414。计算机401包括硬件平台418和在硬件平台418上执行的软件,包括操作系统(OS)420和电子设计自动化(EDA)软件410。硬件平台418包括中央处理器(CPU)402、系统存储器408、存储设备(“存储421”)、支持电路404和IO接口406。

CPU 402可以是任何类型的通用中央处理单元(CPU),诸如基于x86的处理器、基于

Figure BDA0002598542840000051

的处理器等。CPU 402可以包括一个或多个核心和相关联的电路系统(例如,高速缓冲存储器、存储器管理单元(MMU)、中断控制器等)。CPU 402被配置为执行程序代码,该程序代码执行本文中描述的一个或多个操作并且可以存储在系统存储器408和/或存储421中。支持电路404包括与CPU 402协作以管理CPU 402、系统存储器408、存储装置421、IO接口406或任何其他***设备之间的数据流的各种设备。例如,支持电路404可以包括芯片组(例如,北桥、南桥、平台主机控制器等)、电压调节器、固件(例如,BIOS)等。在一些示例中,CPU402可以是系统级封装(SiP)、片上系统(SoC)等,它们吸收支持电路404(例如,北桥、南桥等)的全部或大部分功能。

系统存储器408是允许存储和检索诸如可执行指令和数据等信息的设备。系统存储器408可以包括例如一个或多个随机存取存储器(RAM)模块,诸如双倍数据速率(DDR)动态RAM(DRAM)。存储装置421包括本地存储设备(例如,一个或多个硬盘、闪存模块、固态盘和光盘)和/或使得计算机401能够与一个或多个网络数据存储系统通信的存储接口。IO接口406可以耦合到IO设备412和显示器414。

OS 420可以是本领域中已知的任何商品操作系统,诸如

Figure BDA0002598542840000052

MicrosoftMac等。用户可以与EDA软件410交互以生成用于SoC 102的配置数据。特别地,EDA软件410被配置为生成用于对NoC 106进行编程以实现用于连接端点电路的各种物理和虚拟通道的配置数据。

图5是示出根据一个示例的生成用于NoC 106的配置数据的方法500的流程图。方法500可以由EDA软件410执行。方法500在步骤502处开始,在步骤502,EDA软件410从用户接收业务流需求。在一个示例中,在步骤504,EDA软件410接收由用户指定的每个业务流的源和目的地信息(例如,每个业务流的源端点和目的地端点)。业务流是在端点之间传送数据(“业务”)的连接。在步骤506,EDA软件410接收由用户指定的每个业务流的类别信息。示例业务类别包括低等待时间业务、等时业务、尽力而为(BE)业务(例如,带宽保证业务)等。

在步骤508,EDA软件410基于业务流需求通过NoC 106为每个业务流分配路由。在一个示例中,在步骤510,EDA软件410基于业务流的源和目的地为每个业务流选择物理通道。NoC 106可以在每个源与目的地之间具有多个可用物理路由。在步骤512,EDA软件410基于其业务类别为一个或多个虚拟通道选择虚拟通道。也就是说,给定物理通道可以具有多个虚拟通道,并且可以传送由业务类别分开的多个业务流。物理通道内的每个虚拟通道仅承载一个业务类别,但是同一业务类别内有若干业务流。例如,给定物理通道可以在一对虚拟通道中传送低等待时间业务类别的业务流和等时业务类别的另一业务流。注意,步骤510和512可以在方法500中同时发生。

在步骤514,EDA软件410确定由用户指定的业务流的仲裁设置。在一个示例中,EDA软件410将具有较高优先级业务的虚拟通道设置为具有较高优先级通过交换机206,并且将具有较低优先级业务的虚拟通道设置为具有较低优先级通过交换机206。例如,等时或低等待时间业务的优先级可以高于其他业务类型。在一个示例中,仲裁使用赤字方案。在每个仲裁器输出(例如,交换机206的输出)处,对于从所有输入端口到一个输出端口的所有虚拟通道存在组合仲裁。每个输入端口的每个虚拟通道具有独立的权重值,该权重值提供指定数目的仲裁令牌。令牌用于调节仲裁并且控制业务流之间的带宽分配。该方案确保了在刷新/重新加载令牌之前为具有令牌的所有请求者(例如,端点)提供服务。这样可以确保仲裁不会引起饥饿,因为在启动新的组之前必须服务一个组中的所有请求。在步骤514确定的仲裁设置可以在引导时被编程,或者可以在操作期间动态地调节。

在步骤516,EDA软件410生成用于NoC 106的编程数据。编程数据被设置以将NoC106配置为实现物理通道、虚拟通道以及可选的仲裁设置。在一些示例中,可以在NoC 106的配置之后动态地编程仲裁设置。在步骤518,EDA软件410将编程数据加载到SoC 102(例如,通过将编程数据存储在NVM 110中或直接向SoC 102提供数据编程)。

方法500使用NoC 106提供完全可编程的端到端QoS。某些SoC具有相对固定的互连,其中仲裁方案中的灵活性是有限的。其他SoC具有可选择的路由和有限的QoS优先级,但是没有单独的业务类别和业务流之间的精确带宽分配。方法500提供了以下各项的组合:用于独立的流控制的虚拟通道、可配置的物理通道路由、组中的赤字仲裁以及业务类别的分配。

图6是示出根据一个示例的通信系统600的框图。通信系统600包括通过NoC 106耦合到从设备6040和6041(从设备604)的主设备6020……6024(主设备602)。主设备602和从设备604包括SoC 102中分别耦合到NMU 202和NSU 204的端点电路。NoC 106包括NoC数据包交换机(NPS)206(例如,NPS 2060,0……2060,3和NPS 2061,0……2061,3)。

主设备6020和主设备6021耦合到NPS 2060,0。主设备6020通过低等待时间(LL)虚拟通道耦合到NPS 2060,0。主设备6021通过尽力而为(BE)虚拟通道耦合到NPS 2060,0。主设备6023通过BE虚拟通道耦合到NPS 2060,1。主设备6023通过等时(ISOC)虚拟通道耦合到NPS2060,3。主设备6024通过ISOC虚拟通道耦合到NPS 2060,3。NPS 2060,1耦合到NPS 2060,2。NPS2060,2耦合到NPS 2060,3

NPS 2060,0耦合到NPS 2061,0。NPS 2060,1耦合到NPS 2061,1。NPS 2061,2和NPS2061,3未连接,并且在通信系统600的当前配置中未使用。NPS 2061,0耦合到从设备6040。NPS2061,1耦合到从设备6021。NPS 2061,0耦合到NPS 2061,1

在操作中,主设备6020向从设备6040发送低等待时间业务。主设备6021和6022都向从设备6040发送尽力而为业务。主设备6023和6024向从设备6041发送等时业务。每个业务流在单独的物理通道上进入每个交换机。NPS 2060,0与NPS 2061,0之间、NPS 2060,1与NPS2061,1之间以及NPS 2061,0与从设备6040之间存在两个虚拟通道(由一对线指定)。其他路径仅使用物理通道上的单个虚拟通道(例如,在NPS 2060,1与NPS 2060,2之间以及NPS 2061,1与从设备6021之间)。每个NPS 206具有控制从输入端口到输出端口的业务混合的输出端口仲裁,如下面进一步描述的。

图7是示出根据一个示例的NoC 106的交换机206中的仲裁的框图。每个交换机206包括仲裁器702。在该示例中,仲裁器702包括被指定为输入端口0、输入端口1和输入端口2的三个输入端口。但是,交换机206和仲裁器702可以包括任何数目的输入端口。仲裁器702包括被指定为“out”的输出端口。

如图7所示,在该示例中,输入端口2没有输入业务流。输入端口0具有接收两个业务流(例如,一个低等待时间业务流和一个等时业务流)的两个虚拟通道。输入端口1具有承载一个业务流(例如,尽力而为业务)的单个虚拟通道。仲裁器702的每个输入端口具有所分配的权重。权重控制分配给每个业务流的仲裁带宽的相对份额。在该示例中,端口0针对相应虚拟通道的仲裁权重为4和8,端口1在单个虚拟通道上的仲裁权重为4。这表示,在输出端口的可用带宽中,端口0处的第一业务流获取带宽的25%,端口0处的第二业务流获取带宽的50%,端口1处的业务流获取带宽的25%。例如,与尽力而为业务(较低优先级)相比,可以为端口0处的低等待时间业务(由于优先级较高)分配更多的带宽。这表示,如果所有请求者都在发送,则仲裁器702将为低等待时间业务提供服务,只要它具有仲裁令牌。如果尽力而为业务具有令牌并且没有其他更高优先级的请求者也具有令牌,则尽力而为业务将获取服务。如果存在请求者并且没有请求者剩余有仲裁令牌,则将根据所指定的权重来重新加载仲裁令牌。如果所有请求者的令牌用尽,则仲裁器702也重新加载仲裁令牌。

上面的描述是针对一个仲裁点的。给定物理路径上的每个仲裁点的编程确保了有足够的端到端带宽。对某些虚拟通道使用高优先级分配确保了事务接收到较低等待时间/较低抖动服务。仲裁权重和赤字仲裁的使用确保了所有请求者在与所有仲裁权重之和相对应的一段时间内根据其仲裁权重接收一定量的带宽。如果某些请求者未发送业务,则这样的组的服务时间可以更少。

图8是示出根据一个示例的向虚拟通道分配权重的框图。该示例包括两个仲裁器7021和7022。仲裁器7021在物理通道802、804和806之间进行仲裁。仲裁器7022在物理通道806、808和810之间进行仲裁。每个物理通道802、804、806和808包括被指定为vc0和vc1的两个虚拟通道。在该示例中,存在被指定为src0……src5的六个不同的源(例如,主设备)。源src0在物理通道808的vc0上。源src1在物理通道808的vc1上。源src2在物理通道802的vc0上。源src3在物理通道802的vc1上。源src4在物理通道804的vc0上。源src5在物理通道804的vc1上。仲裁器7022被编程为在物理通道808的vc0上提供权重10并且在物理通道808的vc1上提供权重20。仲裁器7022被编程为在物理通道806的vc0上提供权重30并且在物理通道806的vc1中提供权重40。仲裁器7021被编程为在物理通道802的vc0上提供权重10并且在物理通道802的vc1上提供权重30。仲裁器7021被编程为在物理通道804的vc0上提供权重20并且在物理通道804的vc1上提供权重10。这个加权方案使得在仲裁器7022的输出处,src0具有权重10,src1具有权重20,src2具有权重10,src3具有权重30,src4具有权重20,src5具有权重10。每个源获取的带宽与其权重成比例。本领域技术人员将理解,可以以类似的方式针对任何数目的源在任何数目的仲裁器之间采用各种其他加权方案。

图9是示出可以用作图1所示的SoC 102的实现的根据一个示例的可编程IC 1的框图。可编程IC 1包括可编程逻辑3、配置逻辑25和配置存储器26。可编程IC 1可以耦合到诸如非易失性存储器27、DRAM 28和其他电路29等外部电路。可编程逻辑3包括逻辑单元30、支持电路31和可编程互连32。逻辑单元30包括可以被配置为实现多个输入的通用逻辑功能的电路。支持电路31包括专用电路,诸如收发器、输入/输出块、数字信号处理器、存储器等。逻辑单元和支持电路31可以使用可编程互连32被互连。用于对逻辑单元30进行编程、用于设置支持电路31的参数以及用于对可编程互连32进行编程的信息由配置逻辑25存储在配置存储器26中。配置逻辑25可以从非易失性存储器27或任何其他源(例如,DRAM 28或从其他电路29)获取配置数据。在一些示例中,可编程IC 1包括处理系统2。处理系统2可以包括微处理器、存储器、支持电路、IO电路等。

图10示出了可编程IC 1的现场可编程门阵列(FPGA)实现,其包括大量不同的可编程块,包括收发器37、可配置逻辑块(“CLB”)33、随机存取存储器块(“BRAM”)34、输入/输出块(“IOB”)36、配置和时钟逻辑(“CONFIG/CLOCKS”)42、数字信号处理块(“DSP”)35、专用输入/输出块(“I/O”)41(例如,配置端口和时钟端口)、以及其他可编程逻辑39,诸如数字时钟管理器、模数转换器、系统监测逻辑等。FPGA还可以包括PCIe接口40、模数转换器(ADC)38等。

在一些FPGA中,每个可编程区块可以包括至少一个可编程互连元件(“INT”)43,该INT 43具有到同一区块内的可编程逻辑元件的输入和输出端子48的连接,如图10顶部处包括的示例所示。每个可编程互连元件43还可以包括到同一区块或其他区块中的相邻可编程互连元件的互连段49的连接。每个可编程互连元件43还可以包括到逻辑块(未示出)之间的通用路由资源的互连段50的连接。通用路由资源可以包括包括互连段(例如,互连段50)的轨道的逻辑块(未示出)与用于连接互连段的交换机块(未示出)之间的路由通道。通用路由资源的互连段(例如,互连段50)可以跨越一个或多个逻辑块。可编程互连元件43与通用路由资源一起实现用于所示出的FPGA的可编程互连结构(“可编程互连”)。

在示例实现中,CLB 33可以包括可以被编程为实现用户逻辑的可配置逻辑元件(“CLE”)44、以及单个可编程互连元件(“INT”)43。BRAM 34可以包括BRAM逻辑元件(“BRL”)45、以及一个或多个可编程互连元件。通常,区块中包括的互连元件的数目取决于区块的高度。在图示的示例中,BRAM区块具有与五个CLB相同的高度,但是也可以使用其他数目(例如,四个)。除了适当数目的可编程互连元件,DSP区块35还可以包括DSP逻辑元件(“DSPL”)46。除了可编程互连元件43的一个实例,IOB 36还可以包括例如输入/输出逻辑元件(“IOL”)47的两个实例。本领域技术人员将清楚,连接到例如I/O逻辑元件47的实际的I/O焊盘通常不限于输入/输出逻辑元件47的区域。

在图示的示例中,靠近管芯中央的水平区域(如图10所示)用于配置、提供时钟和其他控制逻辑。从该水平区域或列延伸的垂直列51用于在FPGA的整个宽度上分配时钟和配置信号。

利用图10所示架构的一些FPGA包括其他逻辑块,这些逻辑块破坏了构成FPGA的很大一部分的规则柱状结构。附加逻辑块可以是可编程块和/或专用逻辑。

注意,图10仅意在示出示例性FPGA架构。例如,图10顶部包括的一行中的逻辑块的数目、行的相对宽度、行的数目和顺序、行中包括的逻辑块的类型、逻辑块的相对大小、以及互连/逻辑实现纯粹是示例性的。例如,在实际的FPGA中,无论CLB出现在何处,通常都包括多于一个的相邻CLB行以促进用户逻辑的有效实现,但是相邻CLB行的数目随着FPGA的整体大小而变化。

在一个示例中,可以提供一种生成用于可编程器件中的片上网络(NoC)的配置的方法。这样的方法可以包括:接收多个业务流的业务流需求;基于业务流需求通过NoC为每个业务流分配路由;确定沿着所分配的路由的业务流的仲裁设置;生成用于NoC的编程数据;以及将编程数据加载到可编程器件以配置NoC。

在这样的方法中,接收业务流需求的步骤可以包括:接收多个业务流中的每个业务流的源和目的地信息。

在这样的方法中,接收业务流需求的步骤还可以包括:接收多个业务流中的每个业务流的类别信息,其中类别信息包括多个业务类别之一到多个业务流中的每个业务流的分配。

在这样的方法中,分配路由的步骤可以包括:基于所分配的源和目的地为多个业务流中的每个业务流选择物理通道;以及基于所分配的业务类别为多个业务流中的每个业务流选择虚拟通道。

在这样的方法中,源和目的地信息可以包括多个业务流中的每个业务流的主电路和从电路。

在这样的方法中,路由中的每个路由可以在主电路与从电路之间,主电路与从电路之间具有一个或多个交换机。

在这样的方法中,一个或多个交换机中的每个交换机可以包括仲裁器,并且其中确定仲裁设置的步骤包括向输入到一个或多个交换机中的每个交换机中的仲裁器的一个或多个虚拟通道分配权重。

在另一示例中,可以提供一种其上存储有由处理器可执行以执行生成用于可编程器件中的片上网络(NoC)的配置的方法的指令的非暂态计算机可读介质。这样的非暂态计算机可读介质在其上存储有由处理器可执行以执行生成用于可编程器件中的片上网络(NoC)的配置的方法的指令,该方法可以包括:接收多个业务流的业务流需求;基于业务流需求通过NoC为每个业务流分配路由;确定沿着所分配的路由的业务流的仲裁设置;生成用于NoC的编程数据;以及将编程数据加载到可编程器件以配置NoC。

在这样的非暂态计算机可读介质中,接收业务流需求的步骤可以包括:接收多个业务流中的每个业务流的源和目的地信息。

在这样的非暂态计算机可读介质中,接收业务流需求的步骤还包括:接收多个业务流中的每个业务流的类别信息,其中类别信息包括多个业务类别之一到多个业务流中的每个业务流的分配。

在这样的非暂态计算机可读介质中,分配路由的步骤可以包括:基于所分配的源和目的地为多个业务流中的每个业务流选择物理通道;以及基于所分配的业务类别为多个业务流中的每个业务流选择虚拟通道。

在这样的非暂态计算机可读介质中,源信息和目的地信息包括多个业务流中的每个业务流的主电路和从电路。

在这样的非暂态计算机可读介质中,路由中的每个路由可以在主电路与从电路之间,主电路与从电路之间具有一个或多个交换机。

在这样的非暂态计算机可读介质中,一个或多个交换机中的每个交换机可以包括仲裁器,并且其中确定仲裁设置的步骤可以包括向输入到一个或多个交换机中的每个交换机中的仲裁器的一个或多个虚拟通道分配权重。

在另一示例中,可以提供一种集成电路。这样的集成电路可以包括:处理系统;可编程逻辑区域;以及耦合处理系统和可编程逻辑区域的片上网络(NoC),该NoC包括通过一个或多个物理通道耦合到从电路的主电路,第一物理通道具有多个虚拟通道。

在这样的集成电路中,多个虚拟通道中的每个虚拟通道可以被配置为传送不同类别的业务。

在这样的集成电路中,多个虚拟通道中的多于一个的虚拟通道可以被配置为传送相同类别的业务。

在这样的集成电路中,一个或多个物理通道中的每个物理通道包括通过NoC的一个或多个交换机的路由。

在这样的集成电路中,交换机中的每个交换机包括仲裁器,仲裁器具有对输入到仲裁器的一个或多个虚拟通道的权重。

在这样的集成电路中,NoC可以包括被配置为对主电路、从电路、物理通道和虚拟通道进行编程的***互连。

尽管前述内容涉及特定示例,但是在不脱离其基本范围的情况下可以设计其他和另外的示例,并且其范围由所附权利要求确定。

19页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种信道估计方法和装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!