最新回复
FPGA(Field Programmable Gate Array)的烧写,即固化程序到FPGA中,是一个重要的步骤,特别是在产品开发和生产过程中。烧写过程通常涉及将设计好的比特流文件(Bitstream)存储到非易失性存储器中,以便在掉电后仍然能够保持程序的完整性。以下是FPGA烧写原理的详细说明:
比特流文件生成:首先,使用如Vivado等开发环境编写Verilog或VHDL代码,并进行综合、布局布线等操作,生成比特流文件(Bitstream)。这个文件包含了FPGA所需的所有配置信息 2。
烧写方式:烧写FPGA的方式主要有两种:
JTAG烧写:通过JTAG接口将比特流文件烧录到FPGA的SRAM中,这种方式在断电后信息会丢失,主要用于开发调试阶段 1。
Flash烧写:将配置文件通过IDE工具保存在非易失性存储器如NOR Flash中,上电后自动编程FPGA。这种方式常用于产品发布后,确保配置信息在断电后依然保持 1。
固化操作步骤:固化过程通常包括将比特流文件下载到FPGA的配置存储器中,然后将内容固化到Flash中。例如,在ZYNQ平台上,可以使用Vivado生成比特流文件,然后通过SDK将比特流文件导出为硬件比特流文件(.bit),复制到SD卡,插入开发板并启动,通过命令行工具将比特流文件固化到Flash中 2。
远程更新:对于某些产品,如小型手持测量设备,可能需要在不拆卸设备的情况下更新FPGA的配置文件。这可以通过一个具有通信能力的微控制器将新的配置文件发送给FPGA,再由FPGA写入Flash。Xilinx提供了QuickBoot Method for FPGA Design Remote Update的解决方案 1。
安全更新策略:为了避免在烧录过程中新的配置文件损坏导致FPGA不能正常启动,通常采取双保险策略。例如,使用gold bitstream作为出厂时写入Flash的测试过绝对可以启动FPGA的配置文件,以及update bitstream作为默认读取的配置文件。如果update bitstream在更新过程中出现问题,FPGA将回退到gold bitstream 1。
配置细节:FPGA通过Flash配置的细节包括寻找同步字(如7系列FPGA的SPI接口的同步字是0xAA995566),找到后读取首地址,然后跳到首地址开始读取所有配置数据 1。
固化过程的注意事项:在固化过程中,需要确保使用正确的比特流文件,SD卡有足够的空间,开发板能够正确识别SD卡,并且固化过程可能需要几分钟时间。固化完成后,需要重新启动开发板以从Flash中加载FPGA程序 2。
通过上述步骤和方法,可以实现FPGA的烧写和固化,确保FPGA在掉电后能够保持其配置信息,便于产品的部署和更新 2。
详情
回复
发表于 2024-9-11 13:03
| |
|
|
此帖出自问答论坛
| ||
|
||
EEWorld Datasheet 技术支持