[发明专利]基于BURST和流水线的CPU和FPGA接口方法有效

专利信息
申请号: 201110315468.6 申请日: 2011-10-18
公开(公告)号: CN102508798A 公开(公告)日: 2012-06-20
发明(设计)人: 陈庆旭;叶品勇;魏建功;余华武 申请(专利权)人: 国电南京自动化股份有限公司
主分类号: G06F13/20 分类号: G06F13/20
代理公司: 南京纵横知识产权代理有限公司 32224 代理人: 董建林
地址: 210009 江苏*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 burst 流水线 cpu fpga 接口 方法
【说明书】:

技术领域

发明涉及一种基于BURST和流水线的CPU和FPGA接口方法,能够用于CPU和FPGA需要有大量数据进行交互的各种场合。

背景技术

随着FPGA(Field Programmable Gate Array)的应用日渐广泛,很多系统采用了CPU+FPGA的构架方式。CPU和FPGA之间有大量的数据需要进行交互,如何提高CPU读写FPGA的效率已经成为很多应用中的一个瓶颈问题。

目前,FPGA一般通过双口RAM和CPU进行交互,通过双口RAM的缓冲以解决FPGA和CPU的速度和并行性等问题。双口RAM可以采用专用的双口RAM芯片或者利用FPGA的逻辑模拟出来的双口RAM,前者由于成本高,容量小,所以一般更多的是采用后者的方式。

为了便于说明,在下面的时序讨论以某MPC8247应用系统为例,CPU的读写频率100MHz,但是具体的原理可以适用于其他各种频率的CPU。根据FPGA的编译信息可以知道,FPGA的逻辑资源模拟出来双口RAM的输出延时一般在12ns到17ns之间。考虑到地址的建立时间、数据的保持时间等因素,CPU每次读取FPGA双口RAM应该需要至少4个时钟周期,也就是40ns,才能够对FPGA的双口RAM进行正常读写。图1是用传统方式CPU对FPGA进行读写的示意图,CPU的每次读写都需要等待大约40ns的时间。整个FPGA的输出过程没有重叠,连续读取8次所需要的时间至少为320ns。

即使CPU读取FPGA数据采用了DMA方式,由于CPU对FPGA进行读写的时候,地址数据总线已经被DMA占用,CPU无法对SDRAM和FLASH等外设进行操作,所以此时CPU已经相当于处于等待状态,所以此时CPU的效率仍然比较低。

发明内容

为了解决现有技术中CPU和FPGA之间有大量的数据需要进行交互,但是两者之间的交换效率较低,不能满足实际使用需要的问题。本发明提出了一种CPU采用BURST方式结合流水线技术对FPGA进行读写的方法,在CPU和FPGA有大量数据进行交互的场合,采用这种方式能够大大的降低了CPU读写FPGA所需要的时间,提高CPU读写FPGA的效率。

为了解决上述问题,本发明所采取的技术方案是:

一种基于BURST和流水线的CPU和FPGA接口方法,其特征在于:包括以下步骤:

(1)、CPU对FPGA采用BURST的方式进行读写,采用这种方式后,CPU能够对FPGA进行连续多次读写;

(2)、在FPGA内部采用了内部地址寄存器的方式,在CPU开始读写的时候,FPGA把当前的读写地址锁存到FPGA内部的地址寄存器中;

(3)、对于读操作,FPGA在当前读周期完成之前,自动把地址寄存器的值加1,输出下一个数据;对于写操作,则在当前写周期完成后,把地址寄存器的值加1;

(4)、在后面的过程中,每个时钟周期,FPGA都把地址寄存器自动加1。

前述的一种基于BURST和流水线的CPU和FPGA接口方法,其特征在于:对于读操作,CPU采用了BURST方式能够连续对FPGA进行多次读操作,CPU第一次读数据的时候,整个周期需要40ns,FPGA在20ns的时候开始输出数据,由于FPGA的数据输出延时为20ns,所以40ns的时候,CPU可以读到第一个数据;在FPGA的内部,在30ns的时候设计逻辑自动把当前地址加1,开始输出下一个地址的内容,由于FPGA的数据输出延时为20ns,在50ns的时候,CPU能够读到第二个数据,在以后的时间内,依此类推,FPGA可以在每个时钟周期内输出一个数据。

前述的一种基于BURST和流水线的CPU和FPGA接口方法,其特征在于:对于写操作不需要考虑FPGA的数据输出延时时间,FPGA内部的地址寄存器的值只需要在本次写周期完成后再加1。

前述的一种基于BURST和流水线的CPU和FPGA接口方法,其特征在于:对于连续8次读操作, CPU读取FPGA数据所需要的时间为110ns。

本发明的有益效果是: BURST方式是CPU为了提高读写效率而采用的一种连续读写方式,一般根据CPU的不同,BURST的长度可以配置为4个或者8个。目前这种技术一般仅应用于CPU和SDRAM的之间的读写,CPU采用BURST方式能够对SDRAM的多个地址进行读写,提高了CPU对SDRAM的读写效率。本发明把BURST方式引入到了CPU对FPGA的读写过程,在FPGA中采用了流水线技术,大大提高了CPU读写FPGA的速度。

附图说明

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国电南京自动化股份有限公司,未经国电南京自动化股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201110315468.6/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top