JP3934493B2 - 集積回路及びシステム開発方法 - Google Patents

集積回路及びシステム開発方法 Download PDF

Info

Publication number
JP3934493B2
JP3934493B2 JP2002190555A JP2002190555A JP3934493B2 JP 3934493 B2 JP3934493 B2 JP 3934493B2 JP 2002190555 A JP2002190555 A JP 2002190555A JP 2002190555 A JP2002190555 A JP 2002190555A JP 3934493 B2 JP3934493 B2 JP 3934493B2
Authority
JP
Japan
Prior art keywords
arithmetic
dedicated hardware
inter
connection
circuit
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.)
Expired - Fee Related
Application number
JP2002190555A
Other languages
English (en)
Other versions
JP2004040188A (ja
Inventor
美寿 齋藤
佳生 廣瀬
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2002190555A priority Critical patent/JP3934493B2/ja
Priority to US10/461,427 priority patent/US7716458B2/en
Priority to KR1020030041417A priority patent/KR100922411B1/ko
Priority to CNB031452531A priority patent/CN100437975C/zh
Publication of JP2004040188A publication Critical patent/JP2004040188A/ja
Application granted granted Critical
Publication of JP3934493B2 publication Critical patent/JP3934493B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Logic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Executing Machine-Instructions (AREA)
  • Microcomputers (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、一般に集積回路に関し、詳しくは論理を再構成可能な集積回路に関する。
【従来の技術】
実行する処理が予め決められている場合には、これに対して専用LSIを設計すれば、高い性能且つ少ない消費電力でこの処理を実行するシステムを実現することが出来る。但し、仕様を変更して異なる処理を実行しようとすると、設計及び製造を全てやり直す必要があり、専用LSIは仕様変更可能性が極めて低い構成である。
【0002】
仕様変更可能性が高い構成としては、プロセッサによりソフトウェアを実行し、仕様の変更はソフトウェアを書き換えることで実現する構成が挙げられる。この場合、仕様変更可能性は極めて高いが、プロセッサは汎用処理を実行可能なように構成されているために冗長性が高く、処理性能が低くなると共に消費電力が大きくなってしまう。
【0003】
FPGA(Field Programmable Gate Array)は、メモリへのコンフィギュレーションデータの書き込みによって論理素子間の接続を自由に再構成可能とすることにより、ゲート単位での変更を可能な構成とするものである。但し仕様変更可能性があるといっても、仕様変更のためにはRTL(Register Transfer Logic)設計からやり直す必要があり、専用LSIのようにハードウェアを製造し直す必要は無いが、論理設計の面では専用LSIの設計変更と同等の手間がかかってしまう。またハードウェアに冗長性が高いために、回路規模の面では例えば専用LSIの10倍程度の大きさになってしまい、コストが高く消費電力も大きい。
【0004】
またSOC(System on Chip)は、プロセッサと専用ハードウェアとを同一のLSIチップで構成したものであり、プロセッサは専用ハードウェアを制御するために使用される。専用ハードウェア部分については、上述の専用LSIと同一の問題がある。
【0005】
またFPGAとプロセッサとを組み合せ、プロセッサにより専用ハードウェアを制御する構成が存在する。この構成においてFPGAの部分については、上述のFPGAの問題点がそのまま当てはまる。
【0006】
またプログラミングの問題を考えると、プロセッサとソフトウェアとで構成される高い仕様変更可能性を備えたシステムにおいてさえ、トップダウン的に設計をする場合には、ソフトウェアの仕様変更には大きな手間と時間とがかかり大変な作業となってしまう。トップダウン的なアプローチにおいては処理手順がフローチャートで表現されるために、フローチャートを書き直してソフトウェアを変更する作業は容易ではない。例えば、新しい処理を追加する場合、既存のプログラムの一部に条件分岐を追加すること等が必要になり、新たな処理を単に追加するだけでなく、更なる処理を分岐の先に展開する必要が生じたりする。これを繰り返すとプログラムの可読性やメンテナンス性が低くなり、エラーが多くなったり修正が不可能な状態になったりする。
【0007】
またSOCでのプログラミングの問題としては、ソフトウェアとハードウェアとの役割の振り分けの難しさがある。SOCにおいては、設計の初期段階において設計者が経験則に基づいてソフトウェアとハードウェアとに各処理部分を割り振るので、処理の振り分けが最適化されていない場合が多い。また後になってから、ハードウェアとソフトウェアとの間の境界を動かすことが難しい。
【0008】
即ち、トップダウン的アプローチによるソフトウェアとハードウェアとの切り分けにおいては、設計の最初の段階で全体を見渡し、経験に基づいて重いと判断される処理をハードに割り当て、軽いと判断される処理及び制御はソフトに割り当てる。このような設計手法により得られる構成は、必ずしも最適化されていない。後になって、ハードウェアからソフトウェアに処理を移行させることは不可能ではないが、ソフトウェアからハードウェアに処理を移行するためにはハードウェアの設計変更と工場での製造工程が必要となってしまう。
【発明が解決しようとする課題】
上記のような問題点を解決する1つの手法として、プレアデスというシステムが提案されている(Hui Zhang, Vandana Prabhu, Varghese George, Marlene Wan, Martin Benes, Arthur Abnous, "A 1V Heterogeneous Reconfigurable Processor IC for Baseband Wirelss Applications", Proceedings of ISSCC2000)。プレアデスにおいては、プロセッサ、MAC(乗加算器)、ALU(算術演算器)、AGU(アドレス生成器)、MEM(メモリ)、FPGA等をバスにより接続し、シングルスレッド処理を実行するように設計されている。
【0009】
プレアデスにおいては、プロセッサ以外に粒度(変更可能な単位の大きさ)が異なる複数種類の再構成可能なモジュール及び専用ハードウェアを提供することにより、仕様変更可能性、性能、及び消費電力の3点から最適化された構成を提供しようとする。但し設計方法がトップダウン的であり、ソフトウェア動作からハードウェア(再構成可能な部分も含む)に移動する処理部分を切り出して、その部分をハードウェアに移動することで最適化をするため、移動のための設計変更に時間がかかる。
【0010】
またプレアデスでは、シングルプロセス(或いはシングルスレッド)内の処理を各モジュールに割り当てて信号処理を行っているため、各モジュール間で頻繁なデータ転送が必要となり、モジュール間の信号伝送路のリソースにより処理性能が制限される。これをハードウェア的な観点から考えると、プレアデスではMAC(乗加算器)やALU(算術演算器)といった個々の演算器とFPGAやプロセッサとが、信号伝送路上の同一の階層に設けられる構成となっているため、演算器間或いは演算器とFPGA間若しくは演算器とプロセッサ間でのデータの転送量が大きくなり、処理性能が劣化してしまう。
【0011】
以上を鑑みて、本発明は、仕様変更可能性、性能、及び消費電力が異なる複数のモジュールを搭載し最適な処理の割当てを可能にすると共に、信号伝送路における転送量が比較的少ない論理再構成可能な集積回路を提供することを目的とする。
【課題を解決するための手段】
本発明による集積回路は、プロセッサと、複数の演算器と該演算器間を変更可能に接続する接続経路とを含む演算回路群と、パラメータ設定により処理仕様を変更できるパラメータ付専用ハードウェアと、該プロセッサ、該演算回路群、該パラメータ付専用ハードウェアを互いに接続するモジュール間インターフェースを含み、該演算回路群は、該モジュール間インターフェースに接続されるデータ格納回路と、該データ格納回路と該演算器との間に信号経路を確立し該信号経路の接続を変更可能な接続回路と、該接続回路の該信号経路の接続を制御する制御回路とを含み、該複数の演算器間のデータ転送が該演算回路群内で閉じていることを特徴とする。
【0012】
上記発明においては、異なる粒度(変更可能な単位の大きさ)を有する複数の異なるモジュールを搭載することにより、消費電力、性能、仕様変更可能性を最適化することが可能になる。また個々の演算回路がモジュール間インターフェースに独立に接続されるのではなく、演算回路群内に可変な接続経路を設け複数の演算回路を含む構成となっているために、複数の演算器間でのデータ転送を演算回路群内で閉じた構成が実現される。従って本発明においては、モジュール間インターフェース上のデータ転送速度により演算器による演算処理速度が制限されることがなく、高いシステム性能を達成することが出来る。
【0013】
また本発明によるシステム開発方法は、プロセッサと、複数の演算器と該演算器間を変更可能に接続する接続経路とを含む演算回路群と、パラメータ設定により処理仕様を変更できるパラメータ付専用ハードウェアと、該プロセッサ、該演算回路群、該パラメータ付専用ハードウェアを互いに接続するモジュール間インターフェースを含み、該演算回路群は、該モジュール間インターフェースに接続されるデータ格納回路と、該データ格納回路と該演算器との間に信号経路を確立し該信号経路の接続を変更可能な接続回路と、該接続回路の該信号経路の接続を制御する制御回路とを含み、該複数の演算器間のデータ転送が該演算回路群内で閉じている集積回路について、オブジェクト指向分析によりオブジェクト及びオブジェクト間の関係を生成し、互いに関係するオブジェクトを纏めることにより少なくとも1つのオブジェクトを含むプロセスを生成し、該集積回路の該プロセッサ、該演算回路群、及び該パラメータ付専用ハードウェア毎に該プロセスを割り当てる各段階を含む。
【0014】
上記発明では、ハードウェアを含むシステムをオブジェクトで構成することで、オブジェクトの変更等による仕様変更を容易に行うことが出来る。プロセッサ部分或いは再構成可能なハードウェア部分にマッピングされたオブジェクトについては仕様変更が可能であり、仕様変更の対象であるオブジェクトと集積回路のモジュールとの対応関係が明確であるので、仕様変更を容易に行うことが出来る。
【発明の実施の形態】
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
【0015】
図1は、本発明によるアプリケーション特化型プラットフォームLSIの構成を示す図である。
【0016】
図1において、アプリケーション特化型プラットフォームLSI10は、プロセッサ11、複数の演算器によって構成され演算器間の接続を可変とすることで演算処理の流れを再構成可能な演算回路群12、ゲートレベルの論理変更が可能な再構成可能ゲートアレイ13、特定の処理を実行するための専用ハードウェア14、パラメータ設定により特定の処理の仕様変更が可能なパラメータ付専用ハードウェア15、共有されるメモリ16、及びモジュール間インターフェース17を含む。なお図1において、演算回路群12、再構成可能ゲートアレイ13、専用ハードウェア14、及びパラメータ付専用ハードウェア15は、それぞれ複数個設けられているが、個数に特に制限は無く1つだけ設ける構成であってもよい。また本発明においてアプリケーション特化型プラットフォームLSI10は、少なくともプロセッサ11、演算回路群12、及びパラメータ付専用ハードウェア15を含む構成であるとし、それ以外の論理モジュールである再構成可能ゲートアレイ13及び専用ハードウェア14はオプションである。
【0017】
図1のように、本発明においては、異なる粒度(変更可能な単位の大きさ)を有する複数の異なるモジュールを搭載することにより、消費電力、性能、仕様変更可能性を最適化することが可能になる。即ち、処理の各部分を最適なモジュールに割当てて実行することにより消費電力と性能とを最適化すると共に、仕様変更の場合に必要となる変更の単位の大きさを考慮してモジュールへの処理の割当てを考慮することにより、最適な仕様変更可能性を実現することが出来る。
【0018】
図2は、アプリケーション特化型プラットフォームLSIの第1実施例の構成を示す図である。図2において、図1と同一の構成要素は同一の番号で参照し、その説明は省略する。
【0019】
図2のアプリケーション特化型プラットフォームLSI10Aは、図1の構成要素に加え、データ転送コントローラ18を含む。またモジュール間インターフェース17は複数本のバスで構成され、データ転送コントローラ18がバス上のデータ転送をコントロールする構成となっている。また共有メモリ16以外に、各モジュールにローカルなメモリを備えても良い。
【0020】
図3は、アプリケーション特化型プラットフォームLSIの第2実施例の構成を示す図である。図3において、図1と同一の構成要素は同一の番号で参照し、その説明は省略する。
【0021】
図3のアプリケーション特化型プラットフォームLSI10Bは、図1の構成要素に加え、データ転送コントローラ18、及びDSP19を含む。またモジュール間インターフェース17は、クロスバーで構成され、データ転送コントローラ18がクロスバー上のデータ転送をコントロールする構成となっている。これにより、各モジュール間の信号経路の接続を変更可能な再構成可能モジュール間インターフェースを提供することが出来る。また共有メモリ16以外に、各モジュールにローカルなメモリを備えても良い。また例えば共有メモリ16を16バンク構成の4ポートメモリとし、バンク構成によりメモリアクセスの競合を排除する構成として良い。
【0022】
図4は、アプリケーション特化型プラットフォームLSIの第3実施例の構成を示す図である。図4において、図3と同一の構成要素は同一の番号で参照し、その説明は省略する。
【0023】
図4(a)のアプリケーション特化型プラットフォームLSI10Cは、プロセッサ11、演算回路群12、専用ハードウェア14、パラメータ付専用ハードウェア15、メモリ16、クロスバーにより実現されるモジュール間インターフェース17、データ転送コントローラ18、I/Oコントローラ20、及びコネクト部21を含む。このアプリケーション特化型プラットフォームLSI10Cには、再構成可能ゲートアレイ13が設けられていない。
【0024】
図4(b)は、アプリケーション特化型プラットフォームLSI10Cに接続する再構成可能ゲートアレイLSI30を示す。再構成可能ゲートアレイLSI30は、再構成可能ゲートアレイ13とコネクタ部31とを含む。
【0025】
図4(c)は、アプリケーション特化型プラットフォームLSI10Cと再構成可能ゲートアレイLSI30とを積層して接続した構成を示す。コネクタ部21と31とを配線接続することで、アプリケーション特化型プラットフォームLSI10Cから再構成可能ゲートアレイ13の機能を使用できるようになる。なお図4(c)の構成では積層実装しているが、基板上に2つのチップを平面上に並べて搭載する構成としても良い。また2チップ構成に限定されず、各LSIを更に並べて3つ以上のチップを一つの基板に実装してもよい。
【0026】
図5は、アプリケーション特化型プラットフォームLSIの第4実施例の構成を示す図である。図5において、図1と同一の構成要素は同一の番号で参照し、その説明は省略する。
【0027】
図5のアプリケーション特化型プラットフォームLSI10Dは、プロセッサ11、演算回路群12、再構成可能ゲートアレイ13、専用ハードウェア14、パラメータ付専用ハードウェア15、メモリ16、モジュール間インターフェース17、及びDSP19を含む。この第4実施例の構成においては、モジュール間インターフェース17が階層バスで実現されている。この階層バスにおいて、近接するモジュール間は下層バスにより接続され、距離が離れたモジュール間は上層バス(太線で図示)を介してデータ転送が行われる。図5の例は、2層構成のバスとなっているが、階層数は2層に限られるものでなく、3層或いはそれ以上の階層数であってもよい。
【0028】
図6は、演算回路群12の第1実施例の構成を示す図である。
【0029】
図6の演算回路群12Aは、レジスタ40−1乃至40−4、複数のセレクタ41−1乃至41−3、演算器42−11乃至42−15、42−21乃至42−25、及び42−31乃至42−35、及びコントローラ43を含む。モジュール間インターフェース17から供給されるデータは、レジスタ40−1に入力され一時的に保持される。レジスタ40−1には複数のレジスタ回路が設けられ複数のデータを同時に格納することが出来る。レジスタ40−1のデータは、コントローラ43により制御されるセレクタ41−1を介して、演算器42−11乃至42−15に供給される。
【0030】
演算器42−11乃至42−15は種類の異なる演算器であり、演算器42−11乃至42−13は例えば、それぞれ8ビットMPY(乗算器)、16ビットMPY(乗算器)、及びMAC(乗加算器)である。また演算器42−14乃至42−15は例えばALU(算術演算器)である。演算器42−11乃至42−15はコントローラ43の制御の下に動作し、各々が2つのデータを受け取り、所定の演算を実行して1つのデータを出力する。出力されたデータはレジスタ40−2に供給される。これにより一段目の演算器配列による演算が終了する。なお演算器42−11乃至42−15が異なる種類であることは必要ではなく、全て同一の種類の演算器(例えばALU)であってもよい。
【0031】
2段目及び3段目も1段目と同様に構成される。レジスタ40−2のデータは、セレクタ41−2を介して演算器42−21乃至42−25に供給され、所定の演算が実行された後、演算結果がレジスタ40−3に供給される。レジスタ40−3のデータは、セレクタ41−3を介して演算器42−31乃至42−35に供給され、所定の演算が実行され、演算結果がレジスタ40−4に供給される。レジスタ40−4の演算結果はモジュール間インターフェース17に供給される。
【0032】
このようにモジュール間インターフェース17から供給されるデータを1段目で演算し、1段目の演算結果のデータを2段目で演算し、2段目の演算結果のデータを3段目で演算する。この際コントローラ43により、各演算器に供給する演算対象のデータを選択することで、演算器間の接続を任意に構成する。これにより、ある段の結果を次段に供給する演算データの流れを制御し、所望の演算処理を実行することが出来る。コントローラ43はプログラマブルであり、演算処理の内容を変更する必要が有る場合には、コントローラ43の制御プログラムを書き換えて演算データの流れ(演算器間の接続)を変更することにより、演算単位での仕様変更が可能となる。
【0033】
なおこの例では3段構成としたが、段数は3段に限られることなく、2段或いは4段以上の構成であってもよい。
【0034】
前述のプレアデスでは、MAC(乗加算器)やALU(算術演算器)といった個々の演算器とFPGAやプロセッサとが、信号伝送路上の同一の階層に設けられる構成となっているため、演算器間或いは演算器とFPGA間若しくは演算器とプロセッサ間でのデータの転送量が大きくなり、処理性能が劣化してしまう。それに対して本発明におけるアプリケーション特化型プラットフォームLSI10においては、ゲート単位の変更が可能なFPGAとソフト書き換えによる変更が可能なプロセッサとの中間の粒度である演算回路群12は、複数種類の演算器間でのデータ転送を演算回路群12内で閉じた形の構成となっている。従って本発明においては、モジュール間インターフェース17上のデータ転送速度により演算器による演算処理速度が制限されることがなく、高いシステム性能を達成することが出来る。
【0035】
図7は、演算回路群12の第2実施例の構成を示す図である。
【0036】
図7の演算回路群12Bは、4段の演算器配列51乃至54を含む。各段の演算器配列は、図6の演算回路群12Aの演算器配列と同様にレジスタ、セレクタ、及び複数の演算器からなる。4段の演算器配列51−54は、後段に行くほど演算器の数が少なくなる構成となっている。これは一連の演算処理を実行するにあたり、後段に行くほど演算の並行性が少なくなることに対応している。即ち、各演算器は2つ又は1つのデータ入力から1つのデータ出力を生成するので、一般に、後段に行くほどデータ数が少なくなり必要な演算器の数が少なくなる。
【0037】
また図7の構成においては、コンフィギュレーションメモリ44及びバイパス45が設けられる。バイパス45は、各段のレジスタ間を直接に接続することで、演算器が不足した場合或いは該当段に必要なタイプの演算器がない場合等に、次段以降の演算器を使用するために設けられる。これにより、少ない演算器数で演算の最適化を実現することが出来る。またコンフィギュレーションメモリ44は、各セレクタの選択についての設定情報を蓄えるメモリであり、このメモリにコントローラ43から適宜設定データを書き込むことで、各セレクタの動作を制御することが出来る。これにより、セレクタによる複雑な選択の組み合わせを、容易に実現することが出来る。
【0038】
図8は、演算回路群12の第3実施例の構成を示す図である。
【0039】
図8の演算回路群12Cは、コントローラ60、コンフィギュレーションメモリ61、レジスタ62、セレクタ63、クロスバー64、バッファ65、及び演算器66−1乃至66−6を含む。
【0040】
モジュール間インターフェース17から供給されるデータは、レジスタ62に入力され一時的に保持される。レジスタ62には複数のレジスタ回路が設けられ複数のデータを同時に格納することが出来る。レジスタ62のデータは、コントローラ60により制御されるセレクタ63及びクロスバー64を介して、演算器66−1乃至66−6に供給される。セレクタ63の選択についての設定情報は、コンフィギュレーションメモリ61に格納されている。
【0041】
演算器66−1乃至66−6は種類の異なる演算器であり、例えばMPY(乗算器)、BIT演算器、MAC(乗加算器)、ALU(算術演算器)等を含む。演算器66−1乃至66−6はコントローラ60の制御の下に動作し、各々が2つ又は1つのデータを受け取り、所定の演算を実行して1つのデータを出力する。なお同一種類の演算器が複数個設けられていてもよく、全ての演算器が同一種類であってもよい。出力されたデータはクロスバー64及びセレクタ63を介してレジスタ62に供給される。これにより演算器配列による最初の演算が終了する。
【0042】
その後は、コントローラ60の制御に従って、レジスタ62のデータを演算器66−1乃至66−6により演算し、その結果をレジスタ62に戻す動作を必要な回数繰り返す。この際、演算の中間結果をバッファ65に格納して、演算器66−1乃至66−6で利用できるようにする。また各演算器66−1乃至66−6の出力部分にはレジスタ66aが設けられ、出力を一時的に保持可能な構成となっている。また更に、コントローラ60にはアドレス生成回路60aが設けられ、アドレス指定による各ユニットの制御が可能となっている。
【0043】
またコントローラ60はプログラマブルであり、演算処理の内容を変更する必要が有る場合には、コントローラ60の制御プログラムを書き換えて演算データの流れ(演算器間の接続)を変更することにより、演算単位での仕様変更が可能となる。
【0044】
図9は、演算回路群12の第4実施例の構成を示す図である。
【0045】
図9の演算回路群12Dは、コントローラ70、コンフィギュレーションメモリ71、メモリ72、リコンフィギュラブルネットワーク73、及び演算器74−1乃至74−7を含む。演算器74−1乃至74−7は種類の異なる演算器であり、例えばMPY(乗算器)、BIT演算器、MAC(乗加算器)、ALU(算術演算器)、MOD演算器(モジュロ演算器)等を含む。なお同一種類の演算器が複数個設けられていてもよく、全ての演算器が同一種類であってもよい。モジュール間インターフェース17とのインターフェース部分には、メモリ72が設けられる。またメモリ72と各演算器74−1乃至74−7との間には、信号経路の接続を自由に再構成可能なリコンフィギュラブルネットワーク73が設けられる。リコンフィギュラブルネットワーク73の信号経路の接続を設定するコンフィギュレーションデータは、コンフィギュレーションメモリ71に格納されている。図9の演算回路群12Dの動作は、図8の演算回路群12Cの動作と略同様である。
【0046】
図10は、パラメータ付専用ハードウェア15の第1実施例の構成を示す図である。
【0047】
図10のパラメータ付専用ハードウェア15Aは、コントローラ80、パラメータ保持レジスタ81、データ入出力用バッファ82、専用ハードウェアエンジン83、及び一時データ格納バッファ84を含む。
【0048】
モジュール間インターフェース17から供給されるデータは、データ入出力用バッファ82に一時的に格納され保持される。データ入出力用バッファ82に格納されるデータは、専用ハードウェアエンジン83に供給され、コントローラ80の制御の下で動作する専用ハードウェアエンジン83により所定のデータ処理が実行される。一時データ格納バッファ84は、専用ハードウェアエンジン83によりデータ処理が実行される際に、処理の中間結果等を一時的に格納して保持するバッファである。
【0049】
専用ハードウェアエンジン83は、所定の処理を実行するために専用に設計・製造されたハードウェアであり、エンジンの役割を変更することは出来ない。しかし例えば処理のデータ数や精度等のパラメータを変更可能なように構成されている。このパラメータの情報はパラメータ保持レジスタ81に格納されており、コントローラ80がパラメータ保持レジスタ81に格納される情報に基づいて専用ハードウェアエンジン83を動作させることで、所定の動作を所望の仕様に従い実行することが出来る。
【0050】
図11は、パラメータ付専用ハードウェア15の第2実施例の構成を示す図である。図11において、図10と同一の構成要素は同一の符号で参照し、その説明は省略する。
【0051】
図11のパラメータ付専用ハードウェア15Bは高速フーリエ変換を実行するためのハードウェアであり、専用ハードウェアエンジン83Bは、FFT用のバタフライ演算器85−1乃至85−4、及びデータ並び替え処理用のパーミュテータ86を含む。コントローラ80により計算する回数を制御することで、ポイント数(データ数)の異なるFFTを実行することが出来る。
【0052】
図12は、パラメータ付専用ハードウェア15の第3実施例の構成を示す図である。図12において、図11と同一の構成要素は同一の符号で参照し、その説明は省略する。
【0053】
図12のパラメータ付専用ハードウェア15Cは、図11のパラメータ付専用ハードウェア15Bに対して、クロックコントローラ87が追加された構成となっている。クロックコントローラ87はクロック信号を生成し、コントローラ80、データ入出力用バッファ82、専用ハードウェアエンジン83B、及び一時データ格納バッファ84に供給する。これらの回路ユニットは、供給されたクロック信号に基づいて動作する。図12のパラメータ付専用ハードウェア15Cでは、パラメータ設定により、クロックコントローラ87が生成するクロック信号の周波数を変更可能な構成となっている。これにより、FFT演算処理に要する時間を制御することが可能となり、その結果処理モードが変更可能となる。
【0054】
図13は、パラメータ付専用ハードウェア15の第4実施例の構成を示す図である。図13において、図12と同一の構成要素は同一の符号で参照し、その説明は省略する。
【0055】
図13のパラメータ付専用ハードウェア15Dはスペクトラム拡散通信における逆拡散処理を実行するためのハードウェアであり、専用ハードウェアエンジン83Dは、逆拡散処理用の逆拡散エンジン85−1乃至85−8を含む。即ち8フィンガーの逆拡散処理が可能である。またパラメータ設定によりコントローラ80による制御動作を変更することで、8つの逆拡散エンジンによる時分割処理を実行して、16、 32、 或いは48フィンガーの処理を実現することも可能である。このように時分割処理によりフィンガー数を大きくする場合には、クロックコントローラ87が生成するクロック信号の周波数を高くして、所定の時間内に所定の処理を終了させることが必要となる。
【0056】
以下に、本発明によるアプリケーション特化型プラットフォームLSIにおけるシステム開発について説明する。
【0057】
ソフトウェアの分野では、トップダウンアプローチの仕様変更やメンテナンスの困難さを解決するために、オブジェクト指向の設計手法が開発され利用されている。オブジェクト指向の設計手法においては、ソフトウェアの構成要素を、人間が直感的に理解しやすいオブジェクト単位とし、そのオブジェクト間の相互関係を構築していくことによりソフトウェア全体を形成する。この設計方法のメリットは、ソフトウェアを構成する単位が小さいオブジェクトであるので、仕様を変更する際にはオブジェクトを変更したり、入れ替えたり、或いはオブジェクト間の関係を変更したりすればよく、仕様変更等が容易であることである。
【0058】
本発明では従来のソフトウェア開発だけでなく、ハードウェアを含むシステムをオブジェクトで構成することで、オブジェクトの変更等による仕様変更を容易にする。オブジェクト指向で設計されたシステムにおいて、少なくとも一つ以上のオブジェクトで構成されるプロセスを、本発明のアプリケーション特化型プラットフォームLSIの各モジュールにマッピングする。
【0059】
プロセッサ部分或いは再構成可能なハードウェア部分にマッピングされたオブジェクトについては、仕様変更が可能であるため、SOCでは不可能であったシステムの仕様変更が可能となる。このとき仕様変更の対象であるオブジェクトとLSIのモジュールとの対応関係が明確であるので、仕様変更を容易に行うことが出来る。
【0060】
図14は、アプリケーション特化型プラットフォームLSIにおけるシステム開発の一例を示す。
【0061】
まず仕様からシステムに対するオブジェクト分析を行い、システムをオブジェクトとオブジェクト間の関係として記述する。この段階ではソフトとハードとの区別はない。
【0062】
次に、関係のあるオブジェクトをそれぞれ纏めることによりプロセス化する。この際、プロセス内での通信量に比較して、プロセス間での通信量が小さくなるようにすること、プロセス間の関係も少なめにすること等を条件として、プロセス化を行う。この段階ではソフトとハードとの区別はない。
【0063】
次に、プロセス間通信をインターフェース或いはチャネルといった抽象化された形式で記述する。この段階ではソフトとハードとの区別はない。
【0064】
最後に、アプリケーション特化型プラットフォームLSIを構成する各モジュールに各プロセスを割り当てる。このときインターフェース或いはチャネルで記述された通信は、アプリケーション特化型プラットフォームLSI上の通信用リソース或いはミドルウェアにマッピングされる。この段階においてハードとソフトとを区別してマッピングする。モジュールに対するプロセスの割り当てを最適化することで、システムを最適化する。また、プロセスはオブジェクトで構成されているため、オブジェクトのプロセス間移動は容易であり、プロセスを再構成するような最適化の作業も容易である。なおこの設計手法は、アプリケーション特化型プラットフォームLSIにだけ適用可能なものではなく、通常のSOC等にも適用可能である。
【0065】
上記の本設計手法においては、シングルプロセス(シングルスレッド)のプログラミングではなく、マルチプロセス(マルチスレッド)のプログラミングが行われることになる。各モジュール(プロセッサ、演算回路群、再構成可能ゲートアレイ、専用ハードウェア、パラメータ付専用ハードウェア等)に対してプロセス(スレッド)を割り当てることで、モジュール間のデータ転送を少なくすることが可能になる。それぞれのプロセス(スレッド)内の処理は少なくとも一つ以上のオブジェクトで構成する。そのため、プロセス間の処理の移動が容易である。
【0066】
上述のように、プロセス(スレッド)間通信をインターフェース記述或いはチャネル記述といった抽象度の高いレベルの記述とすることで、プログラミングの段階ではハードウェア間通信、ソフトウェア間通信、或いはハードウェアとソフトウェア間の通信であるかを意識する必要がなくなる。これを実現するために、インターフェース或いはチャネルに対応するハードウェアモジュール(ハードウェア間通信及びソフトとハード間通信の一部をつかさどる)を設けると共に、ソフトとハードとをつなぐドライバ、ソフト同士をつなぐライブラリを提供する。
【0067】
なお各モジュール間におけるスレッド或いはプロセス間の通信は、プロセッサ11が実行するソフトウェアによって制御される。
【0068】
以下に、本発明によるアプリケーション特化型プラットフォームLSI用のシステム開発手法について具体時に説明する。
【0069】
最初の段階であるオブジェクト分析にはUMLを用い、それをC++で実装すればよい。次の段階でオブジェクトを纏めることでプロセス化する。更に次の段階でプロセスとインターフェースとを分離する。この際、インターフェースとプロセスとは例えばSystemCを用いて表現すればよい。次の段階で、プロセスをアプリケーション特化型プラットフォームLSIの各モジュールにマッピングするが、この際、性能を評価しながらマッピングを調整することで最適化を行う。なお使用する記述言語はC++の代わりに例えばJAVA(登録商標)でもよく、オブジェクト指向言語なら任意のものでよい。またインターフェース記述はSystemCに限られるものではなく、JINIやCORBA等を使用してもよい。
【0070】
図15は、アプリケーション特化型プラットフォームLSIの各モジュールへプロセスをマッピングする方法の一例を示す。
【0071】
割当ての対象モジュールがプロセッサである場合には、プロセスをソフトウェアオブジェクトとしてマッピングする。この際、ソフトウェアオブジェクトを生成するのはコンパイラである。またAPIコールで呼び出すプロセスとして、所定のプロセスを専用ハードウェアにマッピングする。またパラメトライズ化されたハードウェアを使用出来るプロセスは、引数付きAPIコールで呼び出すプロセスとして、パラメータ付専用ハードウェアにマッピングする。プロセッサによるソフトウェア処理では速度的に問題があるプロセスは、演算回路群或いは再構成可能ゲートアレイにマッピングする。演算回路群へのマッピングに際しては、専用コンパイラを使用するか或いは専用プログラミングを行う。また再構成可能ゲートアレイへのマッピングに際しては、RTL記述又は高位論理合成ツールにより回路としてマッピングする。
【0072】
またインターフェースは前述のように、例えばSystemCのチャネル或いはシグナルで記述されている。このインターフェースを、関連プロセスがマッピングされたモジュールのタイプに従って、最適な通信方式にマッピングする。例えば、ハードウェア間の通信である場合にはモジュール間のインターフェースにマッピングし、ソフトとハード間の通信である場合にはドライバとモジュール間のインターフェースに変換され、ソフト間の通信である場合にはプロセス間通信ライブラリに変換する。
【0073】
以上の動作により、アプリケーション特化型プラットフォームLSIにシステムの各プロセス及びインターフェースをマッピングすることが出来る。
【0074】
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
【0075】
なお本発明は、以下の内容を含むものである。
(付記1)プロセッサと、
複数の演算器と該演算器間を変更可能に接続する接続経路とを含む演算回路群と、
パラメータ設定により処理仕様を変更できるパラメータ付専用ハードウェアと、
該プロセッサ、該演算回路群、該パラメータ付専用ハードウェアを互いに接続するモジュール間インターフェース
を含むことを特徴とする集積回路。
(付記2)該演算回路群は、
該モジュール間インターフェースに接続されるデータ格納回路と、
該データ格納回路と該演算器との間に信号経路を確立し該信号経路の接続を変更可能な接続回路と、
該接続回路の該信号経路の接続を制御する制御回路
を含むことを特徴とする付記1記載の集積回路。
(付記3)該接続回路は変更可能な信号経路を該演算回路間に確立することを特徴とする付記2記載の集積回路。
(付記4)該モジュール間インターフェースに接続されゲートレベルでの論理変更が可能な再構成可能ゲートアレイを更に含むことを特徴とする付記1記載の集積回路。
(付記5)該モジュール間インターフェースに接続され特定の処理を実行する専用ハードウェアを更に含むことを特徴とする付記1記載の集積回路。
(付記6)該モジュール間インターフェースに接続される共有メモリを更に含むことを特徴とする付記1記載の集積回路。
(付記7)該モジュール間インターフェースは接続経路を変更可能な再構成可能ネットワークであることを特徴とする付記1記載の集積回路。
(付記8)該パラメータ付専用ハードウェアは、
該モジュール間インターフェースに接続されるデータ入出力バッファと、
該データ入出力バッファに接続され特定の処理を実行する専用ハードウェアと、
該専用ハードウェアの動作及び処理仕様を制御する制御回路
を含むことを特徴とする付記1記載の集積回路。
(付記9)プロセッサと、複数の演算器と該演算器間を変更可能に接続する接続経路とを含む演算回路群と、パラメータ設定により処理仕様を変更できるパラメータ付専用ハードウェアと、該プロセッサ、該演算回路群、該パラメータ付専用ハードウェアを互いに接続するモジュール間インターフェースを含む集積回路をプログラミングするシステム開発方法であり、
オブジェクト指向分析によりオブジェクト及びオブジェクト間の関係を生成し、
互いに関係するオブジェクトを纏めることにより少なくとも1つのオブジェクトを含むプロセスを生成し、
該集積回路の該プロセッサ、該演算回路群、及び該パラメータ付専用ハードウェア毎に該プロセスを割り当てる
各段階を含むことを特徴とするシステム開発方法。
(付記10)該プロセス間の通信を通信インターフェースとして所定の言語で記述し、
該所定の言語で記述された通信インターフェースを該モジュール間インターフェースのリソース、ハードウェアに対するドライバ、及びプロセス間通信のソフトウェアライブラリの少なくとも1つにマッピングする
各段階を更に含むことを特徴とする付記9記載のシステム開発方法。
(付記11)プロセッサと、複数の演算器と該演算器間を変更可能に接続する接続経路とを含む演算回路群と、パラメータ設定により処理仕様を変更できるパラメータ付専用ハードウェアと、該プロセッサ、該演算回路群、該パラメータ付専用ハードウェアを互いに接続するモジュール間インターフェースを含む集積回路において、データ処理の複数のプロセスを該プロセッサ、該演算回路群、該パラメータ付専用ハードウェア毎に割り当ててマルチプロセス処理を実行することを特徴とするデータ処理方法。
(付記12)プロセッサと、複数の演算器と該演算器間を変更可能に接続する接続経路とを含む演算回路群と、パラメータ設定により処理仕様を変更できるパラメータ付専用ハードウェアと、ゲートレベルでの論理変更が可能な再構成可能ゲートアレイと、該プロセッサ、該演算回路群、該パラメータ付専用ハードウェア、及び該再構成可能ゲートアレイを互いに接続するモジュール間インターフェースを含む集積回路において、データ処理の複数のプロセスを該プロセッサ、該演算回路群、該パラメータ付専用ハードウェア、及び該再構成可能ゲートアレイ毎に割り当ててマルチプロセス処理を実行することを特徴とするデータ処理方法。
(付記13)プロセッサと、複数の演算器と該演算器間を変更可能に接続する接続経路とを含む演算回路群と、パラメータ設定により処理仕様を変更できるパラメータ付専用ハードウェアと、特定の処理を実行する専用ハードウェアと、該プロセッサ、該演算回路群、該パラメータ付専用ハードウェア、及び該特定の処理を実行する専用ハードウェアを互いに接続するモジュール間インターフェースを含む集積回路において、データ処理の複数のプロセスを該プロセッサ、該演算回路群、該パラメータ付専用ハードウェア、及び該特定の処理を実行する専用ハードウェア毎に割り当ててマルチプロセス処理を実行することを特徴とするデータ処理方法。
【発明の効果】
本発明においては、異なる粒度(変更可能な単位の大きさ)を有する複数の異なるモジュールを搭載することにより、消費電力、性能、仕様変更可能性を最適化することが可能になる。また個々の演算回路がモジュール間インターフェースに独立に接続されるのではなく、演算回路群内に可変な接続経路を設け複数の演算回路を含む構成となっているために、複数の演算器間でのデータ転送を演算回路群内で閉じた構成が実現される。従って本発明においては、モジュール間インターフェース上のデータ転送速度により演算器による演算処理速度が制限されることがなく、高いシステム性能を達成することが出来る。
【0076】
また本発明では、ハードウェアを含むシステムをオブジェクトで構成することで、オブジェクトの変更等による仕様変更を容易に行うことが出来る。プロセッサ部分或いは再構成可能なハードウェア部分にマッピングされたオブジェクトについては仕様変更が可能であり、仕様変更の対象であるオブジェクトと集積回路のモジュールとの対応関係が明確であるので、仕様変更を容易に行うことが出来る。
【図面の簡単な説明】
【図1】本発明によるアプリケーション特化型プラットフォームLSIの構成を示す図である。
【図2】アプリケーション特化型プラットフォームLSIの第1実施例の構成を示す図である。
【図3】アプリケーション特化型プラットフォームLSIの第2実施例の構成を示す図である。
【図4】アプリケーション特化型プラットフォームLSIの第3実施例の構成を示す図である。
【図5】アプリケーション特化型プラットフォームLSIの第4実施例の構成を示す図である。
【図6】演算回路群の第1実施例の構成を示す図である。
【図7】演算回路群の第2実施例の構成を示す図である。
【図8】演算回路群の第3実施例の構成を示す図である。
【図9】演算回路群の第4実施例の構成を示す図である。
【図10】パラメータ付専用ハードウェアの第1実施例の構成を示す図である。
【図11】パラメータ付専用ハードウェアの第2実施例の構成を示す図である。
【図12】パラメータ付専用ハードウェアの第3実施例の構成を示す図である。
【図13】パラメータ付専用ハードウェアの第4実施例の構成を示す図である。
【図14】アプリケーション特化型プラットフォームLSIにおけるシステム開発の一例を示す図である。
【図15】アプリケーション特化型プラットフォームLSIの各モジュールへプロセスをマッピングする方法の一例を示す図である。
【符号の説明】
10 アプリケーション特化型プラットフォームLSI
11 プロセッサ
12 演算回路群
13 再構成可能ゲートアレイ
14 専用ハードウェア
15 パラメータ付専用ハードウェア
16 メモリ
17 モジュール間インターフェース

Claims (10)

  1. プロセッサと、
    複数の演算器と該演算器間を変更可能に接続する接続経路とを含む演算回路群と、
    パラメータ設定により処理仕様を変更できるパラメータ付専用ハードウェアと、
    該プロセッサ、該演算回路群、該パラメータ付専用ハードウェアを互いに接続するモジュール間インターフェース
    を含み、該演算回路群は、
    該モジュール間インターフェースに接続されるデータ格納回路と、
    該データ格納回路と該演算器との間に信号経路を確立し該信号経路の接続を変更可能な接続回路と、
    該接続回路の該信号経路の接続を制御する制御回路と
    を含み、該複数の演算器間のデータ転送が該演算回路群内で閉じていることを特徴とする集積回路。
  2. 該制御回路により、該データ転送の経路が変更されることを特徴とする請求項1記載の集積回路。
  3. 該接続回路は変更可能な信号経路を該演算回路間に確立することを特徴とする請求項2記載の集積回路。
  4. 該モジュール間インターフェースに接続されゲートレベルでの論理変更が可能な再構成可能ゲートアレイを更に含むことを特徴とする請求項1記載の集積回路。
  5. 該モジュール間インターフェースに接続され特定の処理を実行する専用ハードウェアを更に含むことを特徴とする請求項1記載の集積回路。
  6. 該モジュール間インターフェースに接続される共有メモリを更に含むことを特徴とする請求項1記載の集積回路。
  7. 該モジュール間インターフェースは接続経路を変更可能な再構成可能ネットワークであることを特徴とする請求項1記載の集積回路。
  8. 該パラメータ付専用ハードウェアは、
    該モジュール間インターフェースに接続されるデータ入出力バッファと、
    該データ入出力バッファに接続され特定の処理を実行する専用ハードウェアと、
    該専用ハードウェアの動作及び処理仕様を制御する制御回路
    を含むことを特徴とする請求項1記載の集積回路。
  9. プロセッサと、複数の演算器と該演算器間を変更可能に接続する接続経路とを含む演算回路群と、パラメータ設定により処理仕様を変更できるパラメータ付専用ハードウェアと、該プロセッサ、該演算回路群、該パラメータ付専用ハードウェアを互いに接続するモジュール間インターフェースを含み、該演算回路群は、該モジュール間インターフェースに接続されるデータ格納回路と、該データ格納回路と該演算器との間に信号経路を確立し該信号経路の接続を変更可能な接続回路と、該接続回路の該信号経路の接続を制御する制御回路とを含み、該複数の演算器間のデータ転送が該演算回路群内で閉じている集積回路をプログラミングするシステム開発方法であり、
    オブジェクト指向分析によりオブジェクト及びオブジェクト間の関係を生成し、
    互いに関係するオブジェクトを纏めることにより少なくとも1つのオブジェクトを含むプロセスを生成し、
    該集積回路の該プロセッサ、該演算回路群、及び該パラメータ付専用ハードウェア毎に該プロセスを割り当てる
    各段階を含むことを特徴とするシステム開発方法。
  10. 該プロセス間の通信を通信インターフェースとして所定の言語で記述し、
    該所定の言語で記述された通信インターフェースを該モジュール間インターフェースのリソース、ハードウェアに対するドライバ、及びプロセス間通信のソフトウェアライブラリの少なくとも1つにマッピングする
    各段階を更に含むことを特徴とする請求項9記載のシステム開発方法。
JP2002190555A 2002-06-28 2002-06-28 集積回路及びシステム開発方法 Expired - Fee Related JP3934493B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2002190555A JP3934493B2 (ja) 2002-06-28 2002-06-28 集積回路及びシステム開発方法
US10/461,427 US7716458B2 (en) 2002-06-28 2003-06-16 Reconfigurable integrated circuit, system development method and data processing method
KR1020030041417A KR100922411B1 (ko) 2002-06-28 2003-06-25 집적 회로 및 시스템 개발 방법
CNB031452531A CN100437975C (zh) 2002-06-28 2003-06-27 集成电路,***开发方法,和数据处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002190555A JP3934493B2 (ja) 2002-06-28 2002-06-28 集積回路及びシステム開発方法

Publications (2)

Publication Number Publication Date
JP2004040188A JP2004040188A (ja) 2004-02-05
JP3934493B2 true JP3934493B2 (ja) 2007-06-20

Family

ID=29774330

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002190555A Expired - Fee Related JP3934493B2 (ja) 2002-06-28 2002-06-28 集積回路及びシステム開発方法

Country Status (4)

Country Link
US (1) US7716458B2 (ja)
JP (1) JP3934493B2 (ja)
KR (1) KR100922411B1 (ja)
CN (1) CN100437975C (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007526539A (ja) 2003-06-18 2007-09-13 アンブリック, インコーポレイテッド 集積回路開発システム
US20070186076A1 (en) * 2003-06-18 2007-08-09 Jones Anthony M Data pipeline transport system
JP4208919B2 (ja) * 2004-03-19 2009-01-14 アイピーフレックス株式会社 活性化コードの生成方法
JP4553614B2 (ja) * 2004-03-22 2010-09-29 三洋電機株式会社 処理装置
JP4553615B2 (ja) * 2004-03-22 2010-09-29 三洋電機株式会社 処理装置
JP4451733B2 (ja) 2004-06-30 2010-04-14 富士通マイクロエレクトロニクス株式会社 半導体装置
JP2006053687A (ja) * 2004-08-10 2006-02-23 Sony Corp 演算装置
US7765250B2 (en) 2004-11-15 2010-07-27 Renesas Technology Corp. Data processor with internal memory structure for processing stream data
EP1868293A1 (en) * 2005-04-05 2007-12-19 Matsushita Electric Industrial Co., Ltd. Computer system, data structure showing configuration information, and mapping device and method
US7415595B2 (en) 2005-05-24 2008-08-19 Coresonic Ab Data processing without processor core intervention by chain of accelerators selectively coupled by programmable interconnect network and to memory
JP4580879B2 (ja) * 2006-03-02 2010-11-17 富士通セミコンダクター株式会社 リコンフィグラブル回路
US8412862B2 (en) * 2008-12-18 2013-04-02 International Business Machines Corporation Direct memory access transfer efficiency
JP5745165B2 (ja) * 2011-05-17 2015-07-08 アルテラ コーポレイションAltera Corporation ハイブリッド統合型デバイスにおいてハードロジックとソフトロジックとの間をインターフェース接続するシステムおよび方法
US9647668B2 (en) 2012-01-13 2017-05-09 Altera Corporation Apparatus for flexible electronic interfaces and associated methods
US11200192B2 (en) 2015-02-13 2021-12-14 Amazon Technologies. lac. Multi-mode system on a chip
JP2022040721A (ja) * 2020-08-31 2022-03-11 富士フイルムビジネスイノベーション株式会社 情報処理装置、及びプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US41889A (en) * 1864-03-08 Improved tool-rest for turning-lathes
JPS647231A (en) * 1987-06-30 1989-01-11 Toshiba Corp Parallel processing device for object directional system
US5541849A (en) * 1990-04-06 1996-07-30 Lsi Logic Corporation Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, including estimation and comparison of timing parameters
US5457644A (en) * 1993-08-20 1995-10-10 Actel Corporation Field programmable digital signal processing array integrated circuit
JP3170599B2 (ja) 1996-03-01 2001-05-28 経済産業省産業技術総合研究所長 プログラマブルlsiおよびその演算方法
US6567837B1 (en) * 1997-01-29 2003-05-20 Iq Systems Object oriented processor arrays
US7085670B2 (en) * 1998-02-17 2006-08-01 National Instruments Corporation Reconfigurable measurement system utilizing a programmable hardware element and fixed hardware resources
WO2000049496A1 (en) 1999-02-15 2000-08-24 Koninklijke Philips Electronics N.V. Data processor with a configurable functional unit and method using such a data processor
US6542844B1 (en) * 2000-08-02 2003-04-01 International Business Machines Corporation Method and apparatus for tracing hardware states using dynamically reconfigurable test circuits

Also Published As

Publication number Publication date
KR100922411B1 (ko) 2009-10-16
US20040001296A1 (en) 2004-01-01
JP2004040188A (ja) 2004-02-05
KR20040025541A (ko) 2004-03-24
CN1471153A (zh) 2004-01-28
US7716458B2 (en) 2010-05-11
CN100437975C (zh) 2008-11-26

Similar Documents

Publication Publication Date Title
JP3934493B2 (ja) 集積回路及びシステム開発方法
US10970245B2 (en) Processor with reconfigurable pipelined core and algorithmic compiler
JP4104538B2 (ja) リコンフィギュラブル回路、リコンフィギュラブル回路を備えた処理装置、リコンフィギュラブル回路における論理回路の機能決定方法、回路生成方法および回路
US7657861B2 (en) Method and device for processing data
EP1766544B1 (en) Execution of hardware description language (hdl) programs
Koch Partial reconfiguration on FPGAs: architectures, tools and applications
Vahid The softening of hardware
EP3710948B1 (en) Virtual fpga management and optimization system
KR101080465B1 (ko) 데이터 처리 장치
US20110035722A1 (en) Method for Specifying Stateful, Transaction-Oriented Systems for Flexible Mapping to Structurally Configurable In-Memory Processing Semiconductor Device
US20200142857A1 (en) High throughput processors
WO2018067251A1 (en) Methods and apparatus for dynamically configuring soft processors on an integrated circuit
CN110989417B (zh) 适应fpga局部重构的周期检测***
Xiao et al. Fast linking of separately-compiled FPGA blocks without a NoC
WO2018114957A1 (en) Parallel processing on demand using partially dynamically reconfigurable fpga
CN110704364A (zh) 基于现场可编程门阵列的自动化动态重构方法及***
Nguyen et al. A survey on reconfigurable system-on-chips
Wolinski et al. A polymorphous computing fabric
CN107665281B (zh) 一种基于fpga的处理器模拟方法
Rettkowski et al. Application-specific processing using high-level synthesis for networks-on-chip
CN114153562B (zh) 基于事件驱动的可重构空间阵列的仿真建模平台及方法
US20240069770A1 (en) Multiple contexts for a memory unit in a reconfigurable data processor
Streichert et al. Communication aware optimization of the task binding in hardware/software reconfigurable networks
Khanzode et al. Concurrent Architecture of Novel Scheduler for IoT based Sensor Networks
WO2024054687A1 (en) Integrated circuit that mitigates inductive-induced voltage droop

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050512

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061114

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070115

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070313

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070315

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100330

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110330

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110330

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120330

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130330

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140330

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees