JP2006345349A - プログラマブルロジックデバイスを搭載する半導体集積回路 - Google Patents

プログラマブルロジックデバイスを搭載する半導体集積回路 Download PDF

Info

Publication number
JP2006345349A
JP2006345349A JP2005170632A JP2005170632A JP2006345349A JP 2006345349 A JP2006345349 A JP 2006345349A JP 2005170632 A JP2005170632 A JP 2005170632A JP 2005170632 A JP2005170632 A JP 2005170632A JP 2006345349 A JP2006345349 A JP 2006345349A
Authority
JP
Japan
Prior art keywords
configuration information
programmable
data
memory
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005170632A
Other languages
English (en)
Inventor
Takashi Hashimoto
隆 橋本
Hiroyuki Morishita
広之 森下
Tokuzo Kiyohara
督三 清原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2005170632A priority Critical patent/JP2006345349A/ja
Publication of JP2006345349A publication Critical patent/JP2006345349A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Logic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

【課題】プログラマブルロジックデバイス(以下PLD)におけるロジックセルの使用効率を高めることでPLDの面積増大を抑え、かつ、高速な構成情報の更新を可能とするPLDを搭載した半導体集積回路を提供すること。
【解決手段】少ビットの論理演算を行なう第1のプログラマブルセル(以下PC)210、多ビットの算術演算を行なう第2のPC211、第1、第2のPCに対する構成情報を記憶する第1、第2のメモリ220、221、第1、第2のPCに対する構成情報を設定するための第1、第2のデータバス230、231、第1、第2のメモリに対して構成情報を設定するための第3、第4のデータバス240、241を備え、所望のデータ処理機能を実現する設計データを処理に適したPC上に実現し、PC210、211の構成情報を独立に設定、変更する。
【選択図】図2

Description

本発明はFPLD(Field Programmable Logic Device)等のプログラマブルロジックデバイスを搭載する半導体集積回路に関し、特に半導体集積回路内のプログラマブルロジックデバイスの構成に関するものである。
例えば、ハードウェアをどのように構成するかを指定する構成情報(コンフィギュレーション情報)を内部に保持し、構成情報に従って所望のデータ処理機能を実現し、かつ構成情報を変更することにより、所望のデータ処理機能を実現するためにハードウェアの構成を変更可能とするLSI(Large Scale Integrated circuit)として、FPGA(Field Programmable Gate Array)がある。
Xilinx社などの代表的なFPGAは、LUT(Look Up Table)からなる均一なプログラマブルなロジックセルとプログラマブルな配線セルの組み合わせによりプログラマブルデバイスを実現している。一般的に、LUTは少ビットの算術論理演算機能を実現する細粒度処理エレメントであり、8ビットや16ビット、32ビットなどの多ビットデータに対するデータ処理を実現する場合には、多数のロジックセルと配線セルを必要とし、所望のデータ処理機能を布線論理による専用ハードウェアで実現する場合と比べて面積が増大する、処理性能(動作周波数)が低下するという問題点がある。
近年、プログラマブルロジックデバイスを時間的に多重化する、すなわち、プログラマブルなロジックセルと配線セル内に構成情報を複数有し、複数の構成情報の中から1つの情報を選択して、時間によって別の構成情報とプログラマブルなロジックセルと配線セルを切り換えて使用することで、所望のデータ処理機能を実現するためのプロググラマブルデバイスの面積が増大する問題を抑制するプログラマブルデバイスが出現している。
このようなプログラマブルデバイスとしては、アイピーフレックス社のDAP/DNA(Digital Application Processor/Distributed Network Architecture)、QuickSilver Technology社のACM(Adaptive Computing Machine)などがある。さらに、このようなプログラマブルデバイスにおけるプログラマブルなロジックセルは、プログラマブルデバイスの面積が増大する、処理性能(動作周波数)が低下するという問題点に対処するために、前述したFPGAにおけるLUTやAND−ORの少ビットの算術論理演算機能を実現する細粒度処理エレメントではなく、32ビットの多ビット算術論理演算機能を実現する粗粒度処理エレメントである。また、異なる演算毎に適切な、異なる粗粒度処理エレメントを実装する、非均一なプログラマブルロジックセルとプログラマブルな配線セルの組み合わせによりプログラマブルデバイスを実現している。
しかし、プログラマブルデバイスの面積が増大する、処理性能(動作周波数)が低下するという問題点に対する前述のような対処を行なったとしても、プログラマブルなロジックセルに関して多ビット算術論理演算機能を実現する粗粒度処理エレメントとし、配線セルを多くすると、所望のデータ処理が必要とするビット数に対して、プログラマブルなロジックセル内の粗粒度処理エレメントのビット数が大きすぎること、配線セルによる面積増大が問題となり、面積を小さくすることが考えられる。
上記のような技術の一つとして、特許文献1は複数のプログラマブルなロジックセルと配線からなるプログラマブルロジックデバイスにおけるプログラマブルロジックセルと配線の接続方式の技術を開示している。
図5は、前記特許文献1に記載された従来のプログラマブルロジックデバイスのプログラマブルロジックセルと配線の接続方式を示すブロック図を示すものである。このプログラマブルロジックデバイスの接続方式では、構成情報と外部から入力された入力情報との演算を行なう演算回路を備える複数のプログラマブルロジックセル511を、それぞれ複数の配線からなるデータ用サブ配線ネットワーク513および制御用サブ配線ネットワーク514から構成される配線ネットワーク512が取り囲む。プログラマブルロジックセル511は、制御用サブ配線ネットワーク514の配線から制御部分518を介して入力される制御情報に従って、いずれかの構成情報を内部出力する。プログラマブルロジックセル511は、制御情報に従って選択出力された構成情報と、データ用サブ配線ネットワーク513の配線からデータ入力部分517を介して入力された入力情報とを論理演算する論理回路を備える。この論理回路による演算結果は、データ用サブ配線ネットワーク513あるいは制御用サブ配線ネットワーク514の配線に出力される。
このように特許文献1に記載された従来のプログラマブルロジックデバイスでは、プログラマブルロジックセル内部で出力される構成情報は、制御用サブ配線ネットワークの配線を介して供給される制御情報によって切り換えられることにより、構成情報を切り換えるための制御信号のビット数が少なくて済み、制御用サブ配線ネットワークの配線数は少なくてよいので、プログラマブルロジックデバイスを小面積にすることができる。
特開2000−224025号公報
しかしながら、上述した従来のプログラマブルロジックデバイスにおけるプログラマブルロジックセルと配線セルの接続方式の技術では、プログラマブルロジックセルのプログラマブルロジックセル内部で出力される構成情報は、制御用サブ配線ネットワークの配線を介して供給される制御情報によって切り換えられることにより、制御用サブ配線ネットワークの配線数が少なくなり、プログラマブルロジックデバイスを小面積にすることができるが、プログラマブルロジックデバイスを小面積とするためのロジックセル、および構成情報の構成については開示されていない。
また、従来のプログラマブルロジックデバイスにおけるプログラマブルロジックセルと配線セルの接続方式の技術では、構成情報を変更、設定のためにロジックセルを使用するため、論理演算機能の実行と構成情報の変更を独立して行なうことができず、ロジックセル内部の構成情報の更新時間は短くすることができたとしても、プログラマブルロジックデバイス上で実行する所望の機能を高速に実行することはできないことが考えられる。
そこで本発明は、前記従来の課題を解決するもので、プログラマブルロジックデバイスにおけるロジックセルのハードウェア資源の使用効率を高めることでプログラマブルロジックデバイスの面積増大を抑え、かつ、高速な構成情報の更新を可能とすることでプログラマブルロジックデバイス上における所望の機能の高速な実行を可能とするプログラマブルロジックデバイスを搭載した半導体集積回路を提供することを目的とする。
前記従来の課題を解決するために、請求項1記載のプログラマブルロジックデバイスを搭載する半導体集積回路は、プログラマブルロジックデバイス部は、少ビットの算術論理演算を行なう細粒度処理エレメントで構成される複数の第1のプログラマブルセルと、多ビットの算術演算を行なう粗粒度処理エレメントで構成される複数の第2のプログラマブルセルと、第1のプログラマブルセルに対する複数の構成情報を記憶する第1のメモリと、第2のプログラマブルセルに対する複数の構成情報を記憶する第2のメモリと、複数の第1のプログラマブルセルに対する構成情報を設定するための第1のデータ転送手段と、複数の第2のプログラマブルセルに対する構成情報を設定するための第2のデータ転送手段と、第1のメモリに対して構成情報を設定するための第3のデータ転送手段と、第2のメモリに対して構成情報を設定するための第4のデータ転送手段を備え、複数の第1の各プログラマブルセルと第1のメモリは、第1のデータ転送手段で接続され、複数の第2の各プログラマブルセルと第2のメモリは、第2のデータ転送手段で接続され、第1のメモリは第3のデータ転送手段に接続され、第2のメモリは第4のデータ転送手段に接続され、第1のプログラマブルセルに対する構成情報と第2のプログラマブルセルに対する構成情報と第1のメモリに対する構成情報と第2のメモリに対する構成情報は独立に設定、変更を行なう。
この構成によれば、所望のデータ処理機能を処理に適した構成のプログラマブルセルで実行することにより、プログラマブルセルのハードウェア資源の使用効率を向上させることができる。また、細粒度処理エレメントで構成されるプログラマブルセルに対する構成情報と、粗粒度処理エレメントで構成されるプログラマブルセルに対する構成情報は独立して、設定、変更することができるため、高速な構成情報の更新が可能である。
請求項2記載のプログラマブルロジックデバイスを搭載する半導体集積回路は、第1のデータ転送手段、および第3のデータ転送手段は、第2のデータ転送手段、および第4のデータ転送手段よりも、高いデータバンド幅を有する。
この構成によれば、頻繁な構成情報の設定、変更が起こりえる構成情報を第1のメモリに格納し、高いデータバンド幅を有する第1、および第3のデータ転送手段により、構成情報の設定、変更を、第2のプログラマブルセルに対する構成情報の設定、変更と同時に設定、変更することができるため、さらなる高速な構成情報の更新が可能である。
請求項3記載のプログラマブルロジックデバイスを搭載する半導体集積回路は、プログラマブルロジックデバイス部において実行されるデータ処理機能の構成情報は、データに対する演算処理を実現するデータバス部の構成情報と、データに対する演算処理を実現するデータバス部に対して演算処理対象であるデータの供給と演算処理に対する制御を実現するコントロール部の構成情報とに分割され、コントロール部の構成情報は、複数の第1のプログラマセルに設定され、データバス部の構成情報は、複数の第2のプログラマブルセルに設定されることで、プログラマブルロジックデバイス部において実行されるデータ処理機能を実現する。
この構成によれば、プログラマブルロジックデバイス部において実行されるデータ処理機能に関して、少ビットの制御情報に対する演算を行なうコントロール部を第1のプログラマブルセルで、多ビットのデータに対する算術演算を行なうデータバス部を第2のプログラマブルセルで実行することにより、プログラマブルセルにおけるハードウェア資源の使用効率を向上させることができると伴に、データ処理機能に関する設計情報データにおいて、コントロール部の構成情報とデータバス部の構成情報を分割することにより、データ処理モード毎の制御、処理されるデータの供給制御など、頻繁に構成情報を更新するコントロール部の構成情報のデータサイズを小さくし、高速に設定、変更することができるため、さらなる高速な構成情報の更新が可能である。
本発明のプログラマブルロジックデバイスを搭載する半導体集積回路によれば、所望のデータ処理機能を処理に適した構成のプログラマブルセルで実行することにより、プログラマブルセルのハードウェア資源の使用効率を向上させることができ、プログラマブルロジックデバイスの面積増大を抑えることができる。また、データ処理機能に適した構成のプログラマブルセルに応じて構成情報を分割し、分割された構成情報は独立に設定、変更することにより、高速に構成情報の更新をすることができる。
以下本発明の実施の形態について、図面を参照しながら説明する。図1は、本発明に係る半導体集積回路100の概略構成を示すブロック図である。この半導体集積回路100は、プログラムなどによって与えられる処理を行なう汎用的な構成をもつプロセッサ部101と、プログラマブルロジックセルによりあるアプリケーションのデータ処理を実行するためのデータ処理機能が形成されるプログラマブルロジックデバイス部200と、このプロセッサ部101とプログラマブルロジックデバイス部200にクロック信号を供給するクロック発生部102と、外部メモリ110との間のデータ入出力を制御するバスコントローラ部103と、プログラマブルロジックデバイス部200がデータ処理を行なう場合に使用するローカルメモリ部107を備える。
プログラマブルロジックデバイス部200は、入出力バス104aによってバスコントローラ部103と接続されており、半導体集積回路100の外部メモリ110との間でデータを入出力でき、ローカルメモリバス108によってローカルメモリ部107と接続されており、ローカルメモリ部107との間でデータを入出力できる。また、プロセッサ部101も入出力バス104bによってバスコントローラ部103を介して外部メモリ110との間でデータを入出力できる。
プロセッサ部101とプログラマブルロジックデバイス部200は、プロセッサ部101とプログラマブルロジックデバイス部200との間でデータを入出力するためのデータバス105と、プロセッサ部101からプログラマブルロジックデバイス部200を制御するための制御バス106で接続される。
図2は、本発明の実施の形態におけるプログラマブルロジックデバイス部200の概略構成を示すブロック図である。図2において、本形態におけるプログラマブルロジックデバイス部200は、少ビットの算術論理演算を行なう細粒度処理エレメントで構成される複数の第1のプログラマブルセル210a〜210c、多ビットの算術演算を行なう粗粒度処理エレメントで構成される複数の第2のプログラマブルセル211a〜211i、複数の第1のプログラマブルセル210a〜210cに対する複数の構成情報を記憶する第1のメモリ220、複数の第2のプログラマブルセル211a〜211iに対する複数の構成情報を記憶する第2のメモリ221、複数の第1のプログラマブルセル210a〜210cに対する構成情報を設定するための第1のデータバス230、複数の第2のプログラマブルセル211a〜211iに対する構成情報を設定するための第2のデータバス231、第1のメモリ220に対してプログラマブルロジックデバイス部200の外部から構成情報を設定するための第3のデータバス240、第2のメモリ221に対してプログラマブルロジックデバイス部200の外部から構成情報を設定するための第4のデータバス241により構成される。
また、本形態におけるプログラマブルロジックデバイス部200内の少ビットの算術論理演算を行なう細粒度処理エレメントで構成される複数の第1のプログラマブルセル210a〜210c、多ビットの算術演算を行なう粗粒度処理エレメントで構成される複数の第2のプログラマブルセル211a〜211iはマトリックス状に配置されており、これらのプログラマブルセル間で所望のデータ処理を行なう対象となるデータのデータ転送手段としてデータネットワーク配線250と、これらのプログラマブルセルにおいて所望のデータ処理を行なうための制御データのデータ転送手段として、制御ネットワーク配線260を備えている。
データネットワーク配線250は、マトリックス状に配置されたプログラマブルセル210a〜210c、211a〜211iのそれぞれを接続するために、プログラマブルセル210a〜210c、211a〜211iを取り囲むように配置されており、データネットワーク配線250と各プログラマブルセルは、プログラマブルセルへのデータ入力線270とプログラマブルセルからのデータ出力線271で接続され、制御ネットワーク配線は、データネットワーク配線250と同様にプログラマブルセル210a〜210c、211a〜211iを取り囲むように配置されており、制御ネットワーク配線260と各プログラマブルセルは、プログラマブルセルへの制御入力線280とプログラマブルセルからの制御出力線281で接続されている。また、データネットワーク配線250、制御ネットワーク配線260は、プログラマブルロジックデバイス部200の外部とも接続され、データネットワーク配線250は図1における入出力バス104a、データバス105、およびローカルメモリバス108と接続され、制御ネットワーク配線250は制御バス106と接続される。
次に、プログラマブルロジックデバイス部200上で実現されるデータ処理機能を実行するために設計されたハードウェアについて説明する。図3はデータ処理機能を実行するハードウェア設計の概略構成の一例を示したブロック図である。民生機器向けのLSIでは、すべての処理をプロセッサで実施すると高い動作周波数、高い並列処理性能が必要となるため、プログラムによって与えられる処理を柔軟に行なう汎用的な構成をもつプロセッサに、定型処理を実現する布線論理による専用ハードウェアを付加し、プロセッサと専用ハードウェアで処理を分担する構成が採られることが一般的である。このように処理を分担する場合、図3に示すようにプロセッサと専用ハードウェアが同時動作可能なように、専用ハードウェアはあるデータ処理機能を行なう対象となるデータを格納するローカルメモリを備えることが一般的であり、そのときのメモリを除くデータ処理ハードウェア部の構成は、ローカルメモリからデータを読み出し、ローカルメモリへデータをライトするためのアドレス生成、メモリに対する読み出し有効信号、書き込み有効信号などの制御を行なうメモリアクセス制御部、ローカルメモリから読み出したデータに対する所望の処理を行なうデータバス部、メモリから読み出したデータをデータバス部に供給し、データバス部で処理されたデータをメモリに書き込むためのメモリインタフェース部、これらメモリアクセス制御部、データバス部、メモリインタフェース部を所望の処理を行なうデータ処理フローに従って制御するための全体制御部に大別することができる。
さらに、一般的にメモリインタフェース部、データバス部はデータ処理で行なうデータのビット幅を持ち、多ビットの算術演算が主であり、メモリアクセス制御部、全体制御部は、メモリアドレスのビット幅、1ビットの制御信号を持ち、少ビットの算術論理演算が主であるという特長がある。また、所望のデータ処理機能において複数の処理モードがある場合、複数の処理モードにおいてメモリインタフェース部、データバス部は共通化され、複数の処理モードの違いをメモリアクセス制御部、全体制御部で実現することが多い。したがって、プログラマブルロジックデバイス部においてデータ処理機能を実現する場合、メモリインタフェース部、データバス部の構成情報とメモリアクセス制御部、全体制御部の構成情報を分割して、少ビットの算術論理演算が主であるメモリアクセス制御部、全体制御部と、多ビットの算術演算を主とするメモリインタフェース部、データバス部をそれぞれの性質に適したプログラマブルセルで実現することにより、プログラマブルセルにおけるハードウェア資源の使用効率を向上させ、必要となるプログラマブルロジックデバイス部のプログラマブルセルの量を少なく抑えることができると伴に、設定、変更する構成情報を最小限にとどめて、構成情報の設定、変更を高速にできることができることが多い。
次に、図2においてプログラマブルロジックデバイス部200において4×4行列2次元直交変換処理を実行する場合の動作について説明する。まず、4×4行列2次元直交変換処理について説明する。図4(a)および図4(b)は、4×4行列1次元直交変換演算式と2次元直交変換処理、および4×4行列2次元直交変換処理におけるデータ入力とそのときのメモリアクセスの一例を示した図である。4×4行列2次元直交変換処理は、図4(a)に示すように、まず1次元目の直交変換演算として、画素データ行列xijの列方向(i=0〜3)に対して4×4行列1次元直交変換演算1D_Trans(xij)を行ない、次に2次元目の直交演算として、1次元目の直交変換演算結果データ行列zijの行方向(j=0〜3)に対して4×4行列1次元直交変換演算1D_Trans(zij)を行なう。このように、1次元目と2次元目の直交演算処理では同じ演算1D_Trans(xij)を行なうため、この4×4行列2次元直交変換処理機能を実現するデータ処理ハードウェアのデータバス部は同じデータバス部を利用することができる。これに対して、1次元目と2次元目の直交変換処理で同じデータバス部を利用すると、図4(b)に示すように1次元目と2次元目の直交変換処理ではデータバス部に対するデータ入力が異なるため、メモリアクセスのためのアドレス生成を行なうメモリアクセス制御部と全体制御は1次元目と2次元目の直交変換処理で異なり、それぞれ異なるメモリアクセス制御と全体制御を行なうハードウェアを実現する必要がある。
このように、4×4行列2次元直交変換処理をプログラマブルロジックデバイス部200において実行する場合、1次元目と2次元目の直交変換処理で同じメモリインタフェース部とデータバス部を利用でき、メモリアクセス制御部と全体制御部に関する構成情報を設定、変更すればよいので、メモリインタフェース部、データバス部の構成情報とメモリアクセス制御部、全体制御部の構成情報を分割して、設定、変更可能とすることで設定、変更する構成情報を最小限にとどめて、高速な構成情報の設定、変更が可能となるとともに、必要となるプログラマブルロジックデバイス部のプログラマブルセルの量を少なく抑えることができる。
したがって、まず4×4行列2次元直交変換処理をプログラマブルロジックデバイスで実現する200で実行できる構成情報を生成する段階において、メモリインタフェース部、データバス部の構成情報とメモリアクセス制御部、全体制御部の構成情報を分割し、半導体集積回路100外部のメモリ110に格納する。メモリアクセス制御部、全体制御部の構成情報は、小ビットの算術論理演算を対象とするため、第1のプログラマブルセル210a〜cで実行されるように第1のメモリ220に格納されるものである。メモリインタフェース部、データバス部の構成情報は、多ビットの算術演算、データ処理を対象とするため、第2のプログラマブルセル211a〜iで実行されるように第2のメモリ221に格納されものである。本実施の形態では、4×4行列2次元直交変換処理を行なうデータは半導体集積回路100外部のメモリ110に格納するものとする。
半導体集積回路100外部のメモリ110に格納された4×4行列2次元直交変換処理の構成情報はプロセッサ部101の制御により、バスコントローラ部103、入出力バス104bを介してプロセッサ部101内のメモリに一旦格納される。プロセッサ部101はデータバス105を介して、4×4行列2次元直交変換処理における1次元目の直交変換処理と2次元目の直交変換の処理に対するメモリアクセス制御部、全体制御部の構成情報を第1のメモリ220に格納し、メモリインタフェース部、データバス部の構成情報を第2のメモリ221に格納する。第1、第2のメモリ220、221への構成情報の格納と並行して、半導体集積回路100外部のメモリ110に格納された4×4行列2次元直交変換処理を行なうデータはプロセッサ部101の制御により、バスコントローラ部103、入出力バス104a、プログラマブルロジックデバイス部200内のデータネットワーク配線250を介して、ローカルメモリ部107に格納する。
第1、第2のメモリ220、221への構成情報の格納が完了したら、プロセッサ部101の制御により、第1のメモリ220に格納された4×4行列2次元直交変換処理における1次元目の直交変換処理に対するメモリアクセス制御部、全体制御部の構成情報を第1のデータバス230を介して第1のプログラマブルセル210a〜cに、4×4行列2次元直交変換処理におけるメモリインタフェース部、データバス部の構成情報を第2のデータバス231を介して第2のプログラマブルセル211a〜iにそれぞれ設定する。プログラマブルロジックデバイス部200に対するプロセッサ部101からの制御は、制御バス106を介して行なう。
4×4行列2次元直交変換処理における1次元目の直交変換処理に対するメモリアクセス制御部、全体制御部の構成情報の第1のプログラマブルセル210a〜cへの設定、4×4行列2次元直交変換処理におけるメモリインタフェース部、データバス部の構成情報の第2のプログラマブルセル211a〜iへの設定が完了し、この時点において4×4行列2次元直交変換処理を行なうデータのローカルメモリ部107への格納が完了していれば、プロセッサ部101の制御により、プログラマブルロジックデバイス部200は4×4行列2次元直交変換処理における1次元目の直交変換処理を開始する。4×4行列2次元直交変換処理を行なうデータのローカルメモリ部107への格納が完了していなければ、4×4行列2次元直交変換処理を行なうデータのローカルメモリ部107への格納が完了してから、1次元目の直交変換処理を開始するようにプロセッサ部101は制御を行なう。1次元目の直交処理変換処理が開始されると、第1のプログラマブルセル210a〜cに実現されたメモリアクセス制御部、全体制御部の動作により、ローカルメモリ108から4×4行列2次元直交変換処理を行なうデータxijが読み出され、ローカルメモリバス108、データネットワーク配線250を介して、第2のプログラマブルセル211a〜iに供給され、第2のプログラマブルセルに実現された4×4行列1次元直交変換演算1D_Trans(xij)が行なわれ、第2のプログラマブルセル211a〜iから出力された4×4行列1次元直交変換演算結果データzijがデータネットワーク配線250、ローカルメモリバス108を介して、ローカルメモリ部107に格納される。そして、4×4行列1次元直交変換演算結果データzijが全てローカルメモリ部107に格納されると1次元目の直交処理変換処理が完了する。
次に、1次元目の直交変換処理が完了したら、プロセッサ部101、あるいは第1のプログラマブルセル210a〜cに実現された全体制御部の構成情報における制御により、2次元目の直交変換処理に対するメモリアクセス制御部、全体制御部の構成情報を第1のデータバス230を介して第1のプログラマブルセル210a〜cに設定し、第1のプログラマブルセル210a〜cに設定された1次元目の直交変換処理に対するメモリアクセス制御部、全体制御部の構成情報を、2次元目の直交変換処理に対するメモリアクセス制御部、全体制御部の構成情報に変更する。このとき、メモリインタフェース部、データバス部に対する構成情報は、1次元目の直交変換処理と2次元目の直交変換処理において同一のものが利用できるため、メモリインタフェース部、データバス部に対する構成情報を変更する必要はない。
第1のプログラマブルセル210a〜cに設定された1次元目の直交変換処理に対するメモリアクセス制御部、全体制御部の構成情報の2次元目の直交変換処理に対するメモリアクセス制御部、全体制御部への構成情報への変更が完了したら、プロセッサ部101、あるいは第1のプログラマブルセル210a〜cに実現された全体制御部の構成情報おける制御により、プログラマブルロジックデバイス部200は4×4行列2次元直交変換処理における2次元目の直交変換処理を開始する。
2次元目の直交処理変換処理が開始されると、1次元目の直交変換処理と同様に、第1のプログラマブルセル210a〜cに実現されたメモリアクセス制御部、全体制御部の動作により、ローカルメモリバス108から4×4行列2次元直交変換処理を行なうデータzijが読み出され、ローカルメモリバス108、データネットワーク配線250を介して、第2のプログラマブルセル211a〜iに供給され、第2のプログラマブルセルに実現された4×4行列1次元直交変換演算1D_Trans(zij)が行なわれ、第2のプログラマブルセル211a〜iから出力された4×4行列1次元直交変換演算結果データyijがデータネットワーク配線250、ローカルメモリバス108を介して、ローカルメモリ部107に格納される。そして、4×4行列1次元直交変換演算結果データyijが全てローカルメモリ部107に格納されると2次元目の直交処理変換処理が完了する。
4×4行列2次元直交変換処理が完了した時点で、再度4×4行列2次元直交変換処理を繰り返す場合は、第1、第2のメモリ220、221に格納された4×4行列2次元直交変換処理の構成情報を再利用し、プロセッサ部101、あるいは第1のプログラマブルセル210a〜cに実現された全体制御部の構成情報おける制御により、1次元目の直交変換処理に対するメモリアクセス制御部、全体制御部の構成情報を第1のデータバス230を介して第1のプログラマブルセル210a〜cに設定し、第1のプログラマブルセル210a〜cに設定された2次元目の直交変換処理に対するメモリアクセス制御部、全体制御部の構成情報を、1次元目の直交変換処理に対するメモリアクセス制御部、全体制御部の構成情報に変更するのと並行して、今回の4×4行列2次元直交変換処理結果yijをローカルメモリ部107からローカルメモリバス108、データネットワーク配線250、入出力バス104a、バスコントローラ部103を介して、半導体集積回路100外部のメモリ110に格納し、次に4×4行列2次元直交変換処理を行なうデータを半導体集積回路100外部のメモリ110からローカルメモリ部107に格納して、次の4×4行列2次元直交変換処理を同様に行なう。4×4行列2次元直交変換処理が完了した時点で、4×4行列2次元直交変換処理とは異なるデータ処理を行なう場合には、4×4行列2次元直交変換処理の場合と同様に、所望のデータ処理機能を実現する構成情報と所望のデータ処理を行なう対象のデータを第1、第2のメモリ220、221、およびローカルメモリ部107にそれぞれ格納する。
このように、本形態の構成によれば、プログラマブルロジックデバイスを搭載する半導体集積回路100は、プログラマブルロジックデバイス部200において実行されるデータ処理機能に関して、少ビットの制御情報に対する演算を行なうコントロール部を第1のプログラマブルセル210a〜cで、多ビットのデータに対する算術演算を行なうデータバス部を第2のプログラマブルセル211a〜iで実行することにより、プログラマブルセルにおけるハードウェア資源の使用効率を向上させることができると伴に、データ処理機能に関する設計情報データにおいて、コントロール部の構成情報とデータバス部の構成情報を分割し、第1のデータバス230、第3のデータバス240を介してコントロール部の構成情報の設定、変更と第2のデータバス221、第4のデータバス241を介してデータバス部の構成情報の設定、変更を独立に行なうことにより、頻繁に構成情報を更新するコントロール部の構成情報のデータサイズを小さくし、高速に設定、変更することが可能である。
なお、本実施の形態における4×4行列2次元直交変換処理を行なうデータは半導体集積回路100外部のメモリ110に格納されているとしているが、半導体集積回路100内部のプロセッサ部101のメモリに格納されていてもよい。この場合、4×4行列2次元直交変換処理を行なうデータはプロセッサ部101の制御により、データバス105を介してローカルメモリ部107に格納される。
なお、本実施の形態におけるプログラマブルロジックデバイス部200は、3つの第1のプログラマブルセル210a〜210cと9つの第2のプログラマブルセル211a〜211iで構成されているが、プログラムロジックデバイス部200上で実現するデータ処理機能に応じて、プログラマブルロジックセルはいくつであってもよい。
なお、本実施の形態におけるプログラマブルセルと制御ネットワーク配線250との接続において、プログラマブルセル210a〜210cは、プログラマブルセルへの制御入力線280とプログラマブルセルからの制御出力線281で接続され、プログラマブルセル211a〜211iは、プログラマブルセルへの制御入力線280のみで接続されているが、プログラマブルセル211a〜211iは、物理的にはプログラマブルセルへの制御入力線280とプログラマブルセルからの制御出力線281で接続され、論理的にプログラマブルセルからの制御出力線281が接続されないように実現されてもよい。
なお、本実施の形態において、マトリックス状に配置されたデータネットワーク配線250と、制御ネットワーク配線260における行方向配線と列方向配線との交わる位置は、ネットワーク配線の任意の接続が可能となるように、任意の行方向ネットワーク配線と任意の列方向ネットワーク配線を接続するスイッチ回路とスイッチ回路の接続をする設定データを記憶するメモリで実現されてもよい。
なお、本実施の形態において、第1のプログラマブルセル210a〜210cに対する複数の構成情報を記憶する第1のメモリ220、第2のプログラマブルセル211a〜211iに対する複数の構成情報を記憶する第2のメモリ221は、デュアルポートメモリ、あるいはバンク構成メモリで実現し、第1、第2のメモリ220、221からプログラマブルセル210、211に対する構成情報の設定、変更と、第3、第4のデータバス240、241からの第1、第2のメモリ220、221に対する構成情報の設定、変更を独立に行なえるようにすることで構成情報の高速な設定、変更を図ってもよい。
本発明にかかるプログラマブルロジックデバイスを搭載する半導体集積回路は、少ビットの論理演算を行なう細粒度処理エレメントで構成されるプログラマブルセルと、多ビットの算術演算を行なう粗粒度処理エレメントで構成されるプログラマブルセルと、細粒度処理エレメントで構成されるプログラマブルセルに対する構成情報と粗粒度処理エレメントで構成されるプログラマブルセルに対する構成情報を設定するためのデータ転送手段を独立に有し、プログラマブルセルにおけるハードウェア資源の使用効率を向上させ、かつ、高速な構成情報の更新を可能とするプログラマブルロジックデバイスとして有用である。また、更新が必要となる構成情報の規模を最小限にとどめること、および構成情報を高速に設定、変更することが可能であるので、高速性およびリアルタイム性が要求されるデータ処理機能を実現するプログラマブルな半導体集積回路に好適に利用できる。
本発明に係る半導体集積回路の概略構成を示すブロック図 本発明の実施の形態におけるプログラマブルロジックデバイス部の概略構成を示すブロック図 プログラマブルロジックデバイス部上でデータ処理機能を実行するハードウェア設計の概略構成の一例を示すブロック図 4×4行列1次元直交変換演算式と2次元直交変換処理および4×4行列2次元直交変換処理におけるデータ入力とメモリアクセスの一例を示す説明図 従来のプログラマブルロジックデバイスのプログラマブルロジックセルと配線の接続の一例を示すブロック図
符号の説明
100 プログラマブルロジックデバイスを搭載する半導体集積回路
101 プロセッサ部
102 クロック発生部
103 バスコントローラ部
104 入出力バス
105 データバス
106 制御バス
107 ローカルメモリ部
108 ローカルメモリバス
110 外部メモリ
200 プログラマブルロジックデバイス部
210 第1のプログラマブルセル
211 第2のプログラマブルセル
220 第1の構成情報格納メモリ
221 第2の構成情報格納メモリ
230 第1のプログラマブルセルに対する構成情報を設定する第1のデータバス
231 第2のプログラマブルセルに対する構成情報を設定する第2のデータバス
240 第1の構成情報格納メモリに対する構成情報を設定する第3のデータバス
241 第2の構成情報格納メモリに対する構成情報を設定する第4のデータバス
250 データネットワーク配線
260 制御ネットワーク配線
270 データ入力線
271 データ出力線
280 制御入力線
281 制御出力線
511 プログラマブルロジックセル
512 配線ネットワーク
513 データ用サブ配線ネットワーク
514 制御用サブ配線ネットワーク
517 データ入力部分
518 制御部分
519 出力部分

Claims (3)

  1. プログラマブルロジックデバイスを搭載する集積回路であって、
    プログラマブルロジックデバイス部は、少ビットの算術論理演算を行なう細粒度処理エレメントで構成される複数の第1のプログラマブルセルと、
    多ビットの算術演算を行なう粗粒度処理エレメントで構成される複数の第2のプログラマブルセルと、
    前記複数の第1のプログラマブルセルに対する複数の構成情報を記憶する第1のメモリと、
    前記複数の第2のプログラマブルセルに対する複数の構成情報を記憶する第2のメモリと、
    前記複数の第1のプログラマブルセルに対する構成情報を設定するための第1のデータ転送手段と、
    前記複数の第2のプログラマブルセルに対する構成情報を設定するための第2のデータ転送手段と
    前記第1のメモリに対して構成情報を設定するための第3のデータ転送手段と、
    前記第2のメモリに対して構成情報を設定するための第4のデータ転送手段を備え、
    前記複数の第1のプログラマブルセルと前記第1のメモリは、前記第1のデータ転送手段で接続され、
    前記複数の第2のプログラマブルセルと前記第2のメモリは、前記第2のデータ転送手段で接続され、
    前記第1のメモリは、前記第3のデータ転送手段に接続され、
    前記第2のメモリは、前記第4のデータ転送手段に接続され、
    前記第1のプログラマブルセルに対する構成情報と前記第2のプログラマブルセルに対する構成情報と前記第1のメモリに対する構成情報と前記第2のメモリに対する構成情報を独立に設定、変更することが可能なことを特徴とする半導体集積回路。
  2. 請求項1に記載の半導体集積回路において、
    前記第1、および第3のデータ転送手段は、前記第2、および第4のデータ転送手段よりも、高いデータバンド幅を有し、
    前記第1のプログラマブルセルに対する構成情報は、前記第2のプログラマブルセルに対する構成情報よりも、高速に設定、変更することが可能なことを特徴とする半導体集積回路。
  3. 請求項1または2に記載の半導体集積回路において、
    前記プログラマブルロジックデバイス部において実行されるデータ処理機能の構成情報は、データに対する演算処理を実現するデータバス部の構成情報と、
    前記データに対する演算処理を実現するデータバス部に対して演算処理対象であるデータの供給と演算処理に対する制御を実現するコントロール部の構成情報とに分割され、
    前記コントロール部の構成情報は、前記複数の第1のプログラマセルに設定され、前記コントロール部の機能を実現し、
    前記データバス部の構成情報は、前記複数の第2のプログラマブルセルに設定され、前記データバス部の機能を実現することで、
    前記プログラマブルロジックデバイス部において実行されるデータ処理機能を実現することを特徴とする半導体集積回路。
JP2005170632A 2005-06-10 2005-06-10 プログラマブルロジックデバイスを搭載する半導体集積回路 Pending JP2006345349A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005170632A JP2006345349A (ja) 2005-06-10 2005-06-10 プログラマブルロジックデバイスを搭載する半導体集積回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005170632A JP2006345349A (ja) 2005-06-10 2005-06-10 プログラマブルロジックデバイスを搭載する半導体集積回路

Publications (1)

Publication Number Publication Date
JP2006345349A true JP2006345349A (ja) 2006-12-21

Family

ID=37641947

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005170632A Pending JP2006345349A (ja) 2005-06-10 2005-06-10 プログラマブルロジックデバイスを搭載する半導体集積回路

Country Status (1)

Country Link
JP (1) JP2006345349A (ja)

Similar Documents

Publication Publication Date Title
US9954533B2 (en) DRAM-based reconfigurable logic
JP2022115959A (ja) 準同型暗号下での安全な計算を加速するための準同型処理ユニット(hpu)
JP4104538B2 (ja) リコンフィギュラブル回路、リコンフィギュラブル回路を備えた処理装置、リコンフィギュラブル回路における論理回路の機能決定方法、回路生成方法および回路
JP2017102923A (ja) 加速器コントローラ及びその加速器ロジックローディング方法
US20090282213A1 (en) Semiconductor integrated circuit
JP4484756B2 (ja) リコンフィギュラブル回路および処理装置
US20060259529A1 (en) Array of Data Processing Elements with Variable Precision Interconnect
JP4485272B2 (ja) 半導体装置
JPWO2006129722A1 (ja) 再構成可能な装置
JP5007838B2 (ja) 情報処理装置および情報処理プログラム
JP2006345349A (ja) プログラマブルロジックデバイスを搭載する半導体集積回路
JP5336398B2 (ja) 半導体集積回路、半導体集積回路の構成変更方法
US9607682B1 (en) Address decoding circuit
JP4553615B2 (ja) 処理装置
JP5882714B2 (ja) リコンフィギュラブルプロセッサの制御方法及びリコンフィギュラブルプロセッサのコンフィギュレーション情報を生成する方法及びコンフィギュレーション情報生成ツール
JP4669781B2 (ja) 処理装置
JP4562678B2 (ja) データフローグラフ再構成装置、リコンフィギュラブル回路の設定データ生成装置、及び処理装置
JP5206063B2 (ja) 記述処理装置、記述処理方法およびプログラム
JP2005189966A (ja) 画像処理装置
JP4562679B2 (ja) データフローグラフ生成装置
JP4357326B2 (ja) リコンフィギュラブル回路および処理装置
JP6553694B2 (ja) プロセッサエレメント、プログラマブルデバイス及びプロセッサエレメントの制御方法
JP4330472B2 (ja) 処理装置
JP3515997B2 (ja) プログラマブル半導体デバイス
JP4437439B2 (ja) データ処理装置