CN110941444A - 一种升级配置逻辑电路、方法、系统及可编程逻辑器件 - Google Patents
一种升级配置逻辑电路、方法、系统及可编程逻辑器件 Download PDFInfo
- Publication number
- CN110941444A CN110941444A CN201911383894.6A CN201911383894A CN110941444A CN 110941444 A CN110941444 A CN 110941444A CN 201911383894 A CN201911383894 A CN 201911383894A CN 110941444 A CN110941444 A CN 110941444A
- Authority
- CN
- China
- Prior art keywords
- configuration
- data
- nonvolatile memory
- upgrade
- communication interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000004891 communication Methods 0.000 claims abstract description 226
- 230000015654 memory Effects 0.000 claims abstract description 218
- 238000001514 detection method Methods 0.000 claims description 33
- 238000006243 chemical reaction Methods 0.000 claims description 29
- 230000006870 function Effects 0.000 claims description 26
- 230000008569 process Effects 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 8
- 230000009191 jumping Effects 0.000 claims description 3
- 238000012795 verification Methods 0.000 claims description 3
- 238000013461 design Methods 0.000 abstract description 12
- 238000004549 pulsed laser deposition Methods 0.000 abstract 4
- 238000007726 management method Methods 0.000 description 41
- 238000010586 diagram Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Logic Circuits (AREA)
Abstract
本发明公开了一种升级配置逻辑电路、方法、装置、系统及可编程逻辑器件,该逻辑电路应用于可编程逻辑器件,包括:通信接口管理部件;与通信接口管理部件连接的寄存器译码部件;与寄存器译码部件连接的非易失存储控制部件;与非易失存储控制部件连接的通信协议控制部件;与寄存器译码部件和通信协议控制部件连接的通信接口控制部件;与通信接口控制部件连接的配置接口管理部件;本发明通过PLD中升级配置逻辑电路的设置,使得多个系列的PLD均可以利用该升级配置逻辑电路和其对应的升级配置方案对非易失存储器中存储的配置数据进行升级更新,而不需要单独对每片PLD设计升级配置方案,提高PLD升级配置的通用性,降低了设计和人力成本。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种升级配置逻辑电路、方法、系统及可编程逻辑器件。
背景技术
可编程逻辑器件(Programable Logic Device,PLD)是数字系统设计的主要硬件平台,用户通过硬件描述语言和相关电子设计自动化软件对其编程和配置。
PLD使用SRAM(Static Random-Access Memory,静态随机存取存储器)单元来保存配置数据,这些配置数据包含了用户设计所有功能信息,决定了PLD内部互联关系和逻辑功能,用户可通过改变这些配置数据使器件实现不同的逻辑功能。由于SRAM的易失性数据存储特性,PLD每次上电后需对其进行配置。
可编程逻辑器件的产商会提供多种配置方案兼容不同型号器件。比较常用的方法是将配置数据存储在EPROM(可擦除可编程只读存储器)、EEPROM(带电可擦可编程只读存储器)或者FLASH Memory(闪存)等非易失存储器内,PLD主动读取存储器内容完自身加载。这类存储器通过特定接口与PLD通信,PLD上电或者收到重升级配置指令后通过通信接口将配置数据下载到PLD的SRAM单元,从而实现PLD配置。
现有技术中,升级PLD的配置数据时,往往会更新PLD的易失存储器存储的数据,而目前技术大部分都是根据某种特定的设计场景针对性的开发PLD升级配置方案,这种方案只局限于系统中的某一片PLD器件或者某一单板中的PLD器件,使得PLD的升级配置方案并不具备通用性。
因此,如何能够通过PLD的结构设置,保证多系列的PLD能够便捷升级配置,提高PLD升级配置的通用性,降低设计成本和人力成本,是现今急需解决的问题。
发明内容
本发明的目的是提供一种升级配置方法、装置、系统、逻辑电路及可编程逻辑器件,以通过PLD的结构设置,保证多系列的PLD能够便捷升级配置,提高PLD升级配置的通用性,降低设计成本和人力成本。
为解决上述技术问题,本发明提供一种升级配置逻辑电路,应用于可编程逻辑器件,包括:
通信接口管理部件,用于通过预设通信接口与终端进行接口通信;
与所述通信接口管理部件连接的寄存器译码部件,用于对接收的数据和命令进行译码;
与所述寄存器译码部件连接的非易失存储控制部件,用于控制非易失存储器的读写;
与所述寄存器译码部件连接的通信接口控制部件,用于根据配置控制所述非易失存储器的工作模式;
与所述非易失存储控制部件和所述通信接口控制部件连接的通信协议控制部件,用于完成所述非易失存储控制部件和所述通信接口控制部件之间的数据传输格式的转换;
与所述通信接口控制部件连接的配置接口管理部件,所述配置接口管理部件包括至少一条预设通信通路,每条所述预设通信通路包括至少一种原语模块,所述配置接口管理部件用于根据配置选择适用于当前可编程逻辑器件的原语模块所在的预设通信通路与所述非易失存储器进行数据通信,并使选择的预设通信通路上的原语模块和所述非易失存储器工作在相应的工作模式。
可选的,所述可编程逻辑器件为FPGA时,所述配置接口管理部件包括第一宏定义开关、第二宏定义开关、第一预设通信通路和第二预设通信通路;
其中,所述第一预设通信通路包括STARTUPE2原语模块和IOBUF原语模块;所述STARTUPE2原语模块的时钟输入端通过所述第一宏定义开关的第一开关与所述通信接口控制部件的时钟端连接,所述STARTUPE2原语模块的时钟输出端与所述非易失存储器的时钟端连接;所述IOBUF原语模块的三态使能端通过所述第一宏定义开关的第二开关与所述通信接口控制部件的三态使能端连接,所述IOBUF原语模块的数据输入端通过所述第一宏定义开关的第三开关与所述通信接口控制部件的数据输出端连接,所述IOBUF原语模块的数据输出端通过所述第一宏定义开关的第四开关与所述通信接口控制部件的数据输入端连接,所述IOBUF原语模块的数据端与所述非易失存储器的数据端连接;所述通信接口控制部件的片选信号端通过所述第一宏定义开关的第五开关与所述非易失存储器的片选信号端连接;
所述第二预设通信通路包括STARTUPE3原语模块;所述STARTUPE3原语模块的时钟输入端通过所述第二宏定义开关的第一开关与所述通信接口控制部件的时钟端连接,所述STARTUPE3原语模块的三态使能端通过所述第二宏定义开关的第二开关与所述通信接口控制部件的数据三态使能端连接,所述STARTUPE3原语模块的数据输入端通过所述第二宏定义开关的第三开关与所述通信接口控制部件的数据输出端连接,所述STARTUPE3原语模块的数据输出端通过所述第二宏定义开关的第四开关与所述通信接口控制部件的数据输入端连接,所述STARTUPE3原语模块的片选信号输入端通过所述第二宏定义开关的第五开关与所述通信接口控制部件的片选信号端连接,所述STARTUPE3原语模块的时钟输出端与所述非易失存储器的时钟端连接,所述STARTUPE3原语模块的数据端与所述非易失存储器的数据端连接,所述STARTUPE3原语模块的片选信号输出端与所述非易失存储器的片选信号端连接。
可选的,预设通信接口包括第一通信接口和第二通信接口时,所述通信接口管理部件,包括:
第一接口时序转换设备,用于进行所述第一通信接口的总线时序与所述第二通信接口的总线时序的转换;
与所述第一接口时序转换设备和所述寄存器译码部件连接的第二接口时序转换设备,用于进行所述第二通信接口的总线时序与目标总线的总线时序的转换;其中,所述第一接口时序转换设备或所述第二接口时序转换设备与所述终端连接。
本发明还提供了一种可编程逻辑器件,包括:如上述所述的升级配置逻辑电路。
本发明还提供了一种可编程逻辑器件的升级配置方法,包括:
在可编程逻辑器件初始化配置完成后,获取所述可编程逻辑器件的状态检测信息;其中,所述状态检测信息包括所述可编程逻辑器件的升级配置逻辑电路的状态信息和存储配置数据的非易失存储器的状态信息;
根据所述状态检测信息,判断所述升级配置逻辑电路和所述非易失存储器是否支持升级配置;
若是,获取升级配置指令,以配置所述升级配置逻辑电路的逻辑功能和所述非易失存储器的工作模式;
在配置完成后,获取配置升级数据,对所述非易失存储器中的目标配置数据进行更新;其中,所述配置数据包括所述目标配置数据。
可选的,所述可编程逻辑器件为FPGA,所述升级配置逻辑电路包括通信接口控制部件,所述可编程逻辑器件包括至少一条预设通信通路,每条预设通信通路包括至少一种原语模块,不同的原语模块适用于不同类型的非易失存储器,每条预设通信通路中的原语模块的一端分别通过宏定义开关与所述通信接口控制部件连接,另一端与所述非易失存储器连接;
对应的,所述获取升级配置指令,以配置所述升级配置逻辑电路的逻辑功能和所述非易失存储器的工作模式,包括:
所述可编程逻辑器件获取升级配置指令,根据所述升级配置指令配置所述通信接口控制部件、所述宏定义开关、所述原语模块和所述非易失存储器的工作状态,使得所述可编程逻辑器件选择相应的原语模块所在的预设通信通路与所述非易失存储器连接,并使所述通信接口控制部件、选择的原语模块和所述非易失存储器工作于相应的工作模式中;
其中,所述非易失存储器的工作模式包括所述非易失存储器与所述可编程逻辑器件之间的通信时钟大小和数据传输模式。
可选的,该方法还包括:
终端依次向所述可编程逻辑器件发送所述配置升级数据中预设大小的数据,对所述目标配置数据进行更新;
对应的,所述获取配置升级数据,包括:
所述可编程逻辑器件从所述终端读取所述预设大小的当前数据并写入到逻辑Buffer;
擦除所述非易失存储器中所述预设大小的目标空间;
从所述逻辑Buffer读出当前数据并写入到所述目标空间;
判断所述配置升级数据是否写入完成;
若否,则从所述终端读取所述预设大小的下一数据并写入到所述逻辑Buffer。
可选的,所述获取配置升级数据,对所述非易失存储器中的目标配置数据进行更新,包括:
所述可编程逻辑器件获取所述终端发送的配置升级数据,对所述非易失存储器存储所述配置数据中的第二配置文件的数据进行更新;其中,所述配置数据包括第一配置文件的数据和所述第二配置文件的数据。
可选的,所述第一配置文件的数据在所述非易失存储器中从0x0地址顺序存储,所述第一配置文件的数据中的使能地址寄存器的值为在所述非易失存储器中顺序存储的所述第二配置文件的数据的起始地址;
对应的,所述可编程逻辑器件的初始化配置过程包括:
初始化完成后,从所述非易失存储器中0x0地址下载所述第一配置文件的数据;
读取到有效的重升级配置指令时,复位已下载的数据并重新初始化;
重新初始化完成后,跳转到所述非易失存储器中所述使能地址寄存器的值对应的地址下载第二配置文件的数据,并在下载完成且校验通过后,运行第二配置文件完成配置。
本发明还提供了一种升级配置系统,包括:终端、可编程逻辑器件和非易失存储器,所述可编程逻辑器件分别连接所述终端和非易失存储器;
其中,所述可编程逻辑器件用于在所述可编程逻辑器件初始化配置完成后,获取所述可编程逻辑器件的状态检测信息;根据所述状态检测信息,判断所述升级配置逻辑电路和所述非易失存储器是否支持升级配置;若是,获取升级配置指令,以配置所述升级配置逻辑电路的逻辑功能和所述非易失存储器的工作模式;在配置完成后,获取配置升级数据,对所述非易失存储器中的目标配置数据进行更新;其中,所述状态检测信息包括所述可编程逻辑器件的升级配置逻辑电路的状态信息和存储配置数据的非易失存储器的状态信息,所述配置数据包括所述目标配置数据。
本发明所提供的一种升级配置逻辑电路,应用于可编程逻辑器件,包括:通信接口管理部件,用于通过预设通信接口与终端进行接口通信;与通信接口管理部件连接的寄存器译码部件,用于对接收的数据和命令进行译码;与寄存器译码部件连接的非易失存储控制部件,用于控制非易失存储器的读写;与寄存器译码部件连接的通信接口控制部件,用于根据配置控制非易失存储器的工作模式;与非易失存储控制部件和通信接口控制部件连接的通信协议控制部件,用于完成非易失存储控制部件和通信接口控制部件之间的数据传输格式的转换;与通信接口控制部件连接的配置接口管理部件,配置接口管理部件包括至少一条预设通信通路,每条预设通信通路包括至少一种原语模块,配置接口管理部件用于根据配置选择适用于当前可编程逻辑器件的原语模块所在的预设通信通路与非易失存储器进行数据通信,并使选择的预设通信通路上的原语模块和非易失存储器工作在相应的工作模式;
可见,本发明通过PLD中升级配置逻辑电路的设置,使得多个系列的PLD均可以利用该升级配置逻辑电路和其对应的升级配置方案对非易失存储器中存储的配置数据进行升级更新,而不需要单独对每片PLD设计升级配置方案,提高PLD升级配置的通用性,降低了设计成本和人力成本。此外,本发明还提供了一种升级配置方法、装置、系统及可编程逻辑器件,同样具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的一种升级配置逻辑电路的结构框图;
图2为本发明实施例所提供的另一种升级配置逻辑电路的结构示意图;
图3为本发明实施例所提供的一种配置接口管理部件的结构示意图;
图4为本发明实施例所提供的一种升级配置方法的流程图;
图5为本发明实施例所提供的另一种升级配置方法的流程图;
图6为本发明实施例所提供的另一种升级配置方法的整体流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明实施例所提供的一种升级配置逻辑电路的结构示意图。该逻辑电路应用于可编程逻辑器件,可以包括:
通信接口管理部件10,用于通过预设通信接口与终端进行接口通信;
与通信接口管理部件10连接的寄存器译码部件20,用于对接收的数据和命令进行译码;
与寄存器译码部件20连接的非易失存储控制部件30,用于控制非易失存储器的读写;
与寄存器译码部件20连接的通信接口控制部件50,用于根据配置控制非易失存储器的工作模式;
与非易失存储控制部件30和通信接口控制部件50连接的通信协议控制部件40,用于完成非易失存储控制部件30和通信接口控制部件50之间的数据传输格式的转换;
与通信接口控制部件50连接的配置接口管理部件60,配置接口管理部件60包括至少一条预设通信通路,每条预设通信通路包括至少一种原语模块,配置接口管理部件60用于根据配置选择适用于当前可编程逻辑器件的原语模块所在的预设通信通路与非易失存储器进行数据通信,并使选择的预设通信通路上的原语模块和非易失存储器工作在相应的工作模式。配置接口管理部件60配置接口管理部件60。
需要说明的是,本实施例中通信接口管理部件10可以实现可编程逻辑器件(PLD)的升级配置逻辑电路与外部设备之间接口通信,即实现预设通信接口的总线时序与升级配置逻辑电路中内部传输的总线(即目标总线)的总线时序之间的转换。
具体的,本实施例并不限定通信接口管理部件10所支持的接口通讯的具体数量和类型,即预设通信接口的具体数量和类型,如通信接口管理部件10可以支持两种接口通讯,即预设通信接口可以包括第一通信接口和第二通信接口这两种通信接口,对应的,通信接口管理部件10可以包括:第一接口时序转换设备,用于进行第一通信接口的总线时序与第二通信接口的总线时序的转换;与第一接口时序转换设备和寄存器译码部件20连接的第二接口时序转换设备,用于进行第二通信接口的总线时序与目标总线的总线时序的转换;其中,第一接口时序转换设备或第二接口时序转换设备与外部的终端连接;如图2所示,通信接口管理部件10可以支持PCIe(peripheral component interconnect express,一种高速串行计算机扩展总线标准)接口通信和JTAG(Joint Test Action Group,一种国际标准测试协议)接口通信,即通信接口管理部件10通过JTAG通信接口(即第一通信接口)接收新的配置数据时,可以先利用第一接口时序转换设备将JTAG通信接口的总线时序(如图2中的Jtag)转换为PCIe通信接口(即第二通信接口)的总线时序(如图2中的Axi,一种总线协议),再利用第二接口时序转换设备将PCIe通信接口的总线时序转换为目标总线的总线时序(如图2中的Apb),从而将新的配置数据传输到寄存器译码部件20;通信接口管理部件10通过PCIe通信接口接收新的配置数据时,可以直接利用第二接口时序转换设备将PCIe通信接口的总线时序转换为目标总线的总线时序,从而将新的配置数据传输到寄存器译码部件20,即第一通信接口为JTAG接口,第二通信接口为PCIe接口时,第一接口时序转换设备具体用于进行JTAG的总线时序与Axi的总线时序的转换,第二接口时序转换设备具体用于进行Axi的总线时序与Apb的总线时序的转换。通信接口管理部件10也可以支持一种接口通讯或两种以上的接口通讯。
其中,本实施例中的寄存器译码部件20可以完成命令和数据译码,即寄存器译码部件20可以译码得到外部设备通过预设通信接口传输的新的配置数据和控制命令。对应的,寄存器译码部件20还可以监测升级配置逻辑电路中各部件的状态。
对应的,本实施例中的与寄存器译码部件20连接的非易失存储控制部件30可以控制非易失存储器的读写,如非易失存储控制部件30可以根据寄存器译码部件20译码出的数据读取命令从非易失存储器中读取对应的数据,并通过寄存器译码部件20和通信接口管理部件10输出到外部设备,使外部设备可以通过发送数据读取命令读取非易失存储器中的数据。对于非易失存储控制部件30的具体设备类型和结构,可以根据升级配置逻辑电路连接的非易失存储器的类型对应进行设置,如图2所示,升级配置逻辑电路(如图2中的FlashProgrammer Logic)连接的非易失存储器为闪存(如图2中的SPI Flash)时,非易失存储控制部件30可以为Flash控制部件(如图2中的Flash控制)用于控制非易失性Flash器件的读写。
具体的,本实施例中的通信协议控制部件40可以完成非易失存储控制部件30和通信接口控制部件50之间的数据传输格式的转换,即控制完成配置接口管理部件60所选择的预设通信通路与非易失存储器之间的数据通信所采用的通信总线的协议层功能;本实施例中的通信接口控制部件50可以根据配置控制非易失存储器的工作模式,即控制完成配置接口管理部件60所选择的预设通信通路与非易失存储器之间的数据通信所采用的通信总线的物理层功能。对应的,对于通信协议控制部件40和通信接口控制部件50的具体设备类型和结构,可以根据升级配置逻辑电路与非易失存储器之间的通信类型对应进行设置,如升级配置逻辑电路与非易失存储器采用SPI(Serial Peripheral Interface,串行外设接口)总线进行通讯时,通信协议控制部件40和通信接口控制部件50可以分别为SPI协议控制部件(如图2中的SPI协议控制)和SPI接口控制部件(如图2中的SPI接口控制),分别控制完成SPI总线的协议层功能和物理层功能。
可以理解的是,本实施例中的配置接口管理部件60可以利用其内置的预设通信通路与非易失存储器进行数据通信,即保证通信接口控制部件50可以与非易失存储器进行数据通信。
对应的,本实施例并不限定配置接口管理部件60中的预设通信通路的设置数量,如配置接口管理部件60中可以设置第一预设通信通路和第二预设通信通路这两个预设通信通路,使支持适用第一预设通信通路中原语模块的一种系列型号的可编程逻辑器件,可以通过配置选择第一预设通信通路与非易失存储器进行数据通信,而持适用第二预设通信通路中原语模块的另一种系列型号的可编程逻辑器件,可以通过配置选择第二预设通信通路与非易失存储器进行数据通信,从而使不同系列型号的可编程逻辑器件可以分别选择各自支持适用的原语模块所在的预设通信通路与非易失存储器进行数据通信。接口管理部件60中预设通信通路的数量不限制为2条,可以为多条,从而提高可编程逻辑器件升级配置的通用性。
具体的,本实施例并不限定配置接口管理部件60的具体结构,如配置接口管理部件60中设置两条预设通信通路、可编程逻辑器件为FPGA,并且FPGA通过配置接口管理部件60中的预设通信通路与非易失存储器进行基于SPI总线的数据通信时,配置接口管理部件60可以复用专用配置SPI接口与非易失存储器(如图2中的SPI Flash)通信,如图3所示,可以利用Xilinx(一个可编程逻辑完整解决方案的供应商)官方提供封装好的STARTUPE2原语模块、STARTUPE3原语模块和IOBUF原语模块,使STARTUPE2原语模块的时钟(clk)输出端与FPGA配置接口时钟引脚连接,STARTUPE3原语模块的时钟输出端、数据(data)端和片选信号(fcs)分别与FPGA配置接口时钟引脚、数据引脚和片选信号引脚连接,IOBUF原语模块实现三态门逻辑电路功能。
具体的,本实施例中的配置接口管理部件60包括可以第一宏定义开关、第二宏定义开关、第一预设通信通路和第二预设通信通路;其中,第一预设通信通路包括STARTUPE2原语模块和IOBUF原语模块;STARTUPE2原语模块的时钟输入端通过第一宏定义开关的第一开关与通信接口控制部件50的时钟端连接,STARTUPE2原语模块的时钟输出端与非易失存储器的时钟端连接;IOBUF原语模块的三态使能端通过第一宏定义开关的第二开关与通信接口控制部件50的三态使能端连接,IOBUF原语模块的数据输入端通过第一宏定义开关的第三开关与通信接口控制部件50的数据输出端连接,IOBUF原语模块的数据输出端通过第一宏定义开关的第四开关与通信接口控制部件50的数据输入端连接,IOBUF原语模块的数据端与非易失存储器的数据端连接;通信接口控制部件50的片选信号端通过第一宏定义开关的第五开关与非易失存储器的片选信号端连接;第二预设通信通路包括STARTUPE3原语模块;STARTUPE3原语模块的时钟输入端通过第二宏定义开关的第一开关与通信接口控制部件50的时钟端连接,STARTUPE3原语模块的三态使能端通过第二宏定义开关的第二开关与通信接口控制部件50的数据三态使能端连接,STARTUPE3原语模块的数据输入端通过第二宏定义开关的第三开关与通信接口控制部件50的数据输出端连接,STARTUPE3原语模块的数据输出端通过第二宏定义开关的第四开关与通信接口控制部件50的数据输入端连接,STARTUPE3原语模块的片选信号输入端通过第二宏定义开关的第五开关与通信接口控制部件50的片选信号端连接,STARTUPE3原语模块的时钟输出端与非易失存储器的时钟端连接,STARTUPE3原语模块的数据端与非易失存储器的数据端连接,STARTUPE3原语模块的片选信号输出端与非易失存储器的片选信号端连接;通过宏定义开关的设置兼容不同系列XilinxFPGA。只要保证配置接口管理部件60可以根据配置选择适用于当前可编程逻辑器件的原语模块所在的预设通信通路与非易失存储器进行数据通信,并使选择的预设通信通路上的原语模块和非易失存储器工作在相应的工作模式,本实施例对此不做任何限制。
需要说明的是,如图3所示,当升级配置对象FPGA支持STARTUPE2原语模块时,如Xlinix ARtix 7系列FPGA,使能控制ASERIAL_RUC宏定义开关(即第一宏定义开关)中的五个开关导通,此时SPI接口控制部件的接口时钟spi_clk和STARTUPE2原语模块的USRCCLKO连接通路、数据spi_dout/din、三态使能spi_dat_t和IOBUF连接连接通路以及片选信号spi_cs和fcs连接通路被打开。这样,配置接口管理部件60的第一预设通路打开,用户可以通过升级配置逻辑电路控制Flash。
当升级配置对象FPGA支持STARTUPE3原语模块时,如Xlinix Ultruscale FPGA系列FPGA,使能控制ASERIAL_RUC宏定义开关中的五个开关导通关闭,使能控制else宏定义开关(即第二宏定义开关)中的五个开关导通,此时SPI接口控制模块接口时钟spi_clk和STARTUPE3原语模块的USRCCLKO连接通路、数据spi_dout/din和三态使能spi_dat_t和DI/DO和DTS连接通路以及片选spi_cs和FCSBO连接通路被打开。这样,配置接口管理部件60的第二预设通路打开,用户可以通过升级配置逻辑电路控制Flash。
可以理解的是,本实施例中的升级配置逻辑电路可以利用接收的新的配置数据对非易失存储器中存储的配置数据进行升级更新,从而可以实现非易失存储器中存储的配置数据的在线远程升级,如外部设备可以在远程将新的配置数据发送到升级配置逻辑电路,不需要针对不同的FPGA单独设计配置电路和新的配置方法。
具体的,本实施例中的升级配置逻辑电路还可以包括可编程逻辑器件上设置的配置逻辑电路,用于利用非易失存储器上存储的配置数据进行PLD配置。也就是说,配置逻辑电路可以通过配置接口管理部件60中的预设通信通路从非易失存储器中获取配置数据,完成PLD配置。
对应的,本实施例中的升级配置逻辑电路可以具备多速率配置的功能,即升级配置逻辑电路可以通过调整通信接口控制部件50的接口时钟(如图3中的Spi_clk)频率,调整PLD配置速率和升级配置速率,例如FPGA逻辑处理时钟为160MHz时,接口时钟频率可以配置为80、40、20或10MHz,即2、4、8或16主时钟分频。
本实施例中,本发明实施例通过PLD中升级配置逻辑电路的设置,使得多个系列的PLD均可以利用该升级配置逻辑电路和其对应的升级配置方案对非易失存储器中存储的配置数据进行升级更新,而不需要单独对每片PLD设计升级配置方案,提高PLD升级配置的通用性,降低了设计成本和人力成本。
基于上述设置有升级配置逻辑电路的可编程逻辑器件,本发明实施例提供了一种利用该可编程逻辑器件对非易失存储器中存储的配置数据进行升级的方法。具体的,请参考图4,图4为本发明实施例所提供的一种升级配置方法的流程图。该方法可以包括:
步骤101:在可编程逻辑器件初始化配置完成后,获取可编程逻辑器件的状态检测信息;其中,状态检测信息包括可编程逻辑器件的升级配置逻辑电路的状态信息和存储配置数据的非易失存储器的状态信息。
可以理解的是,本实施例中可编程逻辑器件可以在自身的初始化配置完成后,利用连接的终端发送的配置升级数据,对非易失存储器中的目标配置数据进行更新。
具体的,本步骤中的状态检测信息可以包括可编程逻辑器件的升级配置逻辑电路的状态信息和存储配置数据的非易失存储器的状态信息,状态检测信息还可以包括非易失存储器的ID信息;如图2所示,可编程逻辑器件为FPGA且非易失存储器为Flash时,终端在需要升级配置FPGA时,可以通过PCIe或JTAG通信接口读取升级配置逻辑电路、Flash状态寄存器及Flash ID,获取FPGA在运行时自动记录的升级配置逻辑电路的状态信息及非易失存储器的状态信息和ID信息。
步骤102:根据状态检测信息,判断升级配置逻辑电路和非易失存储器是否支持升级配置;若是,则进入步骤103。
具体的,本步骤中终端根据状态检测信息,判断升级配置逻辑电路和非易失存储器是否支持升级配置的具体方式,可以根据状态检测信息的具体内容判断,如图6所示,可编程逻辑器件为FPGA时,Multiboot配置(即初始化配置)完成后FPGA进入User mode(用户模式),终端或FPGA可以利用状态检测信息中升级配置逻辑电路的状态信息,确定是否升级配置逻辑电路的状态为IDLE(闲置)且升级配置逻辑电路中非易失存储控制部件中的逻辑Buffer(如图6中的Cmd/Date Buffer)已准备好(ready);利用状态检测信息中非易失存储器的信息,确定是否非易失存储器已准备好且非易失存储器的ID匹配成功,从而在升级配置逻辑电路的状态为闲置、逻辑Buffer已准备好、非易失存储器已准备好且非易失存储器的ID匹配成功后,确定升级配置逻辑电路和非易失存储器支持升级配置。
步骤103:获取升级配置指令,以配置升级配置逻辑电路的逻辑功能和非易失存储器的工作模式。
其中,本步骤中在确定升级配置逻辑电路和非易失存储器支持升级配置后,可编程逻辑器件可以接收终端发送的升级配置指令,对升级配置逻辑电路的逻辑功能和非易失存储器的工作模式进行配置。
需要说明的是,本实施例中可编程逻辑器件可以为FPGA,升级配置逻辑电路可以包括通信接口控制部件,可编程逻辑器件可以包括至少一条预设通信通路,每条预设通信通路可以包括至少一种原语模块,不同的原语模块适用于不同类型的非易失存储器,每条预设通信通路中的原语模块的一端分别通过宏定义开关与通信接口控制部件连接,另一端与非易失存储器连接;本步骤中可编程逻辑器件获取终端发送的升级配置指令后,可以根据升级配置指令配置通信接口控制部件、宏定义开关、原语模块和非易失存储器的工作状态,使得可编程逻辑器件选择相应的原语模块所在的预设通信通路与非易失存储器连接,并使通信接口控制部件、选择的原语模块和非易失存储器工作于相应的工作模式中;其中,非易失存储器的工作模式包括非易失存储器与可编程逻辑器件之间的通信时钟大小和数据传输模式。
对应的,本步骤中的升级配置指令可以为终端通过预设通信接口(如图2中的PCIe或JTAG通信接口)发送到升级配置逻辑电路中的寄存器译码的寄存器指令,对于本步骤中的升级配置指令的具体内容,可以根据实用场景中如非易失存储器的器件类型和控制接口数据位宽等信息对应设置,升级配置指令可以包括升级配置逻辑电路升级配置指令和存储控制指令,寄存器译码部件对升级配置指令进行指令译码后后赋值给对应的寄存器变量,使得升级配置逻辑电路中的非易失存储控制部件和通信接口控制部件可以通过判断变量值完成逻辑功能配置;存储控制指令发送至非易失存储器后,非易失存储器识别存储控制指令并更新工作模式。如图3中的闪存为MICRON Flash(一种闪存)器件时,其容量为1Gb,其与FPGA配置接口数据总线连接方式为X4(如图3中的data[3:0],即DQ[0]、DQ[1]、DQ[2]和DQ[3]均作为数据总线与FPGA配置接口数据总线接口连接),配置速率最大133MHz,FPGA逻辑处理时钟为160MHz,则可将Flash Programmer Logic SPI接口控制模式配置为SPI X1/X4、SDR/QUAD I/O模式,时钟clk频率配置80/40/20/10MHz,Flash工作在3Byte/4Byte地址操作、SDR/QUAD I/O模式。
步骤104:在配置完成后,获取配置升级数据,对非易失存储器中的目标配置数据进行更新;其中,配置数据包括目标配置数据。
具体的,本步骤中的配置升级数据可以为终端中存储的更新非易失存储器存储的配置数据中的目标配置数据所需的配置数据。
需要说明的是,本步骤中可编程逻辑器件利用终端发送的升级配置指令,升级配置逻辑电路的逻辑功能和非易失存储器的工作模式配置完成后,可以接收终端发送的配置升级数据,对非易失存储器中的目标配置数据进行更新。
具体的,本实施例并不限定终端向可编程逻辑器件发送配置升级数据的具体方式,即可编程逻辑器件接收配置升级数据,对非易失存储器中的目标配置数据进行更新的具体方式,如终端可以依次向可编程逻辑器件发送配置升级数据中预设大小的数据;其中,预设大小与升级配置逻辑电路中的逻辑Buffer(缓冲器)存储深度相对应;例如非易失存储器支持4KB擦除时,逻辑Buffer存储深度可以设为4KB,可编程逻辑器件每次可取4KB的配置升级数据通过预设通信接口写入逻辑Buffer,逻辑Buffer写满状态确认后发送擦除指令擦除非易失存储器4KB空间,确认擦除状态,读取逻辑Buffer的数据同时发送烧录指令,将数据写入擦除后的地址空间,依次重复,直到所有配置升级数据写入完成。
对应的,本实施例所提供的方法还可以包括可编程逻辑器件将配置升级数据写入(烧录)到非易失存储器的过程,如可编程逻辑器件可以从终端读取预设大小的当前数据并写入到逻辑Buffer;擦除非易失存储器中预设大小的目标空间;从逻辑Buffer读出当前数据并写入到目标空间;判断配置升级数据是否写入完成;若否,则从终端读取预设大小的下一数据并写入到逻辑Buffer。
进一步的,为了实现可编程逻辑器件的多版本配置,非易失存储器存储的配置数据包括两个配置文件的数据时,每次升级配置时可以对固定的一个配置文件的数据所在的地址空间进行升级,不破坏另一配置文件的数据,保证FPGA每次都能正常配置。如第一配置文件的数据在非易失存储器中从0x0地址顺序存储且第一配置文件的数据中的使能地址寄存器的值为在非易失存储器中顺序存储的第二配置文件的数据的起始地址时,本步骤中的目标配置数据可以为第二配置文件的数据,每次升级配置时,可编程逻辑器件可以利用配置升级数据更新非易失存储器中第二配置文件的数据,使得即使升级出现问题,可编程逻辑器件仍可以利用第一配置文件的数据进行配置。
可以理解的是,如图6所示,非易失存储器写入完配置升级数据后,还可以接收终端发送的重升级配置指令,使得可编程逻辑器件可以重新利用写入到非易失存储器的配置升级数据进行配置,完成可编程逻辑器件的升级配置。
本实施例中,本发明实施例通过PLD中升级配置逻辑电路的设置,使得多个系列的PLD均可以利用终端的配置升级数据对非易失存储器中存储的配置数据进行升级更新,而不需要单独对每片PLD设计升级配置方案,提高PLD升级配置的通用性,降低了设计成本和人力成本。
基于上述实施例,本发明实施例提供了一种应用于终端的可编程逻辑器件的升级配置方法。具体的,请参考图5,图5为本发明实施例所提供的另一种升级配置方法的流程图。该方法可以包括:
步骤201:终端在可编程逻辑器件初始化配置完成后,通过可编程逻辑器件获取状态检测信息;其中,状态检测信息包括可编程逻辑器件的升级配置逻辑电路的状态信息和存储配置数据的非易失存储器的状态信息。
可以理解的是,本步骤中的终端可以为与用于对可编程逻辑器件的配置数据进行更新的终端设备,如终端可以具体为与可编程逻辑器件远程无线连接的计算机,从而使用户可以操作该计算机对可编程逻辑器件的配置数据进行远程升级更新。本步骤的目的可以终端在可编程逻辑器件初始化配置完成后,利用连接的可编程逻辑器件获取更新非易失存储器中的目标配置数据所需的信息,即状态检测信息。
需要说明的是,本步骤之前还可以包括可编程逻辑器件的初始化配置过程,即可编程逻辑器件初始化完成后利用非易失存储器存储的配置数据进行配置的过程。本实施例并不限定可编程逻辑器件具体的初始化配置过程,如可以采用与现有技术中可编程逻辑器件的初始化配置过程相同或相似的方式实现,即可编程逻辑器件可以利用非易失存储器仅存储的一个配置文件的数据进行初始化配置。为了实现可编程逻辑器件的多版本配置,本实施例中可编程逻辑器件可以从非易失存储器中存储的配置数据中选择一个配置文件的数据进行初始化配置,即非易失存储器存储的配置数据可以包括多个配置文件的数据。例如非易失存储器存储的配置数据包括两个配置文件的数据时,若第一配置文件的数据在非易失存储器中从0x0地址顺序存储且第一配置文件的数据中的使能地址寄存器的值为在非易失存储器中顺序存储的第二配置文件的数据的起始地址,则可编程逻辑器件的配置过程可以为初始化完成后,从非易失存储器中0x0地址下载第一配置文件的数据;读取到有效的重升级配置指令时,复位已下载的数据并重新初始化;重新初始化完成后,跳转到非易失存储器中使能地址寄存器的值对应的地址下载第二配置文件的数据,并在下载完成且校验通过后,运行第二配置文件完成配置。
具体的,可编程逻辑器件为FPGA且非易失存储器为Flash时,Flash中存储的FPGA的配置数据,即Multiboot配置文件的数据,可以包括第一配置文件的数据和第二配置文件的数据,烧录Flash时,第一配置文件的数据从0x0地址开始顺序写入Flash存储空间内部,两个配置文件实现的逻辑功能相同,但是数据信息内容有所区别,主要体现在配置文件1(即第一配置文件)中使能始地址寄存器(WBSTAR,Warm Boot Start Address Register)的值设置为配置文件2(即第二配置文件)在Flash中存储的起始地址,同时还设置重升级配置指令(IPROG),WBSTAR和IPROG的设置均可以通过Vivado(一种设计套件)GUI界面配置完成。FPGA开始配置时,初始化完成后FPGA的配置逻辑电路从Flash的0x0地址开始下载配置文件1的数据,当读取到IPROG指令为有效,复位已下载的数据并重新初始化,初始化完成后跳转到WBSTAR地址下下载配置文件2的数据,加载配置文件2完成并校验通过后FPGA开始运行配置文件2实现的逻辑功能,否则执行复位和初始化操作,返回从0x0地址下载配置文件1的数据,并跳过IPROG指令识别,加载配置文件1;配置文件2没有故障时,FPGA可以利用配置文件2的数据完成初始化配置,配置文件2出现故障时,FPGA才利用配置文件1的数据完成初始化配置,实现可编程逻辑器件的双版本配置,提高配置正确性。
步骤202:根据状态检测信息,判断升级配置逻辑电路和非易失存储器是否支持升级配置;若是,则进入步骤203。
可以理解的是,本步骤的目的可以为终端根据获取的状态检测信息,判断升级配置逻辑电路和非易失存储器是否支持升级配置,即升级配置逻辑电路和非易失存储器是否能够支持对非易失存储器中的目标配置数据的更新。
具体的,对于本步骤中终端根据状态检测信息,判断升级配置逻辑电路和非易失存储器是否支持升级配置的具体方式,可以根据状态检测信息的具体内容判断,如图6所示,Multiboot配置完成后FPGA进入User mode(用户模式),终端可以利用状态检测信息中升级配置逻辑电路的状态信息,确定是否升级配置逻辑电路的状态为IDLE(闲置)且逻辑Buffer(如图6中的Cmd/Date Buffer)已准备好(ready);利用状态检测信息中非易失存储器的信息,确定是否非易失存储器已准备好且非易失存储器的ID匹配成功,从而在升级配置逻辑电路的状态为闲置、逻辑Buffer已准备好、非易失存储器已准备好且非易失存储器的ID匹配成功后,确定升级配置逻辑电路和非易失存储器支持升级配置。
步骤203:向可编程逻辑器件发送升级配置指令,以配置升级配置逻辑电路的逻辑功能和非易失存储器的工作模式,并在配置完成后,向可编程逻辑器件发送配置升级数据,对非易失存储器中的目标配置数据进行更新;其中,配置数据包括目标配置数据。
可以理解的是,本步骤中终端在确定升级配置逻辑电路和非易失存储器支持升级配置后,通过向可编程逻辑器件发送升级配置指令,对升级配置逻辑电路的逻辑功能和非易失存储器的工作模式进行配置。
需要说明的是,本步骤中终端向可编程逻辑器件发送升级配置指令,使升级配置逻辑电路的逻辑功能和非易失存储器的工作模式配置完成后,可以向可编程逻辑器件发送配置升级数据,对非易失存储器中的目标配置数据进行更新。
可以理解的是,如图6所示,终端在非易失存储器写入完配置升级数据后,还可以向可编程逻辑器件发送重升级配置指令,使得可编程逻辑器件可以重新利用写入到非易失存储器的配置升级数据进行配置,完成可编程逻辑器件的升级配置。
对应的,如图6所示,可编程逻辑器件利用写入到非易失存储器的配置升级数据完成重配置后,终端可以读取可编程逻辑器件的配置版本寄存器(如FPGA版本寄存器)获取配置的版本信息,确认是否升级成功;在升级成功后后复位升级配置逻辑电路和Flash的工作模式,等待下次升级;例如,非易失存储器存储配置文件1和配置文件2这两个配置文件的数据时,本步骤中的目标配置数据可以为配置文件2的数据,即每次升级配置时,仅对配置文件2的数据进行升级,而不升级原始版本的配置文件1的数据,从而原始版本的配置文件1可以在升级版本的配置文件2出现故障时为可编程逻辑器件提供基础配置保障。
具体的,非易失存储器所有的控制指令均可以通过寄存器的方式发送至升级配置逻辑电路,兼容不同非易失存储器的控制。
本实施例中,本发明实施例通过PLD中升级配置逻辑电路的设置,使得多个系列的PLD均可以利用终端的配置升级数据对非易失存储器中存储的配置数据进行升级更新,而不需要单独对每片PLD设计升级配置方案,提高PLD升级配置的通用性,降低了设计成本和人力成本。
此外,本发明实施例还提供了一种升级配置系统,可以包括:终端、可编程逻辑器件和非易失存储器,可编程逻辑器件分别连接终端和非易失存储器;
其中,可编程逻辑器件用于在可编程逻辑器件初始化配置完成后,获取可编程逻辑器件的状态检测信息;根据状态检测信息,判断升级配置逻辑电路和非易失存储器是否支持升级配置;若是,获取升级配置指令,以配置升级配置逻辑电路的逻辑功能和非易失存储器的工作模式;在配置完成后,获取配置升级数据,对非易失存储器中的目标配置数据进行更新;其中,状态检测信息包括可编程逻辑器件的升级配置逻辑电路的状态信息和存储配置数据的非易失存储器的状态信息,配置数据包括目标配置数据。
具体的,该终端可以为超声设备。
可以理解的是,该可编程逻辑器件具备上述各实施例描述的可编程逻辑器件的结构和功能,能够和上述终端和非易失存储器一起实现上述各实施例描述的升级配置方法。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的一种升级配置逻辑电路、方法、系统及可编程逻辑器件进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种升级配置逻辑电路,其特征在于,应用于可编程逻辑器件,包括:
通信接口管理部件,用于通过预设通信接口与终端进行接口通信;
与所述通信接口管理部件连接的寄存器译码部件,用于对接收的数据和命令进行译码;
与所述寄存器译码部件连接的非易失存储控制部件,用于控制非易失存储器的读写;
与所述寄存器译码部件连接的通信接口控制部件,用于根据配置控制所述非易失存储器的工作模式;
与所述非易失存储控制部件和所述通信接口控制部件连接的通信协议控制部件,用于完成所述非易失存储控制部件和所述通信接口控制部件之间的数据传输格式的转换;
与所述通信接口控制部件连接的配置接口管理部件,所述配置接口管理部件包括至少一条预设通信通路,每条所述预设通信通路包括至少一种原语模块,所述配置接口管理部件用于根据配置选择适用于当前可编程逻辑器件的原语模块所在的预设通信通路与所述非易失存储器进行数据通信,并使选择的预设通信通路上的原语模块和所述非易失存储器工作在相应的工作模式。
2.根据权利要求1所述的升级配置逻辑电路,其特征在于,所述可编程逻辑器件为FPGA时,所述配置接口管理部件包括第一宏定义开关、第二宏定义开关、第一预设通信通路和第二预设通信通路;
其中,所述第一预设通信通路包括STARTUPE2原语模块和IOBUF原语模块;所述STARTUPE2原语模块的时钟输入端通过所述第一宏定义开关的第一开关与所述通信接口控制部件的时钟端连接,所述STARTUPE2原语模块的时钟输出端与所述非易失存储器的时钟端连接;所述IOBUF原语模块的三态使能端通过所述第一宏定义开关的第二开关与所述通信接口控制部件的三态使能端连接,所述IOBUF原语模块的数据输入端通过所述第一宏定义开关的第三开关与所述通信接口控制部件的数据输出端连接,所述IOBUF原语模块的数据输出端通过所述第一宏定义开关的第四开关与所述通信接口控制部件的数据输入端连接,所述IOBUF原语模块的数据端与所述非易失存储器的数据端连接;所述通信接口控制部件的片选信号端通过所述第一宏定义开关的第五开关与所述非易失存储器的片选信号端连接;
所述第二预设通信通路包括STARTUPE3原语模块;所述STARTUPE3原语模块的时钟输入端通过所述第二宏定义开关的第一开关与所述通信接口控制部件的时钟端连接,所述STARTUPE3原语模块的三态使能端通过所述第二宏定义开关的第二开关与所述通信接口控制部件的数据三态使能端连接,所述STARTUPE3原语模块的数据输入端通过所述第二宏定义开关的第三开关与所述通信接口控制部件的数据输出端连接,所述STARTUPE3原语模块的数据输出端通过所述第二宏定义开关的第四开关与所述通信接口控制部件的数据输入端连接,所述STARTUPE3原语模块的片选信号输入端通过所述第二宏定义开关的第五开关与所述通信接口控制部件的片选信号端连接,所述STARTUPE3原语模块的时钟输出端与所述非易失存储器的时钟端连接,所述STARTUPE3原语模块的数据端与所述非易失存储器的数据端连接,所述STARTUPE3原语模块的片选信号输出端与所述非易失存储器的片选信号端连接。
3.根据权利要求1所述的升级配置逻辑电路,其特征在于,预设通信接口包括第一通信接口和第二通信接口时,所述通信接口管理部件,包括:
第一接口时序转换设备,用于进行所述第一通信接口的总线时序与所述第二通信接口的总线时序的转换;
与所述第一接口时序转换设备和所述寄存器译码部件连接的第二接口时序转换设备,用于进行所述第二通信接口的总线时序与目标总线的总线时序的转换;其中,所述第一接口时序转换设备或所述第二接口时序转换设备与所述终端连接。
4.一种可编程逻辑器件,其特征在于,包括:如权利要求1至3任一项所述的升级配置逻辑电路。
5.一种可编程逻辑器件的升级配置方法,其特征在于,包括:
在可编程逻辑器件初始化配置完成后,获取所述可编程逻辑器件的状态检测信息;其中,所述状态检测信息包括所述可编程逻辑器件的升级配置逻辑电路的状态信息和存储配置数据的非易失存储器的状态信息;
根据所述状态检测信息,判断所述升级配置逻辑电路和所述非易失存储器是否支持升级配置;
若是,获取升级配置指令,以配置所述升级配置逻辑电路的逻辑功能和所述非易失存储器的工作模式;
在配置完成后,获取配置升级数据,对所述非易失存储器中的目标配置数据进行更新;其中,所述配置数据包括所述目标配置数据。
6.根据权利要求5所述的可编程逻辑器件的升级配置方法,其特征在于,所述可编程逻辑器件为FPGA,所述升级配置逻辑电路包括通信接口控制部件,所述可编程逻辑器件包括至少一条预设通信通路,每条预设通信通路包括至少一种原语模块,不同的原语模块适用于不同类型的非易失存储器,每条预设通信通路中的原语模块的一端分别通过宏定义开关与所述通信接口控制部件连接,另一端与所述非易失存储器连接;
对应的,所述获取升级配置指令,以配置所述升级配置逻辑电路的逻辑功能和所述非易失存储器的工作模式,包括:
所述可编程逻辑器件获取升级配置指令,根据所述升级配置指令配置所述通信接口控制部件、所述宏定义开关、所述原语模块和所述非易失存储器的工作状态,使得所述可编程逻辑器件选择相应的原语模块所在的预设通信通路与所述非易失存储器连接,并使所述通信接口控制部件、选择的原语模块和所述非易失存储器工作于相应的工作模式中;
其中,所述非易失存储器的工作模式包括所述非易失存储器与所述可编程逻辑器件之间的通信时钟大小和数据传输模式。
7.根据权利要求5所述的升级配置方法,其特征在于,还包括:
终端依次向所述可编程逻辑器件发送所述配置升级数据中预设大小的数据,对所述目标配置数据进行更新;
对应的,所述获取配置升级数据,包括:
所述可编程逻辑器件从所述终端读取所述预设大小的当前数据并写入到逻辑Buffer;
擦除所述非易失存储器中所述预设大小的目标空间;
从所述逻辑Buffer读出当前数据并写入到所述目标空间;
判断所述配置升级数据是否写入完成;
若否,则从所述终端读取所述预设大小的下一数据并写入到所述逻辑Buffer。
8.根据权利要求5所述的升级配置方法,其特征在于,所述获取配置升级数据,对所述非易失存储器中的目标配置数据进行更新,包括:
所述可编程逻辑器件获取所述终端发送的配置升级数据,对所述非易失存储器存储所述配置数据中的第二配置文件的数据进行更新;其中,所述配置数据包括第一配置文件的数据和所述第二配置文件的数据。
9.根据权利要求8所述的升级配置方法,其特征在于,所述第一配置文件的数据在所述非易失存储器中从0x0地址顺序存储,所述第一配置文件的数据中的使能地址寄存器的值为在所述非易失存储器中顺序存储的所述第二配置文件的数据的起始地址;
对应的,所述可编程逻辑器件的初始化配置过程包括:
初始化完成后,从所述非易失存储器中0x0地址下载所述第一配置文件的数据;
读取到有效的重升级配置指令时,复位已下载的数据并重新初始化;
重新初始化完成后,跳转到所述非易失存储器中所述使能地址寄存器的值对应的地址下载第二配置文件的数据,并在下载完成且校验通过后,运行第二配置文件完成配置。
10.一种升级配置系统,其特征在于,包括:终端、可编程逻辑器件和非易失存储器,所述可编程逻辑器件分别连接所述终端和非易失存储器;
其中,所述可编程逻辑器件用于在所述可编程逻辑器件初始化配置完成后,获取所述可编程逻辑器件的状态检测信息;根据所述状态检测信息,判断所述升级配置逻辑电路和所述非易失存储器是否支持升级配置;若是,获取升级配置指令,以配置所述升级配置逻辑电路的逻辑功能和所述非易失存储器的工作模式;在配置完成后,获取配置升级数据,对所述非易失存储器中的目标配置数据进行更新;其中,所述状态检测信息包括所述可编程逻辑器件的升级配置逻辑电路的状态信息和存储配置数据的非易失存储器的状态信息,所述配置数据包括所述目标配置数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911383894.6A CN110941444B (zh) | 2019-12-28 | 2019-12-28 | 一种升级配置逻辑电路、方法、系统及可编程逻辑器件 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911383894.6A CN110941444B (zh) | 2019-12-28 | 2019-12-28 | 一种升级配置逻辑电路、方法、系统及可编程逻辑器件 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110941444A true CN110941444A (zh) | 2020-03-31 |
CN110941444B CN110941444B (zh) | 2024-06-25 |
Family
ID=69913300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911383894.6A Active CN110941444B (zh) | 2019-12-28 | 2019-12-28 | 一种升级配置逻辑电路、方法、系统及可编程逻辑器件 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110941444B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113138779A (zh) * | 2021-04-21 | 2021-07-20 | 中科亿海微电子科技(苏州)有限公司 | 基于多功能接口的fpga在线程序更新装置及方法 |
CN113625072A (zh) * | 2021-06-15 | 2021-11-09 | 安克创新科技股份有限公司 | 一种数据校准方法 |
CN114816571A (zh) * | 2022-04-15 | 2022-07-29 | 西安广和通无线通信有限公司 | 外挂闪存的方法、装置、设备及存储介质 |
CN114924776A (zh) * | 2022-04-20 | 2022-08-19 | 阿里巴巴(中国)有限公司 | 可编程逻辑器件升级方法、装置、系统、设备及程序产品 |
CN116204450A (zh) * | 2023-04-28 | 2023-06-02 | 新华三技术有限公司 | 数据写入方法、处理器、器件、业务板及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050189962A1 (en) * | 2004-02-20 | 2005-09-01 | Agrawal Om P. | Upgradeable and reconfigurable programmable logic device |
CN1987787A (zh) * | 2006-12-06 | 2007-06-27 | 华为技术有限公司 | 一种在线升级逻辑器件的方法和系统 |
CN101493778A (zh) * | 2009-02-27 | 2009-07-29 | 华为技术有限公司 | 一种可编程逻辑器件升级的方法、装置和系统 |
CN102053850A (zh) * | 2010-12-17 | 2011-05-11 | 天津曙光计算机产业有限公司 | 一种在线升级fpga逻辑的方法 |
US8621597B1 (en) * | 2004-10-22 | 2013-12-31 | Xilinx, Inc. | Apparatus and method for automatic self-erasing of programmable logic devices |
CN211015473U (zh) * | 2019-12-28 | 2020-07-14 | 深圳开立生物医疗科技股份有限公司 | 一种升级配置逻辑电路、可编程逻辑器件及升级配置系统 |
-
2019
- 2019-12-28 CN CN201911383894.6A patent/CN110941444B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050189962A1 (en) * | 2004-02-20 | 2005-09-01 | Agrawal Om P. | Upgradeable and reconfigurable programmable logic device |
US8621597B1 (en) * | 2004-10-22 | 2013-12-31 | Xilinx, Inc. | Apparatus and method for automatic self-erasing of programmable logic devices |
CN1987787A (zh) * | 2006-12-06 | 2007-06-27 | 华为技术有限公司 | 一种在线升级逻辑器件的方法和系统 |
CN101493778A (zh) * | 2009-02-27 | 2009-07-29 | 华为技术有限公司 | 一种可编程逻辑器件升级的方法、装置和系统 |
CN102053850A (zh) * | 2010-12-17 | 2011-05-11 | 天津曙光计算机产业有限公司 | 一种在线升级fpga逻辑的方法 |
CN211015473U (zh) * | 2019-12-28 | 2020-07-14 | 深圳开立生物医疗科技股份有限公司 | 一种升级配置逻辑电路、可编程逻辑器件及升级配置系统 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113138779A (zh) * | 2021-04-21 | 2021-07-20 | 中科亿海微电子科技(苏州)有限公司 | 基于多功能接口的fpga在线程序更新装置及方法 |
CN113138779B (zh) * | 2021-04-21 | 2024-03-15 | 中科亿海微电子科技(苏州)有限公司 | 基于多功能接口的fpga在线程序更新装置及方法 |
CN113625072A (zh) * | 2021-06-15 | 2021-11-09 | 安克创新科技股份有限公司 | 一种数据校准方法 |
CN113625072B (zh) * | 2021-06-15 | 2024-05-03 | 安克创新科技股份有限公司 | 一种数据校准方法 |
CN114816571A (zh) * | 2022-04-15 | 2022-07-29 | 西安广和通无线通信有限公司 | 外挂闪存的方法、装置、设备及存储介质 |
CN114816571B (zh) * | 2022-04-15 | 2023-06-16 | 西安广和通无线通信有限公司 | 外挂闪存的方法、装置、设备及存储介质 |
CN114924776A (zh) * | 2022-04-20 | 2022-08-19 | 阿里巴巴(中国)有限公司 | 可编程逻辑器件升级方法、装置、系统、设备及程序产品 |
CN116204450A (zh) * | 2023-04-28 | 2023-06-02 | 新华三技术有限公司 | 数据写入方法、处理器、器件、业务板及存储介质 |
CN116204450B (zh) * | 2023-04-28 | 2023-08-18 | 新华三技术有限公司 | 数据写入方法、处理器、器件、业务板及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110941444B (zh) | 2024-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110941444B (zh) | 一种升级配置逻辑电路、方法、系统及可编程逻辑器件 | |
CN102609286B (zh) | 一种基于处理器控制的fpga配置程序远程更新系统及其方法 | |
US7856614B2 (en) | Programmable system-on-chip apparatus and method for updating firmware | |
US8386694B2 (en) | Memory device, its access method, and memory system | |
CN107704285B (zh) | 现场可编程门阵列多版本配置芯片、系统和方法 | |
KR100958113B1 (ko) | 반도체 테스트용 fpga 구성장치 및 이를 이용한 dut 테스트방법 | |
EP3518097B1 (en) | Firmware updating method and electronic device using the same | |
US20090198770A1 (en) | System and method of updating codes in controller | |
KR20080075110A (ko) | 내장형 제어기를 통한 플래시 스토리지의 초기화 | |
US7984239B2 (en) | Control program download device | |
CN112925569A (zh) | 一种固件数据处理方法、装置、设备及存储介质 | |
CN111563059B (zh) | 一种基于PCIe的多FPGA动态配置装置及方法 | |
CN113553081A (zh) | 一种基于zynq芯片的fpga加载方法 | |
US8386759B1 (en) | Integrated circuit boot method and apparatus for configuring memory device read mode using programmable circuitry boot code read from the memory device | |
CN112231005A (zh) | 一种基于uboot管理fpga版本的方法 | |
CN113986796A (zh) | 一种PCIe链路宽度的动态配置方法、装置、设备及可读介质 | |
CN211015473U (zh) | 一种升级配置逻辑电路、可编程逻辑器件及升级配置系统 | |
US10169281B2 (en) | Switch system and operation method thereof | |
CN116560688B (zh) | 用于域控制器的软件更新方法 | |
EP2600528A2 (en) | Logic device having a compressed configuration image stored on an internal read only memory | |
JP2004021867A (ja) | 情報処理システム | |
CN115410639A (zh) | 一种芯片测试装置和方法 | |
US20040117541A1 (en) | System and method for updating firmware in a non-volatile memory without using a processor | |
CN114281390A (zh) | 一种基于Zynq 7000的在线升级系统及方法 | |
JP7006410B2 (ja) | 制御装置、画像形成装置および回路装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |