CN104951334A - FPGA double-chip QSPI flash program loading method - Google Patents
FPGA double-chip QSPI flash program loading method Download PDFInfo
- Publication number
- CN104951334A CN104951334A CN201510263302.2A CN201510263302A CN104951334A CN 104951334 A CN104951334 A CN 104951334A CN 201510263302 A CN201510263302 A CN 201510263302A CN 104951334 A CN104951334 A CN 104951334A
- Authority
- CN
- China
- Prior art keywords
- flash
- fpga
- qspi flash
- qspi
- biplate
- 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
Links
Abstract
The invention provides an FPGA double-chip QSPI flash program loading method which is high in loading speed, flexible and efficient. According to the technical scheme, the method comprises the steps of establishing an APP for read-write testing of a four-bit-serial peripheral memorizer interface (QSPI) flash in an FPGA software development kit (SDK) of the Xilinx company; conducting parameter configuration on the QSPI flash in the APP, and configuring the QSPI flash to be of an input/output mode; importing a solidification file, downloading the content to be solidified into the flash to a peripheral memory chip DDR3 of the FPGA from a PC, reading the content to be solidified page by page by means of the QSPI flash APP, and writing the content to the solidified to a corresponding address of the QSPI flash. By the adoption of the method, double-chip parallel 8-bit Quad-SPI flash loading is achieved, and the problem that the FPGA development tool SDK and a programming tool IMPACT can not program a 8-bit parallel QSPI flash is solved.
Description
Technical field
The present invention relates to the program loading method of a kind of biplate QSPI flash of Zynq-7000 Series FPGA, and this method is applicable to Zynq-7000 Series FPGA platform used.
Background technology
Along with the development of programming logic gate array FPGA (hereinafter referred to as FPGA) technology, the function of FPGA is more and more stronger, and type also gets more and more.Due to FPGA inner structure, the program of FPGA is generally all stored in outside nonvolatile memory, and upon power-up of the system, program is loaded into FPGA from external memory storage and run, this process is called as program and loads.Zynq-7000 Series FPGA (hereinafter referred to as Zynq-7000) is a novel FPGA that Xilinx company of the U.S. releases, compared with other model FPGA, its processing unit is divided into PS and PL bis-part, PS refers to embedded pair of arm processor core in zynq-7000, and PL partly refers to traditional fpga logic part.Zynq-7000 takes as the leading factor with ARM core, guided, configure PL part, therefore Zynq-7000 is more prone to classify as the flush bonding processor similar with PowerPC from principle of work by ARM, instead of a kind of traditional FPGA.The program loading method of Zynq-7000 has multiple, usually has 4 bit serial peripheral memory interface Quad-SPI flash (hereinafter referred to as Quad-SPI flash) loading methods, NAND flash storer load mode, NOR flash storer load mode, SD card load mode four kinds.Quad-SPI flash program load mode has the advantage that program loading frequency is high, chip area footprints is little, therefore is used widely.
Quad-SPI flash program load mode is divided into again monolithic 4-bit load mode, and biplate walks abreast 8-bit load mode and biplate cascade 4-bit load mode three kinds, as shown in the table:
Because Zynq-7000 is powerful, the capacity of general required flash storer is greater than 16MB, therefore usually adopt 2 Quad-SPI flash storing program therefors, the programming process of flash is generally provided by developing software of FPGA, the ISE/Vivado that develops software of Zynq-7000 Series FPGA also provides Quad-SPI flash program burn writing function, but existing problems, namely programming can not be carried out to the biplate of the Quad-SPI flash 8-bit mode that walks abreast, cause Zynq-7000 Series FPGA can not carry out normal program loading, the self-starting function that powers on cannot be completed, high performance Zynq-7000 Series FPGA is applied limited.
Current Zynq-7000 Series FPGA develops software (version is ISE14.7 or vivado2013.4) can't to walk abreast QSPI flash by programming 8bit, usual technician only can use developing software of FPGA to realize the flash programming function of FPGA, does not have other to select.
Summary of the invention
Task of the present invention is for the deficiencies in the prior art, can not correctly to walk abreast the defect (being defined as the bug problem developed software of FPGA) of QSPI flash by programming biplate 8bit for developing software of Zynq-7000 Series FPGA, there is provided a kind of loading velocity fast, the program loading method of the biplate QSPI flash of flexible and efficient, new Zynq-7000 Series FPGA, developing software of FPGA must be relied on carry out the restriction of QSPI flash programming to depart from, the self-starting function that powers on of FPGA is accomplished.
Above-mentioned purpose of the present invention can be reached by following measures, the program loading method of a kind of FPGA biplate QSPI flash, it is characterized in that comprising the steps: in Xilinx company programmable logic array FPGA SDK (Software Development Kit) SDK, a newly-built application A PP to the readwrite tests of QSPI flash (hereinafter referred to as APP); In APP, carry out parameter configuration to QSPI flash, configuration QSPI flash is I/O pattern, i.e. IO pattern (hereinafter referred to as IO pattern); Import curing document, download to the peripheral hardware internal memory DDR3 (hereinafter referred to as DDR3) of FPGA by needing the content be cured in flash from PC, read needing the content of solidification to press page by QSPI flash APP application program, and be written in the corresponding address of QSPI flash.
The present invention has following beneficial effect compared to prior art:
The present invention adopts in Xilinx FPGA developing instrument SDK, a newly-built APP program to the readwrite tests of QSPI flash, based on autonomous coding programming, provide a kind of new programming mode, thus the program of Zynq-7000 Series FPGA is solidified, make the biplate 8bit of the current zynq-7000 QSPI flash programming method that walks abreast achieve and grow out of nothing;
The biplate 8bit that the present invention is based on autonomous coding programming zynq-7000 walks abreast QSPI flash, depart from the restriction developed software to FPGA, the biplate in Quad-SPI flash that can the be correct 8-bit flash that walks abreast carries out programming, the program of Zynq-7000 Series FPGA is solidified, and solving the walk abreast loading problem of 8-bit Quad-SPI flash and FPGA developing instrument SDK and flashburn tools IMPACT of biplate can not walk abreast the problem of QSPI flash by programming 8bit.
The present invention has the following advantages compared to prior art tool:
Burn writing speed is fast: the FPGA programming mode original compared to other, burn writing speed is constant, not easily adjust, the loading method that the present invention proposes, will need the content be cured in flash to download to the peripheral hardware internal memory DDR3 of FPGA from PC, presses page read by QSPI flash APP application program, and be written in the address of QSPI flash, the QSPI flash model that can use according to reality, adjustment programming frequency and speed, make it with maximal rate programming.
Flexible and efficient.The present invention is in Zynq-7000 Series FPGA, biplate 8bit based on SDK application program, completely independent development Zynq-7000 Series FPGA walks abreast the program loading method of QSPI flash, depart from necessary developing software of FPGA of dependence and carried out the restriction of QSPI flash programming, the self-starting function that powers on of FPGA is accomplished.
Accompanying drawing explanation
Accompanying drawing is the connected mode of Zynq-7000 Series FPGA and QSPI flash.
Fig. 1 is that Zynq-7000 Series FPGA connects 1 QSPI flash, and data are 4 bit bit wide fashion embodiment schematic diagram.
Fig. 2 is that Zynq-7000 Series FPGA connects 2 QSPI flash, cascade system, and data are 4 bit bit wide embodiment schematic diagram.
Fig. 3 is that Zynq-7000 Series FPGA connects 2 QSPI flash, parallel way, and data are 8 bit bit wide embodiment schematic diagram.
Embodiment
Consult Fig. 1-Fig. 3.Serial peripheral memory interface and the 4 bit serial peripheral memory connected modes of Zynq-7000 Series FPGA have 3 kinds, the wherein serial peripheral memory interface of the Series FPGA of Zynq-7000 shown in Fig. 1, have 4bit data line to be connected with 14 bit serial peripheral memory QSPI flash, this connected mode is called monolithic 4bit bit wide connected mode; The serial peripheral memory interface of the Series FPGA of Zynq-7000 shown in Fig. 2,4bit data line is had to be connected with 24 bit serial peripheral memory QSPI flash, 24 bit serial peripheral memory QSPI flash are called QSPI_flash_1, QSPI_flash_2, this connected mode is called monolithic 4bit bit wide cascade system; The serial peripheral memory interface of the Series FPGA of Zynq-7000 shown in Fig. 3,8bit data line is had to be connected with 24 bit serial peripheral memory QSPI flash, 24 bit serial peripheral memory QSPI flash are called QSPI_flash_1, QSPI_flash_2, this connected mode is called biplate 8bit bit wide parallel mode.
The program loading method of FPGA biplate QSPI flash specifically comprises the steps: in Xilinx company programmable logic array FPGA SDK (Software Development Kit) SDK, first a newly-built application A PP to the readwrite tests of QSPI flash (hereinafter referred to as APP), for the readwrite tests to QSPI flash; In SDK, utilize new construction guide, a newly-built APP application program, object is tested the peripheral hardware biplate 8bit of the Zynq-7000 Series FPGA QSPI flash that walks abreast, by modifying to QSPI flash APP application program, to complete, two QSPI flash to be read and write, erase operation.In APP application program, carry out parameter configuration to QSPI flash, configuration QSPI flash is I/O pattern, i.e. IO pattern (hereinafter referred to as IO pattern); Carry out read operation again, read the id information of QSPI flash chip in APP application program, and obtain the relevant information of QSPI flash, as information such as manufacturer, capacity, block sizes.Arrange register: in APP application program, the bit 1 arranging the configuration register 1 (Configuration Register 1, CR1) of QSPI flash chip is 1, makes QSPI flash chip support 4bit operation.Then curing document is imported, the content be cured in flash will be needed, below suppose that its file is called function.bin, download to the peripheral hardware internal memory DDR3 (hereinafter referred to as DDR3) of Zynq-7000 Series FPGA from PC, import in the peripheral hardware internal memory DDR3 of Zynq-7000 Series FPGA by curing document function.bin by JTAG, this operation can be completed by input command in the debugging interface XMD of SDK, order is dow – data function.bin 0x100000, represent and function.bin is deposited the address that start address is 0x100000, erasing QSPI flash, in APP application program, according to the model of QSPI flash, send specific erase command, its erase command is 60h, or C7h, h are expressed as 16 systems, carries out erase operation to QSPI flash, programming curing document, in APP application program, the function.bin file being positioned at 0x100000 place, address is read by the page of QSPI flash, and be written in QSPI flash, write order used is 02h or 32h, can not to walk abreast the problem of QSPI flash by programming 8bit for solving the FPGA developing instrument SDK of Xilinx company and FPGA flashburn tools IMPACT.
QSPI flash model used in the present invention is the S25FL128 of Spasion company, and method provided by the invention is also applicable to the QSPI flash model of other company.
Claims (9)
1. the program loading method of a FPGA biplate QSPI flash, it is characterized in that comprising the steps: in Xilinx company programmable logic array FPGA SDK (Software Development Kit) SDK, a newly-built application A PP to the readwrite tests of 4 bit serial peripheral memory interface QSPI flash; In APP, carry out parameter configuration to QSPI flash, configuration QSPI flash is I/O pattern IO; Import curing document, will the content be cured in flash be needed to download to the peripheral hardware memory chip DDR3 of FPGA from PC, read needing the content of solidification to press page by QSPI flash APP application program, and be written in the corresponding address of QSPI flash.
2. the program loading method of FPGA biplate QSPI flash as claimed in claim 1, it is characterized in that: FPGA is Zynq-7000 series, the QSPI flash interface of Zynq-7000 Series FPGA has 8 position datawires, be divided into 24 position datawires, be connected with 2 QSPI flash respectively, 2 QSPI flash are respectively qspi flash_1, qspi flash_2.
3. the program loading method of FPGA biplate QSPI flash as claimed in claim 1 or 2, it is characterized in that: in FPGA SDK (Software Development Kit) SDK, utilize new construction guide, a newly-built APP application program, the peripheral hardware biplate 8bit of the Zynq-7000 Series FPGA QSPI flash that walks abreast is tested, by modifying to QSPI flash APP application program, complete the reading and writing to two QSPI flash, erase operation.
4. the program loading method of FPGA biplate QSPI flash as claimed in claim 1, is characterized in that: when carrying out read operation, is read the id information of QSPI flash chip by APP application program, obtains the relevant information of QSPI flash.
5. the program loading method of FPGA biplate QSPI flash as claimed in claim 1, it is characterized in that: in APP application program, the bit 1 arranging the configuration register 1 of QSPI flash chip is 1, makes QSPI flash chip support 4bit operation.
6. the program loading method of FPGA biplate QSPI flash as claimed in claim 1, it is characterized in that: curing document function.bin is imported in the peripheral hardware internal memory DDR3 of Zynq-7000 Series FPGA by JTAG, this operation can be completed by input command in the debugging interface XMD of SDK, order is dow – data function.bin 0x100000, represents and function.bin is deposited the address that start address is 0x100000.
7. the program loading method of FPGA biplate QSPI flash as claimed in claim 1, is characterized in that: in APP application program, according to the model of QSPI flash, sends specific erase command, carry out erase operation to QSPI flash, programming curing document.
8. the program loading method of FPGA biplate QSPI flash as claimed in claim 1, it is characterized in that: in APP application program, the function.bin file being positioned at 0x100000 place, address is read by the page of QSPI flash, and be written in QSPI flash, write order used is that 02h or 32h, h are expressed as 16 systems.
9. the program loading method of FPGA biplate QSPI flash as claimed in claim 1, is characterized in that: the QSPI flash model used is S25FL128, and its erase command is 60h, or C7h, h are expressed as 16 systems.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510263302.2A CN104951334B (en) | 2015-05-22 | 2015-05-22 | FPGA biplate QSPI flash program loading method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510263302.2A CN104951334B (en) | 2015-05-22 | 2015-05-22 | FPGA biplate QSPI flash program loading method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104951334A true CN104951334A (en) | 2015-09-30 |
CN104951334B CN104951334B (en) | 2018-01-23 |
Family
ID=54166003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510263302.2A Active CN104951334B (en) | 2015-05-22 | 2015-05-22 | FPGA biplate QSPI flash program loading method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104951334B (en) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105515709A (en) * | 2015-12-07 | 2016-04-20 | 中国电子科技集团公司第三十二研究所 | Time synchronization device based on domestic FPGA and uclinux operating system |
CN105573800A (en) * | 2015-12-22 | 2016-05-11 | 中船重工(武汉)凌久电子有限责任公司 | Single-board or multi-board system based on ZYNQ and on-line updating method |
CN106201580A (en) * | 2016-06-30 | 2016-12-07 | 北京智联友道科技有限公司 | Internet of Things experiment module program fast restore method |
CN107196695A (en) * | 2017-04-07 | 2017-09-22 | 西安电子科技大学 | Inter-satellite Links test system based on Zynq |
CN107347158A (en) * | 2017-06-01 | 2017-11-14 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | Aircraft load terminal image compression method |
CN107948653A (en) * | 2017-11-03 | 2018-04-20 | 中国航空无线电电子研究所 | A kind of video compress and recorder |
CN108021385A (en) * | 2017-12-29 | 2018-05-11 | 北京神州龙芯集成电路设计有限公司 | A kind of programming system and method for onboard SPI Flash |
CN108427651A (en) * | 2018-03-15 | 2018-08-21 | 天津光电丰泰科技有限公司 | A kind of difunctional multiplexing method based on Zynq Qspi-Flash |
CN111124433A (en) * | 2018-10-31 | 2020-05-08 | 华北电力大学扬中智能电气研究中心 | Program programming device, system and method |
CN111563059A (en) * | 2019-12-18 | 2020-08-21 | 中国船舶重工集团公司第七0九研究所 | PCIe-based multi-FPGA dynamic configuration device and method |
CN112114874A (en) * | 2020-08-20 | 2020-12-22 | 北京百度网讯科技有限公司 | Data processing method and device, electronic equipment and storage medium |
CN112445540A (en) * | 2020-11-10 | 2021-03-05 | 惠州市创荣发智能科技有限公司 | Program operation method, system, terminal and storage medium |
CN113434207A (en) * | 2021-06-09 | 2021-09-24 | 山东航天电子技术研究所 | Zynq UltraScale + SoC configuration file loading reconstruction method |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120185674A1 (en) * | 2011-01-13 | 2012-07-19 | Xilinx, Inc. | Extending a processor system within an integrated circuit |
US20120221833A1 (en) * | 2011-02-28 | 2012-08-30 | Xilinx, Inc. | Integrated circuit with programmable circuitry and an embedded processor system |
CN103370878A (en) * | 2011-01-13 | 2013-10-23 | 吉林克斯公司 | Power management within an integrated circuit |
CN103870429A (en) * | 2014-04-03 | 2014-06-18 | 清华大学 | High-speed-signal processing board based on embedded GPU |
CN103927276A (en) * | 2014-03-14 | 2014-07-16 | 山东大学 | PCM FMC expansion board based on Zynq-7000 and working method of PCM FMC expansion board |
CN104572569A (en) * | 2015-01-21 | 2015-04-29 | 江苏微锐超算科技有限公司 | ARM (Algorithmic Remote Manipulation) and FPGA (Field Programmable Gate Array)-based high performance computing node and computing method |
-
2015
- 2015-05-22 CN CN201510263302.2A patent/CN104951334B/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120185674A1 (en) * | 2011-01-13 | 2012-07-19 | Xilinx, Inc. | Extending a processor system within an integrated circuit |
CN103370878A (en) * | 2011-01-13 | 2013-10-23 | 吉林克斯公司 | Power management within an integrated circuit |
US20120221833A1 (en) * | 2011-02-28 | 2012-08-30 | Xilinx, Inc. | Integrated circuit with programmable circuitry and an embedded processor system |
CN103927276A (en) * | 2014-03-14 | 2014-07-16 | 山东大学 | PCM FMC expansion board based on Zynq-7000 and working method of PCM FMC expansion board |
CN103870429A (en) * | 2014-04-03 | 2014-06-18 | 清华大学 | High-speed-signal processing board based on embedded GPU |
CN104572569A (en) * | 2015-01-21 | 2015-04-29 | 江苏微锐超算科技有限公司 | ARM (Algorithmic Remote Manipulation) and FPGA (Field Programmable Gate Array)-based high performance computing node and computing method |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105515709A (en) * | 2015-12-07 | 2016-04-20 | 中国电子科技集团公司第三十二研究所 | Time synchronization device based on domestic FPGA and uclinux operating system |
CN105573800B (en) * | 2015-12-22 | 2018-09-18 | 中船重工(武汉)凌久电子有限责任公司 | A kind of veneer or multi-slab and online updating method based on ZYNQ |
CN105573800A (en) * | 2015-12-22 | 2016-05-11 | 中船重工(武汉)凌久电子有限责任公司 | Single-board or multi-board system based on ZYNQ and on-line updating method |
CN106201580A (en) * | 2016-06-30 | 2016-12-07 | 北京智联友道科技有限公司 | Internet of Things experiment module program fast restore method |
CN106201580B (en) * | 2016-06-30 | 2019-04-09 | 北京智联友道科技有限公司 | The quick restoring method of Internet of Things experiment module program |
CN107196695A (en) * | 2017-04-07 | 2017-09-22 | 西安电子科技大学 | Inter-satellite Links test system based on Zynq |
CN107347158A (en) * | 2017-06-01 | 2017-11-14 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | Aircraft load terminal image compression method |
CN107948653A (en) * | 2017-11-03 | 2018-04-20 | 中国航空无线电电子研究所 | A kind of video compress and recorder |
CN108021385A (en) * | 2017-12-29 | 2018-05-11 | 北京神州龙芯集成电路设计有限公司 | A kind of programming system and method for onboard SPI Flash |
CN108427651A (en) * | 2018-03-15 | 2018-08-21 | 天津光电丰泰科技有限公司 | A kind of difunctional multiplexing method based on Zynq Qspi-Flash |
CN111124433A (en) * | 2018-10-31 | 2020-05-08 | 华北电力大学扬中智能电气研究中心 | Program programming device, system and method |
CN111124433B (en) * | 2018-10-31 | 2024-04-02 | 华北电力大学扬中智能电气研究中心 | Program programming equipment, system and method |
CN111563059A (en) * | 2019-12-18 | 2020-08-21 | 中国船舶重工集团公司第七0九研究所 | PCIe-based multi-FPGA dynamic configuration device and method |
CN111563059B (en) * | 2019-12-18 | 2022-05-24 | 中国船舶重工集团公司第七0九研究所 | PCIe-based multi-FPGA dynamic configuration device and method |
CN112114874A (en) * | 2020-08-20 | 2020-12-22 | 北京百度网讯科技有限公司 | Data processing method and device, electronic equipment and storage medium |
CN112445540A (en) * | 2020-11-10 | 2021-03-05 | 惠州市创荣发智能科技有限公司 | Program operation method, system, terminal and storage medium |
CN113434207A (en) * | 2021-06-09 | 2021-09-24 | 山东航天电子技术研究所 | Zynq UltraScale + SoC configuration file loading reconstruction method |
CN113434207B (en) * | 2021-06-09 | 2023-03-24 | 山东航天电子技术研究所 | Zynq UltraScale + SoC configuration file loading reconstruction method |
Also Published As
Publication number | Publication date |
---|---|
CN104951334B (en) | 2018-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104951334A (en) | FPGA double-chip QSPI flash program loading method | |
KR101819014B1 (en) | Method and controller for managing memory device | |
TWI515735B (en) | Data erasing method, memory control circuit unit and memory storage apparatus | |
US8392649B2 (en) | Memory storage device, controller, and method for responding to host write commands triggering data movement | |
US20110066869A1 (en) | Memory Array Power Cycling | |
TWI470431B (en) | Data writing method, memory controller and memory storage apparatus | |
TWI668570B (en) | Data merge method, memory storage device and memory control circuit unit | |
US9460004B2 (en) | Memory erasing method, memory controller, and memory storage apparatus | |
US8775760B2 (en) | Modifying a host interface setting for a non-volatile memory module | |
TWI582776B (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
CN107346211B (en) | Mapping table loading method, memory control circuit unit and memory storage device | |
CN105373338A (en) | Control method and controller for FLASH | |
TWI492054B (en) | Simulator and simulating method for flash memory | |
TW201407349A (en) | Data management method, memory controller and memory storage device | |
US9823844B2 (en) | Memory management method, memory control circuit unit, and memory storage apparatus | |
TWI640872B (en) | Memory control circuit unit, memory storage device and control method thereof | |
TW201351137A (en) | Memory management method, memory controller and memory storage device using the same | |
TWI534814B (en) | Data writing method, memoey control circuit unit and memory storage apparatus | |
US20160364148A1 (en) | Buffer memory accessing method, memory controller and memory storage device | |
CN102629212A (en) | Method for indirectly programming to NANDFLASH based on J-LINK | |
TW201939287A (en) | Block management method, memory control circuit unit and memory storage apparatus | |
US10191659B2 (en) | Buffer memory management method, memory control circuit unit and memory storage device | |
CN110609596B (en) | Development system and production method of data storage device | |
US9229798B2 (en) | Error handling method, memory storage device and memory controlling circuit unit | |
CN107229413B (en) | Memory management method, memory control circuit unit and memory storage device |
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 |