US20020038414A1 - Address generator for local system memory in reconfigurable logic chip - Google Patents
Address generator for local system memory in reconfigurable logic chip Download PDFInfo
- Publication number
- US20020038414A1 US20020038414A1 US09/967,855 US96785501A US2002038414A1 US 20020038414 A1 US20020038414 A1 US 20020038414A1 US 96785501 A US96785501 A US 96785501A US 2002038414 A1 US2002038414 A1 US 2002038414A1
- Authority
- US
- United States
- Prior art keywords
- address
- address generator
- reconfigurable logic
- logic system
- reconfigurable
- 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.)
- Abandoned
Links
- 230000015654 memory Effects 0.000 title claims abstract description 68
- 230000006870 function Effects 0.000 claims description 7
- 230000000873 masking effect Effects 0.000 claims description 2
- 230000001351 cycling effect Effects 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 13
- 230000003068 static effect Effects 0.000 description 3
- 239000000872 buffer Substances 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
Images
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 systems.
- Reconfigurable logic uses different configurations to have a reconfigurable chip implemented for a number of different functions.
- reconfigurable chips One growing use of reconfigurable chips is in reconfigurable computing.
- an algorithm is implemented using a reconfigurable chip which has a number of reconfigurable functional units adapted to implement different functions.
- the reconfigurable functional units can be implemented to run a portion of the algorithm.
- a different portion of the algorithm can be implemented by implementing different configurations into the reconfigurable functional unit.
- One type of reconfigurable logic system uses reconfigurable functional units that have arithmetic logic units. These arithmetic logic units can be programmed using different configurations that implement the algorithm.
- the data from the reconfigurable functional units can be loaded from or obtained from a memory unit on the reconfigurable logic chip.
- One example of a reconfigurable logic system has the addresses for the memory produced by the reconfigurable functional units.
- One embodiment of the present invention is a reconfigurable logic system including a reconfigurable functional unit that is adapted to implement a number of functions and an address generating memory unit operably connected to the reconfigurable functional unit.
- the address generating memory unit including a memory, has at least one address generator adapted to construct an address for the memory.
- the address generator is able to construct a sequence of addresses for the memory unit using an incrementor. Since the address generating memory unit can produce a sequence of addresses, the reconfigurable functional unit is freed for other operations and thus the efficiency of the reconfigurable logic system is improved.
- the address generator is implemented including an adder to add an incremented value from a prior address.
- a match register is used so that the generation of the address is in the first portion of the address generator and can be matched with the actual internal address provided to the memory.
- a multiplexer is used to provide multiple different input to the address generator. These inputs may include an input, an incremented value input, an address from a reconfigurable functional unit, a feeedback address, and the like.
- the control for the multiplexer can be provided by bits in the configuration of the reconfigurable functional unit.
- the address generator has different modes in which, depending upon the mode, the system operates in a different fashion.
- FIG. 1 is a diagram that illustrates a reconfigurable logic system.
- FIG. 2 is a diagram that illustrates a slice of a reconfigurable logic system of FIG. 1.
- FIG. 3 is a diagram that illustrates an address generating memory unit of the system of the present invention.
- FIG. 4 illustrates a diagram of one embodiment of an address generator for the address generating memory unit of the system of the present invention.
- FIG. 5 is an alternate embodiment of an address generating unit for the system of the present invention.
- FIG. 6 is a diagram of a reconfigurable functional unit of one embodiment of the present invention.
- FIGS. 7A and 7B are diagrams illustrating an alternate embodiment of the present invention.
- FIG. 8 is a diagram of one embodiment of a reconfigurable functional unit that can be used with one embodiment of the present invention.
- FIG. 1 shows a reconfigurable logic system 20 .
- the reconfigurable logic system 20 is connected to an external memory 22 .
- the configurations from the external memory 22 along with the data loaded by the memory controller 24 and loaded upon the system data bus 26 system address bus 28 .
- the reconfigurable chip includes a DMA control bus interface 30 , a configuration buffer 32 and the reconfigurable slices 34 , 36 , 38 and 40 with reconfigurable memory. Also shown is fabric set up control logic 44 and CPU 42 .
- FIG. 2 is a diagram of a slice that shows a number of local memories and data path units or reconfigurable functional units in a tile of each slice. Shown in FIG. 2 is a slice 50 with a tile 52 , including a local memory 54 , and multiple data path units 56 and 58 . Also shown is a multiplier unit 59 .
- FIG. 3 is a diagram that illustrates a memory unit including the address unit of the system of one embodiment of the present invention.
- the diagram of FIG. 3 shows a single reconfigurable functional unit and local memory unit.
- the interconnecting pass gates 60 , 62 64 and 66 allow the connections between the local memory unit and other reconfigurable functional units (not shown).
- Reconfigurable functional unit 72 can produce a lead address onto line 74 , and a write address onto line 76 . These addresses can, depending upon the state of the tri-state buffers 78 and 80 , be placed upon the write address bus 82 with a read address bus 84 .
- These addresses can be sent to other local memory units (not shown) through pass gates 60 and 62 .
- Local memory unit 70 includes a read address generator 86 and a write address generator 88 . In one embodiment, a single address generator is shared for the reading and the writing of the memory unit.
- a conventional memory unit 90 which can be constructed in conventional ways of the memory.
- the conventional memory unit 90 is a multi-port memory 90 .
- the data provided through memory unit 90 can be provided off of write data line 92 and the data read from the conventional memory unit 90 is written to the read data line 94 .
- the data can be written to and read from by the reconfigurable functional 72 or other reconfigurable functional units not shown or connected to the read and write data lines 94 and 92 .
- an address generator used in the local memory unit 70 can produce addresses for the conventional memory unit 90 , thus freeing the reconfigurable functional unit 72 from having to continually produce the addresses. This is especially the case when a sequence of addresses is to be read from or written to the conventional memory unit 90 .
- the address unit 86 can construct the sequence of addresses without the addresses being provided by the reconfigurable functional unit 72 , or other reconfigurable functional units.
- the address generator includes an incrementor unit, incrementing the addresses by predetermined amounts, so that the addresses can follow a sequence to read and write in data in or out of the memory unit 90 .
- FIG. 4 is a diagram of an address generator.
- the first portion of the address generator includes a multiplexer 100 , used to select the next address value.
- the selectable inputs include a base register value is stored in a register 102 , the old register value from feedback line 114 , the address 106 , from an address line, such as that provided by a reconfigurable functional unit, and an input from an incrementor 108 using an adder 110 and an increment register 112 .
- Incrementor 108 allows for the address values to move through a sequence.
- a register 114 receives the output of the multiplexer 110 .
- the control for the multiplexer 110 can be provided by bits associated with an output control field from a reconfigurable functional unit. This can be sent along a line, such as the lines 82 or 84 , as shown in FIG. 3, or by a direct connection between the reconfigurable functional unit and a local memory unit.
- FIG. 5 below describes the system which has an additional mode bit controlling the mode of the address generator.
- the address generator also has a mask unit 116 , comprising a mask register 118 and unit 120 .
- the mask portion 116 allows the first portion 122 to construct the sequence of addresses that keeps incrementing.
- the mask register region 116 allows for only the lower bits to be used as the internal address to the memory.
- the address on line 124 is sent to the memory portion of the system. Also showing is an ID bit register 126 that checks whether certain further bits are set, so as whether to set the enable line 128 to the memory shown.
- FIG. 5 illustrates an address generator unit with the mode register 140 .
- the output to the next generator can an address obtained from the data path unit 142 . If the mode bit is 1 then the addresses can use the base value from register 144 .
- multiplexer 148 will provide the DPU value to the adder 150 .
- Multiplexer 152 will provide the increment value to the adder 150 .
- the combined DPU address and increment value are sent to the multiplexer 154 .
- Logic element 162 provides zero to the multiplexer, a zero to the control of the multiplexer 154 .
- the DPU and increment value is sent to the multiplexer 158 .
- the output of the Or 156 will a 1, so that the DPU plus the increment value are provided to the register 160 .
- Address generator is added to the LSM
- the value from the register 160 is provided to the masking portion 170 .
- the bits 1 and zero of the constructed address are not masked and values go on line 172 to the memory.
- the mask register 174 is ANDed to the other bits with and unit 176 . This ANDed value is sent along line 178 to the memory.
- the match register 180 and exclusive OR 182 are used to produce an enable signal so that the memory can be enabled.
- the address may not refer to the bits 9 to 12 , will indicate whether the address refers to data in that specific memory. These bits are compared to ID bits in the register for the memory of the local system memory. If the bits don't match, then the data is not read to or written into the memory.
- FIG. 6 illustrates an example of a reconfigurable functional unit of one embodiment of the present invention.
- This reconfigurable functional unit includes input multiplexers 190 and 192 , temporary registers 194 and 196 , data registers 198 and 200 , along with the multiplexer 202 .
- the multiplexer 202 can select between the register value 198 and the input value from the multiplexer 190 . This is provided as 1 input to the ALU 204 .
- the other value to the ALU 204 provided by the multiplexer 206 which can select from register B value from register 200 an input value from the multiplexer 192 through multiplexer 208 or a shifted version of the value from multiplexer 192 through multiplexer 208 .
- a combined value through the logic 210 can be used.
- the reconfigurable functional unit of FIG. 6 can be thus implemented in multiple different ways to implement different functions required in an algorithm.
- FIGS. 7A and 7B are diagrams ilustrating an alternate embodiment of the present invention.
- the address generators are not applicable to the external operation.
- the address generator takes inputs from either Reconfigurable Functional Unit (DPU) or the base address field in the configuration bits, or it could be initialized to zero.
- DPU Reconfigurable Functional Unit
- a read mask and a write mask in the address generator can be used to mask out any bits of the address except ADDR[ 1 : 0 ], which are used to determine the byte/word position in non-32bit operation.
- LSM Local System Memory
- the modes of operation of the address generator are controlled by a static configuration bit “Mode” and two dynamic bits CSM[ 1 : 0 ] as summarized in the table of FIG. 7B.
- FIG. 8 is a diagram of a reconfigurable functional unit that can be used with one embodiment of the present invention.
Abstract
A reconfigurable logic system using reconfigurable functional units of the type having arithmetic logic units are associated with address generating memory units. The address generating memory units having address generators that can construct addresses for memory in the address generator memory units. This frees the reconfigurable functional unit from the need to construct a sequence of addresses for the memory unit.
Description
- This application is a Continuation-in-Part of Application Ser. No. 09/343,477 filed Jun. 30, 1999, which is incorporated herein by reference.
- The present invention relates to reconfigurable logic systems. Reconfigurable logic uses different configurations to have a reconfigurable chip implemented for a number of different functions.
- One growing use of reconfigurable chips is in reconfigurable computing. In reconfigurable computing, an algorithm is implemented using a reconfigurable chip which has a number of reconfigurable functional units adapted to implement different functions. The reconfigurable functional units can be implemented to run a portion of the algorithm. A different portion of the algorithm can be implemented by implementing different configurations into the reconfigurable functional unit. One type of reconfigurable logic system uses reconfigurable functional units that have arithmetic logic units. These arithmetic logic units can be programmed using different configurations that implement the algorithm. In one embodiment, the data from the reconfigurable functional units can be loaded from or obtained from a memory unit on the reconfigurable logic chip. One example of a reconfigurable logic system has the addresses for the memory produced by the reconfigurable functional units.
- It is desired to have an improved reconfigurable logic system.
- One embodiment of the present invention is a reconfigurable logic system including a reconfigurable functional unit that is adapted to implement a number of functions and an address generating memory unit operably connected to the reconfigurable functional unit. The address generating memory unit, including a memory, has at least one address generator adapted to construct an address for the memory. In one embodiment, the address generator is able to construct a sequence of addresses for the memory unit using an incrementor. Since the address generating memory unit can produce a sequence of addresses, the reconfigurable functional unit is freed for other operations and thus the efficiency of the reconfigurable logic system is improved.
- In a preferred embodiment, there are two address generating memory units: one producing the write address and one producing the read address for the memory unit. In one embodiment, the address generator is implemented including an adder to add an incremented value from a prior address. In one embodiment, a match register is used so that the generation of the address is in the first portion of the address generator and can be matched with the actual internal address provided to the memory. Also, in one embodiment, a multiplexer is used to provide multiple different input to the address generator. These inputs may include an input, an incremented value input, an address from a reconfigurable functional unit, a feeedback address, and the like. The control for the multiplexer can be provided by bits in the configuration of the reconfigurable functional unit. In another embodiment of the present invention, the address generator has different modes in which, depending upon the mode, the system operates in a different fashion.
- FIG. 1 is a diagram that illustrates a reconfigurable logic system.
- FIG. 2 is a diagram that illustrates a slice of a reconfigurable logic system of FIG. 1.
- FIG. 3 is a diagram that illustrates an address generating memory unit of the system of the present invention.
- FIG. 4 illustrates a diagram of one embodiment of an address generator for the address generating memory unit of the system of the present invention.
- FIG. 5 is an alternate embodiment of an address generating unit for the system of the present invention.
- FIG. 6 is a diagram of a reconfigurable functional unit of one embodiment of the present invention.
- FIGS. 7A and 7B are diagrams illustrating an alternate embodiment of the present invention.
- FIG. 8 is a diagram of one embodiment of a reconfigurable functional unit that can be used with one embodiment of the present invention.
- FIG. 1 shows a
reconfigurable logic system 20. Thereconfigurable logic system 20 is connected to anexternal memory 22. The configurations from theexternal memory 22, along with the data loaded by thememory controller 24 and loaded upon thesystem data bus 26system address bus 28. The reconfigurable chip includes a DMA control bus interface 30, a configuration buffer 32 and thereconfigurable slices control logic 44 and CPU 42. - FIG. 2 is a diagram of a slice that shows a number of local memories and data path units or reconfigurable functional units in a tile of each slice. Shown in FIG. 2 is a
slice 50 with atile 52, including alocal memory 54, and multipledata path units 56 and 58. Also shown is a multiplier unit 59. - FIG. 3 is a diagram that illustrates a memory unit including the address unit of the system of one embodiment of the present invention. The diagram of FIG. 3 shows a single reconfigurable functional unit and local memory unit. The interconnecting
pass gates 60, 62 64 and 66 allow the connections between the local memory unit and other reconfigurable functional units (not shown). Reconfigurablefunctional unit 72 can produce a lead address ontoline 74, and a write address ontoline 76. These addresses can, depending upon the state of the tri-state buffers 78 and 80, be placed upon thewrite address bus 82 with aread address bus 84. These addresses can be sent to other local memory units (not shown) throughpass gates 60 and 62. Local memory unit 70 includes aread address generator 86 and a write address generator 88. In one embodiment, a single address generator is shared for the reading and the writing of the memory unit. - Also associated with the local memory unit70 is a
conventional memory unit 90 which can be constructed in conventional ways of the memory. In a preferred embodiment, theconventional memory unit 90 is amulti-port memory 90. The data provided throughmemory unit 90 can be provided off of write data line 92 and the data read from theconventional memory unit 90 is written to theread data line 94. The data can be written to and read from by the reconfigurable functional 72 or other reconfigurable functional units not shown or connected to the read and writedata lines 94 and 92. - In a preferred embodiment, an address generator, used in the local memory unit70 can produce addresses for the
conventional memory unit 90, thus freeing the reconfigurablefunctional unit 72 from having to continually produce the addresses. This is especially the case when a sequence of addresses is to be read from or written to theconventional memory unit 90. In that case, theaddress unit 86 can construct the sequence of addresses without the addresses being provided by the reconfigurablefunctional unit 72, or other reconfigurable functional units. - In one embodiment, the address generator includes an incrementor unit, incrementing the addresses by predetermined amounts, so that the addresses can follow a sequence to read and write in data in or out of the
memory unit 90. - FIGS. 4 and 5 illustrate examples of address generators for use with the system of the present invention. FIG. 4 is a diagram of an address generator. The first portion of the address generator, includes a
multiplexer 100, used to select the next address value. In the example shown in FIG. 4, the selectable inputs include a base register value is stored in aregister 102, the old register value fromfeedback line 114, theaddress 106, from an address line, such as that provided by a reconfigurable functional unit, and an input from anincrementor 108 using an adder 110 and an increment register 112.Incrementor 108 allows for the address values to move through a sequence. Aregister 114 receives the output of the multiplexer 110. - In one embodiment, the control for the multiplexer110 can be provided by bits associated with an output control field from a reconfigurable functional unit. This can be sent along a line, such as the
lines mask unit 116, comprising amask register 118 and unit 120. Themask portion 116 allows thefirst portion 122 to construct the sequence of addresses that keeps incrementing. Themask register region 116 allows for only the lower bits to be used as the internal address to the memory. This allows the addresses fromsection 122 to keep incrementing while the addresses to the memory will cycle. The address on line 124 is sent to the memory portion of the system. Also showing is an ID bit register 126 that checks whether certain further bits are set, so as whether to set theenable line 128 to the memory shown. - FIG. 5 illustrates an address generator unit with the
mode register 140. Generally if the mode bit is 0, the output to the next generator can an address obtained from thedata path unit 142. If the mode bit is 1 then the addresses can use the base value fromregister 144. - Looking again at FIG. 5, if the mode bit is zero, CSM [1] is zero and CSM [0] is zero, then the input address will be the
address 142 from the data path unit. Note that the output of theOR 156 will be a zero, since the CSM [1] is zero and CSM [0] is zero. This causes themultiplexer 158 to be a zero, causing the address from the reconfigurable functional unit (DPU) 142 to be provided to the zero - If the mode is a zero, CSM[1] is a zero, and CSM [0] is a 1,
multiplexer 148 will provide the DPU value to theadder 150. Multiplexer 152 will provide the increment value to theadder 150. The combined DPU address and increment value are sent to themultiplexer 154.Logic element 162 provides zero to the multiplexer, a zero to the control of themultiplexer 154. Thus, the DPU and increment value is sent to themultiplexer 158. The output of theOr 156 will a 1, so that the DPU plus the increment value are provided to theregister 160. - If the mode is a zero, CSM [1] is a 1 and CSM [0] is a zero, the old address value from
register 160 is output from themultiplexer 148. This is added to a zero value in theadder 150.Logic 162 selects the address value from theadder 150 and provides it to themultiplexer 158. The ORunit 156 selects this address value and then sends it to theregister 160. In this manner, the value from theregister 160 is fed back to itself and the address stays the same. - If the mode is a zero, CSM [1] is a 1 and CSM [0] is a 1, then the address value from the
register 160 is combined with the increment value and passed through themultiplexers register 160. - If the mode is a 1, CSM [1] is a zero, and CSM [0] is a zero,
logic 162 is high and the zero value is provided throughmultiplexer register 160. - If the mode is a 1, CSM [1] is a zero, and CSM [0] is a 1, then the base value in
register 144 is provided throughmultiplexer 164,multiplexer 154 andmultiplexer 158 to theregister 160. - If the mode is a 1, the CSM [1] is a 1, and CSM [0] is a zero, then the address value is fed back to the
register 160. - If the mode is a 1 CSM [1] is a 1, then CSM [0] is a 1, then the fed-back address value is incremented and provided to the
register 160. The breakdown of the different values is given below. - Address generator is added to the LSM;
- two new CSM bits and a mode bit are needed to decode the eight available modes of the address generator;
- if (Mode, CSM[1:0]==0 {address DPU address}
- if (Mode, CSM[1:0]==1 {address=DPU+INCREMENT [12:0]}
- if (Mode, CSM[1:0]==2 {address=address+INCREMENT [12:0]}}
- if (Mode, CSM[1:0]==3 {address=0}
- if (Mode, CSM[1:0]==4 {address=BASE 12:0]}
- if (Mode, CSM[1:0]==5 {address=address}
- if (Mode, CSM[1:0]==6 {address=address}
- if (Mode, CSM[1:0]==7 {address=address+INCREMENT [12:0]}
- two new CSM bits;
- new static configuration bits (per address generator, that means each LSM will have one for read and one for write) as descripted in the following;
- Mode (1 bit)
- Increment [12:0](13 bits)
- Base [12:0](13 bits)
- Mask [12:2](11 bits)
- Match [3:0](4 bits)—there are Match [3:0] in CS2112 shared by both read and write. For the new design, read and write will have its own Match [3:0]
- Matchen [3:0]—there are Matchen [3:0] in CS2112 shared by both read and write. For the new design, read and write will have its own Matchen [3:0]
- 84 of configuration bits are added per row;
- [((1+13+13+11+4+4)×2)total bits−8 existing bits], that means 84×4=336 bits per tile.
- The value from the
register 160 is provided to the masking portion 170. In this implementation, thebits 1 and zero of the constructed address are not masked and values go online 172 to the memory. Themask register 174 is ANDed to the other bits with andunit 176. This ANDed value is sent along line 178 to the memory. Thematch register 180 and exclusive OR 182 are used to produce an enable signal so that the memory can be enabled. For example, the address may not refer to thebits 9 to 12, will indicate whether the address refers to data in that specific memory. These bits are compared to ID bits in the register for the memory of the local system memory. If the bits don't match, then the data is not read to or written into the memory. The use of such matching bits is described in the parent application Ser. No. 09/343,477 filed Jun. 30, 1999, for LOCAL MEMORY UNIT SYSTEM WITH GLOBAL ACCESS FOR USE ON RECONFIGURABLE CHIPS, which is incorporated herein by reference. Note that themask register 174 and the addresses can be set so as to always set the enabled bit high. - FIG. 6 illustrates an example of a reconfigurable functional unit of one embodiment of the present invention. This reconfigurable functional unit includes
input multiplexers temporary registers register value 198 and the input value from themultiplexer 190. This is provided as 1 input to theALU 204. The other value to theALU 204 provided by themultiplexer 206, which can select from register B value fromregister 200 an input value from themultiplexer 192 throughmultiplexer 208 or a shifted version of the value frommultiplexer 192 throughmultiplexer 208. Alternately, a combined value through thelogic 210 can be used. The reconfigurable functional unit of FIG. 6 can be thus implemented in multiple different ways to implement different functions required in an algorithm. - FIGS. 7A and 7B are diagrams ilustrating an alternate embodiment of the present invention. In this embodiment, as shown in FIG. 7A, there are two address generators in each LSM, one for local read and one for local write operation. The address generators are not applicable to the external operation. The address generator takes inputs from either Reconfigurable Functional Unit (DPU) or the base address field in the configuration bits, or it could be initialized to zero. There is an adder inside the address generator that, in conjunction with the increment field in the configuration bits, performs increment function on the address. A read mask and a write mask in the address generator can be used to mask out any bits of the address except ADDR[1:0], which are used to determine the byte/word position in non-32bit operation. One of the usages of the masks is to make the Local System Memory (LSM) into circular memory of a smaller size. There is also a hold mode in the address generator to freeze the address no matter how the input address changes. A block level implementation of the address generator is shown in the following figure.
- The modes of operation of the address generator are controlled by a static configuration bit “Mode” and two dynamic bits CSM[1:0] as summarized in the table of FIG. 7B. Two of the modes, hold and increment, are duplicated in both Mode=0 and Mode=1. Since Mode is a static configuration bit that cannot be changed on a cycle basis, the hold and increment modes need to be available regardless of the value of the Mode bit to ensure that a design can switch between this 2 modes by changing the dynamic Configuration State Memory bits.
- FIG. 8 is a diagram of a reconfigurable functional unit that can be used with one embodiment of the present invention.
- It will be appreciated by those of ordinary skill in the art that the invention can be implemented in other specific forms without departing from the spirit or character thereof. The presently disclosed embodiments are therefore considered in all respects to be illustrative and not restrictive. The scope of the invention is illustrated by the appended claims rather than the foregoing description, and all changes that come within the meaning and range of equivalents thereof are intended to be embraced herein.
Claims (19)
1. A reconfigurable logic system, comprising
a reconfigurable functional unit adapted to implement a number of functions; and
an address-generating memory unit operably connected to the reconfigurable functional unit, the address-generating memory unit including a memory and at least one address generator adapted to construct an address for the memory.
2. The reconfigurable logic system of claim 1 wherein the address generator is able to construct a sequence of addresses for the memory.
3. The method of claim 2 wherein the address generator includes an incrementor.
4. The reconfigurable logic system of claim 3 wherein the incrementor comprises an increment register and an adder.
5. The reconfigurable logic system of claim 1 wherein the address generator includes configuration bits to control the configuration of the address generating unit.
6. The reconfigurable logic of claim 1 wherein the address generator includes a mask value to produce a masked address value.
7. The reconfigurable logic system of claim 1 wherein the addresses provided by the address generator can include an incremented value.
8. The reconfigurable logic system of claim 1 wherein the address generator such that the address provided by the address generator can be fed back the address value.
9. The reconfigurable logic system of claim 1 wherein the address is provided by the address generator can be a cycling address sequence.
10. The reconfigurable logic system of claim 1 wherein the address is provided by the address generator includes a base register value.
11. The reconfigurable logic system of claim 1 wherein the address generator includes a multiplexer to select multiple different generated addresses.
12. A reconfigurable logic system, comprising
a reconfigurable functional unit adapted to implement a number of functions and
an address-generating memory unit operably connected to the reconfigurable functional unit, the address-generating memory unit including a memory and at least one address generator adapted to construct an address for the memory, the address generator able to construct a sequence of addresses for the memory using an incrementor.
13. The reconfigurable logic system of claim 12 wherein the incrementor includes an adder.
14. The reconfigurable logic system of claim 13 wherein the incrementor includes a register to store an increment value.
15. The reconfigurable logic system of claim 12 wherein the address generator includes a masking portion.
16. The reconfigurable logic system of claim 12 wherein the address generator can provide a cycling sequence of addresses.
17. The reconfigurable logic system of claim 12 wherein the address generator includes a multiplexer to aid in selecting the address output.
18. The reconfigurable logic system of claim 12 wherein the address generator has different modes.
19. The reconfigurable logic system of claim 12 wherein the address generator has bits that allow the selection of different types of address output.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/967,855 US20020038414A1 (en) | 1999-06-30 | 2001-09-28 | Address generator for local system memory in reconfigurable logic chip |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/343,477 US6347346B1 (en) | 1999-06-30 | 1999-06-30 | Local memory unit system with global access for use on reconfigurable chips |
US09/967,855 US20020038414A1 (en) | 1999-06-30 | 2001-09-28 | Address generator for local system memory in reconfigurable logic chip |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/343,477 Continuation-In-Part US6347346B1 (en) | 1999-06-30 | 1999-06-30 | Local memory unit system with global access for use on reconfigurable chips |
Publications (1)
Publication Number | Publication Date |
---|---|
US20020038414A1 true US20020038414A1 (en) | 2002-03-28 |
Family
ID=23346270
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/343,477 Expired - Lifetime US6347346B1 (en) | 1999-06-30 | 1999-06-30 | Local memory unit system with global access for use on reconfigurable chips |
US09/967,855 Abandoned US20020038414A1 (en) | 1999-06-30 | 2001-09-28 | Address generator for local system memory in reconfigurable logic chip |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/343,477 Expired - Lifetime US6347346B1 (en) | 1999-06-30 | 1999-06-30 | Local memory unit system with global access for use on reconfigurable chips |
Country Status (4)
Country | Link |
---|---|
US (2) | US6347346B1 (en) |
EP (1) | EP1198888A4 (en) |
AU (1) | AU5899100A (en) |
WO (1) | WO2001001575A1 (en) |
Cited By (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030046607A1 (en) * | 2001-09-03 | 2003-03-06 | Frank May | Method for debugging reconfigurable architectures |
US20030056085A1 (en) * | 1996-12-09 | 2003-03-20 | Entire Interest | Unit for processing numeric and logic operations for use in central processing units (CPUS), multiprocessor systems, data-flow processors (DSPS), systolic processors and field programmable gate arrays (FPGAS) |
US20030056202A1 (en) * | 2001-08-16 | 2003-03-20 | Frank May | Method for translating programs for reconfigurable architectures |
US20030093662A1 (en) * | 1996-12-27 | 2003-05-15 | Pact Gmbh | Process for automatic dynamic reloading of data flow processors (DFPS) and units with two- or three-dimensional programmable cell architectures (FPGAS, DPGAS, and the like) |
US20030135686A1 (en) * | 1997-02-11 | 2003-07-17 | Martin Vorbach | Internal bus system for DFPs and units with two- or multi-dimensional programmable cell architectures, for managing large volumes of data with a high interconnection complexity |
US20040015899A1 (en) * | 2000-10-06 | 2004-01-22 | Frank May | Method for processing data |
US20040052130A1 (en) * | 1997-02-08 | 2004-03-18 | Martin Vorbach | Method of self-synchronization of configurable elements of a programmable unit |
US20040083399A1 (en) * | 1997-02-08 | 2004-04-29 | Martin Vorbach | Method of self-synchronization of configurable elements of a programmable module |
US20040181726A1 (en) * | 1997-12-22 | 2004-09-16 | Martin Vorbach | Method and system for alternating between programs for execution by cells of an integrated circuit |
US20040243984A1 (en) * | 2001-06-20 | 2004-12-02 | Martin Vorbach | Data processing method |
US20040249880A1 (en) * | 2001-12-14 | 2004-12-09 | Martin Vorbach | Reconfigurable system |
US20050053056A1 (en) * | 2001-09-03 | 2005-03-10 | Martin Vorbach | Router |
US20050066213A1 (en) * | 2001-03-05 | 2005-03-24 | Martin Vorbach | Methods and devices for treating and processing data |
US20050086462A1 (en) * | 2001-03-05 | 2005-04-21 | Martin Vorbach | Methods and devices for treating and/or processing data |
US20060075211A1 (en) * | 2002-03-21 | 2006-04-06 | Martin Vorbach | Method and device for data processing |
US20060192586A1 (en) * | 2002-09-06 | 2006-08-31 | Martin Vorbach | Reconfigurable sequencer structure |
US20060248317A1 (en) * | 2002-08-07 | 2006-11-02 | Martin Vorbach | Method and device for processing data |
US20070011433A1 (en) * | 2003-04-04 | 2007-01-11 | Martin Vorbach | Method and device for data processing |
US20070113046A1 (en) * | 2001-03-05 | 2007-05-17 | Martin Vorbach | Data processing device and method |
US20070123091A1 (en) * | 2005-11-18 | 2007-05-31 | Swedberg Benjamin D | Releasable Wire Connector |
US20080222329A1 (en) * | 1996-12-20 | 2008-09-11 | Martin Vorbach | I/O and memory bus system for DFPs and units with two- or multi-dimensional programmable cell architectures |
US7822881B2 (en) | 1996-12-27 | 2010-10-26 | Martin Vorbach | Process for automatic dynamic reloading of data flow processors (DFPs) and units with two- or three-dimensional programmable cell architectures (FPGAs, DPGAs, and the like) |
US7996827B2 (en) * | 2001-08-16 | 2011-08-09 | Martin Vorbach | Method for the translation of programs for reconfigurable architectures |
US8058899B2 (en) | 2000-10-06 | 2011-11-15 | Martin Vorbach | Logic cell array and bus system |
US8127061B2 (en) | 2002-02-18 | 2012-02-28 | Martin Vorbach | Bus systems and reconfiguration methods |
US8156284B2 (en) | 2002-08-07 | 2012-04-10 | Martin Vorbach | Data processing method and device |
US8230411B1 (en) | 1999-06-10 | 2012-07-24 | Martin Vorbach | Method for interleaving a program over a plurality of cells |
US8250503B2 (en) | 2006-01-18 | 2012-08-21 | Martin Vorbach | Hardware definition method including determining whether to implement a function as hardware or software |
US8281108B2 (en) | 2002-01-19 | 2012-10-02 | Martin Vorbach | Reconfigurable general purpose processor having time restricted configurations |
US8301872B2 (en) | 2000-06-13 | 2012-10-30 | Martin Vorbach | Pipeline configuration protocol and configuration unit communication |
US8686475B2 (en) | 2001-09-19 | 2014-04-01 | Pact Xpp Technologies Ag | Reconfigurable elements |
US8686549B2 (en) | 2001-09-03 | 2014-04-01 | Martin Vorbach | Reconfigurable elements |
US8812820B2 (en) | 2003-08-28 | 2014-08-19 | Pact Xpp Technologies Ag | Data processing device and method |
US8914590B2 (en) | 2002-08-07 | 2014-12-16 | Pact Xpp Technologies Ag | Data processing method and device |
US9037807B2 (en) | 2001-03-05 | 2015-05-19 | Pact Xpp Technologies Ag | Processor arrangement on a chip including data processing, memory, and interface elements |
US9632940B2 (en) | 2012-02-01 | 2017-04-25 | Zte Corporation | Intelligence cache and intelligence terminal |
Families Citing this family (71)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
DE19807872A1 (en) | 1998-02-25 | 1999-08-26 | Pact Inf Tech Gmbh | Method of managing configuration data in data flow processors |
US6851047B1 (en) | 1999-10-15 | 2005-02-01 | Xilinx, Inc. | Configuration in a configurable system on a chip |
US9250908B2 (en) | 2001-03-05 | 2016-02-02 | Pact Xpp Technologies Ag | Multi-processor bus and cache interconnection system |
US20090210653A1 (en) * | 2001-03-05 | 2009-08-20 | Pact Xpp Technologies Ag | Method and device for treating and processing data |
US20090300262A1 (en) * | 2001-03-05 | 2009-12-03 | Martin Vorbach | Methods and devices for treating and/or processing data |
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 |
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 |
US9552047B2 (en) | 2001-03-05 | 2017-01-24 | Pact Xpp Technologies Ag | Multiprocessor having runtime adjustable clock and clock dependent power supply |
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 |
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 |
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 |
US7489779B2 (en) * | 2001-03-22 | 2009-02-10 | Qstholdings, Llc | Hardware implementation of the secure hash standard |
US8843928B2 (en) | 2010-01-21 | 2014-09-23 | Qst Holdings, Llc | Method and apparatus for a general-purpose, multiple-core system for implementing stream-based computations |
US7249242B2 (en) | 2002-10-28 | 2007-07-24 | Nvidia Corporation | Input pipeline registers for a node in an adaptive computing engine |
US7653710B2 (en) | 2002-06-25 | 2010-01-26 | Qst Holdings, Llc. | Hardware task manager |
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 |
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 |
US10031733B2 (en) | 2001-06-20 | 2018-07-24 | Scientia Sol Mentis Ag | Method for processing data |
US7107374B1 (en) | 2001-09-05 | 2006-09-12 | Xilinx, Inc. | Method for bus mastering for devices resident in configurable system logic |
US7046635B2 (en) | 2001-11-28 | 2006-05-16 | Quicksilver Technology, Inc. | System for authorizing functionality in adaptable hardware devices |
US8412915B2 (en) | 2001-11-30 | 2013-04-02 | Altera Corporation | Apparatus, system and method for configuration of adaptive integrated circuitry having heterogeneous computational elements |
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 |
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 |
US7403981B2 (en) | 2002-01-04 | 2008-07-22 | Quicksilver Technology, Inc. | Apparatus and method for adaptive multimedia reception and transmission in communication environments |
AU2003214046A1 (en) * | 2002-01-18 | 2003-09-09 | Pact Xpp Technologies Ag | Method and device for partitioning large computer programs |
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 |
US8108656B2 (en) | 2002-08-29 | 2012-01-31 | Qst Holdings, Llc | Task definition for specifying resource requirements |
WO2004023325A1 (en) * | 2002-09-04 | 2004-03-18 | Mentor Graphics (Holdings) Ltd. | Polymorphic computational system and method |
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 |
US7609297B2 (en) * | 2003-06-25 | 2009-10-27 | Qst Holdings, Inc. | Configurable hardware based digital imaging apparatus |
WO2006082091A2 (en) * | 2005-02-07 | 2006-08-10 | Pact Xpp Technologies Ag | Low latency massive parallel data processing device |
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 |
JP4174402B2 (en) * | 2003-09-26 | 2008-10-29 | 株式会社東芝 | Control circuit and reconfigurable logic block |
US7870182B2 (en) * | 2003-12-29 | 2011-01-11 | Xilinx Inc. | Digital signal processing circuit having an adder circuit with carry-outs |
US7472155B2 (en) * | 2003-12-29 | 2008-12-30 | Xilinx, Inc. | Programmable logic device with cascading DSP slices |
US7480690B2 (en) * | 2003-12-29 | 2009-01-20 | Xilinx, Inc. | Arithmetic circuit with multiplexed addend inputs |
US7865542B2 (en) * | 2003-12-29 | 2011-01-04 | Xilinx, Inc. | Digital signal processing block having a wide multiplexer |
US7849119B2 (en) * | 2003-12-29 | 2010-12-07 | Xilinx, Inc. | Digital signal processing circuit having a pattern detector circuit |
US7567997B2 (en) * | 2003-12-29 | 2009-07-28 | Xilinx, Inc. | Applications of cascading DSP slices |
US7840627B2 (en) | 2003-12-29 | 2010-11-23 | Xilinx, Inc. | Digital signal processing circuit having input register blocks |
US7860915B2 (en) * | 2003-12-29 | 2010-12-28 | Xilinx, Inc. | Digital signal processing circuit having a pattern circuit for determining termination conditions |
US7882165B2 (en) * | 2003-12-29 | 2011-02-01 | Xilinx, Inc. | Digital signal processing element having an arithmetic logic unit |
US7853636B2 (en) | 2003-12-29 | 2010-12-14 | Xilinx, Inc. | Digital signal processing circuit having a pattern detector circuit for convergent rounding |
US7853634B2 (en) * | 2003-12-29 | 2010-12-14 | Xilinx, Inc. | Digital signal processing circuit having a SIMD circuit |
US7853632B2 (en) * | 2003-12-29 | 2010-12-14 | Xilinx, Inc. | Architectural floorplan for a digital signal processing circuit |
US7467175B2 (en) * | 2003-12-29 | 2008-12-16 | Xilinx, Inc. | Programmable logic device with pipelined DSP slices |
US7840630B2 (en) * | 2003-12-29 | 2010-11-23 | Xilinx, Inc. | Arithmetic logic unit circuit |
US8495122B2 (en) * | 2003-12-29 | 2013-07-23 | Xilinx, Inc. | Programmable device with dynamic DSP architecture |
US7844653B2 (en) * | 2003-12-29 | 2010-11-30 | Xilinx, Inc. | Digital signal processing circuit having a pre-adder circuit |
EP2159799A1 (en) * | 2008-08-27 | 2010-03-03 | Panasonic Corporation | Semiconductor memory with shared global busses for reconfigurable logic device |
US8543635B2 (en) * | 2009-01-27 | 2013-09-24 | Xilinx, Inc. | Digital signal processing block with preadder stage |
US8479133B2 (en) * | 2009-01-27 | 2013-07-02 | Xilinx, Inc. | Method of and circuit for implementing a filter in an integrated circuit |
CN105302577B (en) * | 2015-11-26 | 2019-05-07 | 上海兆芯集成电路有限公司 | Drive the machine code generation method and device of execution unit |
JP6960479B2 (en) | 2017-03-14 | 2021-11-05 | アズールエンジン テクノロジーズ ヂュハイ インク.Azurengine Technologies Zhuhai Inc. | Reconfigurable parallel processing |
JP6911600B2 (en) * | 2017-07-18 | 2021-07-28 | 富士通株式会社 | Information processing equipment, information processing methods and information processing programs |
KR20200049775A (en) | 2017-08-03 | 2020-05-08 | 넥스트 실리콘 리미티드 | Reconfigurable cache architecture and methods for cache consistency |
US10817309B2 (en) | 2017-08-03 | 2020-10-27 | 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 |
US10817344B2 (en) | 2017-09-13 | 2020-10-27 | 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 (6)
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 |
US4533874A (en) * | 1981-05-29 | 1985-08-06 | Siemens Aktiengesellschaft | Digital FSK demodulator using non-recursive transversal filter |
US5784636A (en) * | 1996-05-28 | 1998-07-21 | National Semiconductor Corporation | Reconfigurable computer architecture for use in signal processing applications |
US5933855A (en) * | 1997-03-21 | 1999-08-03 | Rubinstein; Richard | Shared, reconfigurable memory architectures for digital signal processing |
US6085302A (en) * | 1996-04-17 | 2000-07-04 | Advanced Micro Devices, Inc. | Microprocessor having address generation units for efficient generation of memory operation addresses |
US6385751B1 (en) * | 1998-12-30 | 2002-05-07 | Texas Instruments Incorporated | Programmable, reconfigurable DSP implementation of a Reed-Solomon encoder/decoder |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5279630A (en) * | 1975-12-25 | 1977-07-04 | Toshiba Corp | Data processing unit |
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 |
EP0780017A1 (en) | 1995-07-10 | 1997-06-25 | Xilinx, Inc. | System comprising field programmable gate array and intelligent memory |
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 |
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.) |
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 |
-
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 AU AU58991/00A patent/AU5899100A/en not_active Abandoned
- 2000-06-28 WO PCT/US2000/017892 patent/WO2001001575A1/en not_active Application Discontinuation
-
2001
- 2001-09-28 US US09/967,855 patent/US20020038414A1/en not_active Abandoned
Patent Citations (6)
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 |
US4533874A (en) * | 1981-05-29 | 1985-08-06 | Siemens Aktiengesellschaft | Digital FSK demodulator using non-recursive transversal filter |
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 |
US5933855A (en) * | 1997-03-21 | 1999-08-03 | Rubinstein; Richard | Shared, reconfigurable memory architectures for digital signal processing |
US6385751B1 (en) * | 1998-12-30 | 2002-05-07 | Texas Instruments Incorporated | Programmable, reconfigurable DSP implementation of a Reed-Solomon encoder/decoder |
Cited By (76)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040168099A1 (en) * | 1996-12-09 | 2004-08-26 | Martin Vorbach | Unit for processing numeric and logic operations for use in central processing units (CPUs), multiprocessor systems |
US20030056085A1 (en) * | 1996-12-09 | 2003-03-20 | Entire Interest | Unit for processing numeric and logic operations for use in central processing units (CPUS), multiprocessor systems, data-flow processors (DSPS), systolic processors and field programmable gate arrays (FPGAS) |
US8156312B2 (en) | 1996-12-09 | 2012-04-10 | Martin Vorbach | Processor chip for reconfigurable data processing, for processing numeric and logic operations and including function and interconnection control units |
US20080010437A1 (en) * | 1996-12-09 | 2008-01-10 | Martin Vorbach | Unit for processing numeric and logic operations for use in central processing units (CPUS), multiprocessor systems, data-flow processors (DSPS), systolic processors and field programmable gate arrays (FPGAS) |
US7822968B2 (en) | 1996-12-09 | 2010-10-26 | Martin Vorbach | Circuit having a multidimensional structure of configurable cells that include multi-bit-wide inputs and outputs |
US7899962B2 (en) | 1996-12-20 | 2011-03-01 | Martin Vorbach | I/O and memory bus system for DFPs and units with two- or multi-dimensional programmable cell architectures |
US8195856B2 (en) | 1996-12-20 | 2012-06-05 | Martin Vorbach | I/O and memory bus system for DFPS and units with two- or multi-dimensional programmable cell architectures |
US20080222329A1 (en) * | 1996-12-20 | 2008-09-11 | Martin Vorbach | I/O and memory bus system for DFPs and units with two- or multi-dimensional programmable cell architectures |
US7650448B2 (en) | 1996-12-20 | 2010-01-19 | Pact Xpp Technologies Ag | I/O and memory bus system for DFPS and units with two- or multi-dimensional programmable cell architectures |
US7822881B2 (en) | 1996-12-27 | 2010-10-26 | Martin Vorbach | Process for automatic dynamic reloading of data flow processors (DFPs) and units with two- or three-dimensional programmable cell architectures (FPGAs, DPGAs, and the like) |
US20030093662A1 (en) * | 1996-12-27 | 2003-05-15 | Pact Gmbh | Process for automatic dynamic reloading of data flow processors (DFPS) and units with two- or three-dimensional programmable cell architectures (FPGAS, DPGAS, and the like) |
USRE44383E1 (en) | 1997-02-08 | 2013-07-16 | Martin Vorbach | Method of self-synchronization of configurable elements of a programmable module |
USRE44365E1 (en) | 1997-02-08 | 2013-07-09 | Martin Vorbach | Method of self-synchronization of configurable elements of a programmable module |
USRE45223E1 (en) | 1997-02-08 | 2014-10-28 | Pact Xpp Technologies Ag | Method of self-synchronization of configurable elements of a programmable module |
US20040052130A1 (en) * | 1997-02-08 | 2004-03-18 | Martin Vorbach | Method of self-synchronization of configurable elements of a programmable unit |
USRE45109E1 (en) | 1997-02-08 | 2014-09-02 | Pact Xpp Technologies Ag | Method of self-synchronization of configurable elements of a programmable module |
US20040083399A1 (en) * | 1997-02-08 | 2004-04-29 | Martin Vorbach | Method of self-synchronization of configurable elements of a programmable module |
US20030135686A1 (en) * | 1997-02-11 | 2003-07-17 | Martin Vorbach | Internal bus system for DFPs and units with two- or multi-dimensional programmable cell architectures, for managing large volumes of data with a high interconnection complexity |
US7010667B2 (en) * | 1997-02-11 | 2006-03-07 | Pact Xpp Technologies Ag | Internal bus system for DFPS and units with two- or multi-dimensional programmable cell architectures, for managing large volumes of data with a high interconnection complexity |
US20040181726A1 (en) * | 1997-12-22 | 2004-09-16 | Martin Vorbach | Method and system for alternating between programs for execution by cells of an integrated circuit |
US8819505B2 (en) | 1997-12-22 | 2014-08-26 | Pact Xpp Technologies Ag | Data processor having disabled cores |
US8468329B2 (en) | 1999-02-25 | 2013-06-18 | Martin Vorbach | Pipeline configuration protocol and configuration unit communication |
US8726250B2 (en) | 1999-06-10 | 2014-05-13 | Pact Xpp Technologies Ag | Configurable logic integrated circuit having a multidimensional structure of configurable elements |
US8230411B1 (en) | 1999-06-10 | 2012-07-24 | Martin Vorbach | Method for interleaving a program over a plurality of cells |
US8312200B2 (en) | 1999-06-10 | 2012-11-13 | Martin Vorbach | Processor chip including a plurality of cache elements connected to a plurality of processor cores |
US8301872B2 (en) | 2000-06-13 | 2012-10-30 | Martin Vorbach | Pipeline configuration protocol and configuration unit 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 |
US9047440B2 (en) | 2000-10-06 | 2015-06-02 | Pact Xpp Technologies Ag | Logical cell array and bus system |
US8471593B2 (en) | 2000-10-06 | 2013-06-25 | Martin Vorbach | Logic cell array and bus system |
US7581076B2 (en) * | 2001-03-05 | 2009-08-25 | Pact Xpp Technologies Ag | Methods and devices for treating and/or processing data |
US9037807B2 (en) | 2001-03-05 | 2015-05-19 | Pact Xpp Technologies Ag | Processor arrangement on a chip including data processing, memory, and interface elements |
US9075605B2 (en) | 2001-03-05 | 2015-07-07 | Pact Xpp Technologies Ag | Methods and devices for treating and processing data |
US20070113046A1 (en) * | 2001-03-05 | 2007-05-17 | Martin Vorbach | Data processing device and method |
US8312301B2 (en) | 2001-03-05 | 2012-11-13 | Martin Vorbach | Methods and devices for treating and processing data |
US7844796B2 (en) | 2001-03-05 | 2010-11-30 | Martin Vorbach | Data processing device and method |
US20050066213A1 (en) * | 2001-03-05 | 2005-03-24 | Martin Vorbach | Methods and devices for treating and processing data |
US20050086462A1 (en) * | 2001-03-05 | 2005-04-21 | Martin Vorbach | Methods and devices for treating and/or processing data |
US8099618B2 (en) | 2001-03-05 | 2012-01-17 | Martin Vorbach | Methods and devices for treating and processing data |
US8145881B2 (en) | 2001-03-05 | 2012-03-27 | Martin Vorbach | Data processing device and method |
US20040243984A1 (en) * | 2001-06-20 | 2004-12-02 | Martin Vorbach | Data processing method |
US7657877B2 (en) | 2001-06-20 | 2010-02-02 | Pact Xpp Technologies Ag | Method for processing data |
US7996827B2 (en) * | 2001-08-16 | 2011-08-09 | Martin Vorbach | Method for the translation of programs for reconfigurable architectures |
US8869121B2 (en) | 2001-08-16 | 2014-10-21 | Pact Xpp Technologies Ag | Method for the translation of programs for reconfigurable architectures |
US20030056202A1 (en) * | 2001-08-16 | 2003-03-20 | Frank May | Method for translating programs for reconfigurable architectures |
US8407525B2 (en) | 2001-09-03 | 2013-03-26 | Pact Xpp Technologies Ag | Method for debugging reconfigurable architectures |
US20050053056A1 (en) * | 2001-09-03 | 2005-03-10 | Martin Vorbach | Router |
US8209653B2 (en) | 2001-09-03 | 2012-06-26 | Martin Vorbach | Router |
US8686549B2 (en) | 2001-09-03 | 2014-04-01 | Martin Vorbach | Reconfigurable elements |
US20090037865A1 (en) * | 2001-09-03 | 2009-02-05 | Martin Vorbach | Router |
US8429385B2 (en) | 2001-09-03 | 2013-04-23 | Martin Vorbach | Device including a field having function cells and information providing cells controlled by the function cells |
US20030046607A1 (en) * | 2001-09-03 | 2003-03-06 | Frank May | Method for debugging reconfigurable architectures |
US8069373B2 (en) | 2001-09-03 | 2011-11-29 | Martin Vorbach | Method for debugging reconfigurable architectures |
US7840842B2 (en) | 2001-09-03 | 2010-11-23 | Martin Vorbach | Method for debugging reconfigurable architectures |
US20050022062A1 (en) * | 2001-09-03 | 2005-01-27 | Martin Vorbach | Method for debugging reconfigurable architectures |
US8686475B2 (en) | 2001-09-19 | 2014-04-01 | Pact Xpp Technologies Ag | Reconfigurable elements |
US20040249880A1 (en) * | 2001-12-14 | 2004-12-09 | Martin Vorbach | Reconfigurable system |
US8281108B2 (en) | 2002-01-19 | 2012-10-02 | Martin Vorbach | Reconfigurable general purpose processor having time restricted configurations |
US8127061B2 (en) | 2002-02-18 | 2012-02-28 | Martin Vorbach | Bus systems and reconfiguration methods |
US20060075211A1 (en) * | 2002-03-21 | 2006-04-06 | Martin Vorbach | Method and device for data processing |
US8156284B2 (en) | 2002-08-07 | 2012-04-10 | Martin Vorbach | Data processing method and device |
US8281265B2 (en) | 2002-08-07 | 2012-10-02 | Martin Vorbach | Method and device for processing data |
US20060248317A1 (en) * | 2002-08-07 | 2006-11-02 | Martin Vorbach | Method and device for processing data |
US7657861B2 (en) | 2002-08-07 | 2010-02-02 | Pact Xpp Technologies Ag | Method and device for processing data |
US8914590B2 (en) | 2002-08-07 | 2014-12-16 | Pact Xpp Technologies Ag | Data processing method and device |
US8310274B2 (en) | 2002-09-06 | 2012-11-13 | Martin Vorbach | Reconfigurable sequencer structure |
US8803552B2 (en) | 2002-09-06 | 2014-08-12 | Pact Xpp Technologies Ag | Reconfigurable sequencer structure |
US20060192586A1 (en) * | 2002-09-06 | 2006-08-31 | Martin Vorbach | Reconfigurable sequencer structure |
US20080191737A1 (en) * | 2002-09-06 | 2008-08-14 | Martin Vorbach | Reconfigurable sequencer structure |
US7782087B2 (en) | 2002-09-06 | 2010-08-24 | Martin Vorbach | Reconfigurable sequencer structure |
US7928763B2 (en) | 2002-09-06 | 2011-04-19 | Martin Vorbach | Multi-core processing system |
US20070011433A1 (en) * | 2003-04-04 | 2007-01-11 | Martin Vorbach | Method and device for data processing |
US8812820B2 (en) | 2003-08-28 | 2014-08-19 | Pact Xpp Technologies Ag | Data processing device and method |
US20070123091A1 (en) * | 2005-11-18 | 2007-05-31 | Swedberg Benjamin D | 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 |
US9632940B2 (en) | 2012-02-01 | 2017-04-25 | Zte Corporation | Intelligence cache and intelligence terminal |
Also Published As
Publication number | Publication date |
---|---|
EP1198888A4 (en) | 2002-10-02 |
WO2001001575A1 (en) | 2001-01-04 |
AU5899100A (en) | 2001-01-31 |
US6347346B1 (en) | 2002-02-12 |
WO2001001575A9 (en) | 2002-07-25 |
EP1198888A1 (en) | 2002-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20020038414A1 (en) | Address generator for local system memory in reconfigurable logic chip | |
US6519674B1 (en) | Configuration bits layout | |
US5280594A (en) | Architecture for high speed contiguous sequential access memories | |
US6327175B1 (en) | Method and apparatus for controlling a memory array with a programmable register | |
EP0424618A2 (en) | Input/output system | |
US7386689B2 (en) | Method and apparatus for connecting a massively parallel processor array to a memory array in a bit serial manner | |
US5056013A (en) | In-circuit emulator | |
US20030005255A1 (en) | Method and system for fast data access using a memory array | |
KR920003858B1 (en) | Logic operation circuit | |
US6259648B1 (en) | Methods and apparatus for implementing pseudo dual port memory | |
US20030097526A1 (en) | High-speed first-in-first-out buffer | |
JPH10506495A (en) | Synchronous SRAM with memory expansion logic | |
JPH07325754A (en) | Memory device with page selection function | |
JPH0798655A (en) | Method and apparatus for decoding of data access instruction | |
JPH04358252A (en) | Workstation and consituting method thereof | |
JP2549601B2 (en) | Register control circuit | |
US5841731A (en) | Semiconductor device having externally settable operation mode | |
US9837133B1 (en) | Address arithmetic on block RAMs | |
US6442657B1 (en) | Flag generation scheme for FIFOs | |
US20010008490A1 (en) | Semiconductor integrated circuit | |
KR100261154B1 (en) | Dma controller | |
US6901490B2 (en) | Read/modify/write registers | |
US6804166B2 (en) | Method and apparatus for operating a semiconductor memory at double data transfer rate | |
JP3078000B2 (en) | Information processing device | |
US6654308B1 (en) | Memory having multiple write ports and multiple control memory units, and method of operation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: CHAMELEON SYSTEMS, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:TAYLOR, BRADLEY L.;LAI, GARY N.;REEL/FRAME:012357/0025 Effective date: 20011119 |
|
AS | Assignment |
Owner name: INTEL CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CHAMELEON SYSTEMS, INC.;REEL/FRAME:013747/0394 Effective date: 20030331 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |