一种ip核接口标准化方法

文档序号:7958504阅读:188来源:国知局
专利名称:一种ip核接口标准化方法
技术领域
本发明涉及片上系统的设计,特别涉及片上系统设计中IP核接口的标准化。
背景技术
随着超大规模集成电路的迅速发展,半导体芯片的集成度越来越大,这使得以前由多块芯片实现的功能可集成到单块芯片中,从而构成功能强大的片上系统。
由于片上系统结构复杂,如果每次从头开始设计,将花费大量的人力物力。另外,由于电子产品的生命期正在不断缩短,芯片设计也要求在更短的时间内完成。为了加快片上系统的设计速度,人们将已经设计好的、具有某种特定功能的电路模块封装成IP核,并在设计中重复使用,从而简化芯片设计,缩短设计时间,提高设计效率。
如图1所示,一个片上系统通常由多个IP核和片上总线构成,片上总线负责各个IP核之间的互连,每个IP核的接口都必须遵从片上总线的通信协议。由于目前存在多种片上总线规范,如果要将一个IP核从一种总线规范移植到另一种总线规范,就必须重新设计IP核的接口,使其遵从新的片上总线的通信协议,因而降低了IP核的可重用性。
一种提高IP核重用性的做法是将片上总线封装成IP核,使片上总线和片上其它IP核一样成为一个模块。该模块的功能包括路由选择、总线仲裁等。将片上总线封装成IP核后,IP核(包括片上总线IP核)之间的互连变成简单的点对点互连。制定一种IP核接口标准化方法,实现对所有IP核的点对点连接,是将片上总线封装成IP核后,实现IP核间通信的一个关键问题。

发明内容
本发明的目的在于避免当IP核在两种总线规范间移植时其接口的重新设计,通过提供一种具有通用性的点对点IP核接口标准,使IP核接口不再依赖于特定的片上总线规范,从而增强IP核的可重用性。
为了实现上述目的,本发明提供了一种IP核接口标准化方法,用于建立IP核间点对点通信的标准接口,包含以下方面1)、建立IP核间的点对点通信信道,所述点对点通信信道由FIFO实现;在IP核间做点对点通信时,所述IP核分为主动端与被动端,所述主动端发起数据通信请求,所述被动端被动响应;所述的点对点通信信道分为三个子信道,子信道1用于所述主动端向所述被动端发送数据,子信道2用于所述主动端向所述被动端发送数据请求,子信道3用于所述被动端向所述主动端发送数据;2)、根据IP核是主动端或被动端,为IP核定义不同的接口,所述的接口是独立于片上总线规范的标准接口。
上述技术方案中,所述的作为主动端的IP核定义接口时,所定义的接口包括以下端口清空FIFO信号端口、重置信号端口、工作时钟端口、指示使用大端还是使用小端的端口;用于输入数据的输入使能端口、输入数据端口、输入数据地址端口、输入数据选择符端口;用于输出数据的输出使能端口、输出数据端口、输出数据地址端口、输出数据选择符端口、指示三个子信道空满状态和可用及已用字节数的端口;用于输出数据请求的输出使能端口、地址端口和数据选择符端口。
上述技术方案中,所述的作为被动端的IP核定义接口时,所定义的接口包括以下端口重置信号端口、工作时钟端口、指示使用大端还是使用小端的端口;用于输入数据的输入使能端口、输入数据端口、输入数据地址端口、输入数据选择符端口;用于输出数据的输出使能端口、输出数据端口、输出数据地址端口、输出数据选择符端口、指示三个子信道空满状态和可用及已用字节数的端口;用于输入数据请求的输入使能端口、地址端口和数据选择符端口。
上述技术方案中,所述的点对点通信信道还包括用于实现数据宽度的转换及数据的大端和小端间的转换的转换器。
本发明的优点在于1、本发明对IP核接口进行标准化,使IP核接口不再依赖于特定的片上总线规范,增强了IP核的可重用性。
2、本发明提供的IP核接口具有通用性,适用范围广。
3、通常IP核内部都自设FIFO以平滑通信双方传输速度的差异。在本发明中点对点通信信道通过FIFO实现,使信道本身具有平滑传输速度差异的能力,从而可以节省IP核内部的FIFO。
4、本发明仅对IP核接口进行规定,并未对点对点通信信道的具体实现方法进行约束,从而方便使用者根据实际需求灵活地设计点对点通信信道。
5、本发明提供的接口中有很多信号是可选的,从而方便使用者根据实际需求在接口功能和接口复杂度之间进行灵活的折中。


图1为现有的利用片上总线连接IP核的片上系统的设计方法示意图;图2为利用本发明的IP核接口标准化方法的片上系统的示意图;图3为本发明的IP核接口标准化方法的片上系统的示意图;图4为利用本发明的IP核接口标准化方法的片上系统在一个实施例中的示意图。
具体实施例方式
下面结合附图和具体实施方式
对本发明的IP核接口标准化方法进行说明。
本发明的IP核接口标准化方法包含以下几个方面(1)、建立点对点通信信道本发明采用点对点通信信道实现IP核间的通信,所述的点对点通信信道由FIFO实现。在做点对点通信时,IP核分为两种角色,一种是主动端(MASTER),另一种为被动端(SLAVE)。在通信时,主动发起数据通信请求的一方为主动端,被动响应的一方为被动端。
如图3所示,所述的点对点通信信道由三个子信道组成,每个子信道是一个FIFO。子信道1用于主动端(MASTER)向被动端(SLAVE)发送数据,子信道2用于主动端(MASTER)向被动端(SLAVE)发送数据请求,子信道3用于被动端(SLAVE)向主动端(MASTER)发送数据。在IP核间实现数据通信时,主动端(MASTER)向被动端(SLAVE)发送数据时使用子信道1;主动端(MASTER)向被动端(SLAVE)请求数据时使用子信道2发送请求,然后被动端(SLAVE)响应请求使用子信道3返回数据。
利用点对点通信信道,IP核可实现下列功能1)、点对点的双向数据传输;2)、平滑通信双方的传输速度差异;3)、数据宽度的转换;
4)、数据的大端(BIG ENDIAN)和小端(LITTLE ENDIAN)间的转换。其中,所述的大端是指一个数据中的高位的字节(Byte)放在内存中的低地址处;所述的小端是指一个数据中的低位的字节(Byte)放在内存中的低地址处。例如,将十六进制数1234abcd写到以地址0开始的内存中,则结果为地址 big-endianlittle-endian0 0×12 0×cd1 0×34 0×ab2 0×ab 0×343 0×cd 0×12(2)、为IP核定义接口。IP核在点对点通信时有不同的角色,根据角色的不同,为IP核定义不同的接口。其中,主动端接口的定义如表1所示。
表1


被动端接口的定义如表2所示
表2


(3)、利用(1)中所定义的点对点通信信道和(2)中对IP核定义的接口,实现IP核接口间的数据传输。在数据传输过程中,若两个IP核的数据宽度和数据选择符宽度不同,则需要对它们做宽度的转换;若两者的数据大小端不一致,则需要对它们做大端和小端间的转换。
下面在一个具体的实施例中,参考图4,对上述步骤的实现做具体的说明。
以一个数据宽度为64bit,数据选择符宽度为8bit的片上总线IP核作为主动端(MASTER);以一个数据宽度为16bit,数据选择符宽度为2bit的IDE控制器IP核作为被动端(SLAVE);两者的地址宽度均为6bit。
子信道1的数据宽度和选择符宽度分别取被动端(SLAVE)的字宽16bit和选择符宽度2bit;子信道2的选择符宽度取被动端(SLAVE)的选择符宽度2bit;子信道3的数据宽度和选择符宽度分别取主动端(MASTER)的字宽64bit和选择符宽度8bit。所有信道的地址宽度均为6bit。
每个信道为一个FIFO。子信道1所对应的FIFO的宽度为子信道1的数据宽度和选择符宽度以及地址宽度之和,即24bit;子信道2所对应的FIFO的宽度为信道2的选择符宽度和地址宽度之和,即8bit;子信道3所对应的FIFO的宽度为子信道3的数据宽度和选择符宽度以及地址宽度之和,即78bit。
转换器a的功能为根据MASTER_ENDIAN_O和SLAVE_ENDIAN_O对MASTER_DATA_I和MASTER_SEL_I进行宽度转换(64bit到16bit和8bit到2bit的拆分)和BIG ENDIAN/LITTLE ENDIAN转换,然后连同MASTER_ADDR_I一起送入子信道1。
转换器b的功能为根据MASTER_ENDIAN_O和SLAVE_ENDIAN_O对MASTER_SEL_I进行宽度转换(8bit到2bit的拆分)和BIG ENDIAN/LITTLEENDIAN转换,然后连同MASTER_ADDR_I一起送入子信道2。
转换器c的功能为根据MASTER_ENDIAN_O和SLAVE_ENDIAN_O对SLAVE_DATA_I和SLAVE_SEL-I进行宽度转换(16bit到64bit和2bit到8bit的拼合)和BIG ENDIAN/LITTLE ENDIAN转换,然后连同SLAVE_ADDR_I一起送入子信道3。
权利要求
1.一种IP核接口标准化方法,用于建立IP核间点对点通信的标准接口,包含以下步骤1)、建立IP核间的点对点通信信道,所述点对点通信信道由FIFO实现;在IP核间做点对点通信时,所述IP核分为主动端与被动端,所述主动端发起数据通信请求,所述被动端被动响应;所述的点对点通信信道分为三个子信道(1)、(2)和(3),所述主动端向所述被动端发送数据是通过所述的子信道(1)实现,子信道(2)用于所述主动端向所述被动端发送数据请求,子信道(3)用于所述被动端向所述主动端发送数据;2)、根据IP核是主动端或被动端,为IP核定义不同的接口,所定义的接口是独立于片上总线规范的标准接口。
2.根据权利要求1所述的IP核接口标准化方法,其特征在于,在步骤2)中,当作为主动端的IP核定义接口时,所定义的接口包括以下端口清空FIFO信号端口、重置信号端口、工作时钟端口、指示使用大端还是使用小端的端口;用于输入数据的输入使能端口、输入数据端口、输入数据地址端口、输入数据选择符端口;用于输出数据的输出使能端口、输出数据端口、输出数据地址端口、输出数据选择符端口、指示三个子信道空满状态和可用及已用字节数的端口;用于输出数据请求的输出使能端口、地址端口和数据选择符端口。
3.根据权利要求1所述的IP核接口标准化方法,其特征在于,在步骤2)中,作为被动端的IP核定义接口时,所定义的接口包括以下端口重置信号端口、工作时钟端口、指示使用大端还是使用小端的端口;用于输入数据的输入使能端口、输入数据端口、输入数据地址端口、输入数据选择符端口;用于输出数据的输出使能端口、输出数据端口、输出数据地址端口、输出数据选择符端口、指示三个子信道空满状态和可用及已用字节数的端口;用于输入数据请求的输入使能端口、地址端口和数据选择符端口。
4.根据权利要求1所述的IP核接口标准化方法,其特征在于,所述的点对点通信信道还包括用于实现数据宽度的转换及数据的大端和小端间的转换的转换器。
全文摘要
本发明公开了一种IP核接口标准化方法,用于建立IP核间点对点通信的标准接口,包含以下方面1.建立IP核间的点对点通信信道,所述点对点通信信道由FIFO实现;在IP核间做点对点通信时,所述IP核分为主动端与被动端;所述的点对点通信信道分为三个子信道,子信道1用于所述主动端向所述被动端发送数据,子信道2用于所述主动端向所述被动端发送数据请求,子信道3用于所述被动端向所述主动端发送数据;2.根据IP核是主动端或被动端,为IP核定义不同的接口。本发明对IP核接口进行标准化,使IP核接口不再依赖于特定的片上总线规范,增强了IP核的可重用性。本发明提供的IP核接口具有通用性,适用范围广。
文档编号H04L29/06GK1822597SQ200610065680
公开日2006年8月23日 申请日期2006年3月21日 优先权日2006年3月21日
发明者陈博文 申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1