引入总线编码的增强型Wishbone片上总线的制作方法

文档序号:6564641阅读:170来源:国知局
专利名称:引入总线编码的增强型Wishbone片上总线的制作方法
技术领域
本发明涉及一种集成电路片上总线,尤其是一种在Wishbone片上总线中引入总线编码降低总线功耗的方法。
背景技术
随着超大规模集成电路的迅速发展,使得人们可以在单芯片上集成上百万到数亿只晶体管。如此密集的集成度使得现在能够在一小块芯片上把以前由处理器和外设等数块芯片实现的功能集成起来,由单片集成电路构成功能强大的、完整的系统,这就是通常所说的片上系统。知识产权核(IP)复用是片上系统时代的核心技术之一。由于IP核的设计千差万别,它们要能够直接连接,就要遵守相同的接口标准。在片上系统中,处理器核和所有外设通过共享总线互通互联,因此这些IP核必须遵守相同的总线规范。总线规范定义的是IP核之间的通用接口,因此它定义了一套标准的信号和总线周期,以连接不同的模块,而不是试图去规范IP核的功能和接口如何实现。
目前比较常见的片上总线规范有ARM公司的AMBA、Silicore公司的Wishbone和IBM公司的CoreConnect。三种总线各有特点,其适用范围也不同。其中Wishbone最先是由Silicore公司提出的,目前由OpenCores组织维护,并且有可能成为IEEE标准。它定义了一种IP核之间公共的逻辑接口,减轻了系统组件集成的难度,提高了系统组件的可重用性、可靠性和可移植性,加快了产品市场化的速度。Wishbone总线规范可用于软核、固核和硬核,对开发工具和目标硬件没有特殊要求,并且几乎兼容已有所有的综合工具,可以用多种硬件描述语言来实现。从经济角度考虑又全部免费,易于全面推广。因此wishbone总线得到了广泛的应用。
随着集成电路特征尺寸的减小,传统的IC设计者主要关注速度、面积、成本、可靠性,其次才是功耗。而进入片上系统时代,低功耗已经成为与面积和性能同等重要的设计目标,在特定领域尤其是便携式设备应用中,功耗指标甚至成为第一大要素。在网络处理器、高清晰数字音视频编解码、高性能计算等应用中,总功耗很大,因此有效的降低功耗也能够大量的节约能源。从某种意义上讲,低功耗需求已经成为片上系统发展的推动力之一。
静态功耗是晶体管的漏电流造成的,其值与芯片的物理特性有关。一般而言,片上系统的静态功耗相对很小。动态功耗则是逻辑门反转造成的,而对负载电容充放电的动态功耗很大。由于动态功耗远远大于静态功耗,因此利用逻辑门反转计数可以衡量总线的功耗,美国专利US7089437就利用总线上信号反转计数来衡量总线功耗。
在芯片内部,总线上挂着很多功能设备,导致总线的电容负载很大。如果总线与片外设备联系,那么,它还要驱动很长的片外连线以及片外设备,负载高达50pF,比芯片内部各个节点的电容负载0.05pF高出三个量级。一般而言,总线的功耗占芯片总功耗的10%~80%;一个已经对内部电路优化过的芯片,总线功耗约占50%。随着宽度的增加,总线消耗的功率占芯片总功率的比重越来越大,因此,总线的低功耗设计很重要。
为了降低总线功耗,已有工作很多通过减少总线动态翻转来降低总线功耗的算法已经被提出来。数据总线的数据随机性较大,地址总线的地址向量连续性较大。它们传送的数值各有特点,所以,针对不同类型总线的算法也不一样。针对数据总线有总线反转算法,针对地址总线有基页编码算法等。
这些总线编码算法可以比较容易的用于点对点的地址和数据总线中,因为在点对点总线中,无需遵守任何标准,设计者可以自由设计。然而片上系统中最重要的多点对多点片上总线多必须遵守给定的标准如AMBA、Wishbone等,以实现多个知识产权核间的无缝隙互联。在现有的总线标准如AMBA和Wishbone中,只侧重于数据的争取传输与冗余,无一引入总线编码,主要困难包括a.片上总线连接多种IP核,并非所有IP核都能应用同一种总线编码;b.现在片上总线皆使用额外的硬连线实现控制和管理功能,就作者所知,无一总线引入额外的协议以传输管理用的额外字节;c.必须向后兼容,保证一个使用了总线编码和不使用总线编码的模块实现正常互通,以使得已有知识产权核能够复用。
对于应用广泛的Wishbone总线来讲,不仅其总线规范本身不支持可降低功耗的传统总线编码,而且还包含了高速和低速两种总线以提高对于不同外设的支持,这进一步为降低其功耗带来了困难。

发明内容
本发明目的是提供一种在Wishbone片上总线中引入总线编码降低总线功耗的方法。本发明提出的一种在Wishbone片上总线中引入总线编码降低总线功耗的方法,包括以下步骤(1)为Wishbone片上总线主设备增加控制信号BUSENC_O(),同样的,为从设备增加相应的控制信号BUSENC_I();(2)定义Wishbone总线数据标签TGD()和地址标签的TGA()每一个值的在每一个采用的总线编码方式中的意义;(3)主设备和从设备在第一次通信时协商通信所采用的数据总线和地址总线编码方式;(4)主设备和从设备采用所协商的编码方式进行通信。
上述方法中,主设备和从设备在第一次通信时协商所采用的数据总线和地址总线的编码方式的方法包括如下步骤(1)在发起总线操作前,主设备将BUSENC_O()信号置为0,并等待时钟上升沿的到来。
(2)在时钟上升沿,主设备将BUSENC_O()信号置为选定的总线编码方式。
(3)从设备检测到BUSENC_I()信号的变化,如果从设备支持该总线编码方式,则发起应答信号ACK_O;
(4)主设备收到应答信号,则总线编码方式被选定。如果在一定的时间内没有收到应答信号,则得知从设备不支持该类型的总线编码方式,此时主设备不采用总线编码。
本发明所提出的方法,显著降低了Wishbone片上总线的比特反转次数,因此有效降低了兼容该标准的片上系统的功耗,使其更适合在具有低功耗要求的便携设备场合,以及功耗较大的复杂应用场合。


图1是使用Wishbone总线互连的片上系统的架构示意图。
图2是根据本发明的使用总线反转码时BUSENC()的值及其意义。
图3是根据本发明的32位总线主从设备进行总线编码方式协商的时序图。
具体实施例方式
常见的使用Wishbone总线互连的片上系统的架构图如图1所示。在一个片上系统中,多个主设备和多个从设备通过Wishbone总线进行通信,构成一个复杂的芯片系统。在图1中,总线仲裁器用A3来选择哪一个主设备可以占用总线。主设备包括处理器A1和存储器直接存取控制器A2,它们都支持多种总线编码方式;从设备包括通用串口控制器A4、音频控制器A5和存储器控制器A6。通用串口控制器A4不支持总线编码,音频控制器A5的数据总线支持总线编码方式A,存储器控制器A6数据总线支持总线编码方式B,音频控制器A5和存储器控制器A6的地址总线都不支持总线编码。一般地,由于地址在多数情况下是连续变化的而数据总线的值的变化是随机的,因此数据采用总线编码的意义远大于地址总线。这些主设备和从设备通过Wishbone总线A7进行通信。
本发明所提出增强Wishbone片上总线以引入总线编码降低总线功耗的方法,首先为Wishbone片上总线主设备增加控制信号BUSENC_O(),同样的,为从设备增加相应的控制信号BUSENC_I();然后定义Wishbone总线数据标签TGD()和地址标签的TGA()每一个值的在每一个采用的总线编码方式中的意义;其后主设备和从设备协商通信所采用的数据总线和地址总线编码方式;最后主设备和从设备采用所协商的编码方式进行通信。
根据本发明的Wishbone总线主设备和从设备的互连信号示意图如图2所示。如图2,根据本发明,在Wishbone总线中新增加了BUSENC_O()和BUSENC_I()信号。若采用图1所示的片上系统,此时BUSENC_O()和BUSENC_I()信号的宽度为4。BUSENC_O(3)代表数据总线采用总线编码方式A,BUSENC_O(2)代表数据总线采用总线编码方式B,BUSENC_O(1:0)用于选择地址总线的编码方式,因为从设备的地址总线都不支持总线编码,BUSENC_O(1:0)始终为0。对于Wishbone总线数据标签TGD()和TGA(),我们需要对每一个值的在每一个采用的总线编码方式中的意义进行定义。这里我们不需要定义TGA(),因为在本实施例中,地址总线未进行总线编码。
表1是根据本发明的使用编码方式A为总线反转码时32位总线TGD(3:0)信号的值以及每一个值对应的意义。总线反转码用TGD(3:0)信号的每一个比特代表该字节的数据是否在发送时进行了反转。举例来说,当数据总线的前一周期值为0xAAAA,当前周期需要发送数据0xBBB5给从设备。第0字节的数据为0x5,如果字节发送0x5,则第0字节的每一个比特都要发生反转,如果发送0x5的比特反转x0A,则只需要将TGD(0)置为1,以通知从设备将接收的数据按比特取反就得到原始数据。对于其它字节,由于0xA与0xB只有一个比特不同,因此直接发送0xB即可,并将TGD(3:1)都置为0,通知接收机不需要按照比特取反。依此,可得到表1。本例只对数据总线进行了总线编码,因此并未涉及TGA()信号。
表1

类似的,编码方式B所定义的TGA()的各个值的意义。
根据本发明的主设备和从设备协商通信所采用的数据总线和地址总线编码方式的方法包括以下步骤在发起总线操作前,主设备将BUSENC_O()信号置为0,并等待时钟上升沿的到来;在时钟上升沿,主设备将BUSENC_O()信号置为选定的总线编码方式;从设备检测到BUSENC_I()信号的变化,如过支持该总线编码方式,则发起应答信号ACK_O;主设备收到应答信号,则总线编码方式被选定。如果在一定的时间内没有收到应答信号,则得知从设备不支持该类型的总线编码方式,此时主设备不采用总线编码。图3是根据本发明的32位总线主从设备进行总线编码方式协商和通信的时序图。如图3所示,在时钟上升沿(0),主设备置位总线操作启动信号CYC_O,且将BUSENC_O(3)置为1发起总线编码方式协商。在时钟上升沿(1)到达之前,从设备检测到BUSENC_I()为1并且支持所采用的编码方式A,因此将ACK_I置1。在时钟上升沿(1),主设备收到从设备发起的应答信号ACK_I。时钟上升沿(2)用于从设备对主设备发起的地址总线编码方式请求进行应答。整个请求和应答过程如图3中A8所示。此后,从时钟上升沿(3)到(7),主设备向从设备发起了多次写操作。写操作的时序满足Wishbone标准所规定的时序。主从设备进行总线编码方式协商只在第一次通信时以及需要更改总线编码方式时发生。
如前所述,根据本发明,在兼容已有Wishbone总线规范的前提下,通过增加BUSENC_O()和BUSENC_I()信号,并通过主从设备的协商确定所采用的总线编码方式,从而提出了一种利用总线编码降低兼容Wishbone规范的片上总线功耗的方法。
本发明区别于已有多IP互连片上总线主要特征在于(1)支持连接到总线的IP具有不同的总线编码方式;(2)增加了BUSENC_O()和BUSENC_I()信号,引入额外应答机制传输总线控制信息,以动态选择不同的总线编码方式。(3)兼容已有Wishbone标准。
本发明方法中的片上总线,是指遵循Wishbone标准的片上总线。本发明所涉及的主从设备进行协商以确定所采用的总线编码的方法,对于其它多IP互连片上总线如AMBA同样适用。
本发明使得总线编码可以用于兼容Wishbone片上总线,就仅仅数据总线采用总线反转码时,总线的比特反转次数根据不同应用将降低20%~30%。通过降低比特反转次数,有效降低了片上系统的功耗,使其更适合在具有低功耗要求的便携设备场合,以及功耗较大的复杂应用场合。
权利要求
1.一种主设备和从设备协商通信所采用的数据总线和地址总线编码方式的方法,包括如下步骤(1)在发起总线操作前,主设备将BUSENC_O()信号置为0,并等待时钟上升沿的到来。(2)在时钟上升沿,主设备将BUSENC_O()信号置为选定的总线编码方式。(3)从设备检测到BUSENC_I()信号的变化,如过支持该总线编码方式,则发起应答信号ACK_O;(4)主设备收到应答信号,则总线编码方式被选定。如果在一定的时间内没有收到应答信号,则得知从设备不支持该类型的总线编码方式,此时主设备不采用总线编码。
2.一种根据权利要求1所述方法的利用总线编码降低兼容Wishbone规范的片上总线功耗的方法,其特征在于该方法包括以下步骤(1)为兼容Wishbone标准的总线主设备增加控制信号BUSENC_O(),同样的,为从设备增加相应的控制信号BUSENC_I();(2)定义Wishbone总线数据标签TGD()和/或地址标签的TGA()每一个值的在每一个采用的总线编码方式中的意义。(3)主设备和从设备在第一次通信时利用权利要求1所述方法协商通信所采用的数据总线和地址总线编码方式;(4)主设备和从设备采用所协商的编码方式进行通信。
全文摘要
本发明涉及一种增强Wishbone片上总线,以引入总线编码降低总线功耗的方法,属于总线信号传输领域。本发明方法为首先为Wishbone片上总线主设备增加控制信号BUSENC_O(),同样的,为从设备增加相应的控制信号BUSENC_I();然后定义Wishbone总线数据标签TGD()和/或地址标签的TGA()每一个值的在每一个采用的总线编码方式中的意义;其后主设备和从设备协商通信所采用的数据总线和地址总线编码方式;最后主设备和从设备采用所协商的编码方式进行通信。本发明显著降低了Wishbone总线的比特反转次数,因此有效降低了片上系统的功耗。
文档编号G06F13/42GK1975635SQ20061017030
公开日2007年6月6日 申请日期2006年12月28日 优先权日2006年12月28日
发明者陈曦, 辛晓刚, 陈铮 申请人:陈曦, 辛晓刚, 陈铮
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1