程序固化——FPGA学习笔记6

一、固化文件介绍


BIN:一般是由Vivado软件编译产生的,存储在特定目录下的二进制文件
MCS:一般通过VivadoGUl界面操作或者TCL命令生成,MCS文件里包含了BIN文件的内容,除此之外,每行的开始有地址信息,最后一个Byte是CRC校验信息

二、固化文件生成

1、bin文件生成

(1)添加XDC原语

为了实现上电后快速启动

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]

set_property BITSTREAM.CONFIG.SPI_FALL_EDGE Yes [current_design]

该原语为未使用引脚全部默认为输出高电平。 

(2)vivado设置

配置好之后重新生成bit流文件

文件路径下可以查看到bit文件以及bin文件。

2、MCS文件生成(GUI界面)

(1)打开vivado GUI界面

填写存储器容量  例如25Q064    及有64Mbit存储空间,转化为MB为8MB空间

填写保存文件名字,路径保持跟bit文件一致(个人习惯)

对应实际器件以及XDC原语约束选择接口类型

添加bit流文件

以此勾选   写校验    禁止位交换   覆盖

最终会生成如下命令

write_cfgmem  -format mcs -size 8 -interface SPIx4 -loadbit {up 0x00000000 "C:/Users/asus/Desktop/DDS_FPGA/dds_t/dss/dss.runs/impl_1/DDS_top.bit" } -checksum -force -disablebitswap -file "C:/Users/asus/Desktop/DDS_FPGA/dds_t/dss/dss.runs/impl_1/dds_mcs"

点击OK即可生成MCS文件

3、MCS文件生成(TCL命令)

复制上一步产生命令

write_cfgmem  -format mcs -size 8 -interface SPIx4 -loadbit {up 0x00000000 "C:/Users/asus/Desktop/DDS_FPGA/dds_t/dss/dss.runs/impl_1/DDS_top.bit" } -checksum -force -disablebitswap -file "C:/Users/asus/Desktop/DDS_FPGA/dds_t/dss/dss.runs/impl_1/dds_mcs"

 需要注意路径是否与实际路径相同!!!后回车

提示成功

路径下可以查看到新生成的MCS文件。

三、文件固化烧录

1、选择添加配置存储器件

 2、根据实际选择Flash芯片

3、选择配置固化文件

4、选择固化文件,bin文件和MCS文件都可以,其他选项默认即可

5、然后然后报错了。。。。。。。没固化成功。。。。。

报错信息:[Labtools 27-3413] Dropping logic core with celiname:'your instance_ name' atlocation 'uuid C43761E0C03650398C6907A263A83E64' from probes file, since it cannotbe found on the programmed device.

检查后发现是程序中有ILA在调试部分代码,删除该部分代码即可解决问题

6、开发板断电重新上电后即可正常执行程序,需要注意一点,下载器如果连接在开发板上可能会导致程序无法生成启动!!!

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值