(57)【要約】      （修正有）【課題】ＦＰＧＡに含まれる論理素子やスイッチ素子等にハードエラーが発生した場合と、メモリに格納される接続情報にソフトエラーが発生した場合の両方の場合を検出し、かつ、発生しているエラーが、ソフトエラーであるかハードエラーであるかを判断する方法を提供する。【解決手段】演算回路の出力データにエラーが含まれる場合、まず演算回路に対応するメモリのアドレス領域に対して接続情報の再書き込みを行い、エラーが解消されたか否かを判定する。エラーが解消されない場合は、ＦＰＧＡに含まれる論理素子等のハードエラーと判断する。【選択図】図１０
2015119359.tif 000002
【特許請求の範囲】
【請求項１】
複数の論理素子と、
前記複数の論理素子の接続関係を規定する接続情報を格納する第１メモリと、
前記接続情報を格納する第２メモリと、
前記第１メモリに格納された前記接続情報に基づき、複数の第１論理素子により形成された第１演算回路と、
前記第２メモリに格納された前記接続情報に基づき、複数の第２論理素子により形成された第２演算回路と、
入力される２つのデータが一致しているか不一致であるかを示す信号を出力する比較回路と、
前記第１演算回路及び前記２演算回路の各々に入力された第１データに対する前記第１演算回路の出力データと前記第２演算回路の出力データを前記２つのデータとして前記比較回路から出力される前記信号が不一致を示す場合、前記第１メモリと前記第２メモリの各々に前記接続情報の書き込みを行なうメモリ書き込み回路と、
前記接続情報の書き込みによって前記複数の第１論理素子により形成された第３演算回路の出力データと、前記接続情報の書き込みによって前記複数の第２論理素子により形成された第４演算回路の出力データとが前記２つのデータとして前記比較回路により比較され、前記第３演算回路及び前記第４演算回路の各々に第２データが入力された際に、前記信号が不一致を示す状態から一致を示す状態へ変化したか否かを判定する判定回路と
を有することを特徴とする論理回路。
【請求項２】
前記接続情報を格納する第３メモリと、
複数の第３論理素子を含み、前記第３メモリに格納された前記接続情報に基づき形成された第５演算回路と、
前記第１演算回路の出力データと前記第５演算回路の出力データの一方を選択して出力する選択回路とを更に有し、
前記第１データは、前記第５演算回路にも入力され、
前記第１演算回路の出力データと前記第２演算回路の出力データとが不一致となった場合は、前記選択回路は前記第５演算回路の出力データを選択する
ことを特徴とする請求項１に記載の論理回路。
【請求項３】
第４メモリと、
第５メモリと、
前記第４メモリに格納される情報に基づいて接続状態が規定される複数の第４論理素子と、
前記第５メモリに格納される情報に基づいて接続状態が規定される複数の第５論理素子と、
を更に有し、
前記信号が不一致を示す状態から一致を示す状態へ変化しないと前記判定回路により判定された場合は、前記メモリ書き込み回路は、前記第４メモリ及び前記第５メモリの各々に前記接続情報を書込む
ことを特徴とする請求項１又は２に記載の論理回路。
【請求項４】
前記第４メモリ及び前記第５メモリの各々に前記接続情報が書込まれることにより、前記複数の第４論理素子及び前記複数の第５論理素子は各々、第６演算回路及び第７演算回路を形成し、
前記選択回路は前記第６演算回路の出力データと前記第３演算回路の出力データの一方を選択して出力し、前記比較回路は前記第６演算回路の出力データと前記第７演算回路の出力データとを比較する
ことを特徴とする請求項３に記載の論理回路。
【請求項５】
前記接続情報を格納する第６メモリを更に有し、
前記第１メモリ及び前記第２メモリへの前記接続情報の書き込みは、前記第６メモリに格納された前記接続情報を前記第１メモリ及び前記第２メモリへ書き込むことにより行われる
ことを特徴とする請求項１乃至４何れか一項に記載の論理回路。
【請求項６】
複数の論理素子を含み、前記複数の論理素子の接続関係を規定する接続情報に基づき演算回路を構成する論理回路の制御方法であって、
第１メモリに格納された前記接続情報に基づき複数の第１論理素子を用いて形成された第１演算回路と、第２メモリに格納された前記接続情報に基づき複数の第２論理素子を用いて形成された第２演算回路とに第１データを入力し、前記第１演算回路の出力データと前記第２演算回路の出力データとが一致しているか不一致であるかを示す信号を出力する工程と、
前記信号が不一致を示した場合、前記第１メモリと前記第２メモリの各々に前記接続情報を書き込む工程と、
前記接続情報の書き込みによって前記複数の第１論理素子により形成された第３演算回路の出力データと、前記接続情報の書き込みによって前記複数の第２論理素子により形成された第４演算回路の出力データとを比較し、前記第３演算回路及び前記第４演算回路の各々に第２データが入力された際に、前記信号が不一致を示す状態から一致を示す状態へ変化したか否かを判定する工程と
を有することを特徴とする論理回路の制御方法。
【請求項７】
前記第１演算回路の出力データと、第３メモリに格納された前記接続情報に基づいて複数の第３論理素子により形成された第５演算回路の出力データとの一方を選択して出力する工程を更に有する
ことを特徴とする請求項６に記載の論理回路の制御方法。
【請求項８】
前記信号が不一致を示す状態から一致を示す状態へ変化しないと判定された場合は、第４メモリ及び第５メモリの各々に前記接続情報を書込むことにより、第４メモリに書込まれた前記接続情報に基づいて複数の第４論理素子を用いて第６演算回路を形成し、第５メモリに書込まれた前記接続情報に基づいて複数の第５論理素子を用いて第７演算回路を形成する工程を更に有する
ことを特徴とする請求項６又は７に記載の論理回路の制御方法。
【請求項９】
前記第４メモリ及び前記第５メモリの各々に前記接続情報が書込まれた後、前記第６演算回路の出力データと前記第３演算回路の出力データの一方を選択して出力し、前記第６演算回路の出力データと前記第７演算回路の出力データとを比較する工程を更に有する
ことを特徴とする請求項８に記載の論理回路の制御方法。
【請求項１０】
前記第１メモリ及び前記第２メモリへの前記接続情報の書き込みは、第６メモリに格納された前記接続情報を前記第１メモリ及び前記第２メモリへ書き込むことにより行われる
ことを特徴とする請求項６乃至９何れか一項に記載の論理回路の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、論理回路及び論理回路の制御方法に関する。
【背景技術】
【０００２】
論理仕様をプログラムすることによって、種々の論理回路を実現できるロジックデバイスを総称してプログラマブルロジックデバイス（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ、ＰＬＤ）といい、例えばＦｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ（ＦＰＧＡ）が知られている。ＦＰＧＡは、複数の論理素子と、これら複数の論理素子の接続状態を可変に制御し得る配線素子及びスイッチ素子との組合せにより構成される。配線素子及びスイッチ素子は、複数の論理素子の接続関係を規定する接続情報に従い、論理素子間を接続する。この接続情報を変更することにより、ＦＰＧＡを用いて様々な論理回路を形成することができる。
【０００３】
一般にＦＰＧＡは、接続情報を格納するためのメモリを搭載している。このメモリに格納される接続情報がＦＰＧＡの複数の論理素子の接続関係を決定付ける。すなわちメモリに特定の接続情報を書き込むことにより、所望の仕様を有する論理回路を実現することができる。
【０００４】
ところが、接続情報が書き込まれたメモリに電気的ノイズ等が加わると、メモリの記憶素子に格納された論理値が反転し、接続情報が変更されてしまうというエラーが発生することがある。このエラーは、論理回路自体に物理的な故障が発生した訳ではなく、接続情報がメモリ内で誤って書き換えられてしまうものであり、ソフトエラーと呼ばれる。ＦＰＧＡに搭載されたメモリにソフトエラーが発生すると、エラー内容に対応して論理素子の接続関係が変更されてしまい、誤った論理演算が行われてしまう。
【０００５】
この問題を解決するために、メモリに格納されている接続情報を定期的に読み出し、エラーチェックとしてＣＲＣチェック等を行う技術が知られている。更に、メモリに格納されている接続情報にエラーが含まれていることを検出した場合に、メモリに再度接続情報を書き込むことによってメモリの格納内容を正しい情報に修正し、論理回路を再構成する技術が知られている（例えば、特許文献１及び特許文献２参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−２３５０７４号公報
【特許文献２】特開２００６−５３８７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ソフトエラーとは別に、ＦＰＧＡに含まれる論理素子やスイッチ素子等に物理的な故障が発生する場合がある。物理的な故障とは、例えば論理素子やスイッチ素子に含まれるトランジスタ素子が熱的影響等で破壊され、正常に作動しなくなる場合等をいう。素子の物理的な故障はハードエラーと呼ばれる。ＦＰＧＡにハードエラーが発生した場合は、メモリに接続情報が正しく格納されていたとしても、論理素子等が接続情報を反映して正しく論理回路を構成することができず、演算結果に誤りが生じることとなる。よって、特許文献１及び特許文献２のようにメモリに格納される接続情報にソフトエラーが発生したか否かを確認するだけでは、論理回路の演算結果が正しいものであることを保証することはできない。
【０００８】
本開示は、ＦＰＧＡ等のＰＬＤに含まれる論理素子やスイッチ素子等にハードエラーが発生した場合と、メモリに格納される接続情報にソフトエラーが発生した場合の両方の場合を検出し、かつ、発生しているエラーが、ソフトエラーであるかハードエラーであるかを判断する方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
開示の演算回路は、複数の論理素子と、複数の論理素子の接続関係を規定する接続情報を格納する第１メモリと、接続情報を格納する第２メモリと、第１メモリに格納された接続情報に基づき、複数の第１論理素子により形成された第１演算回路と、入力される２つのデータが一致しているか不一致であるかを示す信号を出力する比較回路と、第１演算回路及び２演算回路の各々に入力された第１データに対する第１演算回路の出力データと第２演算回路の出力データを２つのデータとして比較回路から出力される信号が不一致を示す場合、第１メモリと前記第２メモリの各々に接続情報の書き込みを行なうメモリ書き込み回路と、接続情報の書き込みによって複数の第１論理素子により形成された第３演算回路の出力データと、接続情報の書き込みによって複数の第２論理素子により形成された第４演算回路の出力データとが２つのデータとして比較回路により比較され、第３演算回路及び第４演算回路の各々に第２データが入力された際に、信号が不一致を示す状態から一致を示す状態へ変化したか否かを判定する判定回路とを有する。
【発明の効果】
【００１０】
メモリに格納される接続情報にソフトエラーが発生した場合と、ＦＰＧＡに含まれる論理素子やスイッチ素子等にハードエラーが発生した場合と両方の場合を検出し、かつ、発生しているエラーが、ソフトエラーであるかハードエラーであるかを判断することができる。
【図面の簡単な説明】
【００１１】
【図１】実施例におけるＰＬＤを含むシステムのハードウェア構成図である。
【図２】実施例におけるＦＰＧＡのプログラマブル論理回路の構成を示す図である。
【図３】実施例におけるプログラマブル論理回路により形成された論理回路の構成を示す図である。
【図４】実施例におけるメモリのアドレス領域とプログラマブル論理回路を用いて形成される論理回路との対応関係を示す図である。
【図５】実施例における論理回路の詳細を示す図である。
【図６】実施例における組合せ回路の詳細を示す図である。
【図７】実施例における現用系論理回路とメモリのアドレス領域との対応関係を示す図である。
【図８】実施例における制御回路の機能ブロック図である。
【図９】実施例における演算回路を予備回路へ切り替えた場合の組合せ回路の回路構成図である。
【図１０】実施例における制御回路の処理フローチャートである。
【図１１】実施例における判定回路が判定を行う際に用いる情報と判定結果との対応関係を示す表である。
【図１２】実施例における判定回路の回路構成の一例を示す図である。
【図１３】実施例における比較回路の回路構成の一例を示す図である。
【図１４】実施例における選択回路の回路構成の一例を示す図である。
【図１５】実施例における論理回路の変形例を示すものである。
【図１６】実施例におけるＦＰＧＡの利用形態の一例を示す図である。
【発明を実施するための形態】
【００１２】
図１は、実施例におけるＰＬＤを含むシステムのハードウェア構成図である。図１に開示されるシステムは、ＦＰＧＡ１と、ＦＰＧＡ１に接続されたＲｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）２とを有する。ＦＰＧＡ１はＰＬＤの一例である。またＲＯＭはメモリデバイスの一例であり、例えばＥｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＥＰＲＯＭ）、Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＥＥＰＲＯＭ）、フラッシュメモリ等の不揮発性メモリチップが適用可能である。ＲＯＭ２には、ＦＰＧＡ１を用いて形成する論理回路の接続情報が格納される。
【００１３】
ＦＰＧＡ１は、プログラマブル論理回路１００とメモリ２００とを有する。メモリ２００は、ＲＯＭ２に格納された接続情報が書き込まれる。プログラマブル論理回論理１００は、メモリ２００に書き込まれた接続情報に基づき所定の論理回路を構築する。
【００１４】
図２は、ＦＰＧＡ１のプログラマブル論理回路１００の構成を示す図である。プログラマブル論理回路１００には、論理素子群１０１と、配線素子群１０２と、スイッチ素子群１０３と、Ｉｎｐｕｔ  Ｏｕｔｐｕｔ（ＩＯ）素子群１０４とが含まれる。論理素子群１０１には、ＮＯＴ素子（インバータ）、ＡＮＤ素子、ＯＲ素子、ＮＡＮＤ素子、ＮＯＲ素子、ルックアップテーブル等の論理素子が含まれる。配線素子群１０２には、ポリシリコンやメタルで形成された配線素子が含まれる。スイッチ素子群１０３にはＭｅｔａｌ  Ｏｘｉｄｅ  Ｓｉｌｉｃｏｎ（ＭＯＳ）トランジスタやバイポーラトランジスタ等のスイッチ素子が含まれる。メモリ２００に書込まれた接続情報は、スイッチ素子及び配線素子を用いて論理素子をどのように接続するかを規定した情報であり、この接続情報に基づいてスイッチ素子及び配線素子を用いて論理素子を接続することにより、所望の論理回路が形成される。ＩＯ素子群１０４には、論理素子へのデータの入出力を制御するＩＯ素子が含まれる。
【００１５】
このような構成を有するＦＰＧＡ１を用いて形成された論理回路にデータを入力し、論理演算の結果を出力した場合、出力データに誤り（エラー）が発生する原因の一つとしては、論理素子の接続関係を規定する接続情報のソフトエラーが挙げられる。ＦＰＧＡ１内において論理素子の接続情報は、メモリ２００に書き込まれている。メモリ２００としては例えばＳｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＳＲＡＭ）が用いられる。ＳＲＡＭは、フリップフロップ型の記憶素子に論理値「１」又は「０」をラッチさせることでデータを保持する。ＳＲＡＭに何等かの電気的ノイズが加わると、記憶素子に格納された論理値が反転してしまう、所謂ソフトエラーが発生することがある。メモリ２００に書き込まれたデータが書き換わってしまうと、書き換わった誤データに基づいて論理素子の接続状態が変更され、論理回路が誤った演算を行うことになる。そのため、メモリ２００に書き込まれた接続情報にソフトエラーが発生した場合、格納値を正しい内容に戻すために正しい接続情報を再度メモリ２００に書き込む必要がある。
【００１６】
ＦＰＧＡ１を用いて形成された論理回路において、出力データに誤りが生じる他の原因として、論理素子等に生じた物理的な故障、所謂ハードエラーが挙げられる。これは、演算回路を構成する論理素子、例えばインバータ素子に含まれるトランジスタが故障し、入力信号に対して反転信号を出力することができなくなるような故障である。この場合、故障した素子が復旧して再度使用できるようになることはない。そのため、メモリ２００に接続情報の再度の書き込みを行っても回路を復旧させることはできず、故障した素子を他の素子と交換する必要がある。このように、論理回路の出力データに誤りが検出された場合、エラーの原因としては少なくともソフトエラーとハードエラーの二つが考えられ、復旧のための対応方法はそれぞれの原因によって異なる。
【００１７】
以下において、ＦＰＧＡ１を用いて実現される論理回路の構成例、論理回路の出力データに誤りが含まれることの検出方法、及び誤りが検出された場合の復旧方法について順に説明する。
【００１８】
図３は、図２に示したプログラマブル論理回路１００に含まれる論理素子、配線素子、スイッチ素子等により形成された論理回路の構成の一例を示す。論理回路による演算処理の可用性を高めるために論理回路を二重化し、一方を現用系論理回路１１０、他方を予備系論理回路１５０として用いる例を示している。現用系論理回路１１０は、プログラマブル論理回路１００に含まれる素子群Ａにより形成され、予備系論理回路１５０はプログラマブル論理回路１００に含まれる素子群Ｂにより形成される。ここで素子群とは、論理素子、配線素子、スイッチ素子、及びＩＯ素子を含む包括的な意味の用語として用いる。現用系論理回路１１０及び予備系論理回路１５０は、同一の接続情報により同一の回路構成を有する論理回路として形成される。そして現用系論理回路１１０及び予備系論理回路１５０には同一のデータが入力され、同一の論理演算を行う。現用系論理回路１１０の出力と予備系論理回路１５０の出力は、選択回路１６０に入力される。選択回路１６０は、現用系論理回路１１０に何等かのエラーが発生してデータ出力が行えない場合や、現用系論理回路１１０からの出力データに誤りがある場合は、出力を予備系論理回路１５０に切り替える。その後、現用系論理回路１１０についての復旧作業が行われた後に、選択回路１６０が出力を現用系論理回路１１０に切り替える。尚、選択回路１６０は、プログラマブル論理回路１００に含まれる素子群Ｃにより形成される。
【００１９】
このように、論理回路を冗長化することにより、片方の論理回路の出力データに誤りが含まれることを検出した際に、選択回路１６０により他方の論理回路の出力に切り替え、ＦＰＧＡ１全体としての出力を維持しつつ、エラーが発生した論理回路に対する対処を行なうことができる。
【００２０】
図４は、メモリ２００のアドレス領域と、プログラマブル論理回路１００を用いて形成される論理回路との対応関係を示す図である。メモリ２００のアドレス領域とプログラマブル論理回路１００の領域とは一対一に対応している。図４においてメモリ２００のアドレス領域Ａが、図３に示す素子群Ａに含まれる素子の接続関係を格納する領域である。素子群Ａに含まれる論理素子、配線素子、スイッチ素子及びＩＯ素子が、アドレス領域Ａに格納される接続情報に沿って接続され、現用系論理回路１１０が構築される。同様に、素子群Ｂに含まれる論理素子、配線素子、スイッチ素子及びＩＯ素子が、アドレス領域Ｂに格納される接続情報に沿って接続され、予備系論理回路１５０が構築される。また、素子群Ｃに含まれる論理素子、配線素子、スイッチ素子及びＩＯ素子が、アドレス領域Ｃに格納される接続情報に沿って接続され、選択回路１６０が構築される。
【００２１】
図５は、図３に示す現用系論理回路１１０又は予備系論理回路１５０の詳細な回路構成を示す図である。ここでは現用系回路１１０を例として説明するが、予備系論理回路１５０にも適用可能である。現用系論理回路１１０はフリップフロップ回路（以下ＦＦ回路）１１１及び１１２と、組合せ回路１１３とを含む。ＦＦ回路１１１及び１１２は、クロックに同期して入力データのラッチを行い、またクロックに同期してラッチされたデータの出力を行う回路であり、例えばＤ型ＦＦ回路やＲＳ型ＦＦ回路等が適用可能である。組合せ回路１１３は、入力されるデータの状態に応じて出力データが確定する回路であり、例えばＡＮＤ素子やＯＲ素子等を組合せて形成される。
【００２２】
図５に示す例では、ＦＦ回路１１１及びＦＦ回路１１２は組合せ回路１１３の前段及び後段に配置される。現用系論理回路１１０に入力されたデータはＦＦ回路１１１によりラッチされる。ＦＦ回路１１１にラッチされたデータは組合せ回路１１３に入力され、組合せ回路１１３は受信したデータに対する演算結果をＦＦ回路１１２に出力する。ＦＦ回路１１２は組合せ回路１１３から受信した演算結果をラッチする。尚、ＦＦ回路１１２の後に更に別の組合せ回路を設けてもよい。
【００２３】
図６は、図５にて開示した組合せ回路１１３を更に詳細に示す図である。組合せ回路１１３は、第１演算回路１１４と、第２演算回路１１５と、第１予備回路１１６と、第２予備回路１１７と、比較回路１１８と、制御回路１１９とを有する。第１演算回路１１４は素子群Ａ−１を用いて形成され、第２演算回路１１５は素子群Ａ−２を用いて形成される。第１予備回路は素子群Ａ−３を用いて形成され、第２予備回路は素子群Ａ−４を用いて形成される。比較回路１１８は素子群Ａ−５を用いて形成され、制御回路１１９は素子群Ａ−６を用いて形成される。
【００２４】
第１演算回路１１４と第２演算回路１１５とは互いに並列に設けられ、同一の入力データを受信する。また第１演算回路１１４及び第２演算回路１１５は、後述するメモリ２００のアドレス領域Ａ−１とアドレス領域Ａ−２に書込まれた同一の接続情報に基づいて形成される演算回路であり、ソフトエラーまたはハードエラーが発生しない限りは同一の出力データを出力する。
【００２５】
第１予備回路１１６は、第１演算回路１１４に含まれる論理素子等にハードエラーが発生した場合に、第１演算回路１１４の代わりとして用いられる。同様に第２予備回路１１７は、第２演算回路１１５に含まれる論理素子等にハードエラーが発生した場合に、第２演算回路１１５の代わりとして用いられる。そのため、第１演算回路１１４に含まれる論理素子等にハードエラーが発生していない場合は、第１予備回路１１６は入力データを受けても演算処理は行わず、また演算結果も出力しない。同様に第２演算回路１１５に含まれる論理素子等にハードエラーが発生していない場合は、第２予備回路１１７は入力データを受けても演算処理は行わず、また演算結果も出力しない。
【００２６】
比較回路１１８は、第１演算回路１１４の出力データと第２演算回路１１５の出力データを比較し、両データの値が不一致である場合にエラー信号を出力する。すなわち比較回路１１８は、第１演算回路１１４及び第２演算回路１１５の何れか少なくとも一方にハードエラーが発生した場合、又はメモリ２００のアドレス領域Ａ−１及びアドレス領域Ａ−２の何れか少なくとも一方にソフトエラーが発生した場合にエラー信号を生成する回路である。制御回路１１９は、比較回路１１８からエラー信号を受け、エラー種別の判定やエラーに対する復旧作業を行う。
【００２７】
尚、図示はしないが、入力データを第１演算回路１１４と第２演算回路１１５に入力させるか、又は、入力データを第１予備回路１１６と第２予備回路１１７に入力させるかを切り替える第１切り替え回路を更に設けてもよい。また、図示はしないが、第１演算回路１１４の出力と第２演算回路１１５の出力を比較回路１１８に入力させるか、又は、第１予備回路１１６の出力と第２予備回路１１７の出力を比較回路１１８に入力させるかを切り替える第２切り替え回路を更に設けてもよい。
【００２８】
図７は、図６に示す組合せ回路１１３と、メモリ２００のアドレス領域との対応関係を示す図である。図７に示されるアドレス領域は、図４に示されるアドレス領域Ａの詳細に相当する。アドレス領域Ａ−１には、第１演算回路１１４を構成する素子群Ａ−１の接続情報が書き込まれ、アドレス領域Ａ−２には、第２演算回路１１５を構成する素子群Ａ−２の接続情報が書き込まれる。アドレス領域Ａ−３には、第１予備回路１１６を構成する素子群Ａ−３の接続情報が書き込まれ、アドレス領域Ａ−４には、第２予備回路１１７を構成する素子群Ａ−４の接続情報が書き込まれる。アドレス領域Ａ−５には比較回路１１８を構成する素子群Ａ−５の接続情報が書き込まれ、アドレス領域Ａ−６には制御回路１１９を構成する素子群Ａ−６の接続情報が書き込まれる。このように、プログラマブル論理回路１００の素子群とメモリ２００のアドレス領域とは一対一に対応しており、例えばアドレス領域Ａ−１にソフトエラーが発生すると第１演算回路１１４の接続状態が変更され、アドレス領域Ａ−２にソフトエラーが発生すると第２演算回路１１５の接続状態が変更される。
【００２９】
図８は、制御回路１１９の機能ブロック図である。制御回路１１９は、比較回路１１８からエラー信号を受信して各種の制御を行う。制御回路１１９はフラグレジスタ１２０と、判定回路１２１と、メモリ書き込み回路１２２とを有する。フラグレジスタ１２０は、比較回路１１８からエラー信号を受信した後に、エラーフラグを生成して格納するレジスタである。またフラグレジスタ１２０は、比較回路１１８からのエラー信号が解消された後に、エラーフラグを消去する。判定回路１２１は、比較回路１１８が出力するエラー信号及びフラグレジスタ１２０の格納値に基づいて判定を行う回路である。メモリ書き込み回路１２２は、判定回路１２１の判定結果に基づき、メモリ２００のアドレス領域Ａ−１やアドレス領域Ａ−２、アドレス領域Ａ−３やアドレス領域Ａ−４に接続情報を書き込む制御を行う。尚、フラグレジスタ１２０におけるエラーフラグの格納及び消去は、判定回路１２１による判定動作の後に行われる。
【００３０】
次に、フラグレジスタ１２０、判定回路１２１、メモリ書き込み回路１２２の動作について説明する。まず、第１演算回路１１４及び第２演算回路１１５に関してソフトエラーもハードエラーも発生せず、第１演算回路１１４と第２演算回路１１５が同一の演算結果を出力している状態を仮定する。この場合、比較回路１１８からはエラー信号は出力されておらず、フラグレジスタ１２０にはエラーフラグは格納されていない。この状態において第１演算回路１１４又は第２演算回路１１５にソフトエラー又はハードエラーが発生すると、比較回路１１８はエラー信号を生成して出力する。判定回路１２１は、エラー信号を受けた際、その時点におけるフラグレジスタ１２０の内容を読み出す。上述の仮定のように、この時点では未だフラグレジスタ１２０にはエラーフラグが格納されていない。そのため判定回路１２１は、それまでは第１演算回路１１４又は第２演算回路１１５にエラーが無く、その時点においてエラーが発生したと判定する。この判定結果に基づき、メモリ書き込み回路１２２は、第１演算回路１１４及び第２演算回路１１５のそれぞれに対応するアドレス領域Ａ−１とアドレス領域Ａ−２に、接続情報の再書き込みを行う。これは、エラーがソフトエラーであれば、接続情報を再度書き込むことによってエラー状態から正常状態に復帰させることができるからである。そしてフラグレジスタ１２０にはエラーフラグが格納される。
【００３１】
アドレス領域Ａ−１及びアドレス領域Ａ−２への接続情報の再書き込みによって、比較回路１１８からのエラー信号の出力が終了した場合は、判定回路１２１は、エラー状態から回復したと判定する。すなわち判定回路１２１は、比較回路１１８からのエラー信号が０であり、フラグレジスタ１２０にエラーフラグが格納されている場合は、前回の判定においてはエラー信号を受信し、今回の判定においてはエラー信号を受信しなかったことをもって、エラーが解消されたと判断する。一方、接続情報の再書き込み後も比較回路１１８からエラー信号を受信した場合は、判定回路１１９は、エラーの原因がソフトエラーではなく、ハードエラーであると判定する。つまり、フラグレジスタ１２０にエラーフラグが格納されており、また比較回路１１８からもエラー信号を受信した場合は、前回の判定に引き続きエラー信号を受けたことなるため、エラーがハードエラーであると判定する。そして、第１演算回路１１４及び第２演算回路１１５に代えて、第１予備回路１１６及び第２予備回路１１７を用いて現用系論理回路１１０を再構築する。これによりソフトエラー、ハードエラーの何れの場合でも論理回路を復旧させることができる。
【００３２】
図９は、第１演算回路１１４及び第２演算回路１１５を、それぞれ第１予備回路１１６及び第２予備回路１１７へ切り替えた場合の、組合せ回路１１３の回路構成図である。ＦＦ回路１１１の出力は、第１予備回路１１６と第２予備回路１１７へ接続され、第１予備回路１１６の出力が次段のＦＦ回路１１２へ送信される。また比較回路１１８は第１予備回路１１６と第２予備回路１１７の出力結果を比較する。
【００３３】
図１０は、制御回路１１９の処理フローチャートである。制御回路１１９の処理フローは処理１０００により開始する。処理１００１において判定回路１２１は、比較回路１１８からエラー信号を受信したか否かを判定する。処理１００１において比較回路１１８からエラー信号を受信していないと判定された場合（処理１００１のＮｏ）は、処理１００２へ進む。処理１００２において判定回路１２１が、フラグレジスタ１２０にエラーフラグが格納されているか否かを判定する。処理１００２においてフラグレジスタ１２０にエラーフラグが格納されていないと判定された場合（処理１００２のＮｏ）は、処理１００９にて処理が終了する。処理１００２においてフラグレジスタ１２０にエラーフラグが格納されていると判定された場合（処理１００２のＹｅｓ）は、処理１００３へ進む。処理１００３においてフラグレジスタ１２０が、自身が格納しているエラーフラグを消去し、処理１００９にて処理が終了する。
【００３４】
また、処理１００１において比較回路１１８からエラー信号を受信したと判定された場合（処理１００１のＹｅｓ）は、処理１００４へ進む。処理１００４において判定回路１２１が、フラグレジスタ１２０にエラーフラグが格納されているか否かを判定する。処理１００４においてフラグレジスタ１２０にエラーフラグが格納されていないと判定された場合（処理１００４のＮｏ）は、処理１００５へ進む。処理１００５においてメモリ書き込み回路１２２が、第１演算回路１１４及び第２演算回路１１５に対応するアドレス領域Ａ‐１及びアドレス領域Ａ−２に、接続情報の再書き込みを行う。処理１００６においてフラグレジスタ１２０が、エラーフラグを自身に格納し、処理１００９にて処理が終了する。
【００３５】
また、処理１００４においてフラグレジスタ１２０にエラーフラグが格納されていると判定された場合（処理１００４のＹｅｓ）は、処理１００７へ進む。処理１００７においてメモリ書き込み回路１２２が、アドレス領域Ａ‐３及びアドレス領域Ａ−４に接続情報を書き込み、第１演算回路１１４及び第２演算回路１１５を第１予備回路１１６及び第２予備回路１１７でそれぞれ置き換える。処理１００８においてフラグレジスタ１２０が、自身が格納しているエラーフラグを消去し、処理１００９にて処理が終了する。
【００３６】
図１１は、判定回路１２１が判定を行う際に用いる情報と、判定結果との対応関係を示す表である。ここでは、第１演算回路１１４と第２演算回路１１５の出力結果が同一である場合に比較回路１１８は論理値「０」を出力し、第１演算回路１１４と第２演算回路１１５の出力結果が相違する場合に比較回路１１８は、エラー信号として論理値「１」を出力するものとする。またフラグレジスタ１２０は、エラー信号を受信した場合には、エラーフラグとして論理値「１」を格納し、エラー信号が解消された場合は論理値「０」を格納するものとする。
【００３７】
図１１において、比較回路１１８の出力が論理値「０」であって、かつフラグレジスタ１２０の格納値も論理値「０」である場合は、第１演算回路１１４及び第２演算回路１１５にはエラーが発生しておらず、継続して使用可能と判断する。またフラグレジスタ１２０の更新も行わない。
【００３８】
比較回路１１８の出力が論理値「１」であり、フラグレジスタ１２０の格納値が論理値「０」である場合は、第１演算回路１１４又は第２演算回路１１５に何等かのエラーが発生したと判定する。この場合、第１演算回路１１４に対応するアドレス領域Ａ−１及び第２演算回路１１５に対応するアドレス領域Ａ−２への接続情報の再書き込みが行われる。また、フラグレジスタ１２０の格納値は論理値「１」に更新される。
【００３９】
比較回路１１８の出力値が論理値「０」であり、フラグレジスタ１２０の格納値が論理値「１」である場合は、第１演算回路１１４または第２演算回路１１５に生じていたエラーがソフトエラーであって、そのソフトエラーは解消されたと判定する。この場合は、フラグレジスタ１２０の格納値は論理値「０」に更新される。
【００４０】
比較回路１１８の出力値が論理値「１」であり、フラグレジスタ１２０の格納値が論理値「１」である場合は、第１演算回路１１４または第２演算回路１１５に発生したエラーが、ソフトエラーではなくハードエラーであると判定する。この場合は、第１演算回路１１４が第１予備回路１１６に、第２演算回路１１５が第２予備回路１１７にそれぞれ置き換えられる。またフラグレジスタ１２０の格納値は論理値「０」に更新される。
【００４１】
図１２は、判定回路１２１の回路構成の一例を示す図である。判定回路１２１には、判定を行うための情報として、フラグレジスタ１２０の格納値と、比較回路１１８の出力値が入力される。判定回路１２１はＡＮＤ回路１２１ａ、１２１ｂ、１２１ｃ、１２１ｄを有する。ＡＮＤ回路１２１ａには、フラグレジスタ１２０の格納値の反転信号と、比較回路１１８の出力信号の反転値が入力される。ＡＮＤ回路１２１ａの出力が論理値「１」になる場合は、第１演算回路１１４及び第２演算回路１１５にエラーが生じていない状態が継続されていると判定される。
【００４２】
ＡＮＤ回路１２１ｂには、フラグレジスタ１２０の格納値の反転信号と、比較回路１１８の出力信号が入力される。ＡＮＤ回路１２１ｂの出力が論理値「１」になる場合は、第１演算回路１１４又は第２演算回路１１５にエラーが発生したと判定される。
【００４３】
ＡＮＤ回路１２１ｃには、フラグレジスタ１２０の格納値と、比較回路１１８の出力信号の反転信号が入力される。ＡＮＤ回路１２１ｃの出力が論理値「１」になる場合は、接続情報の再書き込みによりソフトエラーが解消されたと判定される。
【００４４】
ＡＮＤ回路１２１ｄには、フラグレジスタ１２０の格納値と、比較回路１１８の出力信号が入力される。ＡＮＤ回路１２１ｄの出力が論理値「１」になる場合は、接続情報の再書き込みによってはエラーが解消されなかったこと、すなわち第１演算回路１１４または第２演算回路１１５にハードエラーが発生していると判定される。
【００４５】
図１３は、比較回路１１８の回路構成の一例を示す図である。比較回路１１８は排他的論理和回路１１８ａとラッチ回路１１８ｂとを有する。排他的論理和回路１１８ａは、入力される複数の信号の論理値が一致した場合には論理値「０」を出力し、入力される複数の信号の論理値が互いに相違する場合には論理値「１」を出力する。また排他的論理和回路１１８ａの後段に設けられるラッチ回路１１８ｂは、入力された論理値を格納して出力する。ラッチ回路１１８ｂは例えばクロックの立ち上がりエッジに同期して、入力されたデータの取り込みを行う。
【００４６】
図１４は、現用系論理回路１１０の出力データと予備系論理回路１５０の出力データの何れか一方を選択する選択回路１６０の回路構成の一例を示す図である。ここでは予備系論理回路１５０も、図６から図１３にて説明した構成と実質的に同一の構成を有するものとする。選択回路１６０は、ＮＯＴ回路１６０ａと、ＡＮＤ回路１６０ｂ、１６０ｃ、１６０ｄと、ＯＲ回路１６０ｅを有する。現用系論理回路１１０の出力データはＡＮＤ回路１６０ｃに入力される。現用系論理回路１１０のエラー信号が論理値「０」、すなわち現用系論理回路１１０の出力にエラーが発生していない場合は、ＮＯＴ回路１６０ａの出力は論理値「１」となり、ＡＮＤ回路１６０ｃは現用系論理回路１１０の出力データを出力する。この場合、ＡＮＤ回路１６０ｂ及びＡＮＤ回路１６０ｄの出力は論理値「０」に固定され、最終段のＯＲ回路１６０ｅからは現用系論理回路１１０の出力データが出力されることになる。
【００４７】
一方、現用系論理回路１１０のエラー信号が論理値「１」である場合、すなわち現用系論理回路１１０の出力にエラーが発生している場合は、ＮＯＴ回路１６０ａの出力は論理値「０」となり、ＡＮＤ回路１６０ｃの出力は論理値「０」に固定される。この場合、現用系論理回路１１０のエラー信号が論理値「１」であるので、予備系論理回路１５０のエラー信号が論理値「０」であれば、ＡＮＤ回路１６０ｂの出力は論理値「１」に固定され、ＡＮＤ回路１６０ｄは予備系論理回路１５０の出力データを出力し、ＯＲ回路１６０ｅから予備系論理回路１５０の出力データが出力される。
【００４８】
図１５は、図５及び図６にて示した論理回路の変形例を示すものである。既に説明した構成と同一の構成については同一の参照符号を付し、説明を省略する。組合せ回路１１３の前段に設けられるＦＦ回路１１１は、素子群Ａ−９に含まれる論理素子等を接続することにより形成される。素子群Ａ−９の接続関係は、メモリ２００の所定のアドレス領域にＦＦ回路１１１用の接続関係を書き込むことによって規定される。そのため、ＦＦ回路１１１の接続情報にソフトエラーが発生する場合も想定される。ＦＦ回路１１１の接続情報にソフトエラーが発生すると、ＦＦ回路１１１に入力されるデータと、ＦＦ回路１１１から出力されるデータが相違することになる。そこで本変形例では、ＦＦ回路１１１へのデータの送信元にエラー検出符号付加回路１３２を設けることにより、データにエラー検出符号を付加する。そして、ＦＦ回路１１１の後段にエラー検出回路１３０を設け、ＦＦ回路１１１にてエラーが発生した場合にもエラーを検出できるようにした。エラー検出符号付加回路１３２は素子群Ａ−８により形成され、エラー検出回路１３０は素子群Ａ−７により形成される。エラー検出符号としては、ＣＲＣ符号やパリティー符号が適用可能である。また、エラー検出に加えてエラー訂正をおこなうことが可能なエラー検出符号も本変形例に適用可能である。この変形例では、比較回路１１８又はエラー検出回路１３０の少なくとも一方においてエラーが検出された場合に、制御回路１１９は図１０にて説明した処理フローを実行する。この場合、第１演算回路１１４及び第２演算回路１１５に対応するアドレス領域Ａ−１及びＡ−２に演算回路の接続情報の再書き込みが行われ、更にＦＦ回路１１１に対応するアドレス領域に対してもＦＦ回路１１１の接続情報の再書き込みが行われる。尚、図示はしないが、ＦＦ回路１１１に対する予備回路を設けておけば、ＦＦ回路１１１を構成する素子にハードエラーが発生した場合に、ＦＦ回路１１１を予備回路へ置き換えることができる。
【００４９】
図１６は、開示のＦＰＧＡ１の利用形態の一例を示す図である。図１６に示す例では、ＦＰＧＡ１は、ブレードサーバ等のコンピュータ１０に搭載され、ストレージデバイスであるＳｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ（ＳＳＤ）３や、主記憶メモリであるＤｕａｌ  Ｉｎｌｉｎｅ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ（ＤＩＭＭ）４のコントローラとして用いられる。コンピュータ１０は、ＮＩＣ５を介して他のコンピュータ、例えば管理サーバに接続される。ＦＰＧＡ１は、ＮＩＣ５を介して受信したデータの、ＳＳＤ３やＤＩＭＭ４への書き込みや、ＳＳＤ３とＤＩＭＭ４との間でのデータの読み出しや書き込みを行う。
【００５０】
ここまで、実施例としてＦＰＧＡ１の構成と動作について説明したが、本発明は開示の実施例に限定されるものではない。例えばメモリ２００としては、実施例にて説明したＳＲＡＭ以外にも、素子の接続情報を格納し得るメモリデバイスであれば適用可能である。また、実施例において説明した複数のアドレス領域は、それぞれが個別のメモリ内に構成されてもよく、また共通のメモリ内の異なるアドレス空間を用いて構成してもよい。また、本開示においては、選択回路１６０、ＦＦ回路１１１、ＦＦ回路１１２、比較回路１１８、制御回路１１９、エラー検出符号付加回路１３２及びエラー検出回路１３０が、プログラマブル論理回路１１０に含まれる素子群を用いて形成される例を示した。しかしこれらの回路は必ずしもプログラマブル論理回路を用いて形成される必要はなく、ＦＰＧＡ１の製造段階において固定的に形成された専用の回路であってもよい。
【００５１】
また、実施例においては、現用系論理回路１１０と予備系論理回路１５０を用いた冗長化された論理回路を例として説明したが、論理回路が冗長化されることは本発明には必須ではない。本発明は、予備系論理回路１５０を有しない論理回路に対しても、ソフトエラーとハードエラーの両方を検出可能であり、また両方のエラーに対して回復作業を行うことができる点で利点を有する。
【００５２】
尚、実施例ではＦＰＧＡを例として説明したが、開示の技術はＦＰＧＡに限定されるものでははく、複数の論理素子の接続状態を接続情報に基づいて制御することができるＰＬＤに広く適用可能である。
【００５３】
開示の実施例に基づき、更に以下の付記を開示する。
（付記１）
複数の論理素子と、
前記複数の論理素子の接続関係を規定する接続情報を格納する第１メモリと、
前記接続情報を格納する第２メモリと、
前記第１メモリに格納された前記接続情報に基づき、複数の第１論理素子により形成された第１演算回路と、
前記第２メモリに格納された前記接続情報に基づき、複数の第２論理素子により形成された第２演算回路と、
入力される２つのデータが一致しているか不一致であるかを示す信号を出力する比較回路と、
前記第１演算回路及び前記２演算回路の各々に入力された第１データに対する前記第１演算回路の出力データと前記第２演算回路の出力データを前記２つのデータとして前記比較回路から出力される前記信号が不一致を示す場合、前記第１メモリと前記第２メモリの各々に前記接続情報の書き込みを行なうメモリ書き込み回路と、
前記接続情報の書き込みによって前記複数の第１論理素子により形成された第３演算回路の出力データと、前記接続情報の書き込みによって前記複数の第２論理素子により形成された第４演算回路の出力データとが前記２つのデータとして前記比較回路により比較され、前記第３演算回路及び前記第４演算回路の各々に第２データが入力された際に、前記信号が不一致を示す状態から一致を示す状態へ変化したか否かを判定する判定回路と
を有することを特徴とする論理回路。
（付記２）
前記接続情報を格納する第３メモリと、
複数の第３論理素子を含み、前記第３メモリに格納された前記接続情報に基づき形成された第５演算回路と、
前記第１演算回路の出力データと前記第５演算回路の出力データの一方を選択して出力する選択回路とを更に有し、
前記第１データは、前記第５演算回路にも入力され、
前記第１演算回路の出力データと前記第２演算回路の出力データとが不一致となった場合は、前記選択回路は前記第５演算回路の出力データを選択する
ことを特徴とする付記１に記載の論理回路。
（付記３）
第４メモリと、
第５メモリと、
前記第４メモリに格納される情報に基づいて接続状態が規定される複数の第４論理素子と、
前記第５メモリに格納される情報に基づいて接続状態が規定される複数の第５論理素子と、
を更に有し、
前記信号が不一致を示す状態から一致を示す状態へ変化しないと前記判定回路により判定された場合は、前記メモリ書き込み回路は、前記第４メモリ及び前記第５メモリの各々に前記接続情報を書込む
ことを特徴とする付記１又は２に記載の論理回路。
（付記４）
前記第４メモリ及び前記第５メモリの各々に前記接続情報が書込まれることにより、前記複数の第４論理素子及び前記複数の第５論理素子は各々、第６演算回路及び第７演算回路を形成し、
前記選択回路は前記第６演算回路の出力データと前記第３演算回路の出力データの一方を選択して出力し、前記比較回路は前記第６演算回路の出力データと前記第７演算回路の出力データとを比較する
ことを特徴とする付記３に記載の論理回路。
（付記５）
前記接続情報を格納する第６メモリを更に有し、
前記第１メモリ及び前記第２メモリへの前記接続情報の書込みは、前記第６メモリに格納された前記接続情報を前記第１メモリ及び前記第２メモリへ書き込むことにより行われる
ことを特徴とする付記１乃至４何れか一に記載の論理回路。
（付記６）
前記接続情報を格納する第６メモリを更に有し、
前記第４メモリ及び前記第５メモリへの前記接続情報の書き込みは、前記第６メモリに格納された前記接続情報を前記第４メモリ及び前記第５メモリへ書き込むことにより行われる
ことを特徴とする付記３又は４に記載の論理回路。
（付記７）
前記第１メモリ、前記第２メモリ、前記第３メモリ、前記第４メモリ、及び前記第５メモリはＳＲＡＭであり、
前記第６メモリはＲＯＭである
ことを特徴とする付記５又は６に記載の論理回路。
（付記８）
複数の論理素子を含み、前記複数の論理素子の接続関係を規定する接続情報に基づき演算回路を構成する論理回路の制御方法であって、
第１メモリに格納された前記接続情報に基づき複数の第１論理素子を用いて形成された第１演算回路と、第２メモリに格納された前記接続情報に基づき複数の第２論理素子を用いて形成された第２演算回路とに第１データを入力し、前記第１演算回路の出力データと前記第２演算回路の出力データとが一致しているか不一致であるかを示す信号を出力する工程と、
前記信号が不一致を示した場合、前記第１メモリと前記第２メモリの各々に前記接続情報を書き込む工程と、
前記接続情報の書き込みによって前記複数の第１論理素子により形成された第３演算回路の出力データと、前記接続情報の書き込みによって前記複数の第２論理素子により形成された第４演算回路の出力データとを比較し、前記第３演算回路及び前記第４演算回路の各々に第２データが入力された際に、前記信号が不一致を示す状態から一致を示す状態へ変化したか否かを判定する工程と
を有することを特徴とする論理回路の制御方法。
（付記９）
前記第１演算回路の出力データと、第３メモリに格納された前記接続情報に基づいて複数の第３論理素子により形成された第５演算回路の出力データとの一方を選択して出力する工程を更に有する
ことを特徴とする付記８に記載の論理回路の制御方法。
（付記１０）
前記信号が不一致を示す状態から一致を示す状態へ変化しないと判定された場合は、第４メモリ及び第５メモリの各々に前記接続情報を書込むことにより、第４メモリに書込まれた前記接続情報に基づいて複数の第４論理素子を用いて第６演算回路を形成し、第５メモリに書込まれた前記接続情報に基づいて複数の第５論理素子を用いて第７演算回路を形成する工程を更に有する
ことを特徴とする付記８又は９に記載の論理回路の制御方法。
（付記１１）
前記第４メモリ及び前記第５メモリの各々に前記接続情報が書込まれた後、前記第６演算回路の出力データと前記第３演算回路の出力データの一方を選択して出力し、前記第６演算回路の出力データと前記第７演算回路の出力データとを比較する工程を更に有する
ことを特徴とする付記１０に記載の論理回路の制御方法。
（付記１２）
前記第１メモリ及び前記第２メモリへの前記接続情報の書き込みは、第６メモリに格納された前記接続情報を前記第１メモリ及び前記第２メモリへ書き込むことにより行われる
ことを特徴とする付記８乃至１１何れか一に記載の論理回路の制御方法。
（付記１３）
前記第４メモリ及び前記第５メモリへの前記接続情報の書き込みは、第６メモリに格納された前記接続情報を前記第４メモリ及び前記第メモリへ書き込むことにより行われる
ことを特徴とする付記１０又は１１に記載の論理回路の制御方法。
（付記１４）
前記第１メモリ、前記第２メモリ、前記第３メモリ、前記第４メモリ、及び前記第５メモリはＳＲＡＭであり、
前記第６メモリはＲＯＭである
ことを特徴とする付記１２又は１３に記載の論理回路の制御方法。
【符号の説明】
【００５４】
１  ＦＰＧＡ
２  ＲＯＭ
３  ＳＳＤ
４  ＤＩＭＭ
５  ＮＩＣ
１０  コンピュータ
１００  プログラマブル論理回路
１０１  論理素子群
１０２  配線素子群
１０３  スイッチ素子群
１０４  ＩＯ素子群
１１０  現用系論理回路
１５０  予備系論理回路
１６０  選択回路
１１１、１１２  ＦＦ回路
１１３  組合せ回路
１１４  第１演算回路
１１５  第２演算回路
１１６  第１予備回路
１１７  第２予備回路
１１８  比較回路
１１８ａ  排他的論理和回路
１１８ｂ  ラッチ回路
１１９  制御回路
１２０  フラグレジスタ
１２１  判定回路
１２１ａ、１２１ｂ、１２１ｃ、１２１ｄ  ＡＮＤ回路
１２２  メモリ書き込み回路
１６０  選択回路
１６０ａ  ＮＯＴ回路
１６０ｂ、１６０ｃ、１６０ｄ  ＡＮＤ回路
１６０ｅ  ＯＲ回路
２００  メモリ
【図１】
2015119359.tif 000003
【図２】
2015119359.tif 000004
【図３】
2015119359.tif 000005
【図４】
2015119359.tif 000006
【図５】
2015119359.tif 000007
【図６】
2015119359.tif 000008
【図７】
2015119359.tif 000009
【図８】
2015119359.tif 000010
【図９】
2015119359.tif 000011
【図１０】
2015119359.tif 000012
【図１１】
2015119359.tif 000013
【図１２】
2015119359.tif 000014
【図１３】
2015119359.tif 000015
【図１４】
2015119359.tif 000016
【図１５】
2015119359.tif 000017
【図１６】
2015119359.tif 000018