(57)【要約】【課題】プログラマブルロジックデバイス（以下ＰＬＤ）におけるロジックセルの使用効率を高めることでＰＬＤの面積増大を抑え、かつ、高速な構成情報の更新を可能とするＰＬＤを搭載した半導体集積回路を提供すること。【解決手段】少ビットの論理演算を行なう第１のプログラマブルセル（以下ＰＣ）２１０、多ビットの算術演算を行なう第２のＰＣ２１１、第１、第２のＰＣに対する構成情報を記憶する第１、第２のメモリ２２０、２２１、第１、第２のＰＣに対する構成情報を設定するための第１、第２のデータバス２３０、２３１、第１、第２のメモリに対して構成情報を設定するための第３、第４のデータバス２４０、２４１を備え、所望のデータ処理機能を実現する設計データを処理に適したＰＣ上に実現し、ＰＣ２１０、２１１の構成情報を独立に設定、変更する。【選択図】図２
2006345349.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブルロジックデバイスを搭載する集積回路であって、
プログラマブルロジックデバイス部は、少ビットの算術論理演算を行なう細粒度処理エレメントで構成される複数の第１のプログラマブルセルと、
多ビットの算術演算を行なう粗粒度処理エレメントで構成される複数の第２のプログラマブルセルと、
前記複数の第１のプログラマブルセルに対する複数の構成情報を記憶する第１のメモリと、
前記複数の第２のプログラマブルセルに対する複数の構成情報を記憶する第２のメモリと、
前記複数の第１のプログラマブルセルに対する構成情報を設定するための第１のデータ転送手段と、
前記複数の第２のプログラマブルセルに対する構成情報を設定するための第２のデータ転送手段と
前記第１のメモリに対して構成情報を設定するための第３のデータ転送手段と、
前記第２のメモリに対して構成情報を設定するための第４のデータ転送手段を備え、
前記複数の第１のプログラマブルセルと前記第１のメモリは、前記第１のデータ転送手段で接続され、
前記複数の第２のプログラマブルセルと前記第２のメモリは、前記第２のデータ転送手段で接続され、
前記第１のメモリは、前記第３のデータ転送手段に接続され、
前記第２のメモリは、前記第４のデータ転送手段に接続され、
前記第１のプログラマブルセルに対する構成情報と前記第２のプログラマブルセルに対する構成情報と前記第１のメモリに対する構成情報と前記第２のメモリに対する構成情報を独立に設定、変更することが可能なことを特徴とする半導体集積回路。
【請求項２】
請求項１に記載の半導体集積回路において、
前記第１、および第３のデータ転送手段は、前記第２、および第４のデータ転送手段よりも、高いデータバンド幅を有し、
前記第１のプログラマブルセルに対する構成情報は、前記第２のプログラマブルセルに対する構成情報よりも、高速に設定、変更することが可能なことを特徴とする半導体集積回路。
【請求項３】
請求項１または２に記載の半導体集積回路において、
前記プログラマブルロジックデバイス部において実行されるデータ処理機能の構成情報は、データに対する演算処理を実現するデータバス部の構成情報と、
前記データに対する演算処理を実現するデータバス部に対して演算処理対象であるデータの供給と演算処理に対する制御を実現するコントロール部の構成情報とに分割され、
前記コントロール部の構成情報は、前記複数の第１のプログラマセルに設定され、前記コントロール部の機能を実現し、
前記データバス部の構成情報は、前記複数の第２のプログラマブルセルに設定され、前記データバス部の機能を実現することで、
前記プログラマブルロジックデバイス部において実行されるデータ処理機能を実現することを特徴とする半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＦＰＬＤ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）等のプログラマブルロジックデバイスを搭載する半導体集積回路に関し、特に半導体集積回路内のプログラマブルロジックデバイスの構成に関するものである。
【背景技術】
【０００２】
例えば、ハードウェアをどのように構成するかを指定する構成情報（コンフィギュレーション情報）を内部に保持し、構成情報に従って所望のデータ処理機能を実現し、かつ構成情報を変更することにより、所望のデータ処理機能を実現するためにハードウェアの構成を変更可能とするＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）として、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）がある。
【０００３】
Ｘｉｌｉｎｘ社などの代表的なＦＰＧＡは、ＬＵＴ（Ｌｏｏｋ  Ｕｐ  Ｔａｂｌｅ）からなる均一なプログラマブルなロジックセルとプログラマブルな配線セルの組み合わせによりプログラマブルデバイスを実現している。一般的に、ＬＵＴは少ビットの算術論理演算機能を実現する細粒度処理エレメントであり、８ビットや１６ビット、３２ビットなどの多ビットデータに対するデータ処理を実現する場合には、多数のロジックセルと配線セルを必要とし、所望のデータ処理機能を布線論理による専用ハードウェアで実現する場合と比べて面積が増大する、処理性能（動作周波数）が低下するという問題点がある。
【０００４】
近年、プログラマブルロジックデバイスを時間的に多重化する、すなわち、プログラマブルなロジックセルと配線セル内に構成情報を複数有し、複数の構成情報の中から１つの情報を選択して、時間によって別の構成情報とプログラマブルなロジックセルと配線セルを切り換えて使用することで、所望のデータ処理機能を実現するためのプロググラマブルデバイスの面積が増大する問題を抑制するプログラマブルデバイスが出現している。
【０００５】
このようなプログラマブルデバイスとしては、アイピーフレックス社のＤＡＰ／ＤＮＡ（Ｄｉｇｉｔａｌ  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｃｅｓｓｏｒ／Ｄｉｓｔｒｉｂｕｔｅｄ  Ｎｅｔｗｏｒｋ  Ａｒｃｈｉｔｅｃｔｕｒｅ）、ＱｕｉｃｋＳｉｌｖｅｒ  Ｔｅｃｈｎｏｌｏｇｙ社のＡＣＭ（Ａｄａｐｔｉｖｅ  Ｃｏｍｐｕｔｉｎｇ  Ｍａｃｈｉｎｅ）などがある。さらに、このようなプログラマブルデバイスにおけるプログラマブルなロジックセルは、プログラマブルデバイスの面積が増大する、処理性能（動作周波数）が低下するという問題点に対処するために、前述したＦＰＧＡにおけるＬＵＴやＡＮＤ−ＯＲの少ビットの算術論理演算機能を実現する細粒度処理エレメントではなく、３２ビットの多ビット算術論理演算機能を実現する粗粒度処理エレメントである。また、異なる演算毎に適切な、異なる粗粒度処理エレメントを実装する、非均一なプログラマブルロジックセルとプログラマブルな配線セルの組み合わせによりプログラマブルデバイスを実現している。
【０００６】
しかし、プログラマブルデバイスの面積が増大する、処理性能（動作周波数）が低下するという問題点に対する前述のような対処を行なったとしても、プログラマブルなロジックセルに関して多ビット算術論理演算機能を実現する粗粒度処理エレメントとし、配線セルを多くすると、所望のデータ処理が必要とするビット数に対して、プログラマブルなロジックセル内の粗粒度処理エレメントのビット数が大きすぎること、配線セルによる面積増大が問題となり、面積を小さくすることが考えられる。
【０００７】
上記のような技術の一つとして、特許文献１は複数のプログラマブルなロジックセルと配線からなるプログラマブルロジックデバイスにおけるプログラマブルロジックセルと配線の接続方式の技術を開示している。
【０００８】
図５は、前記特許文献１に記載された従来のプログラマブルロジックデバイスのプログラマブルロジックセルと配線の接続方式を示すブロック図を示すものである。このプログラマブルロジックデバイスの接続方式では、構成情報と外部から入力された入力情報との演算を行なう演算回路を備える複数のプログラマブルロジックセル５１１を、それぞれ複数の配線からなるデータ用サブ配線ネットワーク５１３および制御用サブ配線ネットワーク５１４から構成される配線ネットワーク５１２が取り囲む。プログラマブルロジックセル５１１は、制御用サブ配線ネットワーク５１４の配線から制御部分５１８を介して入力される制御情報に従って、いずれかの構成情報を内部出力する。プログラマブルロジックセル５１１は、制御情報に従って選択出力された構成情報と、データ用サブ配線ネットワーク５１３の配線からデータ入力部分５１７を介して入力された入力情報とを論理演算する論理回路を備える。この論理回路による演算結果は、データ用サブ配線ネットワーク５１３あるいは制御用サブ配線ネットワーク５１４の配線に出力される。
【０００９】
このように特許文献１に記載された従来のプログラマブルロジックデバイスでは、プログラマブルロジックセル内部で出力される構成情報は、制御用サブ配線ネットワークの配線を介して供給される制御情報によって切り換えられることにより、構成情報を切り換えるための制御信号のビット数が少なくて済み、制御用サブ配線ネットワークの配線数は少なくてよいので、プログラマブルロジックデバイスを小面積にすることができる。
【特許文献１】特開２０００−２２４０２５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上述した従来のプログラマブルロジックデバイスにおけるプログラマブルロジックセルと配線セルの接続方式の技術では、プログラマブルロジックセルのプログラマブルロジックセル内部で出力される構成情報は、制御用サブ配線ネットワークの配線を介して供給される制御情報によって切り換えられることにより、制御用サブ配線ネットワークの配線数が少なくなり、プログラマブルロジックデバイスを小面積にすることができるが、プログラマブルロジックデバイスを小面積とするためのロジックセル、および構成情報の構成については開示されていない。
【００１１】
また、従来のプログラマブルロジックデバイスにおけるプログラマブルロジックセルと配線セルの接続方式の技術では、構成情報を変更、設定のためにロジックセルを使用するため、論理演算機能の実行と構成情報の変更を独立して行なうことができず、ロジックセル内部の構成情報の更新時間は短くすることができたとしても、プログラマブルロジックデバイス上で実行する所望の機能を高速に実行することはできないことが考えられる。
【００１２】
そこで本発明は、前記従来の課題を解決するもので、プログラマブルロジックデバイスにおけるロジックセルのハードウェア資源の使用効率を高めることでプログラマブルロジックデバイスの面積増大を抑え、かつ、高速な構成情報の更新を可能とすることでプログラマブルロジックデバイス上における所望の機能の高速な実行を可能とするプログラマブルロジックデバイスを搭載した半導体集積回路を提供することを目的とする。
【課題を解決するための手段】
【００１３】
前記従来の課題を解決するために、請求項１記載のプログラマブルロジックデバイスを搭載する半導体集積回路は、プログラマブルロジックデバイス部は、少ビットの算術論理演算を行なう細粒度処理エレメントで構成される複数の第１のプログラマブルセルと、多ビットの算術演算を行なう粗粒度処理エレメントで構成される複数の第２のプログラマブルセルと、第１のプログラマブルセルに対する複数の構成情報を記憶する第１のメモリと、第２のプログラマブルセルに対する複数の構成情報を記憶する第２のメモリと、複数の第１のプログラマブルセルに対する構成情報を設定するための第１のデータ転送手段と、複数の第２のプログラマブルセルに対する構成情報を設定するための第２のデータ転送手段と、第１のメモリに対して構成情報を設定するための第３のデータ転送手段と、第２のメモリに対して構成情報を設定するための第４のデータ転送手段を備え、複数の第１の各プログラマブルセルと第１のメモリは、第１のデータ転送手段で接続され、複数の第２の各プログラマブルセルと第２のメモリは、第２のデータ転送手段で接続され、第１のメモリは第３のデータ転送手段に接続され、第２のメモリは第４のデータ転送手段に接続され、第１のプログラマブルセルに対する構成情報と第２のプログラマブルセルに対する構成情報と第１のメモリに対する構成情報と第２のメモリに対する構成情報は独立に設定、変更を行なう。
【００１４】
この構成によれば、所望のデータ処理機能を処理に適した構成のプログラマブルセルで実行することにより、プログラマブルセルのハードウェア資源の使用効率を向上させることができる。また、細粒度処理エレメントで構成されるプログラマブルセルに対する構成情報と、粗粒度処理エレメントで構成されるプログラマブルセルに対する構成情報は独立して、設定、変更することができるため、高速な構成情報の更新が可能である。
【００１５】
請求項２記載のプログラマブルロジックデバイスを搭載する半導体集積回路は、第１のデータ転送手段、および第３のデータ転送手段は、第２のデータ転送手段、および第４のデータ転送手段よりも、高いデータバンド幅を有する。
【００１６】
この構成によれば、頻繁な構成情報の設定、変更が起こりえる構成情報を第１のメモリに格納し、高いデータバンド幅を有する第１、および第３のデータ転送手段により、構成情報の設定、変更を、第２のプログラマブルセルに対する構成情報の設定、変更と同時に設定、変更することができるため、さらなる高速な構成情報の更新が可能である。
【００１７】
請求項３記載のプログラマブルロジックデバイスを搭載する半導体集積回路は、プログラマブルロジックデバイス部において実行されるデータ処理機能の構成情報は、データに対する演算処理を実現するデータバス部の構成情報と、データに対する演算処理を実現するデータバス部に対して演算処理対象であるデータの供給と演算処理に対する制御を実現するコントロール部の構成情報とに分割され、コントロール部の構成情報は、複数の第１のプログラマセルに設定され、データバス部の構成情報は、複数の第２のプログラマブルセルに設定されることで、プログラマブルロジックデバイス部において実行されるデータ処理機能を実現する。
【００１８】
この構成によれば、プログラマブルロジックデバイス部において実行されるデータ処理機能に関して、少ビットの制御情報に対する演算を行なうコントロール部を第１のプログラマブルセルで、多ビットのデータに対する算術演算を行なうデータバス部を第２のプログラマブルセルで実行することにより、プログラマブルセルにおけるハードウェア資源の使用効率を向上させることができると伴に、データ処理機能に関する設計情報データにおいて、コントロール部の構成情報とデータバス部の構成情報を分割することにより、データ処理モード毎の制御、処理されるデータの供給制御など、頻繁に構成情報を更新するコントロール部の構成情報のデータサイズを小さくし、高速に設定、変更することができるため、さらなる高速な構成情報の更新が可能である。
【発明の効果】
【００１９】
本発明のプログラマブルロジックデバイスを搭載する半導体集積回路によれば、所望のデータ処理機能を処理に適した構成のプログラマブルセルで実行することにより、プログラマブルセルのハードウェア資源の使用効率を向上させることができ、プログラマブルロジックデバイスの面積増大を抑えることができる。また、データ処理機能に適した構成のプログラマブルセルに応じて構成情報を分割し、分割された構成情報は独立に設定、変更することにより、高速に構成情報の更新をすることができる。
【発明を実施するための最良の形態】
【００２０】
以下本発明の実施の形態について、図面を参照しながら説明する。図１は、本発明に係る半導体集積回路１００の概略構成を示すブロック図である。この半導体集積回路１００は、プログラムなどによって与えられる処理を行なう汎用的な構成をもつプロセッサ部１０１と、プログラマブルロジックセルによりあるアプリケーションのデータ処理を実行するためのデータ処理機能が形成されるプログラマブルロジックデバイス部２００と、このプロセッサ部１０１とプログラマブルロジックデバイス部２００にクロック信号を供給するクロック発生部１０２と、外部メモリ１１０との間のデータ入出力を制御するバスコントローラ部１０３と、プログラマブルロジックデバイス部２００がデータ処理を行なう場合に使用するローカルメモリ部１０７を備える。
【００２１】
プログラマブルロジックデバイス部２００は、入出力バス１０４ａによってバスコントローラ部１０３と接続されており、半導体集積回路１００の外部メモリ１１０との間でデータを入出力でき、ローカルメモリバス１０８によってローカルメモリ部１０７と接続されており、ローカルメモリ部１０７との間でデータを入出力できる。また、プロセッサ部１０１も入出力バス１０４ｂによってバスコントローラ部１０３を介して外部メモリ１１０との間でデータを入出力できる。
【００２２】
プロセッサ部１０１とプログラマブルロジックデバイス部２００は、プロセッサ部１０１とプログラマブルロジックデバイス部２００との間でデータを入出力するためのデータバス１０５と、プロセッサ部１０１からプログラマブルロジックデバイス部２００を制御するための制御バス１０６で接続される。
【００２３】
図２は、本発明の実施の形態におけるプログラマブルロジックデバイス部２００の概略構成を示すブロック図である。図２において、本形態におけるプログラマブルロジックデバイス部２００は、少ビットの算術論理演算を行なう細粒度処理エレメントで構成される複数の第１のプログラマブルセル２１０ａ〜２１０ｃ、多ビットの算術演算を行なう粗粒度処理エレメントで構成される複数の第２のプログラマブルセル２１１ａ〜２１１ｉ、複数の第１のプログラマブルセル２１０ａ〜２１０ｃに対する複数の構成情報を記憶する第１のメモリ２２０、複数の第２のプログラマブルセル２１１ａ〜２１１ｉに対する複数の構成情報を記憶する第２のメモリ２２１、複数の第１のプログラマブルセル２１０ａ〜２１０ｃに対する構成情報を設定するための第１のデータバス２３０、複数の第２のプログラマブルセル２１１ａ〜２１１ｉに対する構成情報を設定するための第２のデータバス２３１、第１のメモリ２２０に対してプログラマブルロジックデバイス部２００の外部から構成情報を設定するための第３のデータバス２４０、第２のメモリ２２１に対してプログラマブルロジックデバイス部２００の外部から構成情報を設定するための第４のデータバス２４１により構成される。
【００２４】
また、本形態におけるプログラマブルロジックデバイス部２００内の少ビットの算術論理演算を行なう細粒度処理エレメントで構成される複数の第１のプログラマブルセル２１０ａ〜２１０ｃ、多ビットの算術演算を行なう粗粒度処理エレメントで構成される複数の第２のプログラマブルセル２１１ａ〜２１１ｉはマトリックス状に配置されており、これらのプログラマブルセル間で所望のデータ処理を行なう対象となるデータのデータ転送手段としてデータネットワーク配線２５０と、これらのプログラマブルセルにおいて所望のデータ処理を行なうための制御データのデータ転送手段として、制御ネットワーク配線２６０を備えている。
【００２５】
データネットワーク配線２５０は、マトリックス状に配置されたプログラマブルセル２１０ａ〜２１０ｃ、２１１ａ〜２１１ｉのそれぞれを接続するために、プログラマブルセル２１０ａ〜２１０ｃ、２１１ａ〜２１１ｉを取り囲むように配置されており、データネットワーク配線２５０と各プログラマブルセルは、プログラマブルセルへのデータ入力線２７０とプログラマブルセルからのデータ出力線２７１で接続され、制御ネットワーク配線は、データネットワーク配線２５０と同様にプログラマブルセル２１０ａ〜２１０ｃ、２１１ａ〜２１１ｉを取り囲むように配置されており、制御ネットワーク配線２６０と各プログラマブルセルは、プログラマブルセルへの制御入力線２８０とプログラマブルセルからの制御出力線２８１で接続されている。また、データネットワーク配線２５０、制御ネットワーク配線２６０は、プログラマブルロジックデバイス部２００の外部とも接続され、データネットワーク配線２５０は図１における入出力バス１０４ａ、データバス１０５、およびローカルメモリバス１０８と接続され、制御ネットワーク配線２５０は制御バス１０６と接続される。
【００２６】
次に、プログラマブルロジックデバイス部２００上で実現されるデータ処理機能を実行するために設計されたハードウェアについて説明する。図３はデータ処理機能を実行するハードウェア設計の概略構成の一例を示したブロック図である。民生機器向けのＬＳＩでは、すべての処理をプロセッサで実施すると高い動作周波数、高い並列処理性能が必要となるため、プログラムによって与えられる処理を柔軟に行なう汎用的な構成をもつプロセッサに、定型処理を実現する布線論理による専用ハードウェアを付加し、プロセッサと専用ハードウェアで処理を分担する構成が採られることが一般的である。このように処理を分担する場合、図３に示すようにプロセッサと専用ハードウェアが同時動作可能なように、専用ハードウェアはあるデータ処理機能を行なう対象となるデータを格納するローカルメモリを備えることが一般的であり、そのときのメモリを除くデータ処理ハードウェア部の構成は、ローカルメモリからデータを読み出し、ローカルメモリへデータをライトするためのアドレス生成、メモリに対する読み出し有効信号、書き込み有効信号などの制御を行なうメモリアクセス制御部、ローカルメモリから読み出したデータに対する所望の処理を行なうデータバス部、メモリから読み出したデータをデータバス部に供給し、データバス部で処理されたデータをメモリに書き込むためのメモリインタフェース部、これらメモリアクセス制御部、データバス部、メモリインタフェース部を所望の処理を行なうデータ処理フローに従って制御するための全体制御部に大別することができる。
【００２７】
さらに、一般的にメモリインタフェース部、データバス部はデータ処理で行なうデータのビット幅を持ち、多ビットの算術演算が主であり、メモリアクセス制御部、全体制御部は、メモリアドレスのビット幅、１ビットの制御信号を持ち、少ビットの算術論理演算が主であるという特長がある。また、所望のデータ処理機能において複数の処理モードがある場合、複数の処理モードにおいてメモリインタフェース部、データバス部は共通化され、複数の処理モードの違いをメモリアクセス制御部、全体制御部で実現することが多い。したがって、プログラマブルロジックデバイス部においてデータ処理機能を実現する場合、メモリインタフェース部、データバス部の構成情報とメモリアクセス制御部、全体制御部の構成情報を分割して、少ビットの算術論理演算が主であるメモリアクセス制御部、全体制御部と、多ビットの算術演算を主とするメモリインタフェース部、データバス部をそれぞれの性質に適したプログラマブルセルで実現することにより、プログラマブルセルにおけるハードウェア資源の使用効率を向上させ、必要となるプログラマブルロジックデバイス部のプログラマブルセルの量を少なく抑えることができると伴に、設定、変更する構成情報を最小限にとどめて、構成情報の設定、変更を高速にできることができることが多い。
【００２８】
次に、図２においてプログラマブルロジックデバイス部２００において４×４行列２次元直交変換処理を実行する場合の動作について説明する。まず、４×４行列２次元直交変換処理について説明する。図４（ａ）および図４（ｂ）は、４×４行列１次元直交変換演算式と２次元直交変換処理、および４×４行列２次元直交変換処理におけるデータ入力とそのときのメモリアクセスの一例を示した図である。４×４行列２次元直交変換処理は、図４（ａ）に示すように、まず１次元目の直交変換演算として、画素データ行列ｘｉｊの列方向（ｉ＝０〜３）に対して４×４行列１次元直交変換演算１Ｄ＿Ｔｒａｎｓ（ｘｉｊ）を行ない、次に２次元目の直交演算として、１次元目の直交変換演算結果データ行列ｚｉｊの行方向（ｊ＝０〜３）に対して４×４行列１次元直交変換演算１Ｄ＿Ｔｒａｎｓ（ｚｉｊ）を行なう。このように、１次元目と２次元目の直交演算処理では同じ演算１Ｄ＿Ｔｒａｎｓ（ｘｉｊ）を行なうため、この４×４行列２次元直交変換処理機能を実現するデータ処理ハードウェアのデータバス部は同じデータバス部を利用することができる。これに対して、１次元目と２次元目の直交変換処理で同じデータバス部を利用すると、図４（ｂ）に示すように１次元目と２次元目の直交変換処理ではデータバス部に対するデータ入力が異なるため、メモリアクセスのためのアドレス生成を行なうメモリアクセス制御部と全体制御は１次元目と２次元目の直交変換処理で異なり、それぞれ異なるメモリアクセス制御と全体制御を行なうハードウェアを実現する必要がある。
【００２９】
このように、４×４行列２次元直交変換処理をプログラマブルロジックデバイス部２００において実行する場合、１次元目と２次元目の直交変換処理で同じメモリインタフェース部とデータバス部を利用でき、メモリアクセス制御部と全体制御部に関する構成情報を設定、変更すればよいので、メモリインタフェース部、データバス部の構成情報とメモリアクセス制御部、全体制御部の構成情報を分割して、設定、変更可能とすることで設定、変更する構成情報を最小限にとどめて、高速な構成情報の設定、変更が可能となるとともに、必要となるプログラマブルロジックデバイス部のプログラマブルセルの量を少なく抑えることができる。
【００３０】
したがって、まず４×４行列２次元直交変換処理をプログラマブルロジックデバイスで実現する２００で実行できる構成情報を生成する段階において、メモリインタフェース部、データバス部の構成情報とメモリアクセス制御部、全体制御部の構成情報を分割し、半導体集積回路１００外部のメモリ１１０に格納する。メモリアクセス制御部、全体制御部の構成情報は、小ビットの算術論理演算を対象とするため、第１のプログラマブルセル２１０ａ〜ｃで実行されるように第１のメモリ２２０に格納されるものである。メモリインタフェース部、データバス部の構成情報は、多ビットの算術演算、データ処理を対象とするため、第２のプログラマブルセル２１１ａ〜ｉで実行されるように第２のメモリ２２１に格納されものである。本実施の形態では、４×４行列２次元直交変換処理を行なうデータは半導体集積回路１００外部のメモリ１１０に格納するものとする。
【００３１】
半導体集積回路１００外部のメモリ１１０に格納された４×４行列２次元直交変換処理の構成情報はプロセッサ部１０１の制御により、バスコントローラ部１０３、入出力バス１０４ｂを介してプロセッサ部１０１内のメモリに一旦格納される。プロセッサ部１０１はデータバス１０５を介して、４×４行列２次元直交変換処理における1次元目の直交変換処理と２次元目の直交変換の処理に対するメモリアクセス制御部、全体制御部の構成情報を第１のメモリ２２０に格納し、メモリインタフェース部、データバス部の構成情報を第２のメモリ２２１に格納する。第１、第２のメモリ２２０、２２１への構成情報の格納と並行して、半導体集積回路１００外部のメモリ１１０に格納された４×４行列２次元直交変換処理を行なうデータはプロセッサ部１０１の制御により、バスコントローラ部１０３、入出力バス１０４ａ、プログラマブルロジックデバイス部２００内のデータネットワーク配線２５０を介して、ローカルメモリ部１０７に格納する。
【００３２】
第１、第２のメモリ２２０、２２１への構成情報の格納が完了したら、プロセッサ部１０１の制御により、第１のメモリ２２０に格納された４×４行列２次元直交変換処理における１次元目の直交変換処理に対するメモリアクセス制御部、全体制御部の構成情報を第１のデータバス２３０を介して第１のプログラマブルセル２１０ａ〜ｃに、４×４行列２次元直交変換処理におけるメモリインタフェース部、データバス部の構成情報を第２のデータバス２３１を介して第２のプログラマブルセル２１１ａ〜ｉにそれぞれ設定する。プログラマブルロジックデバイス部２００に対するプロセッサ部１０１からの制御は、制御バス１０６を介して行なう。
【００３３】
４×４行列２次元直交変換処理における１次元目の直交変換処理に対するメモリアクセス制御部、全体制御部の構成情報の第１のプログラマブルセル２１０ａ〜ｃへの設定、４×４行列２次元直交変換処理におけるメモリインタフェース部、データバス部の構成情報の第２のプログラマブルセル２１１ａ〜ｉへの設定が完了し、この時点において４×４行列２次元直交変換処理を行なうデータのローカルメモリ部１０７への格納が完了していれば、プロセッサ部１０１の制御により、プログラマブルロジックデバイス部２００は４×４行列２次元直交変換処理における１次元目の直交変換処理を開始する。４×４行列２次元直交変換処理を行なうデータのローカルメモリ部１０７への格納が完了していなければ、４×４行列２次元直交変換処理を行なうデータのローカルメモリ部１０７への格納が完了してから、１次元目の直交変換処理を開始するようにプロセッサ部１０１は制御を行なう。１次元目の直交処理変換処理が開始されると、第１のプログラマブルセル２１０ａ〜ｃに実現されたメモリアクセス制御部、全体制御部の動作により、ローカルメモリ１０８から４×４行列２次元直交変換処理を行なうデータｘｉｊが読み出され、ローカルメモリバス１０８、データネットワーク配線２５０を介して、第２のプログラマブルセル２１１ａ〜ｉに供給され、第２のプログラマブルセルに実現された４×４行列１次元直交変換演算１Ｄ＿Ｔｒａｎｓ（ｘｉｊ）が行なわれ、第２のプログラマブルセル２１１ａ〜ｉから出力された４×４行列１次元直交変換演算結果データｚｉｊがデータネットワーク配線２５０、ローカルメモリバス１０８を介して、ローカルメモリ部１０７に格納される。そして、４×４行列１次元直交変換演算結果データｚｉｊが全てローカルメモリ部１０７に格納されると１次元目の直交処理変換処理が完了する。
【００３４】
次に、１次元目の直交変換処理が完了したら、プロセッサ部１０１、あるいは第１のプログラマブルセル２１０ａ〜ｃに実現された全体制御部の構成情報における制御により、２次元目の直交変換処理に対するメモリアクセス制御部、全体制御部の構成情報を第１のデータバス２３０を介して第１のプログラマブルセル２１０ａ〜ｃに設定し、第１のプログラマブルセル２１０ａ〜ｃに設定された１次元目の直交変換処理に対するメモリアクセス制御部、全体制御部の構成情報を、２次元目の直交変換処理に対するメモリアクセス制御部、全体制御部の構成情報に変更する。このとき、メモリインタフェース部、データバス部に対する構成情報は、１次元目の直交変換処理と２次元目の直交変換処理において同一のものが利用できるため、メモリインタフェース部、データバス部に対する構成情報を変更する必要はない。
【００３５】
第１のプログラマブルセル２１０ａ〜ｃに設定された１次元目の直交変換処理に対するメモリアクセス制御部、全体制御部の構成情報の２次元目の直交変換処理に対するメモリアクセス制御部、全体制御部への構成情報への変更が完了したら、プロセッサ部１０１、あるいは第１のプログラマブルセル２１０ａ〜ｃに実現された全体制御部の構成情報おける制御により、プログラマブルロジックデバイス部２００は４×４行列２次元直交変換処理における２次元目の直交変換処理を開始する。
【００３６】
２次元目の直交処理変換処理が開始されると、１次元目の直交変換処理と同様に、第１のプログラマブルセル２１０ａ〜ｃに実現されたメモリアクセス制御部、全体制御部の動作により、ローカルメモリバス１０８から４×４行列２次元直交変換処理を行なうデータｚｉｊが読み出され、ローカルメモリバス１０８、データネットワーク配線２５０を介して、第２のプログラマブルセル２１１ａ〜ｉに供給され、第２のプログラマブルセルに実現された４×４行列１次元直交変換演算１Ｄ＿Ｔｒａｎｓ（ｚｉｊ）が行なわれ、第２のプログラマブルセル２１１ａ〜ｉから出力された４×４行列１次元直交変換演算結果データｙｉｊがデータネットワーク配線２５０、ローカルメモリバス１０８を介して、ローカルメモリ部１０７に格納される。そして、４×４行列１次元直交変換演算結果データｙｉｊが全てローカルメモリ部１０７に格納されると２次元目の直交処理変換処理が完了する。
【００３７】
４×４行列２次元直交変換処理が完了した時点で、再度４×４行列２次元直交変換処理を繰り返す場合は、第１、第２のメモリ２２０、２２１に格納された４×４行列２次元直交変換処理の構成情報を再利用し、プロセッサ部１０１、あるいは第１のプログラマブルセル２１０ａ〜ｃに実現された全体制御部の構成情報おける制御により、１次元目の直交変換処理に対するメモリアクセス制御部、全体制御部の構成情報を第１のデータバス２３０を介して第１のプログラマブルセル２１０ａ〜ｃに設定し、第１のプログラマブルセル２１０ａ〜ｃに設定された２次元目の直交変換処理に対するメモリアクセス制御部、全体制御部の構成情報を、１次元目の直交変換処理に対するメモリアクセス制御部、全体制御部の構成情報に変更するのと並行して、今回の４×４行列２次元直交変換処理結果ｙｉｊをローカルメモリ部１０７からローカルメモリバス１０８、データネットワーク配線２５０、入出力バス１０４ａ、バスコントローラ部１０３を介して、半導体集積回路１００外部のメモリ１１０に格納し、次に４×４行列２次元直交変換処理を行なうデータを半導体集積回路１００外部のメモリ１１０からローカルメモリ部１０７に格納して、次の４×４行列２次元直交変換処理を同様に行なう。４×４行列２次元直交変換処理が完了した時点で、４×４行列２次元直交変換処理とは異なるデータ処理を行なう場合には、４×４行列２次元直交変換処理の場合と同様に、所望のデータ処理機能を実現する構成情報と所望のデータ処理を行なう対象のデータを第１、第２のメモリ２２０、２２１、およびローカルメモリ部１０７にそれぞれ格納する。
【００３８】
このように、本形態の構成によれば、プログラマブルロジックデバイスを搭載する半導体集積回路１００は、プログラマブルロジックデバイス部２００において実行されるデータ処理機能に関して、少ビットの制御情報に対する演算を行なうコントロール部を第１のプログラマブルセル２１０ａ〜ｃで、多ビットのデータに対する算術演算を行なうデータバス部を第２のプログラマブルセル２１１ａ〜ｉで実行することにより、プログラマブルセルにおけるハードウェア資源の使用効率を向上させることができると伴に、データ処理機能に関する設計情報データにおいて、コントロール部の構成情報とデータバス部の構成情報を分割し、第１のデータバス２３０、第３のデータバス２４０を介してコントロール部の構成情報の設定、変更と第２のデータバス２２１、第４のデータバス２４１を介してデータバス部の構成情報の設定、変更を独立に行なうことにより、頻繁に構成情報を更新するコントロール部の構成情報のデータサイズを小さくし、高速に設定、変更することが可能である。
【００３９】
なお、本実施の形態における４×４行列２次元直交変換処理を行なうデータは半導体集積回路１００外部のメモリ１１０に格納されているとしているが、半導体集積回路１００内部のプロセッサ部１０１のメモリに格納されていてもよい。この場合、４×４行列２次元直交変換処理を行なうデータはプロセッサ部１０１の制御により、データバス１０５を介してローカルメモリ部１０７に格納される。
【００４０】
なお、本実施の形態におけるプログラマブルロジックデバイス部２００は、３つの第１のプログラマブルセル２１０ａ〜２１０ｃと９つの第２のプログラマブルセル２１１ａ〜２１１ｉで構成されているが、プログラムロジックデバイス部２００上で実現するデータ処理機能に応じて、プログラマブルロジックセルはいくつであってもよい。
【００４１】
なお、本実施の形態におけるプログラマブルセルと制御ネットワーク配線２５０との接続において、プログラマブルセル２１０ａ〜２１０ｃは、プログラマブルセルへの制御入力線２８０とプログラマブルセルからの制御出力線２８１で接続され、プログラマブルセル２１１ａ〜２１１ｉは、プログラマブルセルへの制御入力線２８０のみで接続されているが、プログラマブルセル２１１ａ〜２１１ｉは、物理的にはプログラマブルセルへの制御入力線２８０とプログラマブルセルからの制御出力線２８１で接続され、論理的にプログラマブルセルからの制御出力線２８１が接続されないように実現されてもよい。
【００４２】
なお、本実施の形態において、マトリックス状に配置されたデータネットワーク配線２５０と、制御ネットワーク配線２６０における行方向配線と列方向配線との交わる位置は、ネットワーク配線の任意の接続が可能となるように、任意の行方向ネットワーク配線と任意の列方向ネットワーク配線を接続するスイッチ回路とスイッチ回路の接続をする設定データを記憶するメモリで実現されてもよい。
【００４３】
なお、本実施の形態において、第１のプログラマブルセル２１０ａ〜２１０ｃに対する複数の構成情報を記憶する第１のメモリ２２０、第２のプログラマブルセル２１１ａ〜２１１ｉに対する複数の構成情報を記憶する第２のメモリ２２１は、デュアルポートメモリ、あるいはバンク構成メモリで実現し、第１、第２のメモリ２２０、２２１からプログラマブルセル２１０、２１１に対する構成情報の設定、変更と、第３、第４のデータバス２４０、２４１からの第１、第２のメモリ２２０、２２１に対する構成情報の設定、変更を独立に行なえるようにすることで構成情報の高速な設定、変更を図ってもよい。
【産業上の利用可能性】
【００４４】
本発明にかかるプログラマブルロジックデバイスを搭載する半導体集積回路は、少ビットの論理演算を行なう細粒度処理エレメントで構成されるプログラマブルセルと、多ビットの算術演算を行なう粗粒度処理エレメントで構成されるプログラマブルセルと、細粒度処理エレメントで構成されるプログラマブルセルに対する構成情報と粗粒度処理エレメントで構成されるプログラマブルセルに対する構成情報を設定するためのデータ転送手段を独立に有し、プログラマブルセルにおけるハードウェア資源の使用効率を向上させ、かつ、高速な構成情報の更新を可能とするプログラマブルロジックデバイスとして有用である。また、更新が必要となる構成情報の規模を最小限にとどめること、および構成情報を高速に設定、変更することが可能であるので、高速性およびリアルタイム性が要求されるデータ処理機能を実現するプログラマブルな半導体集積回路に好適に利用できる。
【図面の簡単な説明】
【００４５】
【図１】本発明に係る半導体集積回路の概略構成を示すブロック図
【図２】本発明の実施の形態におけるプログラマブルロジックデバイス部の概略構成を示すブロック図
【図３】プログラマブルロジックデバイス部上でデータ処理機能を実行するハードウェア設計の概略構成の一例を示すブロック図
【図４】４×４行列１次元直交変換演算式と２次元直交変換処理および４×４行列２次元直交変換処理におけるデータ入力とメモリアクセスの一例を示す説明図
【図５】従来のプログラマブルロジックデバイスのプログラマブルロジックセルと配線の接続の一例を示すブロック図
【符号の説明】
【００４６】
１００    プログラマブルロジックデバイスを搭載する半導体集積回路
１０１    プロセッサ部
１０２    クロック発生部
１０３    バスコントローラ部
１０４    入出力バス
１０５    データバス
１０６    制御バス
１０７    ローカルメモリ部
１０８    ローカルメモリバス
１１０    外部メモリ
２００    プログラマブルロジックデバイス部
２１０    第１のプログラマブルセル
２１１    第２のプログラマブルセル
２２０    第１の構成情報格納メモリ
２２１    第２の構成情報格納メモリ
２３０    第１のプログラマブルセルに対する構成情報を設定する第１のデータバス
２３１    第２のプログラマブルセルに対する構成情報を設定する第２のデータバス
２４０    第１の構成情報格納メモリに対する構成情報を設定する第３のデータバス
２４１    第２の構成情報格納メモリに対する構成情報を設定する第４のデータバス
２５０    データネットワーク配線
２６０    制御ネットワーク配線
２７０    データ入力線
２７１    データ出力線
２８０    制御入力線
２８１    制御出力線
５１１    プログラマブルロジックセル
５１２    配線ネットワーク
５１３    データ用サブ配線ネットワーク
５１４    制御用サブ配線ネットワーク
５１７    データ入力部分
５１８    制御部分
５１９    出力部分
【図１】
2006345349.tif 000003
【図２】
2006345349.tif 000004
【図３】
2006345349.tif 000005
【図４】
2006345349.tif 000006
【図５】
2006345349.tif 000007