0.第一步,将板子上的jtag跳线帽换到qspi上!
1.修改xdc文件
首先在xdc文件中插入如下语句
#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
添加这段原语的目主要是,为了生成的bit流文件转换成固化文件后能够适用于4bit位宽 SPI通信的 flash器件。
2.用Vivado 控制台生成.mcs 文件
之后会出现器件编辑选项框(Create a configuration file to program the device )如图所示:
根据basys3官方手册,我们知道basys3采用的flash为S25FL032,我们需要这样进行设置:
从图中我们可以看到一些配置选项,在此仅对我们需要用到的一些配置做简要介绍:
Format:指的生成文件的格式,这里我们选择生成MCS 文件。
Custom Memory Size(MB):指的是所用flash 的容量大小,这里选 32。
Filename:这里编辑生成的 mcs 文件名称,右边的三个点按钮是选择mcs 文件保存路径。 Interface:指的是所用flash 的通信方式,这里我们选 SPIx4。
Load bitstream files:这个选项勾上,然后添加你要生成 mcs 文件的原文件(bit 流文件)。
Write checksum:写校验。
Disable bit swapping:禁止位交换。
Overwrite:覆盖原文件。
配置选项完成后点击OK,会出现下图提示信息,这就代表我们mcs 文件生成成功,点击 OK 就行。
3.添加flash 器件及下载固化文件
上文已经详细介绍了如何生成固化文件,相信读者已经都学会了,但是光有固化文件还不够,我们还要添加一个固化 flash 器件。
首先将板子连接到PC 端(不熟悉的可以参考上文“下载比特流”),连接完成后如下图所示:
我们继续点击“Add Configuration Memory Device”如下图所示 :
basys3上搭载的flash是spansion公司的,32Mbit内存大小,我们选择类型(type)为spi,选择With为x1_x2_x4。随后我们找到对应的器件,选择第一个就行。
然后点击OK。会出现下图所示的询问栏:
继续点击OK 会出现下图所示的选项栏:
我们按照图示添加对应的mcs 文件和对应的.prm 文件点击 OK 就可以下载了,下载完成后会出现下图通知栏,点击OK 即可