FPGA码流更新方法技术

技术编号:34886138 阅读:15 留言:0更新日期:2022-09-10 13:43
本发明专利技术公开了一种FPGA码流更新方法,所述方法包括:接收并执行预加载指令,以使FPGA芯片内的更新数据寄存器模块将所述预加载指令所包含的控制值传输至内部输出控制寄存器;将内部输出控制寄存器中的控制值作为GPIO接口的电平值,赋值至GPIO接口,并对内部输出控制寄存器进行锁定;其中,内部输出控制寄存器被锁定时,GPIO接口的电平值保持不变;建立FPGA芯片的JTAG接口与SRAM的连接;进行芯片复位,清除FPGA芯片内SRAM的历史数据,继而通过JTAG接口将待更新码流配置至SRAM中。通过实施本发明专利技术能够使得GPIO接口的电平值在FPGA的码流配置过程中保持不变。置过程中保持不变。置过程中保持不变。

【技术实现步骤摘要】
FPGA码流更新方法


[0001]本专利技术涉及FPGA芯片
,尤其涉及一种FPGA码流更新方法。

技术介绍

[0002]FPGA在操作过程中,将配置数据(码流)存储在SRAM(静态随机存取存储器)中。当用户实现不同的功能时,需要重新更新码流到SRAM中,在现有的更新过程中,FPGA会从用户模式切换到配置状态(CFG),默认情况下GPIO(输入输出接口)的状态也会从用户态变为CFG态。但FPGA在系统中可能会控制其他芯片的工作,此时用户可能根据应用需求,需要在FPGA更新SRAM时保持GPIO的电平状态不变,即保持GPIO电平值在码流配置过程中保持不变。基于这一需求,当FPGA工作于用户模式,如果用户发起更新码流操作,如何保持GPIO电平值在码流配置过程中保持不变是一个亟需解决的技术问题。

技术实现思路

[0003]本专利技术实施例提供一种FPGA码流更新方法,能够使得GPIO接口的电平值在FPGA的码流配置过程中保持不变。
[0004]本专利技术实施例提供了一种FPGA码流更新方法,适用于在FPGA芯片内执行,包括:接收并执行预加载指令,以使FPGA芯片内的更新数据寄存器模块将所述预加载指令所包含的控制值传输至内部输出控制寄存器;
[0005]将内部输出控制寄存器中的控制值作为GPIO接口的电平值,赋值至GPIO接口,并对内部输出控制寄存器进行锁定;其中,内部输出控制寄存器被锁定时,GPIO接口的电平值保持不变;
[0006]建立FPGA芯片的JTAG接口与SRAM的连接;
[0007]进行芯片复位,清除FPGA芯片内SRAM的历史数据,继而通过JTAG接口将待更新码流配置至SRAM中。
[0008]进一步的,在待更新码流配置完毕后,断开JTAG接口与SRAM的连接,继而执行芯片唤醒操作以使芯片进入用户模式。
[0009]进一步的,在FPGA芯片进入用户模式后,还包括:在接收状态切换指令时,解除内部输出控制寄存器的锁定。
[0010]进一步的,所述预加载指令为JTAG指令中的Preal oad指令。
[0011]进一步的,将内部输出控制寄存器中的控制值作为GPIO接口的电平值,赋值至GPIO接口,并对内部输出控制寄存器进行锁定,具体包括:
[0012]接收并执行JTAG指令中的Extest指令,将内部输出控制寄存器中的控制值作为GPIO接口的电平值,赋值至GPIO接口,并对内部输出控制寄存器进行锁定。
[0013]进一步的,所述建立FPGA芯片的JTAG接口与SRAM的连接,具体包括:
[0014]接收并执行JTAG指令中的jtagprogram指令,将FPGA芯片当前的配置接口切换为JTAG接口,以建立JTAG接口与SRAM的连接。
[0015]进一步的,所述进行芯片复位,清除FPGA芯片内SRAM的历史数据,具体包括:
[0016]接收并执行JTAG指令中的erase指令,进行芯片复位,清除FPGA芯片内SRAM的历史数据。
[0017]进一步的,所述在待更新码流配置完毕后,断开JTAG接口与SRAM的连接,具体包括:在接收执行JTAG指令中disable指令时,判定待更新码流配置完毕,继而执行disable指令,变更FPGA芯片当前的配置接口,以断开JTAG接口与SRAM的连接。
[0018]进一步的,执行芯片唤醒操作以使芯片进入用户模式,具体包括:
[0019]接收并执行JTAG指令中的clamp指令,执行芯片唤醒操作,以使FPGA芯片进入用户模式。
[0020]进一步的,所述状态切换指令为JTAG指令中的bypass指令。
[0021]通过实施本专利技术实施例具有如下有益效果:
[0022]本专利技术实施例提供了一种FPGA码流更新方法,所述方法在进行FPGA码流更新时,先根据预加载指令将所需锁定的控制值传输至芯片的内部输出控制寄存器,紧接着将内部输出控制寄存器中的控制值作为GPIO接口的电平值,赋值至GPIO接口,并将内部输出控制寄存器进行锁定,以使得GPIO接口的电平值处于锁定状态,从而保证了GPIO接口的电平值在后续FPGA码流更新的过程中保持不变,最后建立FPGA芯片的JTAG接口与SRAM的连接,通过JTAG接口将待更新码流配置至SRAM中,完成FPGA芯片码流的配置。
附图说明
[0023]图1是本专利技术一实施例提供的一种FPGA码流更新方法的流程示意图。
[0024]图2是本专利技术一实施例提供的一种FPGA码流更新方法的另一流程示意图。
具体实施方式
[0025]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0026]如图1所示,本专利技术一实施例提供了一种FPGA码流更新方法,适用于在FPGA芯片中执行,至少包括:
[0027]步骤S101:接收并执行预加载指令,以使FPGA芯片内的更新数据寄存器模块将所述预加载指令所包含的控制值传输至内部输出控制寄存器。
[0028]步骤S102:将内部输出控制寄存器中的控制值作为GPIO接口的电平值,赋值至GPIO接口,并对内部输出控制寄存器进行锁定;其中,内部输出控制寄存器被锁定时,GPIO接口的电平值保持不变。
[0029]步骤S103:建立FPGA芯片的JTAG接口与SRAM的连接。
[0030]步骤S104:进行芯片复位,清除FPGA芯片内SRAM的历史数据,继而通过JTAG接口将待更新码流配置至SRAM中。
[0031]优选的本专利技术所公开的FPGA码流更新方法,基于JTAG(边界扫描测试)指令实现,通过设定各种JTAG指令以及各种JTAG指令的执行顺序以完成本专利技术,可直接通过FPGA芯片
的JTAG接口实现,不需要额外的接口和信号,操作流程简单且易于实现。
[0032]对于步骤S101、在一个优选的实施例中,所述预加载指令为JTAG指令中的Preaload指令。具体的,当需要更新码流时,用户将携带有控制值的Preaload指令通过FPGA芯片的JTAG接口输入至FPGA芯片中,FPGA芯片执行Preaload指令,提取Preaload指令中的控制值,并由更新数据寄存器模块(updr)中的移位数据寄存器(sfdr)将控制值传输至内部输出控制寄存器。
[0033]对于步骤S102、在一个优选的实施例中,将内部输出控制寄存器中的控制值作为GPIO接口的电平值,赋值至GPIO接口,并对内部输出控制寄存器进行锁定,具体包括:接收并执行JTAG指令中的Extest指令,将内部输出控制寄存器中的控制值作为GPIO接口的电平值,赋值至GPIO接口,并对内部输出控制寄存器进行锁定。
[0034]具体的,接收用户输入的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种FPGA码流更新方法,适用于在FPGA芯片内执行,其特征在于,包括:接收并执行预加载指令,以使FPGA芯片内的更新数据寄存器模块将所述预加载指令所包含的控制值传输至内部输出控制寄存器;将内部输出控制寄存器中的控制值作为GPIO接口的电平值,赋值至GPIO接口,并对内部输出控制寄存器进行锁定;其中,内部输出控制寄存器被锁定时,GPIO接口的电平值保持不变;建立FPGA芯片的JTAG接口与SRAM的连接;进行芯片复位,清除FPGA芯片内SRAM的历史数据,继而通过JTAG接口将待更新码流配置至SRAM中。2.如权利要求1所述的FPGA码流更新方法,其特征在于,还包括:在待更新码流配置完毕后,断开JTAG接口与SRAM的连接,继而执行芯片唤醒操作以使芯片进入用户模式。3.如权利要求2所述的FPGA码流更新方法,其特征在于,在FPGA芯片进入用户模式后,还包括:在接收状态切换指令时,解除内部输出控制寄存器的锁定。4.如权利要求1所述的FPGA码流更新方法,其特征在于,所述预加载指令为JTAG指令中的Preaload指令。5.如权利要求1所述的FPGA码流更新方法,其特征在于,将内部输出控制寄存器中的控制值作为GPIO接口的电平值,赋值至GPIO接口,并对内部输出控制寄存器进行锁定,具体包括:接收并执行JTAG指令中的Extest指令,将内部输出控制寄存器...

【专利技术属性】
技术研发人员:仇斌厚娇
申请(专利权)人:上海安路信息科技股份有限公司
类型:发明
国别省市:

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

1