一种基于FPGA的SRIO互联交换装置制造方法及图纸

技术编号:9596714 阅读:280 留言:0更新日期:2014-01-23 02:13
一种基于FPGA的SRIO互联装置,在FPGA中设置SRIO互联模块、FIFO模块和SRIO接口模块,各源器件的数据分别经SRIO接口模块进入到SRIO互联模块,经过SRIO互联模块调度后进入FIFO模块,FIFO模块将数据传输到SRIO接口模块,SRIO接口模块向目的器件输出数据;设SRIO接口模块提供n个接口,每个接口支持连接一个器件,SRIO互联模块为每个器件提供一个仲裁器,每个仲裁器相应设一个FIFO模块;当某个接口连接的器件为目的器件,目的器件相应的仲裁器对所有源器件从接口输入的数据按数据包进行时分切片调度,调度后的数据包经相应的FIFO模块从相应的SRIO接口输出。

【技术实现步骤摘要】
【专利摘要】一种基于FPGA的SRIO互联装置,在FPGA中设置SRIO互联模块、FIFO模块和SRIO接口模块,各源器件的数据分别经SRIO接口模块进入到SRIO互联模块,经过SRIO互联模块调度后进入FIFO模块,FIFO模块将数据传输到SRIO接口模块,SRIO接口模块向目的器件输出数据;设SRIO接口模块提供n个接口,每个接口支持连接一个器件,SRIO互联模块为每个器件提供一个仲裁器,每个仲裁器相应设一个FIFO模块;当某个接口连接的器件为目的器件,目的器件相应的仲裁器对所有源器件从接口输入的数据按数据包进行时分切片调度,调度后的数据包经相应的FIFO模块从相应的SRIO接口输出。【专利说明】—种基于FPGA的SRIO互联交换装置
本专利技术属于通信
,尤其涉及一种基于FPGA的SRIO互联交换装置。
技术介绍
Rapid IO技术是一种高速互联总线,常用于高性能的嵌入式设备市场中的系统内部互联,支持芯片到芯片和板到板的通信,而串行Rapid IO (SRIO)可以用较少的连线就能实现IGbps到60Gbps的性能水平,因此得到广泛应用。FPGA是一种可编程的逻辑器件,具有其他ASIC(集成电路)芯片所不具有的可编程的灵活性,同时FPGA有丰富的I/O引脚,开发周期短,可靠性较高。在一个嵌入式设备中,可能存在多个不同类型的芯片(如CPU、DSP、FPGA等)或多块需要高速通信的板卡,这些芯片或板卡支持SRIO协议传输数据,因此对于芯片间与板卡间的通信就需要一种SRIO互联交换装置,现有的技术常使用专用的SRIO交换芯片,一般这种芯片价格昂贵,灵活性差,占用较多的板卡面积,尤其是对于互联芯片或板卡的数目较少时性价比较低。
技术实现思路
针对上述问题,本专利技术提供一种基于FPGA的SRIO互联交换装置。为实现上述目的,本专利技术采取以下技术方案: 一种基于FPGA的SRIO互联装置,在FPGA中设置SRIO互联模块、FIFO模块和SRIO接口模块,各源器件的数据分别经SRIO接口模块进入到SRIO互联模块,经过SRIO互联模块调度后进入FIFO模块,FIFO模块将数据传输到SRIO接口模块,SRIO接口模块向目的器件输出数据; 设SRIO接口模块提供n个接口,每个接口支持连接一个器件,SRIO互联模块为每个器件提供一个仲裁器,每个仲裁器相应设一个FIFO模块;当某个接口连接的器件为目的器件,其他n-1个接口中有多个连接的器件为源器件时,目的器件相应的仲裁器对所有源器件从接口输入的数据按数据包进行时分切片调度,调度后的数据包经相应的FIFO模块从相应的SRIO接口输出。而且,目的器件相应的仲裁器对所有源器件从接口输入的数据按数据包进行时分切片调度,实现方式如下, 对每个源器件预设优先级,从某源器件输入到仲裁器的数据包依次进行编号,对编号在前的数据包优先传输,同样编号的数据包按优先级从高到低传输,包括首先按照优先级从高到低传输各源器件的第一个数据包,然后按照优先级从高到低传输各源器件的第二个数据包,以此类推直到最低优先级的源器件传输完最后一个数据包。而且,若多个源器件不是同时传输数据,当接收到新的数据包时,仲裁器对当前数据包处理完成后,继续对编号在前的数据包优先传输,同样编号的数据包按优先级从高到低传输。而且,所述器件为芯片或板卡。而且,所述FPGA设有高速串行收发器,源器件的数据通过高速串行收发器输入SRIO接口模块中的相应SRIO接口 ;SR10接口输出的数据通过高速串行收发器送到目的器件。而且,SRIO接口模块提供的接口数根据FPGA设有的高速串行收发器个数而定。而且, 源器件从接口输入的数据采用数据包的形式,输入内容包括目的器件的ID、源器件ID、地址、每个数据包的开始和结束标志、数据包的大小及数据包的事物类型; 调度后输入FIFO模块的数据采用数据包的形式,输入内容包括目的器件的ID、源器件ID、地址、每个数据包的开始和结束标志、数据包的大小及数据包的事物类型; 对每个数据包,FIFO模块的输出数据按照目的器件ID、源器件ID、地址、每个数据包的开始和结束标志、数据包的大小、数据包的事物类型分拆开,并行地输入到SRIO接口模块,SRIO接口模块再进行组包。本专利技术提供一种灵活性高,速度快、资源开销小,对传输事物类型无限制的SRIO互联交换装置,以FPGA为核心部件,用硬件编程语言实现芯片间或板级间的以SRIO协议为基础的互联通信,本专利技术支持SRIO协议的所有类型事务,以包为基础在SRIO协议的逻辑层部分进行数据交换,所能互联的板卡数或芯片数受FPGA所能提供的串行收发器的限制;本专利技术可以替代商用的SRIO交换芯片,在FPGA作为必要器件的系统中可节约成本,节省板级空间。【专利附图】【附图说明】图1为本专利技术实施例的基于FPGA的SRIO互联交换装置的结构图。图2为本专利技术实施例中SRIO互联模块的实现结构图。【具体实施方式】 为了使本专利技术实施例的目的、技术方案、优点更加清晰,下面将结合本专利技术实施例和附图来介绍本专利技术的技术方案。参见附图1,实施例所提供SRIO互联交换装置包括SRIO互联模块、FIFO模块、SRIO接口模块: SRIO互联模块,用于将各个芯片或板卡之间的数据在FPGA内部交换,来达到芯片间或板卡间的数据交互; FIFO模块,用于将SRIO互联模块与SRIO接口模块隔离,同时起到数据缓冲的作用; SRIO接口模块,用于保证FPGA以SRIO协议为基础接收或发送数据。本专利技术基于可编程器件FPGA实现SRIO互联交换装置,具体实施时可采用localbus (现场总线)接口单独控制SRIO互联交换装置的复位与释放,独立于FPGA的其他逻辑。所述装置支持多个器件的互联,可适用于芯片间和电路板级的数据交互,所能连接的电路板以及芯片的个数取决于所使用的FPGA的串行收发器的数目:数据由芯片或板卡通过该芯片或板卡上的SRIO接口发送到FPGA,根据不同的速率要求可选择相应通道数,例如单通道、双通道和4通道,同时FPGA的每个通道的速率要和发送芯片或板卡上的SRIO模块速率相同,由于FPGA本身高速串行收发器的限制,所能互联的芯片和板卡数目并不是无限的,所能连接的电路板以及芯片的个数取决于所使用的FPGA的串行收发器的数目,并且在数目较少时更能体现出FPGA的优势,建议设置在5个左右。如图1中,SRIO接口连接有n个芯片或板卡,分别记为芯片或板卡1、芯片或板卡2、芯片或板卡3…芯片或板卡n。基于以上装置的数据交互过程如下: (1)数据首先进入该装置的SRIO接口模块。SRIO接口模块会将按SRIO协议的方式收发需要交互的芯片或板卡数据,同时会为SRIO互联模块提供互联模块所需要的相关信息以及热插拔所需要的相关信息。SRIO接口模块具体实现可参考现有技术,SRIO接口模块的接收端将会按照SRIO协议将数据包通过物理层,传输层,最后送到逻辑层。对每一个芯片或板卡都会设定一个唯一的器件ID与之对应,SRIO接口模块的逻辑层不仅会收到芯片或板卡所要发送的数据,同时还会收到目的器件的ID、源器件ID、地址、每个数据包的开始和结束标志、数据包的大小及数据包的事物类型。事本文档来自技高网
...

【技术保护点】
一种基于FPGA的SRIO互联装置,其特征在于:在FPGA中设置SRIO互联模块、FIFO模块和SRIO接口模块,各源器件的数据分别经SRIO接口模块进入到SRIO互联模块,经过SRIO互联模块调度后进入FIFO模块,FIFO模块将数据传输到SRIO接口模块,SRIO接口模块向目的器件输出数据;设SRIO接口模块提供n个接口,每个接口支持连接一个器件,SRIO互联模块为每个器件提供一个仲裁器,每个仲裁器相应设一个FIFO模块;当某个接口连接的器件为目的器件,其他n?1个接口中有多个连接的器件为源器件时,目的器件相应的仲裁器对所有源器件从接口输入的数据按数据包进行时分切片调度,调度后的数据包经相应的FIFO模块从相应的SRIO接口输出。

【技术特征摘要】

【专利技术属性】
技术研发人员:秦刚郑璐王兴张磊
申请(专利权)人:武汉邮电科学研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1