跳到主要内容
极客日志极客日志
首页博客AI提示词GitHub精选代理工具
|注册
博客列表

目录

  1. 1. 目的
  2. 2. MT25QL256 SPI Flash 描述
  3. 2.1. 功能特性
  4. 2.2. 信号描述
  5. 2.3. 状态寄存器
  6. 2.4. 标志状态寄存器
  7. 2.5. 内部配置寄存器
  8. 2.6. 非易失性配置寄存器
  9. 2.7. 易失性配置寄存器
  10. 2.8. 命令定义(部分)
  11. 3. 命令操作
  12. 3.1. READ ID 操作(只讲述 READ ID(9E/9F)操作)
  13. 3.2. 读取存储器操作(只讲述 READ (03h)、FAST READ (0Bh)、4-BYTE READ (13h)、4-BYTE FAST READ (0Ch) 操作)
  14. 3.3. 使能/禁用写入操作
  15. 3.4. 读取寄存器操作(只讲述 READ STATUS REGISTER (05h) 和 READ FLAG STATUS REGISTER (70h))
  16. 3.5. 写入寄存器操作
  17. 3.6. 编程操作(只讲述 PAGE PROGRAM (02h) 和 4-BYTE PAGE PROGRAM (12h))
  18. 3.7. 擦除操作
  19. 3.8. 寻址模式操作
  20. 4. 结论
  21. 5. STARTUPE2 原语
Python

基于 Vivado 的 FPGA 比特流在线更新升级

目的 基于 Vivado 平台,通过对 MT25QL256 SPI Flash 进行在线烧写,实现 Xilinx 7K325t FPGA 程序在线更新升级。 MT25QL256 SPI Flash 描述 2.1. 功能特性 SPI 兼容串行总线接口 单速和双速传输 (STR/DTR) 时钟频率 STR 模式下所有协议最高 133 MHz DTR 模式下所有协议最高 90 MHz 双/四 I/O 命…

性能调优发布于 2026/4/6更新于 2026/4/1298K 浏览

1. 目的

基于 Vivado 平台,通过对 MT25QL256 SPI Flash 进行在线烧写,实现 Xilinx 7K325t FPGA 程序在线更新升级。

2. MT25QL256 SPI Flash 描述

2.1. 功能特性

  • SPI 兼容串行总线接口
  • 单速和双速传输 (STR/DTR)
  • 时钟频率
    • STR 模式下所有协议最高 133 MHz
    • DTR 模式下所有协议最高 90 MHz
  • 双/四 I/O 命令将吞吐量提高到 90 MB/s
  • 支持协议:Extended, Dual and Quad I/O both STR and DTR
  • 执行中编程 (XIP)
  • 编程/擦除暂停操作
  • 易失性和非易失性配置设置
  • 软件复位
  • 针对特定产品型号的额外复位引脚
  • 3 字节和 4 字节寻址模式 - 允许超过 128Mb 的内存访问
  • 主存储器外的专用 64-byte OTP 区域
    • 可读且用户可锁定
    • 使用 PROGRAM OTP 命令永久锁定
  • 擦除功能
    • 整片擦除 (Bulk erase)
    • 扇区擦除 64KB
    • 子扇区擦除 4KB, 32KB
  • 擦除性能:400KB/s(64KB 扇区)
  • 擦除性能:80KB/s(4KB 子扇区)
  • 编程性能:2MB/s
  • 安全性和写保护
    • 每个 64KB 扇区的易失性和非易失性锁定和软件写保护
    • 非易失性配置锁定
    • 密码保护
    • 硬件写保护:非易失性位 (BP[3:0] and TB) 确定保护区的大小
    • 上电期间的编程/擦除保护
    • CRC 检测对原始数据的意外更改
  • 电子签名
    • JEDEC 标准 3 字节签名(BA19h)
    • 扩展设备 ID:另外两个字节用于标识设备的生产厂商选项
  • JESD47H-compliant
    • 每个扇区最少可擦除 100,000 次
    • 数据保留:20 年(典型)
  • 2.2. 信号描述

    SymbolTypeDescription
    S#InputChip select:当 S#被驱动为高时,设备将进入待机模式,除非内部 PROGRAM、ERASE 或 WRITE STATUS REGISTER 周期正在进行中。所有其他输入引脚被忽略,输出引脚是高阻态的。然而,对于提供的专用配置引脚 RESET#,即使在 S#为高时,RESET#输入引脚仍保持活跃状态。驱动 S#为低启用设备,将其置于活跃模式。在通电后,在任何 command 开始之前,都需要在 S#上有一个下降沿。
    CInputClock:提供串行接口的时序。Command 输入锁存在时钟的上升沿上。在 STR command 或 protocol 中,address and data 输入锁存在时钟的上升沿,而 data 输出在时钟的下降沿。在 DTR command 或 protocol 中,address and data 输入锁存在时钟的两个沿,data 输出在时钟的两个沿。
    RESET#InputRESET#:当 RESET#被驱动为低电平时,设备复位,所有输出为高阻。当内部进行 WRITE, PROGRAM, or ERASE 操作时,如果 RESET#驱动为低,data 可能丢失。使用 nonvolatile configuration register bit4 或者 enhanced volatile config bit4 禁用 RESET#功能。对于与 RESET#共享 DQ3 引脚的引脚配置,在 QIO-SPI 模式下禁用 RESET#功能。
    HOLD#InputHOLD: 暂停与设备的串行通信,而不取消选择或重置设备。所有输出为高阻,输入被忽略。使用 nonvolatile configuration register bit4 或者 enhanced volatile config bit4 禁用 HOLD#功能。对于与 HOLD#共享 DQ3 引脚的引脚配置,在 QIO-SPI 模式或启用 DTR 操作时禁用 HOLD#功能。
    W#InputWrite protect: 冻结 status register 和 status register 的 enable/disable bit。当 status register 的 enable/disable 位设置为 1 并且 W#信号被驱动为 LOW 时,status register 的 nonvolatile bit 变为只读并且 WRITE STATUS REGISTER 将不执行操作。在使用 QOFR 和 QIOFR 指令的 extended-SPI 协议期间,以及使用 QIO-SPI 协议时,该引脚作为 DQ2 的输入/输出。这个信号没有内部上拉,它不能保持浮动,必须被驱动,即使没有使用 W# /DQ2 功能
    DQ[3:0]I/OSerial I/O: 双向 DQ 信号传输 address, data, and command 信息,在 extended I/O 协议(XIO-SPI)中使用 legacy(x1)SPI 命令时,DQ0 是输入,DQ1 是输出。不使用 DQ[3:2]。当在 XIO-SPI 中使用 dual commands 或在 DIO-SPI 中使用 dual commands 时,DQ[1:0] 是 I/O。不使用 DQ[3:2]。当在 XIO-SPI 中使用 quad commands 或在 QIO -SPI 中使用 quad commands 时,DQ[3:0] 时 I/O。

    2.3. 状态寄存器

    状态寄存器 bits 可以通过'READ STATUS REGISTER'命令或'WRITE STATUS REGISTER'命令进行读取或写入操作。当 status register 的 enable/ disable 位(bit 7)设置为 1,W#被驱动为低时,status register 的 nonvolatile bits 变为只读,WRITE STATUS REGISTER 操作将不能执行。退出这种硬件保护模式的唯一方法是驱动 W#为高。

    BitNameSettingsDescriptionNotes
    7Status register write enable/disable0 = Enabled(Default) 1 = DisabledNonvolatile control bit: 与 W#一起使用,用于启用或禁用对状态寄存器的写入。
    5Top/bottom0 = Top (Default) 1 = BottomNonvolatile control bit: 确定由块保护位定义的受保护内存区域是从内存数组的顶部还是底部开始。
    6,4:2BP[3:0]See Protected Area tablesNonvolatile control bit: 定义了受软件保护以防编程或擦除操作的存储器。当一个或多个块保护位被设置为 1 时,指定的存储器区域将受到保护,防止编程和擦除操作。1
    1Write enable latch0 = Clear (Default) 1 = SetVolatile control bit: 设备上电时此位被清除,以防止无意的 WRITE、PROGRAM 或 ERASE 操作,要使能这些操作,必须先执行 WRITE ENABLE 操作来设置该位。
    0Write in progress0 = Ready (Default) 1 = BusyVolatile control bit: 指示以下命令是否正在执行:WRITE STATUS REGISTER, WRITE NONVOLATILE CONFIGURATION REGISTER, PROGRAM, ERASE2

    2.4. 标志状态寄存器

    Flag status register bits 通过 READ FLAG STATUS REGISTER 命令来读取。所有 bits 都是易失的,上电后复位为零。

    Status bits 由内部控制器自动设置和复位。Error bits 必须通过 CLEAR STATUS REGISTER 命令清除。

    BitNameSettingsDescription
    7Program or erase controller0 = Busy 1 = ReadyStatus bit: 指示是否有以下命令正在执行:WRITE STATUS REGISTER, WRITE NONVOLATILE CONFIGURATION REGISTER, PROGRAM, ERASE
    6Erase suspend0 = Clear 1 = SuspendStatus bit: 指示 ERASE 操作是否已经挂起或即将挂起。
    5Erase0 = Clear 1 = Failure or protection errorError bit: 指示 ERASE 操作是成功还是失败。
    4Program0 = Clear 1 = Failure or protection errorError bit: 指示 PROGRAM 操作是成功还是失败。它还指示 CRC 检查是否成功或失败。
    3Reserved0Reserved
    2Program suspend0 = Clear 1 = SuspendStatus bit: 指示 PROGRAM 操作是否已挂起或即将挂起。
    1Protection0 = Clear 1 = Failure or protection errorError bit: 指示是否有 ERASE 或 PROGRAM 操作试图修改受保护的阵列扇区,或者是否有 PROGRAM 操作试图访问锁定的 OTP 空间。
    0Addressing0 = 3-byte addressing 1 = 4-byte addressingStatus bit: 指示启用 3-byte address mode 还是 4-byte address mode。

    2.5. 内部配置寄存器

    内存配置是由用户不能直接访问的 internal configuration register 来设置的。

    用户可以在上电时使用 WRITE NONVOLATILE CONFIGURATION REGISTER 来更改默认配置,来自 nonvolatile configuration register 的信息在上电期间或复位后覆盖 internal configuration register。

    用户可以通过 WRITE VOLATILE CONFIGURATION REGISTER or the WRITE ENHANCED VOLATILE CONFIGURATION REGISTER commands 更改配置,在 WRITE 命令完成后,来自 volatile configuration register 的信息会立即覆盖 internal configuration register。

    文章配图

    2.6. 非易失性配置寄存器

    这个寄存器通过 READ NONVOLATILE CONFIGURATION REGISTER and the WRITE NONVOLATILE CONFIGURATION REGISTER commands 分别控制读写。在上电期间或重置后执行寄存器下载,覆盖决定设备行为的 internal configuration register 配置。

    文章配图

    文章配图

    Note:

    1. 周期数必须设置为与时钟频率一致,时钟频率根据 FAST READ 命令的类型而不同(See Supported Clock Frequencies table)。工作频率的 dummy clock 周期不足会导致内存读取错误数据。

    2.7. 易失性配置寄存器

    这个寄存器读写分别通过 READ VOLATILE CONFIGURATION REGISTER and the WRITE VOLATILE CONFIGURATION REGISTER commands,在这些命令之后执行寄存器下载,覆盖决定设备内存行为的 internal configuration register 配置。

    文章配图

    Note:

    1. 周期数必须设置为与时钟频率一致,时钟频率根据 FAST READ 命令的类型而不同(See Supported Clock Frequencies table)。工作频率的 dummy clock 周期不足会导致内存读取错误数据。

    2. See the Sequence of Bytes During Wrap table

    文章配图

    2.8. 命令定义(部分)

    文章配图

    文章配图

    文章配图

    文章配图

    Note:

    1. Extended SPI 协议是一种具有附加 command 的 standard SPI 协议,这些附加 command 扩展了功能,并使能够在多个 DQn 线路上进行地址或数据传输。

    2. command code 会根据 standard, dual, or quad 协议分别在 DQn = 1、2 或 4 的几条线上进行传输。然而,一个 command 也可能不受协议限制地在多条 DQn 线上同时传输 address and data。协议列显示了指令使用多少条 DQn 线来传输 command、address and data,如以下示例所示:command - address - data = 1 - 1 - 1,或 1 - 2 - 2,或 2 - 4 - 4,等等。

    3. 出厂时所需的虚拟时钟周期数。用户可以通过 nonvolatile configuration register and the volatile configuration register 修改 dummy clock 周期数。

    4. 执行该操作前,必须先下发 WRITE ENABLE command。

    3. 命令操作

    由描述内容'3-byte and 4-byte address modes-允许超过 128Mb 的内存访问'可知,超过 128Mb 的内存访问需要使用 4-byte address 模式,由于我们使用的是 256Mb 内存的 flash,那么要进行全部内存访问,就要将使用 4-byte address 模式。通过 Command Definitions 来看,在 4-byte address 模式下有专属的 command。

    为了简单快捷,我们选定 Extended SPI-STR 协议来实现功能。那这些 command 是如何使用的呢?

    3.1. READ ID 操作(只讲述 READ ID(9E/9F)操作)

    文章配图

    为了发起命令,S#被驱动为 LOW,command code 被输入到 DQn 上。当 S#被驱动为 HIGH 时,设备进入待机状态。在数据输出期间的任何时间,S#驱动为 HIGH 都会终止操作。

    输出为 Device ID Data tables 中的信息,如果命令启动时正在进行 ERASE 或 PROGRAM 周期,则该命令不被解码,也不影响正在进行的命令周期。

    下图为 Device ID Data tables,由表可知可读取的 ID 信息最大为 20 bytes。我们一般只需读取前 3 个 byte 来确定 Device ID。

    文章配图

    由下图可知,MT25QL256 SPI flash 的 Device ID 应该为 24'h20BA19。

    文章配图

    3.2. 读取存储器操作(只讲述 READ (03h)、FAST READ (0Bh)、4-BYTE READ (13h)、4-BYTE FAST READ (0Ch) 操作)

    为了发起命令,S#被驱动为 LOW,command code 被输入到 DQn 上。然后在 DQn 上输入 address。在数据输出期间的任何时间,S#驱动为 HIGH 都会终止操作。

    Operation NameDescription/Conditions
    READ (03h)设备支持 3-byte address(默认),在 address 周期中输入 A[23:0]。在执行任何 READ command 之后,该设备将从选定的地址输出数据。到达边界后,设备将重新开始读取。在时钟上升沿期间,每个地址位被锁存。所读取的字节可以位于任何位置,而且地址会随着每次数据字节的输出而自动递增至下一个地址;因此,只需一个指令即可读取整个芯片的数据。FAST READ 可以在更高的频率(fC)下工作。
    FAST READ (0Bh)
    Operation NameDescription/Conditions
    4-BYTE READ (13h)READ MEMORY 操作可以扩展到 4-byte address 范围,在地址周期内输入 [A31:0]。选择 3-byte address 或 4-byte address 的地址范围有两种方式:通过 nonvolatile configuration register 或者通过 ENABLE 4-BYTE ADDRESS MODE/EXIT 4-BYTE ADDRESS MODE commands。在时钟上升沿期间,每个地址位被锁存。所读取的字节可以位于任何位置,而且地址会随着每次数据字节的输出而自动递增至下一个地址;因此,只需一个指令即可读取整个芯片的数据。FAST READ 可以在更高的频率(fC)下工作。
    4-BYTE FAST READ (0Ch)

    文章配图

    文章配图

    由以上内容可知,READ 和 FAST READ 区别在于 FAST READ 可以用更高的速率读取数据,而且在读取的过程中需要 Dummy cycles。

    由下表得知,在 STR 协议下 READ 最快速率是 54MHz。

    文章配图

    根据下表,结合在 Command Definitions 中的 FAST READ command code 和 Note5 得知,flash 芯片出厂默认的 Dummy cycles 为 8,FAST READ 最快速率达到 133MHz。在 Command Definitions 的 Note5 中得知,nonvolatile configuration register 和 volatile configuration register 可以修改 dummy clock 周期数。

    文章配图

    3.3. 使能/禁用写入操作

    为了发起命令,S#被驱动为低电平并保持低电平,直到 command code 的第 8 bit 被锁存,之后它必须被驱动为高电平。对于 extended spi、dual spi 和 quad spi 协议,分别在 DQ0、DQ[1:0] 和 DQ[3:0] 上输入 command code。如果在 command code 锁存之后 S#没有被驱动为 HIGH,则命令不执行,flag status register error bits 不设置,并且 Write enable latch 保持为其默认设置 0,提供对错误数据修改的保护。

    Operation NameDescription/Conditions
    WRITE ENABLE (06h)在每个 PROGRAM,ERASE 和 WRITE 命令之前设置 Write enable latch bit。
    WRITE DISABLE (04h)清除 Write enable latch bit。在保护错误的情况下,WRITE DISABLE 不会清除该位。相反,必须发出一个 CLEAR FLAG STATUS REGISTER 命令来清除两个标志。

    文章配图

    3.4. 读取寄存器操作(只讲述 READ STATUS REGISTER (05h) 和 READ FLAG STATUS REGISTER (70h))

    为了发起命令,S#被驱动为 LOW。对于 extended SPI 协议,输入在 DQ0 上,输出在 DQ1 上。对于 dual SPI 协议,输入/输出在 DQ[1:0] 上,对于 quad SPI 协议,输入/输出在 DQ[3:0] 上。在数据输出期间的任何时间,S#驱动为 HIGH 都会终止操作。

    Operation NameDescription/Conditions
    READ STATUS REGISTER (05h)可以连续读取,且可在任何时间进行读取,包括在 PROGRAM, ERASE, or WRITE 操作期间。如果正在进行其中任何一项操作,则在执行命令之前,建议先检查 write in progress bit or P/E controller bit。
    READ FLAG STATUS REGISTER (70h)

    文章配图

    3.5. 写入寄存器操作

    在执行 WRITE REGISTER 命令之前,必须执行 WRITE ENABLE 命令将 write enable latch bit 设置为 1。为发起命令,需要驱动 S#低并保持低,直到最后一个 data 字节的第 8 位被锁存,之后它必须被驱动为高;对于 WRITE NONVOLATILE CONFIGURATION REGISTER 命令,S#保持低电平,直到最后一个 data 字节的第 16 位被锁存。对于 extended spi、dual spi 和 quad spi 协议,输入分别在 DQ0, DQ[1:0], and DQ[3:0] 上,后面跟随 data bytes。如果 S#没有被驱动为 HIGH,则命令不执行,flag status register error bits 不设置,并且 Write enable latch 保持为 1。该操作是自定时的,WRITE STATUS REGISTER 的操作持续时间为 tW,WRITE NONVOLATILE CONFIGURATION REGISTER 的操作持续时间为 tNVCR。

    文章配图

    文章配图

    3.6. 编程操作(只讲述 PAGE PROGRAM (02h) 和 4-BYTE PAGE PROGRAM (12h))

    在启动 PROGRAM 命令之前,必须执行 WRITE ENABLE 命令将 write enable latch bit 设置为 1,为发起命令,需要驱动 S#低并保持低,直到最后一个 data 字节的第 8 位被锁存,之后它必须被驱动为高;如果 S#没有被驱动为 HIGH,则命令不执行,flag status register error bits 不设置,并且 Write enable latch 保持为 1。每个 address bit 被锁存在时钟上升沿期间。当 command 被应用到受保护扇区时,该命令不被执行,write enable latch bit 保持为 1,flag status register bit1 和 bit4 被设置。如果操作超时,write enable latch bit 被复位,program fail bit 置为 1。

    Operation NameDescription/Conditions
    PAGE PROGRAM (02h)当操作正在进行时,write in progress bit 置为 1。无论操作是否成功,write enable latch bit 都被清除为 0。The status register and flag status register 能够查询当前操作状态。当操作完成后,write in progress bit 被清除为 0。可以使用 PROGRAM/ERASE SUSPEND 或 PROGRAM/ERASE RESUME 命令暂停或恢复操作。如果最末位地址(即起始地址)的各 bit 并非全为零,那么超出当前 page 范围的所有传输数据都将从本 page 的起始地址进行编程。如果发送到设备的字节数超过最大 page 大小,则先前存储的数据将被丢弃,而本 page 内仅保证最后最大页 page 大小数量的数据字节能够正确编程。如果发送到设备的字节数少于最大 page 大小,则它们将在指定地址正确编程,而不会对本 page 的其他字节产生任何影响。
    Operation NameDescription/Conditions
    4-BYTE PAGE PROGRAM (12h)PROGRAM 操作可以被扩展到一个 4-byte address 范围,用 [A31:0] 在 address 周期中输入。选择 3-byte address 或 4-byte address 的地址范围有两种方式:通过 nonvolatile configuration register or 通过 ENABLE 4-BYTE ADDRESS MODE/EXIT 4-BYTE ADDRESS MODE commands。

    文章配图

    3.7. 擦除操作

    在启动任何 ERASE 命令之前,必须执行 WRITE ENABLE 命令将 write enable latch bit 设置为 1;否则,设备将忽略该命令,并且不设置错误位表示操作失败。S#被驱动为低电平并保持低电平,直到最后一个数据字节的第 8 位被锁存,之后它必须被驱动为高电平。操作自定时,根据命令不同,时长为 tSSE、tSE 或 tBE。

    文章配图

    如果 S#没有被驱动为 HIGH,则不执行该命令,不设置 flag status register error bits,并且 write enable latch bit 仍然设置为 1。对受保护子区域所施加的命令并未被执行。write enable latch bit 仍保持为 1,且 flag status register 的 bit1 和 bit5 被设置。

    当操作正在进行时,the program or erase controller bit of the flag status register is set to 0。同时,write in progress bit 设置为 1。当操作完成后,write in progress bit 被清除为 0。无论操作是否成功,write enable latch bit 都被清除为 0。如果操作超时,write enable latch bit 复位,erase error bit 置 1。

    status register 和 flag status register 能够查询当前操作状态。当操作完成时,这些寄存器位被清除。

    Operation NameDescription/Conditions
    SUBSECTOR ERASE (52h/20h)将选择的 subsector or sector bits 设置为 FFh。subsector 内的任何地址都可以有效输入。每个 address bit 被锁存在时钟上升沿,这个操作可以分别通过 PROGRAM/ERASE SUSPEND 和 PROGRAM/ERASE RESUME 命令暂停和恢复。
    SECTOR ERASE (D8h)
    BULK ERASE (C7h/60h)Sets the device bits to FFh。如果有 sector 被锁定,则不执行该命令。write enable latch bit 仍然被设置为 1,并且 flag status register bit 1 和 bit5 被设置。

    3.8. 寻址模式操作

    文章配图

    该命令立即生效。默认的 3-byte address mode,退出 4-byte address mode 后,设备将恢复到默认的 address mode。

    4. 结论

    通过对以上内容的了解,对整个程序烧写流程做以下规划:

    文章配图

    5. STARTUPE2 原语

    当对 flash 进行在线操作时,需要使用 STARTUPE2 原语为 CCLK 引脚提供时钟,也相当于为 flash Clock 引脚提供时钟。

    STARTUPE2 #( .PROG_USR("FALSE"), // Activate program event security feature. Requires encrypted bitstreams. .SIM_CCLK_FREQ(0.0) // Set the Configuration Clock Frequency(ns) for simulation. ) STARTUPE2_inst ( .CFGCLK(), // 1-bit output: Configuration main clock output .CFGMCLK(), // 1-bit output: Configuration internal oscillator clock output .EOS(), // 1-bit output: Active high output signal indicating the End Of Startup. .PREQ(), // 1-bit output: PROGRAM request to fabric output .CLK(0), // 1-bit input: User start-up clock input .GSR(0), // 1-bit input: Global Set/Reset input (GSR cannot be used for the port name) .GTS(0), // 1-bit input: Global 3-state input (GTS cannot be used for the port name) .KEYCLEARB(1), // 1-bit input: Clear AES Decrypter Key input from Battery-Backed RAM (BBRAM) .PACK(1), // 1-bit input: PROGRAM acknowledge input .USRCCLKO(outSpiClk), // 1-bit input: User CCLK input // For Zynq-7000 devices, this input must be tied to GND .USRCCLKTS(0), // 1-bit input: User CCLK 3-state enable input // For Zynq-7000 devices, this input must be tied to VCC .USRDONEO(1), // 1-bit input: User DONE pin output control .USRDONETS(1) // 1-bit input: User DONE 3-state enable output );
    
    引脚名称类型描述
    CLK输入用户启动时钟引脚。来自驱动设备启动序列时钟的 FPGA 逻辑的输入。为启动序列提供用户定义的 CCLK。Spartan 7 7S6 和 7S15 设备不支持启动序列的用户定义 CCLK(BITSTREAM.STARTUP.STARTUPCLK 属性的 UserClk 值)。
    GSR输入一般将其设置为低电平表示禁用
    GTS输入全局三态引脚,作用是将配置库以外的用户 I/O 都配置成高阻态,一般情况将其设置为低电平。
    KEYCLEARB输入从电池支持的 RAM 中清除 AES 解密器秘钥。FPGA 结构的低电平输入。当数据表中的 TPROGRAM 延时保持低电平时,该引脚会从电池备份 RAM(BBRAM) 中擦除解密秘钥的内容。
    PACK输入PROGRAM_B 或 JPROGRAM 确认。FPGA 逻辑的输入,用于'确认'PROGRAM_B 信号的断言,并允许 PROGRAM_B 状态机的其余部分继续重置 FPGA。仅当设置了 PROG_USR 属性时,此引脚才启用。
    PREQ输出FPGA 逻辑需要 PROGRAM_B 脉冲或 JPROGRAM。FPGA 逻辑的输出。此引脚是 PROGRAM_B 状态机重置设备的'请求',允许 PROGRAM_B 请求被门控,直到设计处于可以完成重置的状态。仅当设置了 PROG_USR 属性时,此引脚才启用。
    USRCCLKO输入CCLK 引脚。配置后,FPGA 逻辑的输入,将定制的逻辑生成时钟频率驱动到 FPGA CCLK 引脚上。可用于外部配置后访问 SPI 闪存设备。更多详细信息请参见 USRCCLKO。
    USRCCLKTS输入用户 CCLK 三态启用 CCLK 引脚。FPGA 逻辑的高电平输入,在配置后使用时将 FPGA CCLK 引脚置于高 Z 状态。对于大多数应用,此引脚应系低。
    USRDONEO输入完成引脚输出值。连接到 FPGA DONE 引脚的 FPGA 逻辑的输入。
    USRDONETS输入用户完成了 DONE 引脚的三态启用。FPGA 逻辑的高电平输入,使 DONE 进入高阻状态。通常设置为低电平用来启用 DONE。
    CFGCLK输出配置逻辑主时钟输出。FPGA 逻辑的输出。从专用内部环形振荡器输出时钟信号,其中典型频率由比特流配置速率选项定义。输出仅在配置期间以及启用持久性的主模式下处于活动状态。
    CFGMCLK输出配置内部振荡器时钟输出。FPGA 逻辑的输出。从专用内部环形振荡器输出典型频率为 65 MHz 的时钟信号。
    EOS输出启动结束。高电平输出将 EOS 标志回声到 FPGA 逻辑中。可以用作指示 FPGA 已准备好运行的复位信号。
    极客日志微信公众号二维码

    微信扫一扫,关注极客日志

    微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog

    更多推荐文章

    查看全部
    • FPGA 板上 Simulink 与 ModelSim 联合仿真 Buck 闭环设计及调试
    • CosyVoice 安装 openai-whisper 报错 ModuleNotFoundError 原因及解决方案
    • AIGC 情感化智能客服实战:投诉率优化技术方案
    • 2025 最全的 10 大 AI提示库网站汇总
    • 1Panel 部署 Open WebUI 镜像加速:ghcr.io 切换至国内镜像源
    • 2024 开源图生视频模型横向评测:从 Stable Diffusion 到 SVD 的技术选型指南
    • 终身机器人学习基准测试平台 LIBERO 详解
    • FPGA 加速图像处理:核心算法全解析
    • ESPHome Flasher 智能家居设备配置工具使用指南
    • Web3 核心概念与业务应用场景解析
    • 高鋒集團合夥人兼 Web3Labs 行政總裁黃俊瑯:以資本與生態賦能傳統企業 Web3 轉型
    • DreamZero: World Action Models as Zero-shot Policies
    • FF 宣布 FX Super One 二季度交付,目标成美国头部 AI 机器人公司
    • 从三年前端到韩国 CS 硕士:留学复盘与回归前端的思考
    • Star-Office-UI: 像素风格 AI 办公室看板,可视化 AI 助手工作状态
    • Stable Diffusion 性能优化:Z-Image-Turbo 轻量化优势测评
    • Stable Diffusion 画质增强:Consistency Decoder 使用教程
    • 豆包 Seedream 4.0 多图融合测评:田园犬与三花猫多场景生成
    • 云开发 Copilot:AI 如何重塑开发流程
    • VSCode Copilot 配置文件提示未知工具警告

    相关免费在线工具

    • curl 转代码

      解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

    • Base64 字符串编码/解码

      将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

    • Base64 文件转换器

      将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

    • Markdown 转 HTML

      将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML 转 Markdown 互为补充。 在线工具,Markdown 转 HTML在线工具,online

    • HTML 转 Markdown

      将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML 转 Markdown在线工具,online

    • JSON 压缩

      通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online