当前位置:   article > 正文

FPGA VIVADO 实现FLASH固化操作步骤_fpga芯片有固化程序吗

fpga芯片有固化程序吗

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

2.生成MCS文件

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

 2.2 生成MCS

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

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

  1. #flash
  2. set_property CFGBVS VCCO [current_design]
  3. set_property CONFIG_VOLTAGE 3.3 [current_design]
  4. set_property BITSTREAM.GENERAL.COMPRESS true [current_design]
  5. set_property BITSTREAM.CONFIG.CONFIGRATE 50 [current_design]
  6. set_property BITSTREAM.CONFIG.SPI_BUSWIDTH 4 [current_design]
  7. set_property BITSTREAM.CONFIG.SPI_FALL_EDGE Yes [current_design]
  8. #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文件输出。如下图

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/583460
推荐阅读
相关标签
  

闽ICP备14008679号