CN113553084A - Online configuration system and online configuration method based on multiple FPGAs - Google Patents

Online configuration system and online configuration method based on multiple FPGAs Download PDF

Info

Publication number
CN113553084A
CN113553084A CN202111093901.6A CN202111093901A CN113553084A CN 113553084 A CN113553084 A CN 113553084A CN 202111093901 A CN202111093901 A CN 202111093901A CN 113553084 A CN113553084 A CN 113553084A
Authority
CN
China
Prior art keywords
fpga
configuration data
fpga device
configuration
interface module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111093901.6A
Other languages
Chinese (zh)
Other versions
CN113553084B (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.)
Zhejiang Weigu Information Technology Co ltd
Original Assignee
Zhejiang Weigu Information 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 Zhejiang Weigu Information Technology Co ltd filed Critical Zhejiang Weigu Information Technology Co ltd
Priority to CN202111093901.6A priority Critical patent/CN113553084B/en
Publication of CN113553084A publication Critical patent/CN113553084A/en
Application granted granted Critical
Publication of CN113553084B publication Critical patent/CN113553084B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Abstract

The application relates to an online configuration system and an online configuration method based on multiple FPGAs, which comprises N sequentially connected FPGA module groups, wherein each FPGA module group comprises an FPGA device and a configuration data nonvolatile memory, and the configuration data nonvolatile memory of each FPGA module group is respectively connected with the corresponding FPGA device; each FPGA device comprises a cloud end interface module, and the cloud end interface module is connected with the adjacent FPGA device; the cloud interface module is used for receiving configuration data sent by a cloud, and the configuration data nonvolatile memory is used for storing the received configuration data. According to the invention, automatic configuration and restart of a plurality of FPGAs can be automatically completed on line without additionally adding a control circuit or manual operation outside the FPGA chip, and the method has the advantages of low cost and high automation degree.

Description

Online configuration system and online configuration method based on multiple FPGAs
Technical Field
The application relates to the technical field of FPGA, in particular to an online configuration system and an online configuration method based on multiple FPGA.
Background
The FPGA is a digital integrated circuit which can realize any combinational logic and sequential logic according to configuration data. The circuit is used as a semi-custom circuit in the field of Application Specific Integrated Circuits (ASIC), not only overcomes the defects of the custom circuit, but also overcomes the defect that the number of gate circuits of the original programmable device is limited.
Data loading is required in the using process of the FPGA, and the loading of the FPGA configuration data is usually realized by programming the configuration data to a nonvolatile memory such as FLASH, PROM and the like connected with the FPGA through the FPGA by a programmer; after programming is completed, the FPGA needs to be reset, the configuration file is read from the nonvolatile memory connected with the FPGA after the FPGA is reset, and the work can be started after configuration is completed.
At present, in a common configuration method, additional control circuits such as a DSP and a CPLD are required to complete online reception of configuration data, programming of a nonvolatile memory, and resetting of an FPGA. For example, the invention patent with the application number of CN201711332161.0 discloses an FPGA online upgrading device based on 1553B bus. A1553B bus interface is adopted between an upper computer and a product and is connected through a special test cable, the programming file to be programmed of an FPGA is packaged through upper computer software, file identification information including a file header, file length, verification information and the like is added, the file identification information is loaded into a DDR of a product DSP through the cable, the DSP switches a program storage FLASH interface controlled by an FPGA chip into CPLD control through configuring a register of the CPLD, then the DSP reads the programming file to be programmed stored in the DDR, programming upgrading of the FPGA program storage FLASH is completed through operating the interface of the CPLD, and obviously, the technical scheme disclosed by the invention needs to add the DSP and the CPLD to program the FPGA configuration data into the FLASH and control the FPGA to reset to read the configuration data in the FLASH again.
Also, for example, in patent application No. CN201811245075.0, a remote online update system for FPGA program based on DSP is disclosed, which includes: the system comprises a DSP, an application FPGA, a management FPGA and an external FLASH; the DSP is interactive with the application FPGA and the management FPGA; the external FLASH is interacted with the application FPGA and the management FPGA; the management FPGA is used for configuring an application FPGA on line and programming an external FLASH of the application FPGA; and the DSP receives the update data of the application FPGA and updates the application FPGA by managing the FPGA. Obviously, in the technical scheme, the DSP and the other management FPGA are required to be added to realize the programming of the application FPGA configuration data storage FLASH and control the application FPGA to reset and re-read the configuration data, so that the system is complex and the cost is high.
Also, an invention patent with application number CN201910012890.0 discloses a system and a method for configuring FPGA control data based on cloud and an electronic device. Although the technical scheme can update and transfer the configuration data of the user logic in the FPGA, the configuration of the user logic needs to be controlled by a fixed control module in the FPGA, and the control module cannot perform online configuration, so that the problem of high limitation is caused.
For another example, the invention patent with application number cn201710146959.x discloses an ethernet-based FPGA function online upgrade method, which can receive configuration data and write the configuration data to FLASH by using an ethernet interface implemented inside the FPGA, but needs to manually restart the FPGA to complete configuration update, and cannot implement real unmanned online configuration.
Obviously, in the prior art, the on-line configuration technology of the FPGA performs on-line configuration on the FPGA, or an external controller needs to be added, or only partial configuration on-line update can be performed, or even manual participation is performed, so that the problems of high cost and weak automation and intelligence degrees are caused, and use is influenced.
Disclosure of Invention
In view of the above, it is necessary to provide an online configuration system and an online configuration method based on multiple FPGAs, which can improve automation and poor intelligence of FPGA online configuration.
An online configuration system based on multiple FPGAs comprises N FPGA module groups which are connected in sequence, wherein each FPGA module group comprises an FPGA device and a configuration data nonvolatile memory, and the configuration data nonvolatile memory of each FPGA module group is respectively connected with the corresponding FPGA device; wherein the content of the first and second substances,
each FPGA device comprises a cloud end interface module, and the cloud end interface module is connected with the adjacent FPGA device; wherein the content of the first and second substances,
the cloud interface module is used for receiving configuration data sent by a cloud and sending the configuration data to a configuration data nonvolatile memory connected with an adjacent FPGA device through the adjacent FPGA device;
the configuration data nonvolatile memory is used for storing the received configuration data, and sending the configuration data to the successfully reset FPGA device after the FPGA device successfully resets the FPGA device connected with the cloud interface module based on the cloud interface module, so that the successfully reset FPGA device reads the configuration data and completes configuration updating according to the configuration data.
Specifically, each of the FPGA devices includes a reset interface, and the reset interface of one of the FPGA devices is connected to the cloud interface module of the FPGA device adjacent to the reset interface and is configured to receive a reset signal sent by the adjacent FPGA device of the FPGA device through the cloud interface module of the FPGA device.
Specifically, each of the FPGA devices includes a read-write module, and the read-write module of each of the FPGA devices is connected to a corresponding configuration data nonvolatile memory.
Specifically, the read-write module is a JTAG port.
Specifically, the read-write module includes a general port, a bridge logic, and an SPI interface, where the bridge logic is connected to the general port, the SPI interface is connected to the bridge logic, and the SPI interface is further connected to a corresponding configuration data nonvolatile memory.
The technical effect of the online configuration system based on the multiple FPGAs is as follows:
the invention sets N FPGA module groups which are connected in sequence, each FPGA module group comprises an FPGA device and a configuration data nonvolatile memory, each FPGA device comprises a cloud end interface module, the cloud end interface module is connected with the adjacent FPGA device, the configuration data sent by a cloud end is received through the cloud end interface module, the configuration data is firstly sent to the configuration data nonvolatile memory connected with the adjacent FPGA device through the adjacent FPGA device, the configuration data nonvolatile memory is used for storing the received configuration data, and after the FPGA device successfully resets the FPGA device connected with the cloud end interface module based on the cloud end interface module, the configuration data is sent to the successfully reset FPGA device, so that the successfully reset FPGA device reads the configuration data and completes configuration updating according to the configuration data, furthermore, automatic configuration and restarting of a plurality of FPGAs can be automatically completed on line without additionally adding a control circuit or manual operation outside the FPGA chip, and the device is low in cost and high in automation degree.
Specifically, the invention also provides an online configuration method based on the online configuration system based on the multiple FPGAs, which comprises the following steps:
the method comprises the following steps: the method comprises the steps that a cloud sends configuration data of a currently selected FPGA device to a cloud interface module of a high-order FPGA device, wherein the currently selected FPGA device is an optional FPGA device in advance, the FPGA device is the currently selected FPGA device, and the right-side FPGA device adjacent to the currently selected FPGA device is the high-order FPGA device;
step two: the cloud interface module of the high-order FPGA device sends the configuration data of the currently selected FPGA device to the read-write module of the currently selected FPGA device;
step three: the read-write module of the currently selected FPGA device writes the configuration data of the currently selected FPGA device into a configuration data nonvolatile memory connected with the currently selected FPGA device;
step four: the cloud interface module of the high-order FPGA device sends a reset signal to the cloud interface module of the currently selected FPGA device, and the reset signal resets the currently selected FPGA device;
step five: after the currently selected FPGA device is reset, the high-order FPGA device cancels the resetting of the currently selected FPGA device;
step six: and the currently selected FPGA device reads the configuration data in the configuration data nonvolatile memory connected with the currently selected FPGA device through the read-write module of the currently selected FPGA device so as to complete configuration updating.
The FPGA devices which are sequentially arranged are respectively FPGA-i, FPGA- (i +1), FPGA- (i + 2) and FPGA- (i + 3) -FPGA-N; wherein i and N are integers, i is more than or equal to 1 and less than or equal to N-1, and N is more than or equal to 2; the method further comprises the steps of:
step (1): initializing i = 1;
step (2): the cloud sends the configuration data of the FPGA-i to a cloud interface module of the FPGA- (i + 1);
and (3): the cloud interface module of the FPGA- (i +1) sends the configuration data of the FPGA-i to the read-write module of the FPGA-i;
and (4): the read-write module of the FPGA-i writes the configuration data of the FPGA-i into a configuration data nonvolatile memory-i corresponding to the FPGA-i;
and (5): the cloud interface module of the FPGA- (i +1) resets the FPGA-i;
and (6): after the FPGA-i is reset, the cloud interface module of the FPGA- (i +1) cancels the reset of the FPGA-i;
and (7): and reading the configuration data of the FPGA-i in the corresponding configuration data nonvolatile memory-i by the FPGA-i to complete configuration updating.
Specifically, if i = N-1, the method further comprises the steps of:
step (8-1): the cloud sends the configuration data of the FPGA-N to a cloud interface module of the FPGA-1;
step (8-2): the cloud interface module of the FPGA-1 sends the configuration data of the FPGA-N to the read-write module of the FPGA-N;
step (8-3): the read-write module of the FPGA-N writes the configuration data of the FPGA-N into the corresponding configuration data nonvolatile memory-N;
step (8-4): the cloud interface module of the FPGA-1 resets the FPGA-N;
step (8-5): after the FPGA-N is reset, the cloud interface module of the FPGA-1 cancels the reset of the FPGA-N;
step (8-6): and reading the configuration data of the configuration data nonvolatile memory-N by the FPGA-N to complete configuration updating.
Specifically, if i ≠ N-1, i = i +1, followed by step (2): and the cloud sends the configuration data of the FPGA-i to a cloud interface module of the FPGA- (i + 1).
Specifically, when the read-write module is a JTAG port, each of the configuration data nonvolatile memories supports a JTAG protocol.
The online configuration method based on the multiple FPGAs has the technical effects that:
the configuration data of the currently selected FPGA device is sent to a cloud interface module of a high-order FPGA device through a cloud in sequence, wherein the currently selected FPGA device is an optional FPGA device in advance, the FPGA device is the currently selected FPGA device, and the right-side FPGA device adjacent to the currently selected FPGA device is the high-order FPGA device; the cloud interface module of the high-order FPGA device sends the configuration data of the currently selected FPGA device to the read-write module of the currently selected FPGA device; the read-write module of the currently selected FPGA device writes the configuration data of the currently selected FPGA device into a configuration data nonvolatile memory connected with the currently selected FPGA device; the cloud interface module of the high-order FPGA device sends a reset signal to the cloud interface module of the currently selected FPGA device, and the reset signal resets the currently selected FPGA device; after the currently selected FPGA device is reset, the high-order FPGA device cancels the resetting of the currently selected FPGA device; the currently selected FPGA device reads the configuration data in the configuration data nonvolatile memory connected with the currently selected FPGA device through the read-write module of the currently selected FPGA device so as to complete configuration updating, and further, automatic configuration and restarting of a plurality of FPGAs can be automatically completed on line without additionally adding a control circuit or manual operation outside an FPGA chip, so that the cost is low, and the automation degree is high.
Drawings
FIG. 1 is a block diagram of the overall structure of an on-line configuration system based on multiple FPGAs;
fig. 2 is a block diagram of the overall structure of the multi-FPGA-based online configuration system in another embodiment.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the present application 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 present application and are not intended to limit the present application.
In one embodiment, as shown in fig. 1, an online configuration system based on multiple FPGAs is provided, which includes N FPGA module groups connected in sequence.
Each FPGA module group comprises an FPGA device and a configuration data nonvolatile memory, and the configuration data nonvolatile memory of each FPGA module group is respectively connected with the corresponding FPGA device.
Each FPGA device comprises a cloud end interface module, and the cloud end interface module is connected with the adjacent FPGA device; the cloud interface module is used for receiving configuration data sent by a cloud and sending the configuration data to a configuration data nonvolatile memory connected with an adjacent FPGA device through the adjacent FPGA device; the configuration data nonvolatile memory is used for storing the received configuration data, and sending the configuration data to the FPGA device which is successfully reset after the FPGA device successfully resets the FPGA device connected with the cloud interface module based on the cloud interface module, so that the FPGA device which is successfully reset reads the configuration data and completes configuration updating according to the configuration data.
Further, it should be understood that each of the cloud interface modules is integrated inside each FPGA device, and based on the cloud interface module, a connection protocol may be a bus interface such as ethernet, 1553B, CAN, and the like.
Furthermore, the configuration data assigned to the FPGA device can be received by setting the identification code, so that the differential configuration of different FPGA devices is realized.
Furthermore, the invention sets N FPGA module groups which are connected in sequence, each FPGA module group comprises an FPGA device and a configuration data nonvolatile memory, each FPGA device comprises a cloud end interface module, the cloud end interface module is connected with the adjacent FPGA device, the configuration data sent by a cloud end is received through the cloud end interface module, the configuration data is firstly sent to the configuration data nonvolatile memory connected with the adjacent FPGA device through the adjacent FPGA device, the configuration data nonvolatile memory is used for storing the received configuration data, and after the FPGA device successfully resets the FPGA device connected with the cloud end interface module based on the cloud end interface module, the configuration data is sent to the FPGA device which is successfully reset, so that the FPGA device which is successfully reset reads the configuration data and completes configuration updating according to the configuration data, furthermore, automatic configuration and restarting of a plurality of FPGAs can be automatically completed on line without additionally adding a control circuit or manual operation outside the FPGA chip, and the device is low in cost and high in automation degree.
In one embodiment, as shown in fig. 2, N FPGA devices are sequentially arranged and then respectively marked with FPGA-i, FPGA- (i +1), FPGA- (i + 2), FPGA- (i + 3) -FPGA-N.
The configuration data nonvolatile memories of the FPGA module groups are respectively marked by a configuration data nonvolatile memory-1, a configuration data nonvolatile memory-2, a configuration data nonvolatile memory-3, a configuration data nonvolatile memory-4-a configuration data nonvolatile memory-N.
As shown in fig. 2, the cloud interface module of the FPGA-i is connected to the cloud, the read-write module of the FPGA- (i-1), and the reset interface of the FPGA- (i-1), and the read-write module of the FPGA-i is connected to the configuration data nonvolatile memory-i.
Furthermore, each of the FPGA devices includes a reset interface, and the reset interface of one of the FPGA devices is connected to the cloud interface module of the FPGA device adjacent to the reset interface, and is configured to receive a reset signal sent by the adjacent FPGA device of the FPGA device through the cloud interface module of the FPGA device.
In one embodiment, as shown in fig. 2, each of the FPGA devices includes a read-write module, and the read-write module of each of the FPGA devices is connected to a corresponding configuration data nonvolatile memory.
In one embodiment, as shown in FIG. 2, the read-write module is a JTAG port. When the read-write module is a JTAG port, the FPGA-i cloud interface module realizes a port supporting a JTAG protocol, is connected in series with the JTAG port of the FPGA- (i-1) and the JTAG port of the configuration data nonvolatile memory- (i-1) to form a JTAG chain, and completes the work of writing the configuration data received by the FPGA-i cloud interface module into the configuration data nonvolatile memory- (i-1).
In addition, after the configuration is completed and the cloud interface module of the FPGA-i resets the FPGA- (i-1), the FPGA- (i-1) can automatically read the configuration data stored in the nonvolatile memory- (i-1) of the configuration data through the JTAG port to complete the configuration.
In one embodiment, the read/write module includes a general port, a bridge logic, and an SPI interface, the bridge logic is connected to the general port, the SPI interface is connected to the bridge logic, and the SPI interface is further connected to a corresponding configuration data nonvolatile memory.
Furthermore, the general port of the FPGA can receive the configuration data sent by the cloud interface module, and write the configuration data into the nonvolatile memory through the SPI interface through the bridge logic. After the FPGA is reset, the configuration data stored in the configuration data nonvolatile memory can be automatically read through the SPI port to complete configuration.
In an embodiment, as shown in fig. 1-2, the present invention further provides an online configuration method based on the online configuration system based on multiple FPGAs, where the method includes the following steps:
the method comprises the following steps: the method comprises the steps that a cloud sends configuration data of a currently selected FPGA device to a cloud interface module of a high-order FPGA device, wherein the currently selected FPGA device is an optional FPGA device in advance, the FPGA device is the currently selected FPGA device, and the right-side FPGA device adjacent to the currently selected FPGA device is the high-order FPGA device;
specifically, as shown in fig. 2, taking the currently selected FPGA device as FPGA-i as an example, at this time, the right-side FPGA device adjacent to the currently selected FPGA device is FPGA-2, that is, FPGA-2 is the high-order FPGA device.
Step two: the cloud interface module of the high-order FPGA device sends the configuration data of the currently selected FPGA device to the read-write module of the currently selected FPGA device;
and at the same time, sending the configuration data of the FPGA-i to the read-write module of the FPGA-i for the FPGA-2 cloud interface module.
Step three: the read-write module of the currently selected FPGA device writes the configuration data of the currently selected FPGA device into a configuration data nonvolatile memory connected with the currently selected FPGA device;
in this step, taking the currently selected FPGA device as the FPGA-i as an example, specifically, the read-write module of the FPGA-i writes the configuration data of the FPGA-i into the configuration data nonvolatile memory connected with the FPGA-i.
Step four: the cloud interface module of the high-order FPGA device sends a reset signal to the cloud interface module of the currently selected FPGA device, and the reset signal resets the currently selected FPGA device;
step five: after the currently selected FPGA device is reset, the high-order FPGA device cancels the resetting of the currently selected FPGA device;
step six: and the currently selected FPGA device reads the configuration data in the configuration data nonvolatile memory connected with the currently selected FPGA device through the read-write module of the currently selected FPGA device so as to complete configuration updating.
Further, the configuration data of the currently selected FPGA device is sent to the cloud interface module of the high-order FPGA device through the cloud in sequence, wherein the currently selected FPGA device is an optional FPGA device in advance, the FPGA device is the currently selected FPGA device, and the right-side FPGA device adjacent to the currently selected FPGA device is the high-order FPGA device; the cloud interface module of the high-order FPGA device sends the configuration data of the currently selected FPGA device to the read-write module of the currently selected FPGA device; the read-write module of the currently selected FPGA device writes the configuration data of the currently selected FPGA device into a configuration data nonvolatile memory connected with the currently selected FPGA device; the cloud interface module of the high-order FPGA device sends a reset signal to the cloud interface module of the currently selected FPGA device, and the reset signal resets the currently selected FPGA device; after the currently selected FPGA device is reset, the high-order FPGA device cancels the resetting of the currently selected FPGA device; the currently selected FPGA device reads the configuration data in the configuration data nonvolatile memory connected with the currently selected FPGA device through the read-write module of the currently selected FPGA device so as to complete configuration updating, and further, automatic configuration and restarting of a plurality of FPGAs can be automatically completed on line without additionally adding a control circuit or manual operation outside an FPGA chip, so that the cost is low, and the automation degree is high.
In an embodiment, as shown in fig. 2, the present invention further provides an online configuration method based on the online configuration system based on multiple FPGAs, where the FPGA devices sequentially arranged by each FPGA device are respectively FPGA-i, FPGA- (i +1), FPGA- (i + 2), FPGA- (i + 3) — FPGA-N; wherein i and N are integers, i is more than or equal to 1 and less than or equal to N-1, and N is more than or equal to 2; the method further comprises the steps of:
step (1): initializing i = 1;
step (2): the cloud sends the configuration data of the FPGA-i to a cloud interface module of the FPGA- (i + 1);
and (3): the cloud interface module of the FPGA- (i +1) sends the configuration data of the FPGA-i to the read-write module of the FPGA-i;
and (4): the read-write module of the FPGA-i writes the configuration data of the FPGA-i into a configuration data nonvolatile memory-i corresponding to the FPGA-i;
and (5): the cloud interface module of the FPGA- (i +1) resets the FPGA-i;
and (6): after the FPGA-i is reset, the cloud interface module of the FPGA- (i +1) cancels the reset of the FPGA-i;
and (7): and reading the configuration data of the FPGA-i in the corresponding configuration data nonvolatile memory-i by the FPGA-i to complete configuration updating.
Furthermore, the total number of the FPGA devices to be configured and updated is N, and when the configuration is performed, sequential configuration is performed in a sequence from left to right according to the sequence of the arrangement of the FPGA devices, as shown in fig. 2, the configuration sequence is from FPGA-i, FPGA- (i +1), FPGA- (i + 2), FPGA- (i + 3) -FPGA-N.
Further, the number of the FPGA devices is divided into two cases, one is 2 FPGA devices, and the other is more than 2 FPGA devices.
Further, no matter the number of the FPGA devices is 2 or more than 2, the FPGA devices FPGA-i need to be paired first, that is, i =1 needs to be initialized, that is, the situation in the step (1) is described above.
Next, when i =1, the specific steps of step (2) to step (7) are as follows:
firstly, the cloud sends the configuration data of the FPGA-1 to a cloud interface module of the FPGA-2;
then, the cloud interface module of the FPGA-2 sends the configuration data of the FPGA-1 to the read-write module of the FPGA-1;
then, the read-write module of the FPGA-1 writes the configuration data of the FPGA-1 into a configuration data nonvolatile memory-1 corresponding to the FPGA-1;
then, the cloud interface module of the FPGA-2 resets the FPGA-1;
then, after the FPGA-1 is reset, the cloud interface module of the FPGA-2 cancels the reset of the FPGA-1;
and finally, reading the configuration data of the FPGA-1 in the corresponding configuration data nonvolatile memory-1 by the FPGA-1 to complete configuration updating.
And finishing the configuration updating of the FPGA-1.
In one embodiment, as shown in fig. 2, if i = N-1, the method further comprises the steps of:
step (8-1): the cloud sends the configuration data of the FPGA-N to a cloud interface module of the FPGA-1;
step (8-2): the cloud interface module of the FPGA-1 sends the configuration data of the FPGA-N to the read-write module of the FPGA-N;
step (8-3): the read-write module of the FPGA-N writes the configuration data of the FPGA-N into the corresponding configuration data nonvolatile memory-N;
step (8-4): the cloud interface module of the FPGA-1 resets the FPGA-N;
step (8-5): after the FPGA-N is reset, the cloud interface module of the FPGA-1 cancels the reset of the FPGA-N;
step (8-6): and reading the configuration data of the configuration data nonvolatile memory-N by the FPGA-N to complete configuration updating.
In this embodiment, in the case of N =2, on the premise that i =1 is initialized, i = N-1, that is, the specific steps from step (8-1) to step (8-6) are:
(1) the cloud sends the configuration data of the FPGA-2 to a cloud interface module of the FPGA-1;
(2): the cloud interface module of the FPGA-1 sends the configuration data of the FPGA-2 to the read-write module of the FPGA-N;
(3): the read-write module of the FPGA-2 writes the configuration data of the FPGA-2 into the corresponding configuration data nonvolatile memory-N;
(4): the cloud interface module of the FPGA-1 resets the FPGA-2;
(5): after the FPGA-2 is reset, the cloud interface module of the FPGA-1 cancels the reset of the FPGA-2;
(6): the FPGA-2 reads the configuration data of the configuration data nonvolatile memory-2 to complete configuration updating,
and when the N is 2, after the configuration update is carried out on the FPGA-1, the configuration of the FPGA-N is updated.
In one embodiment, as shown in fig. 2, if i ≠ N-1, then i = i +1, followed by step (2): and the cloud sends the configuration data of the FPGA-i to a cloud interface module of the FPGA- (i + 1).
Further, in this embodiment, in the case that N is greater than 2, that is, in the case that i ≠ N-1, when N is greater than 2, that is, it is necessary to perform configuration update on FPGA-1, that is, it is necessary to perform the above-mentioned step (1) -step (7), when the step (1) -step (7) is completed, it means that the configuration update on FPGA-i is completed, at this time, it is necessary to perform configuration update in sequence according to the arrangement sequence of the FPGA devices, that is, it is necessary to perform configuration update on FPGA-2 on the right side of FPGA-1, at this time, i = i +1 needs to be performed, that is, i at this time is already set to 2, at this time, step (2) is then performed until step (7) is performed when i =2, the configuration update on FPGA device FPGA-2 is completed, then, a judgment is then performed, it is determined whether i at this time satisfies i = N-1, and (3) if the configuration update is satisfied, executing the steps (8-1) to (8-6), if i = N-1 is not satisfied, namely i ≠ N-1, then i = i +1, then turning to the step (2) again until i = N-1 is satisfied, and then completing the configuration update of all the N FPGA devices.
In one embodiment, as shown in fig. 2, when the read/write module is a JTAG port, each of the configuration data nonvolatile memories supports a JTAG protocol.
The above-mentioned embodiments only express several embodiments of the present application, and the description thereof is more specific and detailed, but not construed as limiting the scope of the invention. It should be noted that, for a person skilled in the art, several variations and modifications can be made without departing from the concept of the present application, which falls within the scope of protection of the present application. Therefore, the protection scope of the present patent shall be subject to the appended claims.

Claims (10)

1. An online configuration system based on multiple FPGAs is characterized by comprising N sequentially connected FPGA module groups, wherein each FPGA module group comprises an FPGA device and a configuration data nonvolatile memory, and the configuration data nonvolatile memory of each FPGA module group is respectively connected with the corresponding FPGA device; wherein the content of the first and second substances,
each FPGA device comprises a cloud end interface module, and the cloud end interface module is connected with the adjacent FPGA device; wherein the content of the first and second substances,
the cloud interface module is used for receiving configuration data sent by a cloud and sending the configuration data to a configuration data nonvolatile memory connected with an adjacent FPGA device through the adjacent FPGA device;
the configuration data nonvolatile memory is used for storing the received configuration data, and sending the configuration data to the successfully reset FPGA device after the FPGA device successfully resets the FPGA device connected with the cloud interface module based on the cloud interface module, so that the successfully reset FPGA device reads the configuration data and completes configuration updating according to the configuration data.
2. The multi-FPGA-based online configuration system of claim 1, wherein each FPGA device comprises a reset interface, and the reset interface of one FPGA device is connected to the cloud interface module of the FPGA device adjacent to the reset interface and is configured to receive the reset signal sent by the FPGA device of the adjacent FPGA device via the cloud interface module of the FPGA device.
3. The multi-FPGA-based online configuration system of claim 1, wherein each FPGA device comprises a read-write module, and the read-write module of each FPGA device is connected to a corresponding configuration data nonvolatile memory.
4. The multi-FPGA-based on-line configuration system of claim 3, wherein the read-write module is a JTAG port.
5. The multi-FPGA-based online configuration system of claim 3, wherein the read/write module comprises a general port, a bridge logic and an SPI interface, the bridge logic is connected with the general port, the SPI interface is connected with the bridge logic, and the SPI interface is further connected with a corresponding configuration data nonvolatile memory.
6. An online configuration method of the online configuration system based on multiple FPGAs according to any one of claims 1-3, the method comprises the following steps:
the method comprises the following steps: the method comprises the steps that a cloud sends configuration data of a currently selected FPGA device to a cloud interface module of a high-order FPGA device, wherein the currently selected FPGA device is an optional FPGA device in advance, the FPGA device is the currently selected FPGA device, and the right-side FPGA device adjacent to the currently selected FPGA device is the high-order FPGA device;
step two: the cloud interface module of the high-order FPGA device sends the configuration data of the currently selected FPGA device to the read-write module of the currently selected FPGA device;
step three: the read-write module of the currently selected FPGA device writes the configuration data of the currently selected FPGA device into a configuration data nonvolatile memory connected with the currently selected FPGA device;
step four: the cloud interface module of the high-order FPGA device sends a reset signal to the cloud interface module of the currently selected FPGA device, and the reset signal resets the currently selected FPGA device;
step five: after the currently selected FPGA device is reset, the high-order FPGA device cancels the resetting of the currently selected FPGA device;
step six: and the currently selected FPGA device reads the configuration data in the configuration data nonvolatile memory connected with the currently selected FPGA device through the read-write module of the currently selected FPGA device so as to complete configuration updating.
7. An online configuration method of the online configuration system based on multiple FPGAs (field programmable gate array) according to any one of claims 1 to 3, wherein the FPGA devices arranged in sequence are respectively FPGA-i, FPGA- (i +1), FPGA- (i + 2) and FPGA- (i + 3) -FPGA-N; wherein i and N are integers, i is more than or equal to 1 and less than or equal to N-1, and N is more than or equal to 2; the method further comprises the steps of:
step (1): initializing i = 1;
step (2): the cloud sends the configuration data of the FPGA-i to a cloud interface module of the FPGA- (i + 1);
and (3): the cloud interface module of the FPGA- (i +1) sends the configuration data of the FPGA-i to the read-write module of the FPGA-i;
and (4): the read-write module of the FPGA-i writes the configuration data of the FPGA-i into a configuration data nonvolatile memory-i corresponding to the FPGA-i;
and (5): the cloud interface module of the FPGA- (i +1) resets the FPGA-i;
and (6): after the FPGA-i is reset, the cloud interface module of the FPGA- (i +1) cancels the reset of the FPGA-i;
and (7): and reading the configuration data of the FPGA-i in the corresponding configuration data nonvolatile memory-i by the FPGA-i to complete configuration updating.
8. The on-line configuration method according to claim 7, wherein if i = N-1, the method further comprises the steps of:
step (8-1): the cloud sends the configuration data of the FPGA-N to a cloud interface module of the FPGA-1;
step (8-2): the cloud interface module of the FPGA-1 sends the configuration data of the FPGA-N to the read-write module of the FPGA-N;
step (8-3): the read-write module of the FPGA-N writes the configuration data of the FPGA-N into the corresponding configuration data nonvolatile memory-N;
step (8-4): the cloud interface module of the FPGA-1 resets the FPGA-N;
step (8-5): after the FPGA-N is reset, the cloud interface module of the FPGA-1 cancels the reset of the FPGA-N;
step (8-6): and reading the configuration data of the configuration data nonvolatile memory-N by the FPGA-N to complete configuration updating.
9. The on-line configuration method according to claim 7, wherein if i ≠ N-1, i = i +1, followed by step (2): and the cloud sends the configuration data of the FPGA-i to a cloud interface module of the FPGA- (i + 1).
10. The on-line configuration method of claim 7, wherein when the read/write module is a JTAG port, each of the configuration data nonvolatile memories supports a JTAG protocol.
CN202111093901.6A 2021-09-17 2021-09-17 Online configuration system and online configuration method based on multiple FPGAs Active CN113553084B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111093901.6A CN113553084B (en) 2021-09-17 2021-09-17 Online configuration system and online configuration method based on multiple FPGAs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111093901.6A CN113553084B (en) 2021-09-17 2021-09-17 Online configuration system and online configuration method based on multiple FPGAs

Publications (2)

Publication Number Publication Date
CN113553084A true CN113553084A (en) 2021-10-26
CN113553084B CN113553084B (en) 2021-12-14

Family

ID=78134649

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111093901.6A Active CN113553084B (en) 2021-09-17 2021-09-17 Online configuration system and online configuration method based on multiple FPGAs

Country Status (1)

Country Link
CN (1) CN113553084B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114816571A (en) * 2022-04-15 2022-07-29 西安广和通无线通信有限公司 Method, device and equipment for hanging flash memory and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101783812A (en) * 2009-12-01 2010-07-21 深圳市蓝韵实业有限公司 FPGA configuration system and configuration method based on network
US20150169774A1 (en) * 2013-08-19 2015-06-18 Monster Worldwide, Inc. Sourcing Abound Candidates Apparatuses, Methods and Systems
CN109271186A (en) * 2018-09-06 2019-01-25 郑州云海信息技术有限公司 A kind of FPGA method for updating program, device and equipment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101783812A (en) * 2009-12-01 2010-07-21 深圳市蓝韵实业有限公司 FPGA configuration system and configuration method based on network
US20150169774A1 (en) * 2013-08-19 2015-06-18 Monster Worldwide, Inc. Sourcing Abound Candidates Apparatuses, Methods and Systems
CN109271186A (en) * 2018-09-06 2019-01-25 郑州云海信息技术有限公司 A kind of FPGA method for updating program, device and equipment

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
J.S. BEECKLER等: "FPGA particle graphics hardware", 《13TH ANNUAL IEEE SYMPOSIUM ON FIELD-PROGRAMMABLE CUSTOM COMPUTING MACHINES (FCCM"05)》 *
王崇森: "基于FPGA的云储存安全系统研究与实现", 《CNKI优秀硕士学位论文全文库》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114816571A (en) * 2022-04-15 2022-07-29 西安广和通无线通信有限公司 Method, device and equipment for hanging flash memory and storage medium
CN114816571B (en) * 2022-04-15 2023-06-16 西安广和通无线通信有限公司 Method, device, equipment and storage medium for plug-in flash memory

Also Published As

Publication number Publication date
CN113553084B (en) 2021-12-14

Similar Documents

Publication Publication Date Title
US6918027B2 (en) System and method for in-system programming through an on-system JTAG bridge of programmable logic devices on multiple circuit boards of a system
CN104881286B (en) Programming device configures system and method
US6883109B2 (en) Method for accessing scan chains and updating EEPROM-resident FPGA code through a system management processor and JTAG bus
CN107832078B (en) FPGA program online updating circuit based on DSP
JP2772604B2 (en) Data processing system
JPH0713654B2 (en) Hardware simulator
CN108319465B (en) Circuit and method for upgrading FPGA configuration data
CN106843983A (en) The system and method for remote upgrading field programmable gate array
CN113553084B (en) Online configuration system and online configuration method based on multiple FPGAs
JP2001101017A (en) Method and system for programming fpga on pc card without additional hardware
CN105103142A (en) Sharing firmware among agents in a computing node
US20030023793A1 (en) Method and apparatus for in-system programming through a common connection point of programmable logic devices on multiple circuit boards of a system
CN112000351A (en) Updating method, updating device, updating equipment and storage medium of BMC (baseboard management controller) firmware
EP2025064B1 (en) Universal non-volatile support device for supporting reconfigurable processing systems
US20030084232A1 (en) Device and method capable of changing codes of micro-controller
CN112925569A (en) Firmware data processing method, device, equipment and storage medium
JPS59135698A (en) Eeprom device
JP2012118904A (en) Information processing apparatus
CN112860595B (en) PCI (peripheral component interconnect express) equipment or PCIE (peripheral component interconnect express) equipment, data access method and related assembly
US11822930B2 (en) Electrically programmable application-specific integrated circuit initialization engine
CN208314757U (en) The circuit that FPGA configuration data is upgraded
CN215416634U (en) Offline downloader for FPGA upgrading
US6360319B1 (en) Method and apparatus for storing and retrieving system revision information
KR100290280B1 (en) Microcontroller with Programmable Flash Memory
US7234048B2 (en) Method for initializing or configuring an electrical circuit

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant