Artix、Virtex 和 Kintex UltraScale+ 比特流设置 - 2023.2 简体中文

Vivado Design Suite 用户指南: 编程和调试 (UG908)

Document ID
UG908
Release Date
2023-10-19
Version
2023.2 简体中文

下表所示 AMD Artix™ UltraScale+™ AMD Virtex™ UltraScale+™ AMD Kintex™ UltraScale+™ 器件的器件配置设置可搭配 set_property <Setting> <Value> [current_design] Vivado 工具 Tcl 命令一起使用。

表 1. Artix UltraScale+Virtex UltraScale+Kintex UltraScale+ 比特流设置
设置 默认值 可能的值 描述
BITSTREAM.AUTHENTICATION.AUTHENTICATE No No 和 Yes 此设置用于指示是否使用 RSA 身份验证。如果设为 No,则使用 AES_GCM。
BITSTREAM.AUTHENTICATION.RSAPRIVATEKEYFILE     此设置用于指定 OpenSSL .pem 文件,此文件包含的密钥对应用于签署经 RSA-2048 身份验证的比特流。
BITSTREAM.CONFIG.BPI_1ST_READ_CYCLE 1 1、2、3 或 4 此设置用于将 BPI 配置与闪存器件中的页面模式操作的时序进行同步。它允许您为首个页面的有效读取设置周期数。BPI_page_size 必须设置为 4 或 8,这样该选项才可用。
BITSTREAM.CONFIG.BPI_PAGE_SIZE 1 1、4、8 对于 BPI 配置,该子选项允许您指定页面大小,此大小对应于闪存每个页面所需读取数。
BITSTREAM.CONFIG.BPI_SYNC_MODE Disable Disable、Type1 和 Type2

此设置用于为不同类型的 BPI 闪存器件设置 BPI 同步配置模式。

Disable(默认值)即禁用同步配置模式。

Type1 启用同步配置模式和设置以支持 Micron G18(F) 系列。

Type2 启用同步配置模式和设置以支持 Micron (Numonyx) P30 和 P33 系列。

BITSTREAM.CONFIG.CCLKPIN Pullup Pullup 和 Pullnone 此设置用于向 Cclk 管脚添加内部上拉。Pullnone 设置则禁用上拉。
BITSTREAM.CONFIG.PERSIST No No 和 Yes 禁止使用配置管脚作为用户 I/O,且配置后仍保留此设置。
BITSTREAM.CONFIG.CONFIGRATE 2.7 2.7、5.3、8.0、10.6、21.3、31.9、36.4、51.0、56.7、63.8、72.9、85.0、102.0、127.5、170.0 在主模式下配置时,比特流生成使用内部振荡器来生成配置时钟 Cclk。该子选项用于选择 Cclk 的速率。
BITSTREAM.CONFIG.D00_MOSI Pullup Pullup、Pulldown 和 Pullnone 此设置用于向 D00_MOSI 管脚添加内部上拉、下拉或者两者都不添加。选择 Pullnone 以禁用 D00_MOSI 管脚上的上拉电阻器和下拉电阻器。
BITSTREAM.CONFIG.D01_DIN Pullup Pullup、Pulldown 和 Pullnone 此设置用于向 D01_DIN 管脚添加内部上拉、下拉或者两者都不添加。选择 Pullnone 以禁用 D01_DIN 管脚上的上拉电阻器和下拉电阻器。
BITSTREAM.CONFIG.D02 Pullup Pullup、Pulldown 和 Pullnone 此设置用于向 D02 管脚添加内部上拉、下拉或者两者都不添加。选择 Pullnone 以禁用 D02 管脚上的上拉电阻器和下拉电阻器。
BITSTREAM.CONFIG.D03 Pullup Pullup、Pulldown 和 Pullnone 此设置用于向 D03 管脚添加内部上拉、下拉或者两者都不添加。选择 Pullnone 以禁用 D03 管脚上的上拉电阻器和下拉电阻器。
BITSTREAM.CONFIG.DCIUPDATEMODE AsRequired AsRequired、Quiet 和 Safe 此设置用于控制数控阻抗电路尝试对 DCI IOSTANDARD 执行阻抗匹配更新的频率。
BITSTREAM.CONFIG.DONEPIN Pullup Pullup 和 Pullnone 此设置用于向 DONE 管脚添加内部上拉。Pullnone 设置则禁用上拉。仅当您要将外部上拉电阻器连接到此管脚时,才使用 DonePin。如果您不使用 DonePin,则自动连接内部上拉电阻器。
BITSTREAM.CONFIG.EXTMASTERCCLK_EN Disable Disable、Div-1、Div-2 和 Div-3。Div-4、Div-6、Div-8、Div-12、Div-16、Div-24 和 Div-48 此设置允许使用外部时钟作为所有主模式的配置时钟。此外部时钟必须连接到两用 EMCCLK 管脚。
BITSTREAM.ENCRYPTION.FAMILY_KEY_FILEPATH 指向 familyKey.cfg 的路径

此设置用于指定族密钥的安装位置。无需特定目录。

AMD 并未在其 AMD 工具套件中提供族密钥。客户如需族密钥,必须向 secure.solutions@xilinx.com 发送请求。将通过 https://china.xilinx.com 上的“产品许可”站点向合格客户分配族密钥。

BITSTREAM.CONFIG.INITPIN Pullup Pullup 和 Pullnone 此设置用于指定是要将 Pullup 电阻器添加到 INIT 管脚,还是保留 INIT 管脚处于浮动状态。
BITSTREAM.CONFIG.M0PIN Pullup Pullup、Pulldown 和 Pullnone 此设置用于向 M0 管脚添加内部上拉、下拉或者两者都不添加。选择 Pullnone 以禁用 M0 管脚上的上拉电阻器和下拉电阻器。
BITSTREAM.CONFIG.M1PIN Pullup Pullup、Pulldown 和 Pullnone 此设置用于向 M1 管脚添加内部上拉、下拉或者两者都不添加。选择 Pullnone 以禁用 M1 管脚上的上拉电阻器和下拉电阻器。
BITSTREAM.CONFIG.M2PIN Pullup Pullup、Pulldown 和 Pullnone 此设置用于向 M2 管脚添加内部上拉、下拉或者两者都不添加。选择 Pullnone 以禁用 M2 管脚上的上拉电阻器和下拉电阻器。
BITSTREAM.CONFIG.NEXT_CONFIG_ADDR <字符串> 此设置用于在 MultiBoot 设置(存储在 WBSTAR 寄存器中)中设置下一次配置的起始地址。
BITSTREAM.CONFIG.NEXT_CONFIG_REBOOT Enable Enable 和 Disable 设置为 Disable 时,将从 .bit 文件中移除 IPROG 命令。
BITSTREAM.CONFIG.SELECTMAPABORT Enable Enable 和 Disable 此设置用于启用或禁用 SelectMAP 模式“Abort”(异常中止)序列。如果禁用,则忽略器件管脚上的 Abort 序列。
BITSTREAM.CONFIG.CONFIGFALLBACK Enable Enable 和 Disable 当配置尝试失败时,启用或禁用默认比特流的加载。
BITSTREAM.CONFIG.PROGPIN Pullup Pullup 和 Pullnone 此设置用于向 PROGRAM_B 管脚添加内部上拉。Pullnone 设置则禁用上拉。配置 Pullup 后,上拉会影响管脚。
BITSTREAM.CONFIG.PUDC_B Pullup Pullup、Pulldown 和 Pullnone 此设置用于向 PUDC_B 管脚添加内部上拉、下拉或者两者都不添加。选择 Pullnone 以禁用 PUDC_B 管脚上的上拉电阻器和下拉电阻器。
BITSTREAM.CONFIG.RDWR_B_FCS_B Pullup Pullup、Pulldown 和 Pullnone 此设置用于向 RDWR_B_FCS_B 管脚添加内部上拉、下拉或者两者都不添加。选择 Pullnone 以禁用 RDWR_B_FCS_B 管脚上的上拉电阻器和下拉电阻器。
BITSTREAM.CONFIG.REVISIONSELECT 00 00、01、10 或 11 此设置用于在温态启动起始地址 (WBSTAR) 寄存器中为下一次温态启动指定 RS[1:0] 设置的内部值。
BITSTREAM.CONFIG.REVISIONSELECT_ TRISTATE Disable Disable 和 Enable

此设置用于通过在温态启动起始地址 (WBSTAR) 中设置相应选项来指定是否启用 RS[1:0] 三态。

RS[1:0] 管脚三态启用

0:启用 RS 三态

1:禁用 RS 三态

BITSTREAM.CONFIG.OVERTEMPSHUTDOWN Disable Disable 和 Enable 此设置用于在“System Monitor”(系统监控器)检测到温度超出可接受的最大工作温度时关闭器件。需为系统监控器设置外部电路才能使用该选项。
BITSTREAM.CONFIG.SPI_32BIT_ADDR No No 和 Yes 此设置启用 SPI 32 位地址样式,对于存储空间不小于 256 Mb 的 SPI 器件,此设置是必需的。
BITSTREAM.CONFIG.SPI_BUSWIDTH NONE NONE、1、2、4 和 8 针对来自第三方 SPI 闪存器件的“Master SPI”(主 SPI)配置,将 SPI 总线设置为“Dual (x2)”(双通道)或“Quad (x4)”(四通道)模式。
BITSTREAM.CONFIG.SPI_FALL_EDGE No No 和 Yes 此设置用于将 FPGA 设置为使用下降沿时钟进行 SPI 数据捕获。这样可改进时序裕度,并能够提升配置的时钟速率。
BITSTREAM.CONFIG.TCKPIN Pullup Pullup、Pulldown 和 Pullnone 此设置用于向 TCK 管脚添加上拉、下拉或两者都不添加,此管脚是 JTAG 测试时钟。Pullnone 设置显示与上拉和下拉之间都不存在任何连接。
BITSTREAM.CONFIG.TDIPIN Pullup Pullup、Pulldown 和 Pullnone 此设置用于向 TDI 管脚添加上拉、下拉或两者都不添加,此管脚是所有 JTAG 指令和 JTAG 寄存器的串行数据输入。Pullnone 设置显示与上拉和下拉之间都不存在任何连接。
BITSTREAM.CONFIG.TDOPIN Pullup Pullup、Pulldown 和 Pullnone 此设置用于向 TDO 管脚添加上拉、下拉或两者都不添加,此管脚是所有 JTAG 指令和数据寄存器的串行数据输出。Pullnone 设置显示与上拉和下拉之间都不存在任何连接。
BITSTREAM.CONFIG.TIMER_CFG     在配置模式下启用看门狗定时器,并设置值。该选项不能与 TIMER_USR 同时使用。
BITSTREAM.CONFIG.TIMER_USR     在配置模式下启用看门狗定时器,并设置值。该选项不能与 TIMER_CFG 同时使用。
BITSTREAM.CONFIG.TMSPIN Pullup Pullup、Pulldown 和 Pullnone 此设置用于向 TMS 管脚添加上拉、下拉或两者都不添加,此管脚是 TAP 控制器的模式输入信号。TAP 控制器可为 JTAG 提供控制逻辑。Pullnone 设置显示与上拉和下拉之间都不存在任何连接。
BITSTREAM.CONFIG.UNUSEDPIN Pulldown Pullup、Pulldown 和 Pullnone 此设置用于向未使用的 SelectIO™ 管脚 (IOB) 添加上拉、下拉或者两者都不添加。它对于专用配置管脚无效。专用配置管脚列表因架构而异。Pullnone 设置显示与上拉和下拉之间都不存在任何连接。
BITSTREAM.CONFIG.USERID 0xFFFFFFFF 0xFFFFFFFF 此设置用于识别实现的版本。您可在“User ID”(用户 ID)寄存器中添加最多 1 个含 8 个数字的十六进制字符串。
BITSTREAM.CONFIG.USR_ACCESS None、<8 个数字的十六进制字符串> 和 TIMESTAMP 此设置用于将 1 个含 8 个数字的十六进制字符串或时间戳写入 AXSS 配置寄存器。时间戳值的格式为 ddddd MMMM yyyyyy hhhhh mmmmmm ssssss:对应日、月、年(2000 年 = 00000)、小时、分钟、秒。FPGA 互连结构可通过 USR_ACCESS 原语直接访问此寄存器的内容。
BITSTREAM.CONFIG.INITSIGNALSERROR Enable Enable 和 Disable 设为“Enabled”(启用)后,如果检测到配置错误,则 INIT_B 管脚断言为“0”。
BITSTREAM.ENCRYPTION.ENCRYPT No No 和 Yes 加密比特流。
BITSTREAM.ENCRYPTION.DEBUGKDFKEYS No No 和 Yes 设为启用后,即可生成包含 KDF 模式下生成的所有密钥的调试文件。
BITSTREAM.ENCRYPTION.ENCRYPTKEYSELECT bbram bbram 和 efuse 此设置用于判断将使用的 AES 加密密钥的位置:密钥来自于电池供电式 RAM (BBRAM) 或 eFUSE 寄存器。仅当“Encrypt”选项设置为“True”时,该属性才可用。
BITSTREAM.ENCRYPTION.OBFUSCATEKEY Disable Disable 和 Enable 当 AES 密钥无读保护时,读取密钥会返回密钥的 CRC 散列,而不是实际密钥值。
BITSTREAM.ENCRYPTION.KEY0     Key0 用于为比特流加密设置 64 位 AES 加密密钥。要将此项设置为可选,请将此生成器留空以便选择随机数值。要使用该选项,必须首先将“Encrypt”设置为“Yes”。
BITSTREAM.ENCRYPTION.STARTIV0     用于设置 AES 初始矢量起始值。仅将该 128 位值的前 96 位用于初始化矢量。要使用该选项,必须首先将“Encrypt”设置为“Yes”。
BITSTREAM.ENCRYPTION.STARTIVOBFUSCATE     用于设置 128 位模糊初始矢量起始值。要使用该选项,必须首先将“Encrypt”设置为“Yes”。
BITSTREAM.ENCRYPTION.KDFFIXEDINPUT   可选 60 字节固定输入值,指定为 120 个数字的十六进制值。此 60 字节固定输入搭配 4 字节计数器即可充当 KDF 的虚拟随机函数 (PRF) 的 64 字节固定输入数据,用于生成 32 字节密钥输出 (KO)。如不指定此设置,则 write_bitstream 会使用 RAND_bytes 生成 60 字节虚拟随机固定输入值。
BITSTREAM.ENCRYPTION.KDFSEED   可选 32 字节 KDF 种子值,指定为 64 个数字的十六进制值。如不指定此设置,则 write_bitstream 会从输入 .nky 文件中取 Key0 值作为种子值。如果不指定此设置,并且不存在来自 NKY 文件的 Key0 输入,那么 write_bitstream 会通过 RAND_bytes 生成 32 字节虚拟随机种子值。
BITSTREAM.ENCRYPTION.KEYFILE     此设置用于指定输入加密文件的名称(含 .nky 文件扩展名)。要使用该选项,必须首先将“Encrypt”设置为“Yes”。
BITSTREAM.ENCRYPTION.KEYLIFE 32 4 到 2147483647 128 位加密块的数量,单一密钥应基于此类加密块并用于经 AES-GCM 身份验证的比特流。
BITSTREAM.ENCRYPTION.RSAKEYLIFEFRAMES 8 8 到 2147483647 在已指定使用 RSA 公钥进行身份验证的情况下,此设置用于指定应用于任意给定 AES-256 密钥的配置帧的数量。配置帧数为 8 等同于使用含 246 个加密块的密钥。
BITSTREAM.GENERAL.COMPRESS False True 和 False 比特流中的多帧写入功能用于减小比特流的大小,而不是减小比特文件的大小。使用 COMPRESS 并不保证比特流大小会缩小。
BITSTREAM.GENERAL.CRC Enable Enable 和 Disable

此设置用于控制比特流中循环冗余校验 (CRC) 值的生成。设为启用后,可根据比特流内容计算出唯一的 CRC 值。如果计算所得的 CRC 值与比特流中的 CRC 值不匹配,那么器件将无法进行配置。禁用 CRC 时,将在比特流中插入常量值以代替 CRC,且器件不会计算 CRC。

CRC 默认值为“Enable”,除非 BITSTREAM.ENCRYPTION.ENCRYPT 设为“Yes”,在此情况下禁用 CRC。

BITSTREAM.GENERAL.DEBUGBITSTREAM No No 和 Yes 此设置允许您创建调试比特流。调试比特流比标准比特流大得多。DebugBitstream 只能用于主串行配置和从串行配置。DebugBitstream 对于“Boundary Scan”(边界扫描)或者“Slave Parallel/SelectMAP”(从动并行/SelectMAP)无效。除了标准比特流外,调试比特流还可提供下列功能:写入同步字后,将 32 个 0 写入 LOUT 寄存器。单独加载每帧。于每帧后执行循环冗余校验 (CRC)。在每帧后,将帧地址写入 LOUT 寄存器。
BITSTREAM.GENERAL.PERFRAMECRC No No 和 Yes 在比特流中按固定间隔插入 CRC 值。这些值用于指示传入比特流的完整性,并且可在将配置数据加载到器件中之前标记错误(如 ICAP 的 INIT_B 管脚和 PRERROR 端口上所示)。虽然对于部分比特流而言,该属性设置为 Yes 最为合适,但它可将 CRC 值插入所有比特流,包括完整器件比特流。
BITSTREAM.GENERAL.SYSMONPOWERDOWN Disable Disable 和 Enable 设为启用后,即可支持器件将 SYSMON 下电,以节省功耗。建议此设置仅用于将 SYSMON 永久下电。
BITSTREAM.GENERAL.DISABLE_JTAG No No 和 Yes 此设置用于在完成配置后,禁用通过 JTAG 与 Boundary Scan (BSCAN) 块进行通信的功能。
BITSTREAM.GENERAL.JTAG_SYSMON Enable Enable、Disable 和 StatusOnly 此设置用于启用或禁用与 SYSMON 的 JTAG 连接。
BITSTREAM.READBACK.ICAP_SELECT Auto Auto、Top 和 Bottom 此设置用于选择顶部或底部 ICAP 端口。
BITSTREAM.READBACK.ACTIVERECONFIG No No 和 Yes 此设置用于在配置期间,阻止断言 GHIGH 和 GSR 有效。这是动态部分重配置增强功能所必需的设置。
BITSTREAM.READBACK.SECURITY None、Level1 和 Level2

此设置用于指定是否禁用回读和重配置。

针对 Security 指定 Level1 即禁用回读。

BITSTREAM.STARTUP.DONE_CYCLE 4 4、1、2、3、5 和 6 此设置用于选择激活 FPGA Done 信号的“Startup”(启动)阶段。当 DonePipe=Yes 时,则延迟转至“Done”(完成)状态。
BITSTREAM.STARTUP.GTS_CYCLE 5 5、1、2、3、4、6、Done 和 Keep 此设置用于选择 Startup 阶段,在所选阶段内将向 I/O 缓冲器释放内部三态控制。
BITSTREAM.STARTUP.GWE_CYCLE 6 6、1、2、3、4、5、Done 和 Keep 此设置用于选择 Startup 阶段,在所选阶段内将向触发器、LUT RAM 和移位寄存器断言内部写入使能有效。GWE_cycle 还会启用 BRAMS。在进入 Startup 阶段前,块 RAM 写入和读取都处于禁用状态。
BITSTREAM.STARTUP.LCK_CYCLE NoWait NoWait、0、1、2、3、4、5 和 6 此设置用于选择 Startup 阶段,在所选阶段内将等待至 MMCM/PLL 锁定为止。如果选择 NoWait,则 Startup 顺序不会等待至 MMCM/PLL 锁定。
BITSTREAM.STARTUP.MATCH_CYCLE Auto Auto、NoWait、0、1、2、3、4、5 和 6

此设置用于指定在 Startup 周期内停滞,直至数控阻抗 (DCI) 匹配信号断言有效为止。DCI 匹配不会在 Match_cycle 上开始。Startup 序列会在此周期内等待至 DCI 匹配为止。鉴于判定 DCI 匹配所需时间过程中涉及多个变量,因此在任意给定系统中,完成 Startup 序列所需的 CCLK 周期数不尽相同。理想情况下,配置解决方案应持续驱动 CCLK 直至 DONE 转至“High”(高电平)为止。

当指定的设置为“Auto”(自动)时,write_bitstream 会搜索设计中是否包含任意 DCI I/O 标准。如果存在 DCI 标准,write_bitstream 会使用 BITSTREAM.STARTUP.MATCH_CYCLE=2。否则,write_bitstream 会使用 BITSTREAM.STARTUP.MATCH_CYCLE=NoWait。