UltraScale 比特流设置 - 2023.2 简体中文

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

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

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

表 1. UltraScale 比特流设置
设置 默认值 可能的值 描述
BITSTREAM.AUTHENTICATION.AUTHENTICATE No Yes 和 No 此设置用于指示是否使用 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 1 Pullup Pullup 和 Pullnone 此设置用于向 Cclk 管脚添加内部上拉。Pullnone 设置则禁用上拉。
BITSTREAM.CONFIG.CONFIGFALLBACK Enable Disable 和 Enable 当配置尝试失败时,启用或禁用默认比特流的加载。
BITSTREAM.CONFIG.CONFIGRATE 3 3、6、9、12、22、33、40、50、57、69、82、87、90、110、115、130 和 148 在主模式下配置时,使用内部振荡器来生成配置时钟 Cclk。该选项用于选择 Cclk 的速率。
BITSTREAM.CONFIG.D00_MOSI 1 Pullup Pullup、Pulldown 和 Pullnone 此设置用于向 D00_MOSI 管脚添加内部上拉、下拉或者两者都不添加。选择 Pullnone 以禁用 D00_MOSI 管脚上的上拉电阻器和下拉电阻器。
BITSTREAM.CONFIG.D01_DIN 1 Pullup Pullup、Pulldown 和 Pullnone 此设置用于向 D01_DIN 管脚添加内部上拉、下拉或者两者都不添加。选择 Pullnone 以禁用 D01_DIN 管脚上的上拉电阻器和下拉电阻器。
BITSTREAM.CONFIG.D02 1 Pullup Pullup、Pulldown 和 Pullnone 此设置用于向 D02 管脚添加内部上拉、下拉或者两者都不添加。选择 Pullnone 以禁用 D02 管脚上的上拉电阻器和下拉电阻器。
BITSTREAM.CONFIG.D03 1 Pullup Pullup、Pulldown 和 Pullnone 此设置用于向 D03 管脚添加内部上拉、下拉或者两者都不添加。选择 Pullnone 以禁用 D03 管脚上的上拉电阻器和下拉电阻器。
BITSTREAM.CONFIG.DCIUPDATEMODE AsRequired AsRequired、Continuous 和 Quiet 此设置用于控制数控阻抗电路尝试对 DCI IOSTANDARD 执行阻抗匹配更新的频率。
BITSTREAM.CONFIG.DONEPIN 1 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.CONFIG.INITPIN 1 Pullup Pullup 和 Pullnone 此设置用于指定是要将 Pullup 电阻器添加到 INIT 管脚,还是保留 INIT 管脚处于浮动状态。
BITSTREAM.CONFIG.INITSIGNALSERROR Enable Enable 和 Disable 设为“Enabled”(启用)后,如果检测到配置错误,则 INIT_B 管脚断言为“0”。
BITSTREAM.CONFIG.M0PIN 1 Pullup Pullup、Pulldown 和 Pullnone 此设置用于向 M0 管脚添加内部上拉、下拉或者两者都不添加。选择 Pullnone 以禁用 M0 管脚上的上拉电阻器和下拉电阻器。
BITSTREAM.CONFIG.M1PIN 1 Pullup Pullup、Pulldown 和 Pullnone 此设置用于向 M1 管脚添加内部上拉、下拉或者两者都不添加。选择 Pullnone 以禁用 M1 管脚上的上拉电阻器和下拉电阻器。
BITSTREAM.CONFIG.M2PIN 1 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.OVERTEMPSHUTDOWN Disable Disable 和 Enable 此设置用于在“System Monitor”(系统监控器)检测到温度超出可接受的最大工作温度时关闭器件。需为系统监控器设置外部电路才能使用该选项。
BITSTREAM.CONFIG.PERSIST No No 和 Yes

此设置用于在完成配置后,保留对多功能配置管脚的配置逻辑访问权。此设置主要用于在配置后保留 SelectMAP 端口用于回读访问,但也可配合任意配置模式使用。对于 JTAG 配置则无需保留 (PERSIST),因为 JTAG 端口是专用端口且始终可用。PERSIST 和 ICAP 不能同时使用。

请参阅用户指南以获取相关说明。针对使用 SelectMAP 配置管脚的“Readback”(回读)和“Partial Reconfiguration”(部分重配置)操作,需使用 PERSIST,并且使用 SelectMAP 模式或串行模式时,也应使用 PERSIST。

BITSTREAM.CONFIG.PROGPIN 1 Pullup Pullup 和 Pullnone 此设置用于向 PROGRAM_B 管脚添加内部上拉。Pullnone 设置则禁用上拉。配置 Pullup 后,上拉会影响管脚。
BITSTREAM.CONFIG.PUDC_B 1 Pullup Pullup、Pulldown 和 Pullnone 此设置用于向 PUDC_B 管脚添加内部上拉、下拉或者两者都不添加。选择 Pullnone 以禁用 PUDC_B 管脚上的上拉电阻器和下拉电阻器。
BITSTREAM.CONFIG.RDWR_B_FCS_B 1 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.SELECTMAPABORT Enable Enable 和 Disable 此设置用于启用或禁用 SelectMAP 模式“Abort”(异常中止)序列。如果禁用,则忽略器件管脚上的 Abort 序列。
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 1 Pullup Pullup、Pulldown 和 Pullnone 此设置用于向 TCK 管脚添加上拉、下拉或两者都不添加,此管脚是 JTAG 测试时钟。Pullnone 设置显示与上拉和下拉之间都不存在任何连接。
BITSTREAM.CONFIG.TDIPIN 1 Pullup Pullup、Pulldown 和 Pullnone 此设置用于向 TDI 管脚添加上拉、下拉或两者都不添加,此管脚是所有 JTAG 指令和 JTAG 寄存器的串行数据输入。Pullnone 设置显示与上拉和下拉之间都不存在任何连接。
BITSTREAM.CONFIG.TDOPIN 1 Pullup Pullup、Pulldown 和 Pullnone 此设置用于向 TDO 管脚添加上拉、下拉或两者都不添加,此管脚是所有 JTAG 指令和数据寄存器的串行数据输出。Pullnone 设置显示与上拉和下拉之间都不存在任何连接。
BITSTREAM.CONFIG.TIMER_CFG <8 个数字的十六进制字符串> 在配置模式下启用看门狗定时器,并设置值。该选项不能与 TIMER_USR 同时使用。
BITSTREAM.CONFIG.TIMER_USR 0x00000000 <8 个数字的十六进制字符串> 在配置模式下启用看门狗定时器,并设置值。该选项不能与 TIMER_CFG 同时使用。
BITSTREAM.CONFIG.TMSPIN 1 Pullup Pullup、Pulldown 和 Pullnone 此设置用于向 TMS 管脚添加上拉、下拉或两者都不添加,此管脚是 TAP 控制器的模式输入信号。TAP 控制器可为 JTAG 提供控制逻辑。Pullnone 设置显示与上拉和下拉之间都不存在任何连接。
BITSTREAM.CONFIG.UNUSEDPIN Pulldown Pulldown、Pullup 和 Pullnone 此设置用于向未使用的 SelectIO 管脚 (IOB) 添加上拉、下拉或者两者都不添加。它对于专用配置管脚无效。专用配置管脚列表因架构而异。Pullnone 设置显示与上拉和下拉之间都不存在任何连接。
BITSTREAM.CONFIG.USERID 0xFFFFFFFF <8 个数字的十六进制字符串> 此设置用于识别实现的版本。您可在“User ID”(用户 ID)寄存器中添加最多 1 个含 8 个数字的十六进制字符串。
BITSTREAM.CONFIG.USR_ACCESS <8 个数字的十六进制字符串> 和 TIMESTAMP 此设置用于将 1 个含 8 个数字的十六进制字符串或时间戳写入 AXSS 配置寄存器。时间戳值的格式为 ddddd MMMM yyyyyy hhhhh mmmmmm ssssss:对应日、月、年(2000 年 = 00000)、小时、分钟、秒。FPGA 互连结构可通过 USR_ACCESS 原语直接访问此寄存器的内容。
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.FAMILY_KEY_FILEPATH 指向 familyKey.cfg 的路径

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

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

BITSTREAM.ENCRYPTION.KEY0 <十六进制字符串> Key0 用于为比特流加密设置 AES 加密密钥。要使用该选项,必须首先将“Encrypt”设置为“Yes”。
BITSTREAM.ENCRYPTION.KEYFILE <字符串> 此设置用于指定输入加密文件的名称(含 .nky 文件扩展名)。要使用该选项,必须首先将“Encrypt”设置为“Yes”。
BITSTREAM.ENCRYPTION.KEYLIFE 32 4 到 2147483647

128 位加密块的数量,单一密钥应基于此类加密块并用于经 AES-GCM 身份验证的比特流。

将此项设为 0 即可禁用这些选项

BITSTREAM.ENCRYPTION.RSAKEYLIFEFRAMES 8 8 到 2147483647

在已指定使用 RSA 公钥进行身份验证的情况下,此设置用于指定应用于任意给定 AES-256 密钥的配置帧的数量。配置帧数为 8 等同于使用含 246 个加密块的密钥。

将此项设为 0 即可禁用这些选项。

BITSTREAM.ENCRYPTION.OBFUSCATEKEY Disable Enable 和 Disable 创建比特流,其中用于加密比特流的密钥将先转换为模糊密钥,然后再写入 eFUSE 或电池供电式 RAM (BBR)。这样即可允许用户为器件编程器提供模糊密钥,而不是原始客户密钥。器件编程器可将模糊密钥写入 eFUSE 或 BBR 中,并使用所选存储位置中的 obfuscated-key 标志将其标记为模糊密钥。
BITSTREAM.ENCRYPTION.STARTIV0     此设置用于指定第一条 AES-GCM 消息中的初始 GCM 计数值的初始化矢量。128 位十六进制值。
BITSTREAM.ENCRYPTION.STARTIVOBFUSCATE     用于设置 AES 初始矢量起始值。仅将该 128 位值的前 96 位用于初始化矢量。要使用该选项,必须首先将“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.GENERAL.COMPRESS False True 和 False 比特流中的多帧写入功能用于减小比特流的大小,而不是用于减小比特流 (.bit) 文件的大小。使用 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.DISABLE_JTAG No No 和 Yes 此设置用于在完成配置后,禁用通过 JTAG 与 Boundary Scan (BSCAN) 块进行通信的功能。
BITSTREAM.GENERAL.PERFRAMECRC No No 和 Yes 在比特流中按固定间隔插入 CRC 值。这些值用于指示传入比特流的完整性,并且可在将配置数据加载到器件中之前标记错误(如 ICAP 的 INIT_B 管脚和 PRERROR 端口上所示)。虽然对于部分比特流而言,该属性设置为 Yes 最为合适,但它可将 CRC 值插入所有比特流,包括完整器件比特流。
BITSTREAM.GENERAL.JTAG_SYSMON Enable Enable、Disable 和 StatusOnly 此设置用于启用或禁用与 SYSMON 的 JTAG 连接。
BITSTREAM.GENERAL.SYSMONPOWERDOWN Disable Disable 和 Enable 设为启用后,即可支持器件将 SYSMON 下电,以节省功耗。建议此设置仅用于将 SYSMON 永久下电。
BITSTREAM.MMCM.BANDWIDTH DEFAULT POSTCRC 通过将 BANDWIDTH 设置从 OPTIMIZED 更改为 POSTCRC 来更改所有 MMCM。
BITSTREAM.PLL.BANDWIDTH DEFAULT POSTCRC 通过将 BANDWIDTH 设置从 OPTIMIZED 更改为 POSTCRC 来更改所有 PLL。
BITSTREAM.READBACK.ACTIVERECONFIG No No 和 Yes 此设置用于在配置期间,阻止断言 GHIGH 和 GSR 有效。这是动态部分重配置增强功能所必需的设置。
BITSTREAM.READBACK.ICAP_SELECT Auto Auto、Top 和 Bottom 此设置用于选择顶部或底部 ICAP 端口。
BITSTREAM.READBACK.READBACK False True 和 False 此设置支持您通过创建必要的回读文件来执行回读功能。
BITSTREAM.READBACK.SECURITY None、Level1 和 Level2

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

针对 Security 指定 Level1 即禁用回读。针对 Security 指定 Level2 即禁用回读和重配置。

BITSTREAM.STARTUP.DONE_CYCLE 4 4、1、2、3、5、6 和 Keep 此设置用于选择激活 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 阶段,在所选阶段内将等待至 DLL/DCM/PLL 锁定为止。如果选择 NoWait,则 Startup 顺序不会等待至 DLL/DCM/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。

  1. 对于专用配置管脚,AMD 建议您使用默认比特流设置。