CN102103564B - 用于实现总线连接的方法及系统 - Google Patents

用于实现总线连接的方法及系统 Download PDF

Info

Publication number
CN102103564B
CN102103564B CN 200910189200 CN200910189200A CN102103564B CN 102103564 B CN102103564 B CN 102103564B CN 200910189200 CN200910189200 CN 200910189200 CN 200910189200 A CN200910189200 A CN 200910189200A CN 102103564 B CN102103564 B CN 102103564B
Authority
CN
China
Prior art keywords
module
buffer
impact damper
handshake
information
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.)
Expired - Fee Related
Application number
CN 200910189200
Other languages
English (en)
Other versions
CN102103564A (zh
Inventor
方应龙
曾代兵
林晓涛
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.)
ZTE Corp
Sanechips Technology Co Ltd
Original Assignee
ZTE Corp
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
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN 200910189200 priority Critical patent/CN102103564B/zh
Publication of CN102103564A publication Critical patent/CN102103564A/zh
Application granted granted Critical
Publication of CN102103564B publication Critical patent/CN102103564B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Abstract

本发明公开用于实现总线连接的方法及系统,该方法包括:主模块缓冲器接收主模块发起的先进可扩展接口总线的传输请求;所述主模块缓冲器根据所述传输请求写入信息;当所述主模块缓冲器中有信息时,所述主模块缓冲器向从模块缓冲器发送所述信息;之后,所述信息被所述从模块缓冲器发送给从模块。采用本发明提供的用于实现总线连接的方法及系统,在主模块和从模块之间采用了主模块缓冲器和从模块缓冲器,使得主模块和从模块之间的信号输入/输出都是寄存器相连,从而最大程度的保证总线连接的时序优化。

Description

用于实现总线连接的方法及系统
技术领域
本发明涉及用于实现总线连接的方法及系统。
背景技术
随着集成技术的发展和应用领域的不断扩大,不同类型的集成电路相互镶嵌,形成了各种嵌入式系统(Embedded System,ES)和片上系统(System On Chip,SOC)。其中,SOC指的是在单个芯片上集成一个完整的系统,对所有或部分必要的电子电路进行包分组的技术。所谓完整的系统一般包括中央处理器(CPU)、存储器、以及外围电路等。
SOC之间的互联对于总线要求也相应的较高,由于先进可扩展接口(Advanced eXtensible Interface,AXI)总线是一种读写分开,地址和数据分开的效率非常高的高级总线互联技术,因此,一般SOC之间的互联会采用AXI总线。然而,有时需要在芯片之间或者芯片与现场可编程门阵列(Field-Programmable Gate Array,FPGA)之间采用AXI总线进行连接,由于芯片的可编程模拟器件(Programmable Analog Device,PAD)和FPGA的PAD本身的延迟就比较大,在这种情况下,采用AXI总线连接的时候,其运行的频率不可能很高,时序不能满足高频率运行的要求。
发明内容
本发明的目的在于提供用于实现总线连接的方法及系统,克服总线连接时的时序问题,正确实现数据交互。
本发明提供用于实现总线连接的方法,该方法包括:
主模块缓冲器接收主模块发起的先进可扩展接口总线的传输请求;
所述主模块缓冲器根据所述传输请求写入信息;
当所述主模块缓冲器中有信息时,所述主模块缓冲器向从模块缓冲器发送所述信息;
之后,所述信息被所述从模块缓冲器发送给从模块。
进一步的,所述主模块缓冲器向从模块缓冲器发送所述信息包括:
当所述从模块缓冲器的空位大于预定值时,所述主模块缓冲器向所述从模块缓冲器写入所述信息。
进一步的,所述主模块缓冲器向从模块缓冲器发送所述信息包括:
所述主模块缓冲器向所述从模块缓冲器发送有效的握手信号;
同时,所述主模块缓冲器将所述信息发送出去。
进一步的,所述主模块缓冲器向从模块缓冲器发送所述信息还包括:
所述从模块缓冲器向所述主模块缓冲器反馈握手信号。
进一步的,所述主模块缓冲器向从模块缓冲器发送所述信息还包括:
所述主模块缓冲器将发送的有效的握手信号和所述从模块缓冲器反馈的握手信号进行逻辑与,得到新的握手信号;
所述主模块缓冲器将所述新的握手信号发送给所述从模块缓冲器。
本发明还提供用于实现总线连接的系统,该系统的各模块之间采用先进可扩展接口总线连接,该系统包括:
主模块,用于发起先进可扩展接口总线的传输请求;
主模块缓冲器,用于所述接收主模块发起的先进可扩展接口总线的传输请求,写入信息;
从模块缓冲器,用于接收所述主模块缓冲器发送的所述信息;
从模块,用于接收所述从模块缓冲器发送的所述信息。
进一步的,所述主模块缓冲器包括:
写入单元,用于根据所述传输请求写入信息;
发送单元,用于向所述从模块缓冲器发送所述信息。
进一步的,所述主模块缓冲器还包括:
判断单元,用于判断所述从模块缓冲器的空位是否大于预定值;
所述发送单元,还用于当所述从模块缓冲器的空位大于预定值时,向所述从模块缓冲器写入所述信息。
进一步的,所述主模块缓冲器还包括:
握手单元,用于向所述从模块缓冲器发送有效的握手信号。
进一步的,所述主模块缓冲器还包括:
反馈单元,用于接收所述从模块缓冲器的反馈握手信号。
进一步的,所述主模块缓冲器还包括:
计算单元,用于将所述握手单元的握手信号和所述反馈单元接收的反馈握手信号进行逻辑与运算,作为新的握手信号,发送给所述从模块缓冲器。
采用本发明提供的用于实现总线连接的方法及系统,在主模块和从模块之间采用了主模块缓冲器和从模块缓冲器,使得主模块和从模块之间的信号输入/输出都是寄存器相连,从而最大程度的保证总线连接的时序优化。
进一步的,采用了预发机制,当从模块缓冲器的空位大于预定值时,才可以接收数据,即,在从模块缓冲器还有部分空位的时候就停止接收数据,从而避免由于延时造成的时序问题,实现数据的正确交互。
更进一步的,采用了携带反馈机制,主模块缓冲器发出的握手信号不仅仅是由主模块缓冲器发出,还与从模块缓冲器反馈的握手信号进行了逻辑与运算,从而根据反馈的信号对于主模块缓冲器发出的握手信号进行修正,保证数据的正确传输。
附图说明
图1示出普通AXI总线连接方式;
图2示出普通AXI总线在时序路径过长时候的错误交互;
图3示出本发明实施例中实现总线连接方法的流程示意图;
图4示出本发明实施例中带先入先出队列(First Input First Output,FIFO)缓冲的AXI总线连接;
图5示出本发明实施例中带FIFO缓冲的AXI总线连接的出错情况;
图6示出本发明实施例中带FIFO缓冲和预发模式的非标准AXI总线连接;
图7示出本发明实施例中非标准AXI总线的时序;
图8示出本发明实施例中FIFO的预发模式;
图9示出本发明实施例中实现总线连接系统的结构示意图。
具体实施方式
下面结合附图对本发明的具体实施方式做详细阐述。图1所示是现有的AXI总线的连接方式。其主模块(AXI MASTER)和从模块(AXI SLAVE)直接相连接,在这种连接情况下。如果两个芯片或者两个FPGA以及芯片与FPGA之间需要用AXI总线来进行连接,那么PAD以及走线的延迟(delay)加起来可能会造成超过一个周期的delay。如果主模块和从模块之间的时序路径超过一个周期,就会出现图2中出现的错误情况。由于连接上出现超过一个周期的delay,在主模块端有效的valid信号在第一个周期发出,到从模块端,要到第二个周期才会被采集到。从模块端接收到valid有效信号,将ready信号置为高,然后反馈到主模块端,需要到第三个周期才能被主模块接收到。在主模块端,valid信号就会一直维持到第三个周期才会结束,而在从模块端,valid信号会维持到第四个周期才会结束。这样,从模块端会多接收到两个周期的valid信号,这两个信号可能造成错误的交互操作。为了克服以上在高频情况下,芯片之间或者芯片与FPGA之间以及FPGA之间采用AXI总线连接时候的时序问题,本发明提出用于实现总线连接的方法,是一种基于AXI协议但不同于AXI协议的总线连接方法,适用于高频接口上使用。实现本发明的总线连接的方法,采用以下四个模块:分别是AXI的主模块(MASTER)、从模块(SLAVE)、主模块FIFO缓冲器和从模块FIFO缓冲器。其中主模块主要用于发起AXI的传输请求,包括读请求和写请求。从模块为接受方,受理读请求和写请求。
具体的,请参见图3,该方法提出FIFO缓冲机制,包括:
301、主模块缓冲器接收主模块发起的AXI的传输请求;
302、主模块缓冲器根据传输请求写入信息;
303、当主模块缓冲器中有信息时,主模块缓冲器向从模块缓冲器发送信息;
304、信息被从模块缓冲器发送给从模块。
其中,采用的主模块FIFO缓冲器和从模块FIFO缓冲器都是总线缓冲单元,这两个缓冲单元主要目的是为了保证片间的信号的输入和输出都是寄存器相连,从而保证最大程度的时序优化。
进一步的,本方法还提出预发机制,当从模块缓冲器的空位大于预定值时,主模块缓冲器向从模块缓冲器写入信息。预定值可以根据具体的总线连接情况而定,可以设置为两个。具体实现可以包括:在正常情况下,AXI总线的每个通道的握手是通过两个信号VALID和READY来进行。VALID是由主动方发出,READY是由从动方反馈,当两者都为高的时候,表示一次传输完成。对于从模块FIFO而言,只要其内部有空位,就意味着它可以接受数据,它就会一直把READY信号拉高,告诉主动方其可以接受数据。直到从模块FIFO里面填满,它就把反馈的READY信号拉低,这就相当于告诉主动方,现在不能接受数据,需要主动方等待。直到从模块FIFO的数据被取走,留下了FIFO空位,READY才会再次拉高。而预发模式下,READY信号的拉低机制是不同的,当FIFO的空位大于两个的时候,READY信号一直拉高,从模块FIFO可以接受数据,但是FIFO空位只剩下两个的时候,READY信号立即拉低。在从模块缓冲器还有部分空位的时候就停止接收数据,从而避免由于延时造成的时序问题,实现数据的正确交互。
进一步的,本方法还提出携带反馈机制,主模块缓冲器向从模块缓冲器发送有效的握手信号,从模块缓冲器向主模块缓冲器反馈握手信号,主模块缓冲器将发送的有效的握手信号和从模块缓冲器反馈的握手信号进行逻辑与,得到新的握手信号;主模块缓冲器将新的握手信号发送给从模块缓冲器。在正常情况下,主动方FIFO握手信号VALID是完全由主动方发出的。在本发明中,需要把主动方FIFO发出的VALID信号与从动方FIFO反馈的READY信号做逻辑与运算,再送给从动方FIFO。根据反馈的信号对于主模块缓冲器发出的握手信号进行修正,保证数据的正确传输。
图4示出缓冲机制的具体应用。在本应用中,约定把主动发出VALID端的FIFO称为主FIFO,另外一边的FIFO则是从FIFO。这样主模块端的AR,AW,W三个通道的FIFO,还有从模块端的B,R两个通道的FIFO都是主FIFO,其他5个FIFO则是从FIFO。
对于主FIFO,当主动模块的VALID有效,而且主FIFO有空位置的时候,就会向主FIFO写入信息。当主FIFO有信息,就会向从FIFO发出有效的VALID,同时将信息发送出去,一旦从FIFO端的READY信号有效,就完成一次传输。
对于从FIFO,当VALID有效,从FIFO有空位置的时候,就向从FIFO写入信息。当从FIFO有数据,就从其中取出信息发送往从模块,同时拉高与从模块连接的VALID信号,直到从模块端READY信号有效,发送成功。
通过在AXI总线上插入两级FIFO机制,可以有效的提高AXI的时序。但是仅仅用FIFO缓冲的机制,可能还是会有时序的违例存在,尤其是在芯片(FPGA)与芯片(FPGA)之间连接的时候,如果PAD和走线的延迟比较大,这种办法依然解决不了功能正确性的问题。
如图5所示,如果PAD和走线的延迟超过一个周期,使用FIFO缓冲机制就会出现图5中所示的时序违例,主模块端会多发数次VALID有效的传输信号,也就是会多传输几次信号。
图6示出缓冲机制与预发机制的应用。在正常情况下,当VALID信号和READY信号都为高的时候,数据传输成功,完成一次正常握手,图1,图4两种情况都是如此,这是标准的AXI接口方式。在预发模式下,从FIFO端的接口VALID和READY信号不再遵循这个关系。当从模块的FIFO还有空位的时候,而且VALID信号为高电平的时候,就会向从模块的FIFO写入数据,而这个时候从模块发出的VALID信号不一定为高电平。如图8所示,在正常模式下,从模块端的READY信号是在FIFO有空位的时候一直拉高从而保证可以接受数据,而FIFO一旦满就立即拉低,使得数据不能写入。但是在预发模式下,从模块端的READY信号在FIFO还有空位的时候就预先拉低,这样数据还在写入,但是READY已经不是高电平,这是一种非标准的AXI交互模式。
预发模式除了预先拉低从FIFO,如图6所示,还需要在主动FIFO的端口将READY信号与发出的VALID信号与一下再发送出去,才能保证功能的正确性,仅仅是在预发模式拉低READY信号会导致数据传输出错。因为在主FIFO端,预先拉低的READY到达之后,主FIFO端认为从FIFO没有再接收数据,因此会一直把VALID拉高,这个一直拉高的VALID到达从FIFO端之后会被从FIFO认为是有效的写入,从而将信息写入FIFO之中,造成错误传输。
而在主动FIFO的端口将发出的VALID与取过来的READY信号与一下之后,从FIFO接受到的VALID信号就会拉低,如图7所示,这种情况下的传输就是正确的。
通过本发明所提供的实现总线连接的方法,当主FIFO与从FIFO之间的时序路径超过一个周期的时候,信息依然能够有效的在主FIFO和从FIFO之间传输。而且这种方式是一种流水线的方式,不会降低多少系统的效率。这样可以保证总线运行在较高的频率下,尤其适用于在片见的AXI总线连接的情况。
相应的,本发明还提供用于实现总线连接的系统,该系统的各模块之间采用先进可扩展接口总线连接,请参阅图9,该系统包括:
主模块901,用于发起先进可扩展接口总线的传输请求;
主模块缓冲器902,用于接收主模块发起的先进可扩展接口总线的传输请求,写入信息;
从模块缓冲器903,用于接收主模块缓冲器发送的信息;
从模块904,用于接收从模块缓冲器发送的信息。
进一步的,主模块缓冲器902可以包括:
写入单元902-1,用于根据传输请求写入信息;
发送单元902-2,用于向从模块缓冲器发送信息。
进一步的,主模块缓冲器还可以包括:
判断单元902-3,用于判断从模块缓冲器的空位是否大于预定值;
发送单元,还用于当从模块缓冲器的空位大于预定值时,向从模块缓冲器写入信息。
进一步的,主模块缓冲器还可以包括:
握手单元902-4,用于向从模块缓冲器发送有效的握手信号。
进一步的,主模块缓冲器还可以包括:
反馈单元902-5,用于接收从模块缓冲器的反馈握手信号。
进一步的,主模块缓冲器还可以包括:
计算单元902-6,用于将握手单元的握手信号和反馈单元接收的反馈握手信号进行逻辑与运算,作为新的握手信号,发送给从模块缓冲器。
以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (5)

1.用于实现总线连接的方法,其特征在于,该方法包括:
主模块缓冲器接收主模块发起的先进可扩展接口总线的传输请求;
所述主模块缓冲器根据所述传输请求写入信息;
当所述主模块缓冲器中有信息时,向从模块缓冲器发送有效的握手信号,并接收所述从模块缓冲器向所述主模块缓冲器反馈的握手信号,所述主模块缓冲器将发送的有效的握手信号和所述从模块缓冲器反馈的握手信号进行逻辑与,得到新的握手信号;所述主模块缓冲器将所述新的握手信号发送给所述从模块缓冲器,同时,所述主模块缓冲器向所述从模块缓冲器发送所述信息;
之后,所述信息被所述从模块缓冲器发送给从模块。
2.根据权利要求1所述的方法,其特征在于,所述主模块缓冲器向从模块缓冲器发送所述信息包括:
当所述从模块缓冲器的空位大于预定值时,所述主模块缓冲器向所述从模块缓冲器写入所述信息。
3.用于实现总线连接的系统,其特征在于,该系统的各模块之间采用先进可扩展接口总线连接,该系统包括:
主模块,用于发起先进可扩展接口总线的传输请求;
主模块缓冲器,用于接收所述主模块发起的先进可扩展接口总线的传输请求,写入信息;
从模块缓冲器,用于接收所述主模块缓冲器发送的所述信息;
从模块,用于接收所述从模块缓冲器发送的所述信息;
所述主模块缓冲器包括:
握手单元,用于向所述从模块缓冲器发送有效的握手信号;
反馈单元,用于接收所述从模块缓冲器的反馈握手信号;
计算单元,用于将所述握手单元的握手信号和所述反馈单元接收的反馈握手信号进行逻辑与运算,作为新的握手信号,发送给所述从模块缓冲器。
4.根据权利要求3所述的系统,其特征在于,所述主模块缓冲器包括:
写入单元,用于根据所述传输请求写入信息;
发送单元,用于向所述从模块缓冲器发送所述信息。
5.根据权利要求4所述的系统,其特征在于,所述主模块缓冲器还包括:
判断单元,用于判断所述从模块缓冲器的空位是否大于预定值;
所述发送单元,还用于当所述从模块缓冲器的空位大于预定值时,向所述从模块缓冲器写入所述信息。
CN 200910189200 2009-12-22 2009-12-22 用于实现总线连接的方法及系统 Expired - Fee Related CN102103564B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910189200 CN102103564B (zh) 2009-12-22 2009-12-22 用于实现总线连接的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910189200 CN102103564B (zh) 2009-12-22 2009-12-22 用于实现总线连接的方法及系统

Publications (2)

Publication Number Publication Date
CN102103564A CN102103564A (zh) 2011-06-22
CN102103564B true CN102103564B (zh) 2013-08-07

Family

ID=44156347

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910189200 Expired - Fee Related CN102103564B (zh) 2009-12-22 2009-12-22 用于实现总线连接的方法及系统

Country Status (1)

Country Link
CN (1) CN102103564B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104581921B (zh) 2013-10-11 2019-08-06 中兴通讯股份有限公司 数据传输方法和系统
CN105634661A (zh) * 2014-11-05 2016-06-01 华为技术有限公司 传输信号的装置、传输链路和传输信号的方法
CN106909524B (zh) * 2017-03-17 2019-09-10 数据通信科学技术研究所 一种片上系统及其通信交互方法
CN107229589B (zh) * 2017-06-21 2024-03-12 上海景格信息科技有限公司 Ttl通讯总线子模块扩展电路
CN107463526A (zh) * 2017-08-15 2017-12-12 南京国电南自电网自动化有限公司 一种soc芯片之间的高速信息共享方法
CN109344105B (zh) * 2018-10-24 2021-07-09 盛科网络(苏州)有限公司 总线接口系统
CN111291525B (zh) * 2020-02-17 2022-04-08 福州大学 考虑总线和非总线线网的层分配方法
CN111752881A (zh) * 2020-06-22 2020-10-09 深圳鲲云信息科技有限公司 一种模块间通信方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101324869A (zh) * 2008-07-03 2008-12-17 北京中星微电子有限公司 一种基于axi总线的多路复用器
CN101430739A (zh) * 2008-12-04 2009-05-13 中国科学院计算技术研究所 一种集成芯片参数配置的系统及方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101324869A (zh) * 2008-07-03 2008-12-17 北京中星微电子有限公司 一种基于axi总线的多路复用器
CN101430739A (zh) * 2008-12-04 2009-05-13 中国科学院计算技术研究所 一种集成芯片参数配置的系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
吴洪涛.存储器访问调度的应用实现研究.《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》.2006,(第I137-13期), *

Also Published As

Publication number Publication date
CN102103564A (zh) 2011-06-22

Similar Documents

Publication Publication Date Title
CN102103564B (zh) 用于实现总线连接的方法及系统
KR101720134B1 (ko) 버스 브리지 장치
CN107832250B (zh) 一种基于spi的主从通讯时序方法
US20070240011A1 (en) FIFO memory data pipelining system and method for increasing I²C bus speed
CN102420877B (zh) 一种多模式高速智能异步串口通信模块及实现方法
EP2225652B1 (en) Read status controller
CN106681953A (zh) 使用i2c总线与主机连接的从机及其通信方法
KR20130129388A (ko) 프로세서 모듈들 사이에서 데이터를 송신하는 방법 및 회로 배열
US7653764B2 (en) Fault-tolerant computer and method of controlling data transmission
CN110837486A (zh) 一种基于FPGA的FlexRay-CPCIe通信模块
CN101937413B (zh) 一种i2c总线的通信方法
US7590146B2 (en) Information processing unit
US9940288B1 (en) SerDes alignment process
CN103593316B (zh) 一种减少mcu中断占用i2c总线时间的方法
CN103077144A (zh) 一种确保数据完整的spi通讯接口及其通讯方法
US8443129B1 (en) Method and apparatus for implementing a data bus interface
US10769085B2 (en) Bus system
CN113886297B (zh) 一种基于dma的spi并发通讯se装置及方法
CN115982071A (zh) 一种面向ddr3控制器的片上网络转换接口
CN103888375A (zh) 基于arinc 429的通信方法、装置及扩展接口
CN204706031U (zh) 串行外设接口spi总线电路以及电子设备
CN112035399A (zh) 一种基于fpga的spi从机模块实现方法
EP2282268B1 (en) Interfacing device and method, for example for systems-on-chip
CN108664428B (zh) 一种基于fpga的通信方法以及fpga控制器和usb适配器
CN101071406A (zh) 接口可配置的通用串行总线控制器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20151127

Address after: 518057 Nanshan District Guangdong high tech Industrial Park, South Road, science and technology, ZTE building, Ministry of Justice

Patentee after: ZTE Corp.

Patentee after: SANECHIPS TECHNOLOGY Co.,Ltd.

Address before: 518057 Nanshan District science and Technology Park, Guangdong, South Road, ZTE building, science and Technology Park

Patentee before: ZTE Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130807

Termination date: 20211222

CF01 Termination of patent right due to non-payment of annual fee