CN101533381B - 一种类ahb总线及其实现方法 - Google Patents

一种类ahb总线及其实现方法 Download PDF

Info

Publication number
CN101533381B
CN101533381B CN200910080750.3A CN200910080750A CN101533381B CN 101533381 B CN101533381 B CN 101533381B CN 200910080750 A CN200910080750 A CN 200910080750A CN 101533381 B CN101533381 B CN 101533381B
Authority
CN
China
Prior art keywords
address
bus
data
write
signal
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
Application number
CN200910080750.3A
Other languages
English (en)
Other versions
CN101533381A (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.)
Beijing Vimicro Artificial Intelligence Chip Technology Co ltd
Original Assignee
Vimicro 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 Vimicro Corp filed Critical Vimicro Corp
Priority to CN200910080750.3A priority Critical patent/CN101533381B/zh
Publication of CN101533381A publication Critical patent/CN101533381A/zh
Application granted granted Critical
Publication of CN101533381B publication Critical patent/CN101533381B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Bus Control (AREA)

Abstract

本发明披露了一种类AHB总线及其总线信号处理方法。该类AHB总线包括至少一个主模块端、至少一个从模块端、总线仲裁器和读数据多路器以及读数据总线连接线,其特征在于还包括:地址和写数据多路器,对主模块端和从模块端之间的地址和写数据信号在总线仲裁器的控制下进行选通;地址和写数据所复用的总线连接线,对主模块端和从模块端与地址和写数据多路器进行连接,所述地址和写数据信号在选通和传递时对该连接线进行复用。本发明有效实现了地址和写数据的复用,简化了片内总线的互连难度,在对带宽要求不高的片内互连产品有较强的实用性。

Description

一种类AHB总线及其实现方法
技术领域
本发明涉及一种总线及其方法,尤其涉及一种类AHB总线及其实现方法。
背景技术
随着SOC技术的发展,一颗芯片内集成的功能模块越来越多。而各个模块对于存储器的访问要求也越来越高,因此片内内存的访问总线在芯片架构中显得非常重要。一定程度上说,片内内存的访问总线是决定后续其他设计的基础。
目前很多芯片设计采用AMBA芯片内总线协议中的AHB协议。但对于32位总线的芯片来说,一般设计会采用AHB或者AHB_LITE协议作为片内互连总线协议,这存在一定问题,主要体现在以下两个方面:
其一,由于AHB协议需要地址,读数据,写数据各32位(共96bit),以及其他一些控制信号,从而导致芯片内总线总裁模块上星型连接的线太多,给后端布线带来一定的困难。
其二,AHB协议中,地址线(Haddr)会随着每一个Hready的有效值更改为下一个地址,这在实际中基本是没有任何用处的。因为从模块端为了实现流水线访问机制,会实现自动计算下一个地址,而不是从地址总线上去获得下一个地址。
因此,如何减少片内总线数并充分利用流水线访问机制,成为优化AHB协议所需解决的问题。
发明内容
有鉴于此,本发明着眼于减少片内总线数量并充分利用流水线访问机制以优化AHB协议,提供了一种全新的类AHB总线及其信号处理方法。
根据本发明的第一方面,提供了一种类AHB总线。
该类AHB总线包括至少一个主模块端、至少一个从模块端、总线仲裁器和读数据多路器以及读数据总线连接线,其特征在于还包括:
地址和写数据多路器,对主模块端和从模块端之间的地址和写数据信号在总线仲裁器的控制下进行选通;和
地址和写数据所复用的总线连接线,对主模块端和从模块端与地址和写数据多路器进行连接,所述地址和写数据信号在选通和传递时对该连接线进行复用。
优选地,所述地址和写数据信号对连接线的复用具体为:
当一次写数据请求开始时,地址和写数据多路器对主模块端和从模块端的地址和写数据所复用的总线连接线进行选通,所述地址和写数据所复用的总线连接线在该次写数据请求的第一个周期内给出此次传输的起始地址;
此次传输请求余下的时钟周期内,根据连接线提前一个时钟周期给出的写数据地址进行写数据操作,直到此次传输请求结束。
根据本发明的第二方面,提供了一种类AHB总线信号处理方法。该方法包括以下步骤:
步骤1:当Hsel信号状态发生变化时,一次传输请求开始;
步骤2:判断Hwrite信号为写操作时,Haddr需要在Hsel信号有效的第一个周期给出此次传输的起始地址,并在第二个周期给出第一个写数据;
步骤3:当Hready信号在此次传输请求余下的时钟周期内每次为有效时,Haddr线上都要给出下一个写数据,直到此次传输请求结束。
优选地,在所述步骤2中,判断Hwrite信号为读操作时,Haddr信号为读数据,并在Hsel信号状态发生变化的第一个周期内给出此次传输的起始地址;Haddr在第二个周期开始无任何意义,直至该周期结束并不再执行步骤3。
本发明提供的类AHB总线及其总线信号处理方法,通过对地址线和写数据线的复用,有效减少了片内总线的物理连接线,降低了总线星形连接的布线难度。
附图说明
下面将参照附图对本发明的具体实施方案进行更详细的说明,其中:
图1是现有AHB总线结构图;
图2是本发明类AHB总线结构图;
图3是本发明类AHB总线信号处理波形图;以及
图4是本发明类AHB总线信号处理流程图。
具体实施方式
为了实现利用流水线访问机制以对地址线和写数据线的复用,本发明提供了一种类AHB总线及其总线信号处理方法。接下来具体说明该类AHB总线及其总线信号处理方法。
图2示出本发明类AHB总线结构图。如图2所示,该类AHB总线包括至少一个主模块端、至少一个从模块端、总线仲裁器和读数据多路器以及读数据总线连接线、地址和写数据多路器和地址和写数据所复用的总线连接线。
地址和写数据多路器对主模块端和从模块端之间的地址和写数据信号在总线仲裁器的控制下进行选通。
地址和写数据所复用的总线连接线对主模块端和从模块端与地址和写数据多路器进行连接,所述地址和写数据信号在选通和传递时对该连接线进行复用。
结合图1并与图2作比较,不难看出,本发明的总线的连接线明显减少。其地址和写数据共用一个多路选择器,并在仲裁器的仲裁控制下对地址和写数据进行复用,这样可减少地址或写数据的连线。
需补充说明的是,图1和图2中的除仲裁控制和译码连接线之外,其他的连接线都表示一定宽度的总线,它们不只是一条,其可为16位或32位,也可为64位或128位。其代表多少位的连接线,其就有多少根实际的物理连接线。以图2中地址和写数据多路器与从模块3之间的连接线来说,图中只显示一条,以32位为例的话,其表示有32根物理的连接线。
接下来将以32位的连接线为例,说明基于上述复用结构的类AHB总线信号处理的过程。
图3示出本发明类AHB总线信号处理波形图。如图3所示,包括信号Hclk、Hsel、Hwrite、Hsize、Haddr、Hrdata和Hready的各自波形。
上述的各信号具备各自的信号特性和相互关系,接下来分别加以说明(1表示高电平,0表示低电平,方向为总线的主模块端的方向)。
①Hclk,位宽为1,为总线的时钟信号,其每个时钟周期包括一个1和0信号。
②Hsel,位宽为1,从0到1表示一次请求开始,可以只持续1个周期,方向为输出。
③Hwrite,位宽为1,读写信号,1表示写,0为读,方向为输出。
④Hsize,位宽为3,读写字节数为2Hsize个,只支持Hsize>=2的情况,方向为输出。
⑤Haddr,位宽为32,地址及写数据复用线,如果为写操作,Hsel为高的第一个周期给出地址,之后为写数据,如果为读操作,Hsel为高的第一个周期给出地址,那么Haddr在第二个周期开始后无任何意义,方向为输出。
⑥Hrdata,位宽为32,读数据,方向为输入。
⑦Hready,位宽为1,读写数据有效信号,方向为输入。
这7组信号构成了本发明类AHB总线的协议。针对这些信号,分别构成了该协议的特征要素,具体如下:
【1】Hsel可以持续最少1个周期,但必须在该次请求的所有数据结束前更改为0;否则当所有数据传输结束时会被从模块认为一次新的请求开始了。
【2】Hsize从2到7,表示该协议可支持1,2,4,8,16,32个word(4byte=32bit)这6种突发传输方式:
Hsize2对应1word;
32word;
44word;
58word;
616word;
732word。
【3】Haddr在Hsel为高的第一个周期表示传输的起始地址。
如果该次操作为写,那么从第二个周期开始Haddr必须为第一个写数据;从写操作开始第二个周期后每当收到一个Hready为高的信号,Haddr更改为下一个写数据,直到该次传输结束。
如果该操作为读,那么Haddr在第二个周期开始后无任何意义。
【4】Hrdata为从模块给出的读数据。当从模块准备好数据时,会同时将Hready置高,并给出Hrdata。
【5】Hready为从模块的读写数据有效信号;当该操作为写操作,那么Hready每次为高时,Haddr上都必须给出下一个写数据;
当该操作为读操作,那么Hready每次为高时,Hrdata上都为有效的读数据。
下面对相关信号的相互关系和相互作用以图3的实例为例,分时钟段的加以分析和说明。
在第0时钟周期起,Hclk信号作为时钟信号输入。
在第1时钟周期,Hsel信号从0到1,说明一次请求开始。同时,Hwrite信号从0到1,说明该请求为写数据请求;Hsize信号同时为4,并持续到第9时钟周期,也即给出了写数据的字节数为4个word。
Hsize为4对应的内容为WD1,WD2,WD3,WD4,其中WD为WriteData的缩写。
4对应的4个word分别是WD1,WD2,WD3,WD4,每个均是32bit,共16byte。
3对应的2个word分别是RD1,RD2(ReadData的缩写),每个均是32bit,共8byte。
与此同时,在第1时钟周期内,也即在Hsel信号为1的第一个周期,在Haddr上给出此次传输的起始地址WA1。
在第2个时钟周期内,所述Haddr给出第一个写数据WD1,所述从模块在写数据WD1的有效时钟周期内将所述Haddr给出的第一个写数据WD1写入所述起始地址WA1,在第4个时钟周期,所述Hready由0变1。
由于Hready为1,在第5个时钟周期,所述Haddr给出第二个写数据WD2,所述从模块根据起始地址WA1计算出下一个地址WA2,并在写数据WD2的有效时钟周期内将所述Haddr给出的第二个写数据WD2写入所述下一个地址WA2,在第6个时钟周期,所述Hready再次由0变1。
从写操作开始第2个周期后每当收到一个Hready为高的信号,Haddr更改为下一个写数据,直到该次传输结束。这样,在第7个周期,所述Haddr给出的第三个写数据WD3,在第8个周期所述Haddr给出的第四个写数据WD4。所述从模块则把所述第三个写数据WD3和第四个写数据WD4写入指定的地址内。
所述从模块可以实现流水线访问机制,其会实现自动计算下一个地址,比如WD1对应起始地址WA1,则WD2对应WA1的下一个地址(一般为WA1+1,也可以为地址WA1+1绕回)。也就是说,在Slave从模块端获得WD2的时候,所述从模块已经可以根据WD1的地址计算出WD2的地址WD2,之后还会自动计算出WD3和WD4。
在第9时钟周期内,Hsel信号又从0到1,说明一次新的请求开始;同时,Hwrite信号从1到0,说明该请求为读数据请求。
Hsize信号同时为3,并持续到第9时钟周期,也即给出了读数据的字节数为2个word。
与此同时,在第9时钟周期内,也即在Hsel信号重新为1的第一个周期,在Haddr给出此次读数据传输的起始地址RA2。
在第12至13时钟周期内,根据这个地址,读出数据RD1。
同理,在第13至14时钟周期内Haddr线由流水线访问机制自动计算得到并提前给出地址,以供读出数据RD2。
关于流水线机制,需补充说明的是:
对于Master主模块端来说,它知道读写地址应该是多少,可以理解为不需要计算,也就是说WA1,RA2都是Master发出来的,无需计算。因此当写入WD4并且Hready为高的下一个周期,如果需要有新的总线操作,比如读操作,需要在下一个周期把读地址写入,也就是这里的RA2。
综上所述,本发明充分利用流水线访问机制,并通过有效的信号控制处理,实现了地址和写数据的复用,同时不影响读数据的操作。
图4示出本发明类AHB总线信号处理流程图。如图4所示,该类AHB总线信号处理方法包括以下步骤:
步骤1:当Hsel信号从0到1时,一次传输请求开始。
步骤2:判断Hwrite信号是否为1,如果为1时,表明此次传输请求是写请求,Haddr需要在Hsel信号为1的第一个周期给出此次传输的起始地址,并在第二个周期给出第一个写数据。
步骤3:当Hready信号在此次传输请求余下的时钟周期内每次为1时,Haddr线上都要给出下一个写数据,直到此次传输请求结束。
在一个实施例中,进一步包括:所述步骤2中,判断Hwrite信号是否为1,如果为0时,表明此次传输请求是读请求,并在Hsel信号为1的第一个周期内给出此次传输的起始地址;Haddr在第二个周期开始无任何意义,直至该周期结束并不再执行步骤3。
如图4所示的一个实施例中其类AHB总线信号的完整处理流程如下:
步骤400中,处理流程开始。
接下来,步骤402中,Hsel信号从0到1变化时,一次传输请求开始。
需说明的是,每次传输请求包括至少一个的写数据或读数据操作,以Haddr位宽为32来说,每个写数据或读数据操作对应一个word。也就是说,在包括多个写数据或读数据操作时,即对应多个word,当完成多个word的操作时,该次请求才算完成。
然后,进入步骤404中,判断Hwrite信号是否为1。
如果为0时,紧跟着进入步骤408中,表明此次传输请求是读请求,并在Hsel信号为1的第一个周期内给出此次读数据传输的起始地址。然后在步骤412中,Haddr在第二个周期开始无任何意义,Hrdata给出读数据,直至该周期结束,并进入步骤418中结束此次请求的处理过程。
如果为1时,紧跟着进入步骤406中,表明此次传输请求是写请求,在Hsel信号为1的第一个周期内,Haddr需要给出此次写数据传输的起始地址。
在步骤407中,Haddr在第二个周期给出第一个写数据,也即此次写数据传输请求的起始地址对应写数据。
然后进入步骤410中,在每个时钟周期内,判断Hready信号是否为1。
如果否,则进入步骤416中,判断此次传输请求是否已经完成,完成与否主要看此次所传输的数据是否都进行完了,以Hsize为4例,那就是所对应的4个word都传输完了才表明该次传输请求已经完成。
如果是,则进入步骤414中,Haddr线上必须给出下一个写数据,并进行写地址的操作。该地址是结合上一个地址并通过流水线机制计算得到。
接下来,进入步骤416中,判断此次传输请求是否已经完成。如果仍有效,需返回步骤410中,循环判断并执行后续的操作。
当此次传输请求已完成时,进入步骤418中,结束整个处理流程。
在实际芯片中,由于通过总线读写内存一般都有一定的延迟时间,因此,通过将地址和写数据复用,可以充分利用该延迟时间;但在做了一定优化的系统中(尤其是从模块端有较大读写缓冲时),就失去了AHB总线可以每个时钟读写一个数据的高带宽能力,相应的每次请求的第一个周期一定无法读写数据。
本发明虽然丧失了一定的带宽,但不同程度上简化了片内总线的互连,适合对带宽要求不高的片内互连的技术方案。
以上对本发明的具体描述旨在说明具体实施方案的实现方式,不能理解为是对本发明的限制。本领域普通技术人员在本发明的教导下,可以在详述的实施方案的基础上做出各种变体,这些变体均应包含在本发明的构思之内。本发明所要求保护的范围仅由所述的权利要求书进行限制。

Claims (8)

1.一种类AHB总线,
包括至少一个主模块端、至少一个从模块端、总线仲裁器和读数据多路器以及读数据总线连接线,其特征在于还包括:
地址和写数据多路器,对主模块端和从模块端之间的地址和写数据信号在总线仲裁器的控制下进行选通;和
地址和写数据所复用的总线连接线,对主模块端和从模块端与地址和写数据多路器进行连接,所述地址和写数据信号在选通和传递时对该连接线进行复用;
所述地址和写数据信号对连接线的复用具体为:
当一次写数据请求开始时,地址和写数据多路器对主模块端和从模块端的地址和写数据所复用的总线连接线进行选通,所述地址和写数据所复用的总线连接线在该次写数据请求的第一个周期内给出此次传输的起始地址;
此次传输请求余下的时钟周期内,根据连接线提前一个时钟周期给出的写数据地址进行写数据操作,直到此次传输请求结束;
所述类AHB总线的传输字节数支持1,2,4,8,16,32个word中任何一种突发传输模式。
2.如权利要求1所述的类AHB总线,其特征在于:
所述地址和写数据所复用的总线连接线及读数据总线连接线均为32根。
3.如权利要求1至2任一项所述的类AHB总线,其特征在于:
所述地址和写数据所复用的总线连接线选通传递中,需要在每次选通或请求的第一个周期给出一个地址。
4.如权利要求3所述的类AHB总线,其特征在于:
所述地址和写数据所复用的总线连接线,会根据访问有效值利用流水线访问机制自动计算下一个地址,每次请求的第一个周期所要给出的地址除外。
5.一种类AHB总线信号处理方法,包括以下步骤:
步骤1:当Hsel信号状态发生变化时,一次传输请求开始;
步骤2:判断Hwrite信号为写操作时,Haddr需要在Hsel信号状态发生变化的第一个周期给出此次传输的起始地址,并在第二个周期给出第一个写数据;
步骤3:当Hready信号在此次传输请求余下的时钟周期内每次为有效时,Haddr线上都要给出下一个写数据,直到此次传输请求结束。
6.如权利要求5所述的类AHB总线信号处理方法,其特征在于:
在所述步骤2中,判断Hwrite信号为读操作时,Haddr在Hsel信号状态发生变化的第一个周期内给出此次传输的起始地址;Haddr在第二个周期开始无任何意义,直至该周期结束并不再执行步骤3。
7.如权利要求6所述的类AHB总线信号处理方法,其特征在于:
所述步骤3中,Haddr线上给出下一个写数据,其方式是通过根据每次请求的第一个周期所要给出的地址并利用流水线访问机制自动计算下一个地址的。
8.如权利要求5至6任一项所述的类AHB总线信号处理方法,其
特征在于:
所述Haddr信号的带宽均为32位。
CN200910080750.3A 2009-03-27 2009-03-27 一种类ahb总线及其实现方法 Active CN101533381B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910080750.3A CN101533381B (zh) 2009-03-27 2009-03-27 一种类ahb总线及其实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910080750.3A CN101533381B (zh) 2009-03-27 2009-03-27 一种类ahb总线及其实现方法

Publications (2)

Publication Number Publication Date
CN101533381A CN101533381A (zh) 2009-09-16
CN101533381B true CN101533381B (zh) 2015-11-25

Family

ID=41103992

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910080750.3A Active CN101533381B (zh) 2009-03-27 2009-03-27 一种类ahb总线及其实现方法

Country Status (1)

Country Link
CN (1) CN101533381B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113918497B (zh) * 2021-12-10 2022-03-08 苏州浪潮智能科技有限公司 一种优化ahb总线数据传输性能的系统、方法及服务器

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1279787A (zh) * 1997-09-24 2001-01-10 英特尔公司 少引线数总线上的存储器事务处理
TW200641627A (en) * 2005-05-30 2006-12-01 Tatung Co Ltd Bus structure suitable for data exchange of system chip
CN1996276A (zh) * 2006-01-04 2007-07-11 三星电子株式会社 多处理器系统中的数据传输

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070099834A (ko) * 2006-04-05 2007-10-10 엘지전자 주식회사 Amba ahb의 버스 트래픽 감소 장치 및 감소 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1279787A (zh) * 1997-09-24 2001-01-10 英特尔公司 少引线数总线上的存储器事务处理
TW200641627A (en) * 2005-05-30 2006-12-01 Tatung Co Ltd Bus structure suitable for data exchange of system chip
CN1996276A (zh) * 2006-01-04 2007-07-11 三星电子株式会社 多处理器系统中的数据传输

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
AHB总线接口的一种新实现方案;马天翊 等;《电子技术应用》;20070321;第33卷(第2期);第50页左栏第2段,第47页左栏第2段至第50页右栏第1段及图1至图5, *

Also Published As

Publication number Publication date
CN101533381A (zh) 2009-09-16

Similar Documents

Publication Publication Date Title
US7389375B2 (en) System, method and storage medium for a multi-mode memory buffer device
CN105260331B (zh) 一种双总线内存控制器
CN101344870B (zh) 一种复用性强的fifo控制模块及其管理内存的方法
US20070079057A1 (en) Semiconductor memory system and memory module
KR20060049985A (ko) 버스 속도 멀티플라이어의 제공 방법 및 메모리 서브시스템
CN101477505A (zh) 一种主、从设备之间通过总线传输数据的方法
US8041867B2 (en) Method and apparatus for enhancing data rate of advanced micro-controller bus architecture
CN104599227A (zh) 用于高速ccd数据存储的ddr3仲裁控制器及方法
US20160110309A1 (en) Device power management state transition latency advertisement for faster boot time
CN204028898U (zh) 一种硬盘、兼容多种固态硬盘任意混插的服务器
CN100585568C (zh) 一种ahb总线测试方法与系统
CN101436171B (zh) 模块化通信控制系统
CN101770817A (zh) 基于fpga的多接口存储器验证系统
CN105573951A (zh) 一种针对数据流传输的ahb总线接口系统
CN102636987B (zh) 双重化控制装置
CN100517283C (zh) 先进高性能系统总线连接装置及先进高性能系统总线装置
CN102750254B (zh) 高速高带宽ahb总线到低速低带宽ahb总线的双向转换桥
CN101533381B (zh) 一种类ahb总线及其实现方法
CN1879096A (zh) 从AMBAAHB总线协议到i960-like总线协议的总线接口转换装置
CN104123246A (zh) 接口扩展装置及串行连接接口扩展器
CN102722457B (zh) 总线接口转换方法及总线桥接装置
US8244994B1 (en) Cooperating memory controllers that share data bus terminals for accessing wide external devices
EP2801032B1 (en) Bimodal functionality between coherent link and memory expansion
US9898358B2 (en) Error response circuit, semiconductor integrated circuit, and data transfer control method
CN101504559B (zh) 一种apb总线及其实现方法

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
TR01 Transfer of patent right

Effective date of registration: 20210128

Address after: No. 607, 6th floor, shining building, 35 Xueyuan Road, Haidian District, Beijing 100083

Patentee after: BEIJING VIMICRO ARTIFICIAL INTELLIGENCE CHIP TECHNOLOGY Co.,Ltd.

Address before: 100083, Haidian District, Xueyuan Road, Beijing No. 35, Nanjing Ning building, 16 floor

Patentee before: Vimicro Corp.

TR01 Transfer of patent right