CN101164298A - 具有数据通信网络的集成电路以及ic设计方法 - Google Patents

具有数据通信网络的集成电路以及ic设计方法 Download PDF

Info

Publication number
CN101164298A
CN101164298A CNA2006800129726A CN200680012972A CN101164298A CN 101164298 A CN101164298 A CN 101164298A CN A2006800129726 A CNA2006800129726 A CN A2006800129726A CN 200680012972 A CN200680012972 A CN 200680012972A CN 101164298 A CN101164298 A CN 101164298A
Authority
CN
China
Prior art keywords
network
data
station
communication
subchannel
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.)
Pending
Application number
CNA2006800129726A
Other languages
English (en)
Inventor
J·迪利森
E·里普克马
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=36694308&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN101164298(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN101164298A publication Critical patent/CN101164298A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9021Plurality of buffers per packet

Abstract

一种集成电路(10),包括多个功能块(101,102,103,104)和数据通信网络(100),所述数据通信网络包括经由多个通信信道(150)互相连接的多个网络站,通信信道(150)用于在功能块(101,102,103,104)之间传输数据分组。每个数据分组包括N个数据元,所述N个数据元包含一个包括用于网络站(110,120,130,140)的路由信息的数据元,N是至少为2的整数。多个网络站包括多个数据路由器(110,120,130,140)和多个网络接口,每个数据路由器(110,120,130,140)经由网络接口(105-108)耦合到功能块(101,102,103,104),数据通信网络(100)包括通过第一通信信道(150)互相连接的第一网络站(140)和第二网络站(120),网络包括M×N个数据存储元件(160),M是正整数,用于在第一通信信道(150)上引入M×N个周期的延迟。集成电路(10)包括多个功能块(101,102,103,104)和多个数据路由器(110,120,130,140),每个路由器耦合到功能块(101,102,103,104)。在慢速通信信道(150)上引入一个或多个数据分组的延迟,有利于提高在数据通信网络(100)上进行数据通信的最大时钟速度。

Description

具有数据通信网络的集成电路以及IC设计方法
技术领域
本发明涉及一种具有多个经由数据通信网络互相连接的功能块的集成电路。
背景技术
现在,大多数集成电路(IC)是超大规模集成电路(VLSI),其具有大量通常在IC上实现许多功能的特征。各种功能可以位于分立的功能块,例如,片上系统(SoC)结构。功能块的互连形成了设计挑战,因为现代IC的高时钟速度利于大量数据的处理,这意味着IC的互连必须能够在功能块之间传输大量的数据。
一方面为了便于灵活的通信,另一方面为了限制所需电线的数量,IC可包括数据通信网络,也称为片上网络(NoC)。这种网络一般包括多个网络站,每个网络站与一个功能块相关联,经由通信信道(例如,电线)互相连接。多个网络站包括多个数据路由器以及多个网络接口,每个数据路由器经由网络接口耦合到功能块。数据可以以分组的形式在网络上传输,分组包括数据和用于网络站的路由指令的混合。在便于双工通信的网络中,一对网络站一般经由至少一对通信子信道互相连接,便于双向通信。
在IC上与通信信道(例如,电线)有关的问题是,IC能够操作的时钟速度可以由速度最慢的通信信道(即,呈现出最大数据传输延迟的信道)来确定。现有的这种问题的若干解决方案,例如,参见Carloni等人的:“Coping with latency in SoC design”(IEEE Micro 5,第22卷,第24-35页,IEEE 2002),其中提供了许多解决方案。可能的解决方案是将诸如锁存器之类的数据存储元件引入到速度最慢的数据通信信道中。因此可以提高IC的数据通信部分的时钟速度,代价是将一个另外的时钟周期用于沿速度最慢的通信信道进行的通信。
令人遗憾地,这种解决方案不能直接用于经由集成网络在功能块之间传输数据的IC,特别是在传输数据的特性每个时钟周期都不同时;参见E.Rijpkema等人的“Trade-offs in the design of a routerwith both guaranteed and best-effort services for networks onchip”(IEE Proc.-Comput.Digit.Tech.,2003年,第1-9页(IEE proceeding online第20030830号)),是这种网络的示例。这种网络根据以下原理进行工作,即,诸如数据路由器之类的网络站在预定时钟周期期间接收合并在数据分组中的路由数据。通过将慢速通信信道上的那个路由器的通信延迟一个时钟周期以加速网络其余的路由器,将使路由数据在预定时钟周期以外到达,导致网络出错。
发明内容
根据开头的段落,本发明设法改进集成电路网络的数据通信速度。
根据本发明的一方面,提供一种集成电路,该集成电路包括多个功能块和数据通信网络,所述数据通信网络包括多个经由多个通信信道互相连接的网络站,通信信道用于在功能块之间传输数据分组,每个数据分组包括N个数据元,该N个数据元包含一个包括网络站路由信息的数据元,N是至少为2的整数,多个网络站包括多个数据路由器和多个网络接口,每个数据路由器经由网络接口耦合到功能块,数据通信网络包括通过第一通信信道互相连接的第一网络站和第二网络站,网络包括M×N个数据存储元件,M是正整数,用于在第一通信信道上引入M×N个周期的延迟。
本发明基于以下实现,即,网络的正确操作依赖于对网络站之间正确周期的维护。因为数据分组具有N个数据元的固定大小,所以在网络异步实现的情况下,在两个网络站之间完整分组的通信占用N个时钟周期,或N个握手驱动的数据传输。路由信息,例如目的地和所需业务类型(例如尽最大努力或保证带宽),在数据分组中具有一个固定位置,例如,第一数据元(即,报头),尽管其他的数据元可以(同时)包含这种信息。因为网络站希望路由信息周期性地到达(即在每N个周期之后),所以在第一通信信道(一般是网络速度最慢的信道)上引入延迟来匹配这种周期,即,通过延迟整个数据分组而不是单个数据元,延迟的数据分组在适当的周期(例如,时钟周期)内被接收网络站接收到。
每个通信信道可以包括:第一相关网络站的输入端口与第二相关网络站的输出端口之间的第一子信道,以及第二相关网络站的输入端口与第一相关网络站的输出端口之间的第二子信道,用于能够在两个相关网络站之间进行双工通信。M×N个数据元可以分布在第一通信信道的子信道上。
在优选实施例中,第一网络站设置为估计第一周期中的路由信息,以及第二网络站设置为估计第二周期中的路由信息,第一周期和第二周期之间的差值是A个周期;第一通信信道的第一子信道呈现出通过A个数据存储元件实现的A个周期的延迟,并且第二子信道呈现出通过B个数据存储元件实现的B周期,A和B是正整数,且A+B=M×N。
在对网络中一个网络站的路由估计阶段中引入相移,具有以下优点,即,数据通信(子)信道中的延迟元件数量可以小于数据分组中的数据元数量,因此改善了具体数据通信(子)信道的等待。缺点是,所有的到相移的网络站的通信必须经由延迟的通信信道来运行,以便引入适当的相移。然而,通过保证任何从设置为估计第二周期中的路由信息的另一网络站到第一网络站的网络路径包括C个延迟元件(C是正整数,且C模N=A)、以及任何从第一网络站到另一网络站的网络路径包括D个延迟元件(D是正整数,且D模N=B),可以避免此限制。这保持了第一网络站和任何其他网络站之间的正确相位关系,而其他网络站在不同于第一网络站的路由信息估计阶段进行操作,因此在网络中保持了最佳的灵活性。
在替换实施例中,第一通信信道的每个子信道包括由1/2×M×N个数据存储元件引入的延迟,其中1/2×M×N一般对应于数据分组的大小。因此,由于双工通信信道的两个路径很可能具有相似的长度和相似的延迟特性,所以两个子信道的这种划分允许在两个通信方向上改进网络速度。
优选地,为了最小化所需延迟元件的数量,M=1,这将最小化在第一通信信道上引入的延迟。
在同步的实现中,IC还包括:时钟信号发生器,多个网络站和对应于时钟信号发生器的M×N个存储元件,以保证在数据路由器和M×N个存储元件之间不发生数据冲突。
每个网络站可以包括与所述网络站的通信端口相关联的第一存储器元件和第二存储器元件,第一存储器元件设置为存储来自需要与所述通信端口相关联的第一业务等级的数据分组的路由信息,以及第二存储器元件设置为存储来自需要与所述通信端口相关联的第二业务等级的数据分组的路由信息。这种实现允许交织需要不同业务等级(例如,尽最大努力和保证带宽的业务等级)的分组。
根据本发明的另一方面,提供一种集成电路的设计方法,该集成电路包括多个功能块和数据通信网络,所述数据通信网络包括多个经由多个通信信道互相连接的网络站,通信信道用于在功能块之间传输数据分组,每个数据分组包括N个数据元,所述N个数据元包含一个包括网络站路由信息的数据元,N是至少为2的整数,多个网络站包括多个数据路由器和多个网络接口,每个数据路由器经由网络接口耦合到功能块,所述方法包括:标识第一网络站与第二网络站之间的第一通信信道,所述网络站具有超过预定延迟阈值的数据传输延迟;以及将M×N个数据存储元件插入数据通信网络,M是正整数,用于在第一通信信道上引入M×N个周期的延迟。这种方法便于本发明集成电路的设计。
在优选实施例中,每个通信信道包括:第一相关网络站的输入端口与第二相关网络站的输出端口之间的第一子信道,以及第二相关网络站的输入端口与第一相关网络站的输出端口之间的第二子信道,用于能够在两个相关网络站之间进行双工通信;并且第一网络站设置为估计第一周期中的路由信息,以及第二网络站设置为估计第二周期中的路由信息,第一周期和第二周期之间的差值是A个周期,所述方法还包括:将A个数据存储元件插入第一通信信道的第一子信道,用于在所述第一子信道上引入A个周期的延迟;以及将B个数据存储元件插入第一通信信道的第二子信道,用于在所述第二子信道上引入B个周期的延迟,A和B是正整数,且A+B=M×N。这种方法便于本发明集成电路的优选实施例的设计。
附图说明
参照附图借助于非限制性示例,本发明被更详细地说明,其中:
图1示出了本发明IC的实施例;
图2示出了沿所述IC的延迟通信信道的定时特性;
图3示出了本发明IC的另一实施例;
图4示出了沿所述IC的延迟通信信道的定时特性;以及
图5示出了包括其定时特性的本发明IC的另一实施例。
具体实施方式
应该理解的是,附图仅仅是示意性的,并未按比例绘制。还将理解,全部附图使用相同的参考数字以指示相同或类似的部分。
图1示出了根据本发明实施例的集成电路(IC)10。IC 10具有四个功能块101-104,例如处理单元,它们经由包括数据路由器110、120、130、140的数据通信网络互相连接,而数据路由器110、120、130、140分别经由各自的网络接口150-108耦合到功能块101-104。数据路由器110、120、130、140和网络接口105-108包括数据通信网络100的网络站。这种数据路由器和网络接口的示例性实施例可以在如下文献中发现,例如:Radulescu等人的“An efficient On-Chip Network Interface Offering Guaranteed Services,SharedMemory Abstraction and Flexible Network Configuration”(“Proceedings of Design”,2004年2月在欧洲召开的Automationand Test会议),和E.Rijpkema等人的:“Trade-offs in the designof a router with both guaranteed and best-effort services fornetworks on chip”(IEE Proc.-Comput.Tech.,2003年,第1-9页(IEE proceedins online第20030830号)),以及其中有关的参考,其相关的段落引入作为参考。
数据通信网络100的网络站经由多个数据通信信道150互相连接。通信信道150可以包括一个或多个线路,例如,数据总线。数据通信网络100配置成允许在功能块101-104之间进行灵活的数据流通信。一般地,这种数据流包括多个数据分组中的一个,其中每个数据分组包括N个数据元,而N是至少为2的整数。一个分组中的N个数据元中的至少一个元件,例如,第一数据元,包括用于目的地网络站的路由指令。这种数据分组有时被称为流指令单元(flit)。
数据流可以利用已知通信技术的网络100进行传输,例如存储和转发路由,其中,完整的数据流在被转送到它的下一目的地之前被存储在数据路由器中,或者例如蛀洞路由,其中,数据路由器可以在接收到完整的数据流之前向其下一目的地发送存储的数据分组。后者的技术具有以下优点,即,数据路由器110、120、130、140需要较少的存储容量,但是这两个技术同样可行,并且也可以使用其他的技术。
图1所示的数据网络100是双工网络,即,它允许双向同步数据通信。然而,要强调的是,本申请同样适用于单一网络,即,不支持同步双向通信的网络。为了便于通过数据网络100进行双工通信,每个通信信道150包括在两个相邻网络站(例如,数据路由器120和140)的各自输入输出之间的第一子信道152和第二子信道154。这便于时分多址(TDMA)数据通信,例如,保证带宽和尽最大努力的业务。为此,数据通信网络100中的每个网络站具有多个存储器,每个存储器包括第一存储器元件和第二存储器元件,例如,数据路由器120中的存储器122,其与通信端口相关联,即,数据路由器的输入端口或输出端口,或更准确地,与经由该通信端口的通信业务等级相关联。显然,多个存储器可以作为单个存储器来实现,所述单个存储器具有足够的存储来跟踪网络站的每个输入/输出端口,下面将通过,仅作为示例,两个数据路由器之间的通信进行阐述。应该理解的是,相同的教导可以应用于数据路由器与网络接口之间的通信,或应用于网络接口与功能块之间的通信,而没有脱离本发明的教导。
典型地,第一数据分组的报头将包括有关数据分组目的地以及该数据分组的业务等级的信息,例如,保证带宽或尽最大努力的业务。业务等级通过在数据路由器目的地输出端口的适当存储器元件中设置一位进行标记。对于具有相同业务等级的后续数据分组,数据路由器将知道这些数据分组属于进行中的数据流,因为该适当的位已经存储在相关的存储器元件中。数据流的最后数据分组包含使数据路由器复位所述位的指示。这种机制允许交织单个通信信道上的两个数据流的数据分组。
在图1中,数据路由器120和140之间的通信信道150已被标识为网络100中的通信信道,呈现出数据传输延迟超过了预定的延迟阈值。可以通过使用可用的定时特性模拟工具使设计遵循对IC 10延迟特性的模拟,在IC设计阶段产生这种标识符。为了避免必须按照两个网络站(例如,数据路由器120和140)之间通信信道150的延迟特性对数据通信网络100的通信速度(例如,时钟速度)进行限制,此通信信道(将被称为慢速通信信道150)装备有M×N个数据存储元件,以便在通信信道上引入M×N个周期的延迟,其中N对应于数据分组的大小,因此允许提高数据网络100的最大通信频率,代价是在该慢速通信信道150上引入单个数据分组的延迟,即,它传输这种数据分组占用的时钟周期的数量。
图1所示网络100设置为传输大小为N=3的数据分组。N取其他值同样可行。慢速通信信道150的第一子信道152被扩展了N=3个数据存储元件160。任选地,慢速通信信道150的第二子信道154也被扩展了N=3个数据存储元件160,在该情况下M=2。因为第一子信道152和第二子信道154一般将彼此邻近,所以它们各自的延迟特性一般将是相似的,因此需要在两个子信道上都引入数据存储元件160。然而,在各自的子信道呈现出不同延迟特性的情况下,例如因为子信道具有不同的长度或因为所使用的定时技术(例如,瀑布计时)的特性,只在一个子信道上引入N个数据元160可以是足够的,在该情况下M=1。
应该理解的是,子信道152和154上的数据存储元件160的物理布置仅仅是示例性的,在相关网络站(例如,数据路由器120或数据路由器140)中集成数据存储元件160的实现同样可行。应该理解的是,相同的教导可以应用于数据路由器与网络接口之间的通信,或应用于网络接口与功能块之间的通信,而没有脱离本发明的教导。相同的教导适用于数据通信网络100的其他实施例,例如,图3和5所示的实施例。数据存储元件160可以是锁存器或者触发器的管线(pipeline)或缓冲器,并且可以用同步或异步的存储元件来实现。在图1中,数据存储元件160响应于与网络站相同的时钟信号(未示出),所述网络站包括数据路由器110、120、130、140和网络接口105-108。
图2示出了沿在第一子信道152上扩展了3个数据存储元件160的慢速信道150进行的通信的定时特性,第一子信道152使数据路由器120的输出端口和数据路由器140的输入端口互相连接。在时钟周期t,数据路由器120利用蛀洞路由接收大小为3个数据元的数据分组的第一数据元h(用粗方框表示)。该数据分组的后续数据元d1和d2在各自的时钟周期t+1和t+2由数据路由器120接收。数据路由器110、120、130、140都配置成定期估计接收数据分组的内容,这在用于大小为N个数据元的数据分组的每N个时钟周期之后。在图1所示IC 10的实施例中,所有的数据路由器110、120、130、140同时执行该操作,即,在相同的时钟周期执行该操作,该相同的时钟周期是时钟周期t加上后来的每第N个时钟周期,即在t+3、t+6等,在此时,希望新数据分组的报头h到达。这种通过数据路由器进行的周期性检查机制,例如可以使用模N计数器来实现。因此,重要的是数据分组的报头没有在这种估计时钟周期以外到达任何数据路由器110、120、130、140。
与蛀洞路由的原理相一致,数据路由器120基于其完整的接收,开始发送数据分组,即在时钟周期t+3经由慢速通信信道150的第一子信道152开始发送数据分组。在这一点上,要强调的是,经由非延迟的通信信道发送的数据元将在与它们被发送的时钟周期相同的时钟周期内到达目的地数据路由器。然而,由于在慢速通信信道150的第一子信道152中存在N=3个数据存储元件160,第一数据存储元件160在t+3接收报头h,在t+4将其传递到第二数据存储元件160上,第二数据存储元件160在t+5将其传递到第三数据存储元件160上,而第三数据存储元件160最终在t+6将其传递到数据路由器160上,数据路由器160与数据网络150中的数据路由器110、120、130、140的报头估计周期同相。这保证了数据分组被数据路由器140正确路由。
在图3所示的根据本发明的IC 10的实施例中,数据路由器140配置成估计比数据网络100中的其他数据路由器110、120、130滞后A个时钟周期(或提前B个周期)的数据分组的报头,其中,N对应于数据分组中的数据元的数量,并且A、B是正整数,且A+B=M×N。一般地,A模N以及B模N都不等于零。
在图3中,M=1,N=3,A=1并且B=2,这仅仅是示例性的。换言之,数据路由器140与数据网络100中的其他数据路由器相比,具有相移的路由信息估计周期。为了保证路由信息被正确地解释,即,为了保证该信息在其适当的时钟周期期间内到达任何数据路由器,可以选择两个可能的实施方案(implementation)。在第一种实施方案中,所有前往/来自相移数据路由器140的通信都通过慢速通信信道150进行路由。因此,只有慢速通信信道150需要在其子信道152和154上引入M×N个数据存储元件。此实施方法的缺点在于数据通信网络100的灵活性被降低了。
在优选实施方案中,从设置为估计第二周期中路由信息的另一网络站到第一网络站的任何网络路径均包括C个延迟元件(C是正整数,且C模N=A),以及从第一网络站到另一网络站的任何网络路径均包括D个延迟元件(D是正整数,且D模N=B)。这保证了时钟周期与路由信息估计之间的正确相位关系得以贯穿整个数据通信网络100保持。例如,在图3中,C=A,并且B=D,其中,C个数据元160被引入到数据路由器130的输出端口与数据路由器140的输入端口之间的子信道152中,而且D个数据元160被引入到数据路由器130的输入端口与数据路由器140的输出端口之间的子信道154中。
换言之,相对于彼此呈现出相移路由信息周期的两个网络站之间的每个通信信道150,将包括适当数量的数据存储元件160,以实现与相移所对应的周期数量。在图3中,这意味着所有连接数据路由器140的输入端口的子信道被扩展了A个数据存储元件160,用来在前往数据路由器140的通信上引入A个周期的延迟,而且所有连接数据路由器140的输出端口的子信道被扩展了B个数据存储元件160,用来在来自数据路由器140的通信上引入B个周期的延迟。因为A+B=M×N,所以与数据路由器140连接的每个通信信道150包括M×N个数据存储元件160,因此保证了在两个相邻数据路由器之间的通信环路上精确地引入M个数据分组的延迟。
这在图4中更详细地加以阐述,其中,在图3所示的IC 10网络中,由数据元h、d1和d2组成的数据分组从数据路由器120被发送到数据路由器140,然后再被返回。数据路由器120和140的路由信息估定时钟周期在这一周期开始时用垂直粗实线表示。换言之,数据路由器120在t、t+3、t+6等时刻估计接收到的数据分组的路由信息,而数据路由器140在t+1、t+4、t+7等时刻估计接收到的数据分组的路由信息。数据路由器120在T=t的时刻向数据路由器140发送数据元h。在T=t的时刻,数据元h被第一子信道152中的数据存储元件160接收,该子信道152存储数据元h,然后在T=t+1的时刻将它发送给数据路由器140,数据路由器140在相同的时钟周期期间接收到数据元h,并估计报头h中包含的路由信息。
在数据路由器140已经于T=t+2的时刻接收到数据元d1以及已经于T=t+3的时刻接收到数据元d2之后,即,在数据路由器140已经接收到完整的数据分组之后,数据路由器140经由第二子信道154向数据路由器140发送数据分组的第一数据元。由于在第二子信道154上存在两个数据存储元件160,所以第一数据元h在T=t+6的时刻,即在调度数据路由器120估计路由信息的周期期间,被数据路由器120接收到,而其他两个数据元d1和d2在随后的周期t+7和t+8分别到达。应该理解的是,子信道152和154中的数据存储元件160作为相移器进行工作,以保证路由信息在每个数据路由器相域中适当的时候被估计。相移技术的应用具有以下优点,即,在各个子信道152、154上引入的延迟可以小于整个数据分组,因此与图1展示的解决方案相比,改进了慢速通信信道150的性能。
在这一点上,应该理解的是,在不脱离本发明教导的前提下,可以进一步扩展不同相域的数量。应该重申的是,虽然在两个数据路由器之间的通信信道上给出了数据存储元件的示例性实施方案,但是在其它类型网络站之间(例如,数据路由器与网络接口之间)信道上的实施方案,同样可行。
图5示出了两个网络站(例如,数据路由器120和140)之间延迟的双工通信信道150的异步实施方案,其相对于时钟相位差(clockskew)是稳健的。数据路由器120和140由时钟信号CLK触发。然而,由于时钟信号必须穿过比到数据路由器120更长的线路到达数据路由器140,所以路由器140接收到延迟的时钟信号CLK_d,该信号相对于由数据路由器120接收到的时钟信号延迟t1。在完全同步的数据通信网络100中,这能够引发通信错误,因为由数据路由器140在时钟周期t通过数据路由器120和140之间的慢速通信信道150向数据路由器120或第一延迟元件160发送的数据包,可能在周期t+1而不是在周期t到达它的目的地。如前所述,这将造成路由信息在它的路由信息估计周期之外到达数据路由器120,这极可能由于路由错误而造成信息的丢失。
通过将M×N个数据存储元件160分别实施为数据路由器120和140之间第一子信道152上和第二子信道154上的异步FIFO缓冲器520和540,可以降低此风险。此实施方案对时钟相位差不敏感,至少在一定的范围内不敏感。为了改进异步FIFO缓冲器520和540相对于时钟相位差的稳健性,缓冲器可以包括比M×N个数据存储元件稍多的数据存储元件,正如下面将详细阐述的那样。
异步FIFO缓冲器520和540具有与时钟CLK无关的通信特性;基于握手协议,数据被行波传送到FIFO缓冲器520和540。这种特性通常快于同步通信,因为如前所述,后者受同步通信网中的速度最慢的路径支配。
数据分组从数据路由器120到FIFO缓冲器520的通信,由握手验证信号501发起,继之以大小为N的数据分组的数据元的同步数据通信502;该通信由响应于时钟信号CLK的数据路由器120控制。数据元采用时间周期t2以便行波传送到FIFO缓冲器520,在这之后,握手请求503被发送给数据路由器140。初始握手请求的接收初始化数据路由器140,并通过向FIFO缓冲器520发送触发数据通信505的确认信号504,来触发数据路由器140以接受数据通信。数据路由器140将保持初始化,直到数据分组的数据流已被完全接收。数据路由器120和140的数据分组接收周期,分别用时钟信号clk和clk_d上的水平粗实线指示。根据蛀洞路由法,数据路由器140通过向FIFO缓冲器540发送握手验证信号506和数据通信507,同时接收数据通信,并同时在接收到请求信号503的N个时钟周期之后,向FIFO缓冲器540发送数据分组,即每个时钟周期一个数据元。在周期t3之后,即在让数据元行波传送到FIFO缓冲器540的时间之后,FIFO缓冲器540向数据路由器120发送握手请求信号508。
关键的是,因为数据路由器120已被初始化,即它已经从事向数据路由器140传输数据流,所以数据路由器120将只发送这种握手请求的确认信号509,以便能够在数据路由器120的路由信息估计周期开始时进行通信510,正如垂直虚线所指示的那样。可替换地,如果数据流从数据路由器120向数据路由器140的传输在握手请求508从FIFO缓冲器540到数据路由器120的传输之前已经完成,则该请求将初始化数据路由器120。在这两种情况下,保证了路由信息在数据路由器120的正确时隙内被接收,而不管触发数据路由器120和140的时钟信号上的时钟相位差。如果数据路由器120与数据路由器140之间的时钟相位差相当大,那么数据路由器140就可以在FIFO缓冲器540接收到确认信号509之前,向其发送下一个数据分组的第一数据元。在这种情形下,FIFO缓冲器509必须能够存储超过M×N个数据元的数据元,以免丢失存储在FIFO缓冲器509中的数据。这可以通过给M×N个数据存储元件添加一个或多个数据存储元件作为覆写保护来实现。
根据本发明,包括数据通信网络100的IC 10可以使用如下修改的IC设计方法进行设计。在设计IC 10的第一型式(其使用公知的IC设计工具可以完成,并由此不再进一步阐述)之后,执行估计步骤,在该步骤中,标识一个网络站与第二网络站之间数据传输延迟超过预定延迟阈值的第一通信信道。因此,根据本发明的教导,通过将M×N个数据存储元件插入网络,修改数据通信网络100的设计,其中,M是正整数,用于在第一通信信道上引入M×N个周期的延迟。这允许提高数据通信网络100能够工作的最大时钟速度。
插入步骤可以包括:将A个数据存储元件插入第一通信信道(150)的第一子信道(152),用于在所述第一子信道上引入A个周期的延迟;以及,将B个数据存储元件插入第一通信信道(150)的第二子信道(154),用于在所述第二子信道上引入B个周期的延迟;其中,A和B是正整数,且A+B=M×N,以便创建相移的数据通信网络100,如图3和4以及它们的详细说明所述。
应该注意的是,上述实施例说明而非限制本发明,并且本领域技术人员在不脱离所附权利要求的范围的前提下,可以设计许多替换实施例。在权利要求中,置于括号内的任何参考标记不会被看作是对权利要求的限制。单词“包括”不排除存在权利要求所列之外的元件或步骤。元件前的单词“一”或“一个”不排除存在多个这种元件。本发明可以借助于包括若干不同元件的硬件来实现。在列举若干装置的设备权利要求中,这些装置中的多个可以由同一个硬件项目来体现。起码的事实是:相互不同的从属权利要求中叙述的某些手段,并不指示不能有利地使用这些手段的组合。

Claims (11)

1.一种集成电路(10),包括:
多个功能块(101,102,103,104);以及
数据通信网络,其包括经由多个通信信道(150)互相连接的多个网络站(105-108,110,120,130,140),而通信信道(150)用于在功能块(101,102,103,104)之间传输数据分组,每个数据分组包括N个数据元,所述N个数据元包括一个包含用于网络站(105-108,110,120,130,140)的路由信息的数据元,N是至少为2的整数,多个网络站包括多个数据路由器(110,120,130,140)和多个网络接口(105-108),每个数据路由器(110,120,130,140)经由网络接口(105-108)耦合到功能块(101,102,103,104),数据通信网络(100)包括通过第一通信信道(150)互相连接的第一网络站(140)和第二网络站(120),网络包括M×N个数据存储元件(160),M是正整数,用于在第一通信信道(150)上引入M×N个周期的延迟。
2.如权利要求1所述的集成电路(10),其中,每个通信信道(150)包括:
第一相关网络站的输入端口与第二相关网络站的输出端口之间的第一子信道(152);以及
第二相关网络站的输入端口与第一相关网络站的输出端口之间的第二子信道(154),用于使得能够在两个相关网络站之间进行双工通信。
3.如权利要求2所述的集成电路(10),其中,M×N个数据元(160)分布在第一通信信道(150)的第一子信道(152)和第二子信道(152;154)上。
4.如权利要求3所述的集成电路,其中:
第一网络站被设置成估计第一周期中的路由信息,第二网络站被设置成估计第二周期中的路由信息,第一周期和第二周期之间的差值为A个周期;以及
第一通信信道(150)的第一子信道(152)显示出通过A个数据存储元件(160)实现的A个周期的延迟,以及第二子信道(154)显示出通过B个数据存储元件(160)实现的B个周期的延迟,A和B是正整数,同时A+B=M×N。
5.如权利要求4所述的集成电路,其中,从被设置成估计第二周期中的路由信息的另一网络站到第一网络站的任何网络路径均包括C个延迟元件,C是正整数并且C模N=A;以及,从第一网络站到另一网络站的任何网络路径均包括D个延迟元件,D是正整数并且D模N=B。
6.如权利要求1-5所述的集成电路(10),其中,M=1。
7.如权利要求3所述的集成电路(10),其中,第一通信信道的第一子信道(152)和第二子信道(154)的每个都包括由1/2×M×N个数据存储元件(160)引入的延迟。
8.如权利要求1或2所述的集成电路(10),还包括时钟信号发生器,多个网络站(110,120,130,140)以及M×N个存储元件(160)响应于所述时钟信号发生器。
9.如权利要求1或2所述的集成电路(10),其中每个网络站(110,120,130,140)都包括与所述网络站的通信端口相关联的第一存储器元件和第二存储器元件,第一存储器元件被设置成存储来自需要与所述通信端口相关联的第一业务等级的数据分组的路由信息,而第二存储器元件被设置成存储来自需要与所述通信端口相关联的第二业务等级的数据分组的路由信息。
10.一种设计集成电路(10)的方法,该集成电路包括多个功能块(101,102,103,104)和数据通信网络,所述数据通信网络包括经由多个通信信道(150)互相连接的多个网络站(105-108,110,120,130,140),通信信道(150)用于在功能块(101,102,103,104)之间传输数据分组,每个数据分组包括N个数据元,所述N个数据元包括一个包含用于网络站(105-108,110,120,130,140)的路由信息的数据元,N是至少为2的整数,多个网络站包括多个数据路由器(110,120,130,140)以及多个网络接口(105-108),每个路由器(110,120,130,140)经由网络接口耦合到功能块(101,102,103,104);所述方法包括:
标识第一网络站(140)与第二网络站(120)之间的第一通信信道(150),其具有超过预定延迟阈值的数据传输延迟;以及
将M×N个数据存储元件(160)插入数据通信网络(100),M是正整数,用于在第一通信信道(150)上引入M×N个周期的延迟。
11.如权利要求10所述的方法,其中,每个通信信道(150)包括第一相关网络站的输入端口与第二相关网络站的输出端口之间的第一子信道(152),以及第二相关网络站的输入端口与第一相关网络站的输出端口之间的第二子信道(154),用于使得能够在两个相关网络站之间进行双工通信;以及
第一网络站被设置成估计第一周期中的路由信息,第二网络站被设置成估计第二周期中的路由信息,第一周期和第二周期之间的差值为A个周期,所述方法还包括:
将A个数据存储元件插入第一通信信道(150)的第一子信道(152),用于在所述第一子信道上引入A个周期的延迟;以及
将B个数据存储元件插入第一通信信道(150)的第二子信道(154),用于在所述第二子信道上引入B个周期的延迟;A和B是正整数,同时A+B=M×N。
CNA2006800129726A 2005-04-21 2006-04-20 具有数据通信网络的集成电路以及ic设计方法 Pending CN101164298A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP05103232.4 2005-04-21
EP05103232 2005-04-21

Publications (1)

Publication Number Publication Date
CN101164298A true CN101164298A (zh) 2008-04-16

Family

ID=36694308

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006800129726A Pending CN101164298A (zh) 2005-04-21 2006-04-20 具有数据通信网络的集成电路以及ic设计方法

Country Status (7)

Country Link
US (1) US8072893B2 (zh)
EP (1) EP1875683B1 (zh)
JP (1) JP2008538670A (zh)
KR (1) KR20080011209A (zh)
CN (1) CN101164298A (zh)
AT (1) ATE523990T1 (zh)
WO (1) WO2006111931A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107005477A (zh) * 2014-12-22 2017-08-01 英特尔公司 用于片上网络的基于链路延迟的路由装置
CN108476158A (zh) * 2016-01-21 2018-08-31 高通股份有限公司 多个通信总线上的基于优先级的数据通信
CN111919205A (zh) * 2018-03-31 2020-11-10 美光科技公司 多线程自调度可重新配置计算架构的循环线程顺序执行控制

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100653087B1 (ko) * 2005-10-17 2006-12-01 삼성전자주식회사 AXI가 적용된 NoC 시스템 및 그 인터리빙 방법
JP5753372B2 (ja) * 2009-12-22 2015-07-22 キヤノン株式会社 データ処理装置およびその制御方法
WO2011092548A1 (en) * 2010-01-26 2011-08-04 Freescale Semiconductor, Inc. Integrated circuit device and method of using combinatorial logic in a data processing circuit
US9355690B1 (en) * 2011-03-17 2016-05-31 Xilinx, Inc. Time-multiplexed, asynchronous device
CN103493440B (zh) * 2011-04-20 2016-08-24 飞思卡尔半导体公司 集成电路装置和执行直通转发的方法
IN2014DE02931A (zh) 2013-11-01 2015-06-26 Seiko Epson Corp
CN104615388B (zh) * 2013-11-01 2017-12-22 精工爱普生株式会社 打印控制系统
US10110700B2 (en) * 2014-03-31 2018-10-23 Oracle International Corporation Multiple on-die communication networks
US10176012B2 (en) 2014-12-12 2019-01-08 Nxp Usa, Inc. Method and apparatus for implementing deterministic response frame transmission
US10505757B2 (en) 2014-12-12 2019-12-10 Nxp Usa, Inc. Network interface module and a method of changing network configuration parameters within a network device
US10628352B2 (en) 2016-07-19 2020-04-21 Nxp Usa, Inc. Heterogeneous multi-processor device and method of enabling coherent data access within a heterogeneous multi-processor device

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6466548B1 (en) * 1998-10-28 2002-10-15 Cisco Technology, Inc. Hop by hop quality of service measurement system
US7606164B2 (en) * 1999-12-14 2009-10-20 Texas Instruments Incorporated Process of increasing source rate on acceptable side of threshold
US20020087716A1 (en) * 2000-07-25 2002-07-04 Shakeel Mustafa System and method for transmitting customized multi priority services on a single or multiple links over data link layer frames
US7197009B1 (en) * 2002-03-06 2007-03-27 Sprint Communications Company L.P. Delay variation based routing in communication systems
GB2399263A (en) * 2003-03-07 2004-09-08 Zarlink Semiconductor Ltd Clock synchronisation over a packet network
US7680920B2 (en) * 2003-03-24 2010-03-16 Netiq Corporation Methods, systems and computer program products for evaluating network performance using diagnostic rules identifying performance data to be collected
US7362763B2 (en) * 2003-09-04 2008-04-22 Samsung Electronics Co., Ltd. Apparatus and method for classifying traffic in a distributed architecture router

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107005477A (zh) * 2014-12-22 2017-08-01 英特尔公司 用于片上网络的基于链路延迟的路由装置
CN107005477B (zh) * 2014-12-22 2021-03-02 英特尔公司 用于片上网络的基于链路延迟的路由装置
CN108476158A (zh) * 2016-01-21 2018-08-31 高通股份有限公司 多个通信总线上的基于优先级的数据通信
CN108476158B (zh) * 2016-01-21 2020-12-29 高通股份有限公司 多个通信总线上的基于优先级的数据通信
CN111919205A (zh) * 2018-03-31 2020-11-10 美光科技公司 多线程自调度可重新配置计算架构的循环线程顺序执行控制
CN111919205B (zh) * 2018-03-31 2024-04-12 美光科技公司 多线程自调度可重新配置计算架构的循环线程顺序执行控制

Also Published As

Publication number Publication date
KR20080011209A (ko) 2008-01-31
US20080186983A1 (en) 2008-08-07
US8072893B2 (en) 2011-12-06
JP2008538670A (ja) 2008-10-30
EP1875683A1 (en) 2008-01-09
EP1875683B1 (en) 2011-09-07
WO2006111931A1 (en) 2006-10-26
ATE523990T1 (de) 2011-09-15

Similar Documents

Publication Publication Date Title
CN101164298A (zh) 具有数据通信网络的集成电路以及ic设计方法
EP1249978B1 (en) Device and method for transmission in a switch
Stefan et al. daelite: A tdm noc supporting qos, multicast, and fast connection set-up
EP0022170B1 (en) Method of attaining communication of data packets on a local shared bus network and local shared bus network
EP0467583B1 (en) Repeater
JP3816530B2 (ja) 低い待ち時間、高いクロック周波数、プレジオ非同期 パケット・ベースクロスバー・スイッチング・チップ・システム及び方法
US4943959A (en) Data packet switching
US20030055999A1 (en) Fly-by serial bus arbitration
CN102907058B (zh) 在没有中央控制的网络中提供同步锁定单元传输的装置和方法
JP2008532169A (ja) 共有されたリソースを調停するための電子装置及び方法
JP4648402B2 (ja) インターフェイスモジュールと通信モジュールを備える通信モジュールシステム
WO2013101794A1 (en) Link between chips using virtual channels and credit based flow control
EP1894370B1 (en) Electronic device, method for frame synchronization, and mobile device
Carvajal et al. Atacama: An open FPGA-based platform for mixed-criticality communication in multi-segmented Ethernet networks
Simon et al. Ethernet with time sensitive networking tools for industrial networks
CN101129033B (zh) 控制对共享资源的访问的方法和系统
Nambinina et al. Extension of the lisnoc (network-on-chip) with an axi-based network interface
Sethi et al. Bio-inspired fault tolerant network on chip
Mckenny et al. Transporting multiple classes of traffic over a generic routing device-an investigation into the performance of the RapidIO/spl trade/interconnect architecture
US5414740A (en) Synchronous communication system having multiplexed information transfer and transition phases
CN112631985B (zh) 一种链路共享的片上网络
Achar et al. FPGA based Design and Simulation of basic Routing Protocols
Koyanagi et al. Synfinity II-a high-speed interconnect with 2 GBytes/sec self-configurable physical link
Lee et al. Semi-distributed scheduling for flexible codeword assignment in a CDMA network-on-chip
Huang et al. Collision avoidance tree networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
AD01 Patent right deemed abandoned

Effective date of abandoning: 20080416

C20 Patent right or utility model deemed to be abandoned or is abandoned