7 系列比特流设置 - 2023.2 简体中文

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

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

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

注释: BPI 的比特流设置对于 Spartan™ 7 器件无效。
表 1. 7 系列比特流设置
设置 默认值 可能的值 描述
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.CONFIGFALLBACK Disable Disable 和 Enable

当配置尝试失败时,启用或禁用默认比特流的加载。

如果所使用的多重启动 (MultiBoot) 解决方案设置为 BITSTREAM.CONFIG.NEXT_CONFIG_ADDR,则启用 BITSTREAM.CONFIG.FALLBACK 设置。

Virtex 7 HT 器件中不支持回退多重启动。

BITSTREAM.CONFIG.CONFIGRATE 3 3、6、9、12、16、22、26、33、40、50 和 66 在主模式下配置时,使用内部振荡器来生成配置时钟 Cclk。该选项用于选择 Cclk 的速率。
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-4 和 Div-8 此设置允许使用外部时钟作为所有主模式的配置时钟。此外部时钟必须连接到两用 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.PERSIST No No 和 Yes

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

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

BITSTREAM.CONFIG.REVISIONSELECT 00 00、01、10 或 11 此设置用于在温态启动起始地址 (WBSTAR) 寄存器中为下一次温态启动指定 RS[1:0] 设置的内部值。
BITSTREAM.CONFIG.REVISIONSELECT_ TRISTATE Disable Disable 和 Enable

此设置用于通过在温态启动起始地址 (WBSTAR) 中设置相应选项来指定是否启用 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 针对来自第三方 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 None、<8 个数字的十六进制字符串> 和 TIMESTAMP 此设置用于将 1 个含 8 个数字的十六进制字符串或时间戳写入 AXSS 配置寄存器。时间戳值的格式为 ddddd MMMM yyyyyy hhhhh mmmmmm ssssss:对应日、月、年(2000 年 = 00000)、小时、分钟、秒。FPGA 互连结构可通过 USR_ACCESS 原语直接访问此寄存器的内容。
BITSTREAM.ENCRYPTION.ENCRYPT No No 和 Yes 加密比特流。
BITSTREAM.ENCRYPTION.ENCRYPTKEYSELECT bbram bbram 和 efuse

此设置用于判断将使用的 AES 加密密钥的位置:密钥来自于电池供电式 RAM (BBRAM) 或 eFUSE 寄存器。

仅当“Encrypt”选项设置为“True”时,该属性才可用。

BITSTREAM.ENCRYPTION.HKEY <十六进制字符串>

HKey 用于为比特流加密设置 HMAC 身份验证密钥。7 系列器件具有片上比特流密钥式散列消息验证码 (HMAC) 算法,此算法在硬件中实现,以在 AES 解密基础上提供额外的安全性。这些器件需要 AES 和 HMAC 密钥才能对比特流执行加载、修改、拦截或克隆。

要使用该选项,必须首先将“Encrypt”设置为“Yes”。

BITSTREAM.ENCRYPTION.KEY0 <十六进制字符串> Key0 用于为比特流加密设置 AES 加密密钥。要使用该选项,必须首先将“Encrypt”设置为“Yes”。
BITSTREAM.ENCRYPTION.KEYFILE <字符串> 此设置用于指定输入加密文件的名称(含 .nky 文件扩展名)。要使用该选项,必须首先将“Encrypt”设置为“Yes”。
BITSTREAM.ENCRYPTION.STARTCBC <32 位十六进制字符串> 此设置用于设置起始密码分组链接 (CBC) 值。
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.JTAG_XADC Enable Enable、Disable 和 StatusOnly 此设置用于启用或禁用与 XADC 的 JTAG 连接。
BITSTREAM.GENERAL.PERFRAMECRC No No 和 Yes 在比特流中按固定间隔插入 CRC 值。这些值用于指示传入比特流的完整性,并且可在将配置数据加载到器件中之前标记错误(如 ICAP 的 INIT_B 管脚和 PRERROR 端口上所示)。虽然对于部分比特流而言,该属性设置为 Yes 最为合适,但它可将 CRC 值插入所有比特流,包括完整器件比特流。
BITSTREAM.GENERAL.XADCENHANCEDLINEARITY Off Off 和 On 此设置用于禁用部分内置数字校准功能,因为此类设置导致 INL 看上去比实际模拟性能更糟。
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.READBACK.XADCPARTIALRECONFIG Disable Disable 和 Enable 禁用时,XADC 可在部分重配置期间持续工作。设为启用时,XADC 在部分重配置期间可在安全 (Safe) 模式下工作。
BITSTREAM.STARTUP.DONEPIPE Yes Yes 和 No 此设置用于告知 FPGA,等待 CFG_DONE (DONE) 管脚转至高电平,并等待首个时钟沿出现后,再转至 Done(完成)状态。
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。

BITSTREAM.STARTUP.STARTUPCLK Cclk Cclk、UserClk 和 JtagClk

器件配置后,StartupClk 序列可同步至 Cclk、用户时钟或 JTAG 时钟。默认值为 Cclk。

Cclk 允许您同步到 FPGA 器件中提供的内部时钟。

UserClk 允许您同步到用户定义的信号,此信号连接到 STARTUP 符号的 CLK 管脚。

JtagClk 允许您同步到 JTAG 提供的时钟。此时钟会对为 JTAG 提供控制逻辑的 TAP 控制器进行排序。

Spartan7 7s6 / 7s15 器件不支持 STARTUPE2.CLK (UserClk) 用户启动时钟管脚。

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