一、固化文件介绍
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、开发板断电重新上电后即可正常执行程序,需要注意一点,下载器如果连接在开发板上可能会导致程序无法生成启动!!!