FPGA VIVADO 实现FLASH固化操作步骤

1.将所需要固化的程序综合,布线,生成比特流

2.生成MCS文件

2.1  按顺序选择Tools>>Generate Memory Configuration File 

 2.2 生成MCS

 2.3 对选择的spi总线进行约束

默认是spi x1,如果在上一步选择了其他的模式,可以直接在xdc文件中直接添加约束语句(举例spi x4如下:选择了其他spi总线只需更改第五句代码中的总线数。

#flash
set_property CFGBVS VCCO [current_design] 
set_property CONFIG_VOLTAGE 3.3 [current_design] 
set_property BITSTREAM.GENERAL.COMPRESS true [current_design] 
set_property BITSTREAM.CONFIG.CONFIGRATE 50 [current_design] 
set_property BITSTREAM.CONFIG.SPI_BUSWIDTH 4 [current_design] 
set_property BITSTREAM.CONFIG.SPI_FALL_EDGE Yes [current_design]
#flash

或者直接在vivado中选择

 

 

 根据具体情况自行选择

 选择spi总线和部分spi设置(不知道的就默认)然后点ok

 如果后面固化失败,可以回来重新跑综合,布线,bit流,因为你的约束改了,之前生成的没有这些约束。

3. 连接开发板

3.1 自动连接fpga开发板

 3.2 添加存储设备

 根据自己的flash型号选择,不要盲目跟从

 3.3 往存储设备中写入mcs文件,注意mcs文件要放在一个文件夹路径不包含中文和空格的文件夹中。

 3.4 固化完成

注意:mcs文件路径不能有中文,要不然会报错

4. 补充

根据网友留言,那么补充一下bin文件烧录与mcs文件烧录的区别。

首先,mcs文件是Intel早期为MCS系列II ISIS-II系统代码固化存储指定的文件格式,现在已经成为普遍遵循的标准。它是一种ASCII格式的文件,包含烧写FPGA的配置位流。mcs文件的特点是,在每行的末尾都有一个校验和,以确保数据的完整性。此外,它还包含每个地址应位于内存中的地址信息。

其次,bin文件是一种二进制文件,它以原始字节流的形式存储FPGA的配置信息。bin文件是FPGA开发工具生成的文件,用于存储FPGA的配置位流。bin文件包含FPGA设备的配置位信息和连接信息,用于定义FPGA在运行时的逻辑功能和连接方式。

mcs文件的优点在于其数据以ASCII格式表示,使得数据易于阅读和解析。此外,mcs文件包含地址信息,使得数据的加载更加灵活。

bin文件的优点在于其效率较高,因为它以二进制格式编码,不需要进行额外的转换或解析。此外,bin文件的生成和使用相对简单,减少了开发时间和错误的可能性。而且其无法包含地址信息,这使得数据的加载和使用变得较为复杂。此外,bin文件的大小也较大,可能会增加存储成本。

所以如果你的工程不考虑启动时间和flash足够大的存储,那么你也可以使用bin文件烧录到flash当中。

烧录操作的话就和上面步骤一样,把bin看作mcs就可以了,只是在生成bit流的时候,勾选上bin文件输出。如下图

FPGA(Field-Programmable Gate Array)是一种可编程逻辑设备,可以通过编程配置实现不同的功能。固化程序FPGA通常包括以下步骤: 1. 设计硬件:使用硬件描述语言(HDL)如VHDL或Verilog编写FPGA的逻辑电路设计。这个过程涉及到定义输入输出接口、逻辑电路、状态机等。 2. 综合和优化:将HDL代码输入到综合工具中,将其转换为FPGA可识别的逻辑网表表示。综合工具会对代码进行优化,以提高电路性能和资源利用率。 3. 约束设置:根据设计需求和FPGA的特性,设置约束条件。这些约束条件包括时钟频率、时序要求、引脚分配等。 4. 布局与布线:将逻辑网表映射到FPGA的实际硬件资源上。布局阶段负责将逻辑元件放置在FPGA芯片上,而布线阶段则负责将它们连接起来。 5. 生成比特流文件:根据布局和布线结果,生成比特流(Bitstream)文件。这个文件包含了配置FPGA所需的信息,可以通过JTAG接口或其他方式加载到FPGA中。 6. 下载比特流文件:使用FPGA开发工具将生成的比特流文件下载到目标FPGA芯片上。这个过程通常通过JTAG接口或者其他专用下载接口进行。 请注意,上述步骤是一个概括性的描述,具体的操作可能因使用的FPGA型号、开发工具和设计流程而有所不同。在进行FPGA程序固化之前,建议详细阅读相关的FPGA开发工具和设备手册,以确保正确而高效地完成固化过程。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值