Abstract Programmable logic devices which include multiple blocks of combinatorial function generators and storage elements, and which are interconnected by a programmable interconnect structure are used, among other things for performing arithmetic functions which use logic for generating the carry function. When a large number of bits is to be processed, the carry function typically causes significant delay or requires significant additional components to achieve a result at high speed. The present invention provides dedicated hardware within the logic blocks for performing the carry function quickly and with a minimum number of components. The circuit includes additional structures to allow the fast carry hardware to perform additional commonly used functions. In some embodiments, the circuit also includes structures which allow efficient implementation of a loadable counter and related applications.
A programmable logic device comprising a sequence of logic blocks, each logic block having at least one circuit comprising: an input terminal for providing an input signal (A i or Al i ); a ripple-in terminal (C i ) and a ripple-out terminal (C i+1 ); a ripple-chain multiplexer (923) for connecting one of said input terminal and said ripple-in terminal to said ripple-out terminal; a function generator (903) for generating a function generator output signal which is a function of said first input signal and at least one other input signal; a flip flop (929) providing a Q output signal; means (928 or wire) for providing said function to said flip flop; and means (814 or wire) for providing a control signal (P i ) for controlling said ripple-chain multiplexer, said control signal being selected from at least said Q output signal.
Claim 2
Dependent Claim
143 words
A programmable logic device comprising a sequence of logic blocks, each logic block having at least one circuit comprising: an input terminal for providing an input signal (A i or Al i ); a ripple-in terminal (C i ) and a ripple-out terminal (C i+1 ); a ripple-chain multiplexer (923) for connecting one of said input terminal and said ripple-in terminal to said ripple-out terminal; a function generator (903) for generating a function generator output signal which is a function of said first input signal and at least one other input signal; a flip flop (929) providing a Q output signal; means (928 or wire) for providing said function to said flip flop; and means (814 or wire) for providing a control signal (P i ) for controlling said ripple-chain multiplexer, said control signal being selected from at least said Q output signal.
Claim 3
Dependent Claim
46 words
A programmable logic device as in claim 1 in which said means for providing a control signal (P i ) for controlling said ripple-chain multiplexer is a control multiplexer, said control multiplexer receiving input signals from at least said Q output signal and said function generator.
Claim 4
Dependent Claim
162 words
A programmable logic device as in claim 1 in which said means (928) for providing said function to said flip flop comprises at least one multiplexer (928) which receives on one of its input terminals said function of said first input signal and at least one other input signal; and further comprising: an XOR gate (926) connected to receive said control multiplexer output signal (P i ) and a signal on said ripple-in terminal (C i ) which generates a sum output signal (S i ), said at least one multiplexer (928) which receives on one of its input terminals said function of said first input signal and at least one other input signal also receives on another input terminal said control multiplexer output signal (P i ); and an input multiplexer (924) which provides to said function generator said at least one other input signal, said input multiplexer being connected to alternatively provide to said function generator said sum output signal.