0
收藏
微博
微信
复制链接

提问:FPGA的程序烧写为什么要两次?

2024-06-03 10:41
74

在现场可编程门阵列(FPGA)的程序开发过程中,程序烧写是不可或缺的重要环节,然而在该环节经常听见JTAG和Flash,在某些情况下,FPGA的程序需要通过这两个方式进行双重烧写。

1.png

1、FPGA程序烧写

FPGA程序烧写是指将开发者编写的硬件描述语言(如Verilog和VHDL)代码通过一系列步骤转换为FPGA能够理解的二进制文件,并将其加载到FPGA芯片中以实现特定功能的过程,这一过程包括准备开发板和FPGA芯片、安装开发环境、设计FPGA电路、编译设计文件、烧写二进制文件到FPGA芯片及验证FPGA电路功能等步骤。

2、JTAG在FPGA程序烧写中的作用

JTAG是一种国际标准测试协议,主要用于芯片内部测试。在FPGA程序烧写中,JTAG负责:

①配置FPGA

通过JTAG接口,开发人员可以将FPGA的配置位流加载到FPGA芯片中,从而定义FPGA的逻辑功能和连接关系。这使得FPGA可以根据应用需求进行灵活的重配置,而无需更换芯片;

②调试FPGA

JTAG接口还为开发人员提供了访问FPGA内部寄存器、状态和时钟信息的能力。通过读取和修改寄存器值、观察信号波形等操作,开发人员可以在硬件层面上调试和验证设计,从而快速定位和解决问题。

3、Flash在FPGA程序烧写中的作用

Flash是一种非易失性存储器,用于存储FPGA的配置信息。在FPGA程序烧写中,Flash负责:

①存储配置信息

在FPGA的设计中,通过编写配置文件将所需的逻辑功能和连接关系描述出来。这些配置信息被存储到FLASH中,并在FPGA上电时被加载到逻辑门和可编程连接中。这样一来,FPGA就能够按照配置文件描述的方式运行,并且可以根据需要重新配置。

②存储用户数据

在许多应用中,FPGA需要处理大量的数据,包括输入数据、中间结果和输出数据。这些数据需要被存储在某个地方以便在需要时进行读取和写入。FLASH作为非易失性存储器,能够可靠地存储这些数据。

4、为什么需要JTAG和Flash双重烧写?

在实际应用中,JTAG和Flash的双重烧写方式有其独特的优势:

①灵活性

JTAG方式允许开发人员直接在FPGA上进行调试和验证,从而快速定位和解决问题。而FLASH则提供了配置信息的持久化存储,使得FPGA可以在上电后自动加载配置并运行;

②可靠性

FLASH作为非易失性存储器,能够可靠地存储配置信息和用户数据,即使在断电的情况下也不会丢失。这保证了FPGA的稳定性和可靠性;

③优化流程

在开发初期,开发人员可以使用JTAG方式进行调试和验证。待FPGA功能成型之后,可以使用AS(Active Serial)方式将程序固化到配置芯片(如FLASH)中去,从而避免每次上电都重新下载程序。这种方式优化了开发流程,提高了开发效率。


本文凡亿企业培训原创文章,转载请注明来源!

登录后查看更多
0
评论 0
收藏
侵权举报
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表凡亿课堂立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。

热门评论0

相关文章

攻城狮之家

专注电子设计,好文分享

开班信息