CN105794113B - 与仿真和原型平台上的分区的动态互连 - Google Patents
与仿真和原型平台上的分区的动态互连 Download PDFInfo
- Publication number
- CN105794113B CN105794113B CN201380081271.8A CN201380081271A CN105794113B CN 105794113 B CN105794113 B CN 105794113B CN 201380081271 A CN201380081271 A CN 201380081271A CN 105794113 B CN105794113 B CN 105794113B
- Authority
- CN
- China
- Prior art keywords
- signal
- channel
- frequency
- change
- dynamic communication
- 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
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17736—Structural details of routing resources
- H03K19/17744—Structural details of routing resources for input/output signals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/405—Coupling between buses using bus bridges where the bridge performs a synchronising function
- G06F13/4059—Coupling between buses using bus bridges where the bridge performs a synchronising function where the synchronisation uses buffers, e.g. for speed matching between buses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/0175—Coupling arrangements; Interface arrangements
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Geometry (AREA)
- Evolutionary Computation (AREA)
- Time-Division Multiplex Systems (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
在本文中描述了一种动态互连。所述动态互连包括发送模块、接收模块、以及复用器。在传输信道的分组中检测到信号改变,并且响应于该信号改变,复用器的输出被切换至发生改变的信道。
Description
技术领域
概括而言,本申请涉及时分数据复用和传输。更加具体而言,本技术涉及与频率感知能力的动态互连。
背景技术
现场可编程门阵列(FPGA)的容量已经极大地增强了,而FPGA的输入/输出(I/O)管脚数一直保持稳定。为了准确地实现原型复杂芯片设计,已经链接了几个FPGA以对芯片设计进行仿真。使用FPGA来对芯片设计进行仿真使得设计者能够确保芯片设计的功能如所预期的那样。使用单个FPGA是所期望的,然而单个FPGA可能没有足够的I/O管脚来对设计进行仿真。相比之下,使用几个FPGA可能导致不理想的原型的速度。
附图说明
图1是使用四个传输信道的包括发送模块和接收模块的动态互连的示图。
图2示出了针对信号改变检测以及对传输顺序进行改变的时序。
图3是具有在第一分区和第二分区上运行的信道的应用的框图。
图4是示出了针对运行时的动态复用方案的方法的处理流程图。
图5是示出了针对频率感知的动态复用方案的方法的处理流程图。
图6是根据所描绘的发明的片上系统(SOC)设计的实施例。
在本公开和附图中通篇所使用的相同标号指的是相同的组件和特征。100系列中的标号是指最初在图1中所发现的特征;200系列中的标号是指最初在图2中所发现的特征;以此类推。
具体实施方式
经过最近几年,FPGA的容量已经极大地增强了,而I/O管脚数一直保持稳定。对于基于FPGA的仿真或原型平台而言,容量与I/O管脚的数量之间增加的差距变得越来越关键。缺少I/O管脚可能引起被分区成多个FPGA的设计的数据传输中的瓶颈。
在本文中所描述的实施例针对与仿真和原型平台上的分区的动态互连。在一些情况下,通过使用运行时的动态复用方案,运行时时分复用(TDM)方案将使得两个设备之间的信号更加有效地传输。所述设备可以是FPGA。通过运行时方案,通过将传输信号分组为并列的比较单元,并且将高传输优先级分配至其中信号值已经改变的分组来优化针对时分复用数据连接所需要的传输时间。发送者可以将信号改变标记至接收芯片,并且在改变信号被去断言(de-asserted)之后,接收芯片可以继续其正常的操作。此外,接收芯片不对未改变的信号的接收进行等待。
本发明还考虑使用不同的信号分组的切换特性,并且针对每个分组而选择不同的互连实现以更好地利用硬件平台的可用的物理链路。如在本文中所使用的,切换特性指的是信号改变的频率。此外,如在本文中所使用的,互连实现可以包括但不限于不同的TDM以及不同数量的所需要的物理链路。
在实施例中,当对所需要的TDM方案进行计算时,可以使用信号的切换频率。在相同的应用频率上运行的信号可以被分组,并且可以使用所需要的频率和所需要的互连宽度的知识来对针对每个单独的分组而言最适合的物理链路的数量进行计算。每个分组使用可用的全部数量的链路的一部分。
图1是使用4个传输信道的包括发送模块102和接收模块104的动态互连100的示图。专用控制模块106选择待传输的信道。在该示例中,左边的n个用户信号108被分到四个信道110A、110B、110C、和110D中。每个信道110A、110B、110C、和110D都处理由控制模块106所同步的固定的复用方案。
针对每个信道110(例如,信道110A),TDM复用器112与先入先出缓冲器114的输出进行比较。通过将TDM复用器112输出与数据先入先出(FIFO)缓冲器114的输出进行比较来检测信号改变。开始同步信号113可以用于使TDM复用器112开始确保针对每个FPGA的每个TDM复用器已经被同步了。计数器可以被用作一种对TDM复用器进行同步的机制。在一些情况下,通过在附图标记116处使用XOR运算来进行比较。在111处的信号改变检测将输出切换至已经检测到改变的信道。该信道将接着被选择而持续至少一个完整的TDM循环。如果信道被选择用于传输,则FIFO114输入数据将是实际的传输数据。否则,FIFO 114输出数据被反馈至FIFO输入。从而,FIFO 114输入可以从旧的FIFO 114数据或者从复用器117中所传输的数据(其在附图标记115处进行复用)中进行选择。源选择128用于控制复用器115,以使得正确的数据被传回FIFO 114。
如果没有在任何信道中检测到信号改变,则由信道号给出传输顺序。例如,针对该示例中的每个信道的所需要的复用因数是:TDM=n/4/(输出管脚数)。在任何事件中,每个信道的输出都被传输至另一个复用器117。该复用器将传输数据输出传递至接收模块104。
专用控制总线118被传输至通过控制与信道解码块120来标记当前的传输信道的接收模块104。在一些情况下,控制总线指示从复用器117被传输至接收块104的数据的源头。接收TDM解复用器模块122通过对控制总线118上的信道信息进行评估而被同步至传输模块102。在一些情况下,从信道三切换至信道零对接收TDM计数器进行同步。
复用器130用于对从传输模块102中所接收到的信道数据进行解复用。控制与信道解码120将控制信号118作为输入,并且使用其来利用信道选择信号132而选择复用器130的信道。所选择的信道接着在附图标记134处作为数据而被传输到接收模块外。
只要检测到信号变化,传输控制模块106就将通过将“数据稳定”信号126解断言而将信号变化标记至应用设计。数据稳定表示还没有检测到变化。在配置周期之后,可以重新断言数据稳定信号。该信号126也可以被包括在到接收模块104的控制总线118中。通过对针对“数据稳定”断言来合适地配置延迟,下一个应用时钟循环的执行可以被自动延迟,直到保证所有的变化信号成功地传输至接收端并且在接收模块输出处所有的信号是稳定的为止。
在复杂的原型或者仿真系统中,设计被分开在多个FPGA上,如由互连100所示出的那样。针对同步的系统,时钟脉冲边沿在对存储元件的所有的输入信号都是稳定的之后发生。当设计在触发器边界处不能被划分时,这会导致问题。在这些情况下,需要多个芯片上的路径分析来确定针对整个应用设计的实际最快的时钟周期,其是由最坏的情况的信号路径所确定的。该路径可以包含多个复用器以及多个解复用器部分。
在没有在图1中所示出的动态互连的情况下,基于所计算的最坏情况的信号延迟,设计性能一直是慢速的。在具有动态互连的情况下,由于将动态地启用下一应用时钟脉冲边沿,因此系统性能更快。只有信号在最坏情况的路径上改变,性能才会下降至与在没有使用动态互连的系统中相同的值。即使具有最坏的情况的路径上的信号的改变,利用本发明,设计也将运行地更快,只要属于相同的互连模块的所有信道上不存在信号改变。
图2示出了针对信号改变检测以及对传输顺序进行改变的时序200。为了方便描述,图2包括4个信道:附图标记110A处的信道0、附图标记110B处的信道1、附图标记110C处的信道3、以及附图标记110D处的信道4。在该示例中,附图标记110A处的信道0具有最高的优先级,附图标记110B处的信道1具有第二高的优先级,附图标记110C处的信道2具有第三高的优先级,而附图标记110D处的信道3具有最低的优先级。可以基于诸如应用频率、不同的TDM、所需要的不同数量的物理链路等的各种设计参数来分配优先级。
在附图标记202处示出了传输时隙。每个时隙都具有指示用于在某个时间点处传输的信道调度的标号。传输时隙具有TDM周期的时间长度。当数据没有改变时,附图标记204处的数据改变信号是低的,而当传输数据存在改变时,数据改变信号是高的。此外,当数据是稳定的时,附图标记206处的数据稳定信号是高的。当数据正在改变时,附图标记206处的数据稳定信号是低的,并且直到在上一数据改变后经过一段时间才返回高。在一些情况下,这一段时间被称为配置延迟。
在数据改变之前,信道调度器可以根据任何算法来选择用于传输的信道。在附图标记208处的时间“A”处,附图标记110C处的信道二的输入发生改变。该改变在可配置的时间内去断言了附图标记206处的数据稳定信号,并且信道二被标记用于在下一时隙中进行传输。可配置的时间可以是由设计所实现的任何时间段。如上所述,每个传输时隙持续TDM传输时钟周期。只要引起改变的信道还没有被传输,则改变被标记。由于附图标记110A处的信道零的数据在附图标记110C处的信道二之后不久发生改变,并且在附图标记110A处的信道零具有更高的优先级,所以标记附图标记110A处的信道零用于在附图标记110C处的信道2之前的下一时隙中进行传输。在附图标记210处的时间“B”处,附图标记110B处的信道一和附图标记110D处的信道三的数据正在改变。附图标记110B处的信道一具有更高的优先级,并且将在附图标记110D处的信道三之前首先被传输。在附图标记110D处的信道三被传输之后,信道调度器返回至循环算法,其在时间“A”处被中断并且通过传输信道二来继续。当在数据变化去断言后经过所配置的时间之后,将断言数据稳定信号。
在附图标记212处的时间“C”处,附图标记110D处的信道三处的数据输入发生改变,并且针对下一传输时隙而被调度。由于不存在其它数据改变,因此在附图标记110D处的信道三已经被传输并且已经经过了可配置的延迟之后,数据稳定信号再一次被断言。因此,应用设计可以远远快于在时间“A”处而继续执行。
通过动态互连,传输信道的数量是可配置的。将信号值改变检测应用至每个信道,并且针对具有改变信号的信道而进行信号传输的优先化。在一些实施例中,从发送模块到接收模块使用小型控制总线。此外,互连的发送端上的锁定机制在信号正在改变时阻止下一应用的时钟脉冲边沿。总地来说,与标准TDM去复用模块相比,动态互连结果是接收端上的很小的开销。此外,在一些实施例中,假如所有信道上的传输数据都没有变化,则应用设计将最多比使用固定的TDM方案而构建的系统快信道数量倍。
图3是具有在第一分区304和第二分区306上运行的信道的应用302的框图。对应用302进行分析以确定不同的时钟域,并且运行不同域的应用302的信号根据相应的时钟域而被分组或分区。例如,应用包括附图标记308处的第一CLK1域、以及附图标记310处的第二CLK2域。为了方便描述,示出了两个时钟域308和310。然而,可以使用任何数量的时钟域。
当信号被分区时,每个分组的信号的总数量是确定的。在该示例中,信号分组n在附图标记312处,而信号分组m在附图标记314处。在附图标记312处的信号分组n在第一时钟域308上运行,而在附图标记314处的信号分组m在第二时钟域310上运行。
为了计算针对在附图标记312处的信号分组n和在附图标记314处的信号分组m中的每个的最佳的时分复用(TDM)因数,需要系统内的可用的物理链路的数量。最佳TDM可以被称为fmax,并且是应用中的所有时钟的最高频率。在该示例中,应用的时钟是在附图标记308处的第一CLK1域、以及在附图标记310处的第二CLK2域。此外,物理链路的数量被表示在分区304和分区306之间的附图标记316处。
基于这些参数,针对在附图标记312处的信号分组n和在附图标记314处的信号分组m中的每个的单独的TDM因数可以被计算:
n'=f(n,f1,fmax,x)
m'=f(m,f2,fmax,x),
其中,n'是针对在附图标记312处的信号分组n的TDM因数,并且是关于信号分组n、在物理链路上运行的第一虚拟链路的应用频率f1、最佳TDMfmax、以及可以用的物理链路的数量x的函数。类似地,m'是针对在附图标记314处的信号分组m的TDM因数,并且是关于信号分组m、在物理链路上运行的第二虚拟链路的应用频率f2、最佳TDMfmax、以及可以用的物理链路的数量x的函数。
通过计算单独的TDM因数,以较低的应用频率运行的信号分组可以使用分区之间的可用的物理链路的较小的部分,但是可以通过使其链路具有较高的TDM因数来对此进行补偿。这可以完成是因为这些链路具有较高的时序预算以跨物理链路而获得其信号状态。另一方面,具有最高的切换频率的信号分组应该使用最小的TDM因数,因为其主要限制仿真性能。
图4是示出了针对运行时的动态复用方案的处理流程图。在方框402处,多个传输信号被分组为并列的比较单元。在方框404处,响应于并列的比较分组内的改变的信号值以及传输优先级,在并列的比较单元内动态地确定信号的传输顺序。在一些情况下,响应于改变的信号,将数据稳定信号去断言一段时间。该一段时间可以是根据系统的特定的设计而实现的可配置的时间延迟。在方框406处,基于信号的传输顺序来调度信号以进行传输。信号可以由信道调度器分配时隙。在一些情况下,时隙持续TDM传输时钟循环的长度。
图5是示出了针对频率感知的动态复用方案的方法的处理流程图。在方框502处,针对多个时钟域来对应用进行分析。在方框504处,多个传输信号被分组为在相同的时钟域上运行的多个分组。可以使用应用频率来计算每个分组的信号的总数,所需要的频率、或者所需要的互连宽度、或其任何组合用于计算物理链路的数量。
下表示出了频率感知的动态互连的一些经计算的结果:
场景号码 | #1 | #2 | #3 | #4 | #5 | #6 | #7 |
N物理 | 240 | 240 | 240 | 240 | 240 | 240 | 240 |
f1 | 200 | 300 | 200 | 200 | 200 | 200 | 200 |
N1虚拟 | 800 | 800 | 160 | 320 | 800 | 800 | 800 |
f2 | 100 | 100 | 100 | 100 | 100 | 100 | 100 |
N2虚拟 | 800 | 800 | 800 | 800 | 160 | 320 | 2640 |
TDM简单 | 7 | 7 | 10 | 17 | 10 | 17 | 114 |
TDM新 | 5 | 5 | 9 | 16 | 7 | 10 | 60 |
性能 | 29 | 29 | 10 | 6% | 30 | 41 | 47 |
表1
第一行示出了N-物理,其是可用于链路的物理线路的总数。如在本文中所使用的,所述链路是可以两个FPGA之间的链路。第二行是f1,其表示在物理链路上运行的第一虚拟链路的应用频率。第三行是N1-虚拟,其表示在物理链路上运行的第一虚拟链路所需要的虚拟线路的数量。第四行是f2,其表示在物理链路上运行的第二虚拟链路的应用频率。第五行是N2-虚拟,其表示在物理链路上运行的第二虚拟链路所需要的虚拟线路的数量。
“TDM简单”行示出了在所有的虚拟链路仅经由可用的物理链路被添加并且被路由的情况下,使用复用的传统方法所得到的TDM。“TDM新”行示出了利用在本文中所描述的本技术所得到的TDM因数,在本文中所描述的本技术考虑到虚拟链路的切换频率。最后一行示出了与传统的复用方法相比的本技术的性能的改进或者增加。
标黄的字段指示与基线场景(#1)相比而发生改变的值。如在上表中所示,每个TDM因数与根据在本文中所描述的技术的新的TDM因数相比使用更多的时钟循环来传输相同量的数据。特别地,针对第七场景,新的TDM因数使用60时钟循环在FPGA之间传输数据,而传统的TDM以114时钟循环来传输相同量的数据。用该方式,用于传输数据的时钟循环的数量降低了54时钟循环,这是将近50%的改进。
接着转到图6,描绘了根据本发明的片上系统(SOC)设计的实施例。作为具体的说明性示例,SOC 600被包括在用户设备(UE)中。在一个实施例中,UE是指将由终端用户使用以进行通信的任何设备,例如,手持式电话、智能电话、平板计算机、超薄笔记本式计算机、具有宽带适配器的笔记本式计算机、或者任何其它类似的通信设备。通常,UE连接至基站或者节点,所述节点潜在地在本质上对应于GSM网络中的移动站(MS)。
这里,SOC 600包括2个核心:606和607。类似于上文中的讨论,核心606和607可以符合指令集架构,例如,基于Architecture CoreTM的处理器、Advanced MicroDevices公司(AMD)的处理器、基于MIPS的处理器、基于ARM的处理器设计、或者其客户及其被许可方或采用者。核心606和核心607被耦合至与总线接口单元609和L2高速缓存610相关联的高速缓存控制608,以与系统600的其它部分进行通信。互连610包括片上互连,例如,IOSF、AMBA、或者在上文中所讨论的潜在地实现所描述的本发明的一个或多个方面的其它互连。
接口610提供了到其它组件的通信信道,所述其它组件例如:用于与SIM卡接合的用户身份模块(SIM)630、用于承载启动代码以供核心606和核心607执行从而初始化并且启动SOC 600的启动ROM 635、用于与外部存储器(例如,DRAM 600)接合的SDRAM控制器640、用于与非易失性存储器(例如,闪速存储器665)接合的闪存控制器645、用于与外围设备接合的外围控制Q 1650(例如,串行外围接口)、用于显示并接收输入(例如,由触摸产生的输入)的视频编码解码器620以及视频接口625、用于执行图形相关的计算的GPU 615等。这些接口中的任何一个都可以包含在本文中所描述的发明的方面。
此外,系统示出了用于进行通信的外围设备,例如,蓝牙模块670、3G调制解调器675、GPS 680、以及WiFi 685。注意如上所述,UE包括用于进行通信的无线电设备。作为结果,这些外围通信模块不是全都需要。然而在UE中,将包括一些形式的用于进行外部通信的无线电设备。
示例1
在本文中描述了动态互连。动态互连包括发送模块、接收模块、以及复用器。在传输信道的分组中检测到信号改变,并且响应于该信号改变,将复用器的输出切换至发生改变的信道。
可以通过将复用器的输出与先入先出缓冲器的输出进行比较来检测信号改变。复用器的输出可以被切换至发生改变的信道而持续至少一个TDM循环。此外,响应于没有信号改变,可以由信道号给出传输信道的分组的传输顺序。可以将专用控制总线传输至接收模块,并且专用控制总线对当前的传输信道进行标记。可以通过对控制总线上的信道信息进行评估来将接收模块的TDM解复用器同步至发送模块。发送控制模块通过对数字稳定信号进行解断言而对信号改变进行标记。此外,数据稳定信号可以被包括在到接收模块的控制总线上。数据稳定信号的配置可以延迟下一时钟循环,直到改变信号已经被接收到并且是稳定的为止,并且对传输信道的切换频率进行分析以确定传输信道的分组。
示例2
在本文中描述了针对运行时的动态复用方案的方法。该方法包括将多个传输信号分组为并列的比较单元,并且响应于并列的比较分组内的信号值以及传输优先级而动态地确定并列的比较单元内的信号的传输顺序。该方法还包括基于信号的传输顺序来对信号进行调度以进行传输。
数据稳定信号可以响应于改变的信号值而被去断言一段时间,所述一段时间可以是可配置的时间延迟。信号可以被分配时隙用于以信号的传输顺序进行传输,并且每个时隙持续TDM传输时钟周期。在从变化信号值经过了所配置的时间之后,数据稳定信号可以被断言。
示例3
在本文中描述了频率感知的动态互连。频率感知的动态互连包括发送模块、接收模块、以及复用器。检测到传输信道的多个分组中的信号改变,所述分组是按照应用频率进行分组的。响应于信号改变,使用多个物理链路将复用器的输出切换至发生改变的信道。
至少应用频率、所需要的频率、或者所需要的互连宽度、或其任何组合可以用于计算物理链路的数量。传输信道的每个分组都可以使用全部数量的可用的链路的一部分。此外,多个虚拟链路的总数可以通过不同的分区和设备之间的可用的物理链路而被路由。传输信道的多个分组可以按照跨多个不同的时钟域的应用频率来进行分组。
示例4
在本文中描述了针对频率感知的动态复用方案的方法。所述方法包括对多个时钟域的应用进行分析,并且将多个传输信号分组为在相同的时钟域上运行的多个分组。
可以使用应用频率来计算每个分组的信号的总数,所需要的频率、或者所需要的互连宽度、或其任何组合用于计算物理链路的数量。可以基于物理链路和其它互连实现的数量来计算针对每个频率分组的最佳的时分复用因数。以较低的频率运行的信号分组可以使用分区之间的较小部分的可用的物理链路,并且具有针对其链路的较高的时分复用因数。以较高的频率运行的信号分组可以使用分区之间的较大部分的可用的物理链路,并且具有针对其链路的较低的时分复用因数。
尽管已经关于有限数量的实施例描述了本发明,但是本领域技术人员将理解从中的多个变型和修改。所附权利要求旨在覆盖落在本发明的真正的精神和范围内的全部这样的修改和变型。
设计可以经历各种阶段,从创建到仿真到制造。表示设计的数据可以通过多种方式表示该设计。首先,如在仿真中有用的,可以使用硬件描述语言或者另一个功能描述语言来表示硬件。此外,可以在设计过程的一些阶段处生成具有逻辑和/或晶体管门的电路层模型。此外,大多数设计在一些阶段都达到表示硬件模型中的各种设备的物理布局的数据的等级。在使用传统的半导体制造技术的情况下,表示硬件模型的数据可以为详细说明在针对用于产生集成电路的掩膜的不同掩膜层上的各个特征的存在或不存在的数据。在任何设计的代表中,可以将数据存储在任何形式的机器可读介质中。存储器或者磁或光存储设备(例如,盘)可以是用于存储经由经调制的光或电波所传输的信息的机器可读介质,或者是用于以其他方式被生成以传输这样的信息的机器可读介质。当指示或携带代码或设计的电载波被传输时,就执行电信号的复制、缓冲、或者重新传输的方面来说,则生成新的副本。因此,通信提供商或者网络提供商可以至少暂时地在有形的、机器可读介质上存储诸如被编码成载波的物品,以实施本发明的实施例的技术。
在本文中所使用的模块是指硬件、软件、和/或固件的任何组合。作为示例,模块包括硬件,例如,与非瞬时性介质相关联以对适用于由微控制器执行的代码进行存储的微控制器。因此在一个实施例中,引用的模块是指硬件,该硬件具体被配置以识别和/或执行将在非瞬时性介质上保存的代码。此外,在另一个实施例中,使用的模块是指包括代码的非瞬时性介质,其具体适用于由微控制器执行以执行预先确定的操作。并且在另一个实施例中可以推导出,术语模块(在该示例中)可以是指微控制器和非瞬时性介质的组合。通常,被示出为独立的模块边界一般共同变化并且有可能重叠。例如,第一模块和第二模块可以共享硬件、软件、固件、或其组合,同时潜在地保持一些独立的硬件、软件、或者固件。在一个实施例中,使用的术语逻辑包括硬件(例如,晶体管、寄存器、或者诸如可编程逻辑设备之类的其它硬件)。
在一个实施例中,使用的短语“为”或“被配置为”是指布置、装配、制造、推销、对用于执行所指定或所确定的任务的装置、硬件、逻辑、或元件进行导入和/或设计。在该示例中,如果不在操作的其装置或元件被设计、耦合、和/或互连至执行所指定的任务,则其仍然“被配置为”执行所指定的任务。作为纯粹说明性的示例,逻辑门可以在操作期间提供0或1。但是“被配置为”向时钟提供使能信号的逻辑门不包括可以提供1或0的每一个潜在的逻辑门。相反,该逻辑门为以一些方式耦合从而在操作期间1或0输出要使能时钟的一个逻辑门。再一次注意,使用的术语“配置为”不需要操作,但是相反关注装置、硬件、和/或元件的隐藏状态,其中在隐藏状态中,装置、硬件、和/或元件正在操作。
此外,在一个实施例中,使用的短语“能够”和/或“可操作以”是指以能够用所指定的方式使用装置、逻辑、硬件、和/或元件的方式而设计的一些装置、逻辑、硬件、和/或元件。如上所述,在一个实施例中,使用的“以”、“能够”、或者“可操作以”是指装置、逻辑、硬件、和/或元件的隐藏状态,其中装置、逻辑、硬件、和/或元件不在操作但是以能够用指定的方式使用装置的方式所设计的。
如在本文中所使用的,值包括数、状态、逻辑状态、或者二进制逻辑状态的任何已知的表示。通常,使用的逻辑等级、逻辑值、或者逻辑的值也被称为1和0,其简单地表示二进制状态。例如,1是指高逻辑等级而0是指低逻辑等级。在一个实施例中,诸如晶体管或者闪存单元之类的存储单元可以能够保存单个逻辑值或者多个逻辑值。然而,可以使用计算机系统中的值的其它代表。例如,十进制数十也可以被表示为二进制值1010和16进制字母A。因此,值包括能够被保存在计算机系统中的信息的任何代表。
此外,可以由值或者值的部分来表示状态。作为示例,第一值(例如,逻辑一)可以表示默认或初始状态,而第二值(例如,逻辑零)可以表示非默认状态。此外,在一个实施例中,术语重置或设置分别是指默认的和经更新的值或状态。例如,默认值潜在地包括高逻辑值,即,重置,而经更新的值潜在地包括第逻辑值,即设置。应当注意,值的任何组合可以用于表示任何数量的状态。
在上文中所阐述的方法、硬件、软件、固件、或代码的实施例可以经由存储在机器可访问、机器可读、计算机可存取、或者计算机可读的介质来实现。非瞬时性机器可存取/可读的介质包括提供(即,存储和/或传输)由机器(例如,计算机或电子系统)可读的形式的信息的任何机制。例如,非瞬时性机器可存取介质包括随机存取存储器(RAM)(例如,静态RAM(SRAM)或动态RAM(DRAM));ROM;磁或光存储设备;声存储设备;用于保存从瞬时性(传播的)信号(例如,载波、红外信号、数字信号)中所接收到的信息的其它形式的存储设备等,其将与可以从中接收信息的非瞬时性介质不同。
用于对逻辑进行编程以执行本发明的实施例的指令可以被存储在系统中的存储器(例如,DRAM、高速缓存、闪速存储器、或者其它存储设备)内。此外,可以经由网络或者通过其它计算机可读介质而分布。因此,机器可读介质可以包括用于以由机器可读的形式的存储或传输信息的任何机制,但不限于,软盘、光盘、光盘只读存储器(CD-ROM)、以及磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁或光卡、闪速存储器、或者在通过互联网经由电、光、声或者其它形式的传播信号(例如,载波、红外信号、数字信号等)的信息的传输中所使用的有形的机器可读的存储器。从而,计算机可读介质包括适合用于存储或传输以机器(例如,计算机)可读的形式的电子指令或者信息的任何类型的有形的计算机可读介质。
该说明书中通篇提及的“一个实施例”或“一实施例”意指结合实施例所描述的特定的特征、结果、或者特性被包括在本发明的至少一个实施例中。因此,在该说明书中通篇各种地方出现的短语“在一个实施例中”或“在一实施例中”非必须全部都指的是相同的实施例。此外,特定的特征、结构、或者特性可以以任何合适的方式组合在一个或多个实施例中。
在前述说明书中,参考具体的示例性实施例给出了具体实施方式。然而显然,可以对其做出各种修改和改变而不脱离如在所附权利要求中所阐述的本发明的较宽泛的精神和范围。从而,说明书和附图将被视为是说明性的意义而不是限制性的意义。此外,前述使用的实施例和其它示例性语言非必须指的是相同的实施例或者相同的示例,而可以指的是不同的和区别的实施例,以及潜在地相同的实施例。
Claims (24)
1.一种动态互连设备,包括:
发送模块;
接收模块;以及
复用器,其中,在一组传输信道中检测到信号改变,并且响应于所述信号改变,所述复用器的输出被切换至发生改变的信道,并且其中数据稳定信号的配置延迟下一时钟循环,直到所有改变信号已经被接收并且是稳定的为止。
2.根据权利要求1所述的动态互连设备,其中,信号改变是通过将所述复用器的所述输出与数据先入先出缓冲器的输出进行比较来检测的。
3.根据权利要求1或2所述的动态互连设备,其中,所述复用器的所述输出被切换至发生所述改变的所述信道而持续至少一个TDM循环。
4.根据权利要求1或2所述的动态互连设备,其中,响应于没有信号改变,该组传输信道的传输顺序由信道号给出。
5.根据权利要求1或2所述的动态互连设备,其中,专用控制总线被传输至接收模块,并且所述专用控制总线对当前的传输信道进行标记。
6.根据权利要求5所述的动态互连设备,其中,通过对所述专用控制总线上的信道信息进行评估而将所述接收模块的TDM解复用器同步至所述发送模块。
7.根据权利要求1或2所述的动态互连设备,其中,发送控制模块通过对数据稳定信号去断言来对所述信号改变进行标记。
8.根据权利要求7所述的动态互连设备,其中,所述数据稳定信号被包括在到所述接收模块的控制总线上。
9.根据权利要求1或2所述的动态互连设备,其中,对所述传输信道的切换频率进行分析以确定该组传输信道。
10.一种针对运行时的动态复用方案的方法,包括:
将多个传输信号分组为并列的比较单元;
响应于所述并列的比较单元内的改变的信号值以及传输优先级,动态地确定所述并列的比较单元内的信号的传输顺序;以及
基于信号的所述传输顺序来对信号进行调度以进行传输;
其中,数据稳定信号的配置延迟下一时钟循环,直到所有改变信号已经被接收并且是稳定的为止。
11.根据权利要求10所述的方法,包括响应于改变的信号值而对数据稳定信号去断言一段时间。
12.根据权利要求11所述的方法,其中,所述一段时间是可配置的时间延迟。
13.根据权利要求10或11所述的方法,其中,所述信号被分配了时隙以用于以所述信号的所述传输顺序进行传输,并且每个时隙都持续TDM传输时钟周期。
14.根据权利要求12所述的方法,其中,在从所述改变的信号值经过所配置的时间之后,所述数据稳定信号被断言。
15.根据权利要求10或11所述的方法,其中,信道方案是用于在发生数据改变之前传输信号的。
16.根据权利要求15所述的方法,其中,所述信道方案是根据算法开发的。
17.一种频率感知的动态互连设备,包括:
发送模块;
接收模块;以及
复用器,其中,在多组传输信道中检测到信号改变,其中,所述传输信道是按照应用频率进行分组的,并且响应于所述信号改变,使用多个物理链路将所述复用器的输出切换至发生改变的信道。
18.根据权利要求17所述的频率感知的动态互连设备,其中,至少所述应用频率、所需要的频率、或者所需要的互连宽度、或者任何其组合用于计算物理链路的数量。
19.根据权利要求17或18所述的频率感知的动态互连设备,其中,传输信道的每个分组都使用全部数量的可用的链路中的一部分。
20.根据权利要求17或18所述的频率感知的动态互连设备,其中,多个虚拟链路的总和通过不同的分区和设备之间的可用的物理链路而被路由。
21.根据权利要求17或18所述的频率感知的动态互连设备,其中,所述多组传输信道是按照跨多个不同的时钟域的应用频率而被分组的。
22.一种针对频率感知的动态复用方案的方法,包括:
对多个时钟域的应用进行分析;以及
将多个传输信号分组为在相同的时钟域上运行的多个分组。
23.根据权利要求22所述的方法,其中,使用应用频率来计算每分组的信号的总数,所需要的频率、或者所需要的互连宽度、或者任何其组合用于计算物理链路的数量。
24.根据权利要求22或23所述的方法,其中,基于物理链路和其它互连实现的数量来计算针对每个频率分组的最佳的时分复用因数。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2013/078149 WO2015099799A1 (en) | 2013-12-28 | 2013-12-28 | Dynamic interconnect with partitioning on emulation and protyping platforms |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105794113A CN105794113A (zh) | 2016-07-20 |
CN105794113B true CN105794113B (zh) | 2019-06-25 |
Family
ID=53479458
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380081271.8A Active CN105794113B (zh) | 2013-12-28 | 2013-12-28 | 与仿真和原型平台上的分区的动态互连 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20160301414A1 (zh) |
EP (1) | EP3087676A4 (zh) |
JP (1) | JP6277279B2 (zh) |
KR (1) | KR20160078423A (zh) |
CN (1) | CN105794113B (zh) |
DE (1) | DE112013007735T5 (zh) |
WO (1) | WO2015099799A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10437769B2 (en) * | 2013-12-26 | 2019-10-08 | Intel Corporation | Transition-minimized low speed data transfer |
US10628625B2 (en) * | 2016-04-08 | 2020-04-21 | Synopsys, Inc. | Incrementally distributing logical wires onto physical sockets by reducing critical path delay |
WO2022039742A1 (en) * | 2020-08-20 | 2022-02-24 | Siemens Industry Software Inc. | Hybrid switching architecture for serdes communication channels in reconfigurable hardware modeling circuits |
CN114330191B (zh) * | 2022-03-08 | 2022-06-10 | 上海国微思尔芯技术股份有限公司 | 一种信号复用传输的方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5910953A (en) * | 1995-10-13 | 1999-06-08 | Nec Corporation | ATM interface apparatus for time-division multiplex highways |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3772681A (en) * | 1970-10-14 | 1973-11-13 | Post Office | Frequency synthesiser |
JPS5851461B2 (ja) * | 1978-08-31 | 1983-11-16 | 富士通株式会社 | 時分割多重制御方式 |
JPS5570148A (en) * | 1978-11-21 | 1980-05-27 | Toshiba Corp | Remote supervisory and controlling equipment |
JPS57116455A (en) * | 1981-01-09 | 1982-07-20 | Mitsubishi Electric Corp | Information transmitter |
JPS63157537A (ja) * | 1986-12-22 | 1988-06-30 | Nec Corp | 時分割多重送信方法およびその装置 |
JPS63157538A (ja) * | 1986-12-22 | 1988-06-30 | Nec Corp | 時分割多重信号の受信方法およびその装置 |
JPH04291839A (ja) * | 1991-03-20 | 1992-10-15 | Fujitsu Ltd | 時分割多重化信号の微分回路 |
GB9117645D0 (en) * | 1991-08-15 | 1991-10-02 | Motorola Ltd | Improvements in or relating to digital communication systems |
US6150863A (en) * | 1998-04-01 | 2000-11-21 | Xilinx, Inc. | User-controlled delay circuit for a programmable logic device |
EP1050824A3 (en) * | 1999-04-22 | 2004-01-28 | Matsushita Electric Industrial Co., Ltd. | Bidirectional signal transmission circuit and bus system |
US6584535B1 (en) * | 2000-01-31 | 2003-06-24 | Cisco Technology, Inc. | Configurable serial interconnection |
US6747485B1 (en) * | 2000-06-28 | 2004-06-08 | Sun Microsystems, Inc. | Sense amplifier type input receiver with improved clk to Q |
US6735709B1 (en) * | 2000-11-09 | 2004-05-11 | Micron Technology, Inc. | Method of timing calibration using slower data rate pattern |
US7552192B2 (en) * | 2002-12-18 | 2009-06-23 | Ronnie Gerome Carmichael | Massively parallel computer network-utilizing MPACT and multipoint parallel server (MPAS) technologies |
US7397792B1 (en) * | 2003-10-09 | 2008-07-08 | Nortel Networks Limited | Virtual burst-switching networks |
JP3816079B2 (ja) * | 2004-01-30 | 2006-08-30 | 株式会社半導体理工学研究センター | Uwb受信回路 |
KR100582577B1 (ko) * | 2004-08-19 | 2006-05-23 | 삼성전자주식회사 | Tdm 인터페이스를 위한 클럭 보정 장치 및 방법 |
JP4423301B2 (ja) * | 2005-01-18 | 2010-03-03 | 三菱電機株式会社 | 多重化装置及び送受信装置 |
US7720015B2 (en) * | 2005-08-17 | 2010-05-18 | Teranetics, Inc. | Receiver ADC clock delay base on echo signals |
WO2010089974A1 (ja) * | 2009-02-09 | 2010-08-12 | 日本電気株式会社 | 信号伝達システム及び信号伝達方法 |
US20110099407A1 (en) * | 2009-10-28 | 2011-04-28 | Ati Technologies Ulc | Apparatus for High Speed Data Multiplexing in a Processor |
JP2011244297A (ja) * | 2010-05-20 | 2011-12-01 | Panasonic Corp | Ccd電荷転送用駆動装置 |
US8995912B2 (en) * | 2012-12-03 | 2015-03-31 | Broadcom Corporation | Transmission line for an integrated circuit package |
-
2013
- 2013-12-28 KR KR1020167013985A patent/KR20160078423A/ko active Search and Examination
- 2013-12-28 DE DE112013007735.3T patent/DE112013007735T5/de active Pending
- 2013-12-28 WO PCT/US2013/078149 patent/WO2015099799A1/en active Application Filing
- 2013-12-28 EP EP13900227.3A patent/EP3087676A4/en not_active Withdrawn
- 2013-12-28 US US15/032,465 patent/US20160301414A1/en not_active Abandoned
- 2013-12-28 CN CN201380081271.8A patent/CN105794113B/zh active Active
- 2013-12-28 JP JP2016540655A patent/JP6277279B2/ja active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5910953A (en) * | 1995-10-13 | 1999-06-08 | Nec Corporation | ATM interface apparatus for time-division multiplex highways |
Also Published As
Publication number | Publication date |
---|---|
JP6277279B2 (ja) | 2018-02-07 |
EP3087676A4 (en) | 2018-01-24 |
EP3087676A1 (en) | 2016-11-02 |
JP2017505031A (ja) | 2017-02-09 |
KR20160078423A (ko) | 2016-07-04 |
CN105794113A (zh) | 2016-07-20 |
US20160301414A1 (en) | 2016-10-13 |
DE112013007735T5 (de) | 2016-12-29 |
WO2015099799A1 (en) | 2015-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107005477B (zh) | 用于片上网络的基于链路延迟的路由装置 | |
CN107113254B (zh) | 自适应交换芯片上网络 | |
Tatas et al. | Designing 2D and 3D network-on-chip architectures | |
Yakovlev et al. | Advances in asynchronous logic: From principles to GALS & NoC, recent industry applications, and commercial CAD tools | |
US20150074446A1 (en) | Method and apparatus for asynchronous processor based on clock delay adjustment | |
CN105794113B (zh) | 与仿真和原型平台上的分区的动态互连 | |
US20150026494A1 (en) | Intelligent mesochronous synchronizer | |
JP2011054184A (ja) | トランザクション順序付けを維持しながら複数のターゲットへの未処理要求をサポートする種々の方法および装置 | |
Cilardo et al. | Design automation for application-specific on-chip interconnects: A survey | |
US20180260508A1 (en) | Method And Apparatus For Modeling Delays In Emulation | |
CN104050140B (zh) | 用于混合通道停转或无锁总线架构的方法、设备、系统 | |
Albrecht et al. | Maximum mean weight cycle in a digraph and minimizing cycle time of a logic chip | |
CN112906338B (zh) | 对物理分区结构进行时钟设计的方法、系统和介质 | |
Krstic et al. | Asynchronous and GALS design-overview and perspectives | |
Hesham et al. | HPPT-NoC: a dark-silicon inspired hierarchical TDM NoC with efficient power-performance trading | |
Swaminathan et al. | Design and verification of an efficient WISHBONE-based network interface for network on chip | |
Kamal et al. | Design of NBTI-resilient extensible processors | |
Miller et al. | Virtualized and fault-tolerant inter-layer-links for 3D-ICs | |
US20230060111A1 (en) | System and method for electronic circuit simulation | |
Taraate et al. | System-on-chip (SOC) design | |
Tie et al. | Dual-Vth leakage reduction with fast clock skew scheduling enhancement | |
US10331835B2 (en) | ASIC design methodology for converting RTL HDL to a light netlist | |
Reyserhove et al. | Ultra-low voltage microcontrollers | |
Gebhardt | Energy-efficient design of an asynchronous network-on-chip | |
KR20240072272A (ko) | 메모리에 대한 동적 셋업 및 홀드 시간 조정 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |