[发明专利]一种FPGA动态重构方法有效
申请号: | 201610811460.1 | 申请日: | 2016-09-08 |
公开(公告)号: | CN106372032B | 公开(公告)日: | 2018-02-13 |
发明(设计)人: | 陶飞;邹孝付;左颖 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F15/78 | 分类号: | G06F15/78 |
代理公司: | 北京科迪生专利代理有限责任公司11251 | 代理人: | 成金玉,卢纪 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 fpga 动态 方法 | ||
1.一种FPGA动态重构方法,其特征在于包括以下步骤:
步骤一:当重构模式为本地重构时,利用FPGA读取存储在片外Flash中的不同偏移地址处的配置文件,通过状态机将读取到的配置文件写入FPGA内部的内部配置访问端口ICAP,,以完成FPGA的本地动态重构;
步骤二:当重构模式为远程重构时,利用以太网将各个配置文件传输到FPGA内部并利用编写的状态机将各个配置文件存储在FPGA内部的BRAM中,利用状态机将BRAM中的配置文件烧写进片外Flash,以完成FPGA的远程动态重构;
所述步骤一中,当重构模式为本地重构时,此时Flash中的不同偏移地址处已经存储了不同的配置文件,具体实现如下:
①以4字节为一组读取Flash中的目标配置文件,同时将读取到的数据写入ICAP;
②编写状态机控制内部配置访问端口ICAP端口信号的时序,首先使内部配置访问端口ICAP工作在X32模式,第一个时钟周期:设置内部配置访问端口ICAP的片选信号为高电平即逻辑‘1’、读写信号为高电平即逻辑‘1’、数据输入信号为十六进制数据0x00000000;
③第二个时钟周期:设置内部配置访问端口ICAP的片选信号为高电平即逻辑‘1’、读写信号为低电平即逻辑‘0’、数据输入信号为①中读取到的4字节数据;
④第三个时钟周期:设置内部配置访问端口ICAP的片选信号为低电平即逻辑‘0’、读写信号为低电平即逻辑‘0’、数据输入信号为①中读取到的4字节数据;
⑤第四个时钟周期:设置ICAP的片选信号为高电平即逻辑‘1’、读写信号为高电平即逻辑‘1’、数据输入信号为十六进制数据0xaaaaaaaa;
⑥步骤②-⑤完成了①中读取到的4字节数据的写入内部配置访问端口ICAP,接着继续以4字节为一组读取Flash数据,当读取到的数据不是十六进制0x000000b0时,重复步骤①-⑤;当读取到十六进制0x000000b0时,按照②-⑤将0x000000b0写入内部配置访问端口ICAP,同时继续以4字节为一组读取Flash数据,当紧接着读取到的数据为十六进制0x04000000时,按照②-⑤将0x04000000写入内部配置访问端口ICAP,此时就完成了目标配置文件在FPGA中的动态重构;
所述步骤二中,当重构模式为远程重构时,此时首先需要在状态机的控制下将远程的配置文件写入片外Flash,具体实现为:
①编写状态机读取网络传输过来的配置数据,并同时计数,当接收到的数据大小小于102字节时,忽略这些数据;当接收到的数据大小大于等于103字节时,将此时接收到的数据进行基于字节的大小端转换,即一个字节的最高位当作最低位、最低位当作最高位,然后将转换后的数据写入FPGA内部的BRAM中;
②直到接收到的数据为十六进制0x000000b0,并写入BRAM;
③此时再次接收4字节的数据,当此时的数据为十六进制0x04000000时,将其写入BRAM;
④然后在状态机控制下将BRAM中的数据烧写进片外Flash;
⑤以4字节为一组读取Flash中的目标配置文件,同时将读取到的数据写入ICAP;
⑥编写状态机控制ICAP端口信号的时序,首先使ICAP工作在X32模式。第一个时钟周期:设置ICAP的片选信号为高电平即逻辑‘1’、读写信号为高电平即逻辑‘1’、数据输入信号为十六进制数据0x00000000;
⑦第二个时钟周期:设置内部配置访问端口ICAP的片选信号为高电平即逻辑‘1’、读写信号为低电平即逻辑‘0’、数据输入信号为⑤中读取到的4字节数据;
⑧第三个时钟周期:设置内部配置访问端口ICAP的片选信号为低电平即逻辑‘0’、读写信号为低电平即逻辑‘0’、数据输入信号为⑤中读取到的4字节数据;
⑨第四个时钟周期:内部配置访问端口ICAP的片选信号为高电平即逻辑‘1’、读写信号为高电平即逻辑‘1’、数据输入信号为十六进制数据0xaaaaaaaa;
⑩步骤⑥-⑨完成了⑤中读取到的4字节数据的写入内部配置访问端口ICAP,接着继续以4字节为一组读取Flash数据,当读取到的数据不是十六进制0x000000b0时,重复步骤⑤-⑨;当读取到十六进制0x000000b0时,按照⑥-⑨将0x000000b0写入内部配置访问端口ICAP,同时继续以4字节为一组读取Flash数据,当紧接着读取到的数据为十六进制0x04000000时,按照⑥-⑨将0x04000000写入ICAP,此时就完成了目标配置文件在FPGA中的动态重构。
2.根据权利要求1所述的一种FPGA动态重构方法,其特征在于:所述动态重构方法适用于Xilinx公司Virtex-5系列FPGA芯片。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610811460.1/1.html,转载请声明来源钻瓜专利网。