JP2012164316A - ハードウェアストリームプロセッサデザインを生成するための方法、装置およびソフトウェアコード - Google Patents
ハードウェアストリームプロセッサデザインを生成するための方法、装置およびソフトウェアコード Download PDFInfo
- Publication number
- JP2012164316A JP2012164316A JP2012024079A JP2012024079A JP2012164316A JP 2012164316 A JP2012164316 A JP 2012164316A JP 2012024079 A JP2012024079 A JP 2012024079A JP 2012024079 A JP2012024079 A JP 2012024079A JP 2012164316 A JP2012164316 A JP 2012164316A
- Authority
- JP
- Japan
- Prior art keywords
- design
- processes
- data
- optimization
- input
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10T—TECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
- Y10T29/00—Metal working
- Y10T29/49—Method of mechanical manufacture
- Y10T29/49002—Electrical device making
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Logic Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
【解決手段】本発明は、複数のプロセスと、これら複数のプロセスの間でデータパスを提供するための、前記プロセス間の相互接続とを備えたハードウェアストリームプロセッサデザインを自動的に生成するための方法を提供するものであり、この方法は、前記ストリームプロセッサによって実行すべきプロセスを指定する入力を提供するステップと、前記入力デザイン内のプロセス間の前記相互接続に関連したパラメータを自動的に最適化し、必要な機能を提供しながらハードウェア条件を最小にするステップと、前記最適化に従って最適化された出力デザインを生成するステップとを含む。
【選択図】図8
Description
2.VALID/STALL;および
3.SOURCE READY/SINK READY
インターフェースのタイプ(PUSH対PULL)、
インターフェースの幅、
インターフェースのクロックレート、および
フロー制御信号のレイテンシー(例えばstall(ストール)/empty(空))のうちの1つ以上を決定することを含むことができる。
b)前記ソースフロー制御方法と前記フロー制御方法とが同一でない条件を含む1つ以上の条件が満たされた場合に、任意のペアのプロセスの間だけにFIFOを挿入する。例えば図13に示されるように、他の種々の条件を考慮してもよい。この方法は、追加されるFIFOの量を最小に維持できることを保証する。
次に、添付図面を参照し、本発明の実施形態について詳細に説明する。
インターフェースのタイプ(PUSH vs PULL)
インターフェースの幅
インターフェースのクロックレート
フロー制御信号(例えばstall/empty)のレイテンシーのうちの1つ以上を決定することを含むことができる。
マネージャーコンパイラーへの入力72は、一般にカーネルとカーネル間のデータストリームとを含むユーザーデザインである。このユーザーデザインは、グラフの頂点としてカーネルを有し、頂点間の弧としてデータストリームを有する向きが定められたグラフとして表示することが好ましい。実際の入力デザインは、例えばJava(登録商標)ソフトウェアライブラリーにより、公知の態様で構成できる。マネージャーコンパイラーは、アルゴリズムを簡略化するために、周期的入力グラフを非周期的グラフに変換する。このことは、複数のサイクルにわたって複数の最適化が行われないことを意味し、このような複数のサイクルは、比較的まれなことである。これとは異なり、周期的入力グラフ上で直接より複雑なアルゴリズムが作動することもできる。周期的または円形グラフとは、1つ以上のサイクル、例えば閉じたチェーン内に接続されたある数の頂点を含むグラフのことである。これと対照的に、非周期的グラフとは、複数の頂点および向きが定められたエッジの集団によって形成されるグラフのことであり、ここで各グラフはある頂点を別の頂点に接続する。よってある頂点でスタートし、最終的にスタートした頂点に再び戻るようなループを形成する、あるシーケンスのエッジに従うような方法はない。
1.PULL→PUSHが軽微なグルーロジックを必要とすること
2.PUSH→PULLがバッファリングを必要とすること
3.シンクのほとんどemptyなレイテンシー>ソースのほとんどemptyなレイテンシーである場合に、PULL→PULLがバッファリングを必要とすること
4.ソースのstallレイテンシー>シンクのstallレイテンシーである場合に、PUSH→PUSHがバッファリングを必要とすること
次に、ステップ74において、stallレイテンシーのスケジュールを定める。この動作は、PUSH入力およびPUSH出力の共通する特殊なケースを有するカーネルのstallレイテンシーのスケジュールを定めることにより、バッファリングを最小かするように働く。図10の例では、muxカーネルのチェーンがstallレイテンシー(SL)=1を有するプッシュソースと、stallレイテンシー(SL)=10を有するプッシュシンクとの間を接続している。スケジューリングアルゴリズムが使用される。好ましい例では、ASAP(できるだけ早く)スケジューリングアルゴリズムが使用されるが、基本的には任意のスケジューリングアルゴリズムを使用できる。1つの例として整数リニアプログラムがある。
クロック/幅最適化ステップ(ステップ3)は、幅/クロック移行ロジック上でのリソースの利用を最小にするために、固定されたクロック/ビット幅を有していないカーネルのクロックおよびビット幅をインテリジェントに指定する。これを行うためにはある種の組み合わせ最適化を使用できる。本例では、ダイナミックなプログラミングタイプのアルゴリズムが使用され、このアルゴリズムは、複雑な問題をより簡単なサブの問題に分解することにより、最適化の複雑な問題を解決する。これとは異なり、多数の精密/近似技術も使用できる。以下、非限定的な特定の例について詳細に説明する。デザインに対し、追加カーネルを追加できる他の最適化ステップを実行するごとに、クロック/ビット幅最適化ステップを繰り返す。その理由は、これらカーネルは自らに割り当てられるクロック/ビット幅を有していなければならないからである。
1.プロセスの非周期的グラフを多数の(森の)ツリーに分割する。1本のツリーはグラフノード(プロセス)のサブセットであり、ここでは任意の2つのノードの間に正確に1つの簡単なパスが存在する。従って、非周期的グラフを使用すると、全体としてネットワークの分割が簡単になる。
2.各ツリーに対し、複数のノードにわたり、ポストオーダーで、すなわち、まず葉から、最後に根となるように繰り返しを実行する。
3.各ノードに対し、クロック/ビット幅のすべての可能な割り当ての組を計算する。例えば2つの可能なクロック(CLK_AおよびCLK_B)および2つの可能な幅(8、16)が存在する場合、可能な割り当ての組はCLK_A:8、CLK_B:8、CLK_A:16、CLK_B:16となる。
4.各割り当ての組に対し、各チャイルドノードからのクロック/幅の移行の最小コストを計算する。この割り当てコストはチャイルドノードの割り当てのコスト+チャイルドノードの割り当てから現在の割り当てまでの移行のコストとして計算される。
再び図8を参照する。ネットワーク全体にわたり、一旦データ幅およびクロックが決定されると、ステップ78においてデザイン内に必要なアスペクト変換ロジックが挿入される。図4に示し、図4を参照してこれまで説明したように、アスペクトのある変化がある場合、1つのアスペクトにおける受信データを処理し、このデータを第2のアスペクトで出力に提供するための、ロジックが必要となる場合がある。シフトレジスターは、アスペクト変換ロジックの周知の一例であり、このロジックはレジスターの入力における狭い幅のNを、Kサイクルごとに出力における幅の倍数N×Kに変換する。
次に、ステップ80において、アダプタロジックが挿入される。このアダプタロジックは、表1を参照してこれまで説明したように、異なるタイプのフロー制御の間で変換をするのに必要とされる。アダプタロジックは、各特定の状況に応じて必要とされるようなグルーロジックまたは追加バッファリングの形態をとる。必要とされるアダプタロジックを挿入した後に新たに挿入されたロジックに対して再びクロックおよび幅最適化ロジックが実行される。
次にステップ82において、FIFOが挿入される。このステージは、すべてのカーネルなどがパラメータ化され、上記のようにレイテンシーを最適にし、幅およびクロックが一旦割り当てられた場合に実行される。必要とされた場合に追加FIFOが挿入されることにより、デザインに関する残留問題が解決されるのはこのステージだけである。利用される追加ハードウェアを最小に維持することが望ましいので、このステージは他の最適化ステージが一旦実行された場合にしか実行しないことが好ましい。
そうである場合、デザイン内に1つのFIFOが挿入される(ステップ96)。そうでない場合、プロセスは上記のようにステップ98へ進み、ここでソースバッファのスペースがシンクのスペースよりも大きいかどうかの判断がなされる。従って、簡単であるが信頼できる機構が提供され、この機構によって、本願に記載したようなノードのネットワーク内で追加FIFOが必要であるかどうかの判断を自動的に行うことができる。
Claims (24)
- 複数のプロセスと、これら複数のプロセスの間でデータパスを提供するための前記プロセス間の相互接続とを備えたハードウェアストリームプロセッサデザインを自動的に生成するための方法であって、
前記ストリームプロセッサによって実行すべきプロセスを指定する入力デザインの受信時に、前記入力デザイン内のプロセス間の前記相互接続に関連したパラメータを自動的に最適化し、必要な機能を提供しながらハードウェア条件を最小にするステップと、
前記最適化に従って最適化された出力デザインを生成するステップとを含む、ハードウェアストリームプロセッサデザインを生成する方法。 - 前記出力デザイン内で使用するためにプロセス間のフロー制御方法を自動的に決定するステップを含む、請求項1に記載の方法。
- 定められたパラメータを使用することにより、プロセス間のstall(ストール)レイテンシーのスケジュールを定めるステップを含む、請求項2に記載の方法。
- 前記出力デザイン内のプロセス間のフロー制御方法が、どれも同じ特定されたタイプである場合に接続されたプロセスのカスケード内のstall(ストール)レイテンシーを示すためのパラメータを定めるステップと、記憶条件を最小にするよう、前記パラメータに対する値を決定するステップとを含む、請求項3に記載の方法。
- 前記プロセスの各々は、接続されたプロセスおよび対応するクロックレートの1つ以上の入力ポートに接続された1つ以上の出力ポートを有し、前記接続されたポートのための前記クロックレートを最適化するステップを含む、請求項1〜4のいずれか1項に記載の方法。
- 前記プロセスの各々は、接続されたプロセスおよび対応するデータ幅の1つ以上の入力ポートに接続された1つ以上の出力ポートを有し、接続されたペアのポートに対してデータ幅を自動的に最適化するステップを含む、請求項1〜5のいずれか1項に記載の方法。
- 組み合わせによる最適化を使用して前記パラメータを最適化する、請求項1〜6のいずれか1項に記載の方法。
- ダイナミックプログラミングアルゴリズムを使用して前記組み合わせによる最適化を実行する、請求項7に記載の方法。
- 前記入力デザインは、プロセスがグラフの頂点であり、プロセス間のデータストリームが前記頂点の間の弧となるような非周期的グラフ状となっている、請求項1〜8のうちのいずれか1項に記載の方法であって、前記グラフのサブツリーに対する自動最適化を実行し、好ましくは1回終了すると、グラフ全体が最適化されるまで、前記グラフのその後のサブツリーに対し、自動最適化を実行するステップを含む方法。
- 各プロセスの前記データ幅およびクロックレートに対する最適値を決定するための数値方法を利用するステップを含む、請求項1〜9のうちのいずれか1項に記載の方法。
- プロセス内の値の各コンフィギュレーションに対するコストを決定するステップと、
前記プロセスに対する全最小コストを提供する値を前記プロセスに割り当てるステップとを含む、請求項10に記載の方法。 - あるプロセスから別のプロセスに移行するためのコストを決定するステップを備え、全コストは、プロセス内の値のコンフィギュレーションに対するコストに、あるプロセスから別のプロセスに移行するための前記コストを加えた合計から成る、請求項11に記載の方法。
- 1つのサブツリーに対する全コストが一旦決定されると、全グラフが最適化されるまでグラフのうちのその後のサブツリーに対する前記最適化を実行するステップを含む、請求項11または12に記載の方法。
- 最適化が一旦実行されると、デザイン内でアスペクト変換ロジックを自動的に提供するステップを含む、請求項1〜13のうちのいずれか1項に記載の方法。
- 一旦最適化が実行されると、デザインのアダプタロジックを自動的に提供するステップを含む、請求項1〜14のうちのいずれか1項に記載の方法。
- 最適化が一旦実行されると、前記デザイン内にFIFOを自動的に挿入するステップを含む、請求項1〜15のうちのいずれか1項に記載の方法。
- 各最適化ステップの後に、クロックレートおよびデータ幅を最適化するステップを含む、請求項1〜16のうちのいずれか1項に記載の方法。
- a)前記ソースクロックレートと前記シンククロックレートとが同一でない条件、および
b)前記ソースフロー制御方法と前記フロー制御方法とが同一でない条件を含む1つ以上の条件が満たされた場合に、任意のペアのプロセスの間だけにFIFOを挿入する、制御方法16に記載の方法。 - 請求項1〜18のうちのいずれか1項に記載の方法を使用するデザインを生成するステップと、
前記生成されたデザインを実施するための前記ロジックデバイスをプログラミングするステップとを含む、プログラム可能なロジックデバイスを作成する方法。 - コンピュータで実行されるときに、請求項1〜18のうちのいずれか1項のステップを実行するようになっているコンピュータプログラム
- コンピュータで読み取り可能なメディアに記憶された、請求項20に記載のコンピュータプログラム。
- 請求項1〜18のうちのいずれか1項に記載の方法を使用して生成されるデザインを有するフィールドプログラマブルゲートアレイまたは他のプログラマブルロジック。
- 請求項1〜18のうちのいずれか1項に記載の方法を実行し、前記生成されたデザインを有するプログラマブルロジックデバイスのプログラミングのための命令のリストを生成するようになっているプロセッサを含む、ハードウェアストリームプロセッサデザインを生成するためのシステム。
- 複数の相互接続されたプロセスを含むFPGAプロセッサのためのデザインを生成する方法であって、
指定された入力デザインを受信したときに、このデザイン内で前記プロセスの各々の働きを最適化するステップと、
この最適化を一旦実行すると、前記最適化されたプロセスの各々の間の前記相互接続を最適化するステップを備える、FPGAプロセッサのためのデザインを生成する方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/023,275 | 2011-02-08 | ||
US13/023,275 US8972923B2 (en) | 2011-02-08 | 2011-02-08 | Method and apparatus and software code for generating a hardware stream processor design |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012164316A true JP2012164316A (ja) | 2012-08-30 |
Family
ID=45607615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012024079A Pending JP2012164316A (ja) | 2011-02-08 | 2012-02-07 | ハードウェアストリームプロセッサデザインを生成するための方法、装置およびソフトウェアコード |
Country Status (4)
Country | Link |
---|---|
US (1) | US8972923B2 (ja) |
EP (1) | EP2495675A3 (ja) |
JP (1) | JP2012164316A (ja) |
GB (1) | GB2488021B (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015118609A (ja) * | 2013-12-19 | 2015-06-25 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 予め決められた複数のビット幅のデータに対して操作を行う命令を使用してツリーの検索を行うための方法、並びに、当該命令を使用してツリーの検索を行うためのコンピュータ及びそのコンピュータ・プログラム |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9367658B2 (en) * | 2011-06-22 | 2016-06-14 | Maxeler Technologies Ltd. | Method and apparatus for designing and generating a stream processor |
US20130046912A1 (en) * | 2011-08-18 | 2013-02-21 | Maxeler Technologies, Ltd. | Methods of monitoring operation of programmable logic |
US9652570B1 (en) * | 2015-09-03 | 2017-05-16 | Xilinx, Inc. | Automatic implementation of a customized system-on-chip |
EP3244326B1 (de) * | 2016-05-10 | 2021-07-07 | dSPACE digital signal processing and control engineering GmbH | Verfahren zum erstellen einer fpga-netzliste |
US11016822B1 (en) * | 2018-04-03 | 2021-05-25 | Xilinx, Inc. | Cascade streaming between data processing engines in an array |
CN116128448B (zh) * | 2023-01-09 | 2023-10-17 | 苏州异格技术有限公司 | Fpga工程项目的设计数据处理方法、装置、电子设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07192029A (ja) * | 1993-12-27 | 1995-07-28 | Hitachi Ltd | 論理回路の生成方法 |
JP2001056827A (ja) * | 1999-08-18 | 2001-02-27 | Matsushita Electric Ind Co Ltd | 集積回路装置の設計方法 |
JP2006505056A (ja) * | 2002-10-31 | 2006-02-09 | エス・アール・シィ・コンピューターズ・インコーポレイテッド | 制御フローグラフ表現を制御データフローグラフ表現に変換するためのシステムおよび方法 |
JP2006065457A (ja) * | 2004-08-25 | 2006-03-09 | Fuji Xerox Co Ltd | インタフェース回路生成装置およびインタフェース回路 |
JP2007087206A (ja) * | 2005-09-22 | 2007-04-05 | Canon Inc | 設計支援システム及び設計支援方法 |
US7305649B2 (en) * | 2005-04-20 | 2007-12-04 | Motorola, Inc. | Automatic generation of a streaming processor circuit |
JP2009512089A (ja) * | 2005-10-18 | 2009-03-19 | マイトリオニクス エービー | データフローマシンにおけるデッドロックを回避するための方法 |
US20100293301A1 (en) * | 2009-05-14 | 2010-11-18 | International Business Machines Corporation | Dynamically Composing Data Stream Processing Applications |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5687090A (en) * | 1994-09-01 | 1997-11-11 | Aspen Technology, Inc. | Polymer component characterization method and process simulation apparatus |
US6086629A (en) | 1997-12-04 | 2000-07-11 | Xilinx, Inc. | Method for design implementation of routing in an FPGA using placement directives such as local outputs and virtual buffers |
US6405232B1 (en) * | 1999-08-19 | 2002-06-11 | National Semiconductor Corporation | Leading bit prediction with in-parallel correction |
US6801924B1 (en) * | 1999-08-19 | 2004-10-05 | National Semiconductor Corporation | Formatting denormal numbers for processing in a pipelined floating point unit |
US7139901B2 (en) * | 2000-02-08 | 2006-11-21 | Mips Technologies, Inc. | Extended instruction set for packet processing applications |
JP4558879B2 (ja) * | 2000-02-15 | 2010-10-06 | 富士通株式会社 | テーブルを用いたデータ処理装置および処理システム |
US6594316B2 (en) * | 2000-12-12 | 2003-07-15 | Scientific-Atlanta, Inc. | Method and apparatus for adaptive bit rate control in an asynchronized encoding system |
US7039834B1 (en) * | 2000-12-21 | 2006-05-02 | Unisys Corporation | High speed processor interconnect tracing compaction using selectable triggers |
EP2627008A3 (en) * | 2000-12-29 | 2013-09-11 | Intel Mobile Communications GmbH | Channel codec processor configurable for multiple wireless communications standards |
US6717516B2 (en) * | 2001-03-08 | 2004-04-06 | Symbol Technologies, Inc. | Hybrid bluetooth/RFID based real time location tracking |
US6751783B1 (en) | 2001-10-30 | 2004-06-15 | Lsi Logic Corporation | System and method for optimizing an integrated circuit design |
US20040022192A1 (en) * | 2002-08-05 | 2004-02-05 | Khan Raheel Ahmed | Bit stream processor |
US7359846B1 (en) * | 2002-12-05 | 2008-04-15 | Cadence Design Systems, Inc. | Modeling an ASIC based on static pipeline delays |
US7426628B2 (en) * | 2003-03-14 | 2008-09-16 | National Instruments Corporation | Run-time node prefetch prediction in dataflow graphs |
US7725888B2 (en) * | 2003-09-26 | 2010-05-25 | Wind River Systems, Inc. | Systems and methods for dynamically linking application software into a running operating system kernel |
CN100485657C (zh) * | 2004-02-19 | 2009-05-06 | Nxp股份有限公司 | 具有本地受控参数更新的电子流处理电路以及设计这种电路的方法 |
US7315991B1 (en) | 2005-02-23 | 2008-01-01 | Xilinx, Inc. | Compiling HLL into massively pipelined systems |
US7603492B2 (en) * | 2005-09-20 | 2009-10-13 | Motorola, Inc. | Automatic generation of streaming data interface circuit |
US8068541B2 (en) * | 2006-01-30 | 2011-11-29 | Jan Harding Thomsen | Systems and methods for transcoding bit streams |
KR100881419B1 (ko) * | 2006-11-02 | 2009-02-05 | 한국전자통신연구원 | Sca 기반 시스템의 애플리케이션 컴포넌트 통신 장치 및방법 |
JP5029053B2 (ja) * | 2007-02-15 | 2012-09-19 | 富士ゼロックス株式会社 | データ通信システム及びデータ通信プログラム |
US8135853B1 (en) * | 2007-11-21 | 2012-03-13 | Marvell International Ltd. | Streaming data engine |
US8078980B2 (en) * | 2008-03-20 | 2011-12-13 | National Instruments Corporation | User defined wire appearance indicating communication functionality in a graphical programming environment |
US8074177B2 (en) * | 2008-03-20 | 2011-12-06 | National Instruments Corporation | User defined wire appearance indicating data type in a graphical programming environment |
US7817655B1 (en) * | 2008-10-30 | 2010-10-19 | Xilinx, Inc. | Determining sizes of FIFO buffers between functional blocks in an electronic circuit |
US8805914B2 (en) * | 2010-06-02 | 2014-08-12 | Maxeler Technologies Ltd. | Method and apparatus for performing numerical calculations |
US8938562B2 (en) * | 2010-06-25 | 2015-01-20 | Maxeler Technologies, Ltd. | Method of, and apparatus for, mitigating memory bandwidth limitations when performing numerical calculations |
US8464190B2 (en) * | 2011-02-17 | 2013-06-11 | Maxeler Technologies Ltd. | Method of, and apparatus for, stream scheduling in parallel pipelined hardware |
US9367658B2 (en) * | 2011-06-22 | 2016-06-14 | Maxeler Technologies Ltd. | Method and apparatus for designing and generating a stream processor |
US20130046912A1 (en) * | 2011-08-18 | 2013-02-21 | Maxeler Technologies, Ltd. | Methods of monitoring operation of programmable logic |
US8990827B2 (en) * | 2011-10-11 | 2015-03-24 | Nec Laboratories America, Inc. | Optimizing data warehousing applications for GPUs using dynamic stream scheduling and dispatch of fused and split kernels |
US8631380B2 (en) * | 2011-11-28 | 2014-01-14 | Maxeler Technologies, Ltd. | Method of, and apparatus for, data path optimisation in parallel pipelined hardware |
JP5842206B2 (ja) * | 2012-01-27 | 2016-01-13 | 株式会社トプスシステムズ | プロセッサ・コア、およびマルチコア・プロセッサ・システム |
US9430807B2 (en) * | 2012-02-27 | 2016-08-30 | Qualcomm Incorporated | Execution model for heterogeneous computing |
US9514094B2 (en) * | 2012-07-10 | 2016-12-06 | Maxeler Technologies Ltd | Processing data sets using dedicated logic units to prevent data collision in a pipelined stream processor |
US8739101B1 (en) * | 2012-11-21 | 2014-05-27 | Maxeler Technologies Ltd. | Systems and methods for reducing logic switching noise in parallel pipelined hardware |
US8701069B1 (en) * | 2012-11-21 | 2014-04-15 | Maxeler Technologies, Ltd. | Systems and methods for optimizing allocation of hardware resources to control logic in parallel pipelined hardware |
-
2011
- 2011-02-08 US US13/023,275 patent/US8972923B2/en active Active
-
2012
- 2012-02-01 GB GB1201721.6A patent/GB2488021B/en active Active
- 2012-02-06 EP EP12154106A patent/EP2495675A3/en not_active Ceased
- 2012-02-07 JP JP2012024079A patent/JP2012164316A/ja active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07192029A (ja) * | 1993-12-27 | 1995-07-28 | Hitachi Ltd | 論理回路の生成方法 |
JP2001056827A (ja) * | 1999-08-18 | 2001-02-27 | Matsushita Electric Ind Co Ltd | 集積回路装置の設計方法 |
JP2006505056A (ja) * | 2002-10-31 | 2006-02-09 | エス・アール・シィ・コンピューターズ・インコーポレイテッド | 制御フローグラフ表現を制御データフローグラフ表現に変換するためのシステムおよび方法 |
JP2006065457A (ja) * | 2004-08-25 | 2006-03-09 | Fuji Xerox Co Ltd | インタフェース回路生成装置およびインタフェース回路 |
US7305649B2 (en) * | 2005-04-20 | 2007-12-04 | Motorola, Inc. | Automatic generation of a streaming processor circuit |
JP2007087206A (ja) * | 2005-09-22 | 2007-04-05 | Canon Inc | 設計支援システム及び設計支援方法 |
JP2009512089A (ja) * | 2005-10-18 | 2009-03-19 | マイトリオニクス エービー | データフローマシンにおけるデッドロックを回避するための方法 |
US20100293301A1 (en) * | 2009-05-14 | 2010-11-18 | International Business Machines Corporation | Dynamically Composing Data Stream Processing Applications |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015118609A (ja) * | 2013-12-19 | 2015-06-25 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 予め決められた複数のビット幅のデータに対して操作を行う命令を使用してツリーの検索を行うための方法、並びに、当該命令を使用してツリーの検索を行うためのコンピュータ及びそのコンピュータ・プログラム |
Also Published As
Publication number | Publication date |
---|---|
GB2488021B (en) | 2020-02-05 |
US20120200315A1 (en) | 2012-08-09 |
EP2495675A3 (en) | 2012-12-05 |
EP2495675A2 (en) | 2012-09-05 |
US8972923B2 (en) | 2015-03-03 |
GB2488021A (en) | 2012-08-15 |
GB201201721D0 (en) | 2012-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10452452B2 (en) | Reconfigurable processor fabric implementation using satisfiability analysis | |
JP2012164316A (ja) | ハードウェアストリームプロセッサデザインを生成するための方法、装置およびソフトウェアコード | |
US7509647B2 (en) | Method and apparatus for modeling dataflow systems and realization to hardware | |
JP6001873B2 (ja) | 並列パイプライン化ハードウェアにおけるストリームスケジューリング方法および装置 | |
JP2009512089A (ja) | データフローマシンにおけるデッドロックを回避するための方法 | |
JP2016526220A (ja) | プログラム可能な最適化を有するメモリネットワークプロセッサ | |
WO2006115635A2 (en) | Automatic configuration of streaming processor architectures | |
KR20130009746A (ko) | 스트림 기반 계산을 구현하기 위한 범용 다중 코어 시스템을 위한 방법 및 장치 | |
AU2004250685A1 (en) | Integrated circuit development system | |
US11709664B2 (en) | Anti-congestion flow control for reconfigurable processors | |
CN111767041A (zh) | 在数据流图中插入缓冲器的方法和设备 | |
Hansson et al. | Enabling application-level performance guarantees in network-based systems on chip by applying dataflow analysis | |
JP2006522406A5 (ja) | ||
Josipović et al. | Invited tutorial: Dynamatic: From C/C++ to dynamically scheduled circuits | |
US20180212894A1 (en) | Fork transfer of data between multiple agents within a reconfigurable fabric | |
JP2005135411A (ja) | カスタム回路デバイスの設計方法 | |
Sittel et al. | ILP-based modulo scheduling and binding for register minimization | |
US20020023250A1 (en) | Parameterized designing method of data driven information processor employing self-timed pipeline control | |
US7802005B2 (en) | Method and apparatus for configuring buffers for streaming data transfer | |
Elakhras et al. | Straight to the queue: Fast load-store queue allocation in dataflow circuits | |
JP2018041301A (ja) | Rtl最適化システム及びrtl最適化プログラム | |
Al-Zu'bi et al. | FPGA implementation of data flow graphs for digital signal processing applications | |
US11954053B2 (en) | Integrating buffer views into buffer access operations in a coarse-grained reconfigurable computing environment | |
Lin et al. | A parameterized dataflow language extension for embedded streaming systems | |
Rodionov | Automated Interconnect Synthesis and Optimization for FPGAs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150209 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160113 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160301 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20160601 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20160801 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160901 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20170302 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170703 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20170831 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20171102 |