Patent ID: 7432735

Claim:
A method for switching circuits of a programmable gate array apparatus including a plurality of macrocells connected in series, each of the macrocells including: a first group of storage elements in which a first context data item of a plurality of the context data items is stored as an active context data item; and a second group of storage elements corresponding to the storage elements of the first group respectively, in which a second context data item of the context data items is stored as an idle context data item; and wherein each of the storage elements of the first and second groups is a flip flop circuit; the method comprising: inputting a load signal to the macrocells; connecting the storage elements of the second group in series when the load signal is input by connecting a data output terminal of one of the storage elements of the second group to a data input terminal of another of the storage elements which succeeds the one of the storage elements, to connect the macrocells in series via the second group in the each of the macrocells; inputting a clock signal to the macrocells; inputting, to the macrocells, a third context data item which is one of the context data items and is to be active next to the active context data item; loading, by using the clock signal, the third context data item into the second group whose storage elements are connected in series, to store the third context data item in the second group as an idle context data item; inputting a swap signal to the macrocells; connecting the storage elements of the first group to corresponding storage elements of the second group respectively when the swap signal is input, by connecting a data output terminal of one of the storage elements of the second group to a data input terminal of a corresponding storage element of the first group and connecting a data input terminal of the one of the storage elements of the second group to a data output terminal of the corresponding storage element of the first group; swapping the one of the context data items stored in the first group and the subsequent context data item stored in the second group, to store the third context data item in the first group as the active context data item and to store the first context data item in the second group as the idle context data item.