CN111435340B - 互联网总线单元及数据传输方法、wishbone互联网模块、芯片 - Google Patents
互联网总线单元及数据传输方法、wishbone互联网模块、芯片 Download PDFInfo
- Publication number
- CN111435340B CN111435340B CN202010038059.5A CN202010038059A CN111435340B CN 111435340 B CN111435340 B CN 111435340B CN 202010038059 A CN202010038059 A CN 202010038059A CN 111435340 B CN111435340 B CN 111435340B
- Authority
- CN
- China
- Prior art keywords
- unit
- host
- data
- response signal
- cache
- 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
-
- 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/781—On-chip cache; Off-chip memory
-
- 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/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明提供了一种互联网总线单元及数据传输方法、wishbone互联网模块、芯片,互联网总线单元包括缓存单元、选择单元、处理单元以及控制单元;缓存单元用于在时钟信号的控制下缓存主机的请求输出端输出的主机传输请求数据;选择单元用于根据缓存单元的缓存状态以及wishbone互联网模块中仲裁电路输出的第一响应信号接通第一传输路径和第二传输路径中的一者;处理单元用于根据缓存单元的缓存状态以及第一响应信号向主机输出第二响应信号;控制单元用于根据缓存单元的缓存状态以及第一响应信号确定是否控制缓存单元中的缓存数据保持不变。本发明可以实现较好的总线利用率,同时有利于实现较高的时钟信号频率。
Description
技术领域
本发明涉及SOC(system on a chip)技术领域,尤其涉及一种互联网总线单元及数据传输方法、wishbone互联网模块、芯片。
背景技术
wishbone总线协议最先由Silicore公司提出,目前由OpenCores组织维护,Wishbone的优势除具有开放、免费、拥有众多免费IP核外,还有简单、灵活、轻量的特点,特别适合大型IP内部的小型IP之间的互联,wishbone总线协议支持点到点、共享总线、十字交叉(Crossbar)和基于交换结构(Switch fabric)的互联,Wishbone总线规范是"轻量级(Lightweight)"规范,它实际上更加侧重于点对点互联以及复杂度不高的共享总线片上系统互联,其支持典型的数据操作,包括:单次读/写操作、块读/写操作,读改写操作。
wishbone总线协议在同步数字电路系统中使用的典型例子如图1所示,其中,每笔传输需要两个时钟周期,总线利用率最大只支持50%。主机接收到从机应答信号ACK_I(wishbone互联网模块中仲裁电路输出的响应信号)之后,更新下一次请求的地址,并发起第二次请求,在经典的传输过程中,ACK_I和下一笔传输可以通过寄存器隔离从机反馈回路,经典的传输以牺牲总线带宽为代价隔离了从机反馈回路。
随着大规模集成电路的发展,带来了数字系统对总线高吞吐量的需求,wishbone总线协议提出了总线pipeline模式(流水线模式)以解决总线高吞吐量的需求,使得在pipeline过程中相应的主机可以使用到接近100%的总线带宽,如图2所示,在A0的下一拍从机返回了A0请求的数据并将ACK_I拉高,主机接收到数据和ACK_I的同时将下一个请求A1送出总线,形成流水式收发通路,能够将总线带宽利用提升到100%。
Wishbone pipeline模式解决了带宽利用率的问题,但也增加了主机的设计难度,在pipeline模式下,主机需要保持两笔请求的信息,并且通过乒乓的方式将下一笔请求送往外部总线,这也要求了主机必须在ACK_I拉高时,及时将下一笔数据送往外部总线,更严重的是,这样的设计带来了从机反馈回路,从而导致了wishbone总线pipeline模式成为高频设计的瓶颈,从机反馈回路限制了频率的进一步提升,特别是在远程连接的主从机结构中,更是带来很长的回路线延时。
如图3所示,在一个经典的主从互联网络中,假设主机(主设备)经过互联网络到达从机(从设备)需要1.5ns的延时,从机响应信号以寄存器输出,经过互联网络到达主机需要2ns的延时,在wishbone经典的传输模式下如图1所示,由于ACK_I可以通过寄存器隔离从机反馈回路,所以该系统的频率瓶颈以单相延时较大者决定,从机到主机延时需要2ns为经典传输模式下的频率瓶颈,然而在pipeline模式下,由于存在主从机反馈回路,如图3所示,主机需要在ack到来的同时将下一笔请求发送出去,所以在pipeline模式下,远程互联带来的延时为从机到主机的2ns延时加上主机到从机的1.5ns延时,总共3.5ns,从机的反馈回路极大的限制整个系统的频率(即时钟信号频率)。
针对上述的问题,wishbone总线协议提出了burst传输模式,burst传输模式是在传输时,增加这笔传输的数据长度等信息,从机根据长度信息提前响应下一笔请求,如图4所示,在经典模式下,从机根据主机传输的长度,在第二个时钟开始,以流水的形式开始响应主机的请求,经典模式下的burst传输在每笔传输开始时需要一个时钟的启动时间,解决了连续访问的总线利用率的问题,但是在碎片化访问时,总线利用率还是较低。
wishbone总线协议在pipeline模式下的burst传输时序图如5所示,在传输的过程中,从机根据主机传输的长度,在第二个时钟开始,以流水的形式开始响应主机的请求,解决了连续访问的总线利用率的问题。在一次传输的过程中,由于从机响应的地址不依赖于ACK_I信号,所以突发传输的过程中不存在反馈回路,但是在两笔传输的切换还是要依赖ACK_I信号,为了隔离从机的反馈回路,需要在每笔传输结束时插入间隙,这样导致在碎片化访问时,总线利用率还是较低。
发明内容
基于上述现状,本发明的主要目的在于提供一种互联网总线单元及数据传输方法、wishbone互联网模块、芯片,可以实现较好的总线利用率,并且还有利于实现较高的时钟信号频率。
为实现上述目的,本发明的技术方案提供了一种互联网总线单元,应用于wishbone互联网模块,所述互联网总线单元包括缓存单元、选择单元、处理单元以及控制单元;
所述缓存单元用于连接主机,所述缓存单元用于在时钟信号的控制下缓存所述主机的请求输出端输出的主机传输请求数据;
所述选择单元用于根据所述缓存单元的缓存状态以及所述wishbone互联网模块中仲裁电路输出的第一响应信号接通第一传输路径和第二传输路径中的一者,其中,当所述第一传输路径接通时,所述选择单元将所述请求输出端的数据作为目标从机的输入数据,当所述第二传输路径接通时,所述选择单元将所述缓存单元中的缓存数据作为所述目标从机的输入数据,所述缓存单元的缓存状态为所述缓存单元中是否缓存有主机传输请求数据;
所述处理单元用于根据所述缓存单元的缓存状态以及所述第一响应信号向所述主机输出第二响应信号,使所述主机根据所述第二响应信号判断是否更新自身输出的主机传输请求数据;
所述控制单元用于根据所述缓存单元的缓存状态以及所述第一响应信号确定是否控制所述缓存单元中的缓存数据保持不变。
进一步地,若所述缓存单元中缓存有主机传输请求数据且所述第一响应信号为低电平,则所述选择单元接通所述第二传输路径,否则,所述选择单元接通所述第一传输路径。
进一步地,若所述缓存单元中缓存有主机传输请求数据且所述第一响应信号为低电平,则所述处理单元输出的第二响应信号为低电平,否则,所述处理单元输出的第二响应信号为高电平。
进一步地,若所述缓存单元中缓存有主机传输请求数据且所述第一响应信号为低电平,则所述控制单元控制所述缓存单元中的缓存数据保持不变,否则,所述缓存单元在所述时钟信号的每一个上升沿将自身的缓存数据更新为所述请求输出端的数据。
进一步地,所述控制单元连接所述处理单元,所述控制单元被配置为根据所述第二响应信号控制所述缓存单元中的缓存数据保持不变。
进一步地,所述缓存单元包括数据接收端、数据输出端、时钟信号接收端、缓存状态端,所述数据接收端用连接所述主机的请求输出端,所述数据输出端连接所述选择单元,若所述缓存单元中缓存有主机传输请求数据,则所述缓存状态端为低电平,否则,所述缓存状态端为高电平。
进一步地,所述选择单元包括选择器和选择控制电路;
所述选择器包括第一输入端、第二输入端、选择输出端以及选择控制端,所述第一输入端用于与所述主机的请求输出端相连,所述第二输入端与所述缓存单元的数据输出端相连,所述选择控制端与所述选择控制电路相连;
所述选择控制电路用于根据所述缓存单元的缓存状态以及所述第一响应信号向所述选择控制端输出控制信号,使所述第一输入端和所述第二输入端中的一者与所述选择输出端接通,从而使所述第一传输路径接通或所述第二传输路径接通。
进一步地,所述缓存单元包括若干个寄存器。
进一步地,所述处理单元包括或门。
进一步地,所述主机传输请求数据为读请求数据或写请求数据。
为实现上述目的,本发明的技术方案还提供了一种wishbone互联网模块,其特征在于,包括至少一个上述的互联网总线单元,所述主机兼容wishbone经典传输模式。
进一步地,包括多个所述互联网总线单元,所述多个所述互联网总线单元与多个所述主机一一对应,每一个所述互联网总线单元用于连接至对应的主机。
为实现上述目的,本发明的技术方案还提供了一种芯片,包括上述的wishbone互联网模块。
为实现上述目的,本发明的技术方案还提供了一种互联网总线单元的数据传输方法,所述互联网总线单元应用于wishbone互联网模块,所述互联网总线单元包含缓存单元,所述方法包括:
所述互联网总线单元在时钟信号的控制下将主机的请求输出端输出的主机传输请求数据缓存至所述缓存单元;
所述互联网总线单元根据所述缓存单元的缓存状态以及所述wishbone互联网模块中仲裁电路输出的第一响应信号接通第一传输路径和第二传输路径中的一者,其中,当所述第一传输路径接通时,所述互联网总线单元将所述请求输出端的数据作为目标从机的输入数据,当所述第二传输路径接通时,所述互联网总线单元将所述缓存单元中的缓存数据作为所述目标从机的输入数据,所述缓存单元的缓存状态为所述缓存单元中是否缓存有主机传输请求数据;
所述互联网总线单元根据所述缓存单元的缓存状态以及所述第一响应信号向所述主机输出第二响应信号,使所述主机根据所述第二响应信号判断是否更新自身输出的主机传输请求数据;
所述互联网总线单元根据所述缓存单元的缓存状态以及所述第一响应信号确定是否控制所述缓存单元中的缓存数据保持不变。
进一步地,所述互联网总线单元根据所述缓存单元的缓存状态以及所述wishbone互联网模块中仲裁电路输出的第一响应信号接通第一传输路径和第二传输路径中的一者包括:
若所述缓存单元中缓存有主机传输请求数据且所述第一响应信号为低电平,则所述互联网总线单元接通所述第二传输路径,否则,所述互联网总线单元接通所述第一传输路径。
进一步地,所述互联网总线单元根据所述缓存单元的缓存状态以及所述第一响应信号向所述主机输出第二响应信号包括:
若所述缓存单元中缓存有主机传输请求数据且所述第一响应信号为低电平,则所述互联网总线单元输出的第二响应信号为低电平,否则,所述互联网总线单元输出的第二响应信号为高电平。
进一步地,所述互联网总线单元根据所述缓存单元的缓存状态以及所述第一响应信号确定是否控制所述缓存单元中的缓存数据保持不变包括:
若所述缓存单元中缓存有主机传输请求数据且所述第一响应信号为低电平,则所述互联网总线单元控制所述缓存单元中的缓存数据保持不变,否则,所述互联网总线单元在所述时钟信号的每一个上升沿将缓存单元的缓存数据更新为所述请求输出端的数据。
进一步地,上述数据传输方法包括:
在第N个时钟周期,所述仲裁电路输出的第一响应信号为低电平,所述缓存单元中未缓存有主机传输请求数据,则所述互联网总线单元控制所述第一传输路径接通,从而将所述请求输出端的第一笔主机传输请求数据作为目标从机的输入数据发送所述仲裁电路,且所述互联网总线单元输出的第二响应信号为高电平,以允许所述主机在下一个时钟周期更新输出的主机传输请求数据;
在第(N+1)个时钟周期,所述互联网总线单元将所述第一笔主机传输请求数据缓存至所述缓存单元,并执行步骤A;
步骤A:若当前所述仲裁电路输出的第一响应信号为低电平,则执行步骤B,若当前所述仲裁电路输出的第一响应信号为高电平,则执行步骤C;
步骤B:所述互联网总线单元控制所述缓存单元中的缓存数据保持不变,并控制所述第二传输路径接通,从而将所述缓存单元中的缓存数据作为目标从机的输入数据发送所述仲裁电路,且所述互联网总线单元输出的第二响应信号为低电平,以禁止所述主机在下一个时钟周期更新输出的主机传输请求数据;
以及所述互联网总线单元在下一个时钟周期重复执行步骤A;
步骤C:所述互联网总线单元控制所述第一传输路径接通,所述互联网总线单元输出的第二响应信号为高电平,以允许所述主机在下一个时钟周期更新输出的主机传输请求数据。
本发明提供的互联网总线单元,可以使兼容wishbone经典传输模式的主机在输出主机传输请求数据的同时准备下一笔主机传输请求数据,并且当发生等待传输的情况时,通过缓存单元可以缓存主机输出的第一笔主机传输请求数据,从而可以无论是在连续访问的情况下,还是碎片化访问的情况下都能具有较好的总线利用率,并且主机为采用兼容wishbone经典传输模式的主机,因此相比现有的pipeline传输模式,可以减少线路延时,不但有利于提高时钟信号频率,实现较高的时钟信号频率,还能简化主机的设计难度。
附图说明
通过以下参照附图对本发明实施例的描述,本发明的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1为现有技术中采用wishbone经典传输模式的主机时序图;
图2为现有技术中采用wishbone流水线传输模式的主机时序图;
图3为现有技术中采用wishbone流水线传输模式的主机与从机之间的反馈回路示意图;
图4为现有技术中wishbone经典传输模式下的burst传输主机时序图;
图5为现有技术中wishbone流水线模式下的burst传输主机时序图;
图6是本发明实施例提供的一种互联网总线单元的示意图;
图7是本发明实施例提供的互联网总线单元的工作流程图;
图8是本发明一优选实施例提供的主机、互联网模块以及从机的示意图;
图9是本发明实施例提供的主机的读传输时序图;
图10是本发明实施例提供的主机的写传输时序图。
具体实施方式
以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分,为了避免混淆本发明的实质,公知的方法、过程、流程、元件并没有详细叙述。
此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。
除非上下文明确要求,否则整个说明书和权利要求书中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
参见图6,图6是本发明实施例提供的一种互联网总线单元的示意图,该互联网总线单元应用于wishbone互联网模块(即wishbone总线),该互联网总线单元包括缓存单元11、选择单元12、处理单元13以及控制单元14;
所述缓存单元11用于连接主机,所述缓存单元用于在时钟信号的控制下缓存所述主机的请求输出端输出的主机传输请求数据,该主机兼容wishbone经典传输模式;
所述选择单元12用于根据所述缓存单元的缓存状态以及所述wishbone互联网模块中仲裁电路输出的第一响应信号接通第一传输路径和第二传输路径中的一者,其中,当所述第一传输路径接通时,所述选择单元将所述请求输出端的数据作为目标从机的输入数据,当所述第二传输路径接通时,所述选择单元将所述缓存单元中的缓存数据作为所述目标从机的输入数据,所述缓存单元的缓存状态为所述缓存单元中是否缓存有主机传输请求数据;
其中,仲裁电路输出的第一响应信号为目标从机对所述主机输出的请求是否响应的信号,若第一响应信号为高电平,则表示目标从机响应所述主机输出的请求,若第一响应信号为低电平,则表示目标从机未响应所述主机输出的请求;
所述处理单元13用于根据所述缓存单元的缓存状态以及所述第一响应信号向所述主机输出第二响应信号,使所述主机根据所述第二响应信号判断是否更新自身输出的主机传输请求数据;
所述控制单元14用于根据所述缓存单元的缓存状态以及所述第一响应信号确定是否控制所述缓存单元中的缓存数据保持不变。
本发明实施例提供的互联网总线单元,可以使兼容wishbone经典传输模式的主机在输出主机传输请求数据的同时准备下一笔主机传输请求数据,并且当发生等待传输的情况时,通过缓存单元可以缓存主机输出的第一笔主机传输请求数据,从而可以无论是在连续访问的情况下,还是碎片化访问的情况下都能具有较好的总线利用率,并且主机为采用兼容wishbone经典传输模式的主机(通过寄存器隔离了从机反馈回路,消除了主机到从机的延时,这样总的线路延时就大致为从机到主机的延时),因此相比现有的pipeline传输模式,可以减少线路延时,不但有利于提高时钟信号频率,实现较高的时钟信号频率,还能简化主机的设计难度。
其中,在本发明实施例中,若所述缓存单元中缓存有主机传输请求数据且所述第一响应信号为低电平,则所述选择单元接通所述第二传输路径,否则,所述选择单元接通所述第一传输路径;
若所述缓存单元中缓存有主机传输请求数据且所述第一响应信号为低电平,则所述处理单元输出的第二响应信号为低电平,否则,所述处理单元输出的第二响应信号为高电平;
若所述缓存单元中缓存有主机传输请求数据且所述第一响应信号为低电平,则所述控制单元控制所述缓存单元中的缓存数据保持不变,否则,所述缓存单元在所述时钟信号的每一个上升沿将自身的缓存数据更新为所述请求输出端的数据;
即本发明实施例中,处理单元输出的第二响应信号具有多层含义,具体包括:含义1:第二响应信号在数据传输开始时为高电平(即初始值为1),代表互联网总线模块空闲,能够接收主机输出的主机传输请求数据,主机输出的主机传输请求数据可以发送缓存单元,并且在下一个时钟周期主机可以输出下一笔主机传输请求数据,当第二响应信号为低电平(值为0)时,代表互联网总线模块繁忙,上一笔主机传输请求数据(即第一笔主机传输请求数据)在缓存单元中等待目标从机响应;含义2:主机发起请求后,目标从机最快可以在下个时钟周期进行响应,从主机发起请求的下一个时钟周期开始,如果第二响应信号为高电平(值为1),则代表目标从机响应(即上一笔传输结束,同时若此时主机有新的请求,同时代表新的请求开始),如果第二响应信号为低电平(值为0),则代表等待从机响应。
本发明实施例提供的互联网总线单元,可以缓存主机输出的主机传输请求数据,当主机发起请求时(即输出主机传输请求数据时),若第二响应信号为高电平,则说明互联网总线单元空闲,允许主机将主机传输请求数据送往互联网总线单元,在下一个时钟周期,主机可以更换下一笔主机传输请求数据,当主机发起请求时,若第二响应信号为低电平,则说明互联网总线单元处于繁忙状态,无法接收主机的请求,此时,主机保持请求不变。
优选地,在一实施例中,为了减少使用电路器件的数量,所述控制单元14连接所述处理单元13,所述控制单元被配置为根据所述第二响应信号控制所述缓存单元中的缓存数据保持不变,即若第二响应信号为低电平,则控制单元控制缓存单元中的缓存数据保持不变,若第二响应信号为高电平,则缓存单元在时钟信号的每一个上升沿将自身的缓存数据更新为主机的请求输出端的数据。
此外,本发明实施例中,选择单元12也可以根据处理单元13的输出控制第一传输路径和第二传输路径的接通,然而,由于选择单元与处理单元之间容易存在较大的信号延时,因此,选择单元可以采用额外的电路器件控制第一传输路径和第二传输路径的接通,如该电路器件可以是与门,用于实现req_r&!ack,其中,若缓存单元中缓存有主机传输请求数据,则req_r为高电平,否则req_r为低电平,ack为仲裁电路输出的第一响应信号,若缓存单元中缓存有主机传输请求数据,且仲裁电路输出的第一响应信号为低电平,则与门输出高电平,控制第二传输路径接通,否则与门输出低电平,控制第一传输路径接通。
具体地,在本发明实施例中,参见图7,主机与目标从机进行数据传输的过程如下:
在数据传输的第一时钟周期,主机的请求输出端输出第一笔主机传输请求数据(同时缓存单元的数据接收端也会得到该第一笔主机传输请求数据),由于此时第一传输路径接通,从而将主机的请求输出端的该第一笔主机传输请求数据作为目标从机的输入数据发送给仲裁电路(仲裁电路对主机的该请求进行仲裁,若仲裁成功,则将该第一笔主机传输请求数据发送目标从机,若仲裁失败,则不将该第一笔主机传输请求数据发送目标从机),并且由于此时缓存单元中未缓存有主机传输请求数据,处理单元输出的第二响应信号为高电平,从而允许主机可以在下一个时钟周期更新输出的主机传输请求数据,主机若需要在下一个时钟周期更新输出的主机传输请求数据,则在该时钟周期准备下一笔主机传输请求数据,进而能够在下一个时钟周期更新输出的主机传输请求数据;
在数据传输的第二时钟周期,在该时钟周期的上升沿,上述第一笔主机传输请求数据被缓存至缓存单元中,主机若需要,则可以更新自身输出的主机传输请求数据,并执行步骤A;
步骤A:若当前所述仲裁电路输出的第一响应信号为低电平(说明主机需等待),则执行步骤B,若当前所述仲裁电路输出的第一响应信号为高电平(即目标从机对第一笔主机传输请求数据进行响应,同时说明主机无需等待),则执行步骤C;
步骤B:控制单元控制缓存单元中的缓存数据保持不变,选择单元控制第二传输路径接通,从而将缓存单元中的缓存数据作为目标从机的输入数据发送仲裁电路,且处理单元输出的第二响应信号为低电平,以禁止主机在下一个时钟周期更新输出的主机传输请求数据,这样即使主机还需要发送下一笔主机传输请求数据,也不会在本时钟周期内准备下一笔主机传输请求数据,使得主机在下一时钟周期输出的主机传输请求数据保持不变(即与本时钟周期相同);
以及在下一个时钟周期重复执行步骤A;
步骤C:所述互联网总线单元控制所述第一传输路径接通,此时,若主机的请求输出端存在下一笔主机传输请求数据,则该下一笔主机传输请求数据作为目标从机的输入数据发送仲裁电路,由仲裁电路将该下一笔主机传输请求数据发送目标从机,并且处理单元输出的第二响应信号为高电平,以允许主机在下一个时钟周期更新输出的主机传输请求数据;
以及在之后的每一个时钟周期,主机可以根据自身需求更新输出的主机传输请求数据,且对于发送的每一个主机传输请求数据,主机将会在请求发送时钟周期的下一个时钟周期收到目标从机的响应。
其中,在一实施例中,所述缓存单元11包括数据接收端、数据输出端、时钟信号接收端、缓存状态端,所述数据接收端用连接所述主机的请求输出端,所述数据输出端连接所述选择单元,若所述缓存单元中缓存有主机传输请求数据,则所述缓存状态端为低电平,否则,所述缓存状态端为高电平。
其中,在一实施例中,所述选择单元12包括选择器和选择控制电路;
所述选择器包括第一输入端、第二输入端、选择输出端以及选择控制端,所述第一输入端用于与所述主机的请求输出端相连,所述第二输入端与所述缓存单元的数据输出端相连,所述选择控制端与所述选择控制电路相连,例如,该选择器可以包括二选一选择器;
所述选择控制电路用于根据所述缓存单元的缓存状态以及所述第一响应信号向所述选择控制端输出控制信号,使所述第一输入端和所述第二输入端中的一者与所述选择输出端接通,从而使所述第一传输路径接通或所述第二传输路径接通,例如,该选择控制电路可以包括与门。
其中,在一实施例中,所述缓存单元11包括若干个寄存器,寄存器的类型可以是D触发器;
其中,在一实施例中,所述处理单元13包括或门。
其中,在本发明实施例中,上述的主机传输请求数据可以为读请求数据,即本发明实施例的互联网总线单元可以实现主机与从机之间的读传输操作,可以理解的是,当目标从机响应主机的主机传输请求数据时(即仲裁电路输出的第一响应信号为高电平时),目标从机将同时输出主机需要读的数据;
在本发明实施例中,上述的主机传输请求数据可以为写请求数据,即本发明实施例的互联网总线单元可以实现主机与从机之间的写传输操作,可以理解的是,主机传输请求数据除包含地址(ADR)等信息外,还包含主机需要写入目标从机的数据;
本发明实施例提供的互联网总线单元可以保存主机的主机传输请求数据,提早释放主机的请求状态,使主机可以提前准备好下一笔主机传输请求数据,此外,当目标从机来不及响应主机的请求时,由于主机已经提早准备下一笔请求,主机的总线上已经没有上一笔请求的信息,可以通过缓存单元向目标从机提供上一笔请求的信息。
此外,需要说明的是,在本发明实施例中,互联网总线单元使用了仲裁电路输出的第一响应信号(仲裁电路根据目标从机输出的从机响应信号ack_u输出的第一响应信号),并反馈到目标从机的输入,然而通常情况下互联网模块与从机之间的线路距离较小(即缓存单元与目标从机的线路距离较小,属于近端传输),因此即使存在反馈回路其所产生的传输延时也比较小(几乎可以忽略不计),相比现有的pipeline传输模式仍可以大大减小线路延时,实现较高的时钟信号频率,以图3中的结构进行举例,通过本发明可以消除主机到从机的1.5ns延时,这样总的线路延时就大致为从机到主机的2ns延时。
本发明实施例还提供了一种wishbone互联网模块,包括至少一个上述的互联网总线单元。
其中,在一实施例中,wishbone互联网模块包括多个上述的互联网总线单元,多个所述互联网总线单元与多个兼容wishbone经典传输模式的主机一一对应,每一个所述互联网总线单元用于连接至对应的主机。
参见图8,wishbone互联网模块100包括仲裁电路130以及两个互联网总线单元110、120,其中,互联网总线单元110与主机(即主设备)210相连接,互联网总线单元120与主机(即主设备)220相连接,主机210以及主机220均兼容wishbone经典传输模式的主机,以下以互联网总线单元110进行举例说明;
互联网总线单元110包括缓存单元111、选择单元、处理单元113以及控制单元114;
缓存单元111包括数据接收端D、数据输出端Q、时钟信号接收端CLK、缓存状态端QN,缓存单元111的数据接收端D连接主机210的请求输出端req,其中,若缓存单元111中缓存有主机传输请求数据,则缓存状态端QN为低电平,否则,缓存状态端QN为高电平;
选择单元包含选择器112a和选择控制电路112b,选择器112a包括第一输入端0、第二输入端1、选择输出端2以及选择控制端,选择控制端与选择控制电路112b相连,选择器112a的第一输入端0与主机210的请求输出端req相连,第二输入端1与缓存单元111的数据输出端Q相连,选择输出端2与仲裁电路130相连;
缓存单元111用于在时钟信号的控制下缓存主机210的请求输出端req输出的主机传输请求数据;
选择单元用于根据缓存单元111的缓存状态以及仲裁电路130输出的第一响应信号接通第一传输路径和第二传输路径中的一者,其中,当所述第一传输路径接通时(即选择器112a的第一输入端0与选择输出端2接通),所述选择单元将所述请求输出端的数据作为目标从机300的输入数据,当所述第二传输路径接通时(即选择器112a的第二输入端1与选择输出端2接通),所述选择单元将所述缓存单元中的缓存数据作为所述目标从机的输入数据,具体地,若缓存单元中缓存有主机传输请求数据(即QN=0)且仲裁电路130输出的第一响应信号为低电平(即仲裁电路130向互联网总线单元110输出的第一响应信号ack=0),则选择单元接通第二传输路径,否则,选择单元接通所述第一传输路径;
处理单元113用于根据缓存单元111的缓存状态以及仲裁电路130输出的第一响应信号向所述主机输出第二响应信号,使所述主机根据所述第二响应信号判断是否更新自身输出的主机传输请求数据,具体地,若缓存单元中缓存有主机传输请求数据(即QN=0)且仲裁电路130输出的第一响应信号为低电平(即仲裁电路130向互联网总线单元110输出的第一响应信号ack=0),则所述处理单元输出的第二响应信号为低电平,否则,所述处理单元输出的第二响应信号为高电平;
控制单元114用于根据缓存单元111的缓存状态以及仲裁电路130输出的第一响应信号确定是否控制所述缓存单元中的缓存数据保持不变,具体地,若缓存单元111中缓存有主机传输请求数据且仲裁电路130输出的第一响应信号为低电平(即仲裁电路130向互联网总线单元110输出的第一响应信号ack=0),则控制单元14控制缓存单元111中的缓存数据保持不变,否则,缓存单元111在所述时钟信号的每一个上升沿将自身的缓存数据更新为所述请求输出端的数据;
此外,wishbone互联网模块中的仲裁电路130用于对不同的主机的请求进行仲裁,确定主机对从机的控制权,其可以采用现有技术实现,本发明对此不再赘述;
其中,本发明实施例中,wishbone互联网模块可以设置从机的外部,也可以设置在从机内,若将wishbone互联网模块设置在从机内,则可以进一步地减少线路延时;
此外,本发明实施例中,主机210以及主机220可以是现有的兼容wishbone经典传输模式的主机,其通常包括组合逻辑电路以及寄存器(能够隔离从机反馈回路),当组合逻辑电路产生主机的主机传输请求数据后输入寄存器的输入端,寄存器通过时钟信号的控制在下一个时钟周期将该主机传输请求数据输出。
此外,需要说明的是,图8所示的结构为本发明的一优选实施例,在不偏离本发明的基本原理的情况下,本领域的技术人员可以针对上述细节做出的各种明显的或等同的修改或替换;
其中,在本发明实施例中,主机210的读传输时序图如图9所示,其中A(第一笔传输)、B(第二笔传输)为无等待的连续两笔读传输,具体过程如下:
在CLK2(第二个时钟周期,也即数据传输的第一个时钟周期)时,主机的请求输出端输出第一笔主机传输请求数据(A的请求数据),由于此时缓存单元111中未缓存有主机传输请求数据,使得第一传输路径接通,从而将第一笔主机传输请求数据作为目标从机的输入数据发送给仲裁电路130,仲裁电路130对主机210的该请求的仲裁结果为成功,仲裁电路130将第一笔主机传输请求数据发送目标从机,此外,处理单元113输出的第二响应信号ack_idle为高电平,从而允许主机可以在下一个时钟周期更新输出的主机传输请求数据;
在CLK3(也即数据传输的第二个时钟周期)时,主机的请求输出端更新为第二笔主机传输请求数据(B的请求数据),并且目标从机响应主机210的第一笔请求(此时,目标从机输出的从机响应信号ack_u为高电平,同时输出主机210需要的数据),进而使得仲裁电路130向互联网总线单元110输出的第一响应信号ack为高电平,进一步使处理单元113输出的第二响应信号ack_idle也为高电平,主机210得到第一笔请求所需的数据;
在CLK4(也即数据传输的第三个时钟周期)时,目标从机响应主机210的第二笔请求(此时,目标从机输出的从机响应信号ack_u为高电平,同时输出主机210需要的数据),进而使得仲裁电路130向互联网总线单元110输出的第一响应信号ack为高电平,进一步使处理单元113输出的第二响应信号ack_idle也为高电平,主机210得到第二笔请求所需的数据。
如图9所示,C(第一笔传输)、D(第二笔传输)为有等待的连续两笔读传输,具体过程如下:
在CLK6(也即数据传输的第一个时钟周期)时,主机的请求输出端输出第一笔主机传输请求数据(C的请求数据),由于此时缓存单元111中未缓存有主机传输请求数据,使得第一传输路径接通,从而将第一笔主机传输请求数据作为目标从机的输入数据发送仲裁电路130,仲裁电路130对主机210的该请求的仲裁结果为失败,该第一笔主机传输请求数据不会发送至目标从机,此外,处理单元113输出的第二响应信号ack_idle为高电平,从而允许主机可以在下一个时钟周期更新输出的主机传输请求数据;
在CLK7(也即数据传输的第二个时钟周期)时,缓存单元111缓存第一笔主机传输请求数据,主机的请求输出端更新为第二笔主机传输请求数据(D的请求数据),并且目标从机不会响应主机210的第一笔请求,进而使得仲裁电路130向互联网总线单元110输出的第一响应信号ack为低电平,同时缓存单元111中已缓存有主机传输请求数据,这样会使得处理单元113输出的第二响应信号ack_idle为低电平(使得主机在下一时钟周期输出的主机传输请求数据与本时钟周期相同),第二传输路径接通,同时控制单元114控制缓存单元111中的缓存数据保持不变,仲裁电路130对缓存单元111中的第一笔请求的仲裁结果为成功,仲裁电路130将第一笔主机传输请求数据发送目标从机;
在CLK8(也即数据传输的第三个时钟周期)时,目标从机响应主机210的第一笔请求(此时,目标从机输出的从机响应信号ack_u为高电平,同时输出主机210需要的数据),进而使得仲裁电路130向互联网总线单元110输出的第一响应信号ack为高电平,进一步使处理单元113输出的第二响应信号ack_idle也为高电平,主机210得到第一笔请求所需的数据(即C传输中主机需要读的数据),同时第一传输路径接通,使得主机的请求输出端的第二笔主机传输请求数据发送至仲裁电路130,之后发送给目标从机;
在CLK9(也即数据传输的第四个时钟周期)时,目标从机响应主机210的第二笔请求(此时,目标从机输出的从机响应信号ack_u为高电平,同时输出主机210需要的数据),进而使得仲裁电路130向互联网总线单元110输出的第一响应信号ack为高电平,进一步使处理单元113输出的第二响应信号ack_idle也为高电平,主机210得到第二笔请求所需的数据(即C传输中主机需要读的数据)。
主机210的写传输时序图如图10所示,其中A(第一笔传输)、B(第二笔传输)为无等待的连续两笔写传输,具体过程如下:
在CLK2(也即数据传输的第一个时钟周期)时,主机的请求输出端输出第一笔主机传输请求数据(A的请求数据,主机传输请求数据除包含地址等信息外,还包含主机需要写入目标从机的数据),由于此时缓存单元111中未缓存有主机传输请求数据,使得第一传输路径接通,从而将第一笔主机传输请求数据作为目标从机的输入数据发送给仲裁电路130,仲裁电路130对主机210的该请求的仲裁结果为成功,仲裁电路130将第一笔主机传输请求数据发送目标从机,此外,处理单元113输出的第二响应信号ack_idle为高电平,从而允许主机可以在下一个时钟周期更新输出的主机传输请求数据;
在CLK3(也即数据传输的第二个时钟周期)时,主机的请求输出端更新为第二笔主机传输请求数据(B的请求数据),并且目标从机响应主机210的第一笔请求(此时,目标从机输出的从机响应信号ack_u为高电平),进而使得仲裁电路130向互联网总线单元110输出的第一响应信号ack为高电平,进一步使处理单元113输出的第二响应信号ack_idle也为高电平(实现目标从机对主机第一笔请求的响应);
在CLK4(也即数据传输的第三个时钟周期)时,目标从机响应主机210的第二笔请求(此时,目标从机输出的从机响应信号ack_u为高电平),进而使得仲裁电路130向互联网总线单元110输出的第一响应信号ack为高电平,进一步使处理单元113输出的第二响应信号ack_idle也为高电平(实现目标从机对主机第二笔请求的响应)。
如图10所示,C(第一笔传输)、D(第二笔传输)为有等待的连续两笔写传输,具体过程如下:
在CLK6(也即数据传输的第一个时钟周期)时,主机的请求输出端输出第一笔主机传输请求数据(C的请求数据,主机传输请求数据除包含地址等信息外,还包含主机需要写入目标从机的数据),由于此时缓存单元111中未缓存有主机传输请求数据,使得第一传输路径接通,从而将第一笔主机传输请求数据作为目标从机的输入数据发送仲裁电路130,仲裁电路130对主机210的该请求的仲裁结果为失败,该第一笔主机传输请求数据不会发送目标从机,此外,处理单元113输出的第二响应信号ack_idle为高电平,从而允许主机可以在下一个时钟周期更新输出的主机传输请求数据;
在CLK7(也即数据传输的第二个时钟周期)时,缓存单元111缓存第一笔主机传输请求数据,主机的请求输出端更新为第二笔主机传输请求数据(D的请求数据),并且目标从机不会响应主机210的第一笔请求,进而使得仲裁电路130向互联网总线单元110输出的第一响应信号ack为低电平,同时缓存单元111中已缓存有主机传输请求数据,这样会使得处理单元113输出的第二响应信号ack_idle为低电平(使得主机在下一时钟周期输出的主机传输请求数据与本时钟周期相同),第二传输路径接通,同时控制单元114控制缓存单元111中的缓存数据保持不变,仲裁电路130对缓存单元111中的第一笔请求的仲裁结果为成功,仲裁电路130将第一笔主机传输请求数据发送目标从机;
在CLK8(也即数据传输的第三个时钟周期)时,目标从机响应主机210的第一笔请求(此时,目标从机输出的从机响应信号ack_u为高电平),进而使得仲裁电路130向互联网总线单元110输出的第一响应信号ack为高电平,进一步使处理单元113输出的第二响应信号ack_idle也为高电平(实现目标从机对主机第一笔请求的响应),同时第一传输路径接通,使得主机的请求输出端的第二笔主机传输请求数据发送仲裁电路130,之后发送给目标从机;
在CLK9(也即数据传输的第四个时钟周期)时,目标从机响应主机210的第二笔请求(此时,目标从机输出的从机响应信号ack_u为高电平),进而使得仲裁电路130向互联网总线单元110输出的第一响应信号ack为高电平,进一步使处理单元113输出的第二响应信号ack_idle也为高电平(实现目标从机对主机第二笔请求的响应)。
此外,需要说明的是,本发明实施例提供的互联网总线单元不但适用于上述多主一从的应用场景,也适用于多主多从的应用场景。
本发明实施例提供的wishbone互联网模块,可以使兼容wishbone经典传输模式的主机在输出主机传输请求数据的同时准备下一笔主机传输请求数据,并且当发生等待传输的情况时,通过缓存单元可以缓存主机输出的第一笔主机传输请求数据,从而可以无论是在连续访问的情况下,还是碎片化访问的情况下都能具有较好的总线利用率(可以提升至100%),并且主机为采用兼容wishbone经典传输模式的主机,因此相比现有的pipeline传输模式,可以减少线路延时,不但有利于提高时钟信号频率,实现较高的时钟信号频率,还能简化主机的设计难度。
本发明实施例还提供了一种芯片,包括上述的wishbone互联网模块,例如,该芯片可是蓝牙芯片,也可以是其他类芯片。
本发明实施例还提供了一种互联网总线单元的数据传输方法,所述互联网总线单元应用于wishbone互联网模块,所述互联网总线单元包含缓存单元,所述方法包括:
所述互联网总线单元在时钟信号的控制下将采用wishbone经典传输模式的主机的请求输出端输出的主机传输请求数据缓存至所述缓存单元;
所述互联网总线单元根据所述缓存单元的缓存状态以及所述wishbone互联网模块中仲裁电路输出的第一响应信号接通第一传输路径和第二传输路径中的一者,其中,当所述第一传输路径接通时,所述互联网总线单元将所述请求输出端的数据作为目标从机的输入数据,当所述第二传输路径接通时,所述互联网总线单元将所述缓存单元中的缓存数据作为所述目标从机的输入数据,所述缓存单元的缓存状态为所述缓存单元中是否缓存有主机传输请求数据;
所述互联网总线单元根据所述缓存单元的缓存状态以及所述第一响应信号向所述主机输出第二响应信号,使所述主机根据所述第二响应信号判断是否更新自身输出的主机传输请求数据;
所述互联网总线单元根据所述缓存单元的缓存状态以及所述第一响应信号确定是否控制所述缓存单元中的缓存数据保持不变。
其中,在一实施例中,所述互联网总线单元根据所述缓存单元的缓存状态以及所述wishbone互联网模块中仲裁电路输出的第一响应信号接通第一传输路径和第二传输路径中的一者包括:
若所述缓存单元中缓存有主机传输请求数据且所述第一响应信号为低电平,则所述互联网总线单元接通所述第二传输路径,否则,所述互联网总线单元接通所述第一传输路径。
其中,在一实施例中,所述互联网总线单元根据所述缓存单元的缓存状态以及所述第一响应信号向所述主机输出第二响应信号包括:
若所述缓存单元中缓存有主机传输请求数据且所述第一响应信号为低电平,则所述互联网总线单元输出的第二响应信号为低电平,否则,所述互联网总线单元输出的第二响应信号为高电平。
其中,在一实施例中,所述互联网总线单元根据所述缓存单元的缓存状态以及所述第一响应信号确定是否控制所述缓存单元中的缓存数据保持不变包括:
若所述缓存单元中缓存有主机传输请求数据且所述第一响应信号为低电平,则所述互联网总线单元控制所述缓存单元中的缓存数据保持不变,否则,所述互联网总线单元在所述时钟信号的每一个上升沿将缓存单元的缓存数据更新为所述请求输出端的数据。
其中,在一实施例中,互联网总线单元的数据传输方法包括:
在第N个时钟周期,所述仲裁电路输出的第一响应信号为低电平,所述缓存单元中未缓存有主机传输请求数据,则所述互联网总线单元控制所述第一传输路径接通,从而将所述请求输出端的第一笔主机传输请求数据作为目标从机的输入数据发送所述仲裁电路,且所述互联网总线单元输出的第二响应信号为高电平,以允许所述主机在下一个时钟周期更新输出的主机传输请求数据,该时钟周期即为数据传输的第一个时钟周期;
在第(N+1)个时钟周期,该时钟周期即为数据传输的第二个时钟周期,所述互联网总线单元将所述第一笔主机传输请求数据缓存至所述缓存单元,并执行步骤A;
步骤A:若当前所述仲裁电路输出的第一响应信号为低电平,则执行步骤B,若当前所述仲裁电路输出的第一响应信号为高电平,则执行步骤C;
步骤B:所述互联网总线单元控制所述缓存单元中的缓存数据保持不变,并控制所述第二传输路径接通,从而将所述缓存单元中的缓存数据作为目标从机的输入数据发送所述仲裁电路,且所述互联网总线单元输出的第二响应信号为低电平,以禁止所述主机在下一个时钟周期更新输出的主机传输请求数据;
以及所述互联网总线单元在下一个时钟周期重复执行步骤A;
步骤C:所述互联网总线单元控制所述第一传输路径接通,所述互联网总线单元输出的第二响应信号为高电平,以允许所述主机在下一个时钟周期更新输出的主机传输请求数据。
本发明实施例提供的互联网总线单元的数据传输方法,可以使兼容wishbone经典传输模式的主机在输出主机传输请求数据的同时准备下一笔主机传输请求数据,并且当发生等待传输的情况时,通过缓存单元可以缓存主机输出的第一笔主机传输请求数据,从而可以无论是在连续访问的情况下,还是碎片化访问的情况下都能具有较好的总线利用率(可以提升至100%),并且主机为采用兼容wishbone经典传输模式的主机,因此相比现有的pipeline传输模式,可以减少线路延时,不但有利于提高时钟信号频率,实现较高的时钟信号频率,还能简化主机的设计难度。
本领域的技术人员能够理解的是,在不冲突的前提下,上述各优选方案可以自由地组合、叠加。
应当理解,上述的实施方式仅是示例性的,而非限制性的,在不偏离本发明的基本原理的情况下,本领域的技术人员可以针对上述细节做出的各种明显的或等同的修改或替换,都将包含于本发明的权利要求范围内。
Claims (16)
1.一种互联网总线单元,应用于wishbone互联网模块,其特征在于,所述互联网总线单元包括缓存单元、选择单元、处理单元以及控制单元;
所述缓存单元用于连接主机,所述缓存单元用于在时钟信号的控制下缓存所述主机的请求输出端输出的主机传输请求数据;
所述选择单元用于根据所述缓存单元的缓存状态以及所述wishbone互联网模块中仲裁电路输出的第一响应信号接通第一传输路径和第二传输路径中的一者,若所述缓存单元中缓存有主机传输请求数据且所述第一响应信号为低电平,则所述选择单元接通所述第二传输路径,否则,所述选择单元接通所述第一传输路径,当所述第一传输路径接通时,所述选择单元将所述请求输出端的数据作为目标从机的输入数据,当所述第二传输路径接通时,所述选择单元将所述缓存单元中的缓存数据作为所述目标从机的输入数据,所述缓存单元的缓存状态为所述缓存单元中是否缓存有主机传输请求数据;
所述处理单元用于根据所述缓存单元的缓存状态以及所述第一响应信号向所述主机输出第二响应信号,使所述主机根据所述第二响应信号判断是否更新自身输出的主机传输请求数据;
所述控制单元用于根据所述缓存单元的缓存状态以及所述第一响应信号确定是否控制所述缓存单元中的缓存数据保持不变。
2.根据权利要求1所述的互联网总线单元,其特征在于,若所述缓存单元中缓存有主机传输请求数据且所述第一响应信号为低电平,则所述处理单元输出的第二响应信号为低电平,否则,所述处理单元输出的第二响应信号为高电平。
3.根据权利要求1所述的互联网总线单元,其特征在于,若所述缓存单元中缓存有主机传输请求数据且所述第一响应信号为低电平,则所述控制单元控制所述缓存单元中的缓存数据保持不变,否则,所述缓存单元在所述时钟信号的每一个上升沿将自身的缓存数据更新为所述请求输出端的数据。
4.根据权利要求1所述的互联网总线单元,其特征在于,所述控制单元连接所述处理单元,所述控制单元被配置为根据所述第二响应信号控制所述缓存单元中的缓存数据保持不变。
5.根据权利要求1-4任一项所述的互联网总线单元,其特征在于,所述缓存单元包括数据接收端、数据输出端、时钟信号接收端、缓存状态端,所述数据接收端用连接所述主机的请求输出端,所述数据输出端连接所述选择单元,若所述缓存单元中缓存有主机传输请求数据,则所述缓存状态端为低电平,否则,所述缓存状态端为高电平。
6.根据权利要求5所述的互联网总线单元,其特征在于,所述选择单元包括选择器和选择控制电路;
所述选择器包括第一输入端、第二输入端、选择输出端以及选择控制端,所述第一输入端用于与所述主机的请求输出端相连,所述第二输入端与所述缓存单元的数据输出端相连,所述选择控制端与所述选择控制电路相连;
所述选择控制电路用于根据所述缓存单元的缓存状态以及所述第一响应信号向所述选择控制端输出控制信号,使所述第一输入端和所述第二输入端中的一者与所述选择输出端接通,从而使所述第一传输路径接通或所述第二传输路径接通。
7.根据权利要求1-4任一项所述的互联网总线单元,其特征在于,所述缓存单元包括若干个寄存器。
8.根据权利要求1-4任一项所述的互联网总线单元,其特征在于,所述处理单元包括或门。
9.根据权利要求1-4任一项所述的互联网总线单元,其特征在于,所述主机传输请求数据为读请求数据或写请求数据。
10.一种wishbone互联网模块,其特征在于,包括至少一个权利要求1-4任一所述的互联网总线单元,所述主机兼容wishbone经典传输模式。
11.根据权利要求10所述的wishbone互联网模块,其特征在于,包括多个所述互联网总线单元,所述多个所述互联网总线单元与多个所述主机一一对应,每一个所述互联网总线单元用于连接至对应的主机。
12.一种芯片,其特征在于,包括权利要求11所述的wishbone互联网模块。
13.一种互联网总线单元的数据传输方法,其特征在于,所述互联网总线单元应用于wishbone互联网模块,所述互联网总线单元包含缓存单元,所述方法包括:
所述互联网总线单元在时钟信号的控制下将主机的请求输出端输出的主机传输请求数据缓存至所述缓存单元;
所述互联网总线单元根据所述缓存单元的缓存状态以及所述wishbone互联网模块中仲裁电路输出的第一响应信号接通第一传输路径和第二传输路径中的一者,若所述缓存单元中缓存有主机传输请求数据且所述第一响应信号为低电平,则所述互联网总线单元接通所述第二传输路径,否则,所述互联网总线单元接通所述第一传输路径,其中,当所述第一传输路径接通时,所述互联网总线单元将所述请求输出端的数据作为目标从机的输入数据,当所述第二传输路径接通时,所述互联网总线单元将所述缓存单元中的缓存数据作为所述目标从机的输入数据,所述缓存单元的缓存状态为所述缓存单元中是否缓存有主机传输请求数据;
所述互联网总线单元根据所述缓存单元的缓存状态以及所述第一响应信号向所述主机输出第二响应信号,使所述主机根据所述第二响应信号判断是否更新自身输出的主机传输请求数据;
所述互联网总线单元根据所述缓存单元的缓存状态以及所述第一响应信号确定是否控制所述缓存单元中的缓存数据保持不变。
14.根据权利要求13所述的方法,其特征在于,所述互联网总线单元根据所述缓存单元的缓存状态以及所述第一响应信号向所述主机输出第二响应信号包括:
若所述缓存单元中缓存有主机传输请求数据且所述第一响应信号为低电平,则所述互联网总线单元输出的第二响应信号为低电平,否则,所述互联网总线单元输出的第二响应信号为高电平。
15.根据权利要求13所述的方法,其特征在于,所述互联网总线单元根据所述缓存单元的缓存状态以及所述第一响应信号确定是否控制所述缓存单元中的缓存数据保持不变包括:
若所述缓存单元中缓存有主机传输请求数据且所述第一响应信号为低电平,则所述互联网总线单元控制所述缓存单元中的缓存数据保持不变,否则,所述互联网总线单元在所述时钟信号的每一个上升沿将缓存单元的缓存数据更新为所述请求输出端的数据。
16.根据权利要求13-15任一项所述的方法,其特征在于,
在第N个时钟周期,所述仲裁电路输出的第一响应信号为低电平,所述缓存单元中未缓存有主机传输请求数据,则所述互联网总线单元控制所述第一传输路径接通,从而将所述请求输出端的第一笔主机传输请求数据作为目标从机的输入数据发送所述仲裁电路,且所述互联网总线单元输出的第二响应信号为高电平,以允许所述主机在下一个时钟周期更新输出的主机传输请求数据;
在第N+1个时钟周期,所述互联网总线单元将所述第一笔主机传输请求数据缓存至所述缓存单元,并执行步骤A;
步骤A:若当前所述仲裁电路输出的第一响应信号为低电平,则执行步骤B,若当前所述仲裁电路输出的第一响应信号为高电平,则执行步骤C;
步骤B:所述互联网总线单元控制所述缓存单元中的缓存数据保持不变,并控制所述第二传输路径接通,从而将所述缓存单元中的缓存数据作为目标从机的输入数据发送所述仲裁电路,且所述互联网总线单元输出的第二响应信号为低电平,以禁止所述主机在下一个时钟周期更新输出的主机传输请求数据;
以及所述互联网总线单元在下一个时钟周期重复执行步骤A;
步骤C:所述互联网总线单元控制所述第一传输路径接通,所述互联网总线单元输出的第二响应信号为高电平,以允许所述主机在下一个时钟周期更新输出的主机传输请求数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010038059.5A CN111435340B (zh) | 2020-01-14 | 2020-01-14 | 互联网总线单元及数据传输方法、wishbone互联网模块、芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010038059.5A CN111435340B (zh) | 2020-01-14 | 2020-01-14 | 互联网总线单元及数据传输方法、wishbone互联网模块、芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111435340A CN111435340A (zh) | 2020-07-21 |
CN111435340B true CN111435340B (zh) | 2023-07-21 |
Family
ID=71580373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010038059.5A Active CN111435340B (zh) | 2020-01-14 | 2020-01-14 | 互联网总线单元及数据传输方法、wishbone互联网模块、芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111435340B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102207920A (zh) * | 2010-03-30 | 2011-10-05 | 比亚迪股份有限公司 | 一种bvci总线到ahb总线的转换桥 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3659345B2 (ja) * | 2001-11-14 | 2005-06-15 | インターナショナル・ビジネス・マシーンズ・コーポレーション | バス・システム及び信号伝送方法 |
CN103218337B (zh) * | 2013-03-13 | 2015-10-07 | 北京安拓思科技有限责任公司 | 基于wishbone总线实现主与主、从与从通信的片上系统和方法 |
-
2020
- 2020-01-14 CN CN202010038059.5A patent/CN111435340B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102207920A (zh) * | 2010-03-30 | 2011-10-05 | 比亚迪股份有限公司 | 一种bvci总线到ahb总线的转换桥 |
Also Published As
Publication number | Publication date |
---|---|
CN111435340A (zh) | 2020-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8352774B2 (en) | Inter-clock domain data transfer FIFO circuit | |
US7554355B2 (en) | Crossbar switch architecture for multi-processor SoC platform | |
US5392422A (en) | Source synchronized metastable free bus | |
KR910007649B1 (ko) | 핀수가 적은 고속 버스 인터페이스 | |
KR101699784B1 (ko) | 버스 시스템 및 그것의 동작 방법 | |
CN110546922B (zh) | 环形网络 | |
WO2016057567A1 (en) | Methods and systems for synchronization between multiple clock domains | |
JP2004506975A (ja) | クロックフォワードシステムi/oのための効率的なクロック開始および停止装置 | |
CN111435340B (zh) | 互联网总线单元及数据传输方法、wishbone互联网模块、芯片 | |
JP2002123371A (ja) | ディスクアレイ制御装置及びディスクアレイ制御方法 | |
KR100337059B1 (ko) | 탄성 버스 인터페이스 데이터 버퍼 | |
US7096375B2 (en) | Data transfer circuit between different clock regions | |
US5590130A (en) | Bus protocol using separate clocks for arbitration and data transfer | |
WO2009110588A1 (ja) | データ転送装置及び方法並びに半導体回路 | |
US7302508B2 (en) | Apparatus and method for high speed data transfer | |
JP3328246B2 (ja) | Dma転送方法およびそのシステム | |
JP3953732B2 (ja) | データ送受信装置 | |
RU2256949C2 (ru) | Способ и устройство дифференциального стробирования на коммуникационной шине | |
JP3400730B2 (ja) | データ伝送方式及びこのデータ伝送方式に用いるデータ伝送制御装置 | |
JPH11143847A (ja) | データ処理装置 | |
JP2002141922A (ja) | ループ型バスシステム | |
EP2515443A1 (en) | Data serializer | |
KR100818908B1 (ko) | 파이프라인식 삽입을 위한 회로 및 방법 | |
EP2515226A1 (en) | An arrangement | |
KR910007648B1 (ko) | 고성능 로우핀 카운트버스 인터페이스 |
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 | ||
CB02 | Change of applicant information |
Address after: 519075 No. 333, Kexing Road, Xiangzhou District, Zhuhai City, Guangdong Province Applicant after: ZHUHAI JIELI TECHNOLOGY Co.,Ltd. Address before: Floor 1-107, building 904, ShiJiHua Road, Zhuhai City, Guangdong Province Applicant before: ZHUHAI JIELI TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |