CN114398304A - Method for solving SRIO interface blocking - Google Patents

Method for solving SRIO interface blocking Download PDF

Info

Publication number
CN114398304A
CN114398304A CN202210025365.4A CN202210025365A CN114398304A CN 114398304 A CN114398304 A CN 114398304A CN 202210025365 A CN202210025365 A CN 202210025365A CN 114398304 A CN114398304 A CN 114398304A
Authority
CN
China
Prior art keywords
fpga
srio interface
cpu
solving
srio
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.)
Pending
Application number
CN202210025365.4A
Other languages
Chinese (zh)
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.)
MILKY WAY ELECTRONIC EQUIPMENT FACTORY SHANXI PROVINCE
Original Assignee
MILKY WAY ELECTRONIC EQUIPMENT FACTORY SHANXI PROVINCE
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 MILKY WAY ELECTRONIC EQUIPMENT FACTORY SHANXI PROVINCE filed Critical MILKY WAY ELECTRONIC EQUIPMENT FACTORY SHANXI PROVINCE
Priority to CN202210025365.4A priority Critical patent/CN114398304A/en
Publication of CN114398304A publication Critical patent/CN114398304A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)

Abstract

The invention relates to the technical field of high-speed interface communication, and discloses a method for solving SRIO interface blocking, which comprises the following steps: the first step is as follows: the CPU polls the state of an SRIO interface between the CPU and the FPGA through a local BUS (BUS); the second step is that: after receiving a reset signal sent by the CPU, the FPGA resets the internal logic; the third step: after receiving the reconfiguration command, the FPGA sends an IPROG command through the ICAP to reconfigure, captures an externally input asynchronous reset signal, and reconfigures the FPGA started in an active mode, thereby solving the problem that normal communication cannot be realized due to SRIO interface blockage between the FPGA and a PowerPC CPU; in the hardware design of the Master configuration mode, the FPGA is reconfigured under the condition that the equipment is not powered off, and the problem of SRIO interface blockage between the CPU and the FPGA is solved.

Description

Method for solving SRIO interface blocking
Technical Field
The invention relates to the technical field of high-speed interface communication, in particular to a method for solving SRIO interface blocking.
Background
In the hardware architecture design of heterogeneous computing, a CPU + FPGA is a common hardware architecture mode, and in a scenario where the CPU + FPGA needs to exchange data at a high speed, SRIO is a common communication interface. Due to the difference of the power-on time and the reset processing of the CPU and the FPGA, the SRIO interface can be accidentally blocked and cannot be recovered in the using process, and further communication cannot be achieved. For an FPGA which is configured by adopting a Slave-Serial and Slave-SelectMAP mode in hardware design, the problem can be solved by reconfiguration; however, for the FPGAs started in the Master-Serial, Master-SelectMAP, Master-SPI, and Master-BPI modes, since the FPGAs is configured and started only once when the hardware board is powered on, the FPGAs can be reconfigured only by power-off restart. In some application scenarios, the device is not allowed to be powered off, which needs to solve the problem of reconfiguring internal logic data once by the FPGA without power failure. The method solves the problem of dynamically configuring the FPGA in a Master configuration mode without power failure by using the internal primitive ICAP of the FPGA.
Disclosure of Invention
Technical problem to be solved
Aiming at the defects of the prior art, the invention provides a method for solving SRIO interface blocking.
(II) technical scheme
In order to achieve the purpose, the invention provides the following technical scheme: a method for solving SRIO interface blocking comprises the following steps:
the first step is as follows: the CPU polls the state of an SRIO interface between the CPU and the FPGA through a local BUS (BUS);
the second step is that: after receiving a reset signal sent by the CPU, the FPGA resets the internal logic;
the third step: after receiving the reconfiguration command, the FPGA sends an IPROG command through the ICAP to reconfigure.
Preferably, in the first step, once the SRIO interface is found to be blocked, a soft reset signal is first sent to the FPGA, and the SRIO interface is reset.
Preferably, in the first step, once the SRIO interface is found to be blocked, a soft reset signal is first sent to the FPGA, and the SRIO interface is reset.
Preferably, the address stored in the FLASH by the logic to be reconfigured is filled in the Warm boot start address of the configuration data sent by the IRPOG in the third step.
Preferably, when the FPGA is configured in a Master mode, data is read from the 0 address of the FLASH by default after the FPGA is powered on and started. So the configuration bit file we write at FLASH address 0 should contain the ICAP2 primitive.
(III) advantageous effects
Compared with the prior art, the invention provides a method for solving SRIO interface blocking, which has the following beneficial effects:
1. according to the method for solving the SRIO interface blocking problem, in the hardware design of a Master configuration mode, the FPGA is reconfigured under the condition that equipment is not powered off, and the problem of SRIO interface blocking between a CPU and the FPGA is solved.
2. According to the method for solving the SRIO interface blocking problem, when the SRIO interface blocking problem is solved, only the BOOT _ ADDR in the icap2_ top module is changed into 0x0000_0000, and after the CPU monitors that the SRIO interface at the opposite end is blocked, the CPU informs the FPGA to generate a reset signal to the icap2_ top module, so that the reconfiguration of the FPGA can be completed without power failure, and the problem of the interface blocking is solved.
3. According to the method for solving the SRIO interface blockage, an externally input asynchronous reset signal is captured, the FPGA started in an active mode is reconfigured, and the problem that normal communication cannot be achieved due to the SRIO interface blockage between the FPGA and a PowerPC CPU is solved.
Drawings
FIG. 1 is a block diagram of the present invention;
FIG. 2 is a diagram illustrating a CAP data frame format according to the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Referring to fig. 1-2, a method for solving SRIO interface blocking includes the following steps:
the first step is as follows: the CPU polls the state of an SRIO interface between the CPU and the FPGA through a local BUS (BUS);
the second step is that: after receiving a reset signal sent by the CPU, the FPGA resets the internal logic;
the third step: after receiving the reconfiguration command, the FPGA sends an IPROG command through the ICAP to reconfigure.
In the first step, once the situation that the SRIO interface is blocked is found, a soft reset signal is firstly sent to the FPGA, and meanwhile, the SRIO interface is reset.
In the first step, once the situation that the SRIO interface is blocked is found, a soft reset signal is firstly sent to the FPGA, and meanwhile, the SRIO interface is reset.
And in the third step, the address stored in the FLASH of the logic to be reconfigured is filled in by the Warm boot start address of the configuration data sent by the IRPOG.
And when the FPGA is configured in a Master mode, reading data from the 0 address of the FLASH by default after the FPGA is powered on and started. So the configuration bit file we write at FLASH address 0 should contain the ICAP2 primitive.
When the method is used, the first project is established and named led1, and the finally generated bit file is led _ icap _ top.
1. After the FPGA is powered on, the internal lighting logic is first executed (flashing once for 1 second). After waiting for about 10 seconds, releasing the reset signal of the icap2_ top module;
2. and after 5 seconds of reset release is received by the icap2_ top module, writing a new load address into the ICAPE2 core according to fixed time sequence.
3. ICAPE2, upon receiving the instruction, reads the led2_ top. bit file from FLASH at address 0x0040_0000 and loads.
The second project is named led2, the finally generated bit file is led2_ top. bit, the implementation function is lighting logic, and the flash is performed once every 200 milliseconds.
And (3) generating an icap _ test.mcs file by using a vido 2018.2 tool and led1.bit and led2.bit, and finally programming the icap _ test.mcs file into Flash. Note that the Start address of led2_ top. bit is to be kept consistent with that in ICAP.
The implementation flow shows a verification method of the reconfiguration function of ICAP2, and the verification is completed on a xilinx xc7k325tfbg900 chip, so that the determination method is feasible.
Although embodiments of the present invention have been shown and described, it will be appreciated by those skilled in the art that changes, modifications, substitutions and alterations can be made in these embodiments without departing from the principles and spirit of the invention, the scope of which is defined in the appended claims and their equivalents.

Claims (5)

1. A method for solving SRIO interface blocking is characterized in that: the method comprises the following steps:
the first step is as follows: the CPU polls the state of an SRIO interface between the CPU and the FPGA through a local BUS (BUS);
the second step is that: after receiving a reset signal sent by the CPU, the FPGA resets the internal logic;
the third step: after receiving the reconfiguration command, the FPGA sends an IPROG command through the ICAP to reconfigure.
2. The method according to claim 1, wherein the method for solving SRIO interface blocking comprises: in the first step, once the situation that the SRIO interface is blocked is found, a soft reset signal is firstly sent to the FPGA, and meanwhile, the SRIO interface is reset.
3. The method according to claim 1, wherein the method for solving SRIO interface blocking comprises: and if the problem of interface blockage cannot be solved in the first step, writing a reconfiguration instruction into the FPGA.
4. The method according to claim 1, wherein the method for solving SRIO interface blocking comprises: and in the third step, the address stored in the FLASH of the logic to be reconfigured is filled in by the Warm boot start address of the configuration data sent by the IRPOG.
5. The method according to claim 1, wherein the method for solving SRIO interface blocking comprises: and when the FPGA is configured in a Master mode, reading data from the 0 address of the FLASH by default after the FPGA is powered on and started. So the configuration bit file we write at FLASH address 0 should contain the ICAP2 primitive.
CN202210025365.4A 2022-03-01 2022-03-01 Method for solving SRIO interface blocking Pending CN114398304A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210025365.4A CN114398304A (en) 2022-03-01 2022-03-01 Method for solving SRIO interface blocking

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210025365.4A CN114398304A (en) 2022-03-01 2022-03-01 Method for solving SRIO interface blocking

Publications (1)

Publication Number Publication Date
CN114398304A true CN114398304A (en) 2022-04-26

Family

ID=81230116

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210025365.4A Pending CN114398304A (en) 2022-03-01 2022-03-01 Method for solving SRIO interface blocking

Country Status (1)

Country Link
CN (1) CN114398304A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114443170A (en) * 2022-01-29 2022-05-06 中国航空无线电电子研究所 FPGA dynamic parallel loading and unloading system

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101727423A (en) * 2008-10-17 2010-06-09 东北大学 System capable of preempting multiple hardware tasks on reconfigurable FPGA and implementing method thereof
CN105095139A (en) * 2014-05-08 2015-11-25 中兴通讯股份有限公司 Inter-integrated circuit system and data operation and transmission method thereof
CN209088985U (en) * 2018-12-29 2019-07-09 成都蓉威电子技术有限公司 A kind of designing system of RapidIO Reconfigurable Datapath
CN111190853A (en) * 2019-12-26 2020-05-22 南京理工大学 High-speed communication system between pieces based on EMIF and SRIO interface
CN111274183A (en) * 2020-02-21 2020-06-12 山东超越数控电子股份有限公司 Multi-path high-speed protocol interface dynamic reconfigurable system and implementation method
CN112540770A (en) * 2019-09-23 2021-03-23 中国科学院沈阳自动化研究所 PowerPC and FPGA-based heterogeneous platform and acceleration method thereof
CN113010264A (en) * 2021-04-16 2021-06-22 西北工业大学 Software radar online reconfigurable platform based on FPGA + DSP and implementation method

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101727423A (en) * 2008-10-17 2010-06-09 东北大学 System capable of preempting multiple hardware tasks on reconfigurable FPGA and implementing method thereof
CN105095139A (en) * 2014-05-08 2015-11-25 中兴通讯股份有限公司 Inter-integrated circuit system and data operation and transmission method thereof
CN209088985U (en) * 2018-12-29 2019-07-09 成都蓉威电子技术有限公司 A kind of designing system of RapidIO Reconfigurable Datapath
CN112540770A (en) * 2019-09-23 2021-03-23 中国科学院沈阳自动化研究所 PowerPC and FPGA-based heterogeneous platform and acceleration method thereof
CN111190853A (en) * 2019-12-26 2020-05-22 南京理工大学 High-speed communication system between pieces based on EMIF and SRIO interface
CN111274183A (en) * 2020-02-21 2020-06-12 山东超越数控电子股份有限公司 Multi-path high-speed protocol interface dynamic reconfigurable system and implementation method
CN113010264A (en) * 2021-04-16 2021-06-22 西北工业大学 Software radar online reconfigurable platform based on FPGA + DSP and implementation method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘建军;郭秋丽;邸海涛;孟海宁;: "一种主从式动态重配置系统的软件架构技术", 航空计算技术, no. 05, 25 September 2018 (2018-09-25), pages 149 - 152 *
李平;吴晓;山寿;: "基于SPI FLASH的FPGA多重配置", 现代电子技术, no. 22, 15 November 2013 (2013-11-15), pages 135 - 138 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114443170A (en) * 2022-01-29 2022-05-06 中国航空无线电电子研究所 FPGA dynamic parallel loading and unloading system

Similar Documents

Publication Publication Date Title
WO2021164170A1 (en) Multi-path high-speed protocol interface dynamic reconfiguration system and implementation method therefor
CN107977217B (en) Method for online loading XILINX-FPGA multi-version updating program
US7856546B2 (en) Configurable processor module accelerator using a programmable logic device
CN101853172B (en) Device and method for dynamically upgrading complex programmable logic device (CPLD)
CN105808290B (en) Remote dynamic updating system and method for multi-FPGA complete machine system
WO2018064885A1 (en) Apparatus and method for configuring or updating programmable logic device
US10929150B2 (en) Optical line terminal and method for upgrading primary device and secondary device of optical line terminal
CN103618618A (en) Line card fault recovery method and related device based on distributed PCIE system
CN114398304A (en) Method for solving SRIO interface blocking
CN102053849B (en) Distributed system, main system and slave systems thereof and a code loading method
CN105302621A (en) Method for remotely achieving initial value restoration of server BIOS Setup
JP2016045954A (en) System and method for initializing rf module through nonvolatile control
CN113127302A (en) Method and device for monitoring GPIO (general purpose input/output) of board card
CN112988271A (en) System and method for dynamically configuring FPGA (field programmable Gate array) in passive SelectMAP (selectable MAP) mode
CN115167935A (en) Software dynamic function reconstruction information processing method based on domestic DSP
CN101359298A (en) Method for removing internal memory with BIOS and computer system thereof
CN112347035B (en) Remote FPGA equipment-oriented dynamic part reconfigurable configuration device and method
CN213634473U (en) Device and system for realizing remote deployment and debugging of FPGA (field programmable Gate array) based on SIP (Session initiation protocol)
CN104461659A (en) High-reliability computer starting method
CN113626363A (en) Multi-bus architecture device facing micro-nano satellite-borne computer and control method thereof
CN111459875A (en) MCU processor and packaging method thereof
CN116432574B (en) Method and device for automatically reading back FLASH data by FPGA configuration controller
CN109144583A (en) Mainboard information acquisition method, device, system and equipment based on Domestic Platform
US20220113883A1 (en) Field-programmable gate array (fpga) for implementing data transfer between different configuration and application processes
CN114741347B (en) PCIe card control method and device and PCIe card

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