EP3555760A1 - Parallel processing on demand using partially dynamically reconfigurable fpga - Google Patents
Parallel processing on demand using partially dynamically reconfigurable fpgaInfo
- Publication number
- EP3555760A1 EP3555760A1 EP17818135.0A EP17818135A EP3555760A1 EP 3555760 A1 EP3555760 A1 EP 3555760A1 EP 17818135 A EP17818135 A EP 17818135A EP 3555760 A1 EP3555760 A1 EP 3555760A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- slave
- master
- reconfiguration
- core
- instruction
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Definitions
- the present invention relates to methods for performing parallel processing on demand through dynamic reconfiguration using a dynamically reconfigurable softcore processor for FPGA chips.
- FPGAs offer inexpensive and fast programmable hardware on some of the most advanced fabrication processes. Methods using reconfiguration technologies of FPGA chips are for example known from WO 2012/100500, US 5 931 959, CN 103677917, CN 103677837, CN 104008024, CN 102819818, WO 2014/120157 and US 7 509 617.
- 3D-Stacked Integrated Circuits 3D SICs
- 3D SICs 3D-Stacked Integrated Circuits
- HIPEAC vision for advanced computing in horizon 2020 HIPEAC network of excellence 2013, 3D stacking enables higher levels of integration and reduced costs for off-chip communications, the overall complexity being easily managed due to the separation in different and independently designed matrices.
- monolithic 3D FPGAs allow not only working with parallel architectures at very high speeds but also working with several logic blocks in parallel, as presented in the article of Lin et al. "Performance benefits of monolithically stacked 3D FPGA”, Proceedings of the 2006 International Symposium on FPGA, pages 113-122 and the one of Cevrero et al. "3D configuration caching for 2D FPGAs " in the proceedings of the ACM/SIGDA International Symposium on FPGA 2009, pages 286-290.
- a 2D FPGA chip 100 consists in the duplication of basic building blocks 101, called "tiles", interconnected through regular queues.
- Each tile is composed of three types of resources, two configurable blocks (CB), a logic block (LB) and a routing block (SB).
- CB configurable blocks
- LB logic block
- SB routing block
- the objective of the architectural 3D transformation is to reduce the horizontal wired connections to avoid synchronization errors, optimize energy consumption, reduce the needed silicon surface, and improve routing delays. This is achieved by the organization of each type of resource block in a silicon layer, and by superposing them one over the other in the same chip using TSV interconnections (Through-Silicon- Via), as explained in the above-cited article of Lin et al.
- Figure IB illustrates the general structure of a 3D layered FPGA 110.
- the stacking order plays an important role in ensuring good performances.
- the configuration memory layer 111 is thus located above the other layers and is built with Static Random Access Memory (SRAM) blocks of two types, LB-SRAM (Logic Block SRAM) and RR- SRAM (Routing Resource SRAM).
- the middle routing layer 1 12 is a mesh of nodes, each node being composed of four CBs and four SBs.
- the 3D layered FPGA 110 can include several routing layers, also called switch or alignment layers, as illustrated in Figure 2.
- the lower layer 113, called logic layer is composed by uniformly interconnected LBs. As shown in Figure 2, in a 3D FPGA, several FPGA tiles can be configured in parallel while accessing different configuration memory banks simultaneously.
- IP Intelligent Property
- An IP (Intellectual Property) component refers to a reusable unit of logic, cell, or chip layout design that is a piece of the intellectual property of the chip where it is embedded.
- the manufacturer Xilinx demonstrated 3600 8-bit picoBlaze softcore processors, which can be replaced, for specific applications, by specialized hardware accelerators or other IP components, running simultaneously on the Virtex7 2000T FPGA.
- the inventor developed a softcore processor dedicated to the integration of hardware components and Single Program Multiple Data (SPMD) execution model that is based on the master/slaves principle, wherein the program to be executed runs on the master IP cores and when large data is processed this can be done by the slave IP cores.
- SPMD Single Program Multiple Data
- IP Hardware Meets Software HoMade softcore for massively parallel reflective programming
- an IP is changed by another one in the same softcore, either in the master softcore or the slave softcore. IPs are sequentially replaced.
- the master/slaves topology i.e. the number of slaves and the way they are interconnected, used to be fixed for a given application and could not change during runtime for an FPGA. This fact limited optimal usage of resources for the benefit of massively parallel processing.
- IP cores required by the application had to be manually written in VHDL by the designer and instantiated in the softcore. Only IP cores needed by the application should be instantiated, to satisfy what is called Hardware on Demand, and this is true for master IP cores as well as slave ones. There is thus a need to improve dynamic reconfiguration for parallel processing on demand.
- One object of the invention is a method for performing parallel processing within at least one FPGA chip which comprises one dynamically reconfigurable master unit and at least two dynamically reconfigurable slave units, each slave unit comprising a pool of interconnected slave elements, each slave element comprising a plurality of slave IP cores, one slave softcore processor integrating them and an instruction memory, said one master unit comprising one reconfiguration IP core, at least one master IP core, one master softcore processor integrating said at least one master IP core and a memory containing a master program for execution by said at least one master IP core, wherein at runtime of the master program, the reconfiguration IP core executes at least one instruction causing the reconfiguration of the pool of slave elements by dynamically varying their number and/or interconnections according to a given configuration defined in said master program and then by storing into each of the instruction memories of the slave elements a corresponding slave program for parallel execution by the slave IP cores.
- Dynamic variation means changing, at runtime, the slave unit that is instantiated by the master program according to a given configuration.
- the method according to the invention provides a massively parallel dynamically reconfigurable SPMD execution model adapted to both application requirements and hardware resources. This brings several benefits: a reduced needed silicon surface and a reduced power consumption, because only the IP cores in use are instantiated on the chip with the most optimal master/slaves topology. These savings are important for embedded systems that often need to operate with limited resources.
- IP-based systems can be customized at runtime using the DPR feature, and whose reconfiguration can benefit from 3D technology.
- Parallel dynamic reconfiguration model
- Said at least one instruction causing the reconfiguration of the pool of slave elements preferably triggers a SPMD instruction.
- SPMD refers to a technique employed to achieve parallelism : tasks are split up and run simultaneously on multiple processors with different inputs in order to obtain results faster.
- the SPMD instruction advantageously triggers a parallel programming preset of the pool of slave elements by loading an initialization program at the address 0 of the slave elements' memories.
- the activation of said reconfiguration IP core has effect on the master unit.
- an IP core can be replaced by another IP core at runtime among the IP cores of the master.
- the reconfiguration IP core can also replace one slave unit by another during runtime. Thanks to 3D technology and with parallel broadcast of bitstream, this replacement can be achieved without any sequentialization of bit transfert. It is especially well-suited for the execution principle of SPMD, able to reconfigure in parallel a subset of parallel computing nodes.
- the reconfiguration IP core activated by an IP activation instruction may initiate a parallel dynamic reconfiguration in coordination with the slave IP cores instantiated on slave units for on-the-fly operations on the bitstream.
- Said reconfiguration IP core activated by the IP activation instruction may be considered as a master, and said instantiated slave IP cores may be considered as slaves.
- the set of slaves may depend on the application requirements and/or the available resources.
- the reconfiguration IP of the master unit is solicited.
- a single bitstream with a new topology replaces the previous one.
- a new program corresponding to the new topology has to be broadcasted to the memories of the slave elements. To insure data remanence in these memories, gathering/scattering of data from/to the master unit can be useful.
- the master and slave programs may be advantageously written in a DSL (Domain Specific Language), notably in high level structured macro assembler.
- DSL Domain Specific Language
- the compiler preferably analyzes the programs in order to automatically generate in VHDL all required IP cores for the application if they do not already exist in a basic compilation library of any softcore, containing pre-defined IPs.
- This feature avoids development of IP cores in VHDL by the programmer.
- the compiler From a postfixed expression, the compiler generates the VHDL code according to a graph of dependency.
- the generated VHDL code for an IP preferably matches a combinatorial or sequential circuit respecting constraints imposed on the entity structure to enable integration of the IP in the softcore.
- Aggregation of all necessary IPs may be done by the compiler ensuring optimal design.
- the level of parallel reconfigurations may depend on the technological features of the chip, mainly its number N of available Internal Configuration Access Ports (ICAPs).
- ICAPs Internal Configuration Access Ports
- the number N of ICAPs may be greater than the number of zones C to be reconfigured.
- One ICAP may thus be assigned to each reconfiguration zone, the remaining non assigned ICAPs being in an idle state. This embodiment is the simplest possible situation because all the partial reconfigurations can be performed in a parallel way for sure.
- the number N of ICAPs of the chip is smaller than the number of zones C to be reconfigured.
- the ICAPs cannot reconfigure all said zones in a parallel manner.
- Such an assignment ensures a balanced repartition of reconfiguration workload on the available ICAPs.
- the reconfigurations assigned to a given ICAP are advantageously performed sequentially.
- the SPMD instruction advantageously triggers the executable code stored in the memories of the slave elements, with the same starting address for the program as the only constraint.
- the set of instructions may also comprise a synchronization barrier instruction, called "wait" instruction, causing the master program to wait for each slave element running a slave program to validate termination of a processing.
- the IP activation instruction may allow activating other IP cores of the master softcore processor in addition to the reconfiguration IP core.
- the master and slave programs may each contain at least one reflection instruction, called WIM (Write In Memory) instruction, for overwriting in said memory and instruction memory to achieve reflective behavior of the master and slave softcore processors, respectively.
- WIM Write In Memory
- Software reflection is the ability of a program to manipulate as data something representing its state during its own execution.
- Said WIM instruction advantageously writes in the instructions memory with strict constraints on the write addresses. It allows the executed program to change its content while it is running. It is especially useful for the dynamic reconfiguration "hardware/software" by allowing for example to replace a function call by a particular IP activation instruction. This change is a non-preemptive operation controlled by the softcore processor.
- the reconfiguration IP core is advantageously activated based on internal monitoring of the master softcore processor.
- the internal monitoring of the master softcore processor may be based on the activation of at least one dedicated IP core.
- the internal monitoring of the softcore processor is based on extraneous data, as for example the network topology, the power level of the chip battery or data from an obstacle detection sensor.
- the subset of slave elements activated in parallel before the activation of the reconfiguration IP core may as well be chosen based on internal monitoring of the slave softcore processors.
- the master softcore processor may comprise an execution stack and reconfiguration files stored in a reconfiguration memory.
- the reconfiguration IP core or other master IP cores, may use the stack of the master softcore processor to retrieve its arguments, especially the address of the corresponding reconfiguration file that may be popped from the top of said stack.
- the master and slave softcore processors may comprise a command and control unit (CCU) ensuring the execution flow of said master and slave programs, respectively.
- CCU command and control unit
- the slave elements may start the execution when a signal is activated in the CCU.
- the master IP core may send one address, for example a 13-bit address, to the slave elements through a broadcast port, and may then wait for the end of execution of the slaves through the "wait" instruction.
- the CCU may handle a number of interrupts equal to 2 P -1 with p an integer and p>l .
- Interruption of the running of the master program is preferably caused by a single interrupt, and when said interrupt is in process, such interrupt is non-preemptive. This means it should be the interrupt with highest priority among all active ones and no processing of interrupts should be running.
- the pool of slave elements is advantageously reconfigured at least twice.
- the received address advantageously represents the start of the SPMD model execution.
- a HLT (halt) instruction triggers the activation of an ORTREE signal.
- ORTREE ORTREE signal
- the IP reconfiguration core may transmit simultaneously a reconfiguration file, for example in the form of a bitstream, to several zones to be reconfigured, by modifying on the fly the bitstream itself with techniques similar to bitstream reallocation.
- reconfiguration memories are available. Thanks to the parallel activation of IP cores, parallel access to said different reconfiguration memories allows reconfiguring several zones at the same time.
- the communications between the master and the slave units may be performed through dedicated IP cores.
- Another object of the invention is also an FPGA chip comprising one dynamically reconfigurable master unit and at least two dynamically reconfigurable slave units, each slave unit comprising a pool of interconnected slave elements, each slave element comprising a plurality of slave IP cores, one slave softcore processor integrating them and an instruction memory, said one master unit comprising one reconfiguration IP core, at least one master IP core, one master softcore processor integrating said at least one master IP core and a memory containing a master program for execution by said at least one master IP core, said master program containing at least one instruction executed by the reconfiguration IP core and causing at runtime the reconfiguration of the pool of slave elements by dynamically varying their number and/or interconnections according to a given configuration defined in said master program and then by storing into each of the instruction memories of the slave elements a corresponding slave program for parallel execution by the slave IP cores.
- softcores may be implemented on one FPGA chip, up to several hundreds of softcores.
- the chip may be a 3D FPGA.
- the chip is a 2,5D FPGA.
- the master and slave softcore processors of the FPGA chip according to the invention is preferably of Harvard type architecture, that is to say that they have separated memories for data and instructions.
- the implementation of a softcore processor on a chip may instantiate and integrate the appropriate IP cores adapted to said application, for example IP cores playing the role of one or several registers, and/or one or several data memories, and/or one or several Arithmetic Logic Units (ALU).
- IP cores may be conceived to achieve elementary operations, for example additions, data memory access, input/output operations. Some of the IP cores may also be conceived to achieve coarse-grained hardware operations, as for example Fast Fourier Transform (FFT), DSP calculations, convolutions, or low-pass or high-pass filtering.
- FFT Fast Fourier Transform
- DSP digital signal processor
- the IP cores may be chosen and integrated depending on the required performance, the power budget and the quality of service.
- the softcore processor thus allows bringing heterogeneity to the chip, in addition to the parallel behavior. Almost all of the known solutions tackle this aspect by integrating different computing nodes which leads to more complexity in the development phase.
- the IP cores are advantageously all integrated and scheduled in the same way in the softcore processor whatever their granularity, having all a generic interface.
- the master softcore processor may comprise a plurality of dynamically reconfigurable IP cores.
- the master softcore processor may comprise a plurality of static IP cores, which cannot be reconfigured.
- the slave softcore processor could be either identical or similar to the master softcore processor. When they are similar, they may differ by the list of IP cores instantiated.
- a slave processor should normally instantiate IP cores dedicated to communication exchange, and a master processor usually instantiates IP cores dedicated to communication management.
- the FPGA chip according to the invention may comprise static zones, that is to say zones whose functionalities cannot be modified after the initialization of said chip, and reconfigurable zones, that is to say zones whose functionalities can be modified after the initialization of said chip.
- the reconfiguration properties of each reconfigurable zone may be synthetized in reconfiguration files stored in a reconfiguration memory.
- Said reconfiguration memory may be embedded on the chip (on-chip) or may be embedded elsewhere (off-chip), for example on a double data rate (DDR) memory.
- Said reconfiguration memory may further comprise indirection tables of zones and IP cores.
- the chip may comprise at least one partial reconfiguration controller, especially a hardware component, in charge of controlling the reconfiguration of said reconfigurable zones at runtime. This controller may be a part of a dedicated IP core that allows the instantiation of IP cores at runtime.
- the core of a softcore processor is preferably stack-based and may include a stack and a CCU.
- All IP cores of a softcore processor may read and/or write from/to said stack, via some input or output ports.
- Said IP cores are preferably devoid of address registers for said input or output ports.
- IP stack At least one IP core of a softcore processor, called "IP stack”, may be dedicated to perform elementary operations on said stack.
- the stack of a softcore processor may have at least three registers on its top to allow reading or writing in a same clock cycle. Therefore, an IP core may perform at least three "push” operations, that is to say an addition of a data, or three "pop” operations, that is to say the removal of a data, in a same clock cycle. The number of such operations is preferably determined by the CCU of the softcore processor according to the application itself.
- the CCU of a softcore processor has preferably a specific stack for nested function calls.
- FIG. 1A is an example of a 2D FPGA according to the state-of-the-art and previously described;
- FIG. 1B is an example of a 3D mono lit hically stacked FPGA according to the state-of-the-art and previously described;
- FIG. 2 is an example of a 3D FPGA according to the state-of-the-art and previously described;
- FIG. 3 a is a schematic representation of a master unit
- FIG. 3b is an analogous view of Figure 3 a providing further details about the inputs/outputs of different blocks;
- - Figure 4 is a schematic representation of a parallel architecture based on softcore processors according to the invention.
- FIG. 6 schematically represents the memory mapping of a master core taking into account interrupts.
- a master unit 21 is shown in Figure 3a. It may be embedded in an FPGA chip, especially a 3D or 2,5D FPGA chip and comprises preferably a softcore processor 1, a core 2 and a plurality of IP cores 1 1, 13, 14.
- the master unit 21 comprises preferably a plurality of dynamically reconfigurable IP cores 13.
- the master unit 21 may comprise a plurality of static IP cores 11.
- the core 2 of the softcore processor 1 is preferably stack-based and may include an instructions memory 3, a stack 4 and a CCU 5.
- the softcore processor 1 is linked with an ICAP 17 of the chip in which it is embedded.
- the CCU 5 ensures the execution flow of a master program. Its operating mode may be based on a two-stage pipeline: Fetch-Decode/Execute. Control flow instructions e.g. call, return, branch, may be managed by the CCU. As shown in Figure 3b, interrupts may also directly be taken into account by the CCU. Processing instructions, such as SPMD, IP activation instructions, may be decoded and transmitted to the entire set of deployed IPs. Only one will really start. At the same time, the execution stack is updated by push/pop operations.
- the instructions memory 3 may be instantiated for each softcore, master or slave. This memory may be an on-chip PROM containing the program to run. On a Xilinx board, a new program (one for the master and one for all the slaves at the same time) may be fully loaded via an UART port at any time, as depicted in Figure 3b. When slave topology is reconfigured, a new program must be loaded in the memories of slave elements.
- the execution stack 4 may store data exchanged by IP cores. This stack may be an on-chip memory of a few tens of 32-bit words. The pop and push actions on this stack are preferably separated from IP activation and the same IP can cause different changes on the stack. The top of the stack 4 can be used as a predicate for control flow instructions.
- All the IP cores 11, 13 of the softcore processor 1 may at each cycle read and/or write from/to said stack 4, 3 words via some input ports 15 and/or 3 words via output ports 16, which can be joined to form communication buses, 4 Top Reads and 3 Top Writes 32-bit buses, as shown in Figure 3b.
- At least one IP core of the softcore processor 1, called "IP stack”, may be dedicated to perform elementary operations on said stack 4.
- IP cores 11 use an "IP done” signal to notify their end of execution, while the stack 4 uses an "IP code” signal for the IP cores.
- the chip on which the softcore processor 1 is embedded may comprise static zones, and reconfigurable zones which advantageously comprise at least one reconfiguration IP core.
- the reconfiguration properties of each reconfigurable zone may be synthetized in reconfiguration files stored in a reconfiguration memory which is preferably a local on-chip memory, used by the reconfiguration IP core 14.
- the chip may comprise at least one partial reconfiguration controller, especially a hardware component, in charge of controlling the reconfiguration of said reconfigurable zones at runtime.
- At least one IP core of the softcore processor 1, the reconfiguration IP core 14, is advantageously dedicated to the dynamic reconfiguration of the other IP cores 13.
- the set of instructions of the softcore processor 1 comprises advantageously at least one IP activation instruction for activating said reconfiguration IP core 14.
- Said IP activation instruction may allow activating IP cores 11, 13 of the softcore processor 1 other than reconfiguration IP cores 14.
- the activation of said reconfiguration IP core 14 causes advantageously parallel activation of slave IP cores of similar slave units implemented on other zones of the same chip, allowing deriving a parallel and partial SPMD dynamic reconfiguration model.
- the set of instructions has preferably, including said IP activation instruction, at least twelve instructions, for example in 16-bit format.
- the set of instructions may comprise four "jump" instructions, including an absolute branch instruction, a relative branch instruction and two conditional relative branch instructions, two function instructions, including a "call” instruction and a "return” instruction, an "end of execution” instruction, a SPMD instruction and a "wait” instruction.
- the set of instructions may comprise at least one reflection instruction for overwriting in the instructions memory 3 to achieve reflective behavior of the softcore processor 1, said instruction being called WIM (Write In Memory) instruction.
- Said WIM instruction advantageously contains explicitly the address of the instructions memory 3 where it has to be overwritten, especially the twelve most significant bits of the address.
- a slave unit 20 comprises several slave elements slave 0, slave 1, slave 2, slave 3 interconnected via communication IP cores 18.
- the reconfiguration IP core 14 of the master unit 21, activated by the IP activation instruction may be considered as a master, and the slave IP cores 114, 214, 314, 414, that it activates may be considered as slaves.
- the master IP core 14 may initiate a parallel dynamic reconfiguration on a set of active slaves 114, 214, 314, 414, depending on the number N of available ICAPs of the chip.
- the SPMD instruction of the set of instructions advantageously triggers the executable code stored in the instructions memories 102, 202, 302, 402, of the slaves 114, 214, 314, 414, with the same starting address for the program as the only constraint.
- the "wait" instruction advantageously waits until all slaves 114, 214, 314, 414 validate the termination of their execution.
- the active slaves 114, 214, 314, 414 may start the execution when a signal
- the master IP core 14 may send an address, for example a 13-bit address, to the slaves 114, 214, 314, 414 through the "StartAddress" port as shown in Figure 4, and may then wait for the end of execution of the slaves through the "wait" instruction.
- the received address advantageously represents the start of the SPMD model execution.
- a HLT instruction triggers the activation of an ORTREE signal.
- ORTREE signal When all the slaves 114, 214, 314, 414 assert their ORTREE signal, a SPMD done signal is activated to allow the master continuing its execution as shown in Figure 4.
- Figure 5 depicts two different configurations of a master core having grids of
- IP1 IP2 and IP3 are either existent in basic library
- IP IP1 ... ⁇ code implementing this IP>
- IP IP2 ... ⁇ code implementing this IP>
- IP IP3 IP IP3 ... ⁇ code implementing this IP>
- IP change_conf ... ⁇ code implementing this IP>
- IP2 and IP3 are slave IP cores for this slave unit
- config2 -- config2 is configurated endif
- IP com is automatically generated as soon as a grid of slaves is used, to handle communications between different slave nodes.
- IP Reconfig is implicitly instantiated since a dynamic reconfiguration is used.
- Configuration X uses a 10x10 grid of slaves for a 32-bit addition and subtraction.
- Configuration Y uses a row of 10 slaves to perform a Fast Fourier Transform operation.
- slave X [10 10]
- Figure 6 represents an example of a program memory for a master IP core, storing 32-bit words. Such mapping may be proposed by the compiler with respect to material constraints related to WIM and SPMD instructions.
- the code to be executed on global reset is saved at Address 0. Addresses from 4 to 1C are reserved for 7 TRAPs that may be triggered by 7 interrupts. Processing statically or dynamically associated with each interrupt is placed at these addresses that can be accessed by a WIM instruction. There may be 4 words per TRAP, the fourth one corresponding to a HALT.
- VC Virtual Components
- a VC is similar to a TRAP but is used explicitly by the application and is not interruption-dependent. VCs are ended by a RETURN. Definitions of some other words can also be stored at these addresses, if there is enough room for that.
- the method for parallel processing and the FPGA chip according to the invention and as defined above may be used in a lot of different intensive signal processing applications, as for example in Software Radio, aeronautics, drones, GPS navigation, applications implementing multigrid methods, or assistance applications.
- Such applications are very greedy in terms of power computation and work on systems whose complexity is still growing.
- they have a more and more dynamic behavior, since they need to adapt to the execution environment and to the features of the processed data. This behavior is present not only in the software of these applications but also in the hardware architecture forming their execution support.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Logic Circuits (AREA)
Abstract
Description
Claims
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP16306730 | 2016-12-19 | ||
PCT/EP2017/083555 WO2018114957A1 (en) | 2016-12-19 | 2017-12-19 | Parallel processing on demand using partially dynamically reconfigurable fpga |
Publications (1)
Publication Number | Publication Date |
---|---|
EP3555760A1 true EP3555760A1 (en) | 2019-10-23 |
Family
ID=57755119
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP17818135.0A Withdrawn EP3555760A1 (en) | 2016-12-19 | 2017-12-19 | Parallel processing on demand using partially dynamically reconfigurable fpga |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP3555760A1 (en) |
WO (1) | WO2018114957A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110908797A (en) * | 2019-11-07 | 2020-03-24 | 浪潮电子信息产业股份有限公司 | Call request data processing method, device, equipment, storage medium and system |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109710564B (en) * | 2018-11-27 | 2020-07-28 | 上海航天电子通讯设备研究所 | VDES communicator-based large FPGA configuration program wireless reconstruction system |
CN113270137B (en) * | 2021-04-29 | 2024-06-14 | 北京航天飞腾装备技术有限责任公司 | DDR2 testing method based on FPGA embedded soft core |
GB2617114B (en) * | 2022-03-30 | 2024-07-03 | Imagination Tech Ltd | Multicore master/slave communications |
CN117149699A (en) * | 2023-09-08 | 2023-12-01 | 广东高云半导体科技股份有限公司 | System on chip, device and method for accessing memory |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5931959A (en) | 1997-05-21 | 1999-08-03 | The United States Of America As Represented By The Secretary Of The Air Force | Dynamically reconfigurable FPGA apparatus and method for multiprocessing and fault tolerance |
US7509617B1 (en) | 2005-09-12 | 2009-03-24 | Xilinx, Inc. | Design methodology to support relocatable bit streams for dynamic partial reconfiguration of FPGAs to reduce bit stream memory requirements |
CN102622208B (en) | 2011-01-27 | 2015-06-10 | 中兴通讯股份有限公司 | Multi-core reconfigurable processor cluster and reconfiguration method thereof |
CN102819818A (en) | 2012-08-14 | 2012-12-12 | 公安部第三研究所 | Method for realizing image processing based on dynamic reconfigurable technology of field programmable gate array (FPGA) chip |
WO2014120157A1 (en) | 2013-01-30 | 2014-08-07 | Empire Technology Development Llc | Dynamic reconfiguration of programmable hardware |
CN103677917A (en) | 2013-12-10 | 2014-03-26 | 中国航空工业集团公司第六三一研究所 | Customizable embedded processing system based on FPGA reconfiguration technology |
CN103677837A (en) | 2013-12-17 | 2014-03-26 | 清华大学 | Configuration method for FPGA dynamic partial reconfigurable region |
CN104008024A (en) | 2014-06-12 | 2014-08-27 | 北京航空航天大学 | Dynamic reconstruction technology application platform based on FPGA |
-
2017
- 2017-12-19 WO PCT/EP2017/083555 patent/WO2018114957A1/en active Application Filing
- 2017-12-19 EP EP17818135.0A patent/EP3555760A1/en not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110908797A (en) * | 2019-11-07 | 2020-03-24 | 浪潮电子信息产业股份有限公司 | Call request data processing method, device, equipment, storage medium and system |
CN110908797B (en) * | 2019-11-07 | 2023-09-15 | 浪潮电子信息产业股份有限公司 | Call request data processing method, device, equipment, storage medium and system |
Also Published As
Publication number | Publication date |
---|---|
WO2018114957A1 (en) | 2018-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018114957A1 (en) | Parallel processing on demand using partially dynamically reconfigurable fpga | |
AU2019392179B2 (en) | Accelerating dataflow signal processing applications across heterogeneous CPU/GPU systems | |
US11204745B2 (en) | Dataflow graph programming environment for a heterogenous processing system | |
US11687327B2 (en) | Control and reconfiguration of data flow graphs on heterogeneous computing platform | |
US7873811B1 (en) | Polymorphous computing fabric | |
NL2011315C2 (en) | A computing platform, a reconfigurable hardware device and a method for simultaneously executing processes on dynamically reconfigurable hardware device, such as an fpga, as well as instruction set processors, such as a cpu, and a related computer readable medium. | |
JP6059413B2 (en) | Reconfigurable instruction cell array | |
Pham et al. | Microkernel hypervisor for a hybrid ARM-FPGA platform | |
US11113030B1 (en) | Constraints for applications in a heterogeneous programming environment | |
Lemonnier et al. | Towards future adaptive multiprocessor systems-on-chip: An innovative approach for flexible architectures | |
WO2018067251A1 (en) | Methods and apparatus for dynamically configuring soft processors on an integrated circuit | |
Paul et al. | reMORPH: a runtime reconfigurable architecture | |
Bruel et al. | Generalize or die: Operating systems support for memristor-based accelerators | |
JP2004040188A (en) | Integrated circuit and method for developing system | |
Ngouanga et al. | A contextual resources use: a proof of concept through the APACHES'platform | |
Göhringer et al. | Adaptive Multiprocessor System-on-Chip Architecture: New Degrees of Freedom in System Design and Runtime Support | |
Heron et al. | Accelerating run-time reconfiguration on custom computing machines | |
Khanzode et al. | Concurrent Architecture of Novel Scheduler for IoT based Sensor Networks | |
Wang | Low overhead memory subsystem design for a multicore parallel DSP processor | |
Schwiegelshohn et al. | Reconfigurable Processors and Multicore Architectures | |
Wijtvliet et al. | Concept of the Blocks Architecture | |
Goehringer | Reconfigurable Multiprocessor Systems-on-Chip | |
Masko et al. | Scheduling Architecturally-Supported Regions with Precedence-Based Priorities | |
Turčaník | Computer architecture design with dynamic partial reconfiguration | |
Kwok et al. | Hardware Task Scheduling for an FPGA-Based Mobile Robot in Wireless Sensor Networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
17P | Request for examination filed |
Effective date: 20190618 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
AX | Request for extension of the european patent |
Extension state: BA ME |
|
DAV | Request for validation of the european patent (deleted) | ||
DAX | Request for extension of the european patent (deleted) | ||
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
17Q | First examination report despatched |
Effective date: 20210915 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20220126 |