A method for compressing and storing Flash data in remote upgrading of FPGA programs

By overlapping the boot program and application in Flash with less than 2 times the FPGA running program in Altera FPGA remote upgrade system, using compressed target files and invalid data to fill, the problem of excessive Flash selection requirements is solved, and the implementation of Save Flash costs and ensure the normal operation of remote upgrade functions.

CN114443080BActive Publication Date: 2025-02-14XJ GRP CORP +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202011217362.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-11-04
Publication Date
2025-02-14
Estimated Expiration
2040-11-04

AI Technical Summary

Technical Problem

In the Altera FPGA remote upgrade system, the boot program and the application are two independent target files respectively, resulting in Flash selection requirements greater than 2 times the FPGA running program, increasing the cost and waste of storage space.

Method used

A compressed storage method for Flash data in remote upgrade of FPGA programs is proposed. By overlapping the boot program and the application in Flash where the FPGA runs the program less than 2 times, the compressed target files and invalid data are filled, the Flash storage is optimized. space.

Benefits of technology

On the basis of not affecting the operation of the boot program and the application, the two programs are stored in Flash with less than 2 times the FPGA running program, saving Flash costs and ensuring the normal operation of the remote upgrade function.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114443080B_ABST
    Figure CN114443080B_ABST
Patent Text Reader

Abstract

A method for compressing and storing Flash data in remote upgrade of FPGA programs, the method generates a compressed target file from a remotely upgraded boot program, stores it in the front address interval of the Flash storage space, and fills the remaining space with invalid data; generates a compressed target file from a remotely upgraded application, and stores it in the back address interval of the same Flash storage space. The data compression storage method proposed by the present invention, on the basis of not affecting the operation of the boot program and the application program, proposes a method for overlapping storage of the boot program and the application program, and stores the two programs in a Flash that is less than twice the size of the FPGA running program; on the basis of ensuring the normal remote upgrade function, the Flash cost is saved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention belongs to the field of FPGA application technology, and in particular relates to a compression storage method for Flash data in remote upgrading of FPGA programs. Background Art

[0002] FPGA (Field Programmable Gate Array) is a product that is further developed on the basis of programmable devices such as PAL, GAL, CPLD, etc. It appears as a semi-custom circuit in the field of application-specific integrated circuits (ASICs), which not only solves the shortcomings of custom circuits, but also overcomes the shortcomings of the limited number of gate circuits of the original programmable devices. In the application of Intel FPGA, the commonly used program download method is Jtag or ASP (Active Serial Programming) board-level download. When the number of FPGAs is large and batch downloading or long-distance program upgrade is required, it is time-consuming and laborious to upgrade the program at the floor level.

[0003] When designing the Altera FPGA remote upgrade system, the boot program and the application program are required to be two independent target files; the Flash selection is required to be more than twice the Flash of the FPGA running program, which also increases the cost. Summary of the invention

[0004] The purpose of the present invention is to provide a Flash data compression storage method in the remote upgrade of Altera FPGA program. On the basis of not affecting the operation of the boot program and the application program, a method for overlapping storage of the boot program and the application program is proposed, and the two programs are stored in the Flash that is less than twice the size of the FPGA running program.

[0005] To achieve the above object, the present invention adopts the following technical solutions:

[0006] A method for compressing and storing Flash data in remote upgrading of FPGA programs comprises the following steps:

[0007] Generate a compressed target file from the remote upgrade boot program, store it in the front address range of the Flash storage space, and fill the remaining space with invalid data;

[0008] Generate a compressed target file from the remotely upgraded application and store it in a later address range of the same Flash storage space.

[0009] Furthermore, the boot program is set as a minimum system program that implements the boot program function.

[0010] Furthermore, the Flash storage space is less than twice the storage space required for the FPGA to run the program.

[0011] In summary, the present invention provides a method for compressing and storing Flash data in remote upgrading of FPGA programs. The method generates a compressed target file from a remotely upgraded boot program, stores it in a front address interval of a Flash storage space, and fills the remaining space with invalid data; generates a compressed target file from a remotely upgraded application, and stores it in a back address interval of the same Flash storage space.

[0012] Compared with the prior art, the present invention has the following beneficial effects:

[0013] (1) The data compression storage method proposed in the present invention proposes a method for overlapping the boot program and the application program without affecting the operation of the boot program and the application program, and stores the two programs in a Flash memory that is less than twice the size of the FPGA running program;

[0014] (2) The data compression storage method proposed in the present invention saves Flash costs while ensuring the normal remote upgrade function. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] Figure 1 is a schematic flow chart of a compression storage method according to an embodiment of the present invention;

[0016] Figure 2 It is a schematic diagram of the compressed storage Flash structure of an embodiment of the present invention. DETAILED DESCRIPTION

[0017] In order to make the purpose, technical scheme and advantages of the present invention clearer, the present invention is further described in detail below in conjunction with specific embodiments and with reference to the accompanying drawings. It should be understood that these descriptions are only exemplary and are not intended to limit the scope of the present invention. In addition, in the following description, the description of well-known structures and technologies is omitted to avoid unnecessary confusion of the concept of the present invention.

[0018] The present invention will be further described below in conjunction with the accompanying drawings.

[0019] The present invention provides a method for compressing and storing Flash data in remote upgrading of FPGA programs. Figure 1 As shown, the following steps are included:

[0020] Step S100, generating a compressed target file from the remotely upgraded boot program, storing the compressed target file in the front address range of the Flash storage space, and filling the remaining space with invalid data.

[0021] Step S200, generating a compressed target file from the remotely upgraded application program, and storing the compressed target file in a later address range of the same Flash storage space.

[0022] Specifically, the design of the boot program and the application program and the overlapping storage of the two programs are described as follows.

[0023] (1) Design of boot program

[0024] When designing the bootloader software, only the minimum system program that implements the bootloader function is used to reduce the utilization rate of FPGA resources. When generating the target, choose to use a compressed target file, so that the effective running program of the FPGA bootloader will not fill the entire Flash space. The effective program data will be compressed in the front address range of the target file, and the remaining part will be filled with invalid data.

[0025] (2) Application design

[0026] When designing application software, design it according to the actual functions; when generating the target, choose to use a compressed target file, so that the effective running program of the FPGA boot program will not fill the entire Flash space, and the effective program data will be compressed in the front address range of the target file, and the rest will be filled with invalid data.

[0027] (3) Overlapping storage design

[0028] The application is stored in the invalid data portion of the boot program in the Flash; at the same time, the storage space of the application requires at least the space of the valid data size of the FPGA.

[0029] like Figure 2 As shown, the present invention is further introduced below in combination with a specific FPGA and configuration Flash.

[0030] Here, EP4CE10 (Intel Cyclone IV E FPGA) and EPCS4 (dedicated configuration Flash) are used as examples for explanation.

[0031] The size of the effective data configuration file of the EP4CE10 FPGA chip is 2944088 bits when uncompressed (refer to the data manual); the size of the EPCS4 Flash is 4194304 bits, which is less than twice the space of the FPGA effective configuration data size; the relationship is 1.42 times.

[0032] First, when designing the bootloader software, only the minimum system program of the bootloader function is implemented to reduce the utilization rate of FPGA resources. When generating the target, choose to use a compressed target file so that the effective running program of the FPGA bootloader will not fill the entire Flash space. After the bootloader is downloaded, the effective program data is compressed in the first 0.42Flash space starting from 0x0 in EPCS4, and the rest is filled with invalid data.

[0033] When designing the application software again, design it according to the actual functions; when generating the target, choose to use a compressed target file so that the effective running program of the FPGA boot program will not fill the entire Flash space. When the boot program is running, the boot application is stored in the 1.0 Flash space after EPCS4.

[0034] The Flash data storage structure of the present invention is shown in Figure 2 As shown, the bootloader and application are stored in overlapping order.

[0035] In summary, the present invention provides a method for compressing and storing Flash data in remote upgrade of FPGA programs. The method generates a compressed target file from a boot program for remote upgrade, stores it in the front address interval of the Flash storage space, and fills the remaining space with invalid data; generates a compressed target file from an application program for remote upgrade, and stores it in the back address interval of the same Flash storage space. The data compression storage method proposed by the present invention, on the basis of not affecting the operation of the boot program and the application program, proposes a method for overlapping storage of the boot program and the application program, and stores the two programs in a Flash that is less than 2 times the size of the FPGA running program; on the basis of ensuring the normal operation of the remote upgrade function, the Flash cost is saved.

[0036] It should be understood that the above specific embodiments of the present invention are only used to illustrate or explain the principles of the present invention, and do not constitute a limitation of the present invention. Therefore, any modifications, equivalent substitutions, improvements, etc. made without departing from the spirit and scope of the present invention should be included in the protection scope of the present invention. In addition, the appended claims of the present invention are intended to cover all changes and modifications that fall within the scope and boundaries of the appended claims, or the equivalent forms of such scope and boundaries.

Claims

1. A method for compressing and storing Flash data in remote upgrading of FPGA program, characterized in that: The steps include: Generate a compressed target file from the remote upgrade boot program, store it in the front address range of the Flash storage space, and fill the remaining space with invalid data; Generate a compressed target file from the remotely upgraded application and store it in the address range at the back of the same Flash storage space; the application is stored in the part of the Flash boot program where invalid data is located; The boot program is set as the minimum system program that implements the boot program function; The Flash storage space is less than twice the storage space required for the FPGA to run the program.

Citation Information

Patent Citations

  • Off-chip flash high-capacity program automatic loading method

    CN111008045A