(57)【要約】    【課題】      高い面積効率を有し、大規模な論理回路を高速に実現可能である低価格のプログラマブル論理回路を提供すること。    【解決手段】  複数の単位論理回路の各々は、プロセッサエレメント１０１及びメモリ装置１０２を具備している。プロセッサエレメント１０１は、第１の設定情報に基づいて機能の変更が可能であって入力信号に所定の論理演算処理を行ってデータを生成するロジックセル３００と、第２の設定情報に基づいて前記論理演算手段からの前記データの整列と複製と反転処理を行ってデータを生成するクロスコネクトスイッチ３０１と、有している。前記複数の単位論理回路の各々は、メモリ装置１０２から順次に読み出す前記第１及び第２の設定情報に基づいてロジックセル３００とクロスコネクトスイッチ３０１の一部又は全ての機能を順次に変更して所定の順序回路の動作を行う。  【選択図】      図１
2005057451.tif 000002
【特許請求の範囲】
【請求項１】
並列に接続されている複数の単位論理回路と、外部から受け取る入力信号を前記複数の単位論理回路に供給する入力信号制御手段と、前記複数の単位論理回路の出力信号を外部に供給する出力信号制御手段と、を具備し、前記複数の単位論理回路の各々は、第１の設定情報に基づいて機能の変更が可能であって前記入力信号に所定の論理演算処理を行ってデータを生成する論理演算手段と、第２の設定情報に基づいて前記論理演算手段からの前記データの整列と複製と反転処理を行ってデータを生成して前記出力信号として前記出力信号制御手段に与えるデータ処理手段と、前記第１及び第２の設定情報を記憶する記憶手段と、を具備し、前記複数の単位論理回路の各々は、前記記憶手段から順次に読み出す前記第１及び第２の設定情報に基づいて前記論理演算手段と前記データ処理手段の一部又は全ての機能を順次に変更して所定の順序回路の動作を行うプログラマブル論理回路。
【請求項２】
前記論理演算手段は、前記第１の設定情報に基づいて機能の変更が可能であって前記入力信号に所定の論理演算処理を行って前記データを生成するロジックセルを具備する請求項１に記載のプログラマブル論理回路。
【請求項３】
前記データ処理手段は、前記第２の設定情報に基づいて前記論理演算手段からの前記データの整列と複製と反転処理を行って前記データを生成するクロスコネクトスイッチを具備する請求項１又は請求項２に記載のプログラマブル論理回路。
【請求項４】
前記データ処理手段は、前記クロスコネクトスイッチからの前記データを保持し前記出力信号として前記出力信号制御手段に与えるフリップフロップを具備する請求項３に記載のプログラマブル論理回路。
【請求項５】
並列に接続されている複数の単位論理回路と、前記複数の単位論理回路における一の前記単位論理回路と当該一の前記単位論理回路に対して物理的配置上で隣接する他の前記単位論理回路とを接続する接続手段と、外部から受け取る入力信号を前記複数の単位論理回路に供給する入力信号制御手段と、前記複数の単位論理回路の出力信号を外部に供給する出力信号制御手段と、を具備し、前記複数の単位論理回路の各々は、第１の設定情報に基づいて機能の変更が可能であって前記入力信号又は隣接の前記他の単位論理回路からのデータに所定の論理演算処理を行ってデータを生成する論理演算手段と、第２の設定情報に基づいて前記論理演算手段からの前記データの整列と複製と反転処理を行ってデータを生成して前記出力信号として前記出力信号制御手段に与えるデータ処理手段と、前記第１及び第２の設定情報を記憶する記憶手段と、を具備し、前記複数の単位論理回路の各々は、前記記憶手段から順次に読み出す前記第１及び第２の設定情報に基づいて前記論理演算手段と前記データ処理手段の一部又は全ての機能を順次に変更して所定の順序回路の動作を行うプログラマブル論理回路。
【請求項６】
前記論理演算手段は、前記第１の設定情報に基づいて機能の変更が可能であって前記入力信号又は隣接の前記他の単位論理回路からの前記データに所定の論理演算処理を行って前記データを生成するロジックセルを具備する請求項５に記載のプログラマブル論理回路。
【請求項７】
前記データ処理手段は、前記第２の設定情報に基づいて前記論理演算手段からの前記データの整列と複製と反転処理を行って前記データを生成するクロスコネクトスイッチを具備する請求項５又は請求項６に記載のプログラマブル論理回路。
【請求項８】
前記データ処理手段は、前記クロスコネクトスイッチからの前記データを保持し前記出力信号として前記出力信号制御手段に与えるフリップフロップを具備する請求項７に記載のプログラマブル論理回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムすることにより所定の論理演算の機能を実現できるプログラマブル論理回路に関するものであり、特に、動的に内部構成を変化させながら処理を行うダイナミックプログラマブル論理回路に関するものである。
【背景技術】
【０００２】
従来のプログラマブル論理回路として、特許文献１に記載のものがある。この従来のプログラマブル論理回路は、動的相互接続アレーとラッチ回路とダイナミックロジックコアを用いて、具現化すべき回路を段階的に実行する動的再構成可能なフィールドプログラマブルロジックデバイスである。前記従来のプログラマブル論理回路においては、大規模な論理回路を実現する場合に、複数の前記プログラマブル論理回路を直列に接続して、各レベルの論理処理を順番に実行するようにしている。
【０００３】
この場合に、前記従来のプログラマブル論理回路においては、回路レベルを示す回路レベルカウンタと内部レベルを示す内部カウンタを用いて、第１のチップの内部レベルが規定のレベルまで達すると、次のチップを動作させるように制御している。すなわち、前記従来のプログラマブル論理回路においては、チップ単位に回路レベルを分割して具現化している。
【特許文献１】特表平８−５１０８８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のプログラマブル論理回路においては、より大規模な論理回路を実現しようとすると、処理並列度を１チップに収まる程度に抑える必要があるため、処理時間が増加するという問題がある。また、従来のプログラマブル論理回路においては、処理時間を短縮するため、単一のチップに含まれるダイナミックロジックモジュールの個数を増加させることで処理並列度を高めると、これに比例して動的相互接続アレーの接続点が増加し必要となる設定情報が増大するため、実装回路面積が増大してしまうという問題がある。
【０００５】
本発明は、かかる点に鑑みてなされたものであり、高い面積効率を有し、大規模な論理回路を高速に実現可能である低価格のプログラマブル論理回路を提供することを目的とする。
【課題を解決するための手段】
【０００６】
請求項１に記載の発明は、並列に接続されている複数の単位論理回路と、外部から受け取る入力信号を前記複数の単位論理回路に供給する入力信号制御手段と、前記複数の単位論理回路の出力信号を外部に供給する出力信号制御手段と、を具備し、前記複数の単位論理回路の各々は、第１の設定情報に基づいて機能の変更が可能であって前記入力信号に所定の論理演算処理を行ってデータを生成する論理演算手段と、第２の設定情報に基づいて前記論理演算手段からの前記データの整列と複製と反転処理を行ってデータを生成して前記出力信号として前記出力信号制御手段に与えるデータ処理手段と、前記第１及び第２の設定情報を記憶する記憶手段と、を具備し、前記複数の単位論理回路の各々は、前記記憶手段から順次に読み出す前記第１及び第２の設定情報に基づいて前記論理演算手段と前記データ処理手段の一部又は全ての機能を順次に変更して所定の順序回路の動作を行う構成を採る。
【０００７】
この構成によれば、複数の単位論理回路の各々が記憶手段から順次に読み出す第１及び第２の設定情報に基づいて論理演算回路とデータ処理手段の一部又は全ての機能を順次に変更して所定の順序回路の動作を行うため、高い面積効率を有し、大規模な論理回路を高速に実現可能である低価格のプログラマブル論理回路を提供することができる。
【０００８】
請求項２に記載の発明は、請求項１に記載の発明において、前記論理演算手段が、前記第１の設定情報に基づいて機能の変更が可能であって前記入力信号に所定の論理演算処理を行って前記データを生成するロジックセルを具備する構成を採る。
【０００９】
この構成によれば、複数の単位論理回路の各々が記憶手段から順次に読み出す第１及び第２の設定情報に基づいて論理演算回路とデータ処理手段の一部又は全ての機能を順次に変更して所定の順序回路の動作を行うため、高い面積効率を有し、大規模な論理回路を高速に実現可能である低価格のプログラマブル論理回路を提供することができる。
【００１０】
請求項３に記載の発明は、請求項１又は請求項２に記載の発明において、前記データ処理手段が、前記第２の設定情報に基づいて前記論理演算手段からの前記データの整列と複製と反転処理を行って前記データを生成するクロスコネクトスイッチを具備する構成を採る。
【００１１】
この構成によれば、複数の単位論理回路の各々が記憶手段から順次に読み出す第１及び第２の設定情報に基づいて論理演算回路とデータ処理手段の一部又は全ての機能を順次に変更して所定の順序回路の動作を行うため、高い面積効率を有し、大規模な論理回路を高速に実現可能である低価格のプログラマブル論理回路を提供することができる。
【００１２】
請求項４に記載の発明は、請求項３に記載の発明において、前記データ処理手段が、前記クロスコネクトスイッチからの前記データを保持し前記出力信号として前記出力信号制御手段に与えるフリップフロップを具備する構成を採る。
【００１３】
この構成によれば、複数の単位論理回路の各々が記憶手段から順次に読み出す第１及び第２の設定情報に基づいて論理演算回路とデータ処理手段の一部又は全ての機能を順次に変更して所定の順序回路の動作を行うため、高い面積効率を有し、大規模な論理回路を高速に実現可能である低価格のプログラマブル論理回路を提供することができる。
【００１４】
請求項５に記載の発明は、並列に接続されている複数の単位論理回路と、前記複数の単位論理回路における一の前記単位論理回路と当該一の前記単位論理回路に対して物理的配置上で隣接する他の前記単位論理回路とを接続する接続手段と、外部から受け取る入力信号を前記複数の単位論理回路に供給する入力信号制御手段と、前記複数の単位論理回路の出力信号を外部に供給する出力信号制御手段と、を具備し、前記複数の単位論理回路の各々は、第１の設定情報に基づいて機能の変更が可能であって前記入力信号又は隣接の前記他の単位論理回路からのデータに所定の論理演算処理を行ってデータを生成する論理演算手段と、第２の設定情報に基づいて前記論理演算手段からの前記データの整列と複製と反転処理を行ってデータを生成して前記出力信号として前記出力信号制御手段に与えるデータ処理手段と、前記第１及び第２の設定情報を記憶する記憶手段と、を具備し、前記複数の単位論理回路の各々は、前記記憶手段から順次に読み出す前記第１及び第２の設定情報に基づいて前記論理演算手段と前記データ処理手段の一部又は全ての機能を順次に変更して所定の順序回路の動作を行う構成を採る。
【００１５】
この構成によれば、複数の単位論理回路の各々が記憶手段から順次に読み出す第１及び第２の設定情報に基づいて論理演算回路とデータ処理手段の一部又は全ての機能を順次に変更して所定の順序回路の動作を行うため、高い面積効率を有し、大規模な論理回路を高速に実現可能である低価格のプログラマブル論理回路を提供することができる。
【００１６】
請求項６に記載の発明は、請求項５に記載の発明において、前記論理演算手段が、前記第１の設定情報に基づいて機能の変更が可能であって前記入力信号又は隣接の前記他の単位論理回路からの前記データに所定の論理演算処理を行って前記データを生成するロジックセルを具備する構成を採る。
【００１７】
この構成によれば、複数の単位論理回路の各々が記憶手段から順次に読み出す第１及び第２の設定情報に基づいて論理演算回路とデータ処理手段の一部又は全ての機能を順次に変更して所定の順序回路の動作を行うため、高い面積効率を有し、大規模な論理回路を高速に実現可能である低価格のプログラマブル論理回路を提供することができる。
【００１８】
請求項７に記載の発明は、請求項５又は請求項６に記載の発明において、前記データ処理手段が、前記第２の設定情報に基づいて前記論理演算手段からの前記データの整列と複製と反転処理を行って前記データを生成するクロスコネクトスイッチを具備する構成を採る。
【００１９】
この構成によれば、複数の単位論理回路の各々が記憶手段から順次に読み出す第１及び第２の設定情報に基づいて論理演算回路とデータ処理手段の一部又は全ての機能を順次に変更して所定の順序回路の動作を行うため、高い面積効率を有し、大規模な論理回路を高速に実現可能である低価格のプログラマブル論理回路を提供することができる。
【００２０】
請求項８に記載の発明は、請求項７に記載の発明において、前記データ処理手段が、前記クロスコネクトスイッチからの前記データを保持し前記出力信号として前記出力信号制御手段に与えるフリップフロップを具備する構成を採る。
【００２１】
この構成によれば、複数の単位論理回路の各々が記憶手段から順次に読み出す第１及び第２の設定情報に基づいて論理演算回路とデータ処理手段の一部又は全ての機能を順次に変更して所定の順序回路の動作を行うため、高い面積効率を有し、大規模な論理回路を高速に実現可能である低価格のプログラマブル論理回路を提供することができる。
【発明の効果】
【００２２】
以上説明したように、本発明によれば、複数の単位論理回路の各々が、記憶手段から順次に読み出す第１及び第２の設定情報に基づいて論理演算手段とデータ処理手段の一部又は全ての機能を順次に変更して所定の順序回路の動作を行うため、高い面積効率を有し、大規模な論理回路を高速に実現可能である低価格のプログラマブル論理回路を提供することができる。
【発明を実施するための最良の形態】
【００２３】
本発明の骨子は、複数の単位論理回路の各々が、記憶手段から順次に読み出す第１及び第２の設定情報に基づいて論理演算手段とデータ処理手段の一部又は全ての機能を順次に変更して所定の順序回路の動作を行うことである。
【００２４】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【００２５】
（実施の形態１）
図１は、本発明の実施の形態１に係るプログラマブル論理回路の構成を示すブロック図である。
【００２６】
図１に示すように、本発明の実施の形態１に係るプログラマブル論理回路１００は、複数のプロセッサエレメント１０１、複数のメモリ装置１０２、入出力制御部１０３、制御バス１０４、入力バス１０５及び出力バス１０６を具備している。プログラマブル論理回路１００には、クロック生成回路１０７及びユーザー回路１０８が接続されている。
【００２７】
複数のプロセッサエレメント１０１と複数のメモリ装置１０２とは、１対１で接続されている。１対１で接続されているプロセッサエレメント１０１とメモリ装置１０２とは、単位論理回路を構成している。複数の単位論理回路は、並列に接続されている。
【００２８】
複数のプロセッサエレメント１０１の各々は、１次元的に１列状に配置されており、物理配置上で隣接する２つの他のプロセッサエレメント１０１と接続線１０１ａで接続されている。すなわち、複数の単位論理回路は、１次元的に１列状に配置されており、複数の単位論理回路における一の前記単位論理回路と当該一の前記単位論理回路に対して物理的配置上で隣接する他の前記単位論理回路とは、接続線１０１ａで接続されている。
【００２９】
プロセッサエレメント１０１は、接続線を用いて隣接する２つの他のプロセッサエレメント１０１との間でデータの受け渡しを行う。
【００３０】
入出力制御部１０３は、外部とのインターフェース回路となっており、ユーザー回路１０８と接続されている。制御バス１０４は、入出力制御部１０３及びプロセッサエレメント１０１と接続されている。制御バス１０４は、初期化及び起動等の制御信号を入出力制御部１０３から受け取り、各プロセッサエレメント１０１に転送する。入力バス１０５は、入出力制御部１０３及びプロセッサエレメント１０１と接続されている。入力バス１０５は、論理演算に用いるデータを入出力制御部１０３から受け取り、各プロセッサエレメント１０１に転送する。
【００３１】
出力バス１０６は、入出力制御部１０３及びプロセッサエレメント１０１と接続されている。出力バス１０６は、演算結果のデータをプロセッサエレメント１０１から受け取り、入出力制御部１０３に転送する。クロック生成回路１０７は、内部クロック信号１０９及びユーザークロック信号１１０を生成する。ユーザークロック信号１１０は、ユーザー回路１０８及び入出力制御部１０３で使用される。内部クロック信号１０９は、ユーザークロック信号１１０の逓倍の周波数となっており、プログラマブル論理回路１００の内部で使用される。
【００３２】
次に、本プログラマブル論理回路１００の機能に関して、図面を参照して説明する。
【００３３】
図１において、プログラマブル論理回路１００が行う論理演算処理の内容は、メモリ装置１０２に設定情報として保持されている。各プロセッサエレメント１０１は、メモリ装置１０２の設定情報を順次に読み出して、対応する論理演算処理を行う。プログラマブル論理回路１００は、ユーザー回路１０８からユーザークロック信号１１０に同期して起動信号及び論理演算に用いるデータを受ける。これから一定時間経過後に、プログラマブル論理回路１００は、論理演算処理後のデータをユーザー回路１０８にユーザークロック信号１１０に同期して与える。
【００３４】
次に、プログラマブル論理回路１００の内部ブロックの機能に関して、図面を参照して説明する。
【００３５】
図１において、各メモリ装置１０２には、隣接のプロセッサエレメント１０１の設定情報が格納されている。メモリ装置１０２は、プロセッサエレメント１０１から制御信号とメモリアドレスが入力されると、アドレスで指定された設定情報をプロセッサエレメント１０１に与える。プロセッサエレメント１０１は、この設定情報に基づいて、実行する処理内容を決定する。
【００３６】
プロセッサエレメント１０１は、制御バス１０４から初期化信号が入力されると、メモリ装置１０２の特定のアドレスを読み出し、入力される読み出しデータから設定情報の格納位置アドレスを抽出して保持する。この格納位置アドレスは、設定情報の先頭位置を示すアドレスである。
【００３７】
また、プロセッサエレメント１０１は、制御バス１０４から起動信号が入力されると、メモリ装置１０２の前記保持した格納位置アドレスから順次に設定情報を読み出す。さらに、プロセッサエレメント１０１は、入力バス１０５及び隣接のプロセッサエレメント１０１から論理処理用のデータを受け取り、設定情報に基づいてデータの論理処理を行った後にデータの整列、複製及び反転処理を行い、かつ、処理後のデータの保持を行う。また、プロセッサエレメント１０１は、保持した処理後のデータを出力バス１０６及び隣接のプロセッサエレメント１０１に出力する。
【００３８】
このようにして、複数のプロセッサエレメント１０１は、データの受け渡しを行う。入出力制御部１０３は、ユーザー回路１０８からユーザークロック信号１１０に同期した起動信号及び論理処理用データを受け取り、このデータを内部クロック信号１０９に同期させて入力バス１０５に与える。また、入出力制御部１０３は、ユーザー回路１０８からユーザークロック信号１１０に同期した初期化信号を受け取り、このデータを内部クロック信号１０９に同期させて入力バス１０５に出力する。また、入出力制御部１０３は、出力バス１０６から内部クロック信号１０９に同期した論理処理後のデータを受け取り、このデータをユーザークロック信号１１０に同期させてユーザー回路１０８に出力する。このようにして、入出力制御部１０３は、ユーザー回路１０８との制御信号、論理処理用及び処理結果のデータの受け渡しを行う。
【００３９】
次に、プログラマブル論理回路１００の内部のプロセッサエレメント１０１の構成について、図面を参照して説明する。
【００４０】
図２は、プロセッサエレメント１０１の構成を示している。図２に示すように、プロセッサエレメント１０１は、ロジックエレメント２００及びメモリ制御部２０１を具備している。プロセッサエレメント１０１は、メモリ装置１０２、制御バス１０４、入力バス１０５及び出力バス１０６と接続されている。メモリ制御部２０１は、メモリ装置１０２、ロジックエレメント２００及び制御バス１０４と接続されている。ロジックエレメント２００は、隣接のプロセッサセレメント１０１のロジックエレメント２００及びメモリ制御部２０１、入力バス１０５及び出力バス１０６と接続されている。
【００４１】
次に、プロセッサエレメント１０１の機能について、図面を参照して説明する。図２において、メモリ制御部２０１は、制御バス１０４から初期化信号を受けると、前述した格納位置アドレスの抽出及び保持の処理を行う。メモリ制御部２０１は、制御バス１０４から起動信号が入力されると、メモリ装置１０２の前記保持した格納位置アドレスから順次に設定情報を読み出し、ロジックエレメント２００に転送する。
【００４２】
ロジックエレメント２００は、入力バス１０５及び隣接のプロセッサエレメント１０１からデータを受け取り、メモリ制御部２０１から転送される設定情報に基づいてデータの論理処理を行った後にデータの整列、複製及び反転処理を行い、かつ、処理後のデータの保持を行う。また、ロジックエレメント２００は、メモリ制御部２０１から転送される設定情報に基づいて、出力バス１０６及び隣接のプロセッサエレメント１０１に処理後のデータを出力する。
【００４３】
次に、プロセッサエレメント１０１の内部のロジックエレメント２００の構成及び設定情報の構成について、図面を参照して説明する。
【００４４】
図３には、ロジックエレメント２００の構成が示されている。図４には、設定情報とメモリ装置１０２の構成が示されている。
【００４５】
図３において、ロジックエレメント２００は、ロジックセル（論理演算回路）３００、クロスコネクトスイッチ（データ処理装置）３０１及びフリップフロップ３０２を具備している。ロジックエレメント２００は、メモリ制御部２０１、入力バス１０５及び出力バス１０６と接続されている。ロジックセル３００は、メモリ制御部２０１、フリップフロップ３０２及びクロスコネクトスイッチ３０１と接続されている。クロスコネクトスイッチ３０１は、メモリ制御部２０１、ロジックセル３００、フリップフロップ３０２、入力バス１０５及び隣接のロジックエレメント２００の内部のロジックセル３００と接続されている。フリップフロップ３０２は、ロジックセル３００、クロスコネクトスイッチ３０１及び出力バス１０６と接続されている。
【００４６】
なお、ロジックセル３００は、論理演算回路を構成している。また、クロスコネクトスイッチ３０１は、データ処理装置を構成している。また、クロスコネクトスイッチ３０１及びフリップフロップ３０２は、データ処理装置を構成している。
【００４７】
図４は、メモリ装置の構成を示している。図４において、メモリ装置１０２の内部の先頭部分には、設定情報の格納アドレス情報が格納されている。メモリ装置１０２の内部における先頭部分以外の特定領域には、設定情報が格納されている。
【００４８】
図４において、ビット２５〜２８はロジックセル３００の設定情報であり、ビット０〜２４はクロスコネクトスイッチ３０１の接続情報である。ビット０〜２４は、５ビット単位にクロスコネクトスイッチ３０１の５つの出力に対応する４ビットの接続情報及び１ビットの反転制御情報から構成されている。
【００４９】
次に、ロジックエレメント２００の機能について、図面を参照して説明する。図３において、ロジックセル３００は、フリップフロップ３０２から入力されるデータに対し、メモリ制御部２０１から転送される設定情報によって指定される特定の論理処理を行い、クロスコネクトスイッチ３０１、隣接のプロセッサエレメント１０１のロジックエレメント２００へ処理後のデータを出力する。クロスコネクトスイッチ３０１は、ロジックセル３００、入力バス１０５、隣接のプロセッサエレメント１０１のロジックエレメント２００から入力されるデータに対し、メモリ制御部２０１から転送される設定情報によって指定される特定のデータの整列、複製及び反転処理を行い、フリップフロップ３０２へ処理後のデータを出力する。フリップフロップ３０２は、クロスコネクトスイッチ３０１から入力されるデータを、内部クロック信号１０９のタイミングで保持する。フリップフロップ３０２は、保持したデータをロジックセル３００及び出力バス１０６に出力する。
【００５０】
次に、ロジックセル３００の機能及び動作について、具体例を用いて説明する。
【００５１】
図５において、ロジックセル３００に対し設定情報の２ビット及び入力データの２ビットが入力され、ロジックセル３００は出力データの１ビットを出力している。図６は、この場合のロジックセル３００の機能及び動作の例を示している。図６において、設定情報が００である時には、ロジックセル３００は入力データの論理和（ＯＲ）を出力する。設定情報が０１である時には、ロジックセル３００は入力データの論理積（ＡＮＤ）を出力する。設定情報が１０である時には、ロジックセル３００は入力データの排他的論理和（ＸＯＲ）を出力する。設定情報が１１である時には、ロジックセル３００は入力データの論理和の反転データ（ＮＯＲ）を出力する。このように、ロジックセル３００は、設定情報に基づいて、異なる複数の論理機能を実現可能な回路である。
【００５２】
次に、クロスコネクトスイッチ３０１の機能について、具体例を用いて説明する。
【００５３】
図７には、クロスコネクトスイッチ３０１の内部ブロック及び機能の例が示されている。図７において、クロスコネクトスイッチ３０１の内部の相互接続部７００に対し設定情報の４ビット並びに入力データＡ、Ｂ、Ｃの３ビット及びロウレベルが入力され、相互接続部７００から出力データＯＵＴ１、ＯＵＴ２の２ビットが出力されている。さらに、相互接続部７００の各出力データは、設定情報の１ビットと排他的論理和（ＸＯＲ）がとられ、外部に出力される。このＸＯＲは、クロスコネクトスイッチ３０１からの出力データを設定情報に基づいてビット単位に反転するためのものである。この場合、出力数は２であるのでＸＯＲ部分に２ビットの設定情報が使用されるため、クロスコネクトスイッチ３０１の全体で使用する設定情報は合計６ビットとなる。
【００５４】
図８は、この場合の相互接続部７００の機能例を示している。図８において、相互接続部７００は、設定情報のＭＳＢの２ビットがＯＵＴ１に出力されるデータを選択し、ＬＳＢの２ビットがＯＵＴ２に出力されるデータを選択している。相互接続部７００は、設定情報が００である時には入力データＡを出力し、設定情報が０１である時には入力データＢを出力する。相互接続部７００は、設定情報が１０である時には入力データＣを出力し、設定情報が１１である時にはロウレベルを出力する。
【００５５】
このように、クロスコネクトスイッチ３０１は、設定情報に基づいて複数の入力データの整列、複製及び反転処理が可能であり、また、設定情報に設定された固定値を出力することも可能な回路である。
【００５６】
次に、プログラマブル論理回路１００の動作について、図面を参照して説明する。図９及び図１０には、プログラマブル論理回路１００の動作タイミングの例が示されている。図９には、外部からの初期化の動作が表されている。図１０には、外部からの起動及び実際の論理処理の動作が表されている。
【００５７】
まず、Ｔ１期間において、入出力制御部１０３は、ユーザー回路１０８からユーザークロック信号１１０に同期した初期化信号９００を受けて内部初期化信号９０１として保持する。Ｔ２期間において、入出力制御部１０３は、保持した内部初期化信号９０１を内部クロック信号１０９に同期させて制御バス１０４に出力する。制御バス１０４の内部初期化信号９０２は、すべてのプロセッサエレメント１０１のメモリ制御部２０１に入力される。
【００５８】
Ｔ３期間において、プロセッサエレメント１０１のメモリ制御部２０１は、入力された内部初期化信号９０２をトリガにして、メモリ装置１０２の特定のアドレス９０４に対し、読み出し信号９０３を出力する。その後、メモリ制御部２０１は、入力される読み出しデータ９０５を保持データ９０６として一度保持し、この保持データ９０６から設定情報の格納位置アドレス９０７を抽出して保持する。Ｔ１〜Ｔ３の動作により、設定情報の格納位置アドレス９０７が各プロセッサエレメント１０１に記憶され、いつでも処理を実行できる状態となる。
【００５９】
Ｔ４期間において、プログラマブル論理回路１００は、起動待ち状態である。Ｔ５期間において、入出力制御部１０３は、ユーザー回路１０８からユーザークロック信号１１０に同期した起動信号１０００及び内部処理用データ１００１を受け取って内部起動信号１００２及び内部処理用データ１００３として保持する。Ｔ６期間において、入出力制御部１０３は、保持した内部起動信号１００２を内部クロック信号１０９に同期させて制御バス１０４に出力する。また、入出力制御部１０３は、保持した内部処理用データ１００３を内部クロック信号１０９に同期させて入力バス１０５に出力する。
【００６０】
制御バス１０４の内部起動信号１００４は、すべてのプロセッサエレメント１０１のメモリ制御部２０１に入力される。入力バス１０５の論理処理用データ１００５は、すべてのプロセッサエレメント１０１のロジックエレメント２００に入力される。Ｔ７期間において、各プロセッサエレメント１０１のメモリ制御部２０１は、入力された内部起動信号１００４をトリガにして、メモリ装置１０２のＴ３期間において保持した格納位置アドレス１００７に対し読み出し信号９０３を出力する。Ｔ８期間において、各メモリ制御部２０１は、メモリ装置１０２から出力される読み出しデータ９０５を保持データ９０６として保持する。同時に、メモリ制御部２０１は、メモリ装置１０２の次のアドレスに対し、読み出し信号９０３を出力する。
【００６１】
Ｔ９期間において、各メモリ制御部２０１は、保持データ９０６をロジックエレメント２００に出力する。また、各メモリ制御部２０１は、メモリ装置１０２から出力される読み出しデータ９０５を保持する。同時に、各メモリ制御部２０１は、メモリ装置１０２の次のアドレスに対し、読み出し信号を出力する。各ロジックエレメント２００は、入力される保持データ（設定情報）９０６に基づいて、入力バス１０５からの論理処理用データ１００５の整列、複製及び反転処理を行い、処理後のデータを内部のフリップフロップ３０２に保持する。
【００６２】
Ｔ１０期間において、各メモリ制御部２０１は、保持データ９０６をロジックエレメント２００に出力する。また、各メモリ制御部２０１は、メモリ装置１０２から出力される読み出しデータ９０５を内部に保持する。同時に、各メモリ制御部２０１は、メモリ装置１０２の次のアドレスに対して読み出し信号を出力する。
【００６３】
各ロジックエレメント２００は、フリップフロップ３０２、入力バス１０５及び隣接のプロセッサエレメント１０１からの論理処理用データ１００５を、入力される保持データ（設定情報）９０６に基づいて論理処理を行って、処理後のデータをフリップフロップ３０２に保持する。以下、Ｔ１０期間の処理を繰り返すことにより、一つの論理処理を実現する。
【００６４】
すべての期間において、フリップフロップ３０２のデータは、出力バス１０６に出力されており、入出力制御部１０３は、このデータを常に内部クロック信号１０９に同期して保持している。入出力制御部１０３は、保持データをユーザークロック信号１１０に同期してユーザー回路１０８に出力する。ユーザー回路１０８は、入力されるデータのフラグを参照し、出力データ（論理処理後のデータ）を保持する、又は、決められた期間後のデータを保持する。
【００６５】
次に、特定の論理処理機能をプログラマブル論理回路１００にマッピングした例を、図面を参照して説明する。説明を簡潔に行うため、動作例で示したＴ９、Ｔ１０期間のロジックエレメント２００の動作のみを説明する。
【００６６】
図１１は、２入力２出力のロジックセル３００の機能を示している。図１２は、ロジックセル３００を持つプログラマブル論理回路１００に対して、４ビットの比較回路をマッピングした場合の例を示している。図１２において、縦方向には物理的に異なる４つのプロセッサエレメント１０１が示されており、横方向には同一のプロセッサエレメント１０１が各サイクルでどのような処理を行うかが示されている。
【００６７】
図１３は、４ビットの比較回路を示している。図１３に示すように、入力データとして、ＩＮ０〜７の８ビットデータがあり、ＩＮ０〜３とＩＮ４〜７の比較結果が１ビットのデータとして出力される。
【００６８】
図１２において、ロジックセル（ＬＣ）３００の入力及び出力は、上側がＬＳＢであり、下側がＭＳＢである。また、ロジックセル（ＬＣ）３００の下部に記載されているデータは、ロジックセル（ＬＣ）３００に対する設定情報である。複数のロジックセル（ＬＣ）３００は、図１３に示すように動作する。まず、サイクル１及び２において、複数のロジックセル（ＬＣ）３００は入力データをビット単位に整列する。サイクル３において、複数のロジックセル（ＬＣ）３００は各ビットに対してＸＮＯＲの処理を行う。サイクル４において、複数のロジックセル（ＬＣ）３００はサイクル３の結果に対してＡＮＤ処理を行う。サイクル５において、複数のロジックセル（ＬＣ）３００はサイクル４の結果に対してＡＮＤ処理を行う。サイクル６において、複数のロジックセル（ＬＣ）３００は比較結果を出力する。結果として、内部クロック信号１０９の６サイクルで出力が確定される。内部クロック信号１０９のクロック数がユーザークロック信号１１０のクロック数の６倍である時に、ユーザー回路１０８からは、１クロックで比較処理が完了したように見える。
【００６９】
このように、プログラマブル論理回路１００は、単体動作を行うプロセッサエレメント１０１の集合体であり、各プロセッサエレメント１０１は、主に隣接のプロセッサエレメント１０１との間で連帯動作を行う。また、複数の隣接のプロセッサエレメント１０１が一つのグループとして、一つの論理処理を行うことも可能である。
【００７０】
以上説明したように、本発明の実施の形態１に係るプログラマブル論理回路１００は、複数のプロセッサエレメント１０１が独立に動作することも連帯動作することも可能であり、複数種類の論理処理を同時に並列的に行うことが可能であり、かつ、一つの論理処理を連帯して行うことも可能となっている。
【００７１】
また、本発明の実施の形態１に係るプログラマブル論理回路１００は、同一のエレメントが１次元的に１列状に配列されているため、実装規模に応じて柔軟に対応可能であり、拡張性が高い。また、本発明の実施の形態１に係るプログラマブル論理回路１００は、データの送受を隣接のプロセッサエレメント１０１の間に限定することにより、設定情報を大幅に削減することが可能となり、回路面積を削減でき、かつ、実装するＬＳＩのコスト及び消費電力を削減できる。
【００７２】
また、本発明の実施の形態１に係るプログラマブル論理回路１００は、実装エレメント数に関係なく、任意のプロセッサエレメント１０１のフリップフロップから隣接する他のプロセッサエレメント１０１のフリップフロップまでの配線距離が最小限かつ一定であるため、動作周波数を限界にまで引き上げることが可能となり、従来のプログラマブルロジックに比して、高速動作が可能となっている。
【００７３】
また、本発明の実施の形態１に係るプログラマブル論理回路１００は、同一の回路上で、繰り返し機能を変更しながら処理を行うため、回路面積を削減でき、かつ、実装するＬＳＩのコスト及び消費電力を削減できる。
【００７４】
なお、本発明の実施の形態１において、内部クロック信号１０９は、必ずしもユーザークロック信号１１０の逓倍である必要がなく、例えば、入出力制御部１０３に適切なクロック乗せ換え回路を用いることで、ユーザークロック信号１１０に同期しないクロック信号を内部クロック信号として用いてもよい。
【００７５】
また、本発明の実施の形態１において、メモリ装置１０２は、プログラマブル論理回路１００の内部に存在する必要がなく、プログラマブル論理回路１０１の外部に存在する構成でもよい。また、本発明の実施の形態１において、クロック生成回路１０７は、プログラマブル論理回路１００の内部に配設してもよい。
【００７６】
また、本発明の実施の形態１において、メモリ装置１０２とプロセッサエレメント１０１との間にマルチプレクサなどの選択回路を挿入して、設定によりメモリ装置１０２と各プロセッサエレメント１０１との接続を変更可能にしてもよい。ただし、この場合にはデータの処理の遅延量が増加するため、周波数を維持するためには、パイプライン等を用いて高速化を図る必要がある。
【００７７】
また、本発明の実施の形態１において、図３に示すロジックエレメント２００の内部の各ブロック、ロジックセル３００、クロスコネクトスイッチ３０１及びフリップフロップ３０２の間の接続及び前記各ブロックと入力バス１０５、出力バス１０６及び隣接のロジックエレメント２００との接続は、図３のものに限定されるものではなく、例えば、ロジックセル３００とクロスコネクトスイッチ３０１の間にフリップフロップを設けて、さらに動作周波数を高めてもよい。また、本発明の実施の形態１において、入力バス１０５からのデータはクロスコネクトスイッチ３０１ではなく、ロジックセル３００又はフリップフロップ３０２に入力してもよい。これは、後述する図１５、図１９及び図２５に示す例においても同様である。
【００７８】
また、本発明の実施の形態１において、複数のプロセッサエレメント１０１の各々は、他のプロセッサエレメント１０１に接続されていなくてもよい。
【００７９】
（実施の形態２）
次に、本発明の実施の形態２について、図面を参照して詳細に説明する。図１４は、本発明の実施の形態２に係るプログラマブル論理回路の構成を示すブロック図である。本発明の実施の形態２においては、本発明の実施の形態１と同じ構成要素には同じ参照符号が付されて、その説明が省略される。
【００８０】
図１４に示すように、本発明の実施の形態２に係るプログラマブル論理回路１４００は、本発明の実施の形態１において、複数のプロセッサエレメント１０１の代わりに複数のプロセッサエレメント１４０１を有し、データバス１４０２及びデータ保持用メモリセル１４０３を追加してなる。すなわち、本発明の実施の形態２に係るプログラマブル論理回路１４００は、複数のプロセッサエレメント１４０１、入出力制御部１０３、複数のメモリ装置１０２、制御バス１０４、入力バス１０５、出力バス１０６、データバス１４０２及びデータ保持用メモリセル１４０３を具備している。
【００８１】
プロセッサエレメント１４０１は、図１５に示すように、本発明の実施の形態１において、ロジックエレメント２００の代わりにロジックエレメント１４１０を有している。ロジックエレメント１４１０は、図１６に示すように、本発明の実施の形態１のロジックエレメント２００において、データバス出力制御部１４１１を追加してなる。
【００８２】
図１４に示すように、プログラマブル論理回路１４００には、クロック生成回路１０７及びユーザー回路１０８が接続されている。複数のプロセッサエレメント１４０１と複数のメモリ装置１０２とは、１対１で接続されている。１対１で接続されているプロセッサエレメント１４０１とメモリ装置１０２とは、単位論理回路を構成している。複数の単位論理回路は、並列に接続されている。
【００８３】
複数のプロセッサエレメント１４０１の各々は、１次元的に１列状に配置されており、物理配置上で隣接する２つの他のプロセッサエレメント１４０１と接続線１４０１ａで接続されている。すなわち、プロセッサエレメント１４０１を有する複数の単位論理回路は、１次元的に１列状に配置されており、複数の単位論理回路における一の前記単位論理回路と当該一の前記単位論理回路に対して物理的配置上で隣接する他の前記単位論理回路とは、接続線１４０１ａで接続されている。
【００８４】
プロセッサエレメント１４０１は、接続線を用いて隣接する２つの他のプロセッサエレメント１０１との間でデータの受け渡しを行う。データ保持用メモリセル１４０３は、データバス１４０２と接続されている。
【００８５】
図１５に示すように、プロセッサエレメント１４０１は、ロジックエレメント１４１０及びメモリ制御部２０１を具備している。
【００８６】
図１６に示すように、ロジックエレメント１４１０は、本発明の実施の形態１におけるロジックエレメント２００においてデータバス出力制御部１４１１を追加してなる。すなわち、ロジックエレメント１４１０は、ロジックセル３００、クロスコネクトスイッチ３０１、フリップフロップ３０２及びデータバス出力制御部１４１１を具備している。データバス出力制御部１４１１は、フリップフロップ３０２、メモリ制御部２０１及びデータバス１４０２と接続されている。クロスコネクトスイッチ３０１は、データバス１４０２と接続されている。
【００８７】
次に、本発明の実施の形態２に係るプログラマブル論理回路１４００の機能について、図面を参照して詳細に説明する。
【００８８】
図１４において、データバス１４０２は、プロセッサエレメント１４０１から論理処理中のデータを受け取り、データ保持用メモリセル１４０３に保持する。データ保持用メモリセル１４０３が保持したデータは、すべてのプロセッサエレメント１４０１に入力される。
【００８９】
図１６において、データバス出力制御部１４１１は、メモリ制御部２０１から転送される設定情報に基づいて、フリップフロップ３０２からのデータ又はハイインピーダンスレベルをデータバス１４０２へ出力する。データバス１４０２に伝送されたデータは、クロスコネクトスイッチ３０１に入力される。クロスコネクトスイッチ３０１においては、データバス１４０２から入力されるデータは、他のデータと共にデータの整列、複製及び反転処理に使用される。
【００９０】
このように、複数のプロセッサエレメント１４０１の各々は、相互に遠距離にあるプロセッサエレメント１４０１に対して、処理データを短時間で転送することが可能となるため、遠距離のプロセッサエレメントを連帯動作させることが可能となる。
【００９１】
次に、本発明の実施の形態２に係るプログラマブル論理回路１４００の動作について、図面を参照して詳細に説明する。
【００９２】
図１７には、プログラマブル論理回路１４００の動作タイミング例が示されている。Ｔ１０期間において、データバス出力制御部１４１１は、メモリ制御部２０１から転送される設定情報に基づいて、フリップフロップ３０２からのデータの一部又はすべてをデータ１４２０としてデータバス１４０２へ出力する。Ｔ１１期間において、前記データ１４２０を出力したプロセッサエレメント１４０１から離れたプロセッサエレメント１４０１の位置でのデータバス１４０２のデータ（レベル）１４２１は不確定である。Ｔ１２期間において、前記位置でのデータバス１４０２のデータ１４２１が確定したため、ロジックエレメント２００は、データバス１４０２のデータ１４２１を入力バス１０５、内部のフリップフロップ３０２及び隣接するプロセッサエレメント１４０１からの論理処理用データと共に、入力される設定情報に基づいて論理処理を行って、処理後のデータをフリップフロップ３０２に保持する。
【００９３】
このように、ロジックエレメント１４１０は、論理処理中のデータを任意のタイミングでデータバス１４０２に出力し、前記ロジックエレメント１４１０と連帯動作する複数のロジックエレメント１４１０は、このデータを論理処理に用いることが可能である。したがって、プログラマブル論理回路１４００は、データバス１４０２及びデータ保持用メモリセル１４０３を用いることにより、複数のロジックエレメント１４１０の各々は遠距離のプロセッサエレメント１４０１を連帯動作させることが可能となり、実装効率及び汎用性を高めることができる。
【００９４】
ただし、各メモリ装置１０２には、データバス１４０２でのデータの衝突が発生しないように、データバス１４０２への出力タイミングを設定する必要がある。また、データバス１４０２は、前述したように複数のプロセッサエレメント１４０１をまたがるラインであるため、１サイクル期間では値が確定しない場合がある。このため、各メモリ装置１０２に設定するデータバス１４０２のデータ参照タイミングは、あるプロセッサエレメント１４０１がデータバス１４０２への出力を行ってから、所定のサイクル経過後に、例えば、２クロック後になるようにする必要がある。各メモリ装置１０２への設定情報の設定は、本発明を用いるユーザー装置が直接又は本発明にかかわる論理合成及びマッピングツールを用いて間接的に行うことになる。ユーザー装置が直接設定を行う場合には、ユーザー装置は各プロセッサエレメント１４０１の連帯動作方法を把握しているため、前記データの衝突を回避するようにデータバス１４０２の使用タイミングを考慮して設定することになる。合成及びマッピングツールが設定を行う場合には、通常、前記データの衝突の回避は、ツールのアルゴリズム内に組み込まれることになるため、ユーザー装置は意識しないことになる。このように、動作周波数によっては、データバス１４０２は値の確定に複数サイクルを要することを前提としたバスとすることができるため、前記動作周波数に影響を与えることはない。
【００９５】
なお、本発明の実施の形態２に係るプログラマブル論理回路１４００は、図示した例に限定されるものではなく、例えば、すべてのプロセッサエレメント１４０１が同一のデータバス１４０２に接続されなくてもよく、例えば、４つおきのプロセッサエレメント１４０１のみを同一のデータバスに接続することも可能である。また、本発明の実施の形態２において、データ保持用メモリセル１４０３は、同様の機能を実現できるものであれば、メモリセル以外のもので構成してもよい。
【００９６】
（実施の形態３）
次に、本発明の実施の形態３について、図面を参照して詳細に説明する。図１８は、本発明の実施の形態３に係るプログラマブル論理回路の主要部の構成を示すブロック図である。本発明の実施の形態３において、本発明の実施の形態２と同じ構成要素には同じ参照符号が付され、その説明が省略される。
【００９７】
図１８に示すように、本発明の実施の形態３に係るプログラマブル論理回路１８００は、本発明の実施の形態２に係るプログラマブル論理回路１４００において、データバス１４０２を削除し、かつ、ワイヤード論理バス回路１８１０を追加してなる。
【００９８】
ワイヤード論理バス回路１８１０は、ワイヤード論理入力バス１８１１、ワイヤード論理出力バス１８１２、データ保持用メモリセル１４０３、インバーター１８１３、複数のトランジスタ１８１４及び放電制御部１８１５を具備している。ワイヤード論理バス回路１８１０は、１次元的に列状に配置された複数のプロセッサエレメント１４０１の側部に配置されている。
【００９９】
トランジスタ１８１４のドレインは、ワイヤード論理入力バス１８１１に接続されている。トランジスタ１８１４のゲート電極は、プロセッサエレメント１４０１に接続されている。データ保持用メモリセル１４０３は、ワイヤード論理入力バス１８１１に接続されている。また、データ保持用メモリセル１４０３は、ワイヤード論理出力バス１８１２にインバーター１８１３を介して接続されている。
【０１００】
図１９は、プロセッサエレメント１４０１のロジックエレメント１４１０の構成を示している。データバス出力制御部１４１１は、フリップフロップ３０２、トランジスタ１８１４のゲート電極及び放電制御部１８１５に接続されている。ワイヤード論理出力バス１８１２は、クロスコネクトスイッチ３０１に接続されている。
【０１０１】
次に、本発明の実施の形態３に係るプログラマブル論理回路１８００の機能について、図面を参照して詳細に説明する。
【０１０２】
図１８において、放電制御部１８１５は、複数のプロセッサエレメント１４０１から放電制御信号を受け取って、これらの放電制御信号の非論理和（ＮＯＲ）をとった信号をワイヤード論理入力バス１８１１に出力し、データ保持用メモリセル１４０３の放電を行う。ワイヤード論理入力バス１８１１は、複数のプロセッサエレメント１４０１からトランジスタ１８１４を介してデータを受け取る。プロセッサエレメント１４０１からのデータがハイレベルの時は、トランジスタ１８１４が遮断され、ワイヤード論理入力バス１８１１にハイインピーダンスレベルが出力される。プロセッサエレメント１４０１からのデータがロウレベルの時に、トランジスタ１８１４が導通され、ワイヤード論理入力バス１８１１にハイレベルが出力される。
【０１０３】
ワイヤード論理入力バス１８１１のデータはデータ保持用メモリセル１４０３に保持される。データ保持用メモリセル１４０３に保持されたデータは、インバーター１８１３によって反転され、ワイヤード論理出力バス１８１２に出力される。ワイヤード論理出力バス１８１２の値は、複数のプロセッサエレメント１４０１に入力される。
【０１０４】
プロセッサエレメント１４０１からワイヤード論理入力バス１８１１への出力がすべてハイレベルの時に、ワイヤード論理出力バス１８１２はハイレベルとなる。このようにして、複数のプロセッサエレメント１４０１からのデータに対し、論理積（ＡＮＤ）をとったデータが各プロセッサエレメント１４０１に入力される。
【０１０５】
図１９において、データバス出力制御部１４１１は、メモリ制御部２０１から転送される設定情報に基づいて、フリップフロップ３０２からのデータをトランジスタ１８１４へ出力する。同様に、データバス出力制御部１４１１は、メモリ制御部２０１から転送される設定情報に基づいて、放電制御信号を放電制御部１８１５へ出力する。データバス出力制御部１４１１は、論理積処理を行う時にはフリップフロップ３０２からのデータを出力し、論理積処理を行わない時には固定的にハイレベルを出力する。
【０１０６】
ワイヤード論理出力バス１８１２からの入力データは、クロスコネクトスイッチ３０１に入力され、他のデータと共にデータの整列、複製及び反転処理に使用される。
【０１０７】
このように、プログラマブル論理回路１８００は、ワイヤード論理バス回路１８１０を用いることにより、複数のプロセッサエレメント１４０１で独立に処理した情報を論理演算して、遠距離にあるプロセッサエレメント１４０１に情報として転送することが可能となる。したがって、プログラマブル論理回路１８００は、連帯動作時の情報を一括で処理可能となり、全体の処理性能を高めることができる。
【０１０８】
なお、データバス１４０２及びワイヤード論理バス回路１８１０では、バスのレベルを保持するメモリセルが必ず存在する。ワイヤード論理バス回路１８１０では、すべてのプロセッサエレメント１４０１からの出力データがハイレベルである時には、ワイヤード論理出力バス１８１２のレベルは、前回保持したデータのレベルとなってしまう。ワイヤード論理バス回路１８１０を使用する時には、使用する前にデータ保持用メモリセル１４０３の放電を行う必要がある。データ保持用メモリセル１４０３の放電には、いくつかの方法がある。第１の方法は、定期的に放電を行う方法である。第２の方法は、図１８で示したように、ワイヤード論理バス回路１８１０を使用するプロセッサエレメント１４０１が設定情報に基づいて放電信号を出力し、これにより放電を行う方法である。詳細説明は、ワイヤード論理バス回路１８１０の動作説明で行う。
【０１０９】
本発明の実施の形態３に係るプログラマブル論理回路１８００の動作について、図面を参照して詳細に説明する。
【０１１０】
図２０は、本発明の実施の形態３に係るプログラマブル論理回路１８００の動作を説明するためのタイミングの例を示している。
【０１１１】
Ｔ１０期間において、ワイヤード論理出力バス１８１２のレベル２００６は、前回のワイヤード論理出力バス１８１２の使用時のレベルが保持されている。Ｔ１１期間において、プロセッサエレメント１４０１は、メモリ制御部２０１から転送される設定情報に基づいて、放電制御信号２０００を放電制御部１８１５へ出力する。この結果、放電制御部１８１５からワイヤード論理入力バス１８１１へロウレベルが出力される。
【０１１２】
Ｔ１２期間において、データ保持用メモリセル１４０３は、ロウレベルに遷移中であり、ワイヤード論理出力バス１８１２のレベル２００６は不確定である。Ｔ１３期間において、データ保持用メモリセル１４０３は完全に放電され、ワイヤード論理出力バス１８１２のレベル２００６は、ハイレベルとなっている。Ｔ１４期間において、各プロセッサエレメント１４０１のデータバス出力制御部１４１１は、メモリ制御部２０１から転送される設定情報に基づいて、フリップフロップ３０２からのデータをワイヤード論理入力バス１８１１へ出力する。ここでは、４つのプロセッサエレメント（ＰＥ）１４０１のうち一つがロウレベルを出力している。
【０１１３】
Ｔ１５期間において、ワイヤード論理出力バス１８１２のレベル２００６は不確定である。Ｔ１６期間において、ワイヤード論理出力バス１８１２のレベル２００６が確定したため、ロジックエレメント１４１０は、ワイヤード論理出力バス１８１２のデータを入力バス１０５、内部のフリップフロップ３０２及び隣接のプロセッサエレメント１４０１からの論理処理用のデータと共に入力される設定情報に基づいて論理処理を行って、処理後のデータを内部のフリップフロップ３０２に保持する。
【０１１４】
このように、複数の連帯動作するロジックエレメント１４１０は、論理処理中のデータを同一のタイミングでワイヤード論理バス回路１８１０に出力し、ワイヤード論理バス回路１８００で特定の論理を一括演算処理することが可能である。
【０１１５】
同時に、すべてのロジックエレメント１４１０は、このデータを論理処理に用いることが可能である。ただし、各メモリ装置１０２には、連帯動作するプロセッサエレメント１４０１の演算タイミングが一致するように、ワイヤード論理入力バス１８１１への出力タイミングを設定する必要がある。また、ワイヤード論理バス回路１８１０は、データバス１４０２と同様に複数のプロセッサエレメント１４０１をまたがるラインであるため、１サイクル期間では値が確定しない場合がある。よって、各メモリ装置１０２に設定するワイヤード論理出力バス１８１２のデータ参照のタイミングは、あるプロセッサエレメント１４０１がワイヤード論理入力バス１８１１への出力を行ってから、所定のサイクル経過後、例えば２クロック後となるようにする必要がある。
【０１１６】
なお、本発明の実施の形態３において、データ保持用メモリセル１４０３は、同様の機能を実現できるものであれば、メモリセル以外のもので構成してもよい。また、本発明の実施の形態３において、トランジスタ１８１４は、プロセッサエレメント１４０１の内部に存在してもよく、また、インバーター１４０４は必ずしも必要ではない。
【０１１７】
また、本発明の実施の形態３において、ワイヤード論理として実現可能なものであれば、適用する論理は論理積に限らないものであり、例えば、論理和を適用してもよい。また、本発明の実施の形態３において、放電制御部１８１５は、プロセッサエレメント１４０１からの制御で動作しなくてもよく、例えば、クロック信号のクロック数を内部のカウンタでカウントして制御してもよい。
【０１１８】
（実施の形態４）
次に、本発明の実施の形態４について、図面を参照して詳細に説明する。図２１は、本発明の実施の形態４に係るプログラマブル論理回路の主要部の構成を示すブロック図である。本発明の実施の形態４において、本発明の実施の形態１と同じ構成要素には同じ参照符号が付され、その説明が省略される。
【０１１９】
図２１に示すように、本発明の実施の形態４に係るプログラマブル論理回路２１００は、本発明の実施の形態１において、メモリ装置１０２の代わりにマルチポートメモリ装置２１０１を有するものである。
【０１２０】
マルチポートメモリ装置２１０１とは、単一又は複数の書き込みポートと複数の読み出しポートをもつメモリ装置である。図２１におけるマルチポートメモリ装置２１０１は、一つの書き込みポートと４つの読み出しポートをもつ。図２１に示す例では、４つのプロセッサエレメント１０１−１〜１０１−４が１つのマルチポートメモリ装置２１０１に接続されている。プロセッサエレメント１０１−１〜１０１−４の各々は、プロセッサエレメント１０１と同じ構成のものである。
【０１２１】
次に、本発明の実施の形態４に係るプログラマブル論理回路２１００について、図面を参照して詳細に説明する。マルチポートメモリ装置２１０１においては、各読み出しポートが、互いに異なるアドレス空間を同時に読み出すことが可能であり、同一のアドレスを同一のタイミングで読み出すことも可能である。
【０１２２】
図２１に示す例では、４つのプロセッサエレメント１０１−１〜１０１−４がマルチポートメモリ装置２１０１の設定情報を同時に読み出し可能となっている。また、前述したようにプロセッサエレメント１０１−１〜１０１−４の各々は、初期化時に自身の設定情報の格納位置アドレスを取得するため、マルチポートメモリ装置２１０１を適用した場合にも設定情報を正しく認識できる。
【０１２３】
このように、プログラマブル論理回路２１００は、マルチポートメモリ装置２１０１を用いることにより、設定情報が少ないプロセッサエレメントと設定情報が多いプロセッサエレメントの設定情報を同一のマルチポートメモリ装置２１０１に保持することができるため、マルチポートメモリ装置２１０１の空き空間を有効利用することができるから、実装効率が向上する。
【０１２４】
次に、本発明の実施の形態４に係るプログラマブル論理回路２１００の機能について、具体例を用いて説明する。
【０１２５】
図２２において、プロセッサエレメント１０１−１〜１０１−４が独立の処理を行うとする。図２２において、プロセッサエレメント１０１−１の設定情報量を５ｋｂｉｔ（キロビット）とし、プロセッサエレメント１０１−２の設定情報量を１０ｋｂｉｔ（キロビット）とし、プロセッサエレメント１０１−３の設定情報量を１００ｋｂｉｔ（キロビット）とし、プロセッサエレメント１０１−４の設定情報量を２００ｋｂｉｔ（キロビット）とする。この場合に、マルチポートメモリ装置２１０１を適用しない場合には、各メモリ装置１０２には最低２００ｋｂｉｔ（キロビット）の容量が必要となる。したがって、４つのプロセッサエレメント１０１−１〜１０１−４に対して、合計９００ｋｂｉｔ（キロビット）の容量が必要となる。一方、マルチポートメモリ装置２１０１を用いた場合には、マルチポートメモリ装置２１０１に最低限必要となる容量は３１５ｋｂｉｔ（キロビット）となるため、メモリ空間を有効に活用できる。プロセッサエレメント１０１−１〜１０１−４の各々は、初期化時にアドレスＡ、Ｂ、Ｃ、Ｄを取得及び保持し、起動時にはそれぞれのアドレスから設定情報の読み出しを行う。このように、本発明の実施の形態４に係るプログラマブル論理回路２１００は、マルチポートメモリ装置２１０１を適用することにより、メモリ装置の空き空間を有効利用することができる。
【０１２６】
なお、本発明の実施の形態４において、マルチポートメモリ装置２１０１は４ポートでなくてもよく、また、マルチポートメモリ装置とシングルポートメモリ装置とを組み合わせて構成してもよい。
【０１２７】
（実施の形態５）
次に、本発明の実施の形態５について、図面を参照して詳細に説明する。図２３は、本発明の実施の形態５に係るプログラマブル論理回路の主要部の構成を示すブロック図である。本発明の実施の形態５において、本発明の実施の形態１と同じ構成要素には同じ参照符号が付され、その説明が省略される。
【０１２８】
図２３に示すように、本発明の実施の形態５に係るプログラマブル論理回路２３００は、複数のプロセッサエレメント１０１−１〜１０１−Ｍと、これらに接続されている複数のマルチポートメモリ装置２１０１−１〜２１０１−Ｎとを具備し、複数のプロセッサエレメント１０１−１〜１０１−Ｍ（Ｍ＞Ｎ）が複数のグループに分けられ、かつ、複数のグループごとに独立の動作を行うものである。
【０１２９】
次に、本発明の実施の形態５に係るプログラマブル論理回路２３００の機能について、図面を参照して説明する。
【０１３０】
図２３において、プロセッサエレメント１０１−１、１０１−３、１０１−６、１０１−８は、マルチポートメモリ装置２１０１−１の設定情報を読み出し可能である。プロセッサエレメント１０１−２、１０１−４、１０１−５、１０１−７は、マルチポートメモリ装置２１０１−２の設定情報を読み出し可能である。プロセッサエレメント１０１−１、１０１−３、１０１−６、１０１−８の設定情報は、マルチポートメモリ装置２１０１−１に格納されている。また、プロセッサエレメント１０１−２、１０１−４、１０１−５、１０１−７の設定情報は、マルチポートメモリ装置２１０１−２に格納されている。
【０１３１】
このように、本発明の実施の形態５に係るプログラマブル論理回路２３００においては、より遠距離に存在するプロセッサエレメントの設定情報が同一のマルチポートメモリ装置に保持されることになる。隣接するプロセッサエレメントは、連帯動作する場合が多いため、メモリ装置の使用量は同じになる場合が多い。このように、本発明の実施の形態５に係るプログラマブル論理回路２３００において、複数のプロセッサエレメント１０１−１〜１０１−Ｍと複数のマルチポートメモリ装置２１０１−１〜２１０１−Ｎとの配線に工夫を凝らすことにより、独立動作するプロセッサエレメントの設定情報を同一のメモリに保持することが可能となる。
【０１３２】
次に、本発明の実施の形態５に係るプログラマブル論理回路２３００の機能の具体例について、図面を参照して説明する。
【０１３３】
図２３において、プロセッサエレメント１０１−１〜３をグループＡとし、プロセッサエレメント１０１−４〜６をグループＢとし、プロセッサエレメント１０１−７〜９をグループＣとし、複数のグループの各々が独立の処理を行うとする。
【０１３４】
この時、同じグループ内の各プロセッサエレメントは連帯して動作を行うため、同じ量の設定情報を必要とする。マルチポートメモリ装置２１０１−１〜Ｎの各々の容量を１５０ｋｂｉｔ（キロビット）とし、グループＡのプロセッサエレメント１０１−１〜３の各々の設定情報量を５ｋｂｉｔ（キロビット）とし、グループＢのプロセッサエレメント１０１−４〜６の各々の設定情報量を１０ｋｂｉｔ（キロビット）とし、グループＣのプロセッサエレメント１０１−７〜９の各々の設定情報量を１００ｋｂｉｔ（キロビット）とする。
【０１３５】
この場合において、プロセッサエレメント１０１−１〜９とマルチポートメモリ装置２１０１−１、２１０１−２との間の配線を図２３に示すようにしない場合には、マルチポートメモリ装置２１０１−１に必要となる容量は２５ｋｂｉｔ（キロビット）であり、マルチポートメモリ装置２１０１−２に必要となる容量は２２０ｋｂｉｔ（キロビット）となる。このため、マルチポートメモリ装置２１０１−２では、設定情報が収まりきらない状態であるにもかかわらず、マルチポートメモリ装置２１０１−１では１２５ｋｂｉｔ（キロビット）のメモリ空間が空き状態となってしまう。
【０１３６】
一方、プロセッサエレメント１０１−１〜９とマルチポートメモリ装置２１０１−１、２１０１−２との間の配線を図２３に示すようにした場合には、マルチポートメモリ装置２１０１−１に必要となる容量は１２０ｋｂｉｔ（キロビット）であり、マルチポートメモリ装置２１０１−２に必要となる容量は１２５ｋｂｉｔ（キロビット）となるため、メモリ空間を有効に活用できる。
【０１３７】
このように、本発明の実施の形態５に係るプログラマブル論理回路２３００は、より遠距離に存在するプロセッサエレメントの設定情報を同一のマルチポートメモリ装置に格納するため、メモリ領域の使用効率を向上させることができる。
【０１３８】
なお、本発明の実施の形態５において、複数のプロセッサエレメント１０１−１〜Ｍとマルチポートメモリ装置２１０１−１〜Ｎとの間の配線は、図２３に示す例に限定されないものであり、遠距離のプロセッサエレメントが同一のマルチポートメモリ装置に接続される構成であればよい。
【０１３９】
また、本発明の実施の形態５において、数のプロセッサエレメント１０１−１〜Ｍとマルチポートメモリ装置２１０１−１〜Ｎとの間にマルチプレクサなどの選択回路を挿入して、設定により複数のプロセッサエレメント１０１−１〜Ｍとマルチポートメモリ装置２１０１−１〜Ｎとの接続を変更可能にしてもよい。ただし、この場合にはデータの処理の遅延量が増加するため、周波数を維持するためには、パイプライン等を用いて高速化を図る必要がある。
【０１４０】
（実施の形態６）
次に、本発明の実施の形態６について、図面を参照して詳細に説明する。図２４は、本発明の実施の形態６に係るプログラマブル論理回路の主要部の構成を示すブロック図である。本発明の実施の形態６において、本発明の実施の形態１と同じ構成要素には同じ参照符号が付され、その説明が省略される。
【０１４１】
図２４に示すように、本発明の実施の形態６に係るプログラマブル論理回路２４００は、本発明の実施の形態１に係るプログラマブル論理回路１００において、複数のプロセッサエレメント１０１の代わりに複数のプロセッサエレメント２４０１を有し、入力バス１０５の代わりに静的入力バス２４０２及び動的入力バス２４０３を有するものである。図２５に示すように、本発明の実施の形態６に係る複数のプロセッサエレメント２４０１のロジックエレメント２４１１の各々は、本発明の実施の形態１に係る複数のプロセッサエレメント２００において入力制御部２４１２を追加してなる。
【０１４２】
図２４において、静的入力バス２４０２は、入出力制御部１０３及びプロセッサエレメント２４０１と接続されている。動的入力バス２４０３は、入出力制御部１０３及びプロセッサエレメント２４０１と接続されている。図２５において、静的入力バス２４０２及び動的入力バス２４０３は、入力制御部２４１２と接続されている。入力制御部２４１２は、ロジックセル３００、クロスコネクトスイッチ３０１及びメモリ制御部２０１と接続されている。
【０１４３】
次に、本発明の実施の形態６に係るプログラマブル論理回路２４００の機能について、図面を参照して説明する。
【０１４４】
図２４において、入出力制御部１０３は、ユーザー回路１０８からユーザークロック信号１１０に同期した起動信号及び論理処理用のデータを受け取り、このデータを内部に保持する。入出力制御部１０３は、データの保持を次の起動信号が入力されるまで行う。入出力制御部１０３は、保持したデータを、内部クロック信号１０９に同期させて静的入力バス２４０２に出力する。また、入出力制御部１０３は、ユーザー回路１０８からユーザークロック信号１１０に同期した論理処理用のデータのみを受け取り、このデータを内部クロック信号１０９に同期させて動的入力バス２４０３に出力する。入出力制御部１０３は、データの保持を、ユーザークロック信号１１０ごとに行う。静的入力バス２４０２及び動的入力バス２４０３は、入出力制御部１０３から受け取ったデータをプロセッサエレメント２４０１に出力する。
【０１４５】
図２５において、入力制御部２４１２は、静的入力バス２４０２、動的入力バス２４０３からの入力データのどちらか一方を、メモリ制御部２０１から転送される設定情報に基づいて、クロスコネクトスイッチ３０１に出力する。
【０１４６】
このように、プロセッサエレメント２４０１の各々は、選択的にデータをサンプリングすることができるため、複数の処理形態に対応できる。例えば、プログラマブル論理回路２４００は、２つの制御を適宜に織り交ぜて実現可能であり、処理の汎用性を高めることが可能となる。
【０１４７】
なお、本発明の実施の形態６において、静的入力バス２４０２及び動的入力バス２４０３は、すべてのプロセッサエレメント２４０１に接続されなくてもよい。また、本発明の実施の形態６において、静的入力バス２４０２及び動的入力バス２４０３は、入力制御部２４１２を介さずに直接にクロスコネクトスイッチ３０１に接続されてもよい。
【０１４８】
（実施の形態７）
次に、本発明の実施の形態７について、図面を参照して詳細に説明する。図２６は、本発明の実施の形態７に係るプログラマブル論理回路の主要部の構成を示すブロック図である。本発明の実施の形態７において、本発明の実施の形態１と同じ構成要素には同じ参照符号が付され、その説明が省略される。
【０１４９】
図２６に示すように、本発明の実施の形態７に係るプログラマブル論理回路２６００は、本発明の実施の形態１に係るプログラマブル論理回路１００において、入出力制御部１０３の代わりに入出力制御部２６１０を有する。
【０１５０】
入出力制御部２６０１は、複数のプロセッサエレメント１０１の各々に接続されている第１群のフリップフロップ（ＦＦ）２６１１と、第１群のフリップフロップ２６１１及びユーザー回路１０８と接続されている第２群のフリップフロップ（ＦＦ）２６１２と、を具備している。
【０１５１】
図２６において、プロセッサエレメント１０１は、論理処理結果のデータ２６２１とイネーブル信号２６２２を入出力制御部２６１０のフリップフロップ２６１１に与える。
【０１５２】
次に、本発明の実施の形態７に係るプログラマブル論理回路２６００の機能について、図面を参照して説明する。
【０１５３】
図２６において、プロセッサエレメント１０１の各々は、メモリ装置１０２の設定情報に基づいて、フリップフロップ２６１１に対し、論理演算処理結果のデータ２６２１及びイネーブル信号２６２２を出力する。フリップフロップ２６１１は、イネーブル信号２６２２の入力タイミングに、論理処理結果のデータ２６２１を保持する。フリップフロップ２６１１は、データの保持を内部クロック信号１０９に同期して行う。
【０１５４】
フリップフロップ２６１２は、フリップフロップ２６１１からのデータをユーザークロック信号１１０に同期して、サイクルごとにデータの保持を行う。この構成において、内部クロック信号１０９は、ユーザークロック信号１１０を逓倍したクロック信号の半相ずれのクロック信号である。図２７において、イネーブル信号２６２２は、メモリ制御部２０１が設定情報に基づいて出力する。論理処理結果のデータ２６２１は、ロジックエレメント２００の内部のフリップフロップの出力である。
【０１５５】
次に、本発明の実施の形態７に係るプログラマブル論理回路２６００を用いて処理性能を向上させる例について、図面を参照して説明する。
【０１５６】
図２８は、本発明の実施の形態７に係るプログラマブル論理回路２６００を用いて処理性能を向上させる例を説明するための図である。
【０１５７】
図２８において、回路Ａ、Ｂ、Ｃ、Ｄ、Ｅが存在し、回路Ａ、Ｂ、Ｃ、Ｄ、Ｅの各々は、一つのプロセッサエレメント１０１を用いて実現可能な回路とする。また、ＬＳＩに搭載されたプロセッサエレメント１０１の数は５とする。
【０１５８】
図２８において、回路Ａ、Ｂ、Ｃは、クロックサイクル１の先頭において処理用のデータが入力され、内部クロック信号１０９で７クロック後のタイミングにおいて、外部で処理後のデータを必要とする回路とする。また、回路Ｄ、Ｅは、クロックサイクル３から処理を開始する回路とする。また、単独のプロセッサエレメント１０１で処理を行う場合に、回路Ａ、Ｂは２クロックを要し、回路Ｃは７クロックを要し、回路Ｄ、Ｅは１０クロックを要する回路とする。
【０１５９】
図２８（ａ）には、本発明の実施の形態７に係る入出力制御部２６１０を適用しない場合の処理動作が示されている。回路Ａ、Ｂの処理が完了した後、規定の出力タイミング（＝サイクル７）まで結果をプロセッサエレメント１０１に保持するため、２つのプロセッサエレメント１０１はこの期間にデータ保持のみに使用されている。
【０１６０】
図２８（ｂ）には、本発明の実施の形態７に係るプログラマブル論理回路２７００の処理動作が示されている。クロックサイクル３の先頭で、回路Ａ、Ｂの結果を入出力制御部２６１０に保持し、図２８（ａ）におけるデータ保持期間に回路Ｄの処理を２つのプロセッサエレメント１０１を使用して実行している。同時に余った２つのプロセッサエレメント１０１を用いて、回路Ｅの処理を行っている。回路Ｄ、Ｅは処理並列度が増したため、半分のサイクル数で処理が完了している。結果として全体の処理性能が向上している。
【０１６１】
このように、本発明の実施の形態７に係るプログラマブル論理回路２７００は、各プロセッサエレメント１０１の単位に論理演算処理結果のデータを任意のタイミングで入出力制御部２６１０に保持できるため、一つの論理演算処理を完了した後に、次の起動信号入力までの空き時間を他の論理演算処理に割り当てることが可能となる。
【産業上の利用可能性】
【０１６２】
本発明は、電子装置を制御する制御装置などに適用することができる。
【図面の簡単な説明】
【０１６３】
【図１】本発明の実施の形態１に係るプログラマブル論理回路の構成を示すブロック図
【図２】本発明の実施の形態１に係るプログラマブル論理回路のプロセッサエレメントの構成を示すブロック図
【図３】本発明の実施の形態１に係るプログラマブル論理回路のプロセッサエレメントのロジックエレメントの構成を示すブロック図
【図４】本発明の実施の形態１に係るプログラマブル論理回路のメモリ装置の構成を示す図
【図５】本発明の実施の形態１に係るプログラマブル論理回路のプロセッサエレメントのロジックエレメントにおけるロジックセルの機能を説明するためのブロック図
【図６】本発明の実施の形態１に係るプログラマブル論理回路のプロセッサエレメントのロジックエレメントにおけるロジックセルの動作を説明するための図
【図７】本発明の実施の形態１に係るプログラマブル論理回路のプロセッサエレメントのクロスコネクトスイッチの構成を示すブロック図
【図８】本発明の実施の形態１に係るプログラマブル論理回路のプロセッサエレメントのクロスコネクトスイッチの動作を説明するための図
【図９】本発明の実施の形態１に係るプログラマブル論理回路の初期化時の動作を説明するためのタイミング図
【図１０】本発明の実施の形態１に係るプログラマブル論理回路の起動時及びデータ処理時の動作を説明するためのタイミング図
【図１１】本発明の実施の形態１に係るプログラマブル論理回路のプロセッサエレメントのロジックエレメントにおけるロジックセルの動作を説明するための図
【図１２】本発明の実施の形態１に係るプログラマブル論理回路で４ビットの比較回路をマッピングした場合のプロセッサエレメントの動作を時間軸方向に展開した図
【図１３】本発明の実施の形態１に係るプログラマブル論理回路で４ビットの比較回路をマッピングした場合のプロセッサエレメントで形成する４ビットの比較回路を示す回路図
【図１４】本発明の実施の形態２に係るプログラマブル論理回路の構成を示すブロック図
【図１５】本発明の実施の形態２に係るプログラマブル論理回路のプロセッサエレメントの構成を示すブロック図
【図１６】本発明の実施の形態２に係るプログラマブル論理回路のプロセッサエレメントのロッジックエレメントの構成を示すブロック図
【図１７】本発明の実施の形態２に係るプログラマブル論理回路の動作を説明するためのタイミング図
【図１８】本発明の実施の形態３に係るプログラマブル論理回路の構成を示すブロック図
【図１９】本発明の実施の形態３に係るプログラマブル論理回路のプロセッサエレメントのロッジックエレメントの構成を示すブロック図
【図２０】本発明の実施の形態３に係るプログラマブル論理回路の動作を説明するためのタイミング図
【図２１】本発明の実施の形態４に係るプログラマブル論理回路の構成を示すブロック図
【図２２】本発明の実施の形態４に係るプログラマブル論理回路のマルチポートメモリ装置の構成例を説明するための図
【図２３】本発明の実施の形態５に係るプログラマブル論理回路の構成を示すブロック図
【図２４】本発明の実施の形態６に係るプログラマブル論理回路の構成を示すブロック図
【図２５】本発明の実施の形態６に係るプログラマブル論理回路のプロセッサエレメントのロジックエレメントの構成を示すブロック図
【図２６】本発明の実施の形態７に係るプログラマブル論理回路の構成を示すブロック図
【図２７】本発明の実施の形態７に係るプログラマブル論理回路のプロセッサエレメントの構成を示すブロック図
【図２８】（ａ）本発明の実施の形態７に係る入出力制御部を適用しない場合の処理動作を説明するための図、（ｂ）本発明の実施の形態７に係るプログラマブル論理回路の処理動作を説明するための図
【符号の説明】
【０１６４】
１００、１４００、１８００、２１００、２４００、２６００  プログラマブル論理回路
１０１、１４０１、２４０１  プロセッサエレメント
１０１ａ、１４０１ａ  接続線
１０２  メモリ装置
１０３、２６１０  入出力制御部
１０４  制御バス
１０５  入力バス
１０６  出力バス
２００、１４１０、２４１１  ロジックエレメント
２０１  メモリ制御部
３００  ロジックセル
３０１  クロスコネクトスイッチ
３０２、２６１１、２６１２  フリップフロップ
１４０２  データバス
１４０３  データ保持用メモリセル
１４１１  データバス出力制御部
１８１０  ワイヤード論理バス回路
１８１１  ワイヤード論理入力バス
１８１２  ワイヤード論理出力バス
１８１３  インバーター
１８１４  トランジスタ
１８１５  放電制御部
２１０１  マルチポートメモリ装置
２４０２  静的入力バス
２４０３  動的入力バス
２４１２  入力制御部
【図１】
2005057451.tif 000003
【図２】
2005057451.tif 000004
【図３】
2005057451.tif 000005
【図４】
2005057451.tif 000006
【図５】
2005057451.tif 000007
【図６】
2005057451.tif 000008
【図７】
2005057451.tif 000009
【図８】
2005057451.tif 000010
【図９】
2005057451.tif 000011
【図１０】
2005057451.tif 000012
【図１１】
2005057451.tif 000013
【図１２】
2005057451.tif 000014
【図１３】
2005057451.tif 000015
【図１４】
2005057451.tif 000016
【図１５】
2005057451.tif 000017
【図１６】
2005057451.tif 000018
【図１７】
2005057451.tif 000019
【図１８】
2005057451.tif 000020
【図１９】
2005057451.tif 000021
【図２０】
2005057451.tif 000022
【図２１】
2005057451.tif 000023
【図２２】
2005057451.tif 000024
【図２３】
2005057451.tif 000025
【図２４】
2005057451.tif 000026
【図２５】
2005057451.tif 000027
【図２６】
2005057451.tif 000028
【図２７】
2005057451.tif 000029
【図２８】
2005057451.tif 000030