为双
QSPI (x8)
器件创建配置存储器文件
您可使用
write_cfgmem
Tcl
命令来为双
QSPI (x8)
器件生成
.mcs
镜像。此命令会将配置数据自动拆分为
2
个独立 的 .mcs
文件。
注释
:
为
SPIx8
生成
.mcs
时指定的大小即为这
2
个四通道闪存器件的总大小。
注释
:
write_cfgmem
Tcl
命令在为双
QSPI (x8)
模式构建
.mcs
文件时会将起始地址一分为二。
write_cfgmem
使用示例
此示例演示了如何为多重启动设计生成
.mcs
文件
,
此设计在地址
0
加载“黄金镜像”比特流并在地址
0x0100_0000 加载多重启动比特流。
器件
:
2
个
256 Mib QSPI
闪存器件
:
256 Mib = 32 MiB
总存储空间大小
:
2 * 32 MiB = 64 MiB
加载地址
:
黄金
:
0 * 2 = 0
多重启动
:
0x0100_0000 * 2 = 0x0200_0000
write_cfgmem -format mcs -interface spix8 -size 32 \
-loadbit "up 0 ./design1_spix8.bit up 0x02000000 ./design2_spix8.bit" \
-file design1_design2_spix8.mcs
连接到
Vivado
中的硬件目标
要连接到
Vivado
中的硬件目标
,
请执行以下操作
:
1.
确保在硬件目标的
FPGA
模式管脚上已选中相应的配置模式
(
Master SPI
或
Master BPI
),
以便从配置存储器器 件配置此 FPGA
。
如需了解更多信息
,
请参阅目标器件的相应“配置用户指南”。
2.
遵循“对
FPGA
器件进行编程”中的步骤
,
连接至硬件目标。
重要提示
!
如果开发板已掉电或者电缆已断开连接
,
那么
Vivado IDE
会关闭硬件目标。同时还会取消 Vivado 主线程中的任意
Vivado
操作。
添加配置存储器器件
要将配置存储器器件添加至
Vivado
器件编程器中的硬件目标
,
请执行以下操作
:
1.
如上所述连接至硬件目标后
,
请右键单击硬件目标
(
如下所示
)
并选中“
Add Configuration Memory Device
”以 添加配置存储器器件。
单击此菜单项即可打开“
Add Configuration Memory Device
”对话框
:
2.
选中相应的配置存储器器件
,
然后选择“
OK
”。
提示
:
选择“制造商
(Manufacturer)
”、“密度
(Density)
”或“类型
(Type)
”信息
,
并使用“
Search
”字段
缩小列表显示信息范围。 这样即可将配置存储器器件添加至硬件目标器件中。
对配置存储器器件进行编程
1.
创建配置存储器器件后
,
Vivado
器件编程器会发出如下提示
:
“您现在是否想要对配置存储器器件进行编程
?
(Do you want to program the configuration memory device now?)”。
单击“
OK
”即可打开“对配置存储器器件进行编程
(Program Configuration Memory Device)
”对话框。
2.
选中此对话框中的所有字段
:
• “
Configuration file
”
(
.mcs
或
.bin
)
-
指定用于对配置存储器器件进行编程的文件。存储器配置文件将使 用 write_cfgmem
Tcl
命令来创建。请参阅“创建配置存储器文件”
,
以获取更多信息。
• 非配置存储器
I/O
管脚的状态
:
○
“
Pull-none
”
-
指定编程到
FPGA
中的间接配置比特流将未使用的
I/O
管脚设置为“
pull-none
”。
○
“
Pull-up
”
-
指定编程到
FPGA
中的间接配置比特流将未使用的
I/O
管脚设置为“
pull-up
”。
○
“
Pull-down
”
-
指定编程到
FPGA
中的间接配置比特流将未使用的
I/O
管脚设置为“
pull-down
”。
重要提示
!
确保非配置存储器
I/O
管脚的状态与
write_bitstream
属性中的设置相匹配。该属性默
认值为
pull-down
。
• “
Program Operations
”
(
在配置存储器器件上执行
)
。
○
“
Address Range
”
-
指定要编程的配置存储器器件的地址范围。可能的地址范围值如下
:
-
“
Configuration File Only
”
-
仅使用存储器配置文件所需的地址空间来执行擦除、空白检查、编程和验 证。
-
“
Entire Configuration Memory Device
”
-
将在整个器件上执行擦除、空白检查、编程和验证。
• “
RS Pins
”
-
可选。版本选择管脚映射
(Revision Select Pin Mapping)
,
仅限配合
BPI
配置存储器器件一起使用 (其中闪存上的前
2
个
FPGA
地址管脚绑定到
FPGA RS[1:0]
)
。启用该选项时
,
Vivado
会驱动
FPGA RS[1:0] 用于编程。请参阅相应的 FPGA
配置用户指南
,
以了解应用的用法。
• “
Erase
”
-
擦除配置存储器器件的内容。
• “
Blank Check
”
-
检查配置存储器器件
,
确保编程前器件中不含数据。
• “
Program
”
-
使用指定的配置文件
(
.mcs
或
.bin
)
对配置存储器器件进行编程。
• “
Verify
”
-
编程后
,
验证配置存储器器件的内容与配置文件
(
.mcs
或
.bin
)
相匹配。
• “
Verify Checksum
”
-
验证配置存储器器件中已编程的数据。该工具会基于配置存储器器件中已编程的数据来 计算校验和值,
然后将其与
.prm
文件中指定的校验和值进行比较。
提示
:
用户可生成
cfgmem
文件并指定
-checksum write_cftmem
选项。此步骤会创建
.prm
文
件
,
其中包含有关
cfgmem
输出文件的校验和信息。
• “
Create SVF Only
”
-
启用该选项即可支持以您指定的编程操作来创建
.svf
文件。其它第三方工具可使用 此 .svf
文件在
Vivado
外部对配置存储器器件进行编程。
重要提示
!
启用该选项时
,
Vivado
仅生成含相关编程选项的
.svf
文件。它不会实际对配置存储器器件执 行编程。
3.
单击“
OK
”以根据此对话框中的选择
,
在配置存储器器件上启动擦除、空白检查、编程和验证操作。每项操作完 成后,
Vivado
都会通知您。
注释
:
按下“
Apply
”将存储配置存储器设置
,
但不会对配置存储器器件进行编程。如果您在按下“应用
(Apply)
” 后按下“取消 (Cancel)
”
,
那么配置存储器器件将完成设置
,
并且可稍后执行编程。
启动器件
对配置存储器器件进行编程后
,
您可发出软启动操作
(
即
,
JPROGRAM
)
以从所连配置存储器器件启动
FPGA
配置。
如果要在目标
FPGA
器件上执行启动操作
,
请选中目标器件
,
右键单击并选择“
Boot from Configuration Memory Device”。
重要提示
!
从配置存储器启动后
,
可能出现由于系统启动设置而导致调试核不立即显示的情况。赛灵思建议您等 待一段时间,
具体时间可在
Vivado
硬件管理器的
Tcl
控制台内使用
boot_hw_device
Tcl
命令来指定
,
如下所 示:
boot_hw_device after 1000 [refresh_hw_device]
其中
,
可指定的最大
wait_on
值为
1000
。
在主模式下配置失败
注释
:
以下内容在
MPSoC
或
Versal
架构上不予支持。
当开发板处于“主
BPI (Master BPI)
”模式或“主
SPI (Master SPI)
”模式下且
JTAG
线缆连接至
Vivado
硬件管理器 时,
可能会发生配置失败。如果硬件管理器轮询和恢复功能导致主模式配置中断
,
那么在上电时可能会发生间歇性配置 失败。为避免出现此问题,
请在
Vivado
硬件管理器
Tcl
控制台中设置以下参数以确保不对配置状态寄存器进行更新
:
set_param xicom.allow_cfgin_commands false
注释
:
此参数会影响整条链上的所有器件。