JP2018530040A - 自己適応型チップ及び配置方法 - Google Patents

自己適応型チップ及び配置方法 Download PDF

Info

Publication number
JP2018530040A
JP2018530040A JP2018506214A JP2018506214A JP2018530040A JP 2018530040 A JP2018530040 A JP 2018530040A JP 2018506214 A JP2018506214 A JP 2018506214A JP 2018506214 A JP2018506214 A JP 2018506214A JP 2018530040 A JP2018530040 A JP 2018530040A
Authority
JP
Japan
Prior art keywords
self
adaptive chip
dynamically reconfigurable
data
adaptive
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
JP2018506214A
Other languages
English (en)
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.)
Qingdao Robei Electric Co Ltd
Original Assignee
Qingdao Robei Electric 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 Qingdao Robei Electric Co Ltd filed Critical Qingdao Robei Electric Co Ltd
Publication of JP2018530040A publication Critical patent/JP2018530040A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • H03K19/17752Structural details of configuration resources for hot reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17724Structural details of logic blocks
    • H03K19/17728Reconfigurable logic blocks, e.g. lookup tables
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17736Structural details of routing resources
    • H03K19/1774Structural details of routing resources for global signals, e.g. clock, reset
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Software Systems (AREA)
  • Logic Circuits (AREA)

Abstract

自己適応型チップ(100)及び配置方法であって、前記自己適応型チップ(100)は、アレイ状に設けられた複数の動的再構成可能ユニット(110)を含み、各動的再構成可能ユニット(110)は、必要に応じて異なる演算機能及び/又は入力出力の制御機能を実行するように動的に再配置されることができ、ここで、各動的再構成可能ユニット(110)は、複数の隣接する動的再構成可能ユニット(110)に接続され、前記複数の隣接する動的再構成可能ユニット(110)中の一つ又は複数からデータを取得して、前記データに基づく演算結果を少なくとも一つの隣接する動的再構成可能ユニット(110)に出力する。本発明によれば、コストを削減することができる。

Description

本発明は、チップ及び電子装置に関し、特に、自己適応型チップ及びその配置方法、当該自己適応型チップを有する電子装置に関する。
科学技術の発展に伴い、チップの設計及び製造に対する要求がますます高くなっており、IPコアの多重化及びそのソフトウェアとハードウェアとの連携認証を技術的サポートとするシステム・オン・チップ(SoC)の採用は、高性能集積回路の設計の主流的な方法となっている。チップシステムの定義、フロントエンド回路の設計、バックエンドの物理的実装、チップ製造、ICパッケージングとテスト、ソフトウエアの開発から最終的な量産に至るまでの工程は、すでに膨大なシステムプロジェクトになる。現在、主流的なチップは相変わらずASICとFPGAチップである。
ASICは、特定のユーザの要求と特定の電子システムの要求に応じて設計・製造された集積回路である。ASICの量産は、汎用集積回路に比べて、小型化、低消費電力などのメリットを有しているが、ASICは再構成不能なチップであるため、上場までの時間が長く、テープアウト(Tape Out)を必要としている。一回のテープアウトの費用は非常に高く、大量に生産する場合のみに、コストを削減することができる。
FPGAはASICに基づくものであり、その基本的な原理はLUT(ルックアップテーブル)を利用することである。LUTは本質的には一つのメモリテーブルであり、予めデータをメモリテーブルに書き込んでおき、信号が入力されるたびに、アドレスを入力してルックアップすることに相当し、アドレスに対応するコンテンツを探し出して出力する。FPGAは、チップ構造の静的再構成、更には一部の動的再構成を許容し、ASICに比べ上場までの時間の面で明らかに利点があるが、全体的には、依然として設計された回路をチップ内に事前にリライトする必要がある。FPGAは、少量のアプリケーションの場合のコストが比較的低いが、大量の場合に、コストが比較的高い。
ASICは固定性を有しており、設計が完了されると、チップの機能も固定される。チップが損傷されない限り、ASICの機能は変更しない。このようなチップは特定の機能のみに適応でき、需要によって変化することはできず、ハードウェアのアップグレードの実現もほとんど不可能である。チップが衛星用に設計されている場合、衛星が空間に到着した後に、ハードウェアのアップグレードをするためには、非常に膨大なコストを払わなければならない。
FPGA企業が配置可能なチップを提供することは可能であるが、ルックアップテーブルの方式を採用しているため、チップに書き込める前にすべての可能なデータを算出した後、これらの膨大なデータを各ルックアップテーブルに書き込めなければならない。このように、構成データが大きくなるに伴い、FPGAへの書き込め時間も長くなる。一部の再配置が可能であっても、配置されるデータ量が非常に大きく、再配置の速度が極めて制限されるため、FPGAは超高速な再配置を実現することができない。
チップの規模と設計の複雑さの増大に伴い、チップの再配置の時間は長くなり、従来のFPGAの技術を利用して動的なリアルタイム再構成を実現することは非常に困難である。
そのため、動的な再配置機能を実現できる自己適応型チップを設計して、一チップ多用途を実現する必要がある。
なお、前記背景技術の部分で開示された上記の情報は、本発明の背景に対する理解を高めるためのものに過ぎず、従って、当業者に既に知られている先行技術を構成しない情報を含むことができる。
本願は、自己適応型チップ及びその配置方法、当該自己適応型チップを有する電子装置に関する。本開示の自己適応型チップによれば、迅速な動的再配置を実現することができる。
本開示の他の特性およびメリットは、以下の詳細な説明によって明らかになるか、または、部分的に本開示の実施によって習得することができる。
本開示の一態様によれば、自己適応型チップを提供し、当該自己適応型チップは、アレイ状に設けられた複数の動的再構成可能ユニットを含み、各動的再構成可能ユニットは、必要に応じて異なる演算機能及び/又は入力出力の制御機能を実行するように動的に再配置されることができ、ここで、各動的再構成可能ユニットは、複数の隣接する動的再構成可能ユニットに接続され、前記複数の隣接する動的再構成可能ユニット中の一つ又は複数からデータを取得して、前記データに基づく演算結果を少なくとも一つの隣接する動的再構成可能ユニットに出力する。
一実施例によれば、各動的再構成可能ユニットは、4〜8個の隣接する動的再構成可能ユニットに接続される。
一実施例によれば、各動的再構成可能ユニットは、算術論理シーケンスユニットを含み、前記算術論理シーケンスユニットは、算術演算、論理演算、空演算、シーケンス遅延及びカウント中の少なくとも一つを実現するように配置される。
一実施例によれば、各動的再構成可能ユニットは、対応する回路構造に構成されることで、ソフトウェアのアルゴリズムとして機能する。
一実施例によれば、各動的再構成可能ユニットは、変数ホルダー、入力コントローラー、出力コントローラーをさらに含む。
一実施例によれば、前記算術論理シーケンスユニットは、命令に従って異なる演算機能を実行するように配置される。
一実施例によれば、各命令の実行サイクルは1クロックである。
一実施例によれば、前記自己適応型チップは、動的再構成可能ユニットのカスケードによって操作のカスケードを実現することで、より多くの命令を実現するように配置される。
一実施例によれば、前記算術論理シーケンスユニットは、クロック入力端、リセット端、複数の命令入力端、複数の操作入力端、複数の操作出力端を含む。
一実施例によれば、前記複数の操作入力端は、複数の被オペランドの入力端、複数のオペランドの入力端、及びキャリーの入力端を含む。
一実施例によれば、前記複数の操作出力端は、出力結果の下位出力端、出力結果の上位出力端、及びフラグビット出力端を含む。
一実施例によれば、前記入力コントローラーは、前記複数の操作入力端のデータソースを制御するために用いられる。
一実施例によれば、前記データソースは、前記複数の隣接する動的再構成可能ユニット中の少なくとも一つ又は前記変数ホルダーである。
一実施例によれば、前記出力コントローラーは、前記複数の操作出力端からのデータを、別々に及び/又は組み合わせて前記複数の隣接する動的再構成可能ユニット中の少なくとも一つに出力させるために用いられる。
一実施例によれば、前記変数ホルダーは、演算に関与するデータを保持するために用いられる。
一実施例によれば、前記変数ホルダーは、命令、オペランド、及び入力コントローラーの構成データを保持するために用いられ、当該構成データは前記入力コントローラーのデータソースを制御するために用いられる。
一実施例によれば、前記変数ホルダーは、それぞれトップレベルから操作命令、入力コントローラーの構成データ、及び、保持可能なオペランドを入力するように独立的なデータチャンネルを有する。
一実施例によれば、前記自己適応型チップは、パイプライン(pipeline)またはパラレル(parallel)の方式でシリアル演算のアルゴリズムを実現するために用いられる。
一実施例によれば、前記自己適応型チップは、アドレス入力端子及びアドレス制御ユニットを含み、前記アドレス制御ユニットは、前記アドレス入力端子によって複数の動的再構成可能ユニット中の一つを選択して配置する。
一実施例によれば、前記自己適応型チップは、1回の配置を行った後に、入力データに基づいて演算を行い、演算が完了した後、消去して再配置を行い、さらに新たな入力データに基づいて新たな演算を行うことを往復するように配置される。
一実施例によれば、前記自己適応型チップは、少なくとも二つの演算領域に分割され、前記少なくとも二つの演算領域は配置と演算を並列に行うことで、並列化処理を実現する。
本開示の他の態様によれば、前述自己適応型チップのいずれか一つに用いられる配置方法が提供され、当該配置方法は、それぞれ複数の動的再構成可能ユニットに用いられる複数の配置を定義し、各配置は少なくとも一つの構成パラメータ値を含むステップと、前記複数の配置をそれぞれ対応する複数の動的再構成可能ユニットに書き込むステップと、を含む。
一実施例によれば、それぞれ複数の動的再構成可能ユニットに用いられる複数の配置を定義することは、予め定められた演算を、前記複数の動的再構成可能ユニットを含む構造にコンパイルし、各動的再構成可能ユニットは少なくとも一つの演算を完成するように配置されることを含む。
一実施例によれば、前記複数の配置をそれぞれ対応する複数の動的再構成可能ユニットに書き込むことは、前記複数の動的再構成可能ユニット中の一つを選定し、対応する配置の前記少なくとも一つの構成パラメータ値を前記複数の動的再構成可能ユニット中の一つに書き込むことを含む。
本開示の他の態様によれば、少なくとも第1の機能および第2の機能を実行するための電子装置が提供され、前記電子装置は、前記自己適応型チップのいずれか一つを含み、ここで、前記第1の機能が実行される直前または実行されている時に、前記自己適応型チップは、前記第1の機能の一部または全部を実行するように動的に配置され、前記第1の機能の実行が完了した後、前記第2の機能が実行される直前または実行されている時に、前記自己適応型チップは、前記第2の機能の一部または全部を実行するように動的に配置される。
本開示の一実施例に係る自己適応型チップは、異なる時点でチップを自動的に再配置することで、限られたチップ面積で無限の回路アルゴリズムを実現することができる。
本開示の一実施例に係る自己適応型チップは、様々なアプリケーションの要求に応じて、チップの内部構造を自動的に調整して、動的な再配置を実現し、無限大なチップ面積、低消費電力、低コストを実現することができる。
本開示の一実施例に係る自己適応型チップは、動的書き換えが可能であるため、すべての論理ユニットを再利用することができで、論理ユニットが無限大になり、従来のような制限を受けない。自己適応型チップは容量に制限されず、書き換える速度によってのみ制限される。
本開示の一実施例に係る自己適応型チップは、領域を分けて配置と演算を行うことができ、配置しながら演算することを実現でき、演算完了後に配置を切り換えるに要する時間はナノ秒レベルで、非常に速い。
なお、以上の一般的な説明及び以下の詳細な説明は単なる例示にすぎず、本開示を限定するものではない。
本開示の上記および他の特徴およびメリットは、添付の図面を参照して詳細に説明する例示的な実施形態により、より明らかになる。
本開示の一例示的な実施例に係る自己適応型チップの模式図である。 本開示の一例示的な実施例に係る自己適応型チップに用いられる動的再構成可能ユニットの模式図である。 本開示の一例示的な実施例に係る算術論理シーケンスユニットである。 本開示の一例示的な実施例に係る入力コントローラーである。 本開示の一例示的な実施例に係る出力コントローラーである。 本開示の一例示的な実施例に係る変数ホルダーである。 本開示の一例示的な実施例に係るアドレスコントローラーである。 本開示の一例示的な実施例に係る自己適応型チップを含む電子装置である。 本開示の一例示的な実施例に係る自己適応型チップの模式的な配置と使用方式である。 本開示の一例示的な実施例に係る自己適応型チップの模式的な配置と使用方式である。 本開示の一例示的な実施例に係る自己適応型チップの模式的な配置と使用方式である。 本開示の一例示的な実施例に係る自己適応型チップの模式的な配置と使用方式である。
以下、図面を参照しながら例示的な実施形態をより全面的に説明する。しかしながら、例示した実施形態は様々な形態で実施することができ、且つここで説明する実施形態に限定されると理解すべきではない。逆に、これらの実施形態は、本発明を全面的で完全なものにさせ、且つ例示的な実施形態の構想を当業者に完全に伝達するために提供するものである。また、図面において、同一又は類似の部分について同一の符号を付し、重複する説明は省略する。
なお、説明される特徴、構造または特性は任意の適切な方式で一つまたはそれ以上の実施形態に組み合わせることができる。以下の説明において、本発明の実施形態に対する完全な理解に寄与するために、複数の具体的な詳細を提供する。しかしながら、当業者であれば、前記特定の詳細の一つまたはそれ以上が無しに本発明の技術案を実施でき、またはその他の方法、構成要素、モジュール、ステップ等を採用して本発明の技術案を実施できることは、理解すべきのものである。他の場合において、本発明が不明瞭になることを回避するために、公知の構造、方法、装置、実現、モジュールまたは操作を詳細には図示または説明しない。
図面に示したブロック図は機能エンティティに過ぎず、必ずしも物理的に独立したものと対応する必要はない。即ち、これらの機能エンティティは、いろいろな形式によって実現でき、又は、一つ或いは複数のハードウェアモジュール或いは回路ユニットでこれらの機能エンティティを実現することができる。
図1は、本開示の一例示的な実施例に係る自己適応型チップの模式図である。
図1に示すように、自己適応型チップ100は複数の基本的なユニットを含み、即ち、動的再構成可能ユニット110を含む。動的再構成可能ユニット110は、アレイ状に設けられ、各動的再構成可能ユニット110は、複数の隣接する動的再構成可能ユニット110に接続される。以下に説明するように、各動的再構成可能ユニット110は、必要に応じて異なる演算機能及び/又は入力出力機能に動的に再配置されることができる。各動的再構成可能ユニット110は、隣接する動的再構成可能ユニット110中の一つ又は複数からデータを取得し、且つこれらのデータに基づく演算結果を少なくとも一つの隣接する動的再構成可能ユニットに出力する。
図1に示す各動的再構成可能ユニット110は、4個の隣接する動的再構成可能ユニット110に接続されるが、本発明はこれに限定されるものではない。例えば、各動的再構成可能ユニット110は、4〜8個又はより多くの隣接する動的再構成可能ユニット110に接続されることができる。
図1に示す各動的再構成可能ユニット110において、データは4個の異なる方向から出入ることができ、すなわち、隣接する4個の異なる動的再構成可能ユニット110からデータを得ることができ、且つ演算した後にその結果を隣接する4個の異なる動的再構成可能ユニット110に出力して、さらなる演算を行い、このような過程を引き続くことで、演算ネットワークを動的に構築することができる。動的再構成可能ユニット110は、対応する回路構造に配置されることで、ソフトウェアのアルゴリズムとしての機能を実現することができる。
自己適応型チップ100は、1回の配置を行った後に、入力データに基づいて演算を行う。演算が完了した後、消去して再配置を行い、さらに新たな入力データに基づいて新たな演算を行い、このような過程を往復することで、チップ面積の無限大効果を達成する。
本発明に係る自己適応型チップは、いくつかの基本ユニット(動的再構成可能ユニット)を含み、各基本ユニットは構成データを保持でき、且つ隣接する基本ユニットに接続されることができる。配置により、各基本ユニットは、隣接する基本ユニット中の一つ又は複数からデータを取得し、且つこれらのデータに基づく演算結果を少なくとも一つの隣接する基本ユニットに出力する。データが伝送されてくる場合、配置に従って演算する。これによって、本発明は動的再配置可能の新型チップを提供し、異なる時点でチップに対し自動的再配置を行うことで、限られたチップ面積で無限の回路アルゴリズムを実現することができる。なお、様々なアプリケーションの要求に応じて、チップの内部構造を自動的に調整して、動的な再配置を実現でき、且つ低消費電力、低コストである。
上記の通りに、本発明の自己適応型チップによれば、配置に従って異なる入力、出力および演算を行うことができるため、ソフトウェアアルゴリズムからチップ構造への直接変換を迅速に実現することができ、FPGAに採用されるLUT構造に対して明らかな利点を有する。FPGAは、動的再構成可能の面で、構成データの量が大きいという問題があるため、FPGAの動的再配置の速度は向上されにくく、ミリ秒レベルにしか達されない。本発明に係る自己適応型チップは、LUT構造を採用していないため、迅速な動的再配置を実現することができる。本発明に係る自己適応型チップの基本ユニットは再利用可能であるため、基本ユニットは無限になり、従来のような制限を受けない。自己適応型チップは容量に制限されなく、書き換える(配置)速度によってのみ制限される。
図2は、本開示の一例示的な実施例に係る自己適応型チップ100に用いられる動的再構成可能ユニット110である。図3は、本開示の一例示的な実施例に係る算術論理シーケンスユニット112である。図4は、本開示の一例示的な実施例に係る入力コントローラー114である。図5は、本開示の一例示的な実施例に係る出力コントローラー116である。図6は、本開示の一例示的な実施例に係る変数ホルダー118である。
以下、図2〜図6を参照して、本発明の例示的な実施例に係る動的再構成部110について説明する。
図2〜6に示すように、動的再構成可能ユニット110は、算術論理シーケンスユニット112を含んでもよい。例示的な実施例によれば、動的再構成可能ユニット110は、入力コントローラー114、出力コントローラー116、及び変数ホルダー118をさらに含んでもよい。
算術論理シーケンスユニット112は、クロック入力端子clk、リセット端子rst、複数の命令入力端子op、複数の操作入力端子、及び複数の操作出力端子を含んでもよい。複数の操作入力端子は、複数の被オペランド入力端子A、複数のオペランド入力端子B、及び操作補助入力端子cinを含んでもよい。複数の操作出力端子は、出力結果の下位出力端子D、出力結果の上位出力端子E、及びフラグビット出力端子coutを含んでもよい。
入力コントローラー114は、前記複数の操作入力端のデータソースを制御するために用いられることができる。データソースは、複数の隣接する動的再構成可能ユニット110又は変数ホルダー118であっでもよい。
出力コントローラー116は、複数の操作出力端からのデータを、別々に及び/又は組み合わせて複数の隣接する動的再構成可能ユニット110に出力させるために用いられることができる。
算術論理シーケンスユニット112は、入力されたデータと配置に応じて、算術演算、論理演算、空演算、シーケンス遅延又はカウントを実行することができ、その演算結果を出力する。算術論理シーケンスユニット112のデータの入力は、入力コントローラー114によって制御されることができ、且つ算術論理シーケンスユニット112の結果の出力は、出力コントローラー116によって制御されることができるが、本発明はこれに限定されるものではない。
変数ホルダー118は、演算に関与するデータと構成パラメータ値を保持することができる。例えば、変数ホルダーは、命令、オペランド、及び入力コントローラーの構成データを保持するために用いられる。入力コントローラーの構成データは、入力コントローラー114のデータソースを制御するために用いられる。
変数ホルダ118は、それぞれトップレベルから命令、オペランド、およびストロボデータ(Strobe data)を入力するように独立的なデータチャンネルを有してもよい。
図3を参照して、例示的な実施例に係る算数論理シーケンスユニット(Arithmetic Logic Time Unit:ALTU)112は、算術演算、論理演算、シーケンス遅延とカウントを主に担当する。算術論理シーケンスユニット112は、10個の論理演算の機能、1個の空演算(empty operation)、3個の算術演算および2個のシーケンス演算機能を含む16個の異なる演算機能を実現することができる。異なる演算機能は、4ビットのop入力によって制御される。
各端子のビット幅と機能は、表1に示す通りである。図3を参照して、clkはクロックの信号入力に用いられ、rstは信号のリセットに用いられ、opは命令の操作に用いられ、A、B、cinは入力操作に用いられ、D、E、coutは出力操作に用いられる。
図3および表1は、本発明の技術案を説明するためのものに過ぎず、本発明の範囲を限定するものではない。本発明の内容および教示に基づいて、様々な実装および様々な変形が可能であり、本明細書に開示された実施例に限定されないことは容易に理解できるものである。
Figure 2018530040
例示的な実施例に係る算術論理シーケンス部112は、命令に応じて、例えばパススルー操作、入出力スワップ動作、ビット反転(Bitwise reverse)動作、AND−OR論理及び演算、補数演算、ADC(Add With Carry)演算、遅延演算、計数演算などの各種の演算機能及び操作を実行するように配置されることができるが、これは例示に過ぎず、本発明はこれに限定されるものではない。
算術論理シーケンスユニット112は、各動的再構成可能ユニット110の核心部であり、すべての演算機能を担持する。各算術論理シーケンスユニット112は、16個の命令中の一つを実行することができ、各命令の実行サイクルは、1クロックサイクルであっでもよい。動的再構成可能ユニット110は、より多くの命令を達成するためにカスケードされてもよい。一部の命令を16ビットの演算としてもよく、ダブルオペランドの命令は8ビットの演算を行う。8ビットを超える演算は、複数の動的再構成可能ユニット110をカスケードすることで実現することができる。
図4を参照して、入力コントローラ114は、算術論理シーケンスユニット112の入力端子A、B、およびcinのデータソースを制御する。Selectによって入力データの4個の方向(すなわち、隣接する動的再構成可能ユニット)を制御でき、これらの4個の方向は、Top、Bottom、Left、Rightで表示することができる。符号化方式は、例えば、topが0、ライトが1、bottomが2、leftが3の時計回り方向にインクリメントさせることができる。表2に示すように、例えば、2個のビットの符号化によって4個の方向を実現することができる。
Figure 2018530040
端子A、B、およびcinに入力されるデータソースの方向は、それぞれ2個のビットによって制御され、合計6ビットを使用することができる。しかし、Bのデータソースは、上記4個の方向に加えて、ホルダー内のBmemによって入力されてもよい。そのため、表3に示すように、selectは1個のビットをさらに追加して最も上位とし、当該ビットが1である場合、Bのデータソースは変数ホルダー118内のBmemの数値である。
Figure 2018530040
動的再構成可能ユニット110のデータパスは、主に入力コントローラ114に依存する。入力コントローラ114は、select信号によって、端子A、B、およびcinのデータソースを選択し、算術論理シーケンス部112に提供して演算のために用いられる。端子A、B、およびcinのデータは、同一の方向の入力から由来されてもよく、異なる方向の入力から由来されてもよい。
図5を参照して、出力コントローラ116は、出力結果を4個の方向に伝送するための比較的に簡単なコントローラである。算術論理シーケンスユニット112の演算結果は、cout、D、Eを介して出力コントローラに入力され、出力コントローラによって組み合わせた後、4個の異なる方向に出力される。
図6を参照して、変数ホルダー118は、主に、演算に関与する3個の重要なデータ、すなわち、算術論理シーケンスユニット112の演算を制御するために用いられるop端子からの演算子、Bmem端子からのレジスターオペランド、及び入力コントローラ114のデータソースを制御するために用いられるselect端子からの構成データを保持する。selectの最も上位は、オペランドがトップレベルから入力されるか、又は隣接する動的再構成可能ユニットからの出力結果であるかを制御するために用いられる。rstが低レベルである場合、ホルダーはリセットされ、3個のデータはすべてクリアされる。rstおよびceが高レベルである場合、データが保持され始まる。各変数ホルダー118の入力端子はいずれも、最もトップレベルのデータ入力チャネルに直接に接続されているため、op、Bmem、selectはそれぞれ独立したデータチャンネルを有しており、これにより方向の制御による信号入力を必要とせずに、トップレベルから入力する。Bmem、op及びselectはいずれもトップレベルの入力端子に直接に接続される。ceが高レベルである場合、トップレベルからの入力はホルダーに入り、データが書き換えられない場合、そのまま保持され、regselect、regbmem及びregopによって出力される。opの命令が0でない場合に、入力コントローラを有効にすることができる。ここでの「トップレベル」は、隣接するユニットではなく、自己適応型チップの端子を指す。
図7は、本開示の一例示的な実施例に係るアドレスコントローラー120である。
図1および図7を参照して、アドレスコントローラー120によりいずれかの動的再構成可能ユニット110を選択して配置することができ、配置された後に、当該動的再構成ユニット110は自動的に動作する。
図7に示すように、アドレスコントローラー120は、modeフラグビット端子とaddrアドレスの入力端子を有する。mode端子が1である場合に、アドレスの入力情報は有効であり、そうでなければ無効である。アドレスコントローラ120によりアドレスを分析することで、行および列という二つの情報に分解される。Rowは、行を選定するために用いられ、Columnは、列を選定するために用いられ、これにより、ある動的再構成可能ユニットを選定して配置する。しかしながら、本発明はこれに限定されず、他の方法により配置されてもよい。
例えば、他の実施例によれば、本発明に係る自己適応型チップの基本ユニットの配置は、液晶またはOLEDディスプレイの画素配置と類似しているため、同様に画素毎に表示される方式と類似した方式で各基本ユニットの配置を行うことができ、ここで説明を省略する。
一実施例によれば、自己適応型チップを配置する場合、まず、それぞれ複数の動的な再構成可能ユニットに用いられる複数の配置を定義し、ここで各配置は少なくとも一つの構成パラメータ値を含み、その後、前記複数の配置をそれぞれ対応する複数の動的再構成可能ユニットに書き込む。
一実施例によれば、それぞれ複数の動的再構成可能ユニットに用いられる複数の配置を定義することは、予め定められた演算(例えば、Cプログラム)を、前記複数の動的再構成可能ユニットを含む構造にコンパイルすることを含んでもよく、各動的再構成可能ユニットは、少なくとも一種の演算を完成するように配置される。
一実施例によれば、前記複数の配置をそれぞれ対応する複数の動的再構成可能ユニットに書き込むことは、複数の動的再構成可能ユニット中の一つを選定し、対応する配置の前記少なくとも一つの構成パラメータ値を前記複数の動的再構成可能ユニット中の一つに書き込むことを含んでもよい。
図8は、本発明に係る自己適応型チップが適用された電子装置を示す。
図8に示すように、本開示の一実施例に係る電子装置800は、本発明に係る自己適応型チップ100を含んでもよく、例えば、電子装置800は、プログラマブル・オン・チップ(SOPC:System On a Programmable Chip)、移動端末、ロボットシステムなどであってもよい。
本発明に係る自己適応型チップ100は、スペースと時間を変換するシステムであり、異なる時点においてチップに対して自動的再配置を行うことで、限られたチップ面積で無限の回路アルゴリズムを実現することができる。従来の方法では、多くの異なるアプリケーションを集中して、SopCシステムを作成しているため、非常に膨大になり、多くのチップ面積を使用する必要があるため、コストの上昇を招来すると共に、消費電力も非常に大きい。本発明に係る自己適応型チップ100は、非常に小さいチップ面積を利用し、異なる時間にチップの構造を再配置することで、チップ面積の無限大を実現することができる。
例えば、本実施例に係る電子機器800は、少なくとも第1の機能及び第2の機能を実行するために用いられることができる。第1の機能が実行される直前または実行されている時に、自己適応型チップ100は前記第1の機能の一部または全部を実行するように動的に配置される。第1の機能の実行が完了した後、第2の機能が実行される直前または実行されている時に、自己適応型チップ100は第2の機能の一部または全部を実行するように動的に配置される。
本実施例に係る電子機器800は、航空空間、ロボット、監視、コンシューマエレクトロニクス、画像処理機器等の分野に適用することができる。上記の分野において、チップは、必要に応じて内部回路構造を自己調整することで、異なるコンピューティング要求と環境変化に適応することができる。
例えば、チップは、空間中の衛星にハードウェアアップグレードを加速させ、異なるタスクに対してハードウェアを最適化させ、異なる空間タスクを実現させることができる。ロボットの分野において、従来のロボットの制御チップは、その機能が固定されているため、一チップ多用途の機能を実現することができなく、製造された各ロボットを固定用途として使用しなければならない。自己適応型チップは、一つのロボットに異なる機能を備えさせることができ、さらにはロボットの機能をネットワークからダウンロードし、動的配置を行ってから実行することもできる。コンシューマエレクトロニクスの分野において、将来の携帯電話やコンピュータは、ソフトウェアのダウンロードに加えて、当該ソフトウェアについて最適化されたハードウェアをダウンロードすることができ、ソフトウェアに対して動的なリアルタイム加速を行うことができる。携帯電話でインターネットに接続する時に、ネットワークの伝送速度を最適化し、通話時に雑音フィルタ機能に配置することができ、ゲームする時に3Dアニメーション表示の最適化機能などを配置することができる。ビッグ・データの処理において、自己適応型チップは、従来のクラウドコンピューティングコンピュータに比べて、エネルギ消費を非常に大きく節約させ、コストも大幅に削減させる。例えば、自己適応型チップは、カメラの起動時に、画像処理の加速アーキテクチャに適合するチップに自動的に最適化されることができる。自己適応型チップは、監視カメラの各カメラで画像前処理を行い、危険な人物の自動的比較を行って警報を発信する等で、必要に応じるカメラの再配置を実現することができる。
図9は、本開示の一例示的な実施例に係る自己適応型チップの模式的な配置と使用方式である。
以下、図9を参照し、CPU、FPGAのデータ処理に比べて、前記に開示された自己適応型チップの利点について説明する。
CPUにとって、処理する必要のある情報データは、入力設備からメモリを介して、CPUにより処理される。CPUは、データの読み出し、データの処理、メモリにデータを書き込むという3つの基本作業を実行する。しかし、通常の場合において、一つの命令は明確な順序で実行される多くの操作を含むことができ、CPUの仕事はこれらの命令を実行することであり、命令ごとに数個のクロックサイクルを消費しなければならない。一つの命令を完成した後に、CPUの制御ユニットは、命令リーダに、メモリから次の命令を読み出して実行するように指示する。この過程は、常に迅速に繰り返され、迅速に次々と繰り返されて、例えばディスプレイに表示されるような結果を生成する。このように多くの命令とデータを扱うと同時に、データ転送の時間差とCPUの処理時間差が存在し、各操作が確実に時間通りに行われるように、CPUは、CPUによって実行される各動作をクロックで制御する。クロックはメトロノームのようなもので、パルスを送信し続けることで、CPUのペースと処理時間を決定し、これはよく知られているCPUの基本周波数である。基本周波数が高いほど、CPUが高速に動作することを示す。
FPGAは、ロジックセルアレイ(LCA:Logic Cell Array)の概念を採用し、FPGAの内部に、構成可能ロジックブロック(CLB:Configurable Logic Block)、入力出力ブロック(IOB:Input Output Block)、インターコネクト(Interconnect)という三つの部分を含む。フィールドプログラマブルゲートアレイ(FPGA)はプログラマブルデバイスであり、従来の論理回路やゲートアレイ(例えばPAL、GAL、及びCPLDデバイス)に比べて、異なるアーキテクチャを有している。通常の場合に、FPGAは、小さなルックアップテーブルを利用してコンビナトリアルロジックを実現する。各ルックアップテーブルは、一つのDトリガの入力端に接続され、トリガにより他のロジック回路またはI/Oを駆動し、これにより、コンビナトリアルロジック機能を実現できるだけでなく、シーケンス論理機能も実現できる基本論理ユニットを構成する。これらのモジュールの間は、金属ワイヤにより互いに接続されたり、またはI/Oモジュールに接続されている。FPGAはASICに基づくもので、LUTの方法を使用し、LUTは本質的にはRAMであり、データを予めRAMに書き込んだ後、一つの信号を入力するたびに、一つのアドレスを入力してテーブルの検索を行うことに相当して、アドレスに対応するコンテンツを探して出力する。FPGAは、チップ構造の静的再構成、更には一部の動的再構成を許容し、ASICに比べて、上場までに要する時間の面で明らかな利点がある。しかし、依然として設計された回路をチップ内にリライトさせる必要がある。FPGAは、少量のアプリケーションに対しコストが比較的低いが、大量の場合に、コストが比較的高い。
本発明に係る自己適応型チップ100は、任意のソフトウェアアルゴリズムをチップアーキテクチャに直接に変換できる全く新しいアーキテクチャである。FPGAが採用するLUT構造は、動的再構成可能の面で、構成データの量が大きいという問題があるため、FPGAの動的再配置の速度は向上されにくく、ミリ秒レベルに到達するしかできない。本発明に係る自己適応型チップ自体は、動的書き換えが可能であるため、すべての論理ユニットを再利用することができで、論理ユニットが無限になり、従来のような制限を受けない。本発明に開示された自己適応型チップは、容量に制限されず、書き換える速度によってのみ制限される。
図9に示す実施例において、a個単位のデータタスクを処理する必要があると仮定する。
CPU方式を採用する場合、1個単位のデータを処理するアルゴリズムはn個のクロックを必要とし、a個単位のデータタスクを完成するために必要な期間はa*nである。
FPGA方式を採用する場合、1個単位のデータを処理するアルゴリズムは1個のクロックを必要とし、a個単位のデータタスクを完成するために必要な期間はaである。
図9を参照し、本発明に係る自己適応型チップ100の処理過程において、プロセッサにより自己適応型チップ100を自動的に配置し、自己適応型チップが1個単位のデータを処理するアルゴリズムは、1個のクロックを必要とし、a個単位のデータタスクを完成するためにm回の配置を行う必要があり、a個単位のデータタスクを完成するために必要な時間はa*m+配置時間である。具体的な操作において、配置時間はa*mのレベルに対してはるかに離れており、基本的に無視することができる。
そのため、処理時間長さから、a<a*m<a*nであり、即ちa個単位のデータタスクの処理効率は、高い方から順次に、FPGA、自己適応型チップ、CPUである。しかし、FPGAはデータ処理の量が増大することにつれて、チップの面積も増大され、コストも大幅に上昇する。そのため、FPGAは無限にすることはできず、中大型のデータ処理およびコンピューティングには制約がある。しかし、本発明に係る自己適応型チップ自体は、動的再配置が可能であるため、すべての論理ユニットを再利用することができる。そのため、論理ユニットが無限になって、従来のような制限を受けなくなり、中大型のデータ演算の処理に適応される。処理効率およびコスト制御の面において、比類ない利点を持っている。
図10は、本発明に係る自己適応型チップの模式的な配置と使用方式である。
本発明に係る自己適応型チップ100は、少なくとも二つの演算領域に分割することができ、前記少なくとも二つの演算領域は、並列に配置と演算を行って、並列化処理を実現することができる。例えば、一つは配置に用いられ、もう一つは算出に用いられ、配置が完了されたらすぐ切り替えることができ、もともと算出に用いられたものを再配置に用いることができ、配置されたばかりのものはデータを直接入力して算出することができる。切り替え時間は非常に短く、ナノ秒の時間レベルに制御できる。そのため、配置しながら演算することを実現でき、且つ演算を完了後に配置を切り替える時間がナノ秒レベルに達して、データの処理能力を大幅に向上させる。
図10に示すように、本実施例に係る自己適応型チップ100は、デュアルコアプロセッサと併用される。プロセッサの各コアにおける命令の実行は単命令の方式であり、1回に一つの命令しか実行できない。自己適応型チップの内部には、演算領域101と演算領域102が設けられ、マルチコアプロセッサ中の一つのコア1001によってその中の一つの領域を配置する。配置が完成された後に、プロセッサのもう一つのコア1002は、配置が完了された自己適応型チップの一部にビッグ・データを配信して演算を行い、配置を担当するプロセッサのコア1001は、もう一つの自己適応型チップの一部を配置し続けることができる。一部のビッグ・データの演算処理が完了された後に、新しい自己適応型チップの領域に直接に切り替えて、新しいデータを処理することができる。このような方式によれば、一チップ多用途を実現でき、データに対し並列化処理を行うため、大幅に速度を向上させる。当然のことながら、自己適応型チップ内部にも複数の演算領域が設けられることができ、その原理は本実施形態と同じである。
図11と12は、本発明に係る自己適応型チップの模式的な配置と使用方式である。
例えば、いくつかのビッグ・データの場合のデータに対して演算処理を行う時に、本発明の自己適応型チップを、直列または並列して使用することができる。図11を参照して、複数の自己適応型チップ1120〜1170を直列して使用することで、CPU1110を利用して再配置するたびに利用可能な面積を増加させる。図12を参照して、複数の自己適応型チップ1220〜1260を並列して使用し、且つCPU1210を利用して配置することで、複数の自己適応型チップは、同時にデータを処理することができ、処理速度を大幅に向上させる。
以上のように、本発明に係る自己適応型チップは、以下のメリットの一つ又は二つ以上を有する。
1、自己適応型チップには複数の基本ユニット(動的再構成可能ユニット)が設けられ、各基本ユニットは構成データを保持し、且つ隣接する基本ユニットに接続される。データが伝送されてくる場合、配置に基づき異なる入力チャンネルを選択して演算を行い、且つ演算結果を隣接する基本ユニットに送信する。そのため、本発明は動的再配置可能の新型チップを提供し、異なる時点でチップに対し自動的再配置を行うことで、限られたチップ面積で無限の回路アルゴリズムを実現することができる。なお、様々なアプリケーションの要求に応じて、チップの内部構造を自動的に調整し、動的な再配置を実現して、チップ面積の無限大効果を達成し、且つ低消費電力、低コストを実現することができる。
2、自己適応型チップは、新しいアーキテクチャに基づき、ソフトウェアアルゴリズムからチップ構造への直接変換を迅速に実現することができ、FPGAに採用されるLUT構造に対して明らかな利点を有する。FPGAは、動的再構成可能の面で、構成データの量が大きいという問題があるため、FPGAの動的再配置の速度は向上されにくく、ミリ秒レベルにしか達されない。本発明に係る自己適応型チップは、LUT構造を採用していないため、迅速な動的再配置を実現することができる。動的に書き換えることができるため、すべての論理ユニットを再利用することができ、論理ユニットが無限になり、従来のような制限を受けない。自己適応型チップは容量に制限されなく、書き換える速度によってのみ制限される。
3、自己適応型チップは、アプリケーションしながら開発しアップグレードすることが可能であるため、コストを削減することができる。また、ソフトウェアのようにハードウェアをダウンロードさせることができ、ハードウェアを自動的にアップグレードさせることができる。
4、自己適応型チップは、領域に分けて配置と演算を行い、配置しながら演算することを実現でき、且つ演算を完了後に配置を切り替える時間がナノ秒レベルと速くなる。伝統的なSOCがシミュレーションの世界と同等であれば、自己適応型チップはデジタルの世界であり、デジタルのサンプリングが十分に速い場合、つまり、自己適応型チップの切り替えが十分に速い場合、アナログ信号にほぼ復元され、つまり、無限大の集積回路面積に達することができる。
5、配置を行う際に、画像の画素構造に類似した構成パラメータ値をチップに伝送すればよく、配置の基本ユニットを変える必要がなく、大きなデータ量の配置を伝送する必要がない。これは、一つのユニットの配置に数十ビット(bit)しか必要しないからである。そのため、時間を節約する。同時に、配置の内容が非常に少ない場合、伝送の時間も非常に短くなる。
以上に記載の内容は、本発明の示例的な実施例にすぎず、これによって本発明の実施 の範囲が限定されることではない。即ち、本発明に開示された内容に基づき行われた等価変更及び追加は、いずれも本発明の範囲に含まれる。
当業者は、本明細書に対する理解、及び明細書に記載された内容の実施を介して、本発明の他の実施形態を容易に想到できる。本発明は、本発明に対する任意の変形、用途、又は適応的な変更を含み、このような変形、用途、又は適応的な変更は、本発明の一般的な原理に従い、且つ本発明に開示されていない本技術分野における公知知識、又は通常の技術手段を含む。明細書及び実施例は、単に例示的なものに過ぎず、本発明の範囲と主旨は、特許請求の範囲によって限定される。

Claims (25)

  1. アレイ状に設けられた複数の動的再構成可能ユニットを含み、各動的再構成可能ユニットは、必要に応じて異なる演算機能及び/又は入力出力の制御機能を実行するように動的に再配置されることができ、
    ここで、各動的再構成可能ユニットは、複数の隣接する動的再構成可能ユニットに接続され、前記複数の隣接する動的再構成可能ユニット中の一つ又は複数からデータを取得して、前記データに基づく演算結果を少なくとも一つの隣接する動的再構成可能ユニットに出力する
    自己適応型チップ。
  2. 各動的再構成可能ユニットは、4〜8個の隣接する動的再構成可能ユニットに接続される
    請求項1に記載の自己適応型チップ。
  3. 各動的再構成可能ユニットは、算術論理シーケンスユニットを含み、
    前記算術論理シーケンスユニットは、算術演算、論理演算、空演算、シーケンス遅延及びカウント中の少なくとも一つを実現するように配置される
    請求項1に記載の自己適応型チップ。
  4. 各動的再構成可能ユニットは、対応する回路構造に構成されることで、ソフトウェアのアルゴリズムとして機能する
    請求項1に記載の自己適応型チップ。
  5. 各動的再構成可能ユニットは、変数ホルダー、入力コントローラー、出力コントローラーをさらに含む
    請求項3に記載の自己適応型チップ。
  6. 前記算術論理シーケンスユニットは、命令に従って異なる演算機能を実行するように配置される
    請求項3に記載の自己適応型チップ。
  7. 各命令の実行サイクルは1クロックである
    請求項6に記載の自己適応型チップ。
  8. 前記自己適応型チップは、動的再構成可能ユニットのカスケードによって操作のカスケードを実現することで、より多くの命令を実現するように配置される
    請求項6に記載の自己適応型チップ。
  9. 前記算術論理シーケンスユニットは、クロック入力端、リセット端、複数の命令入力端、複数の操作入力端、複数の操作出力端を含む
    請求項5に記載の自己適応型チップ。
  10. 前記複数の操作入力端は、複数の被オペランドの入力端、複数のオペランドの入力端、及びキャリーの入力端を含む
    請求項9に記載の自己適応型チップ。
  11. 前記複数の操作出力端は、出力結果の下位出力端、出力結果の上位出力端、及びフラグビット出力端を含む
    請求項9に記載の自己適応型チップ。
  12. 前記入力コントローラーは、前記複数の操作入力端のデータソースを制御するために用いられる
    請求項9に記載の自己適応型チップ。
  13. 前記データソースは、前記複数の隣接する動的再構成可能ユニット中の少なくとも一つ又は前記変数ホルダーである
    請求項12に記載の自己適応型チップ。
  14. 前記出力コントローラーは、前記複数の操作出力端からのデータを、別々に及び/又は組み合わせて前記複数の隣接する動的再構成可能ユニット中の少なくとも一つに出力させるために用いられる
    請求項9に記載の自己適応型チップ。
  15. 前記変数ホルダーは、演算に関与するデータを保持するために用いられる
    請求項5に記載の自己適応型チップ。
  16. 前記変数ホルダーは、命令、オペランド、及び入力コントローラーの構成データを保持するために用いられ、当該構成データは前記入力コントローラーのデータソースを制御するために用いられる
    請求項9に記載の自己適応型チップ。
  17. 前記変数ホルダーは、それぞれトップレベルから操作命令、入力コントローラーの構成データ、及び、保持可能なオペランドを入力するように独立的なデータチャンネルを有する
    請求項16に記載の自己適応型チップ。
  18. 前記自己適応型チップは、パイプラインまたはパラレルの方式でシリアル演算のアルゴリズムを実現するために用いられる
    請求項1に記載の自己適応型チップ。
  19. 前記自己適応型チップは、アドレス入力端子及びアドレス制御ユニットを含み、
    前記アドレス制御ユニットは、前記アドレス入力端子によって複数の動的再構成可能ユニット中の一つを選択して配置する
    請求項1に記載の自己適応型チップ。
  20. 前記自己適応型チップは、1回の配置を行った後に、入力データに基づいて演算を行い、演算が完了した後、消去して再配置を行い、さらに新たな入力データに基づいて新たな演算を行うことを往復するように配置される
    請求項1に記載の自己適応型チップ。
  21. 前記自己適応型チップは、少なくとも二つの演算領域に分割され、前記少なくとも二つの演算領域は配置と演算を並列に行うことで、並列化処理を実現する
    請求項1に記載の自己適応型チップ。
  22. 請求項1〜21のいずれか1項に記載の自己適応型チップの配置方法であって、
    それぞれ複数の動的再構成可能ユニットに用いられる複数の配置を定義し、各配置は少なくとも一つの構成パラメータ値を含むステップと、
    前記複数の配置をそれぞれ対応する複数の動的再構成可能ユニットに書き込むステップと、を含む
    配置方法。
  23. それぞれ複数の動的再構成可能ユニットに用いられる複数の配置を定義することは、
    予め定められた演算を、前記複数の動的再構成可能ユニットを含む構造にコンパイルし、各動的再構成可能ユニットは少なくとも一つの演算を完成するように配置されることを含む
    請求項22に記載の配置方法。
  24. 前記複数の配置をそれぞれ対応する複数の動的再構成可能ユニットに書き込むことは、
    前記複数の動的再構成可能ユニット中の一つを選定し、対応する配置の前記少なくとも一つの構成パラメータ値を前記複数の動的再構成可能ユニット中の一つに書き込むことを含む
    請求項22に記載の配置方法。
  25. 少なくとも第1の機能および第2の機能を実行するための電子装置であって、
    前記電子装置は、請求項1〜21のいずれか1項に記載の自己適応型チップを含み、
    前記第1の機能が実行される直前または実行されている時に、前記自己適応型チップは、前記第1の機能の一部または全部を実行するように動的に配置され、
    前記第1の機能の実行が完了した後、前記第2の機能が実行される直前または実行されている時に、前記自己適応型チップは、前記第2の機能の一部または全部を実行するように動的に配置される
    電子装置。
JP2018506214A 2015-07-31 2015-07-31 自己適応型チップ及び配置方法 Pending JP2018530040A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2015/085701 WO2017020165A1 (zh) 2015-07-31 2015-07-31 自适应芯片和配置方法

Publications (1)

Publication Number Publication Date
JP2018530040A true JP2018530040A (ja) 2018-10-11

Family

ID=57942250

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018506214A Pending JP2018530040A (ja) 2015-07-31 2015-07-31 自己適応型チップ及び配置方法

Country Status (5)

Country Link
US (1) US10693466B2 (ja)
JP (1) JP2018530040A (ja)
CN (1) CN107430586B (ja)
CA (1) CA2994188C (ja)
WO (1) WO2017020165A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108388516B (zh) * 2018-03-14 2021-07-23 上海微小卫星工程中心 可重构fpga软件的专用验证测试系统
JP7176323B2 (ja) 2018-09-25 2022-11-22 株式会社デンソー 車両制御装置
CN109145517B (zh) * 2018-10-08 2022-10-28 华大恒芯科技有限公司 一种芯片设计工程改变命令eco方法
US20210406437A1 (en) * 2018-11-21 2021-12-30 Guosheng Wu Programmable chip, design method and device
CN109902040B (zh) * 2019-02-01 2021-05-14 京微齐力(北京)科技有限公司 一种集成fpga和人工智能模块的系统芯片
CN109902037B (zh) * 2019-02-01 2021-09-28 京微齐力(北京)科技有限公司 连接不同时钟域下的fpga和人工智能模块的系统芯片
CN111611195A (zh) * 2019-02-26 2020-09-01 北京知存科技有限公司 可软件定义存算一体芯片及其软件定义方法
CN110515891B (zh) * 2019-10-22 2020-02-14 广东高云半导体科技股份有限公司 一种fpga芯片及其配置方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005044329A (ja) * 2003-07-09 2005-02-17 Hitachi Ltd 半導体集積回路
JP2006053687A (ja) * 2004-08-10 2006-02-23 Sony Corp 演算装置
JP2006519548A (ja) * 2003-02-19 2006-08-24 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ プログラム可能な論理セルのアレイをもつ電子回路
JP2010211496A (ja) * 2009-03-10 2010-09-24 Mitsubishi Electric Corp 動的再構成装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5519811A (en) 1991-10-17 1996-05-21 Kawasaki Steel Corporation Neural network, processor, and pattern recognition apparatus
US5581981A (en) * 1993-11-12 1996-12-10 Thiele Engineering Company Method of packaging toothbrushes
DE19651075A1 (de) * 1996-12-09 1998-06-10 Pact Inf Tech Gmbh Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen
JP2004517386A (ja) * 2000-10-06 2004-06-10 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト 方法および装置
US7982495B2 (en) * 2006-08-25 2011-07-19 St-Ericsson Sa Configurable logic device
US20090077153A1 (en) * 2007-09-14 2009-03-19 Cswitch Corporation Reconfigurable arithmetic unit
CN102236632B (zh) * 2011-05-27 2013-05-22 清华大学 一种层次化描述动态可重构处理器配置信息的方法
CN102306141B (zh) * 2011-07-18 2015-04-08 清华大学 一种描述动态可重构阵列配置信息的方法
CN102279753B (zh) * 2011-09-08 2014-03-12 无锡东集电子有限责任公司 可重构系统配置管理的方法及用于可重构系统的配置管理单元
CN102567279B (zh) * 2011-12-22 2015-03-04 清华大学 一种动态可重构阵列时序配置信息的生成方法
CN102662765B (zh) 2012-04-28 2014-09-03 中国科学技术大学 一种运行效率指导的可重构多核处理器的资源分配方法
CN103942181B (zh) 2014-03-31 2017-06-06 清华大学 用于生成动态可重构处理器的配置信息的方法、装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006519548A (ja) * 2003-02-19 2006-08-24 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ プログラム可能な論理セルのアレイをもつ電子回路
JP2005044329A (ja) * 2003-07-09 2005-02-17 Hitachi Ltd 半導体集積回路
JP2006053687A (ja) * 2004-08-10 2006-02-23 Sony Corp 演算装置
JP2010211496A (ja) * 2009-03-10 2010-09-24 Mitsubishi Electric Corp 動的再構成装置

Also Published As

Publication number Publication date
CA2994188C (en) 2021-05-25
WO2017020165A1 (zh) 2017-02-09
CN107430586B (zh) 2018-08-21
US20190007049A1 (en) 2019-01-03
CA2994188A1 (en) 2017-02-09
CN107430586A (zh) 2017-12-01
US10693466B2 (en) 2020-06-23

Similar Documents

Publication Publication Date Title
JP2018530040A (ja) 自己適応型チップ及び配置方法
KR102438730B1 (ko) 공간 다중화를 지원하는 디램 기초의 재설정 가능 논리 장치
US9164952B2 (en) Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements
Cummings et al. FPGA in the software radio
US9396161B2 (en) Method and system for managing hardware resources to implement system functions using an adaptive computing architecture
US9564902B2 (en) Dynamically configurable and re-configurable data path
US8533431B2 (en) Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements
JP4484756B2 (ja) リコンフィギュラブル回路および処理装置
CN111047034A (zh) 一种基于乘加器单元的现场可编程神经网络阵列
US20030054774A1 (en) Method and system for managing hardware resources to implement system acquisition using an adaptive computing architecture
Tørresen et al. High Performance Computing by Context Switching Reconfigurable Logic.
JP6039113B2 (ja) 再構成可能命令セルアレイの並列構成
JP6046319B1 (ja) 再構成可能命令セルアレイのシリアル構成
JP2005276854A (ja) 処理装置
US20240118870A1 (en) Digital Signal Processing Circuitry with Multiple Precisions and Dataflows
JP4330472B2 (ja) 処理装置
Hirao et al. A restricted dynamically reconfigurable architecture for low power processors
Pragati et al. Design and implementation of FPGA based processor for wireless sensor nodes
Ito et al. A uniform partitioning method for Mono-Instruction Set Computer (MISC)
Kesler et al. Design and verification of dynamically reconfigurable architecture
Matsumura et al. The LSI implementation of a memory based field programmable device for MCU peripherals

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190417

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190618

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190917

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20191029