摘要:
A configurable logic element (CLE) for a field programmable gate array (FPGA) includes “expanders”, i.e., connectors that allow fast signal communication between logic blocks. Expanders allow the configurable interconnection of a plurality of logic blocks, or portions thereof, to form a single logical entity that can implement large user circuits such as PALs, lookup tables, multiplexers, tristate buffers, and memories. One embodiment includes a configurable logic block. In a first mode, the logic block provides two N-input LUTs having N shared inputs and two separate outputs. The outputs are then combined using an expander to generate an (N+1)-input function. In a second mode, the logic block provides two N-input LUTs having M unshared inputs. An optional third mode provides a plurality of product term output signals based on the values of the N input signals.
摘要:
A logic element for a programmable logic device (PLD) can be configured as a shift register of variable length. An array of memory cells in the logic element is divided into two or more portions. The memory cells of each portion supply values to a corresponding output multiplexing circuit, thereby enabling the logic element to function as a lookup table by combining the outputs of the multiplexing circuits. However, each portion is also configurable as a shift register. The portions can function as separate shift registers, or can be concatenated to function as a single shift register. In some embodiments, the portions can also be concatenated with shift registers in other logic elements. Because two or more output multiplexing circuits are available, two or more taps are provided, one from each portion of the memory array.
摘要:
In an FPGA having a tristate bus structure formed by a multiplexer chain extending across a plurality of logic units, a programmable function generator is provided to interface between the input and enable signal lines of logic units and the corresponding multiplexer's input and control terminals and is coupled to receive a mode control signal. When the mode control signal is in a first logic state, the function generator couples the input and enable signals to the corresponding multiplexer input and control terminals to emulate a tristate input bus. When the mode control signal is in a second logic state, the function generator receives first and second data signals from corresponding input and enable lines. In response thereto, the function generator couples one of the data signals to the corresponding multiplexer input terminal and provides an exclusive-OR logic function of the first and second data signals to the corresponding multiplexer control terminal. In this manner, each multiplexer stage provides a carry signal to the next multiplexer stage, thereby forming a carry path in the horizontal direction across the FPGA.
摘要:
A field programmable gate array (FPGA) having an array of configurable logic blocks (CLBs) which can be partially reconfigured. Each column of CLBs is connected to a corresponding column select line, and each row of CLBs is connected to a corresponding row select line. A rectangular set of CLBs to be reconfigured is selected, wherein the rectangular set of CLBs is defined by the intersection of one or more consecutive columns of CLBs and one or more consecutive rows of CLBs. Column select signals are asserted on the column select lines associated with the one or more consecutive columns of CLBs. Similarly, row select signals are asserted on the row select lines associated with the one or more consecutive rows of CLBs. CLBs which receive both an asserted column select signal and an asserted row select signal are enabled for reconfiguration.
摘要:
A programmable logic device (PLD) which includes a phase comparator in addition to the conventional configurable logic circuitry normally present in the PLD. The configurable logic circuitry of the PLD includes a clock distribution circuit which is configured to route a clock signal VCO.sub.OUT generated by a voltage controlled oscillator (VCO) throughout the PLD as a distributed clock signal (DIST.sub.-- CLK). The DIST.sub.-- CLK signal is used to clock the output registers which route data values out of the PLD. The DIST.sub.-- CLK signal is also provided to the phase comparator. The phase comparator is also coupled to receive a clock signal CLK.sub.IN from an external device. In response, the phase comparator generates an error signal which is representative of the phase difference between the CLK.sub.IN and DIST.sub.-- CLK signals. This error signal is provided to a loop filter. In response, the loop filter generates a control signal, which in turn, controls the frequency of the VCO.sub.OUT signal generated by the VCO. The frequency of the VCO.sub.OUT signal is controlled such that the DIST.sub.-- CLK signal is synchronized with the CLK.sub.IN signal.
摘要:
A carry logic circuit for a programmable logic device which uses a single function generator to create a carry propagate signal (P) and an output signal (S). The function generator includes a plurality of signal generation circuits, each of which is controlled by a first input signal (A) and a second input signal (B). One of the signal generation circuits is programmed to provide a desired carry propagate signal (P) in response to the first and second input signals (A,B). The carry propagate signal (P) is transmitted for use outside of the function generator to perform a carry propagation function for the carry logic circuit. The remaining signal generation circuits are programmed to generate one or more intermediate output signals in response to the first and second input signals (A,B). These intermediate output signals, in combination with carry propagate signal (P), are representative of the desired output signal (S). The function generator also includes a signal selection circuit which is coupled to the signal generation circuits. The signal selection circuit passes a signal which is selected from the group consisting of the carry propagate signal (P) and the intermediate output signals, thereby providing the output signal (S).
摘要:
A structure and method for configuring a field programmable gate array (FPGA). A configuration memory cell within the FPGA receives a programming signal. In response, the configuration memory cell provides a signal to a configuration control circuit to configure the FPGA. The configuration memory cell includes an input lead, a storage device and a selectable configuration circuit. The input lead carries the programming signal to the storage device. The storage device stores the programming signal and an inverted programming signal which is the inverse of the programming signal. The selectable configuration circuit can be selectably configured to provide the programming signal or the inverted programming signal to a first input lead of the configuration control circuit. The configuration control circuit couples (or decouples) various elements of the FPGA in response to the signal provided on the first input lead.In an alternate embodiment, the selectable configuration circuit is coupled between the input lead and the storage device. Again, the selectable configuration circuit can be selectably configured to provide the programming signal or the inverted programming signal to the first input lead of the configuration control circuit.
摘要:
A fully combinatorial floating point arithmetic apparatus is provided comprising separate fully combinatorial add/subtract and multiply assemblies which share a common normalization, rounding and exponential processing apparatus.
摘要:
A compact rectangular parallel multiplier array of Booth summation cells includes along a left edge a cell which reduces to two the number of sign-extension bits sufficient to generate subsequent intermediate products. The cell employs optimized logic circuitry which generates a sum, a carry and a guard bit for use during generation of the next most-significant intermediate product.
摘要:
A method and apparatus for transferring data in parallel from a smaller to a larger register is described, in which the larger register comprises a first and a second set of master and slave latches with a one shot employed for clocking the master latches in the first set. In operation, a first word from the smaller register is latched into the first set of master latches in response to an output from the one shot which occurs on the trailing edge of a clock pulse applied to the larger register. On the leading edge of a subsequent clock pulse applied to the larger register, a second data word is latched in the second set of master latches. Immediately thereafter the first and the second set of slave latches are opened for transferring the first and second words at their inputs to their outputs in parallel. Following the transfer of the first and second words to the outputs of the first and second set of slave latches, the slave latches close, latching the first and second words. Immediately thereafter the first and second master latches open to begin the next cycle of data transfer.