WO2001001575A1 - System memory access system and method for reconfigurable chip - Google Patents
System memory access system and method for reconfigurable chip Download PDFInfo
- Publication number
- WO2001001575A1 WO2001001575A1 PCT/US2000/017892 US0017892W WO0101575A1 WO 2001001575 A1 WO2001001575 A1 WO 2001001575A1 US 0017892 W US0017892 W US 0017892W WO 0101575 A1 WO0101575 A1 WO 0101575A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- memory
- units
- local memory
- data
- local
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 14
- 239000000872 buffer Substances 0.000 claims description 37
- 230000006870 function Effects 0.000 claims description 6
- 230000004044 response Effects 0.000 claims 1
- 239000004744 fabric Substances 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 10
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17748—Structural details of configuration resources
- H03K19/1776—Structural details of configuration resources for memories
Definitions
- the present invention relates to reconfigurable logic chips.
- Reconfigurable logic chips such as field programmable gate arrays (FPGAs) have become increasingly popular. Such chips allow logic to implement different circuits at different times.
- FPGAs field programmable gate arrays
- FPGAs are also being increasingly used because they offer greater flexibility and shorter development cycles than traditional Application Specific
- ASICs Integrated Circuits
- reconfigurable computing One growing popular use of FPGAs is referred to as reconfigurable computing.
- reconfigurable computing hardware logic functions are loaded into the FPGA as needed to implement different sections of a computationally intensive code.
- advantages are obtained over dedicated processors.
- Reconfigurable computing is being pursued by university researchers as well as FPGA companies.
- a problem with typical FPGAs concerns memory access.
- One common FPGA memory layout uses a central memory. Unfortunately, accesses to this central memory can form a bottleneck. A large number of access lines are required and, even then, only a certain level of concurrent access is supported.
- the present invention uses dedicated local memory units distributed throughout the reconfigurable logic.
- the local memory units have system bus ports which allow for quick and easy access with an external system memory.
- the system bus ports are in addition to local bus ports of the local memory units.
- the system bus ports allow for system memory transfers done by a direct memory access (DMA) controller on the reconfigurable chip.
- DMA direct memory access
- data path units on the reconfigurable chip can initiate the transfer of memory between the system memory and the local memory units.
- Data path units are reconfigurable elements that execute a number of functions. The initiation of the block data transfer can be the result of a data path unit instruction.
- the data path units can calculate when to transfer data between the system memory and the local memory units, for example, upon an overflow or underflow of a local memory unit.
- the data path units and local memory units are associated with circuitry to do an automatic cache-like transfer of data between the local memory units and the system memory.
- This transfer can greatly simplify the programming of the reconfigurable chips. With the cache-like transfer of data, the programming of the reconfigurable chips can substantially ignore the small size of the local memory units. Portions of the system memory can be automatically loaded in and out of the local memory units without requiring programmed steps. This cache-like system is aided by the use of the system memory ports on the local memory units.
- Another embodiment of the present invention involves implementing a memory structure using the reconfigurable chip.
- the implemented memory structure uses local memory units on the reconfigurable chip along with an external memory.
- data is swapped between the local memory unit and the system memory. This swapping is made easier by the use of the system memory port on the local memory units.
- the implemented memory structure can be made quite large, and is not limited by the size of the local memory units on the reconfigurable chip.
- the swapping of data in and out of local memory units can occur concurrently with the operation of other local memory units in the implemented memory structure.
- data path units can calculate when to swap out or swap in data to and from the local memory units.
- One example of an implemented memory structure is a First-In-First-Out
- the FIFO buffer is implemented using local memory units acting as a head and tail of the FIFO buffer.
- the middle of the implemented FIFO buffer can be stored in the system memory.
- Figure 1 is an overview of the reconfigurable chip of one embodiment of the present invention.
- Figure 2 is a diagram showing the arrangement of a slice for the reconfigurable chip of one embodiment of the present invention.
- Figure 3 is a diagram which illustrates the operation of the data processing and a local memory unit block for the present invention.
- Figure 4 is an alternate embodiment of a system using the data path unit and local memory unit of the present invention.
- Figure 5 is a flow chart that illustrates the operation of a portion of the apparatus in Figure 4.
- Figure 6 is a diagram that illustrates the interconnection between the local memory units and the data path units.
- Figure 7 is a diagram that illustrates the interconnection between the local memory units and the system memory busses.
- Figures 8A and 8B are illustrations that show the arrangement of the local and global address.
- Figure 9 is a diagram illustrating the interconnection between the local memory units and the system memory units in one embodiment of the present invention.
- Figure 10 is a diagram that shows a top-level view of the use of local memory units and system memory to implement a FIFO buffer.
- Figures 11 and 12 are flow charts which illustrate the operation of the implemented FIFO buffer of figure 10.
- Figure 13 illustrates one method of interconnecting local memory units in order to implement a FIFO buffer.
- Figures 14 and 15 illustrate two embodiments of the data path unit interacting with the DMA controller.
- FIG. 1 is a diagram which illustrates a reconfigurable chip 20 and external memory 22.
- the external memory 22 is connected to the memory controller 24.
- the address and data from the external memory is sent to the system data bus 26 and system address bus 28.
- These busses are interconnected to a Direct Memory Access (DMA) control/bus interface 30 connected to the local memory units.
- the local memory units are arranged in slices interleaved with the data path units. Slices 32, 34, 36, and 38 are shown. Each of the slices has a configuration memory 32a, 34a, 36a, and 38a. This configuration memory is loaded from the configuration buffer 40.
- the central processing unit 42 and the fabric setup and control logic 44 is also shown in this system, and the fabric setup and control logic 44.
- the configuration memory stores the arrangement of configurable logic and the interconnections between the configurable logic and the local memory units. This diagram does not show the input and output to the slices or the interconnection between the data path units of the slices.
- FIG. 2 illustrates one slice 50 of the reconfigurable chip of Figure 1.
- the slice 50 is divided into tiles 50a, 50b, 50c, and 50d.
- Each of the tiles contains a number of local memory units 52, and data path units 54 and 56.
- Some of the data path units are adapted to generate local read/write addresses.
- the data path units can execute a number of functions on the reconfigurable chip.
- Figure 3 is a diagram illustrating the interconnection of a data path unit element with the local memory unit.
- the local memory unit is attached to the system bus 62, local read bus 64, and local write bus 66.
- the system bus 62 allow the local memory unit to be read from and write to a system memory independent from the local read and write accesses.
- Reconfigurable connections 68 on the read and write busses 64 and 66 allow the local memory units and the data path units to be interconnected together in a variety of fashions.
- Reconfigurable connections on the local bus lines allow segments of the bus line to be electrically connected or isolated as desired.
- the reconfigurable connections can be implemented as transmission gates or pairs of directional gated buffers. Such reconfigurable connections are provided for each bit of the bus lines.
- the data path unit includes an operation unit 70 that can implement a number of functions.
- the input data to the operation unit comes from registers 72 and 74.
- the output of operation unit 70 is stored into register 76.
- Data path units have a connection to the local memory unit 60.
- the operation unit 70 can provide a write address to the local memory unit, a write address to the write address portion of the write bus 66, data to the write data 68 portion of the local memory unit, or data to the write data portion of the write bus line 66.
- the operation unit 70 can also provide the read address to the read address portion of the local memory unit 60 or to the read address portion of the read bus 64.
- the read data from the local memory unit can be sent out to the read bus 64 or to the mutiplexer 78 to provide the output of the data path unit.
- a number of gated buffers 80, 82, 84, and 86 are used to arrange the interconnection between the operation unit and the local busses 64 and 66.
- the gated buffer 88 is used to send a request on line 90 to DMA controller on the reconfigurable chip in order to send memory to local memory unit 60 or another local memory unit on the reconfigurable chip.
- the DMA transfer requires the source address (the local memory unit or system memory), the destination address (system memory or local memory unit), and the size of the data transfer. This information can be provided in three cycles. After this information is sent to the DMA controller, the DMA controller transfers data between the local memory unit and the system memory. The DMA transfer need not be to or from a local memory unit adjacent to the data path unit making the request; local memory units anywhere in the computing fabric can be accessed in the DMA transfer.
- Figure 14 shows another embodiment for the data unit transfer.
- the data path unit 300 is connected to the DMA controller 302.
- DMA request goes to DMA controller 302.
- the DMA controller then obtains the source address, destination address, count and mode from registers in the data path unit. Once the data transfer is finished the DMA controller 302 sends an acknowledge signal to the data path unit 300.
- Figure 15 shows an alternate embodiment.
- Data path unit 304 is connected to the DMA controller 306. When a DMA request is sent from the data path unit 304, the DMA controller 306 checks in one of the local memory units 308 to obtain the source address, data address, count and mode.
- the mode can contain an indicator which can control the DMA controller to move on to the next group of source address, data address, count and mode without requiring the intervention of the data path unit.
- the DMA controller continues to do the data transfers to the local memory units until each of the requests in the local memory are finished.
- each line of the local memory unit can store a source address, data address, count or mode. In this instance, four lines will store all of the information for a transfer and the local memory unit can store up to 16 groups of the transfer information.
- FIG. 4 illustrates an alternate embodiment that uses the cache-like controller 92.
- the cache-like controller 92 when data is stored in the local system memory from the system memory, an indication of the higher bits of the system memory address are stored in the tag memory 94.
- the operation unit 70' accesses memory, the memory address is compared to the address or addresses stored in the tag memory using comparator 96. If there is a match, the system accesses the local memory unit in the normal fashion.
- the tag memory can store a single tag value or it can be arranged to store multiple tag values.
- FIG. 5 is a flow chart illustrating the operation of the apparatus in Figure 4.
- a data path unit instruction is obtained.
- the instruction is checked to see whether the data processing unit accesses data stored in the memory. If not, no further operation occurs with respect to the cache unit. If the data path unit instruction accesses the local memory, step 104 checks whether the top bits of the address match the tag memory values stored in the tag region. If these bits match, the access to the memory access is done in step 106. If not, execution is halted, data is swapped in from the system memory and the execution restarted in step 108. In step 110, after the execution is restarted, the memory access is repeated in the local memory.
- Figure 6 illustrates the local bus connections between the local memory units 120, 122, and 124, and the data path units 126, 128, and 130.
- Reconfigurable connections 132 are used to interconnect the local memory units.
- Gated buffers 134 are also used to aid in interconnection. Details of the interconnection system of local memory units is described in the patent application "A Hierarchical Distributed Memory System for Realization of Localization of Variable Requirements for an Adaptive Computing Fabric", inventors Chris Phillips, et al. , filed 16 June 1999, Serial No. 09/333,977 (corresponding to attorney docket no. 032001-015), which is incorporated herein by reference.
- Figure 7 shows one embodiment of a system interconnect between the local memory units and a system bus 140.
- the local memory units 142 and 144 are connected to the system bus using buffers 146 and multiplexers 148; and multiplexers 150 and buffers 152.
- the connection of the local memory units to the system memory is such that more than one element in the local memory unit can be loaded at a time. Such a system speeds up the switching of memory in and out to the local memory unit.
- FIG. 8A and 8B illustrate the arrangement of the local and global addresses.
- the local address 150 includes a Field 150a, contains the position within an element of a local memory unit.
- the element ID bits 150b indicate an element within the N x M local memory unit.
- Bits 150c corresponds to local memory ID bits. These bits are compared with identity bits stored in the local memory units. This allows the local memory units to be connected together as described in the patent application "A Hierarchical Distributed Memory System for Realization of Localization of Variable Requirements for an Adaptive Computing Fabric", discussed above.
- the global address 152 is shown in figure 8B.
- the global address 152 includes Field 152a which indicates a position within the multiple element block in the global address.
- the block ID bits 152b show the block number within the local memory.
- the local memory ID field 150c can be the fixed local memory identity when used with the memory scheme of Figure 3, or can be the tag bits which are used in the memory scheme of Figure 4.
- Figure 9 illustrates use of the system of the present invention.
- the system memory 160 is connected by the system bus 162 to a local memory unit 164.
- This local memory unit 164 has local bus 166 connections to configured logic 168, which then is connected on local bus 170 to local memory 172.
- Local memory 172 is connected out of the system bus 162 to the system memory 160.
- Figure 9 illustrates the use of the local memory units to act as buffers for the system memory.
- the system bus 162 allows quick access between the local memory units 164 and 172 and the system memory.
- Figures 10-13 show how one memory structure, such as a FIFO buffer, can be implemented using the local memory units and the system memory.
- Figure 10 is a diagram that illustrates an implemented first-in-first-out (FIFO) buffer 180.
- the local memory 184 has a number of local memory units which are used in the FIFO buffer.
- Local memory units A and B are used to store the data as it enters the FIFO buffer.
- the head address shows the local address of the position to write into the buffer.
- the local memory unit B is filled up, the system switches to write memory into the local memory unit A.
- the contents of the local memory unit B is swapped out to the system memory block CII. This swapping step can be done concurrently with data being written into local memory unit A.
- the local memory unit B By the time local memory unit A is filled with data, the local memory unit B will again be available to have data written into it.
- the local memory units, C and D contain the data to be written out of the FIFO buffer.
- the local memory unit C When the local memory unit C is completely emptied of data, data is written out of the local memory unit D. Thereafter, data from the system memory block I can be swapped into the local memory unit C.
- the use of the system memory port in the local memory units allows for a quick swapping in and out of data between the local memory and the system memory.
- figure 10 shows an implementation of a FIFO buffer
- additional memory structure implementations such as tree structures, linked lists, or large tables can also be implemented.
- These implemented memory structures also use local memory units and the system memory, where the reconfigurable chip causes data to be swapped in and out of the local memory units from and to the system memory.
- FIGS 11 and 12 are flow charts illustrating the operation of the FIFO buffer.
- step 190 indicates the inputting of data to the FIFO buffer.
- Step 192 checks whether the FIFO buffer has more than 4 blocks of data to determine if the FIFO buffer is completely contained within the local memory units. If the buffer is not using more than 4 blocks, the data is added to the local memory units in the conventional manner in step 194. If the buffer is using more than 4 blocks, in step 194, it is checked whether the data will fill the current input unit. If not, data is added to the current input local memory unit at the head address, in step 196 and the head address is updated, in step 198. If the data will fill the current local memory unit, the data is added to the current input local memory unit in step 200.
- step 202 the data in the current input local memory unit is swapped out to the system memory. Step 202 can be done concurrently with other steps at any time before the next branch 199.
- step 204 data is checked whether the current input local memory unit is local memory unit A. If not, the current input local memory unit is set to a local memory unit A in step 206. If the current input local memory unit is local memory unit A, then the current input local memory is set to local memory unit B, in step 208. In step 210, the head address is updated.
- Figure 12 is a flow chart illustrating the output operation.
- step 214 it is checked whether the FIFO buffer is using more than 4 blocks. If not, data is read normally from the local memory units, in step 216.
- Step 218 checks whether the output of data will empty the current output local memory unit. If not, data is read out of the current local memory unit at the tail address in step 220. In step 222, the tail address is updated. If the output data will empty the current local memory unit, data is read from the current local memory unit in step 224.
- step 226 data is swapped-in from the system memory to the current output local memory unit. Step 226 can be done concurrently with the other steps until the next time the system goes to branch 223.
- the step 228 checks whether the current output local memory unit is local memory unit C.
- step 230 the current output local memory unit is set to local memory unit C. If the current output local memory unit is local memory unit C, the current output local memory unit is switched to local memory unit D. In step, 234, the head address is updated. Note that the actions described in Figures 11 and 12 of inputting and outputting of data from the FIFO could be implemented independently in the data path units, as long as the head and tail address do not interfere with one another. This can speed the operation of the FIFO buffer. The operation of many local memory units and many data path units concurrently within the same reconfigurable chip can produce considerable computation time advantages for reconfigurable computing.
- Figure 13 illustrates one implementation of a FIFO buffer with the system of the present invention.
- the data and local memory units are connected using a system and data bus to a data memory access controller 240, which connects to the system memory 242. Other local connections are interconnected as shown.
- the write data can be sent to any of the local memory units shown.
- the output data from any of the units shown, and the write and read addresses are sent to all the units.
- local memory units A and B are used for writing data in
- local memory units C and D are used for writing data out of the FIFO buffer.
- the local memory units A, B, C, and D are given different identity bits so that the local write and read addresses can point to specific local memory units.
- the input address logic 244 is implemented with data path units to provide the input address.
- a data path unit can store the current input address and while the address is being input to the same local memory unit increment the write address after each write to the FIFO buffer. Each time, a new local memory unit is set as the current input local memory unit, the identity bits for the current input local memory unit are masked onto the write address. This can be done by data path units which implement a state machine, storing which memory unit is the current memory unit and indicating which input will cause the current input local memory to switch.
- Data path units can also implement the system swap logic 246.
- the system swap logic 246 causes data to be swapped from a full local memory unit A or B to the system memory and to be loaded to an empty local memory unit C or D from the system memory.
- the address logic for the output address 248 can also be implement with the data path units. As described above, the output address will decrement as data is read from the local memory unit. When a local memory unit is empty of data, the current output local memory unit is switched and the read address is masked with byte data bits for the new current output address. Since the swap logic 246 can cause the data in the local memory units to be swapped to or from the system memory 242, the implemented FIFO buffer can be as large as the system memory. The swapping of data between the system memory and the local memory units can be done behind the scenes which allows for very fast access to the memory structure. Even though the implemented memory structure can be very large, it will operate very fast.
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Logic Circuits (AREA)
Abstract
Description
Claims
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU58991/00A AU5899100A (en) | 1999-06-30 | 2000-06-28 | System memory access system and method for reconfigurable chip |
EP00944986A EP1198888A4 (en) | 1999-06-30 | 2000-06-28 | System memory access system and method for reconfigurable chip |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/343,477 | 1999-06-30 | ||
US09/343,477 US6347346B1 (en) | 1999-06-30 | 1999-06-30 | Local memory unit system with global access for use on reconfigurable chips |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2001001575A1 true WO2001001575A1 (en) | 2001-01-04 |
WO2001001575A9 WO2001001575A9 (en) | 2002-07-25 |
Family
ID=23346270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2000/017892 WO2001001575A1 (en) | 1999-06-30 | 2000-06-28 | System memory access system and method for reconfigurable chip |
Country Status (4)
Country | Link |
---|---|
US (2) | US6347346B1 (en) |
EP (1) | EP1198888A4 (en) |
AU (1) | AU5899100A (en) |
WO (1) | WO2001001575A1 (en) |
Families Citing this family (107)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7266725B2 (en) * | 2001-09-03 | 2007-09-04 | Pact Xpp Technologies Ag | Method for debugging reconfigurable architectures |
DE19651075A1 (en) * | 1996-12-09 | 1998-06-10 | Pact Inf Tech Gmbh | Unit for processing numerical and logical operations, for use in processors (CPU's), multi-computer systems, data flow processors (DFP's), digital signal processors (DSP's) or the like |
DE19654595A1 (en) * | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | I0 and memory bus system for DFPs as well as building blocks with two- or multi-dimensional programmable cell structures |
US6338106B1 (en) * | 1996-12-20 | 2002-01-08 | Pact Gmbh | I/O and memory bus system for DFPS and units with two or multi-dimensional programmable cell architectures |
DE19654846A1 (en) * | 1996-12-27 | 1998-07-09 | Pact Inf Tech Gmbh | Process for the independent dynamic reloading of data flow processors (DFPs) as well as modules with two- or multi-dimensional programmable cell structures (FPGAs, DPGAs, etc.) |
DE59710317D1 (en) * | 1996-12-27 | 2003-07-24 | Pact Inf Tech Gmbh | METHOD FOR THE INDEPENDENT DYNAMIC RE-LOADING OF DATA FLOW PROCESSORS (DFPs) AND MODULES WITH TWO OR MORE-DIMENSIONAL PROGRAMMABLE CELL STRUCTURES (FPGAs, DPGAs, or the like) |
DE19704728A1 (en) | 1997-02-08 | 1998-08-13 | Pact Inf Tech Gmbh | Method for self-synchronization of configurable elements of a programmable module |
US6542998B1 (en) | 1997-02-08 | 2003-04-01 | Pact Gmbh | Method of self-synchronization of configurable elements of a programmable module |
DE19704742A1 (en) * | 1997-02-11 | 1998-09-24 | Pact Inf Tech Gmbh | Internal bus system for DFPs, as well as modules with two- or multi-dimensional programmable cell structures, for coping with large amounts of data with high networking effort |
US8686549B2 (en) | 2001-09-03 | 2014-04-01 | Martin Vorbach | Reconfigurable elements |
DE19861088A1 (en) * | 1997-12-22 | 2000-02-10 | Pact Inf Tech Gmbh | Repairing integrated circuits by replacing subassemblies with substitutes |
DE19807872A1 (en) | 1998-02-25 | 1999-08-26 | Pact Inf Tech Gmbh | Method of managing configuration data in data flow processors |
DE10081643D2 (en) | 1999-06-10 | 2002-05-29 | Pact Inf Tech Gmbh | Sequence partitioning on cell structures |
US6851047B1 (en) * | 1999-10-15 | 2005-02-01 | Xilinx, Inc. | Configuration in a configurable system on a chip |
JP2004506261A (en) * | 2000-06-13 | 2004-02-26 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | Pipeline CT protocol and CT communication |
US8058899B2 (en) | 2000-10-06 | 2011-11-15 | Martin Vorbach | Logic cell array and bus system |
US20040015899A1 (en) * | 2000-10-06 | 2004-01-22 | Frank May | Method for processing data |
US7581076B2 (en) * | 2001-03-05 | 2009-08-25 | Pact Xpp Technologies Ag | Methods and devices for treating and/or processing data |
US9250908B2 (en) | 2001-03-05 | 2016-02-02 | Pact Xpp Technologies Ag | Multi-processor bus and cache interconnection system |
US20090300262A1 (en) * | 2001-03-05 | 2009-12-03 | Martin Vorbach | Methods and devices for treating and/or processing data |
US7844796B2 (en) * | 2001-03-05 | 2010-11-30 | Martin Vorbach | Data processing device and method |
US9436631B2 (en) * | 2001-03-05 | 2016-09-06 | Pact Xpp Technologies Ag | Chip including memory element storing higher level memory data on a page by page basis |
US9552047B2 (en) | 2001-03-05 | 2017-01-24 | Pact Xpp Technologies Ag | Multiprocessor having runtime adjustable clock and clock dependent power supply |
US9037807B2 (en) * | 2001-03-05 | 2015-05-19 | Pact Xpp Technologies Ag | Processor arrangement on a chip including data processing, memory, and interface elements |
US7210129B2 (en) * | 2001-08-16 | 2007-04-24 | Pact Xpp Technologies Ag | Method for translating programs for reconfigurable architectures |
US20090210653A1 (en) * | 2001-03-05 | 2009-08-20 | Pact Xpp Technologies Ag | Method and device for treating and processing data |
US9411532B2 (en) | 2001-09-07 | 2016-08-09 | Pact Xpp Technologies Ag | Methods and systems for transferring data between a processing device and external devices |
US7444531B2 (en) | 2001-03-05 | 2008-10-28 | Pact Xpp Technologies Ag | Methods and devices for treating and processing data |
US20040133745A1 (en) | 2002-10-28 | 2004-07-08 | Quicksilver Technology, Inc. | Adaptable datapath for a digital processing system |
US7962716B2 (en) * | 2001-03-22 | 2011-06-14 | Qst Holdings, Inc. | Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements |
US7752419B1 (en) * | 2001-03-22 | 2010-07-06 | Qst Holdings, Llc | Method and system for managing hardware resources to implement system functions using an adaptive computing architecture |
US7489779B2 (en) * | 2001-03-22 | 2009-02-10 | Qstholdings, Llc | Hardware implementation of the secure hash standard |
US7653710B2 (en) * | 2002-06-25 | 2010-01-26 | Qst Holdings, Llc. | Hardware task manager |
US6836839B2 (en) | 2001-03-22 | 2004-12-28 | Quicksilver Technology, Inc. | Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements |
US7400668B2 (en) * | 2001-03-22 | 2008-07-15 | Qst Holdings, Llc | Method and system for implementing a system acquisition function for use with a communication device |
US6577678B2 (en) * | 2001-05-08 | 2003-06-10 | Quicksilver Technology | Method and system for reconfigurable channel coding |
US20020184291A1 (en) * | 2001-05-31 | 2002-12-05 | Hogenauer Eugene B. | Method and system for scheduling in an adaptable computing engine |
US7657877B2 (en) * | 2001-06-20 | 2010-02-02 | Pact Xpp Technologies Ag | Method for processing data |
US10031733B2 (en) | 2001-06-20 | 2018-07-24 | Scientia Sol Mentis Ag | Method for processing data |
US7996827B2 (en) | 2001-08-16 | 2011-08-09 | Martin Vorbach | Method for the translation of programs for reconfigurable architectures |
US7434191B2 (en) * | 2001-09-03 | 2008-10-07 | Pact Xpp Technologies Ag | Router |
US7107374B1 (en) | 2001-09-05 | 2006-09-12 | Xilinx, Inc. | Method for bus mastering for devices resident in configurable system logic |
US8686475B2 (en) | 2001-09-19 | 2014-04-01 | Pact Xpp Technologies Ag | Reconfigurable elements |
US7046635B2 (en) * | 2001-11-28 | 2006-05-16 | Quicksilver Technology, Inc. | System for authorizing functionality in adaptable hardware devices |
US6986021B2 (en) | 2001-11-30 | 2006-01-10 | Quick Silver Technology, Inc. | Apparatus, method, system and executable module for configuration and operation of adaptive integrated circuitry having fixed, application specific computational elements |
US8412915B2 (en) | 2001-11-30 | 2013-04-02 | Altera Corporation | Apparatus, system and method for configuration of adaptive integrated circuitry having heterogeneous computational elements |
US7602740B2 (en) * | 2001-12-10 | 2009-10-13 | Qst Holdings, Inc. | System for adapting device standards after manufacture |
US7088825B2 (en) * | 2001-12-12 | 2006-08-08 | Quicksilver Technology, Inc. | Low I/O bandwidth method and system for implementing detection and identification of scrambling codes |
US7215701B2 (en) * | 2001-12-12 | 2007-05-08 | Sharad Sambhwani | Low I/O bandwidth method and system for implementing detection and identification of scrambling codes |
US7231508B2 (en) * | 2001-12-13 | 2007-06-12 | Quicksilver Technologies | Configurable finite state machine for operation of microinstruction providing execution enable control value |
US7577822B2 (en) * | 2001-12-14 | 2009-08-18 | Pact Xpp Technologies Ag | Parallel task operation in processor and reconfigurable coprocessor configured based on information in link list including termination information for synchronization |
US7403981B2 (en) | 2002-01-04 | 2008-07-22 | Quicksilver Technology, Inc. | Apparatus and method for adaptive multimedia reception and transmission in communication environments |
WO2003071418A2 (en) * | 2002-01-18 | 2003-08-28 | Pact Xpp Technologies Ag | Method and device for partitioning large computer programs |
WO2003060747A2 (en) * | 2002-01-19 | 2003-07-24 | Pact Xpp Technologies Ag | Reconfigurable processor |
EP2043000B1 (en) | 2002-02-18 | 2011-12-21 | Richter, Thomas | Bus systems and reconfiguration method |
US8914590B2 (en) * | 2002-08-07 | 2014-12-16 | Pact Xpp Technologies Ag | Data processing method and device |
US20060075211A1 (en) * | 2002-03-21 | 2006-04-06 | Martin Vorbach | Method and device for data processing |
US9170812B2 (en) | 2002-03-21 | 2015-10-27 | Pact Xpp Technologies Ag | Data processing system having integrated pipelined array data processor |
US7660984B1 (en) | 2003-05-13 | 2010-02-09 | Quicksilver Technology | Method and system for achieving individualized protected space in an operating system |
US7328414B1 (en) * | 2003-05-13 | 2008-02-05 | Qst Holdings, Llc | Method and system for creating and programming an adaptive computing engine |
US20110238948A1 (en) * | 2002-08-07 | 2011-09-29 | Martin Vorbach | Method and device for coupling a data processing unit and a data processing array |
AU2003286131A1 (en) * | 2002-08-07 | 2004-03-19 | Pact Xpp Technologies Ag | Method and device for processing data |
US7657861B2 (en) * | 2002-08-07 | 2010-02-02 | Pact Xpp Technologies Ag | Method and device for processing data |
US8108656B2 (en) | 2002-08-29 | 2012-01-31 | Qst Holdings, Llc | Task definition for specifying resource requirements |
AU2003265891A1 (en) * | 2002-09-04 | 2004-03-29 | Mentor Graphics (Holdings) Ltd. | Polymorphic computational system and method in signals intelligence analysis |
US7394284B2 (en) * | 2002-09-06 | 2008-07-01 | Pact Xpp Technologies Ag | Reconfigurable sequencer structure |
US7937591B1 (en) | 2002-10-25 | 2011-05-03 | Qst Holdings, Llc | Method and system for providing a device which can be adapted on an ongoing basis |
US8276135B2 (en) | 2002-11-07 | 2012-09-25 | Qst Holdings Llc | Profiling of software and circuit designs utilizing data operation analyses |
US7225301B2 (en) * | 2002-11-22 | 2007-05-29 | Quicksilver Technologies | External memory controller node |
JP2006524850A (en) * | 2003-04-04 | 2006-11-02 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | Data processing method and data processing apparatus |
US7609297B2 (en) * | 2003-06-25 | 2009-10-27 | Qst Holdings, Inc. | Configurable hardware based digital imaging apparatus |
US7200837B2 (en) * | 2003-08-21 | 2007-04-03 | Qst Holdings, Llc | System, method and software for static and dynamic programming and configuration of an adaptive computing architecture |
EP1676208A2 (en) | 2003-08-28 | 2006-07-05 | PACT XPP Technologies AG | Data processing device and method |
JP4174402B2 (en) * | 2003-09-26 | 2008-10-29 | 株式会社東芝 | Control circuit and reconfigurable logic block |
US7882165B2 (en) * | 2003-12-29 | 2011-02-01 | Xilinx, Inc. | Digital signal processing element having an arithmetic logic unit |
US7853634B2 (en) * | 2003-12-29 | 2010-12-14 | Xilinx, Inc. | Digital signal processing circuit having a SIMD circuit |
US8495122B2 (en) * | 2003-12-29 | 2013-07-23 | Xilinx, Inc. | Programmable device with dynamic DSP architecture |
US7860915B2 (en) * | 2003-12-29 | 2010-12-28 | Xilinx, Inc. | Digital signal processing circuit having a pattern circuit for determining termination conditions |
US7853632B2 (en) * | 2003-12-29 | 2010-12-14 | Xilinx, Inc. | Architectural floorplan for a digital signal processing circuit |
US7567997B2 (en) * | 2003-12-29 | 2009-07-28 | Xilinx, Inc. | Applications of cascading DSP slices |
US7870182B2 (en) * | 2003-12-29 | 2011-01-11 | Xilinx Inc. | Digital signal processing circuit having an adder circuit with carry-outs |
US7853636B2 (en) | 2003-12-29 | 2010-12-14 | Xilinx, Inc. | Digital signal processing circuit having a pattern detector circuit for convergent rounding |
US7480690B2 (en) * | 2003-12-29 | 2009-01-20 | Xilinx, Inc. | Arithmetic circuit with multiplexed addend inputs |
US7472155B2 (en) * | 2003-12-29 | 2008-12-30 | Xilinx, Inc. | Programmable logic device with cascading DSP slices |
US7840630B2 (en) * | 2003-12-29 | 2010-11-23 | Xilinx, Inc. | Arithmetic logic unit circuit |
US7840627B2 (en) | 2003-12-29 | 2010-11-23 | Xilinx, Inc. | Digital signal processing circuit having input register blocks |
US7467175B2 (en) * | 2003-12-29 | 2008-12-16 | Xilinx, Inc. | Programmable logic device with pipelined DSP slices |
US7844653B2 (en) * | 2003-12-29 | 2010-11-30 | Xilinx, Inc. | Digital signal processing circuit having a pre-adder circuit |
US7849119B2 (en) * | 2003-12-29 | 2010-12-07 | Xilinx, Inc. | Digital signal processing circuit having a pattern detector circuit |
US7865542B2 (en) * | 2003-12-29 | 2011-01-04 | Xilinx, Inc. | Digital signal processing block having a wide multiplexer |
JP2008530642A (en) * | 2005-02-07 | 2008-08-07 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | Low latency mass parallel data processor |
WO2007062327A2 (en) * | 2005-11-18 | 2007-05-31 | Ideal Industries, Inc. | Releasable wire connector |
US8250503B2 (en) | 2006-01-18 | 2012-08-21 | Martin Vorbach | Hardware definition method including determining whether to implement a function as hardware or software |
EP2159799A1 (en) * | 2008-08-27 | 2010-03-03 | Panasonic Corporation | Semiconductor memory with shared global busses for reconfigurable logic device |
US8479133B2 (en) * | 2009-01-27 | 2013-07-02 | Xilinx, Inc. | Method of and circuit for implementing a filter in an integrated circuit |
US8543635B2 (en) * | 2009-01-27 | 2013-09-24 | Xilinx, Inc. | Digital signal processing block with preadder stage |
KR101814221B1 (en) | 2010-01-21 | 2018-01-02 | 스비랄 인크 | A method and apparatus for a general-purpose, multiple-core system for implementing stream-based computations |
CN103246542B (en) * | 2012-02-01 | 2017-11-14 | 中兴通讯股份有限公司 | Intelligent buffer and intelligent terminal |
CN105302577B (en) * | 2015-11-26 | 2019-05-07 | 上海兆芯集成电路有限公司 | Drive the machine code generation method and device of execution unit |
CN114003547B (en) | 2017-03-14 | 2023-12-19 | 珠海市芯动力科技有限公司 | Reconfigurable parallel processing |
JP6911600B2 (en) * | 2017-07-18 | 2021-07-28 | 富士通株式会社 | Information processing equipment, information processing methods and information processing programs |
WO2019028327A1 (en) | 2017-08-03 | 2019-02-07 | Next Silicon, Ltd. | Reconfigurable cache architecture and methods for cache coherency |
EP3662384A4 (en) | 2017-08-03 | 2021-05-05 | Next Silicon Ltd | Runtime optimization of configurable hardware |
US20190197018A1 (en) * | 2017-08-19 | 2019-06-27 | Wave Computing, Inc. | Dynamic reconfiguration using data transfer control |
WO2019055675A1 (en) | 2017-09-13 | 2019-03-21 | Next Silicon, Ltd. | Directed and interconnected grid dataflow architecture |
JP7419764B2 (en) * | 2019-11-20 | 2024-01-23 | 株式会社リコー | Information processing device and configuration method |
US11269526B2 (en) | 2020-04-23 | 2022-03-08 | Next Silicon Ltd | Interconnected memory grid with bypassable units |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5760607A (en) * | 1995-07-10 | 1998-06-02 | Xilinx, Inc. | System comprising field programmable gate array and intelligent memory |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3631404A (en) * | 1969-07-28 | 1971-12-28 | Gen Electric | Data communication system including address-generating means and method |
JPS5279630A (en) * | 1975-12-25 | 1977-07-04 | Toshiba Corp | Data processing unit |
DE3121444A1 (en) * | 1981-05-29 | 1982-12-16 | Siemens AG, 1000 Berlin und 8000 München | METHOD AND ARRANGEMENT FOR DEMODULATING FSK SIGNALS |
US4507730A (en) * | 1981-10-01 | 1985-03-26 | Honeywell Information Systems Inc. | Memory system with automatic memory configuration |
US4823286A (en) * | 1987-02-12 | 1989-04-18 | International Business Machines Corporation | Pixel data path for high performance raster displays with all-point-addressable frame buffers |
KR910009555B1 (en) * | 1989-01-09 | 1991-11-21 | 조경연 | Semiconductor memory device |
US5210749A (en) | 1990-05-29 | 1993-05-11 | Advanced Micro Devices, Inc. | Configuration of srams as logical fifos for transmit and receive of packet data |
US5261077A (en) * | 1990-06-29 | 1993-11-09 | Digital Equipment Corporation | Configurable data path arrangement for resolving data type incompatibility |
JP3114237B2 (en) | 1991-04-30 | 2000-12-04 | 日本電気株式会社 | Semiconductor storage device |
US5392292A (en) * | 1991-06-27 | 1995-02-21 | Cray Research, Inc. | Configurable spare memory chips |
US5298805A (en) * | 1991-08-29 | 1994-03-29 | National Semiconductor Corporation | Versatile and efficient cell-to-local bus interface in a configurable logic array |
JP3594626B2 (en) | 1993-03-04 | 2004-12-02 | 株式会社ルネサステクノロジ | Non-volatile memory device |
US5506814A (en) | 1993-05-28 | 1996-04-09 | Micron Technology, Inc. | Video random access memory device and method implementing independent two WE nibble control |
US5623620A (en) | 1993-06-30 | 1997-04-22 | Intel Corporation | Special test modes for a page buffer shared resource in a memory device |
GB9403030D0 (en) * | 1994-02-17 | 1994-04-06 | Austin Kenneth | Re-configurable application specific device |
US5560030A (en) | 1994-03-08 | 1996-09-24 | Texas Instruments Incorporated | Transfer processor with transparency |
US6351780B1 (en) | 1994-11-21 | 2002-02-26 | Cirrus Logic, Inc. | Network controller using held data frame monitor and decision logic for automatically engaging DMA data transfer when buffer overflow is anticipated |
JPH08314794A (en) * | 1995-02-28 | 1996-11-29 | Matsushita Electric Ind Co Ltd | Method and system for shortening wait time of access to stable storage device |
US5646544A (en) * | 1995-06-05 | 1997-07-08 | International Business Machines Corporation | System and method for dynamically reconfiguring a programmable gate array |
US5692147A (en) * | 1995-06-07 | 1997-11-25 | International Business Machines Corporation | Memory mapping method and apparatus to fold sparsely populated structures into densely populated memory columns or rows by selectively transposing X and Y address portions, and programmable gate array applications thereof |
US5778439A (en) * | 1995-08-18 | 1998-07-07 | Xilinx, Inc. | Programmable logic device with hierarchical confiquration and state storage |
US5914906A (en) * | 1995-12-20 | 1999-06-22 | International Business Machines Corporation | Field programmable memory array |
US5737766A (en) * | 1996-02-14 | 1998-04-07 | Hewlett Packard Company | Programmable gate array configuration memory which allows sharing with user memory |
US6085302A (en) * | 1996-04-17 | 2000-07-04 | Advanced Micro Devices, Inc. | Microprocessor having address generation units for efficient generation of memory operation addresses |
US5784636A (en) * | 1996-05-28 | 1998-07-21 | National Semiconductor Corporation | Reconfigurable computer architecture for use in signal processing applications |
US5793992A (en) * | 1996-06-13 | 1998-08-11 | Vlsi Technology, Inc. | Method and apparatus for arbitrating access to main memory of a computer system |
US5838165A (en) * | 1996-08-21 | 1998-11-17 | Chatter; Mukesh | High performance self modifying on-the-fly alterable logic FPGA, architecture and method |
US5933023A (en) * | 1996-09-03 | 1999-08-03 | Xilinx, Inc. | FPGA architecture having RAM blocks with programmable word length and width and dedicated address and data lines |
US6034547A (en) * | 1996-09-04 | 2000-03-07 | Advantage Logic, Inc. | Method and apparatus for universal program controlled bus |
DE19654846A1 (en) * | 1996-12-27 | 1998-07-09 | Pact Inf Tech Gmbh | Process for the independent dynamic reloading of data flow processors (DFPs) as well as modules with two- or multi-dimensional programmable cell structures (FPGAs, DPGAs, etc.) |
US5933855A (en) * | 1997-03-21 | 1999-08-03 | Rubinstein; Richard | Shared, reconfigurable memory architectures for digital signal processing |
US6011407A (en) * | 1997-06-13 | 2000-01-04 | Xilinx, Inc. | Field programmable gate array with dedicated computer bus interface and method for configuring both |
US6044416A (en) * | 1997-09-19 | 2000-03-28 | Samsung Electronics Co., Ltd. | Configurable first-in first-out memory interface |
KR100269313B1 (en) | 1997-11-07 | 2000-12-01 | 윤종용 | Semiconductor memory device for consuming small current at stand-by state |
US6034538A (en) * | 1998-01-21 | 2000-03-07 | Lucent Technologies Inc. | Virtual logic system for reconfigurable hardware |
US6049487A (en) * | 1998-03-16 | 2000-04-11 | Actel Corporation | Embedded static random access memory for field programmable gate array |
US6385751B1 (en) * | 1998-12-30 | 2002-05-07 | Texas Instruments Incorporated | Programmable, reconfigurable DSP implementation of a Reed-Solomon encoder/decoder |
-
1999
- 1999-06-30 US US09/343,477 patent/US6347346B1/en not_active Expired - Lifetime
-
2000
- 2000-06-28 EP EP00944986A patent/EP1198888A4/en not_active Withdrawn
- 2000-06-28 WO PCT/US2000/017892 patent/WO2001001575A1/en not_active Application Discontinuation
- 2000-06-28 AU AU58991/00A patent/AU5899100A/en not_active Abandoned
-
2001
- 2001-09-28 US US09/967,855 patent/US20020038414A1/en not_active Abandoned
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5760607A (en) * | 1995-07-10 | 1998-06-02 | Xilinx, Inc. | System comprising field programmable gate array and intelligent memory |
Also Published As
Publication number | Publication date |
---|---|
WO2001001575A9 (en) | 2002-07-25 |
US6347346B1 (en) | 2002-02-12 |
AU5899100A (en) | 2001-01-31 |
EP1198888A4 (en) | 2002-10-02 |
EP1198888A1 (en) | 2002-04-24 |
US20020038414A1 (en) | 2002-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6347346B1 (en) | Local memory unit system with global access for use on reconfigurable chips | |
US5740402A (en) | Conflict resolution in interleaved memory systems with multiple parallel accesses | |
EP1222559B1 (en) | Multiprocessor node controller circuit and method | |
US3537074A (en) | Parallel operating array computer | |
US10210914B2 (en) | Programmable logic accelerator in system on chip | |
US5101498A (en) | Pin selectable multi-mode processor | |
JP3853736B2 (en) | User configurable on-chip memory system | |
US6653859B2 (en) | Heterogeneous integrated circuit with reconfigurable logic cores | |
US7930462B2 (en) | Interface controller that has flexible configurability and low cost | |
JPH1131122A (en) | Bus mutual connection system | |
JPS6137662B1 (en) | ||
JPS6327739B2 (en) | ||
JPS6035696B2 (en) | Bus control device in data processing equipment | |
JPH05181816A (en) | Parallel data processor and microprocessor | |
AU2009209933B2 (en) | Reconfigurable device | |
US8284792B2 (en) | Buffer minimization in interface controller | |
US8352695B2 (en) | Selectable access rates in a memory and memory communication system | |
CN114254577A (en) | Logic structure based on micro-sector infrastructure with data registers having scan registers | |
JPH04260959A (en) | Microprocessor | |
US6571301B1 (en) | Multi processor system and FIFO circuit | |
CN114662432A (en) | Micro-network on chip and micro-sector infrastructure | |
EP0953916A1 (en) | Microcomputer chips with interconnected address and data paths | |
EP0953915A1 (en) | Microcomputer with packet translation for event packets and memory access packets | |
US5555433A (en) | Circuit for interfacing data busses | |
US5862408A (en) | Microprocessor system having multiplexor disposed in first and second read paths between memory CPU and DMA for selecting data from either read path |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2000944986 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: 2000944986 Country of ref document: EP |
|
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
AK | Designated states |
Kind code of ref document: C2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: C2 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
COP | Corrected version of pamphlet |
Free format text: PAGES 1/15-15/15, DRAWINGS, REPLACED BY NEW PAGES 1/13-13/13; DUE TO LATE TRANSMITTAL BY THE RECEIVING OFFICE |
|
NENP | Non-entry into the national phase |
Ref country code: JP |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: 2000944986 Country of ref document: EP |