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 PDFInfo
- 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
Links
- 238000011068 loading method Methods 0.000 title claims abstract description 72
- 230000006870 function Effects 0.000 claims abstract description 23
- 230000003993 interaction Effects 0.000 claims description 18
- 238000000034 method Methods 0.000 claims description 18
- 230000005540 biological transmission Effects 0.000 claims description 6
- 230000007175 bidirectional communication Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring 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
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.
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)
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)
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 |
-
2015
- 2015-12-16 CN CN201510937954.XA patent/CN105573789B/en active Active
-
2016
- 2016-06-27 WO PCT/CN2016/087212 patent/WO2017041567A1/en active Application Filing
- 2016-06-27 KR KR1020187010046A patent/KR102504172B1/en active IP Right Grant
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. |