CN105573789B - The many image upgrade loading methods of FPGA and device based on soft-core processor - Google Patents

The many image upgrade loading methods of FPGA and device based on soft-core processor Download PDF

Info

Publication number
CN105573789B
CN105573789B CN201510937954.XA CN201510937954A CN105573789B CN 105573789 B CN105573789 B CN 105573789B CN 201510937954 A CN201510937954 A CN 201510937954A CN 105573789 B CN105573789 B CN 105573789B
Authority
CN
China
Prior art keywords
module
fpga
core processor
soft
data
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.)
Active
Application number
CN201510937954.XA
Other languages
Chinese (zh)
Other versions
CN105573789A (en
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.)
Wuhan Jingce Electronic Group Co Ltd
Original Assignee
Wuhan Jingce Electronic 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 Wuhan Jingce Electronic Technology Co Ltd filed Critical Wuhan Jingce Electronic Technology Co Ltd
Priority to CN201510937954.XA priority Critical patent/CN105573789B/en
Publication of CN105573789A publication Critical patent/CN105573789A/en
Priority to PCT/CN2016/087212 priority patent/WO2017041567A1/en
Priority to KR1020187010046A priority patent/KR102504172B1/en
Application granted granted Critical
Publication of CN105573789B publication Critical patent/CN105573789B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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
    • 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/44505Configuring for program initiating, e.g. using registry, configuration files

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)

Abstract

The invention discloses a kind of many image upgrade loading methods of FPGA based on soft-core processor, by the way of single FPGA, it is internally embedded soft-core processor and each control block to realize interface function, realize that program file caching function, realization complete the interconnection interface function of chip-scale with CPLD, upgrading loading method is completed jointly by FPGA and CPLD;The invention also discloses a kind of many image upgrade loading devices of FPGA based on soft-core processor, described device includes:Host computer, interface transceiver module, FPGA module, external cache module, outer memory module, CPLD modules.So as to realize many mirror images of FPGA based on different application scene quickly upgrading and flexibly loading.

Description

FPGA multi-image upgrading and loading method and device based on soft-core processor
Technical Field
The invention relates to the field of FPGA (field programmable gate array) upgrading and loading, in particular to a method and a device for FPGA multi-image upgrading and loading.
Background
At present, there are two main ways of program upgrading of an FPGA (Field Programmable Gate Array): using an FPGA programmer to upgrade the FPGA program through burning software of the FPGA; and the FPGA sends the program file of the FPGA to the FPGA through application software, and the FPGA carries out program self-upgrade through an internal RSU function.
Both of these two methods have certain limitations, and the first upgrading method has the disadvantages that: the upgrading speed is very slow, remote upgrading cannot be carried out, and only single-image program file upgrading is supported; the second upgrading mode has the advantages and disadvantages that: the method has the advantages of supporting remote upgrading and having the defect of low upgrading speed and only supporting single-image program file upgrading.
With the continuous development of the FPGA technology, peripheral functions that the FPGA can complete are more and more abundant, and applications with different functions can be completed in the same FPGA, but the functions supported by the FPGA cannot be completely placed in the same mirror image program due to the limitation of the FPGA resources, and when the same mirror image program includes multiple functions, the stability, timing sequence and power consumption of the whole system are greatly affected. In order to solve the problems, the functions can be divided according to different application scenes, different mirror image files are adopted in the same FPGA to complete different functions, and the purposes of optimizing time sequence, reducing power consumption, improving system stability and the like are achieved.
Disclosure of Invention
The invention provides a method and a device for upgrading and loading a multi-image of an FPGA (field programmable gate array) based on a soft-core processor, aiming at solving the problems of low upgrading speed and small number of images of the current FPGA program and realizing rapid upgrading and flexible loading of the multi-image of the FPGA based on different application scenes.
On one hand, the invention provides an FPGA multi-image upgrading and loading method based on a soft-core processor, which comprises the following steps:
the method comprises the steps that an upper computer selects a mirror image file needing to be upgraded, an upgrade starting command is issued through an interface, a protocol stack in the FPGA analyzes command information and then sends the command information to a soft core processor module of the FPGA, the soft core processor module of the FPGA obtains the file name and the file length of an upgrade mirror image according to the command, and then sends a message packet that the FPGA is ready for upgrading to the upper computer;
after receiving the packet, the upper computer starts to issue mirror image file data;
the soft core processor module of the FPGA stores the image file data sent by the upper computer into an external cache module through the control module by setting the control module of the FPGA;
after the image file data is issued, the soft core processor module of the FPGA informs the soft core processor module of the CPLD through the control module, and transmits the file name and the file length of the image file to the CPLD;
after the CPLD is ready, the soft core processor module of the FPGA reads out image file data needing to be upgraded from an external cache module of the FPGA through a control module of the FPGA, and then sends the image file data to the CPLD through a main external bus interface, and the soft core processor module of the CPLD reads the data through the external bus interface and then sends the data to a storage control block to finish the storage of the upgraded image file;
after all data are written into the external storage module of the CPLD, the CPLD sets the current mirror image file as the next loading file and updates the state of the register after upgrading, and after the soft kernel processor module of the FPGA inquires the state of the register, the upper computer is informed of finishing the upgrading operation through an interface;
and after the upgrading is finished, the loading of the FPGA is realized.
Further, the soft core processor module of the FPGA stores the image file data sent by the upper computer into an external cache module through a cache control block in the control module by setting a main control block in the FPGA control module.
Further, after the image file data is sent, the soft core processor module of the FPGA notifies the soft core processor module of the CPLD through the main external storage interface control block in the control module.
Further, after the upgrade is completed, the method for implementing loading of the FPGA specifically includes:
after the FPGA image file is upgraded, the CPLD actively reads the image file which is just upgraded from the external storage module, and sends the image file to the configuration module of the FPGA to realize the loading of the FPGA.
On the other hand, the invention provides an FPGA multi-image upgrading loading device based on a soft core processor, which comprises: the device comprises an upper computer, an interface transceiver module, an FPGA module, an external cache module, an external storage module and a CPLD module; wherein,
the upper computer is used for man-machine interaction and carrying out program upgrading and mirror image switching control;
the interface transceiving module is used for bidirectional communication interaction between the upper computer and the FPGA module;
the FPGA module is used for integrating the soft-core processor and the respective definition function modules;
the external cache module is used for temporarily storing the data to be processed by the system;
the external storage module is used for storing program file data of the FPGA;
and the CPLD module and the external mounting memory are used for storing the program file of the FPGA and communicating with the FPGA module to complete program upgrading.
Further, the FPGA module includes: the system comprises a protocol stack module, a control module, a soft-core processor module and a configuration module; wherein,
the protocol stack module is used for analyzing the data transmitted by the interface, transmitting the command data to the soft-core processor module and transmitting the mirror image file data to the control module;
the control module is used for exchanging and controlling data with the protocol stack module, the soft-core processor module, the external cache module and the CPLD module;
the soft core processor module is used for scheduling tasks in the FPGA, managing a file system, analyzing and distributing control commands and controlling a work flow;
and the configuration module is used for entering an initialization state after receiving the program file data of the FPGA, then entering a user state and executing corresponding user application operation.
Further, the control module of the FPGA includes: the device comprises a main control block, a cache control block and a main external storage interface control block; wherein,
the main control block is used for large data volume transmission, bus switching and multiplexing;
the cache control block is used for interacting with the main control block data and performing read-write access on the external cache module;
and the main external storage interface control block is used for carrying out data interaction with the main control block and controlling an external bus to carry out data transmission with the CPLD.
Further, the CPLD module includes: the device comprises a storage control block, a soft-core processor module and a loading module; wherein,
the storage control block is used for performing data interaction with the soft-core processor module, the loading module, the FPGA module and the external storage module, and controlling, forwarding and storing upgrading program file data and upgrading command data;
the soft-core processor module is used for scheduling internal tasks of the CPLD, managing a file system, analyzing and distributing control commands and controlling a work flow;
the loading module is used for receiving the FPGA program file data sent by the storage control block, controlling an external bus and sending the program file data to the configuration module in the FPGA.
Further, the memory control block includes: from the external storage interface control subblock, store the control subblock; wherein,
the slave external storage interface control sub-block is used for performing bus interaction with the FPGA, receiving upgrading program file data and upgrading command data of the FPGA, forwarding the program file data to the storage control sub-block, and forwarding the command data to the soft core processor module of the CPLD;
the storage control sub-block is used for receiving data from the external storage interface control sub-block, storing the data into the external storage module, receiving a control command of the soft-core processor module, reading program file data of the FPGA from the external storage module, and sending the program file data to the loading module.
In the technical scheme, the FPGA multi-image upgrading and loading method and device based on the soft-core processor adopt a single FPGA mode, and the soft-core processor and each control block are embedded inside the FPGA multi-image upgrading and loading device to realize an interface function, a program file caching function, a chip-level interconnection bus interface function completed by the same CPLD and the like. And the single CPLD is adopted to realize the multi-image program file upgrading management of the FPGA, the selection, loading and starting functions of the FPGA program file and the like.
In the technical scheme, the method for realizing the remote upgrade is jointly completed by the FPGA and the CPLD.
In the technical scheme, the FPGA multi-image upgrading and loading method and device based on the soft-core processor have the main functions of completing multi-image program upgrading of the FPGA and selecting a corresponding image file to load the FPGA according to related configuration. The loading method comprises the following steps:
the multi-image loading of the FPGA is mainly completed by the assistance of the CPLD, firstly, after the CPLD normally operates, the CPLD selects a corresponding FPGA image file by reading the configuration information of the external storage memory, then, the image file data is read out from the external storage module and sent to the configuration module of the FPGA, and the loading starting of the FPGA is realized.
Compared with the prior art, the invention has the following advantages:
(1) the remote upgrading time is greatly shortened, and the upgrading process of a single image file is completed within 2 seconds. Whereas, the program upgrading method for the FPGA by adopting the programmer is about 3 minutes, and the remote upgrading mode with the RSU function is about 40 seconds.
(2) The device supports multiple mirror image functions and supports 2 and more than 2 FPGA mirror image files according to the size of an external storage space. The application programs of the plurality of FPGA are programmed into the device at one time, different image files can be selected to be started through setting in practical application, the application diversity of the device is met, and the operation of repeatedly upgrading the programs in different application processes is avoided.
Drawings
FIG. 1 is a schematic diagram of an FPGA multi-image upgrade loading device composition based on a soft core processor;
FIG. 2 is another schematic diagram of an FPGA multi-image upgrade loading device based on a soft-core processor.
The following reference numerals are marked thereon in conjunction with the accompanying drawings: the system comprises an upper computer 1, a 2-interface transceiving module, a 3-FPGA module, a 4-external cache module, a 5-external storage module and a 6-CPLD module.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
On one hand, the invention provides an FPGA multi-image upgrading and loading method based on a soft-core processor, which comprises the following steps:
the method comprises the steps that an upper computer selects a mirror image file needing to be upgraded, an upgrade starting command is issued through an interface, a protocol stack in the FPGA analyzes command information and then sends the command information to a soft core processor module of the FPGA, the soft core processor module of the FPGA obtains the file name and the file length of an upgrade mirror image according to the command, and then sends a message packet that the FPGA is ready for upgrading to the upper computer;
after receiving the packet, the upper computer starts to issue mirror image file data;
the soft core processor module of the FPGA stores the image file data sent by the upper computer into an external cache module through the control module by setting the control module of the FPGA;
after the image file data is issued, the soft core processor module of the FPGA informs the soft core processor module of the CPLD through the control module, and transmits the file name and the file length of the image file to the CPLD;
after the CPLD is ready, the soft core processor module of the FPGA reads out image file data needing to be upgraded from an external cache module of the FPGA through a control module of the FPGA, and then sends the image file data to the CPLD through a main external bus interface, and the soft core processor module of the CPLD reads the data through the external bus interface and then sends the data to a storage control block to finish the storage of the upgraded image file;
after all data are written into the external storage module of the CPLD, the CPLD sets the current mirror image file as the next loading file and updates the state of the register after upgrading, and after the soft kernel processor module of the FPGA inquires the state of the register, the upper computer is informed of finishing the upgrading operation through an interface;
and after the upgrading is finished, the loading of the FPGA is realized.
Further, the soft core processor module of the FPGA stores the image file data sent by the upper computer into an external cache module through a cache control block in the control module by setting a main control block in the FPGA control module.
Further, after the image file data is sent, the soft core processor module of the FPGA notifies the soft core processor module of the CPLD through the main external storage interface control block in the control module.
Further, after the upgrade is completed, the method for implementing loading of the FPGA specifically includes:
after the FPGA image file is upgraded, the CPLD actively reads the image file which is just upgraded from the external storage module, and sends the image file to the configuration module of the FPGA to realize the loading of the FPGA.
In the technical scheme, the soft-core processor comprises Nios II series products.
On the other hand, as shown in fig. 1, fig. 1 is a schematic diagram of an FPGA multi-image upgrade loading device based on a soft-core processor, where the upgrade loading device includes: the system comprises an upper computer 1, an interface transceiver module 2, an FPGA module 3, an external cache module 4, an external storage module 5 and a CPLD module 6; wherein,
the upper computer 1 is used for man-machine interaction and carrying out program upgrading and mirror image switching control;
the interface transceiver module 2 is used for bidirectional communication interaction between the upper computer 1 and the FPGA module 3; optionally, the interface includes an ethernet interface, a serial port, and a USB interface;
the FPGA module 3 is used for integrating a soft-core processor and defining function modules respectively;
the external cache module 4 is used for temporarily storing data to be processed by the system; optionally, the external cache module comprises a DDR series memory;
the external storage module 5 is used for storing program file data of the FPGA; optionally, the external storage module includes a nand flash and a nor flash;
and the CPLD module 6 and the external mounting memory are used for storing the program file of the FPGA and communicating with the FPGA module 3 to finish program upgrading.
Further, the FPGA module 3 includes: a protocol stack module 31, a control module 32, a soft core processor module 33, and a configuration module 34; wherein,
the protocol stack module 31 is configured to parse data transmitted by the interface, transmit command data to the soft-core processor module 33, and transmit image file data to the control module 32;
the control module 32 is used for exchanging and controlling data with the protocol stack module 31, the soft core processor module 33, the external cache module 4 and the CPLD module 6;
the soft core processor module 33 is used for scheduling tasks in the FPGA, managing a file system, analyzing and distributing control commands, and controlling a work flow;
the configuration module 34 is configured to enter an initialization state after receiving the program file data of the FPGA, and then enter a user state to execute a corresponding user application operation.
Further, the CPLD module 6 includes: a storage control block 61, a soft core processor module 62, and a loading module 63; wherein,
the storage control block 61 is used for performing data interaction with the soft core processor module 62, the loading module 63, the FPGA module 3 and the external storage module 5, and controlling, forwarding and storing upgrade program file data and upgrade command data;
the soft-core processor module 62 is used for scheduling internal tasks of the CPLD, managing a file system, analyzing and distributing control commands, and controlling a workflow;
the loading module 63 is configured to receive the FPGA program file data sent by the storage control block, control the external bus, and send the program file data to the configuration module inside the FPGA.
FIG. 2 is another schematic diagram of an FPGA multi-image upgrade loading device based on a soft-core processor. As shown in fig. 2, the upgrade loading apparatus includes: the system comprises an upper computer 1, an interface transceiver module 2, an FPGA module 3, an external cache module 4, an external storage module 5 and a CPLD module 6; wherein,
the upper computer 1 is used for man-machine interaction and carrying out program upgrading and mirror image switching control;
the interface transceiver module 2 is used for bidirectional communication interaction between the upper computer 1 and the FPGA module 3; optionally, the interface includes an ethernet interface, a serial port, and a USB interface;
the FPGA module 3 is used for integrating a soft-core processor and defining function modules respectively;
the external cache module 4 is used for temporarily storing data to be processed by the system; optionally, the external cache module comprises a DDR series memory;
the external storage module 5 is used for storing program file data of the FPGA; optionally, the external storage module includes a nand flash and a nor flash;
and the CPLD module 6 and the external mounting memory are used for storing the program file of the FPGA and communicating with the FPGA module 3 to finish program upgrading.
Further, the FPGA module 3 includes: a protocol stack module 31, a control module 32, a soft core processor module 33, and a configuration module 34; wherein,
the protocol stack module 31 is configured to parse data transmitted by the interface, transmit command data to the soft-core processor module 33, and transmit image file data to the control module 32;
the control module 32 is used for exchanging and controlling data with the protocol stack module 31, the soft core processor module 33, the external cache module 4 and the CPLD module 6;
the soft core processor module 33 is used for scheduling tasks in the FPGA, managing a file system, analyzing and distributing control commands, and controlling a work flow;
the configuration module 34 is configured to enter an initialization state after receiving the program file data of the FPGA, then enter a user state, and execute a corresponding user application operation after entering the user state.
Further, the CPLD module 6 includes: a storage control block 61, a soft core processor module 62, and a loading module 63; wherein,
the storage control block 61 is used for performing data interaction with the soft core processor module 62, the loading module 63, the FPGA module 3 and the external storage module 5, and controlling, forwarding and storing upgrade program file data and upgrade command data;
the soft-core processor module 62 is used for scheduling internal tasks of the CPLD, managing a file system, analyzing and distributing control commands, and controlling a workflow;
the loading module 63 is configured to receive the FPGA program file data sent by the storage control block, control the external bus, and send the program file data to the configuration module inside the FPGA.
Further, the control module 32 of the FPGA module includes: a main control block 321, a cache control block 322, a main external storage interface control block 323; wherein,
the main control block 321 is used for large data volume transmission, bus switching and multiplexing;
the cache control block 322 is configured to interact with the main control block 321, and perform read-write access on the external cache module 4;
the main external storage interface control block 323 is configured to perform data interaction with the main control block 321, and control an external bus to perform data transmission with the CPLD.
Further, the storage control module 61 of the CPLD module includes: from external storage interface control sub-block 611, storage control sub-block 612; wherein,
the slave external storage interface control sub-block 611 is configured to perform bus interaction with the FPGA, receive upgrade program file data and upgrade command data of the FPGA, forward the program file data to the storage control sub-block 612, and forward the command data to the soft core processor module 62 of the CPLD;
the storage control sub-block 612 is configured to receive data from the external storage interface control sub-block 611, store the data in the external storage module 5, receive a control command of the soft-core processor module 62, read program file data of the FPGA from the external storage module 5, and send the program file data to the loading module 63.
In the technical scheme, the loading mode has two applications, namely online loading and power-on loading:
1) online loading
The first situation is that after the FPGA image file is upgraded, the CPLD can actively read the image file which is just upgraded from an external storage module and send the image file to a configuration module of the FPGA, so that the loading and starting of the FPGA are realized.
And in the second situation, in the running process of the program, after the application scene of the upper computer is changed (namely different functions are selected), the application software sends the changed application scene to a soft-core processor of the FPGA through an interface, the soft-core processor automatically searches for a proper application image according to the received application scene, then sends the name of the image file to be switched to the soft-core processor of the CPLD through a main external bus interface, and sends a switching image command, and the soft-core processor of the CPLD reads out the image file to be loaded from an external memory according to the name of the image file sent by the soft-core processor of the FPGA and sends the image file to a configuration module of the FPGA to realize the loading and starting of the FPGA.
2) Power-on loading
The power-on loading is mainly applied to FPGA loading in power-on. After the CPLD is electrified, the CPLD selects the image file to be loaded according to the configuration information of the current loaded image, reads the image file to be loaded from the external memory, and sends the image file to the configuration module of the FPGA to realize the loading and starting of the FPGA.
In the technical scheme, the multi-image file refers to a plurality of FPGA programs with different functions, and only one program can be upgraded each time, the programs cannot be upgraded simultaneously, but the programs can be upgraded sequentially. Upgrading one file 2s at a time can be done.
Finally, it should be noted that: although the present invention has been described in detail with reference to the foregoing embodiments, it will be apparent to those skilled in the art that changes may be made in the embodiments and/or equivalents thereof without departing from the spirit and scope of the invention. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims (9)

1. A FPGA multi-image upgrading and loading method based on a soft-core processor is characterized by comprising the following steps:
the method comprises the steps that an upper computer selects a mirror image file needing to be upgraded, an upgrade starting command is issued through an interface, a protocol stack in the FPGA analyzes command information and then sends the command information to a soft core processor module of the FPGA, the soft core processor module of the FPGA obtains the file name and the file length of an upgrade mirror image according to the command, and then sends a message packet that the FPGA is ready for upgrading to the upper computer;
after receiving the packet, the upper computer starts to issue mirror image file data;
the soft core processor module of the FPGA stores the image file data sent by the upper computer into an external cache module through the control module by setting the control module of the FPGA;
after the image file data is issued, the soft core processor module of the FPGA informs the soft core processor module of the CPLD through the control module, and transmits the file name and the file length of the image file to the CPLD;
after the CPLD is ready, the soft core processor module of the FPGA reads out image file data needing to be upgraded from an external cache module of the FPGA through a control module of the FPGA, and then sends the image file data to the CPLD through a main external bus interface, and the soft core processor module of the CPLD reads the data through the external bus interface and then sends the data to a storage control block to finish the storage of the upgraded image file;
after all data are written into the external storage module of the CPLD, the CPLD sets the current mirror image file as the next loading file and updates the state of the register after upgrading, and after the soft kernel processor module of the FPGA inquires the state of the register, the upper computer is informed of finishing the upgrading operation through an interface;
and after the upgrading is finished, the loading of the FPGA is realized.
2. The upgrade loading method according to claim 1, wherein the soft core processor module of the FPGA, by setting the control module of the FPGA, stores the image file data issued by the upper computer into the external cache module through the control module, and the specific implementation method is as follows:
the soft core processor module of the FPGA stores the image file data sent by the upper computer into an external cache module through a cache control block in the control module by setting a main control block in the FPGA control module.
3. The upgrade loading method according to claim 1, wherein after the image file data is completely issued, the specific implementation method for the soft core processor module of the FPGA to notify the soft core processor module of the CPLD through the control module is as follows:
after the image file data is issued, the soft core processor module of the FPGA informs the soft core processor module of the CPLD through the main external storage interface control block in the control module.
4. The upgrade loading method according to claim 1, wherein the method for implementing loading of the FPGA after the upgrade is completed specifically comprises:
after the FPGA image file is upgraded, the CPLD actively reads the image file which is just upgraded from the external storage module, and sends the image file to the configuration module of the FPGA to realize the loading of the FPGA.
5. The utility model provides a loading device is upgraded to FPGA many mirrors based on soft core processor which characterized in that, the device includes: the device comprises an upper computer, an interface transceiver module, an FPGA module, an external cache module, an external storage module and a CPLD module; wherein,
the upper computer is used for man-machine interaction and carrying out program upgrading and mirror image switching control;
the interface transceiving module is used for bidirectional communication interaction between the upper computer and the FPGA module;
the FPGA module is used for integrating the soft-core processor and the respective definition function modules;
the external cache module is used for temporarily storing the data to be processed by the system;
the external storage module is used for storing program file data of the FPGA;
and the CPLD module and the external mounting memory are used for storing the program file of the FPGA and communicating with the FPGA module to complete program upgrading.
6. The upgrade loading apparatus according to claim 5, wherein the FPGA module comprises: the system comprises a protocol stack module, a control module, a soft-core processor module and a configuration module; wherein,
the protocol stack module is used for analyzing the data transmitted by the interface, transmitting the command data to the soft-core processor module and transmitting the mirror image file data to the control module;
the control module is used for exchanging and controlling data with the protocol stack module, the soft-core processor module, the external cache module and the CPLD module;
the soft core processor module is used for scheduling tasks in the FPGA, managing a file system, analyzing and distributing control commands and controlling a work flow;
and the configuration module is used for entering an initialization state after receiving the program file data of the FPGA, then entering a user state and executing corresponding user application operation.
7. The upgrade loading apparatus according to claim 6, wherein the control module comprises: the device comprises a main control block, a cache control block and a main external storage interface control block; wherein,
the main control block is used for large data volume transmission, bus switching and multiplexing;
the cache control block is used for interacting with the main control block data and performing read-write access on the external cache module;
and the main external storage interface control block is used for carrying out data interaction with the main control block and controlling an external bus to carry out data transmission with the CPLD.
8. The upgrade loading device according to claim 5, wherein the CPLD module includes: the device comprises a storage control block, a soft-core processor module and a loading module; wherein,
the storage control block is used for performing data interaction with the soft-core processor module, the loading module, the FPGA module and the external storage module, and controlling, forwarding and storing upgrading program file data and upgrading command data;
the soft-core processor module is used for scheduling internal tasks of the CPLD, managing a file system, analyzing and distributing control commands and controlling a work flow;
the loading module is used for receiving the FPGA program file data sent by the storage control block, controlling an external bus and sending the program file data to the configuration module in the FPGA.
9. The upgrade loading apparatus according to claim 8, wherein the storage control block comprises: from the external storage interface control subblock, store the control subblock; wherein,
the slave external storage interface control sub-block is used for performing bus interaction with the FPGA, receiving upgrading program file data and upgrading command data of the FPGA, forwarding the program file data to the storage control sub-block, and forwarding the command data to the soft core processor module of the CPLD;
the storage control sub-block is used for receiving data from the external storage interface control sub-block, storing the data into the external storage module, receiving a control command of the soft-core processor module, reading program file data of the FPGA from the external storage module, and sending the program file data to the loading module.
CN201510937954.XA 2015-09-07 2015-12-16 The many image upgrade loading methods of FPGA and device based on soft-core processor Active CN105573789B (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201510937954.XA CN105573789B (en) 2015-09-07 2015-12-16 The many image upgrade loading methods of FPGA and device based on soft-core processor
PCT/CN2016/087212 WO2017041567A1 (en) 2015-09-07 2016-06-27 Fpga multi-mirror upgrade loading method and device based on soft core processor
KR1020187010046A KR102504172B1 (en) 2015-09-07 2016-06-27 FPGA multi-mirror upgrade loading method and apparatus based on soft core processor

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2015105629847 2015-09-07
CN201510562984 2015-09-07
CN201510937954.XA CN105573789B (en) 2015-09-07 2015-12-16 The many image upgrade loading methods of FPGA and device based on soft-core processor

Publications (2)

Publication Number Publication Date
CN105573789A CN105573789A (en) 2016-05-11
CN105573789B true CN105573789B (en) 2017-08-08

Family

ID=55883962

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510937954.XA Active CN105573789B (en) 2015-09-07 2015-12-16 The many image upgrade loading methods of FPGA and device based on soft-core processor

Country Status (3)

Country Link
KR (1) KR102504172B1 (en)
CN (1) CN105573789B (en)
WO (1) WO2017041567A1 (en)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105573789B (en) * 2015-09-07 2017-08-08 武汉精测电子技术股份有限公司 The many image upgrade loading methods of FPGA and device based on soft-core processor
CN106056678B (en) * 2016-05-24 2019-12-10 北京万集科技股份有限公司 RSU program updating method and system
CN107038040A (en) * 2016-11-01 2017-08-11 中国人民解放军国防科学技术大学 FPGA based on PCIE more new systems and update method
CN106598650A (en) * 2016-11-25 2017-04-26 积成电子股份有限公司 Device and method for online upgrade of FPGA program based on fiber communication
CN107255975B (en) * 2017-07-21 2020-03-27 中国电子科技集团公司第二十九研究所 Device and method for realizing rapid loading of FPGA (field programmable Gate array) program by utilizing high-speed bus
CN109426511B (en) * 2017-08-18 2022-03-22 西安诺瓦星云科技股份有限公司 Soft core updating method and system
CN107566524A (en) * 2017-10-11 2018-01-09 中船重工(武汉)凌久电子有限责任公司 A kind of remote loading management system and remote loading management method based on Ethernet
CN108153541A (en) * 2017-12-13 2018-06-12 天津津航计算技术研究所 FPGA online upgrading methods based on 1553B buses
CN108037945A (en) * 2017-12-13 2018-05-15 天津津航计算技术研究所 FPGA online upgrading devices based on 1553B buses
CN108089877A (en) * 2018-01-23 2018-05-29 国网江苏省电力有限公司苏州供电分公司 FPGA Added Managements module and FPGA configuration systems
CN108415715A (en) * 2018-02-12 2018-08-17 四川爱创科技有限公司 Method for upgrading software based on scene analysis suitable for automatic vending machine
CN109240758B (en) * 2018-07-25 2021-10-29 武汉精测电子集团股份有限公司 Method for supporting synchronous asynchronous unified call of plug-in interface and microkernel system
CN109117160A (en) * 2018-08-15 2019-01-01 广州南方卫星导航仪器有限公司 GNSS host, system and method with online upgrading CPLD firmware
CN109117165A (en) * 2018-09-25 2019-01-01 上海古鳌电子科技股份有限公司 A kind of upgrade-system and its upgrade method based on IAP
CN109542484B (en) * 2018-11-20 2022-02-18 浪潮集团有限公司 Method and system for updating FPGA configuration chip on line
CN109683985B (en) * 2018-12-19 2021-10-22 中国电子科技集团公司第五十四研究所 DSP multi-image starting method based on AIS command
CN109828287A (en) * 2019-03-04 2019-05-31 上海华测导航技术股份有限公司 A kind of navigation positional device, firmware maintenance method and computer readable storage medium
CN109981183A (en) * 2019-03-12 2019-07-05 东莞铭普光磁股份有限公司 A kind of communication system and its optical module
CN110442365A (en) * 2019-07-26 2019-11-12 锐捷网络股份有限公司 The upgrade method and device of programmable logic device
CN110532012B (en) * 2019-09-03 2023-08-08 武汉虹信科技发展有限责任公司 Distributed system software upgrading method and device
CN110635569A (en) * 2019-09-24 2019-12-31 南京智联达科技有限公司 Power distribution terminal design architecture and method based on Linux
CN111008027A (en) * 2019-11-22 2020-04-14 中国航空工业集团公司洛阳电光设备研究所 Networked software reinjection and loading method based on airborne photoelectric equipment
CN110865972B (en) * 2019-11-25 2023-02-28 中国科学院微小卫星创新研究院 Satellite-borne FPGA reconstruction and upper injection system
KR200491757Y1 (en) 2019-12-09 2020-06-02 황태민 Wall-Mountable And Rotatable Supporter For Fire Extinguisher
CN111176691B (en) * 2019-12-31 2024-03-19 华东理工大学 Flowmeter control system, flowmeter control method and flowmeter control method
CN111414182B (en) * 2020-03-30 2023-09-19 郑州智驱科技有限公司 SPI-based FPGA remote upgrading method
CN112131537B (en) * 2020-09-25 2023-10-20 北京计算机技术及应用研究所 Encryption and decryption method for ZYNQ chip program image file
CN112148317A (en) * 2020-09-30 2020-12-29 昂纳信息技术(深圳)有限公司 Online upgrading device of laser radar system and laser radar system
CN112214345B (en) * 2020-11-02 2022-12-06 西安电子工程研究所 Multi-loading-based multi-FPGA software programming fault recovery method
CN112486515B (en) * 2020-11-29 2022-09-30 中国航空工业集团公司洛阳电光设备研究所 FPGA software online upgrading method based on 1K-XModem protocol
CN112799700B (en) * 2021-01-28 2022-11-25 西安电子科技大学 Satellite ground control system and method
CN112835603A (en) * 2021-02-20 2021-05-25 山东英信计算机技术有限公司 FPGA remote upgrading device and method based on WebServer
CN112965734A (en) * 2021-03-05 2021-06-15 上海电气集团股份有限公司 Spartan6 series FPGA multi-mirror image program remote refreshing method
CN112799743A (en) * 2021-04-13 2021-05-14 浙江华创视讯科技有限公司 Method and device for loading system file of slave processor unit and electronic equipment
CN113270137B (en) * 2021-04-29 2024-06-14 北京航天飞腾装备技术有限责任公司 DDR2 testing method based on FPGA embedded soft core
CN113238787B (en) * 2021-05-06 2023-10-27 西北工业大学 Ethernet-based DSP local online upgrading method
CN113806282A (en) * 2021-08-31 2021-12-17 歌尔股份有限公司 Heterogeneous control system and loading method thereof
CN113778487A (en) * 2021-09-10 2021-12-10 深圳朴生智能科技有限公司 Software uploading system and method of intelligent processing module
CN113961505B (en) * 2021-10-14 2024-09-13 南京熊猫电子制造有限公司 High-performance hardware acceleration and algorithm verification system and method
CN114185581B (en) * 2021-11-25 2024-04-09 北京遥测技术研究所 1553B-based method and 1553B-based system for on-orbit upgrading of FPGA program
CN114780449B (en) * 2022-04-01 2022-11-25 扬州宇安电子科技有限公司 Data storage and transmission system based on ZYNQ chip
CN114706604A (en) * 2022-06-07 2022-07-05 杭州加速科技有限公司 FPGA rescue method and device
CN115562465B (en) * 2022-09-14 2023-08-01 中国科学院空间应用工程与技术中心 Resetting method and system for soft core processor in FPGA system
CN115857998B (en) * 2023-02-10 2023-05-23 国仪量子(合肥)技术有限公司 Upgrade method, device and medium based on ZYNQ and FPGA architecture

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040024384A (en) * 2002-09-14 2004-03-20 엘지전자 주식회사 Reconfiguration apparatus for field programmable gate array
US7391237B2 (en) * 2005-04-29 2008-06-24 O2 Micro International Limited Robust and economic solution for FPGA bitfile upgrade
CN101131648A (en) * 2006-08-25 2008-02-27 深圳迈瑞生物医疗电子股份有限公司 On-line updating method for USB interface control panel
CN101573703A (en) * 2006-10-03 2009-11-04 朗讯科技公司 Method and apparatus for reconfiguring IC architectures
KR20080059973A (en) * 2006-12-26 2008-07-01 삼성전자주식회사 Apparatus and method for configuration/booting data of fpga or dsp in communication system
JP2008177900A (en) * 2007-01-19 2008-07-31 Fujitsu Ltd Data communication apparatus, set information updating method and set information updating program
JP5742362B2 (en) * 2011-03-28 2015-07-01 富士通株式会社 Evacuation processing device
US9055069B2 (en) * 2012-03-19 2015-06-09 Xcelemor, Inc. Hardware computing system with software mediation and method of operation thereof
CN103019779B (en) * 2012-11-30 2015-11-25 北京遥测技术研究所 A kind of method for updating program of FPGA/DSP embedded system
CN104935786B (en) * 2015-05-28 2018-03-27 武汉精测电子集团股份有限公司 A kind of method of image signal source and its processing picture signal based on soft processor
CN105573789B (en) * 2015-09-07 2017-08-08 武汉精测电子技术股份有限公司 The many image upgrade loading methods of FPGA and device based on soft-core processor

Also Published As

Publication number Publication date
WO2017041567A1 (en) 2017-03-16
CN105573789A (en) 2016-05-11
KR102504172B1 (en) 2023-02-24
KR20180077163A (en) 2018-07-06

Similar Documents

Publication Publication Date Title
CN105573789B (en) The many image upgrade loading methods of FPGA and device based on soft-core processor
JP6554184B2 (en) Soft processor based image signal source system and image signal processing method
CN110309088B (en) ZYNQ FPGA chip, data processing method thereof and storage medium
CN104570846A (en) FPGA (field programmable gate array) reconfiguration controller and control method thereof
CN107277390B (en) Zynq-based multi-channel video splicing system
JP2007233522A (en) Dma data transfer device and dma data transfer method
CN102609215A (en) Data processing method and device
CN109669729A (en) A kind of starting bootstrap technique of processor
CN105955897B (en) Data store access methods, devices and systems
WO2014169637A1 (en) Dma controller, mobile terminal and data transport method
CN109086168A (en) A kind of method and its system using hardware backup solid state hard disk writing rate
CN102279729A (en) Method, buffer and processor for dynamic reconfigurable array to schedule configuration information
CN105389134A (en) Flash memory interface control method and apparatus
JP6115482B2 (en) Electronic control unit
CN103197954B (en) Information processor and the method controlling information processor
CN113672172A (en) Data interaction method and receiving card applied to LED display control system
CN102193884B (en) Data transfer circuit and method
WO2020122024A1 (en) Network interface card, computer, circuit information rewriting method and program
CN204706031U (en) Serial peripheral equipment interface SPI bus circuit and electronic equipment
CN106897021A (en) A kind of method and apparatus for reading and writing data
CN108073412B (en) Device and method for wireless upgrading and intelligent loading of FPGA (field programmable gate array) based on WIFI (wireless fidelity)
US10461957B2 (en) System and method for supporting both bulk storage and Ethernet communications
CN108052379B (en) Multi-task operation method and device of SPI-NAND
US20140149767A1 (en) Memory controller and operating method of memory controller
CN117112466B (en) Data processing method, device, equipment, storage medium and distributed cluster

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 430070 Hubei City, Hongshan Province, South Lake Road, No. 53, Hongshan Venture Center, building on the 4 floor, No.

Patentee after: Wuhan fine test electronics group Limited by Share Ltd

Address before: 430070 Hubei City, Hongshan Province, South Lake Road, No. 53, Hongshan Venture Center, building on the 4 floor, No.

Patentee before: Wuhan Jingce Electronic Technology Co., Ltd.