JP4276911B2 - Arrangement method and arrangement program for circuit elements of integrated circuit - Google Patents
Arrangement method and arrangement program for circuit elements of integrated circuit Download PDFInfo
- Publication number
- JP4276911B2 JP4276911B2 JP2003320721A JP2003320721A JP4276911B2 JP 4276911 B2 JP4276911 B2 JP 4276911B2 JP 2003320721 A JP2003320721 A JP 2003320721A JP 2003320721 A JP2003320721 A JP 2003320721A JP 4276911 B2 JP4276911 B2 JP 4276911B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- elements
- circuit element
- actual
- circuit elements
- 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 - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 25
- 230000006870 function Effects 0.000 claims description 37
- 230000000007 visual effect Effects 0.000 claims description 14
- 230000015654 memory Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 description 54
- 238000010586 diagram Methods 0.000 description 25
- 239000011159 matrix material Substances 0.000 description 19
- 238000013461 design Methods 0.000 description 13
- 238000003780 insertion Methods 0.000 description 10
- 230000037431 insertion Effects 0.000 description 10
- 238000013507 mapping Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 4
- 101150109041 C16L gene Proteins 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 208000014342 histiocytosis-lymphadenopathy plus syndrome Diseases 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Description
本発明は、並列処理を実現する集積回路の設計に関し、より詳細には、当該集積回路の回路要素の配置および回路要素間の接続に関する。 The present invention relates to the design of an integrated circuit that implements parallel processing, and more particularly to the placement of circuit elements of the integrated circuit and the connection between circuit elements.
LSIやASICなどの集積回路を設計するため、いくつかの言語が用いられている。C言語などの抽象度の高い高級言語と称されるものは、手続的レベルの言語であり、1命令ごとにいかに処理全体が順番に実行されていくかを示すのに適している。このレベルの記述は、一般的にハードウェア依存性がなく、適当なコンピュータで受け入れられるアプリケーションプログラムであり、LSIの仕様、または、LSIにおいて実行する処理全体を一般的に記述するために用いられる。 Several languages are used to design integrated circuits such as LSIs and ASICs. What is called a high-level language with a high degree of abstraction such as C language is a procedural level language, and is suitable for showing how the entire processing is executed in order for each instruction. This level of description is generally an application program that has no hardware dependency and is accepted by an appropriate computer, and is used to generally describe the specifications of the LSI or the entire process executed in the LSI.
また、Verilog−HDLあるいはVHDLなどのハードウェア記述言語(HDL)は、RTLと称されることもありレジスタ−トランジスタレベルで、特定のハードウェアにより特定の命令が実行されているデータパスやパスを駆動するシーケンスを記述するために用いられる。 Also, hardware description language (HDL) such as Verilog-HDL or VHDL is sometimes referred to as RTL, and it is a register-transistor level, and a data path or path in which a specific instruction is executed by specific hardware. Used to describe the driving sequence.
アルゴリズムは、問題を解くために明確に規定され、順序付けられた有限個の規則からなる集合として定義されており、従来、並列処理は、アルゴリズムにより記述された処理全体(アプリケーション)を順番に進める上で、独立して実行可能な部分(処理)を並列に実行し、処理時間を短縮する目的で用いられる。予め並列処理に適したハードウェアリソースを備えたシステムでアプリケーションを実行する場合は、コンパイラなどにより並列処理ができる部分は並列化され、実行速度を向上することがトライされる。 An algorithm is defined as a set of a finite number of rules that are clearly defined and ordered to solve a problem. Conventionally, parallel processing is a process that sequentially advances the entire processing (application) described by the algorithm. Thus, the independently executable portions (processes) are executed in parallel to reduce the processing time. When an application is executed in advance by a system provided with hardware resources suitable for parallel processing, a part that can be processed in parallel by a compiler or the like is parallelized to try to improve the execution speed.
また、特定のアプリケーションの実行を目的としたハードウェアを設計する場合は、独立して実行できる部分を並列に処理するように回路を設計して処理時間の短縮を目指す。特許文献1に記載された技術は、並列処理および同期通信等により実行時間が定数でない処理を記述可能なHDLにより回路を設計する方法である。同期通信では、2つのファンクションを並行に実行する際に、それらに含まれるプロセスを送信側が準備できるまで受信側が待ち、通信が完了した後にプロセスが進行する。したがって、これらのファンクションは並列に記述されても独立して実行されず、実行時間が可変の処理となる。一方、同期通信を行わない処理は並列処理として独立して行われる。これらは、ソース言語で与えられた処理全体の内、ソース上では並列に実行するように記載された処理を、ハードウェア設計において並列に、あるいは同期通信を用いて実行して実行サイクル数を短縮することを目的とした技術である。
近年、LSIを構成する回路の一部をソフトウェアにより再構成できるハードウェアが提供されている。さらに、国際公開WO03/007155号には、再構成する基本単位を、ゲートレベルからALUなどのある程度の規模の演算機能を備えた演算ユニットにして、複数種類の演算ユニットをマトリクス状に配置し、再構成に要する時間を短縮することが開示されている。複数の演算ユニットがマトリクス状に配置されたシステムは、それぞれの演算ユニットが並列に処理を実行できるので、膨大な数の並列処理に適したハードウェアリソースを備えたシステムと捉えることが可能である。 In recent years, hardware capable of reconfiguring a part of a circuit constituting an LSI by software has been provided. Furthermore, in International Publication No. WO 03/007155, the basic unit to be reconfigured is an arithmetic unit having an arithmetic function of a certain scale from gate level to ALU, and a plurality of types of arithmetic units are arranged in a matrix, It is disclosed to reduce the time required for reconfiguration. A system in which a plurality of arithmetic units are arranged in a matrix can be regarded as a system having a large number of hardware resources suitable for parallel processing because each arithmetic unit can execute processing in parallel. .
しかしながら、この種の並列処理に適した集積回路を設計するのは容易ではない。C言語などのソフトウェア設計に適した高級言語は、アルゴリズムを、それに含まれる規則を時間的な順番に処理することを前提としている。したがって、プログラムカウンタを進めて命令がシーケンシャルに実行されるように構成されており、シーケンシャルではない並列という概念を導入することは難しい。命令を並列的に記述することが許容されたとしても、それは、時間的な順番に齟齬をきたさない範囲で、独立して実行できる処理を空間的に並列に広げて実行できる程度であり、並列処理に適したハードウェアリソースを積極的に使用することはできない。さらに、高級言語であれば、ハードウェアに依存しない命令が記述されるために、並列に記述した命令がハードウェアで実際に開始されたり、終了したりするタイミングは不明である。したがって、処理できる範囲を空間的に広げても、設計者はハードウェア上で実際にどのように並列処理が実行されるのかは定義できないし、把握することもできない。 However, it is not easy to design an integrated circuit suitable for this kind of parallel processing. A high-level language suitable for software design, such as C language, is premised on processing an algorithm in the order of time. Therefore, the program counter is advanced so that instructions are executed sequentially, and it is difficult to introduce the concept of non-sequential parallelism. Even if it is allowed to describe instructions in parallel, it is only possible to extend the processing that can be executed independently in parallel in a range that does not cause any hesitation in the temporal order. Hardware resources suitable for processing cannot be actively used. Furthermore, since a high-level language describes instructions that do not depend on hardware, the timing at which instructions written in parallel are actually started or ended in hardware is unknown. Therefore, even if the processing range is expanded spatially, the designer cannot define or grasp how parallel processing is actually executed on hardware.
HDLは独立して動作する回路構成を記述するので、本来、並列処理を記述するものである。また、ハードウェアが明確になるので、処理が実行されるタイミングを調べ、或いは、調整できる。しかしながら、HDLは、集積回路やその回路要素の十分な知識が必要であり、かつ、HDLで記述された事項をみて、回路構成を把握することが実質的に不可能であるという問題もある。上記知識には、ハードウェアの設計規則なども含まれる。 Since HDL describes a circuit configuration that operates independently, it essentially describes parallel processing. In addition, since the hardware becomes clear, the timing at which the process is executed can be checked or adjusted. However, HDL requires a sufficient knowledge of the integrated circuit and its circuit elements, and there is a problem that it is substantially impossible to grasp the circuit configuration by looking at the items described in HDL. The knowledge includes hardware design rules and the like.
本発明は、集積回路や回路要素に関する専門知識がない場合であっても、集積回路、特に、国際公開WO03/007155号に開示された集積回路を設計することができる、回路要素の配置方法および配置プログラムを提供することを目的とする。 The present invention provides an arrangement method of circuit elements, which can design an integrated circuit, in particular, an integrated circuit disclosed in International Publication No. WO 03/007155, even if there is no expertise related to the integrated circuit and circuit elements. An object is to provide a placement program.
本発明の目的は、集積回路を構成する回路要素の視覚的シンボルとDDDLとを関連付けて格納した定義ファイルから選択して配置された、視覚的シンボルと、当該視覚的シンボル間に設定された接続とに基づいて、当該回路要素を、集積回路上にあらかじめ配置された、対応する特定の機能を有する実際の回路要素に割り当てるステップと、前記回路要素のレイテンシーにしたがって、割り当てられた回路要素間に、前記集積回路上に配置された遅延機能を有する回路要素を介在させるステップと、前記割り当てられ、或いは、介在された回路要素を記述したDDDLを、前記集積回路の回路要素の配置情報としてメモリに記憶するステップとを備えたことを特徴とする回路要素の配置方法により達成される。 An object of the present invention is to provide a visual symbol and a connection established between the visual symbols, which are arranged by selecting from a definition file in which visual symbols of circuit elements constituting an integrated circuit and DDDL are stored in association with each other. And assigning the circuit element to an actual circuit element that is pre-arranged on the integrated circuit and having a corresponding specific function, and according to the latency of the circuit element, between the assigned circuit elements A step of interposing a circuit element having a delay function arranged on the integrated circuit, and a DDDL describing the assigned or intervening circuit element in a memory as arrangement information of the circuit element of the integrated circuit And the step of storing the circuit element.
好ましい実施態様においては、前記集積回路において、一定の回路要素群を含むセグメント間では、当該回路要素の接続に遅延機能を有する、実際の回路要素を介在させるステップを備えている。 In a preferred embodiment, the integrated circuit includes a step of interposing an actual circuit element having a delay function in the connection of the circuit element between segments including a certain group of circuit elements.
また、好ましい実施態様においては、前記遅延機能を有する、実際の回路要素を介在させる際に、当該遅延機能を有する、実際の回路要素の少なくとも最大レイテンシーにしたがって、少なくとも1以上の、実際の回路要素を割り当てるステップを備えている。
さらに、好ましい実施態様においては、前記遅延機能を有する、実際の回路要素を介在させる際に、当該遅延機能を有する、実際の回路要素の入力ポート数および出力ポート数を参照して、単一の、実際の回路要素に割り当てるステップを備えている。
Further, in a preferred embodiment, when an actual circuit element having the delay function is interposed, at least one or more actual circuit elements having the delay function according to at least the maximum latency of the actual circuit element The step of assigning is provided.
Furthermore, in a preferred embodiment, when an actual circuit element having the delay function is interposed, the number of input ports and the number of output ports of the actual circuit element having the delay function is referred to as a single unit. And assigning to actual circuit elements.
別の好ましい実施態様においては、ユーザにより選択された特定の回路要素間では、レイテンシーにかかわらず、遅延機能を有する、実際の回路要素を介在させないように構成される。 In another preferred embodiment, it is configured not to intervene an actual circuit element having a delay function between specific circuit elements selected by the user regardless of the latency.
さらに、前記回路要素間に、前記回路要素の入力ポートを指定するための、実際のマルチプレクサを介在させるステップを備えていても良い。 Further, a step of interposing an actual multiplexer for designating an input port of the circuit element may be provided between the circuit elements.
また、本発明の目的は、集積回路を構成する回路要素の視覚的シンボルとDDDLとを関連付けて格納した定義ファイルから選択して配置された、視覚的シンボルと、当該視覚的シンボル間に設定された接続とに基づいて、当該回路要素を、集積回路上にあらかじめ配置された、対応する特定の機能を有する実際の回路要素に割り当てるステップと、前記回路要素のレイテンシーにしたがって、割り当てられた回路要素間に、前記集積回路上に配置された遅延機能を有する回路要素を介在させるステップと、前記割り当てられ、或いは、介在された回路要素を記述したDDDLを、前記集積回路の回路要素の配置情報としてメモリに記憶するステップとを、コンピュータに実行させることを特徴とする回路要素の配置プログラムによっても達成される。 An object of the present invention is set between a visual symbol selected from a definition file in which a visual symbol of a circuit element constituting an integrated circuit and a DDDL are stored in association with each other, and the visual symbol. And assigning the circuit element to an actual circuit element having a specific function corresponding to the pre-arranged circuit element on the integrated circuit, and the assigned circuit element according to the latency of the circuit element. Between the step of interposing a circuit element having a delay function arranged on the integrated circuit and the DDDL describing the assigned or intervening circuit element as arrangement information of the circuit element of the integrated circuit The step of storing in the memory is also achieved by a circuit element arrangement program characterized in that the computer executes the step. It is.
本発明によれば、集積回路や回路要素に関する専門知識がない場合であっても、集積回路を設計することができる、回路要素の配置方法および配置プログラムを提供することが可能となる。 According to the present invention, it is possible to provide a circuit element arrangement method and an arrangement program capable of designing an integrated circuit even when there is no specialized knowledge about the integrated circuit and circuit elements.
以下、添付図面を参照して、本発明の実施の形態について説明する。図1は、本発明の実施の形態にかかる集積回路の回路要素の配置システムの概略を示すブロックダイヤグラムである。図1に示すように、DDDL(Device Dependent Description Language)により記述された種々の回路要素(エレメント)が記憶されたハードウェアライブラリ10と、ユーザの入力装置の操作にしたがって、ハードウェアライブラリ10から読み出された回路要素を、視覚的なシンボル(本実施の形態では、マッピング構成と称する)として表示する表示制御部12と、ユーザにより配置されたマッピング構成に基づいて、DDDLにより記述されたハードウェア構成14を生成するためのコンパイラ16と、コンパイラ16により生成された、実際の集積回路に対応するDDDLで記述されたデータを記憶する記憶部18とを有している。
Embodiments of the present invention will be described below with reference to the accompanying drawings. FIG. 1 is a block diagram showing an outline of an arrangement system of circuit elements of an integrated circuit according to an embodiment of the present invention. As shown in FIG. 1, a
表示制御部12およびコンパイラ16は、コンピュータにより実現され、必要なプログラムが起動することにより、当該コンピュータが、上記表示制御部およびコンパイラとして機能する。上記プログラムは、CD−ROMなどの記憶媒体から読み出され、或いは、ネットワークを介してダウンロードされ、コンピュータの記憶装置に記憶される。
本実施の形態にかかる回路要素の配置システムによる処理に先立って、本実施の形態を利用するのに好適な並列処理システムについて説明する。この並列処理システムは、エレメントがそれぞれ同時に別個の処理を実現する集積回路に相当する。
The
Prior to processing by the circuit element arrangement system according to this exemplary embodiment, a parallel processing system suitable for using this exemplary embodiment will be described. This parallel processing system corresponds to an integrated circuit in which each element simultaneously performs separate processing.
図2は、ハードウェアライブラリ10の回路要素を利用した並列処理システムの一例を示す図である。この並列処理システムは、本出願人の国際出願公開公報WO03/007155に開示されている再構成可能なプロセッサ(RP、Reconfigurable Processor)である。このRP20は、プログラムなどによって与えられる命令セットに基づきエラー処理を含めた汎用的な処理を行う汎用な構成の基本プロセッサ21と、マトリクス状に配置された演算あるいは論理エレメントにより特定のデータ処理に適合したデータフローあるいは擬似データフローがバリアブルに形成されるAAP(Adoptive Application Processor)部あるいはAAPユニット(以後、「AAP」と称する)50と、このAAP50からの割り込み処理を制御する割り込み制御部22と、AAP50に作動用のクロック信号を供給するクロック発生部28と、このRP20で提供可能な演算回路のフレキシビリティーをさらに向上するためのFPGA部27と、外部に対するデータの入出力を制御するバス制御部29とを備えている。基本プロセッサ21とAAP50は、これらの間でデータを交換可能なデータバス24aと、基本プロセッサ21からAAP50の構成および動作を制御するための命令バス24bとにより接続されている。また、AAP50から割り込み制御部22に信号線25を介して割り込み信号が供給され、AAP50における処理が終了し、また、処理中にエラーが発生したときはAAP50の状態を基本プロセッサ21にフィードバックできるようになっている。
FIG. 2 is a diagram illustrating an example of a parallel processing system that uses circuit elements of the
AAP50とFPGA27との間もデータバス26により接続されており、AAP50からFPGA27にデータを供給して処理を行い、その結果をAAP50に返せるようになっている。さらに、AAP50は、ロードバス23aおよびストアバス23bによってバス制御ユニット29と接続されており、RP20の外部のデータバスとの間でデータを交換できるようになっている。
The AAP 50 and the
図3にAAPユニット50の概要を示してある。AAPユニット50は、複数の算術および/または論理演算を行う論理ブロック、論理ユニットあるいは論理要素(以降ではエレメント)がマトリクス状に配置されたマトリクス部51と、そのマトリクス部51に対してデータを供給する入力バッファ52と、マトリクス部51から出力されるデータを格納する出力バッファ53を備えている。これら入力バッファ52および出力バッファ53は、それぞれ4つの小容量の入力メモリにより構成されており、アクセス調停ユニット54を介して入出力バス23aおよび23bに接続される。
An outline of the
マトリクス部51が、データパスあるいはデータフローを再構成可能な並列処理システムの中心となる集積回路区画であり、複数種類の演算ユニットであるエレメント55が縦方向に、たとえば、4つのラインを構成するようにアレイ状あるいはマトリクス状に配置されている。このマトリクス部51は、これらのエレメント55の間に配置された、横方向に延びた行配線群57と、縦方向に延びた列配線群58とを備えている。列配線群58は、列方向に並んだ演算ユニット55の左右に分かれて配置された配線群58xおよび58yが一対になっている。行配線群57および列配線群58との交点にはスイッチングユニット59が配置されており、行配線群57の任意のチャンネルを、列配線群58の任意のチャンネルに切り替えて接続できるようになっている。各々のスイッチングユニット59は、設定を記憶するコンフィグレイションRAMを備えており、プロセッサ部21から供給されるデータによりコンフィグレイションRAMの内容を書き換えることにより、行配線群57と列配線群58の接続を動的に任意に制御できる。このため、このマトリクス部51においては、複数のエレメント55の全部あるいは一部が配線群57および58により接続されて形成されるデータフローの構成を任意に動的に変更することができる。
The
RP20においては、エレメント55が並列に動作する要素であり、各種類のエレメント55の機能、遅延、入出力データの条件などの情報がハードウェアライブラリ3に格納されている。エレメント55は、クロック発生部28から供給されるクロック信号に同期して稼動するので、ハードウェアライブラリ3には各種類のエレメント毎に、入力データを処理して出力するために消費されるサイクル数が遅延情報として格納されている。さらに、各種類のエレメント55の配置と、配線群57および58、スイッチングユニット59の情報もハードウェアライブラリ3に格納されており、コンパイラ2からは、DIDL1に定義されたアルゴリズムを実現するための、エレメント55の接続情報(データフロー構成)がハードウェア構成情報(DDDL)4として出力される。このため、DDDL4に従ってエレメント55が配線群57および58で接続されるようにマトリクス部51を制御することにより、DIDL1に定義されたアルゴリズムをマトリクス部51にエレメント55により空間的に割り付けることが可能となる。
In the
各エレメント55は、1組の列配線群58xおよび58yのそれぞれから入力データを選択するための1組のセレクタ54と、選択された入力データに特定の算術および/または論理演算処理を施し、出力データとして行配線群57に出力する内部データパス部56を備えている。そして、本例のマトリクス部51には、各行毎に異なる処理を行うための内部データパス部56を備えた種類の異なるエレメント55が並んで配置されている。例えば、第1行目に配列されたエレメント55は、入力バッファ52からのデータを受信する処理に適したデータパス部(LD)56iを備えている。第2行目に配置されたエレメント55aは、入力バッファ52に外部デバイスからデータを書き込むためのエレメントであり、ブロックロードするためのアドレスを発生するのに適した内部データパスを具備するデータパス部(BLA)56aを備えている。マトリクス51を構成する全てのエレメント55は、内部データパスの構成あるいは初期値などがある程度変更できるようになっており、その設定は各々のエレメント55のコンフィグレイションRAMに基本プロセッサ21から制御信号24bにより指示される。
Each
第3行目に配置されたエレメント55bは、入力RAMの各々より所望のデータをマトリクス部51へロードする入力読み出しアドレスを発生するデータパス部(LDA)56bを備えている。第4行目および第5行目に配列されたエレメント55cは、算術演算および論理演算に適したデータパス部(SMA)56cを備えている。このデータパス部56cは、たとえば、シフト回路、マスク回路、論理演算ユニットALUおよびALUで処理する演算をセットするコンフィグレイションRAMを備えている。したがって、プロセッサ21が書き込んだ命令により、マトリクス部51へ入力されたデータを加算あるいは減算したり、比較したり、論理和あるいは論理積を取ったりすることができ、その結果がエレメント55の出力信号として出力される。
The
その下の行に配列されたエレメント55dは、データが伝送されるタイミングを遅延する処理に適したデータパス部(DEL)56dを備えている。その下の行に配列されたエレメント55eは、乗算器などを含む乗算処理に適したデータパス部(MUL)56eを備えている。さらに異なるエレメント55fとしては、マトリクス部51の外部に用意されたFPGA27とのインターフェイス用のデータパス部56fを備えたエレメントも用意されており、データをいったんFPGA27に供給して処理した後、再びマトリクス部51に戻して処理を継続することができる。
The
これらの再構成可能な集積回路区画51のさらに下方には、ストア用のアドレスを発生するのに適したデータパス部56gおよび56hをそれぞれ備えたエレメント55gおよび55hが配置されている。これらは、出力バッファ53を介して外部デバイスにデータを出力するための制御を行う。そして、最下段には、ストア用にデータを出力するのに適したデータパス部(ST)56sを備えたエレメント55が配列されている。したがって、マトリクス部51を用いて、エレメント55の接続を動的に変更することにより、様々なデータフローをフレキシブルに構成でき、様々な処理を行うことができる。
Further below these reconfigurable
さらに、本実施の形態においては、APP50においては、それぞれが一群のエレメントを含む複数のセグメントを備えた構造となっている。図15〜図17は、本実施の形態にかかるRP中のAAP50の部分を示す。図15〜図17は、それぞれ、AAP50のうち、セグメント番号「0」、「1」および「2」を有するセグメント1501〜1701を示す。また、乗算処理に適したエレメントについて、「MUL」と表示する代わりに「SMAM」と表示している。以下、乗算処理に適したエレメントについては、「SMAMエレメント」と称する。図15〜図17に示すように、セグメント間には、データが伝送されるタイミングを遅延させるのに適したエレメント(以下、「DELエレメント」と称する)が配置され、セグメントを越えたエレメントの接続には、DELエレメントを介在させるようになっている。セグメント間の接続にDELエレメントを介するほか、APP50に実際に回路要素を配置するには一定の設計規則が設けられている。したがって、コンパイラ16は、回路要素の配置および接続において、設計規則にしたがって後述する種々の処理を実行する。
Further, in the present embodiment, the
ユーザは、DDDLにて記述されたエレメントを視覚的に表したマッピング構成を、入力装置を操作して、ハードウェアライブラリ10から読み出して、表示装置の画面中のレイアウト領域に配置する。ハードウェアライブラリ10には、上述したAAP50を構成するエレメント(図3における、符号56a〜56i、56sに相当する)の視覚的シンボル(マッピング構成)が記憶されている。
The user operates the input device to read the mapping configuration visually representing the elements described in DDDL, and arranges the mapping configuration in the layout area in the screen of the display device. The
図18は、本実施の形態にかかるエレメントを記述するDDDLの構造を示す図である。図18(a)に示すように、DDDLにおいては、回路要素の種別などを一意的に特定するPHID、プロセッサID、後述する配置位置とともに回路要素の実際のAPP上の位置を特定するUQID、当該UQIDを有する回路要素の配置位置、回路要素の接続情報、および、デバイスパラメータからなる。 FIG. 18 is a diagram showing a structure of a DDDL describing elements according to the present embodiment. As shown in FIG. 18A, in the DDDL, a PHID that uniquely identifies a type of a circuit element, a processor ID, a UID that identifies an actual position of the circuit element on the APP together with an arrangement position described later, It consists of an arrangement position of a circuit element having UID, connection information of the circuit element, and device parameters.
図18(b)は、接続情報の一例を示す図である。図18(b)の例では、「UQID=100」を有し、配置位置が特定されていない(つまり、(セグメント番号,カラム番号,ロウ番号)=(−1,−1,−1)の)SMAエレメント(算術演算および論理演算に適したエレメント)について、その入力ポート#0に入力を要さないが、第2の入力ポート入力ポート#1には、「UQID=102」のエレメントの出力ポート#0からの入力を得ることが示されている。このように、DDDLにおいては、エレメントの各入力ポートに接続される、UQIDを有するエレメントの出力ポートを規定しておくことで、エレメント間の接続を定義することができる。ハードウェアライブラリ10には、上述した構造のDDDLにより各エレメントが記述されているが、回路の配置位置や接続情報の値は不定となっている。
FIG. 18B is a diagram illustrating an example of connection information. In the example of FIG. 18B, “UQID = 100” is included and the arrangement position is not specified (that is, (segment number, column number, row number) = (− 1, −1, −1). ) For the SMA element (element suitable for arithmetic and logical operations), input is not required for the
ユーザによる、定義ファイル中のエレメントの選択およびレイアウト領域の配置においては、少なくともエレメントの種別およびエレメント間の接続を定義すればよい。すなわち、所望のエレメントを、レイアウト領域に配置し、かつ、一方のエレメントの出力ポートと他方のエレメントの入力ポートとを接続すればよい。無論、フィードバックの場合、単一のエレメントの出力ポートが入力ポートと接続される場合もある。エレメント間の接続、つまり、一方のエレメントの出力ポートと他方のエレメントの入力ポートがユーザの入力により接続されることにより、コンパイラ16は、DDDLにおける接続情報に、必要な値を与える。
When the user selects an element in the definition file and arranges the layout area, at least the element type and the connection between the elements may be defined. That is, a desired element may be arranged in the layout area, and the output port of one element may be connected to the input port of the other element. Of course, in the case of feedback, the output port of a single element may be connected to the input port. The connection between elements, that is, the output port of one element and the input port of the other element are connected by user input, so that the
図4(a)は、もっとも単純なマッピング構成の接続を示す図である。この例では、入力バッファ52からのデータを受信する処理に適したエレメント(以下、「LDエレメント」とも称する)401の出力ポートと、ストア用にデータを出力するのに適したエレメント(以下、「STエレメント」とも称する。)402の入力ポートとが接続されている。図4(b)は、他のマッピング構成の接続を示す図である。この例では、LDエレメント、STエレメントのほか、算術演算および論理演算に適したエレメント(以下、「SMAエレメント」とも称する。)、乗算処理に適したエレメント(以下、「SMAMエレメント」とも称する。)、および、データが伝送されるタイミングを遅延させる処理に適したDELエレメントが使用されている。たとえば、第1のパス410においては、LDエレメント411の出力ポートが、DELエレメント411の入力ポートと接続され、DELエレメント412の出力ポートがSMAMエレメント413の入力ポートと接続され、SMAMエレメント413の出力ポートが、別のDELエレメント414の入力ポートと接続され、かつ、DELエレメント414の出力ポートが、STエレメント415の一方の入力ポートと接続されている。その一方、第2のパス420においては、LDエレメント421の出力ポートが、SMAエレメント422の入力ポートと接続され、SMAエレメント422の出力ポートが、SMAMエレメント423の入力ポートと接続され、SMAMエレメント423の出力ポートが、他のSMAエレメント424の入力ポートと接続され、SMAエレメント424の出力ポートが、STエレメント415の他方の入力ポートと接続されている。
FIG. 4A is a diagram illustrating connection of the simplest mapping configuration. In this example, an output port of an element suitable for processing for receiving data from the input buffer 52 (hereinafter also referred to as “LD element”) 401 and an element suitable for outputting data for storage (hereinafter “ Also referred to as an “ST element”.) 402 is connected to the input port. FIG. 4B is a diagram illustrating connection of another mapping configuration. In this example, in addition to the LD element and ST element, elements suitable for arithmetic and logical operations (hereinafter also referred to as “SMA elements”) and elements suitable for multiplication processing (hereinafter also referred to as “SMAM elements”). DEL elements suitable for processing for delaying the timing at which data is transmitted are used. For example, in the
また、ハードウェアライブラリにおいては、各エレメントのレイテンシーも含まれる。したがって、ユーザは、自己が配置したエレメントのレイテンシーを参照して、DELエレメントのレイテンシーを設定しても良い。図4(b)の例において、SMAエレメントのレイテンシーが「3」であることをユーザは知ることができるため、パス410とパス420との同期を考慮して、DELエレメント412、414のレイテンシーをそれぞれ「3」に設定することができる。
The hardware library also includes the latency of each element. Therefore, the user may set the latency of the DEL element with reference to the latency of the element arranged by the user. In the example of FIG. 4B, since the user can know that the latency of the SMA element is “3”, the latency of the
回路仕様に基づくデータフローにしたがった、エレメントの配置およびそれらの間の接続が終了すると、ユーザは、入力装置を操作して、コンパイラ16を起動させる。コンパイラ16は、以下に示すような処理を実行して、各エレメントが実際にAAP50中に配置される配置位置、AAP50中にその配置位置が決定されたエレメント間の接続のルーティング、および、必要なDEL要素の挿入などが実現される。図5は、コンパイラ16において実行される処理の概略を示すフローチャートである。
When the arrangement of the elements and the connection between them according to the data flow based on the circuit specifications are completed, the user operates the input device to activate the
図5に示すように、コンパイラ16は、レイアウト領域に配置されたエレメントに基づいて、各エレメントのAAP50中の配置位置を決定する(ステップ500)。本実施の形態において、図15〜図17に示すように、AAP50は、構造的に、実際のLDエレメントがデータフロー或いは擬似的データフローにおける最上流側に配置され、実際のSTエレメントが最下流側に配置されている。また、各セグメントにおける演算に適したエレメント(たとえば、SMAエレメントやSMAMエレメント)の数が規定されている。したがって、本実施の形態にかかるコンパイラ16は、まず、レイアウト領域に配置されたLDエレメントおよびSTエレメントの実際の配置位置を決定し、その後、SMAエレメントおよびSMAMエレメントの実際の配置位置を決定する(ステップ501、502)。その後、レイアウト領域に配置された、ユーザ自身が配置したDELエレメントなど他のエレメントの実際の配置位置が決定される(ステップ503)。
As shown in FIG. 5, the
本実施の形態において、APP50上のエレメントは、(セグメント番号,カラム番号,ロウ番号)により、その位置が特定される。したがって、配置位置の決定は、ユーザがレイアウト領域に配置したエレメントについて、実際のAAP50上での位置、つまり、(セグメント番号,カラム番号,ロウ番号)が割り当てられることにより実現できる。
In the present embodiment, the position of the element on the
なお、図15に示す例においては、APP50のセグメント1501には、16個のSMAエレメントが含まれる。したがって、ユーザがレイアウト領域に配置したマップ構成が、それ以上のSMAエレメントや、このセグメントに存在しないSMAMエレメントを要する場合には、他のセグメントのSMAエレメントやSMAMエレメントが使用される可能性がある。同様に、図16や図17に示した他のセグメントについても同様の場合が生じ得る。
In the example shown in FIG. 15, the
ユーザがレイアウト領域に配置した各エレメントの、実際のAPP50上への配置が終了すると、コンパイラ16は、各エレメントのレイテンシーを参照して、必要に応じてDELエレメントを付加する(ステップ504、505)。
ステップ500による、各エレメントのAPP50中の位置が決定すると、ユーザが設定したエレメント間の接続に基づいて、実際に配置されたAPP中のエレメント間の接続を決定するルーティング処理が実行される(ステップ510)。ここでは、後述するように、マルチプレクサ(MUX)の追加、および、スイッチング処理も実行される。
When the arrangement of each element arranged by the user in the layout area on the
When the position of each element in the
以下、実際の例を参照して、ステップ500およびステップ510の処理をより詳細に説明する。図6は、DELエレメントの挿入の一例を説明するための図である。たとえば、LDエレメント601とSTエレメント602とを接続している場合を考える(図6(a))。ここで、LDエレメント601、および、STエレメント602の、実際に配置されるべきAPP50中のセグメントが相互に異なる場合には、設計規則にしたがって、DELエレメントが挿入される。たとえば、LDエレメントが、セグメント番号「0」に配置され、STエレメントがセグメント番号「2」に配置される場合には、セグメント番号「0」とセグメント番号「1」との間に介在するDELエレメント611と、セグメント番号「1」とセグメント番号「2」との間に介在するDELエレメント612とが、コンパイラ16により生成され、LDエレメント601とDELエレメント611とが接続され、DELエレメント611とDELエレメント612とが接続され、かつ、DELエレメント612とSTエレメント602とが接続される。また、この場合には、DELエレメント611、612のそれぞれのレイテンシーは、「1」に設定される。なお、セグメント間に介在するDELエレメントを、「インターセグメントDELエレメント」とも称する。
Hereinafter, the processing of
図7は、他のDELエレメントの挿入の例を説明する図である。ここで、ユーザ入力されたマップ構成(図7(a))は、図4(b)に示すものと同様である。ユーザ入力されたマップ構成においては、一方のパス710に、それぞれ、レイテンシー「3」のDELエレメント712、714が配置されている。
FIG. 7 is a diagram for explaining an example of insertion of another DEL element. Here, the map configuration (FIG. 7A) input by the user is the same as that shown in FIG. 4B. In the map configuration input by the user,
たとえば、LDエレメント711および721は、それぞれ、セグメント番号「0」に配置され、STエレメント715は、セグメント番号「2」に配置される。また、エレメント数の制約により、SMAMエレメント713、723が、それぞれ、セグメント番号「1」に、SMAエレメント722、724は、それぞれ、セグメント番号「0」、「1」に、配置されるよう、コンパイラ16に決定されたと考える。
For example,
このような場合には、第1のパス710において、ユーザ入力により設定されたDELエレメント712は、セグメント番号「0」からセグメント番号「1」へのレイテンシー「3」のインターセグメントDELエレメントとして、また、DELエレメント714は、セグメント番号「1」からセグメント番号「2」へのインターセグメントDELエレメントとして、実際のAPP50上への配置位置が決定される。この例では、実際にインターセグメントDELエレメント732の配置位置は(0,0,7)、インターセグメントDELエレメント734の配置位置は(1,0,7)と決定される。
In such a case, in the
その一方、第2のパス720においても、セグメント間にはインターセグメントDELエレメントを配置する必要がある。この例では、セグメント番号「0」のSMAエレメント722と、セグメント番号「1」のSMAMエレメント723との間に、インターセグメントDELエレメント745が配置され、かつ、セグメント番号「1」のSMAエレメント724と、セグメント番号「2」のSTエレメント715との間にも、インターセグメントDELエレメント746が配置される。また、インターセグメントDELエレメント745、746のそれぞれの配置位置は、(0,1,7)および(1,1,7)と決定される。
On the other hand, also in the
このように一方のパス(第2のパス)720におけるDELエレメントの挿入により、他方のパス(第1のパス)710におけるレイテンシーを調整する必要が生じる場合がある。このような場合に、コンパイラ16は、再度、DELエレメントのレイテンシーを調整する。この例では、インターセグメントDELエレメント734のレイテンシーを、「3」から「5」に変化させている。
As described above, the insertion of the DEL element in one path (second path) 720 may require adjustment of the latency in the other path (first path) 710. In such a case, the
なお、図7の例では、ユーザ入力された、レイテンシーのみが定義されたDELエレメントから、(セグメント番号、コラム番号、ロウ番号)からなるAPP50中の配置位置が決定されるとともに、他のパス等のレイテンシーを考慮して、レイテンシーも調整される。つまり、本実施の形態において、コンパイラ16は、不完全なDELエレメントを、配置位置およびレイテンシーが決定された最終的なDELエレメントに変換させる機能を有する。
In the example of FIG. 7, the arrangement position in the
また、コンパイラ16は、DELエレメントについて、最大レイテンシーおよび/または最少レイテンシーを、予め決定しておき、ユーザ入力されたDELエレメントを、分割或いは統合した形態の、DELエレメントの配置位置などを決定することもできる。たとえば、図8(a)に示すように、SMAエレメント801とSMAエレメント803との間に、レイテンシー「N(Nはユーザが設定した整数)」のDELエレメント802が、ユーザ入力により配置されたと考える。この例では、コンパイラ16は、ユーザ入力されたDELエレメントのレイテンシーと、実際にその機能を割り当て可能なAPP50中のDELエレメントのレイテンシーとを比較して、ユーザ入力されたDELエレメントの機能を実現するために、3つのDELエレメント812−1〜812−3の配置位置を決定している(図8(b))。それぞれのDELエレメントのレイテンシーは、「A」、「B」および「C」であり、レイテンシーの総和が、基本的には、ユーザ設定にかかる「N」と一致する。
Further, the
たとえば、APP上に実際に配置されているDELエレメントが、4つの入力ポートおよび4つの出力ポートを有する4入力4出力のエレメントである場合を考える。たとえば、図9(a)に示すように、SMAエレメントの間にDELエレメントが介在するようなマップ構造が、ユーザ入力により作成されていた場合に、APP上の単一のDELエレメントに、ユーザ入力されたDELエレメントとしてそれぞれ機能させるべく、図9(b)に示すような構成を採用しても良い。 For example, consider a case where the DEL element actually arranged on the APP is a four-input four-output element having four input ports and four output ports. For example, as shown in FIG. 9A, when a map structure in which a DEL element is interposed between SMA elements is created by user input, the user input is made to a single DEL element on the APP. In order to function as each of the DEL elements, a configuration as shown in FIG. 9B may be employed.
さらに、本実施の形態においては、クリティカルパスを保護するために、ユーザ入力によるエレメント間の接続において、DELエレメントの挿入を禁止するように、ユーザが設定することもできる。たとえば、図10に示す例において、接続線(パス)1001〜1005について、DELエレメントの挿入の禁止が設定されていると考える。このような場合には、コンパイラ16は、これらの間にDELエレメントが挿入されないように、関係するエレメント(図10の例では、SMAエレメント1011〜1014およびDELエレメント1015)を、APP中の単一のセグメントに配置する。
Further, in the present embodiment, in order to protect the critical path, the user can set to prohibit the insertion of the DEL element in the connection between the elements by the user input. For example, in the example shown in FIG. 10, it is considered that prohibition of insertion of DEL elements is set for connection lines (paths) 1001 to 1005. In such a case, the
さらに、ユーザ入力において、ユーザが、エレメントを配置するカラム位置を指定することも可能である。たとえば、図11の例において、LDB(ロードバッファ:Load Buffer)エレメント、LDエレメント、および、LDBエレメントにカウンタ値を与えるカウンタとして機能するエレメント(C16LエレメントおよびC32Lエレメント)は、外部メモリとの適切にアクセスするために、APPにおいて、同一のカラム番号に配置されているという設計規則があると考える。この場合には、ユーザが、上記エレメントのうちのいずれかに、特定のカラム番号を与えていると、コンパイラ16は、他のエレメントにも同一のカラム番号を与える。
Furthermore, in the user input, the user can specify the column position where the element is arranged. For example, in the example of FIG. 11, an LDB (Load Buffer) element, an LD element, and an element that functions as a counter that gives a counter value to the LDB element (C16L element and C32L element) are appropriately connected to an external memory. In order to access, it is considered that there is a design rule that the same column number is arranged in APP. In this case, if the user gives a specific column number to any one of the above elements, the
また、図12に示すように、カウンタエレメントC16L或いはC32Lについて、カラム番号を指定するように、これらエレメントに直接、IDを付与することができる場合を考える。この場合にも、たとえば、「EID_C16L=0」つまり、カウンタエレメントC16Lのカラム番号を「0」とユーザが設定していれば、コンパイラ16により、他のエレメントのカラム番号も「0」に設定される。
Further, as shown in FIG. 12, a case is considered in which an ID can be directly given to these elements so as to designate column numbers for the counter elements C16L or C32L. Also in this case, for example, if “EID_C16L = 0”, that is, if the user sets the column number of the counter element C16L as “0”, the
次に、ルーティング処理(ステップ510)における、マルチプレクサの追加およびスイッチング処理について説明する。マルチプレクサは、エレメント間を接続する際に、データ入力側の入力ポートを特定する機能を有する。このマルチプレクサは、配置位置(セグメント番号,カラム番号,ロウ番号)のほか、少なくとも、入力ポートを特定する番号を含む。コンパイラ16は、ユーザ入力にかかるエレメント間の接続に基づいて、APP50上に実際に配置されるべきマルチプレクサの配置位置を特定し、かつ、その入力ポートを特定する(図13参照)。
Next, multiplexer addition and switching processing in the routing processing (step 510) will be described. The multiplexer has a function of specifying an input port on the data input side when connecting elements. This multiplexer includes at least a number for identifying an input port in addition to the arrangement position (segment number, column number, row number). The
さらに、ルーティング処理(ステップ510)においては、有限のエレメントを有効に利用するために、以下のようなスイッチング処理を実行することもできる。たとえば、SMAエレメントの間では、特定の場合に、演算結果に影響を与えないように、ポートをスイッチングさせることも可能である。図14(a)において、ユーザ入力されたSMAエレメントの間では、一方のSMAエレメント1401のデータ出力ポート「do」と、他方のSMAエレメント1402の一方のデータ入力ポート「dix」とが接続されている。しかしながら、コンパイラ16により、実際のAPP50上では、一方のSMAエレメント1401のデータ出力ポート「do」と、他方のSMAエレメント1402の他方のデータ入力ポート「diy」とが接続されても良い(図14(b)参照)。
Further, in the routing process (step 510), the following switching process can also be executed in order to effectively use a finite element. For example, between SMA elements, it is also possible to switch ports so as not to affect the calculation result in a specific case. 14A, between the SMA elements input by the user, the data output port “do” of one
さらに、本実施の形態では、ルーティング処理において、複数入力ポートおよび複数出力ポートを有するDELエレメントにおいて、入力ポートと出力ポートとをスイッチングさせることもできる。図14(c)に示す例においては、ユーザ入力により、DELエレメントは、通常とおり、第1の入力ポート「dix」で入力したデータを遅延させて、第1の出力ポート「dox」から出力させるように設定されているが、コンパイラ16により、実際のAPP50上のDELエレメントにおいて、第1の入力ポート「dix」で入力したデータを遅延させて、第2の出力ポート「doy」から出力させるようにしても良い(図14(d)参照)。なお、この場合でもユーザ入力による論理には変更はなく演算結果に影響は与えないことは言うまでも無い。
Furthermore, in the present embodiment, in the DEL element having a plurality of input ports and a plurality of output ports, the input port and the output port can be switched in the routing process. In the example illustrated in FIG. 14C, the DEL element delays the data input through the first input port “dix” and outputs the data from the first output port “dox”, as usual, by user input. However, the
このように、本実施の形態によれば、DDDLで記述されたエレメントを視覚的に表示したマッピング構成を、ユーザが入力装置を操作して、レイアウト領域に配置し、かつ、エレメントの間を接続しておけば、コンパイラにより、設計規則にしたがって、実際のAPP上への各エレメントの配置、および、エレメント間の接続を実現することができる。したがって、ユーザは、所望の回路設計仕様に基づくデータフローにしたがって、エレメントを視覚的に表したマッピング構成を配置していけばよい。 As described above, according to the present embodiment, the mapping configuration in which the elements described in DDDL are visually displayed is arranged in the layout area by the user operating the input device, and the elements are connected to each other. Then, the arrangement of each element on the actual APP and the connection between the elements can be realized by the compiler according to the design rule. Therefore, the user may arrange a mapping configuration that visually represents an element in accordance with a data flow based on a desired circuit design specification.
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。 The present invention is not limited to the above embodiments, and various modifications can be made within the scope of the invention described in the claims, and these are also included in the scope of the present invention. Needless to say.
10 ハードウェアライブラリ
12 表示制御部
14 ハードウェア構成
16 コンパイラ
18 記憶部
DESCRIPTION OF
Claims (12)
前記回路要素のレイテンシーにしたがって、割り当てられた回路要素間に、前記集積回路上に配置された遅延機能を有する回路要素を介在させるステップと、
前記割り当てられ、或いは、介在された回路要素を記述した回路要素の接続情報を含むハードウェア構成情報を、前記集積回路の回路要素の配置情報としてメモリに記憶するステップとを備えたことを特徴とする回路要素の配置方法。 A visual symbol selected from a definition file in which a visual symbol of a circuit element constituting an integrated circuit and hardware configuration information including connection information of the circuit element are stored in association with each other, and the visual symbol Assigning the circuit element to an actual circuit element having a corresponding specific function pre-arranged on the integrated circuit, based on the connection established between
Interposing a circuit element having a delay function arranged on the integrated circuit between the assigned circuit elements according to the latency of the circuit element;
Storing hardware configuration information including connection information of the circuit elements describing the assigned or intervening circuit elements in a memory as arrangement information of the circuit elements of the integrated circuit. To arrange circuit elements.
前記回路要素のレイテンシーにしたがって、割り当てられた回路要素間に、前記集積回路上に配置された遅延機能を有する回路要素を介在させるステップと、
前記割り当てられ、或いは、介在された回路要素を記述した回路要素の接続情報を含むハードウェア構成情報を、前記集積回路の回路要素の配置情報としてメモリに記憶するステップとを、コンピュータに実行させることを特徴とする回路要素の配置プログラム。 A visual symbol selected from a definition file in which a visual symbol of a circuit element constituting an integrated circuit and hardware configuration information including connection information of the circuit element are stored in association with each other, and the visual symbol Assigning the circuit element to an actual circuit element having a corresponding specific function pre-arranged on the integrated circuit, based on the connection established between
Interposing a circuit element having a delay function arranged on the integrated circuit between the assigned circuit elements according to the latency of the circuit element;
Causing the computer to execute a step of storing hardware configuration information including connection information of the circuit elements describing the assigned or intervening circuit elements in a memory as arrangement information of the circuit elements of the integrated circuit. A circuit element arrangement program characterized by the above.
12. The method according to claim 7, further comprising the step of interposing an actual multiplexer for designating an input port of the circuit element between the circuit elements. The listed program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003320721A JP4276911B2 (en) | 2003-09-12 | 2003-09-12 | Arrangement method and arrangement program for circuit elements of integrated circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003320721A JP4276911B2 (en) | 2003-09-12 | 2003-09-12 | Arrangement method and arrangement program for circuit elements of integrated circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005092276A JP2005092276A (en) | 2005-04-07 |
JP4276911B2 true JP4276911B2 (en) | 2009-06-10 |
Family
ID=34452592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003320721A Expired - Lifetime JP4276911B2 (en) | 2003-09-12 | 2003-09-12 | Arrangement method and arrangement program for circuit elements of integrated circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4276911B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7611572B2 (en) | 2005-03-28 | 2009-11-03 | Dainichiseika Color & Chemicals Mfg. Co., Ltd. | Pixel-forming colorant compositions and their use |
CN117641880B (en) * | 2024-01-23 | 2024-03-29 | 合肥安迅精密技术有限公司 | Chip mounter flying head arrangement optimization method and system and storage medium |
-
2003
- 2003-09-12 JP JP2003320721A patent/JP4276911B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2005092276A (en) | 2005-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8527972B2 (en) | Method for forming a parallel processing system | |
US6044211A (en) | Method for graphically representing a digital device as a behavioral description with data and control flow elements, and for converting the behavioral description to a structural description | |
JP4208577B2 (en) | Integrated circuit device | |
US9069920B2 (en) | Automated circuit design | |
US9135387B2 (en) | Data processing apparatus including reconfiguarable logic circuit | |
Fletcher | FPGA embedded processors | |
US8671371B1 (en) | Systems and methods for configuration of control logic in parallel pipelined hardware | |
US8701069B1 (en) | Systems and methods for optimizing allocation of hardware resources to control logic in parallel pipelined hardware | |
US6915410B2 (en) | Compiler synchronized multi-processor programmable logic device with direct transfer of computation results among processors | |
US8739101B1 (en) | Systems and methods for reducing logic switching noise in parallel pipelined hardware | |
US9026967B1 (en) | Method and apparatus for designing a system on multiple field programmable gate array device types | |
US8788985B1 (en) | Method and apparatus for implementing a processor interface block with an electronic design automation tool | |
US8793629B1 (en) | Method and apparatus for implementing carry chains on FPGA devices | |
JP4276911B2 (en) | Arrangement method and arrangement program for circuit elements of integrated circuit | |
US7730438B2 (en) | Methods and apparatuses for designing multiplexers | |
Thomas et al. | HoneyComb: an application-driven online adaptive reconfigurable hardware architecture | |
JP4208919B2 (en) | Activation code generation method | |
Cesário et al. | Overlap and frontiers between behavioral and RTL synthesis | |
Obeid et al. | A proposed methodology for designing reconfigurable solutions | |
GB2585839A (en) | Generating digital circuits | |
Tai | Xilinx Virtex Devices: Variable Input LUT Architecture | |
Grant | CAD algorithms and performance of Malibu: an FPGA with time-multiplexed coarse-grained elements | |
Gokhale et al. | An Introduction to Reconfigurable Computing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20031003 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060911 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081202 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090127 |
|
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: 20090224 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090309 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4276911 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120313 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120313 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120313 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130313 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130313 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140313 Year of fee payment: 5 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |