SoC架构中的多总线拓扑系统及总线互连方法与流程

文档序号:26750594发布日期:2021-09-25 02:23阅读:233来源:国知局
SoC架构中的多总线拓扑系统及总线互连方法与流程
soc架构中的多总线拓扑系统及总线互连方法
技术领域
1.本发明属于芯片设计领域,具体涉及一种soc架构中的多总线拓扑系统及总线互连方法。


背景技术:

2.随着全球化半导体技术的日益发展和半导体工艺材料的日益进步,单颗芯片上的集成度已经达到了前所未有的水平。集成度的增加、功能模块的多元化以及对于功耗管理的提升,都带来了设计架构的迭代更新。高级微控制器总线结构(advanced microcontroller bus architecture,amba)定义了高性能嵌入式微控制器的通信标准。当今嵌入式soc设计中,大部分都是基于amba协议实现的。
3.amba总线根据不同的应用特点,具体包括apb总线、asb总线、ahb总线和axi总线;apb总线(advanced peripheral bus,apb):apb总线用于为慢速外设提供总线技术支持。apb总线是一种优化的、低功耗的精简接口总线,其可以接入多种不同的慢速外设。由于apb总线是arm公司最早提出的总线接口,因此apb总线可以桥接arm体系下的每一种系统总线。
4.asb总线(advanced system bus,asb):asb总线主要用于高性能系统模块。asb总线是能够适用于ahb总线不需要的高性能特性的芯片设计上的系统总线。asb总线能够为高性能处理器、片上内存和片外内存提供接口,也能够用于桥接慢速外设。
5.ahb总线(advanced high

performance bus,ahb):ahb总线适用于高性能、高时钟工作频率的模块。ahb总线在amba架构中为系统的高性能运行起到了基石作用。ahb总线能够为高性能处理器、片上内存和片外内存提供接口,也能够用于桥接慢速外设。
6.axi总线(advanced extensible interface,axi):axi总线是一种面向高性能、高带宽、低延迟的片内总线;无需复杂的桥接就能实现高频操作,同时能够满足大部分器件的接口要求,还能提供互连架构,提高了架构的灵活性与独立性,同时向下兼容已有的ahb和apb接口。
7.如图1所示为一种比较常规的总线拓扑结构:对于性能和带宽的需求,主机大部分采用axi总线协议接口,通过axi总线矩阵访问其他axi从机;还可以通过axi从机端口通过协议转换桥,去访问ahb总线或者apb总线的从机。图1中的总线拓扑结构相对简单,所有主机通过一个总线矩阵进行分发。但是,这样的拓扑结构必然会带来一定的弊端:主总线矩阵承载过多的主机操作,因此在仲裁策略和时序收敛方面不容易达到较高要求,而时序带来的问题与axi的高性能相悖;同时,有一些主机不需要转换为更复杂的axi协议,也不必须具备更高的工作频率,从而影响了总线的效率和性能。


技术实现要素:

8.本发明的目的之一在于提供一种可靠性高、实用性好、性能较高且能耗较低的soc架构中的多总线拓扑系统。
9.本发明的目的之二在于提供一种所述soc架构中的多总线拓扑系统的总线互连方法。
10.本发明提供的这种soc架构中的多总线拓扑系统,包括若干路总线矩阵和若干个总线桥;各路总线矩阵上均连接有各自的若干个主机端口和若干个从机端口;总线矩阵与总线矩阵之间通过总线桥连接,从而实现带宽和频率的转换;在任意一路总线矩阵上,还通过总线桥与slave端口实现ahb/apb协议的转换。
11.所述的若干路总线矩阵,各个总线矩阵之间的工作频率和工作带宽均不相同。
12.本发明还公开了一种所述soc架构中的多总线拓扑系统的总线互连方法,包括如下步骤:s1. 根据各个总线矩阵自身独有的主机端口的标识信息宽度和来自其它总线矩阵自身独有的主机端口的标识信息宽度及所有主机端口数量,计算得到各个总线矩阵的标识信息位宽;s2. 根据步骤s1得到的总线矩阵的标识信息位宽和总线矩阵自身的若干个主机标识信息宽度,计算得到各个总线矩阵的各个主机所增加的标识信息宽度;s3. 根据步骤s1得到的各个总线矩阵的标识信息位宽和各个总线矩阵的所有主机端口数量,计算得到进行跨总线访问时所需的互连标记信号的增减量;s4. 根据步骤s1~步骤s3的计算结果,进行soc架构中的多总线拓扑系统的总线互连。
13.步骤s1所述的根据各个总线矩阵自身独有的主机端口的标识信息宽度和来自其它总线矩阵自身独有的主机端口的标识信息宽度及所有主机端口数量,计算得到各个总线矩阵的标识信息位宽,具体包括如下步骤:规定存在n(1)总线矩阵~n(n)总线矩阵,共n条总线矩阵;其中n(i)总线矩阵连接m(i)个主机端口和s(i)个从机端口;总线矩阵所有主机端口的标识信息宽度一致;采用如下算式计算得到n(i)总线矩阵的标识信息位宽wn(i)
id
:wn(i)
id = max(a,b)式中a和b为均为中间变量,且,,wn(i)m(i)
id
为n(i)总线矩阵中所连接的第m(i)个主机端口的标识信息宽度;wn(j)o
id
为n(i)总线矩阵中来自n(j)总线矩阵的有效主机标识信息宽度,且,wn(j)m(j)
id
为n(j)总线矩阵所连接的第m(j)个主机端口的标识信息宽度,n(j)m为n(j)总线矩阵中所有的主机端口的数量;为向上取整操作。
14.步骤s2所述的根据步骤s1得到的总线矩阵的标识信息位宽和总线矩阵自身的若干个主机标识信息宽度,计算得到各个总线矩阵的各个主机所增加的标识信息宽度,具体包括如下步骤:规定存在n(1)总线矩阵~n(n)总线矩阵,共n条总线矩阵;其中n(i)总线矩阵连接m(i)个主机端口和s(i)个从机端口;总线矩阵所有主机端口的标识信息宽度一致;采用如下
算式计算得到n(i)总线矩阵的第x个主机所增加的标识信息宽度wn(i)xadd
id
:wn(i)xadd
id = wn(i)
id
ꢀ‑ꢀ
wn(i)x
id
式中wn(i)
id
为n(i)总线矩阵的标识信息位宽;wn(i)x
id
为n(i)总线矩阵中所连接的第x个主机的标识信息宽度。
15.步骤s3所述的根据步骤s1得到的各个总线矩阵的标识信息位宽和各个总线矩阵的所有主机端口数量,计算得到进行跨总线访问时所需的互连标记信号的增减量,具体包括如下步骤:规定存在n(1)总线矩阵~ n(n)总线矩阵,共n条总线矩阵;其中n(i)总线矩阵连接m(i)个主机端口和s(i)个从机端口;总线矩阵所有主机端口的标识信息宽度一致;进行跨总线访问时,n(i)总线矩阵通过自身的slave端口连接到n(k)总线矩阵的master端口;采用如下步骤计算进行跨总线访问时所需的互连标记信号的增减量:(1)采用如下算式计算得到n(i)总线矩阵输出到自身slave端口的标识信息宽度wn(i)
sid
:式中wn(i)
id
为n(i)总线矩阵的标识信息位宽;n(i)m为n(i)总线矩阵中所有的主机端口的数量;为向上取整操作;(2)根据步骤(1)得到的n(i)总线矩阵输出到自身slave端口的标识信息宽度wn(i)
sid
和n(k)总线矩阵的标识信息位宽wn(k)
id
,进行如下判断:若wn(i)
sid
> wn(k)
id
,则表示拓扑互连之间需要删减冗余的标识信息,则采用如下算式计算删除的冗余标识信息位置:式中wn(i)
mid
为n(i)总线矩阵的主机端口标识信息宽度;若wn(i)
sid
< wn(k)
id
,则表示互连需要增加冗余标识信息,增加的冗余标识信息位置为wn(i)
sid
的最高有效位的左侧,且计算得到需要增补的位宽wn(i)oadd
id
为wn(i)oadd
id = wn(k)
id
ꢀ‑ꢀ
wn(i)
sid

16.本发明提供的这种soc架构中的多总线拓扑系统及总线互连方法,不仅提出了一种soc架构设计中多总线矩阵拓扑系统,而且还提供了一种在多总线拓扑互连时,标识信息位宽的确定、增补和删减的方法;本发明能够使得高性能高带宽的总线矩阵达到更高的工作频率,而且能够降低后端实现难度和功耗;而且能够快速确定各个总线矩阵的标识信息位宽、增补和删减标识信息的位置,实现总线矩阵的快速连接,减少时间成本和重新计算出错概率,可靠性高、实用性好、性能较高且能耗较低。
附图说明
17.图1为现有常见的总线拓扑结构示意图。
18.图2为本发明的总线拓扑系统的结构示意图。
19.图3为本发明的总线互连方法的方法流程示意图。
20.图4为本发明的回环通路示意图。
21.图5为本发明的总线矩阵之间通过主机端口访问对方从机时的通路示意图。
具体实施方式
22.本发明提供的这种soc架构中的多总线拓扑系统,包括若干路总线矩阵和若干个总线桥;各路总线矩阵上均连接有各自的若干个主机端口和若干个从机端口;总线矩阵与总线矩阵之间通过总线桥连接,从而实现带宽和频率的转换;在任意一路总线矩阵上,还通过总线桥与slave端口实现ahb/apb协议的转换。具体实施时,各个总线之间的工作频率和工作带宽均不相同。
23.具体实施时,如图2所示为本发明的总线拓扑系统的结构示意图,该图以3路总线矩阵为例进行说明。
24.在该实施例中,soc架构中的多总线拓扑系统包括3路总线矩阵(总线矩阵a、总线矩阵b和总线矩阵c)和若干个总线桥(3个总线桥);各路总线矩阵上均连接有各自的若干个主机端口和若干个从机端口;为了方便,图中各个总线矩阵上均连接相同的m个主机端口和s个从机端口,即总线矩阵a连接的主机端口为am1~amm,连接的从机端口为as1~ass;总线矩阵b连接的主机端口为bm1~bmm,连接的从机端口为bs1~bss;总线矩阵c连接的主机端口为cm1~cmm,连接的从机端口为cs1~css;但是,在具体实施时,各个总线矩阵所连接的主机端口和从机端口数量可以各不相同;总线矩阵与总线矩阵之间通过总线桥连接,从而实现带宽和频率的转换;图中表示为三个总线桥;在任意一路总线矩阵上,还通过总线桥与slave端口实现ahb/apb协议的转换;在图中,总线矩阵c通过总线桥与slave端口实现ahb/apb协议的转换;具体实施时,各个总线矩阵均可以通过总线桥与slave端口实现ahb/apb协议的转换,而不用固定于总线矩阵c。
25.此外,各个总线矩阵之间的工作频率和工作带宽均不相同。
26.如图3所示为本发明的总线互连方法的方法流程示意图:本发明提供的这种所述soc架构中的多总线拓扑系统的总线互连方法,包括如下步骤:s1. 根据各个总线矩阵自身独有的主机端口的标识信息宽度和来自其它总线矩阵自身独有的主机端口的标识信息宽度及所有主机端口数量,计算得到各个总线矩阵的标识信息位宽;具体包括如下步骤:规定存在n(1)总线矩阵~n(n)总线矩阵,共n条总线矩阵;其中n(i)总线矩阵连接m(i)个主机端口和s(i)个从机端口;总线矩阵所有主机端口的标识信息宽度一致;采用如下算式计算得到n(i)总线矩阵的标识信息位宽wn(i)
id
:wn(i)
id = max(a,b)式中a和b为均为中间变量,且,,wn(i)m(i)
id
为n(i)总线矩阵中所连接的第m(i)个主机端口的标识信息宽度;wn(j)o
id
为n(i)总线矩阵中来自n(j)总线矩阵的有效主机标识信息宽度,且,
wn(j)m(j)
id
为n(j)总线矩阵所连接的第m(j)个主机端口的标识信息宽度,n(j)m为n(j)总线矩阵中所有的主机端口的数量;为向上取整操作;s2. 根据步骤s1得到的总线矩阵的标识信息位宽和总线矩阵自身的若干个主机标识信息宽度,计算得到各个总线矩阵的各个主机所增加的标识信息宽度;具体包括如下步骤:规定存在n(1)总线矩阵~n(n)总线矩阵,共n条总线矩阵;其中n(i)总线矩阵连接m(i)个主机端口和s(i)个从机端口;总线矩阵所有主机端口的标识信息宽度一致;采用如下算式计算得到n(i)总线矩阵的第x个主机所增加的标识信息宽度wn(i)xadd
id
:wn(i)xadd
id = wn(i)
id
ꢀ‑ꢀ
wn(i)x
id
式中wn(i)
id
为n(i)总线矩阵的标识信息位宽;wn(i)x
id
为n(i)总线矩阵中所连接的第x个主机的标识信息宽度;s3. 根据步骤s1得到的各个总线矩阵的标识信息位宽和各个总线矩阵的所有主机端口数量,计算得到进行跨总线访问时所需的互连标记信号的增减量;具体包括如下步骤:规定存在n(1)总线矩阵~ n(n)总线矩阵,共n条总线矩阵;其中n(i)总线矩阵连接m(i)个主机端口和s(i)个从机端口;总线矩阵所有主机端口的标识信息宽度一致;进行跨总线访问时,n(i)总线矩阵通过自身的slave端口连接到n(k)总线矩阵的master端口;采用如下步骤计算进行跨总线访问时所需的互连标记信号的增减量:(1)采用如下算式计算得到n(i)总线矩阵输出到自身slave端口的标识信息宽度wn(i)
sid
:式中wn(i)
id
为n(i)总线矩阵的标识信息位宽;n(i)m为n(i)总线矩阵中所有的主机端口的数量;为向上取整操作;(2)根据步骤(1)得到的n(i)总线矩阵输出到自身slave端口的标识信息宽度wn(i)
sid
和n(k)总线矩阵的标识信息位宽wn(k)
id
,进行如下判断:若wn(i)
sid
> wn(k)
id
,则表示拓扑互连之间需要删减冗余的标识信息,则采用如下算式计算删除的冗余标识信息位置:式中wn(i)
mid
为n(i)总线矩阵的主机端口标识信息宽度;若wn(i)
sid
< wn(k)
id
,则表示互连需要增加冗余标识信息,增加的冗余标识信息位置为wn(i)
sid
的最高有效位的左侧,且计算得到需要增补的位宽wn(i)oadd
id
为wn(i)oadd
id = wn(k)
id
ꢀ‑ꢀ
wn(i)
sid
;s4. 根据步骤s1~步骤s3的计算结果,进行soc架构中的多总线拓扑系统的总线互连。
27.以下,以图2所示的三总线矩阵互连为例,对本发明提供的总线互连方法进行进一步说明:
图2中,将总线矩阵分为高频率高带宽(图中a总线矩阵)、高频率低带宽(b总线矩阵)和低频率低带宽(c总线矩阵)。同时,规定总线拓扑结构中,不允许出现回环通路,即访问通路不会通过其他总线矩阵然后访问到自身独有的从机模块,如图4中的虚线路径所示。
28.同时,对于多总线拓扑互连,最重要也是最容易出错的地方就是标识信息之间的互连。而本发明方法提出了计算方法,确定各个总线矩阵的标识信息的互连的方式,其主要包括:总线矩阵标识信息位宽的确定、主机标识信息的增补和互连标识信息的增补和删减三部分。
29.首先,根据各个总线矩阵自身独有的主机端口的标识信息宽度和各个总线矩阵的所有主机端口数量,计算得到各个总线矩阵的标识信息位宽;在soc总线拓扑互连时,每一个总线矩阵除了有它自己单独的主机外,还可能有来自其他总线矩阵的master,如图5中虚线所示的路径;以图5中所示的一种soc多总线拓扑结构为例,有3组axi总线矩阵,分别为a总线矩阵、b总线矩阵和c总线矩阵;a总线矩阵的m个主机端口和s个从机端口,同理b和c总线矩阵。总线矩阵所有主机端口的标识信息宽度一致,因此计算a总线矩阵的标识信息位宽:式中wa1
id
,wa2
id
,

,wam
id
为a总线矩阵独有的主机端口的标识信息宽度;wbo
id
为来自于b总线矩阵的有效主机标识信息宽度;wco
id
为来自于c总线矩阵的有效主机标识信息宽度;而且而且式中wb1
id
,

,wbm
id
为b总线矩阵独有的主机端口的标识信息宽度;wc1
id
,

,wcm
id
为c总线矩阵独有的主机端口的标识信息宽度;bm为b总线矩阵自身所有的主机端口数量;cm为c总线矩阵自身所有的主机端口数量;对应的,b总线矩阵的标识信息位宽以及c总线矩阵的标识信息位宽,均可以按照上述的公式进行类推并计算得到;然后,根据步骤s1得到的总线矩阵的标识信息位宽和总线自身的若干个主机标识信息宽度,计算得到各个总线矩阵的各个主机所增加的标识信息宽度;在总线拓扑结构中,由于不同主机的标识信息宽度可能不一致,但是当连接到同一个总线矩阵时,需要确保所有主机的标识信息宽度一致。因此,不同主机连接到总线矩阵所需要增补的标识信息宽度由以下公式决定,同样以a总线矩阵为例,计算得到a总线矩阵的各个主机所增加的标识信息宽度:wanadd
id = wa
id
ꢀ‑ꢀ
wan
id
式中wanadd
id
为a总线矩阵的第n个主机增加的标识信息宽度,wa
id
为之前计算得到的a总线矩阵的标识信息位宽,wan
id
为a总线矩阵的第n个主机标识信息宽度;此外,不同主机增补的标识信息位宽可能不一致,为了方便处理,可以将增补的标识信息统一按照零处理,即增补的标识信息统一为增补“0”;对应的,b总线矩阵的各个主机所增加的标识信息宽度以及c总线矩阵的各个主机
所增加的标识信息宽度,均可以按照上述的公式进行类推并计算得到;接下来,根据步骤s1得到的各个总线矩阵的标识信息位宽和各个总线矩阵的所有主机端口数量,计算得到进行跨总线访问时所需的互连标记信号的增减量;拓扑级联的结构中,两个总线矩阵之间通过主机端口访问其各自从机时,即a总线矩阵通过自身的slave端口连接到b总线矩阵的master端口;对于a总线矩阵来说,由之前的步骤确定a总线矩阵的主机标识宽度为wa
id
,总线矩阵为了区分不同master对slave的访问,会对各个master增加编码比特在slave端口输出,增加的编码比特宽度,所以a总线矩阵输出到slave端口的标识信息宽度由以下公式决定:b总线矩阵的主机标识宽度为wb
id
;当wa
sid > wb
id
时,拓扑互连之间需要删减冗余的标识信息,删除的冗余标识信息位置如下:式中wa
mid
为a总线矩阵的主机端口标识信息宽度;当wa
sid < wb
id
时,互连需要增加冗余标识信息,增加的冗余标识信息位置为wa
sid
的最高有效位(msb most significant bit)左侧,需要增补的位宽为waoadd
id = wb
id
ꢀ‑ꢀ
wa
sid
此外,为了方便处理,增加的冗余信息全部按照零处理,即增加的冗余信息全部设置为增加“0”;同时,其他总线矩阵之间进行跨总线访问时所需的互连标记信号的增减量,均可以按照上述的公式进行类推并计算得到;最后,根据上述步骤的计算结果,进行soc架构中的多总线拓扑系统的总线互连。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1