[发明专利]一种用CPU同时加载多片FPGA的方法无效
申请号: | 200610113841.9 | 申请日: | 2006-10-18 |
公开(公告)号: | CN101165652A | 公开(公告)日: | 2008-04-23 |
发明(设计)人: | 方有纲;赵亚锋;陈石良 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F13/38 |
代理公司: | 北京律诚同业知识产权代理有限公司 | 代理人: | 梁挥;徐金国 |
地址: | 518057广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 cpu 同时 加载 fpga 方法 | ||
技术领域
本发明涉及用CPU对FPGA(Field Programmable Gate Array,现场可编程门阵列)的加载技术,特别是涉及在多片FPGA的系统中,并且系统对加载速度有一定要求的情况下用CPU同时对多片FPGA进行快速加载的方法。
背景技术
通常,用CPU加载FPGA时使用两种方法,一种是将多个FPGA用菊花链连接起来串行下载,该方法的缺点是当FPGA规模较大时,多个FPGA下载时候可能达到数分钟之久,并且如果菊花链中的某一片FPGA因故障而不能加载时可能导致菊花链上所有FPGA加载失败,并且在事先存储多片FPGA的下载文件,将占用很大的FLASH存储空间;另一种方法是将每个FPGA当成一个独立的个体依次进行下载,但是同样有下载时间长、占用大量FLASH空间的缺点,并且还占用大量CPU的I/O(Input/Output,输入/输出)管脚,造成设计上的压力。
发明内容
本发明所要解决的技术问题在于提供一种用CPU同时加载多片FPGA的方法,用于解决现有技术中CPU在加载多片FPGA时,加载时间长、加载程序占用空间大、一片FPGA加载出现问题时会影响整个加载时间甚至影响其它FPGA的加载,并且传统方式加载FPGA时会占用大量CPU的I/O端口的问题。
为了实现上述目的,本发明提供了一种用CPU同时加载多片FPGA的方法,用于包括单片或多片FPGA及CPU的系统,其特征在于,包括:
步骤一,通过对多片FPGA的加载比特流文件进行合并处理生成一FPGA加载文件;
步骤二,对所述CPU的地址总线进行逻辑扩展得到加载所述多片FPGA所需的寄存器和锁存器;及
步骤三,所述CPU读取所述FPGA加载文件到所述CPU的扩展内存并通过控制所述寄存器和所述锁存器产生加载时序对所述多片FPGA或所述多片FPGA中一片FPGA进行加载。
所述的用CPU同时加载多片FPGA的方法,其中,所述步骤一具体为:
步骤11,当所述FPGA的个数为N时,将所述N个FPGA的加载比特流文件按照最大/长的加载比特流文件进行扩展,将小/短的加载比特流文件后面补零,使所述N个FPGA的加载比特流文件大小/长度一致;N为大于等于2的自然数;
步骤12,将第一个到第N个所述FPGA的加载比特流文件的第零个比特取出,串成另一比特流,取出第一个比特的数据设置于所述另一比特流后,并将第二个比特至第N个比特的数据都以所述第一个比特设置方式进行设置,从而生成所述FPGA加载文件。
所述的用CPU同时加载多片FPGA的方法,其中,所述步骤一中,还包括一对所述FPGA加载文件进行文件压缩处理的步骤。
所述的用CPU同时加载多片FPGA的方法,其中,所述步骤二中,所述寄存器包括:一编程通知寄存器、一时钟寄存器及一数据寄存器,所述锁存器包括一编程响应锁存器及一编程完成指示锁存器,其中,所述寄存器用于所述CPU对FPGA加载进行写操作,所述锁存器用于所述CPU在FPGA被加载时读取FPGA状态。
所述的用CPU同时加载多片FPGA的方法,其中,所述寄存器的位宽的数值不小于所述多片FPGA的片数。
所述的用CPU同时加载多片FPGA的方法,其中,所述步骤三中,在所述CPU读取所述FPGA加载文件到所述CPU的扩展内存的步骤之后,还包括一判断所述FPGA加载文件是否为压缩文件的步骤,若是,则对所述FPGA加载文件进行解压缩处理。
所述的用CPU同时加载多片FPGA的方法,其中,所述步骤三中,由所述CPU通过控制所述寄存器和所述锁存器产生加载时序对所述多片FPGA进行加载的步骤具体为:
步骤71,先对所述编程通知寄存器写入一通知低脉冲,通知所述FPGA即将进行加载操作,所述FPGA向所述编程响应锁存器响应一低脉冲;
步骤72,所述CPU读取所述低脉冲并在所述数据寄存器写入所述FPGA加载文件并通过写所述时钟寄存器产生加载所需的时钟;及
步骤73,根据所述时钟,当所述FPGA加载文件写完后,向所述编程完成指示锁存器输出一高电平,所述CPU读所述编程完成指示锁存器并在读到所述高电平时完成加载并返回一FPGA加载成功消息。
所述的用CPU同时加载多片FPGA的方法,其中,所述数据寄存器输出的每个比特对应一个所述FPGA,所述编程响应锁存器、所述编程完成指示锁存器的每个比特分别对应一个所述FPGA。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200610113841.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:广角镜头
- 下一篇:用液晶电视开机画面显示标签信息的方法