[发明专利]一种控制FPGA编程新地址的方法、装置及编程电路有效
申请号: | 201210495922.5 | 申请日: | 2012-11-28 |
公开(公告)号: | CN103856210B | 公开(公告)日: | 2017-09-12 |
发明(设计)人: | 朱璟辉;高三达;闫丽菲 | 申请(专利权)人: | 艺伦半导体技术股份有限公司 |
主分类号: | H03K19/177 | 分类号: | H03K19/177 |
代理公司: | 北京三友知识产权代理有限公司11127 | 代理人: | 任默闻 |
地址: | 100083 北京市海淀区学院*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 控制 fpga 编程 地址 方法 装置 电路 | ||
技术领域
本发明是关于FPGA技术,特别是关于一种控制FPGA编程新地址的方法、装置及编程电路。
背景技术
现场可编程门阵列(Field Programmable Gate Array FPGA)可以随着应用的需求而改变它的功能。不论需要输入什么样的应用程序,可以在编程第一个程序的时候预先决定下一个程序来重新编程,或是随着不同的应用结果再决定下一个程序来重新编程。FPGA编程的优点是不必局限于在第一个编程时就必须做决定,而是可以随着不同的情况做判断后再行决定。
发明人在实现本发明过程中发现现有技术中至少存在如下问题:
现有的FPGA编程必须等到正在进行的编程完毕之后才可以重新选择新的编程,美国专利US 7535253公开了一种在可编程逻辑设备重编程期间的寄存器数据保持方法,该申请是在遇到低有效信号(programn)的下降沿时再把新的编程地址记住,等到重新编程时便把这个新的编程地址送到外面的spiflash展开新的编程过程。
发明内容
本发明提供一种控制FPGA编程新地址的方法,以使用户无需等到正在进行的编程完毕之后再重新选择新的编程,可以在编程过程中预先确定下一程序进行重新编程,也可以随着不同的应用结果确定下一程序进行重新编程,而无需等到正在进行的编程完毕之后再重新选择新的编程。
为了实现上述目的,本发明提供一种控制FPGA编程新地址的方法,该方法包括:通过配置接口模块或串行外围设备接口flash向FPGA芯片的寄存器中写入新的编程地址;重新编程时,将写入所述寄存器的所述新的编程地址作为高位地址送入串行所述的外围设备接口flash中;所述的外围设备接口flash根据所述的高位地址向所述的FPGA芯片发送数据流,以使所述的FPGA芯片进行新的编程。
进一步地,通过配置接口模块或串行外围设备接口flash向FPGA的寄存器中写入新的编程地址,包括:串行外围设备接口flash通过地址编程指令向所述FPGA芯片的地址数据寄存器addr[11:0]中写入所述新的编程地址;当指令地址更新信号load_spi_addr有效时,将写入所述addr[11:0]中的地址存储到12比特地址寄存器spi[23:12]中。
进一步地,通过配置接口模块或串行外围设备接口flash向FPGA芯片的寄存器中写入新的编程地址,包括:用户通过配置接口模块将所述新的编程地址写入所述FPGA芯片的使用者地址寄存器cib[11:0]中;当load_cib_addr处于上升沿时,把所述cib[11:0]中的所述新的编程地址存储到12比特地址寄存器spi[23:12]中。
进一步地,将写入所述寄存器的所述新的编程地址作为高位地址送入串行所述的外围设备接口flash中,包括:将所述spi[23:12]中存储的所述新的编程地址作为高位地址发送到所述的外围设备接口flash中。
为了实现上述目的,本发明提供一种控制FPGA编程新地址的装置,其特征在于,该装置包括:地址写入单元,用于通过配置接口模块或串行外围设备接口flash向FPGA芯片的寄存器中写入新的编程地址;地址发送单元,用于在重新编程时将写入所述寄存器的所述新的编程地址作为高位地址送入串行所述的外围设备接口flash中;数据流发送单元,用于所述的外围设备接口flash根据所述的高位地址向所述的FPGA芯片发送数据流,以使所述的FPGA芯片进行新的编程。
进一步地,所述的地址写入单元包括:指令地址写入模块,用于所述的串行外围设备接口flash通过地址编程指令向所述FPGA芯片的地址数据寄存器addr[11:0]中写入所述新的编程地址;第一地址存储模块,当指令地址更新信号load_spi_addr有效时,用于将写入所述addr[11:0]中的所述新的地址存储到12比特地址寄存器spi[23:12]中。
进一步,所述的地址写入单元包括:硬件地址写入模块,用于用户通过配置接口模块将所述新的编程地址写入所述FPGA芯片的使用者地址寄存器cib[11:0]中;第二地址存储模块,当load_cib_addr处于上升沿时,用于把所述cib[11:0]中的所述新的编程地址存储到12比特地址寄存器spi[23:12]中。
进一步地,所述的地址发送单元具体用于将所述spi[23:12]中存储的所述新的编程地址作为高位地址发送到所述的外围设备接口flash中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于艺伦半导体技术股份有限公司,未经艺伦半导体技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210495922.5/2.html,转载请声明来源钻瓜专利网。