CN112650543A - FPGA dynamic configuration method - Google Patents

FPGA dynamic configuration method Download PDF

Info

Publication number
CN112650543A
CN112650543A CN202011522137.5A CN202011522137A CN112650543A CN 112650543 A CN112650543 A CN 112650543A CN 202011522137 A CN202011522137 A CN 202011522137A CN 112650543 A CN112650543 A CN 112650543A
Authority
CN
China
Prior art keywords
fpga
flash
microprocessor
bpi
bpi flash
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.)
Pending
Application number
CN202011522137.5A
Other languages
Chinese (zh)
Inventor
战仕成
申雪
刘方
宋铠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Shenzhou Feihang Technology Co ltd
Original Assignee
Beijing Shenzhou Feihang Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Shenzhou Feihang Technology Co ltd filed Critical Beijing Shenzhou Feihang Technology Co ltd
Priority to CN202011522137.5A priority Critical patent/CN112650543A/en
Publication of CN112650543A publication Critical patent/CN112650543A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Logic Circuits (AREA)

Abstract

The invention discloses a FPGA dynamic configuration method, which is suitable for Virtex-7 chips of Xilinx company and comprises the following specific steps: the microprocessor receives a remote control instruction through the Ethernet and stores the control instruction in the EEPROM; the microprocessor controls the high two bits of BPI Flash address through GPIO interface to divide the Flash into four memory areas; the FPGA downloads the user program into different storage areas in the BPI Flash through a JTAG interface; the microprocessor controls the configuration pin of the FPGA and the high two bits of the BPI Flash address through the GPIO interface to realize the dynamic configuration of the FPGA program. The invention can realize the dynamic switching of the FPGA function in a flexible and configurable mode so as to meet different applications.

Description

FPGA dynamic configuration method
Technical Field
The invention belongs to the field of electronic engineering and computer science, and particularly relates to a dynamic configuration method of an FPGA (field programmable gate array).
Background
As a highly parallel chip, FPGA is widely used in situations where real-time requirements are stringent. In the aspect of configuring an FPGA program, a JTAG downloading method is generally adopted at present, but only one program code can be downloaded by the method every time, when the FPGA function needs to be replaced, a new user program needs to be downloaded again through the JTAG, and the dynamic configuration of the FPGA program is inconvenient to realize.
Disclosure of Invention
The technical problem to be solved by the invention is as follows: the invention provides a dynamic FPGA configuration method, and discloses a dynamic FPGA configuration method, which can realize dynamic switching of FPGA functions in a flexible and configurable mode so as to meet different applications.
The technical scheme of the invention is as follows: a FPGA dynamic configuration method comprises the following steps:
the microprocessor realizes remote data transmission based on the Ethernet through a PHY chip, receives a remote control instruction through the Ethernet, stores the control instruction in an EEPROM, and automatically loads the last control instruction when the microprocessor is powered on next time; the control instruction is a time sequence instruction for controlling the FPGA to load different storage area codes from the BPI Flash;
the microprocessor controls BPI Flash and high two bits of address through a GPIO interface to divide the Flash into four storage areas, wherein each storage area stores one program and can dynamically configure four programs;
step (3) the FPGA downloads the user program to different storage areas in the BPI Flash through a JTAG interface;
and (4) the microprocessor controls a configuration pin of the FPGA through the GPIO interface to enable the configuration pin to generate a section of low level pulse, and after the FPGA detects the pulse, the FPGA loads user programs from different storage areas of the BPI Flash by combining with the high two bits of the BPI Flash address to realize the dynamic configuration of the FPGA function.
Furthermore, the microprocessor is connected with the Ethernet through a PHY chip, is connected with the EEPROM storage module through an I2C interface, and is also responsible for controlling the upper two bits of a BPI Flash address, controlling a configuration pin of an FPGA and controlling a power supply module; the FPGA is connected with the BPI Flash through an address line, a data line and a control line.
Furthermore, the method is suitable for Virtex-7FPGA chips of Xilinx company.
Further, the microprocessor is an STM32F 429.
Further, the BPI Flash is S29GL 01G.
Has the advantages that:
compared with the prior art, the invention has the advantages that: compared with the user program single download based on the JTAG mode, the FPGA function dynamic switching can be realized in a flexible and configurable mode so as to meet different applications.
Drawings
FIG. 1 is a block diagram of the system architecture of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be described clearly and completely with reference to the accompanying drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, rather than all embodiments, and all other embodiments obtained by a person skilled in the art based on the embodiments of the present invention belong to the protection scope of the present invention without creative efforts.
The invention relates to a FPGA dynamic configuration method, which is suitable for Virtex-7FPGA chips of Xilinx company, and the specific model is XC7V690T-2FFG 1927I; the microprocessor is STM32F 429; is suitable for S29GL01G BPI Flash. The dynamic switching of FPGA functions can be realized in a flexible and configurable mode so as to meet different applications.
The system structure block diagram of the invention is shown in fig. 1.
The system comprises a microprocessor STM32F429, XC7V690T-2FFG1927I type FPGA, S29GL01G type BPI Flash, a JTAG download module, a PHY chip, an EEPROM storage module and a power supply module. The microprocessor is connected with the Ethernet through the PHY chip, is connected with the EEPROM storage module through the I2C interface, and is also responsible for controlling the high two bits of the BPI Flash address, controlling the configuration pins of the FPGA and controlling the power supply module. The FPGA is mainly connected with the BPI Flash through an address line, a data line and a control line.
According to one embodiment of the invention, the process of performing FPRA dynamic configuration is as follows:
the microprocessor realizes remote data transmission based on the Ethernet through a PHY chip, receives a remote control instruction through the Ethernet, stores the control instruction in an EEPROM, and automatically loads the last control instruction when the microprocessor is powered on next time; the control instruction can be a time sequence instruction for controlling the FPGA to load different storage area codes from the BPI Flash.
The microprocessor controls BPI Flash and high two bits of address through a GPIO interface to divide the Flash into four storage areas, wherein each storage area stores one program and can dynamically configure four programs; the invention is optional, and the BPI Flash can be other storage modules, and is taken as an example here.
Step (3) the FPGA downloads the user program to different storage areas in the BPI Flash through a JTAG interface;
and (4) the microprocessor controls a configuration pin of the FPGA through the GPIO interface to enable the configuration pin to generate a section of low level pulse, and after the FPGA detects the pulse, the FPGA loads user programs from different storage areas of the BPI Flash by combining with the high two bits of the BPI Flash address to realize the dynamic configuration of the FPGA function. The invention respectively stores 4 programs in 4 storage areas of BPI Flash, and the dynamic configuration of FPGA among 4 programs can be realized by the method of the invention.
In summary, the present invention discloses a dynamic configuration method for an FPGA, which can implement dynamic switching of FPGA functions in a flexible and configurable manner to meet different applications.
Those skilled in the art will appreciate that the invention may be practiced without these specific details.
The foregoing is only a preferred embodiment of the present invention, and it should be noted that, for those skilled in the art, various modifications and decorations can be made without departing from the principle of the present invention, and these modifications and decorations should also be regarded as the protection scope of the present invention.

Claims (5)

1. A FPGA dynamic configuration method is characterized by comprising the following steps:
the microprocessor realizes remote data transmission based on the Ethernet through a PHY chip, receives a remote control instruction through the Ethernet, stores the control instruction in an EEPROM, and automatically loads the last control instruction when the microprocessor is powered on next time; the control instruction is a time sequence instruction for controlling the FPGA to load different storage area codes from the BPI Flash;
the microprocessor controls BPI Flash and high two bits of address through a GPIO interface to divide the Flash into four storage areas, wherein each storage area stores one program and can dynamically configure four programs;
step (3) the FPGA downloads the user program to different storage areas in the BPI Flash through a JTAG interface;
and (4) the microprocessor controls a configuration pin of the FPGA through the GPIO interface to enable the configuration pin to generate a section of low level pulse, and after the FPGA detects the pulse, the FPGA loads user programs from different storage areas of the BPI Flash by combining with the high two bits of the BPI Flash address to realize the dynamic configuration of the FPGA function.
2. The method for dynamically configuring an FPGA of claim 1, wherein:
the microprocessor is connected with the Ethernet through a PHY chip, is connected with the EEPROM storage module through an I2C interface, and is also responsible for controlling the high two bits of the BPI Flash address, controlling the configuration pins of the FPGA and controlling the power supply module; the FPGA is connected with the BPI Flash through an address line, a data line and a control line.
3. The method for dynamically configuring an FPGA of claim 1, wherein: the method is suitable for Virtex-7FPGA chips of Xilinx company.
4. The method for dynamically configuring an FPGA of claim 1, wherein: the microprocessor is STM32F 429.
5. The method for dynamically configuring an FPGA of claim 1, wherein: the BPI Flash is S29GL 01G.
CN202011522137.5A 2020-12-21 2020-12-21 FPGA dynamic configuration method Pending CN112650543A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011522137.5A CN112650543A (en) 2020-12-21 2020-12-21 FPGA dynamic configuration method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011522137.5A CN112650543A (en) 2020-12-21 2020-12-21 FPGA dynamic configuration method

Publications (1)

Publication Number Publication Date
CN112650543A true CN112650543A (en) 2021-04-13

Family

ID=75359022

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011522137.5A Pending CN112650543A (en) 2020-12-21 2020-12-21 FPGA dynamic configuration method

Country Status (1)

Country Link
CN (1) CN112650543A (en)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10355865A1 (en) * 2003-11-26 2005-06-30 Paul, Lutz, Dipl.-Ing. Electronic-mail data coding and decoding method for use in e.g. communication system, involves sending signature marked in partial cipher to local area network upon generation of BAPA keys using Diffie-Hellmann procedure
CN102360302A (en) * 2011-10-13 2012-02-22 福建星网锐捷网络有限公司 On-line upgrading method and device of configuration file of field-programmable gate array (FPGA)
CN202838306U (en) * 2012-09-06 2013-03-27 北京雪迪龙科技股份有限公司 Field programmable gata array (FPGA) configuration system based on microprocessor
CN105224503A (en) * 2015-10-10 2016-01-06 浙江大学 A kind of circuit increasing FPGA dynamic-configuration optional procedure quantity
CN106201605A (en) * 2016-06-30 2016-12-07 成都金本华电子有限公司 FPGA start-up loading FLASH upgrade-system based on FPGA and PowerPC and method
CN106372032A (en) * 2016-09-08 2017-02-01 北京航空航天大学 FPGA (field programmable gate array) dynamic reconstruction method
CN106775796A (en) * 2015-11-25 2017-05-31 大唐移动通信设备有限公司 A kind of firmware upgrade method, apparatus and system
CN107577438A (en) * 2017-09-22 2018-01-12 深圳市紫光同创电子有限公司 The partitioning method and device of the memory space of flash memory in field programmable gate array
CN107832078A (en) * 2017-09-15 2018-03-23 西南电子技术研究所(中国电子科技集团公司第十研究所) FPGA program online updating circuits based on DSP
CN109542478A (en) * 2018-11-09 2019-03-29 中电科仪器仪表有限公司 A kind of system and method updating FPGA program in SPI Flash
CN109710564A (en) * 2018-11-27 2019-05-03 上海航天电子通讯设备研究所 The large-scale wireless reconfiguration system of FPGA configurator based on VDES communication equipment
CN110045743A (en) * 2019-05-05 2019-07-23 西北工业大学 It is a kind of to be added in the air by oily visual sensing system hardware structure based on nobody of DSP and FPGA

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10355865A1 (en) * 2003-11-26 2005-06-30 Paul, Lutz, Dipl.-Ing. Electronic-mail data coding and decoding method for use in e.g. communication system, involves sending signature marked in partial cipher to local area network upon generation of BAPA keys using Diffie-Hellmann procedure
CN102360302A (en) * 2011-10-13 2012-02-22 福建星网锐捷网络有限公司 On-line upgrading method and device of configuration file of field-programmable gate array (FPGA)
CN202838306U (en) * 2012-09-06 2013-03-27 北京雪迪龙科技股份有限公司 Field programmable gata array (FPGA) configuration system based on microprocessor
CN105224503A (en) * 2015-10-10 2016-01-06 浙江大学 A kind of circuit increasing FPGA dynamic-configuration optional procedure quantity
CN106775796A (en) * 2015-11-25 2017-05-31 大唐移动通信设备有限公司 A kind of firmware upgrade method, apparatus and system
CN106201605A (en) * 2016-06-30 2016-12-07 成都金本华电子有限公司 FPGA start-up loading FLASH upgrade-system based on FPGA and PowerPC and method
CN106372032A (en) * 2016-09-08 2017-02-01 北京航空航天大学 FPGA (field programmable gate array) dynamic reconstruction method
CN107832078A (en) * 2017-09-15 2018-03-23 西南电子技术研究所(中国电子科技集团公司第十研究所) FPGA program online updating circuits based on DSP
CN107577438A (en) * 2017-09-22 2018-01-12 深圳市紫光同创电子有限公司 The partitioning method and device of the memory space of flash memory in field programmable gate array
CN109542478A (en) * 2018-11-09 2019-03-29 中电科仪器仪表有限公司 A kind of system and method updating FPGA program in SPI Flash
CN109710564A (en) * 2018-11-27 2019-05-03 上海航天电子通讯设备研究所 The large-scale wireless reconfiguration system of FPGA configurator based on VDES communication equipment
CN110045743A (en) * 2019-05-05 2019-07-23 西北工业大学 It is a kind of to be added in the air by oily visual sensing system hardware structure based on nobody of DSP and FPGA

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
刘沛文;虞亚君;: "基于FPGA的16位宽加载电路的8位宽加载方法", 电子与封装, no. 10, 20 October 2020 (2020-10-20) *
孙平, 岳筱萍: "I~2C总线技术在病房呼叫系统中的应用", 微计算机信息, no. 09, 15 September 2002 (2002-09-15) *
王维;何菲玲;陈卓;: "基于TS201的FPGA配置设计", 声学与电子工程, no. 03, 15 September 2015 (2015-09-15) *

Similar Documents

Publication Publication Date Title
CN1549961A (en) Dynamic voltage control method and apparatus
CN101593169A (en) The configuration manager of configurable logic array and collocation method
CN102200916A (en) Electronic equipment, configurable member and method for storing configuration information of configurable member
CN107704285B (en) Multi-version configuration chip, system and method for field programmable gate array
CN105159695B (en) A kind of radio-frequency module initialization system and method based on non-volatile control
US9584130B1 (en) Partial reconfiguration control interface for integrated circuits
CN103257612B (en) A kind of fpga chip of flexible configuration and collocation method thereof
JP3880310B2 (en) Semiconductor integrated circuit
CN103777972A (en) System based on field-programmable gate array, configuration method and upgrading method
CN109613970B (en) Low-power-consumption processing method based on FPGA and DSP framework
CN104050146A (en) Micro control unit (MCU) chip
CN201886458U (en) Large-scale code loading system of FPLD (field programmable logic device)
CN111190855A (en) FPGA multiple remote configuration system and method
CN102043636B (en) Method and device for loading field programmable gate array bit file
CN103890713B (en) Device and method for managing the register information in processing system
CN112650543A (en) FPGA dynamic configuration method
CN104049995A (en) Method and device for configuring FPGA (field programmable gate array) in MCU (microprogrammed control unit) chip
CN203250312U (en) Extensible common core processing daughter board with interferences
CN104656871A (en) Method for reducing power consumption of electronic device and electronic device
CN109542484A (en) A kind of method and system of online updating FPGA configuration chip
CN105550010A (en) Wireless intelligent program loading method and system based on SoC
CN101127027B (en) FPGA loading method and its equipment
CN103853561A (en) Embedded satellite-born software refactoring system and method
CN104133545A (en) State machines of power management module of system-on-chip and creating method thereof
JP2001512258A (en) Circuit device for memory occupation area management and processing of user program in small control unit

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