JP2011512602A - 同期から非同期への論理変換 - Google Patents
同期から非同期への論理変換 Download PDFInfo
- Publication number
- JP2011512602A JP2011512602A JP2010546838A JP2010546838A JP2011512602A JP 2011512602 A JP2011512602 A JP 2011512602A JP 2010546838 A JP2010546838 A JP 2010546838A JP 2010546838 A JP2010546838 A JP 2010546838A JP 2011512602 A JP2011512602 A JP 2011512602A
- Authority
- JP
- Japan
- Prior art keywords
- asynchronous
- synchronous
- computer
- circuit design
- design representation
- 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.)
- Withdrawn
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/35—Delay-insensitive circuit design, e.g. asynchronous or self-timed
Abstract
装置、システム、および方法が、同期回路設計表現由来の同期ネットリストを生成し、非同期標準セルコンポーネントライブラリから得られる非同期コンポーネントを、同期ネットリストにおける対応する標準セル同期コンポーネントと自動的に置換して、非同期コアを形成し、同期ネットリストを非同期回路設計表現へと変換するよう動作する。さらなる装置、システムおよび方法が開示される。
Description
多くの場合、非同期回路設計は、同期設計に対して、性能および電力に関する便益を含む種々の利点を提供する。しかしながら、非同期論理に基づいてデバイスを実現するためには、長い時間、多くの経験、および多くの専用の非同期ツールが必要となる可能性がある。この理由および他の理由のために、既存の特定用途集積回路(ASIC)デバイスは、主として同期回路および技術を使用して設計される。
上述された課題のうちの幾つかならびに他の課題は、非同期標準セルコンポーネントの自動置換およびライブラリを使用して、ハードウェア記述言語(HDL)もしくは任意の高レベル動作論理記述によって記述された同期論理を自動的に合成するように機能する装置、システムおよび方法によって対処することができる。本明細書で記述されたこのメカニズムは、非同期設計が第1原則から実施されているときに時折引き起こされる困難なしに、非同期設計者に対して、使用可能な多くの利点を提供することができる。
既存の標準セルASICは、“セル”、“標準セル”もしくは“論理セル”と呼ばれる、事前に設計された回路素子を使用する。通常、標準セルライブラリは、レジスタやフロップなどのこれら同期セルの多くの集合、ならびにANDゲート、ORゲート、XORゲート、インバータなどの非同期組み合わせ論理素子を含む。明瞭化のために伝えるが、このような非同期組み合わせ回路素子は、本開示内容中で説明する非同期回路素子とは明らかに異なることに留意されたい。非同期組み合わせ回路素子は、ほとんどの既存のデジタル回路によって使用されるような標準バイナリ論理で動作する単なる組み合わせ論理素子である。一方、非同期回路素子は、非同期組み合わせ論理素子および同期論理素子両方の機能を再現するが、既存の同期標準セル回路の実施における標準クロック・バイナリ・フォーマットでのデータ情報の受け渡しを行わない。
図1は、本発明の種々の実施形態に従う、同期論理から非同期論理への変換を示すフロー図である。これらの変換方法111は、マシンによるアクセスおよび読み出しの可能な媒体に、命令を格納することによって実施することができる。方法111は、ネットワーク内およびネットワーク間での処理に使用可能であり、これらネットワークは、有線、ワイヤレス、もしくは有線とワイヤレスの組み合わせてあってもよい。方法111は命令として実施することができるが、この命令が、マシンによって実行されると図1に示された処理を実施する。この状況を想定して、自動コンポーネント置換を使用する同期論理から非同期論理への変換を、図1を参照して今から議論する。
幾つかの実施形態においては、論理合成が、非同期設計を提供するために使用される。他の実施形態においては、物理的合成が使用される。さらに他の実施形態においては、論理合成および物理的合成の組み合わせが使用される。
同期設計から非同期設計を合成する方法111を、ブロック115において開始し、ブロック119に進行させることができ、高レベルハードウェア記述が得られるが、この高レベルハードウェア記述は、おそらくはレジスタ転送レベル(RTL)記述を利用するものである。
同期標準セルライブラリ素子のライブラリが存在し、そのライブラリ各々は、ある所望の機能を示す論理回路を互いに接続された際に実現する多くの標準セル素子を有する。簡単な例として、そのライブラリが4部分を有する場合、つまり、ANDゲートと、ORゲートと、インバータと、ポジティブエッジトリガードフロップ(positive-edge triggered flop)を含む順序論理回路とを含む組み合わせ論理回路について検討する。各組み合わせセルは、その(1つまたは複数の)入力に対して論理動作を実施して、組み合わせ出力を生成する。フロップのシーケンシャルな出力は、データ入力およびクロック入力の関数である。フロップは、“レジスタ”と呼ぶことができる。なぜなら、フロップは、クロック入力信号エッジの連続的発生の間、データ入力値を記録するよう動作するからである。この同期コンポーネントライブラリの例で使用可能な機能は、表1、表2、表3および表4に見ることができる。
このライブラリにおける(通常は、この限定された例で示すものよりも多くの)標準セルコンポーネントを使用して、方法111を、ブロック123に進行させ、機能的回路記述を合成して同期標準セルライブラリコンポーネントのネットリストを提供する。これは、Verilog(登録商標)もしくはVHDL(超高速集積回路設計用ハードウェア記述言語)言語を使用するRTL記述などの、ハードウェア記述言語(HDL)で定義されたハードウェアの記述を解釈するように動作する当業者にとって既知の合成ツールを使用して達成することができる。
ブロック123の合成動作は、非同期ライブラリコンポーネントの最終的置換に対する結果を最適化するという意図で実施されてもよい。しかしながら、これは実施される個々の実施形態に依存する。ブロック123の動作は、論理合成、物理的合成、もしくはこれらの組み合わせを含むことができる。したがって、この時点で配置情報を獲得することができる。
方法111を、ブロック127に進行させ、ブロック123の合成動作由来の同期ライブラリコンポーネントと自動的に置換することができる非同期標準セルライブラリコンポーネントを獲得することができる。
ブロック131において、逐次的に、もしくは幾つかの実施形態においては実質的に同時に、各非同期標準セルライブラリコンポーネントが、同期標準セルライブラリコンポーネントと置き換わり、同期ネットリスト記述は、非同期ネットリスト記述へと変換される。この時点で、非同期標準セル記述は、完全な非同期(データフローに基づく)記述へと変更することができる。非同期論理回路は、その後、境界回路もしくはフレームで包囲することができ、これにより、結果として生じる回路への外部からの入力およびのこの回路の出力は、元の同期論理設計と同様に動作する。
このデータフローモデルを実施する一方法は、データおよび肯定応答を用いたデュアルレールエンコーディングを使用することである。無論、当業者は、非同期回路データフロー通信を実施するために使用することができる他の多くのハンドシェイクプロトコル(例えば、シングルレール、デュアルフェイズなど)が存在することを理解するであろう。種々の実施形態が、全てのこのようなメカニズムを含むように動作することができる。
方法111では、ブロック135に進行して配置を行い、ブロック139に進行してルーティングすることができるが、これら配置およびルーティングは当業者には周知のことである。これらの動作いずれかも、非同期実施向けに最適化することができる。
ブロック143で判定される際にタイミング・クロージャが達成されていなかった場合には、方法111は、ブロック147においてタイミングをクローズするステップを含んでもよい。その後、または、タイミングが既にクローズされている場合には、方法111は、非同期設計に従って回路を作製するステップを含んでもよい。
本開示を読んで理解した後、当業者は、同期標準セルライブラリにおける組み合わせ論理素子ごとに、等価な非同期標準セル素子が存在すること、またはこれを作成することができることを理解するであろう。非同期標準セルライブラリにおける各素子は、種々の非同期論理回路を使用して実現することができ、この種々の非同期論理回路は、擬似遅延非感受性(quasi delay-insensitive)、タイムド(timed)、セルフタイムド(self-timed)、および他の非同期論理ファミリータイプを含む。非同期ライブラリにおける素子は、同期ライブラリ由来の対応する組み合わせ論理素子と同一の機能を演算するよう設計される。このような組み合わせ論理素子の例は、ルックアップテーブル、AOI(and−or−invert)ゲートなどを含む。
図2は、本発明の種々の実施形態に従う非同期組み合わせ200および順序論理回路212を示すブロック図である。例えば、非同期組み合わせ200および順序論理回路212を含む簡略化された非同期標準セルライブラリを考える。各組み合わせセル204(例えば、非同期ANDコンポーネント)、206(例えば、非同期ORコンポーネント)、208(例えば、非同期インバータコンポーネント)は、自体の(1つまたは複数の)入力に対する論理動作を実施して出力を生成する。非同期接続素子(CE)セル212は、状態を格納することができるが、それを行うことは必要ではない。これらのセルは、表1、表2、表3および表4に示されるテーブルファンクションに関する同期コンポーネントと同一の論理方法で機能する。
論理機能は同一のままであるが、データフロー構築ブロックとしての非同期論理素子の実施によって、総括的機能における相違が発生する。この非同期論理素子は、有効入力を待った後に有効出力を生成することによって動作する。したがって、データフローANDゲート204は、その入力に有効入力が到着するのを待った後に、AND関数を演算して適切な有効出力を生成する。したがって、同期および非同期セル実施において演算される関数は同一であるが、その動作は異なる。なぜなら、非同期実施では、その出力を連続的に演算する同期実施とは対照的に、全入力が有効になるのを待った後に有効出力が生成されるからである。CEセルは、わずかに異なる。つまり、次の非同期パイプライン段によって前の出力が受け取られるたびに、出力がデータ入力の値を取る。
初期トークン素子216は、初期データ値を保持するために非同期標準セルライブラリで使用することができる。初期トークン素子216は、順序素子の機能的均等物を回路へと追加するために使用される。例えば元の同期RTLのどこに順序素子(例えばレジスタ)が存在しても、それを初期トークン素子216と交換することができる。元の同期設計においては、これは、例えば、ポジティブエッジトリガードフロップ(positive edge-triggered flop)を使用して実施されていた可能性がある。本明細書で記述された変換に続いて、初期トークンをCEセル212へと追加することができ、これにより、元の同期フロップセルと等価な作用がもたらされる。
ほとんどの実施形態においては、同期論理データ値を非同期トークンへと変換し、その反対の変換をも行う入力および出力変換素子224、228も、非同期標準セルライブラリの一部である。通常、同期ラッパーが、非同期コアを包囲する。したがって、結果として得られる非同期コア設計に同期ラッパーから入力される各信号は、同期−非同期変換(SAC)セル224を通過する。同様に、非同期コアから出力されて同期ラッパーパスに入っていく各信号は、非同期−同期変換(ASC)セル228に入力される。
当業者にとって周知の合成ツールを、本明細書で記述される方法と併せて使用する一例として、図1を参照し、以下の動作を有する同期回路のRTL記述(図1のブロック119を参照)を考えることができる。
この合成ツールは、このように記述された設計を解釈してネットリストを合成することができる。このネットリストでは、標準セルライブラリ素子(例えば同期ORゲートおよびフロップ)が互いに接続されて、必要とされる論理動作を示す回路(図1のブロック123を参照)が形成される。この特定の記述の場合、合成ツールからのネットリスト出力は、以下のようにすることができる。
ここでは、クロック信号CLKを受信するとともに出力信号(Y)を提供するポジティブエッジトリガードフロップのデータ入力へと入力を行う出力(G)を有する2入力(例えば、入力EおよびF)ORゲートが記述される。
この合成ツールは、このように記述された設計を解釈してネットリストを合成することができる。このネットリストでは、標準セルライブラリ素子(例えば同期ORゲートおよびフロップ)が互いに接続されて、必要とされる論理動作を示す回路(図1のブロック123を参照)が形成される。この特定の記述の場合、合成ツールからのネットリスト出力は、以下のようにすることができる。
ここでは、クロック信号CLKを受信するとともに出力信号(Y)を提供するポジティブエッジトリガードフロップのデータ入力へと入力を行う出力(G)を有する2入力(例えば、入力EおよびF)ORゲートが記述される。
このネットリスト出力記述は、今度は、以下のような非同期表現(図1のブロック131を参照)へと変換することができる。
ここでは、図2からわかるように、入力Eと入力FとCEセルコンポーネント238に入力を行う出力Gとを有し、初期トークン値がYである非同期ORセルコンポーネント234が記述される。元の同期回路の完全な非同期実施は、したがって、非同期コア回路230として示される。
ここでは、図2からわかるように、入力Eと入力FとCEセルコンポーネント238に入力を行う出力Gとを有し、初期トークン値がYである非同期ORセルコンポーネント234が記述される。元の同期回路の完全な非同期実施は、したがって、非同期コア回路230として示される。
同期ネットリストの非同期設計表現への(自動置換なしでの)変換についてさらに知りたい読者には、”Systems and Methods for Performing Automated Conversion of Representations of Synchronous Circuit Designs to and From Representations of Asynchronous Circuit Designs”と題された、米国特許出願公開2007/0256038の参照を推奨する。これは本開示の譲受人に譲渡されており、また、その全体を本明細書と合体する。
図3は、本発明の種々の実施形態に従う、非同期論理回路周囲の同期ラッパー304のブロック図である。同期設計のこの非同期実施300においては、(図2のセル224、228と類似するかまたは同一であってもよい)変換セル324、328が使用されて、同期ラッパー304と非同期コア308との間の通信が容易になる。クロック信号CLKの入力周期ごとに、各SACセル324は、単一のトークンTI1、TI2、TI3を生成し、これらは非同期コア308へと入力される。クロック信号CLKの出力周期ごとに、ASCセル328は、トークンTOを消費し、等価なデータ値を自体の出力Qに伝播させる。同期ラッパー304によって示された非同期境界におけるデータ値(すなわちトークン)の変換により、同期回路の非同期実施300が元の同期設計と同一の動作を有することが確実になる。
実施することの可能な、非常に多くの考えられる変形実施形態が存在する。これらの実施形態は、合成に対してより適したカスタマイズ素子と、設計者が異なる設計メトリクス(例えば、面積、電力および/もしくは性能)の最適化の観点から選択肢を与えられるための同一のライブラリコンポーネントの複数例と、最終的な回路の実施が最適化されるように他の論理回路に初期トークン素子が追加される“融合”ライブラリ素子とを非同期標準セルライブラリに含めるという最適化を含む。
図4は、本発明の種々の実施形態に従う、同期論理の非同期論理への変換方法461を示すフロー図である。方法461は、マシンによるアクセスおよび読み出しの可能な媒体において実施することができ、ネットワーク内およびネットワーク間のプロセスで使用可能である。ネットワークは、有線でも、ワイヤレスでも、有線とワイヤレスの組み合わせでもよい。方法461は、マシンによってアクセスされたときに図4に示された処理を実施する命令として実施することができる。
コンピュータにより実施される、標準セル素子の自動置換を使用して同期回路設計の少なくとも一部を非同期設計へと変換する方法461は、ブロック465で開始され、続いてブロック469に進められ、同期回路設計表現から同期ネットリストが生成される。この同期ネットリストは、例えば、電子設計インターフェイスフォーマット(EDIF)に従ってフォーマットすることができる。
ほとんどの実施形態においては、方法461は、ブロック471において、同期ネットリストに、非同期コアに入力される信号を受信するためのSACセルを追加するステップを含む。同様に、ブロック471での動作は、同期ネットリストに、非同期コアから出力する信号を伝送するためのASCセルを追加するステップを含んでもよい。
方法461は、続いて、ブロック475に進行することができ、このブロックでは、非同期コアを形成するために、非同期標準セルコンポーネントライブラリから得られる非同期コンポーネントを、同期ネットリストにおける対応する標準セル同期コンポーネントと自動置換するステップを含む。ブロック475における自動置換するステップは、標準セル同期コンポーネントのピン接続に対して、非同期コンポーネントのピン接続をマッピングするステップを含んでもよい。
ブロック475における自動置換するステップは、標準セル同期コンポーネントのうちの一つを含む状態保持素子を、通信リンクおよび初期トークン素子のうちの一つと交換するステップをも含んでもよい。例えば、ブロック475における自動置換するステップは、標準セル同期コンポーネントの一つとして含まれるレジスタを、接続素子に関連する初期トークン素子と交換するステップを含んでもよい。この初期トークン素子は、接続素子上だけでなく、どこにでも配置することができることに留意されたい。幾つかの実施形態においては、初期トークン素子は、接続素子に直接結合される。しかしながら、幾つかのASIC実施においては、初期トークンを他の場所に加えるのが有利であることがある。
方法461は、ブロック479に進めることができ、このブロックは、同期ネットリストを非同期回路設計表現へと変換するステップを含む。幾つかの実施形態においては、同期回路設計表現は、ハードウェア記述言語を使用して表わされる。RTLを使用して記述を実施するもの、記述を直接ゲートレベルに翻訳するものを含めて、あらゆる高レベル行動言語を使用することができる。
したがって、ブロック469から479の動作は、高レベル記述(同期設計意図を含んでいるものでも含んでいないものでもよい)からデータフローに基づく非同期回路実施へと進行するステップを含んでもよい。非同期回路設計表現は、データフローグラフ、データフローグラフの記述、高レベル言語のうちの1つまたはそれ以上を含むことができる。このデータフローグラフは、データ、関数ブロック、ソースブロック、シンクブロック、コピーブロック、マージブロック、および/もしくは初期ブロックを表す1つまたは複数のトークンを含むことができる。したがって、ブロック479の動作は、例えば、とりわけ、シングルレールコーディング、デュアルレールコーディング、単一の肯定応答を伴うデュアルレールエンコーディングなどの種々の通信メカニズムを使用して実施されるデータフローモデルとして非同期回路設計表現を表現するステップを含んでもよい。
本明細書で記述される種々の実施形態の一部として、同期論理演算の合成RTLもしくは高レベル記述を、データフロー非同期演算へと変換するステップは、同期論理回路における幾つか(もしくは全て)の組み合わせ論理素子を、非同期標準セルライブラリにおける対応する素子へと変換するステップと、同期論理回路における1つまたは複数の状態保持素子を、非同期標準セルライブラリ由来の通信リンクまたは初期トークン素子と交換するステップとを含みうる。初期トークン素子もしくは通信リンクが使用されるかどうかは、変換される状態保持素子のタイプに依存する。
次いで、回路への外部インターフェイスが変更されないように、この新たな回路表現(例えば、非同期コア)を境界要素によって包囲することができる。したがって、ブロック479の動作は、同期ラッパーを非同期コアへと追加するステップを含むことがある。
このように、この非同期回路設計表現は、同期入力信号と同期出力信号を含みうる。同期部分および非同期部分の両方の使用を可能にすることによって、とりわけ、特定のASIC設計に対してさらなる利点を提供することができる。例えば、複数の非同期コアを、単一の同期デバイス内に組み込むことができる。
ブロック479の動作は、非同期回路設計表現の性能特性を同期ドメインに翻訳して非同期回路設計表現のタイミング特性を有効化するためのアノテーションの生成を介した変換を含むこともある。ブロック479の動作は、1つまたは複数のASICを作製するのに使用する命令として非同期回路設計表現を格納するステップをも含んでもよい。無論、もし望むならば、この表現はデータフローグラフフォーマットで格納することもできる。
幾つかの実施形態においては、方法461は、回路性能を調整するステップを含んでもよい。もし、そのステップがない場合には、方法461を、ブロック489へと進めることができる。そうでなければ、幾つかの実施形態においては、方法461は、非同期回路設計表現の平均スループット性能を増大させるために、接続素子(CE)を非同期回路設計表現へと追加するステップをブロック485において含むことがある。
当業者は、多くの異なる理由のためにCEを追加することができることを理解するであろう。例えば、幾つかのCEが挿入された接続パスを実装することにより、幾つかのデータトークンが、同時に‘フライト状態(in flight)’になることが可能になる。さらには、論理レベルが多数存在する場合には、2つの論理レベルの間に挿入されたCEを使用して、1つのデータトークンがレベルの前半部分を通過する間、別のデータトークンがそのレベルの後半部分を通過することを可能することができ、それによってスループットが増加する。CEの挿入は、時には、“透過的パイプライン段(transparent pipeline stage)”を使用するものとして知られるが、これは、多くの場合、パイプライン処理の利点を、新規のデータトークンに対して遅延をもたらすことなく得ることができるからである。
ブロック485の動作は、非同期コンポーネント間のパスタイミング(path timing)のバランスを保つために、非同期回路設計表現にCEを追加するステップも含むことがある。幾つかの場合においては、パス性能のバランスを保つために、CEを、再収束パスのうち“短い”パス中に加えることができ、それによって、結果として得られる構成がより高速度で動作することが可能になる。
方法461を、ブロック489へと進めることができ、非同期回路設計表現から非同期ネットリストが生成される。幾つかの実施形態においては、非同期ネットリストを、ASIC上での実施向けに構成することができる。したがって、方法461は、ブロック491において、非同期回路設計表現に基づくASICを作製するステップを含むことができ、また、ブロック495において終了される。
当業者は、図4に示される方法エレメントのうちのいくつかを、図1に示される方法エレメントに追加すること、あるいはそれと置換することができることを理解するであろう。さらには、当業者は、図1および図4の方法エレメントそれぞれを、種々の方法で他のものと組み合わせて、各図面由来のエレメントを連続的、並列的、ループ的、および/もしくは反復的に使用する種々の方法を形成することができることも理解するであろう。多くの他の実施形態を実現することができる。
例えば、図5は、本発明の種々の実施形態に従う、同期論理の非同期論理への変換に関連して使用される装置500およびシステム510のブロック図である。装置500およびシステム510は、1つまたは複数のネットワーク(例えば、ローカルエリアネットワーク(LAN)および/もしくはワイドエリアネットワーク(WAN)などのネットワーク518)で動作可能であり、マシン・アクセスおよびマシン読み出しの可能な媒体中で実現することができる。ネットワーク518は、有線、ワイヤレス、もしくは有線とワイヤレスの組み合わせであってもよい。装置500およびシステム510は、とりわけ、図1および図4のそれぞれ方法111および461に関連する処理を実行する。
装置500は、端末502、サーバ530、汎用コンピュータ、およびコンピュータ性能を有する他のデバイスなどの多くのデバイスを含んでもよい。装置500は、メモリ554に結合された1つまたは複数のプロセッサ504を含んでもよい。
装置500は、同期設計情報544を生成するためにおそらくは使用される1つまたは複数のユーザ入力デバイス508を含んでもよい。ユーザ入力デバイス508は、音声認識装置516、キーボードもしくはキーパッド520、タッチスクリーン524、またはマウス528のうちの1つもしくは複数を含んでもよい。ディスプレイ506および/もしくはタッチスクリーン524は、1つまたは複数のGUI526を表示するために使用することができる。GUI526は、同期設計記述、非同期設計記述、自動置換のための標準同期および非同期設計ライブラリコンポーネント、ならびに他の情報を表示するか、そうでなければ提供するために使用することができる。
プロセッサ504の1つまたは複数、ならびに合成モジュール538、置換モジュール540、変換モジュール542を、単一のサーバ530内に含めることができる。装置500は種々の情報を含むデータ構造556(例えば、おそらくは標準ライブラリコンポーネントセルデータを含む同期および/もしくは非同期設計情報のデータベース)を格納するために、1つまたは複数のストレージデバイス550を含んでもよい。
同期設計情報544は、ユーザインターフェイスデバイス508から、命令形式でメモリ544から、データベース556から、および、当業者に周知の他のいくつかのの方法で受信することができる。情報544は、一方的に供給することも、サーバ530に由来する要求に応答して(例えば、プログラム的誘因の一部として)供給することも、端末502に応答して(例えば、非同期設計が定型化できるように情報を入力するという設計者の要求の一部として)供給することもできる。
標準セルライブラリの自動置換を使用して同期論理設計から非同期論理設計への同期の変換を可能にするシステム510は、1つまたは複数の端末502や1つまたは複数のサーバ530などの装置500の1つまたは複数を含んでもよい。端末502は、デスクトップコンピュータ、ラップトップコンピュータ、携帯電話、販売時点管理(ポイントオブセール(POS))端末、およびネットワーク518を介してサーバ530と結合することができる他のデバイスの形式をとることができる。端末502は、1つまたは複数のプロセッサ504、およびメモリ554を含んでもよい。ネットワーク518は、有線ネットワーク、ワイヤレスネットワーク、ローカルエリアネットワーク(LAN)もしくはグローバルコンピュータネットワーク(例えばインターネット)などのより大きな範囲のネットワークを含んでもよい。したがって、端末502は、ワイヤレス端末を含んでもよい。サーバ530および端末502の各々は、同期設計情報554のソースとして使用することができる。したがって、多くの実施形態を実現することができる。
例えば、幾つかの実施形態においては、同期回路設計の一部を非同期設計へと変換するためのシステムが、サーバ530などのコンピュータと、このコンピュータに結合され、同期回路設計表現から同期ネットリストを生成するための合成ツールモジュール538とを含む。この同期回路設計表現は、おそらく同期設計情報544から得られるものである。システム510は、非同期標準セルコンポーネントライブラリから得られる非同期コンポーネントを、同期ネットリストにおける対応する標準セル同期コンポーネントに自動的に置換して非同期コアを形成するための置換モジュール540も含む。また、システム510は、同期ネットリストを非同期回路設計表現へと変換するための変換モジュール542をも含む。
システム510には、コンピュータに結合し、GUI526を提供して同期回路設計表現のアイデンティフィケーション(例えば、同期設計情報544の一部分または全て)を受信するためのユーザ端末502を含めることができる。例えば、端末502は、ASIC設計端末を含んでもよい。システム510は、コンピュータに結合し、同期回路設計表現を(おそらくはデータベース556中に)格納するためのストレージデバイス550も含むことができる。
モジュール538、540、および542は、ハードウェア、ソフトウェア、ファームウェア、もしくはこれらの任意の組み合わせを含んでもよい。したがって、例えば、幾つかの実施形態は、命令536を含むマシン読み出し可能な記憶媒体(例えば、メモリ554)を含んでもよい。命令536は、1つまたは複数のプロセッサ504によって実行されると、本明細書で記述された方法ならびに/または図1および図4に示された方法のいずれかをプロセッサ504に実行させる。
したがって、本明細書に記述された装置、システムおよび方法を実施することによって、自動置換による既存の合成ツールを、同期論理記述を非同期論理実施に合成する際に役立つように使用することを可能にすることができる。これで、非同期設計においてそれほど技術のない人でも、同期設計を等価な非同期設計へと迅速に変換することが可能となり、したがって、これに伴う利点を得ることができる。例えば、幾つかの同期FPGA設計は、さらに高速で、かつ/またはより高い密度を有するASIC設計へと変換することができる。既存の製造工場およびIC設計会社も、同期設計を取り入れ、標準ASICセルライブラリを使用してこれらの設計を直接実施することにより、こうした利益を享受することができる。
したがって、本発明の実施形態は、種々の構造上プラットフォーム(architectural platform)、オペレーティングシステム、サーバシステム、デバイス、システムもしくはアプリケーションで実施することができる。したがって、本明細書に提示されたあらゆる特定の構造的レイアウトもしくは実現例は、例示および理解の目的のためにのみ提供され、種々の実施形態を限定することは意図しない。
この詳細な説明は、例示的なものであって、限定的なものではない。他の多くの実施形態が、本開示を再考することによって当業者にとって明らかになるであろう。したがって、実施形態の範囲は、添付の特許請求の範囲に加えて、それが権利を付与する均等物の全範囲に関連して判断されるべきである。
本開示の要約書を、米国特許法施行規則(37C.F.R.)§1.72(b)に従って提供するが、これは、読者が本技術的開示の本質を迅速に確認することを可能にするものである。要約書は、請求項の範囲または意味を解釈または限定するためには使用されないとういう理解の上で提示されている。
種々の実施形態の詳細な説明においては、いくつかの特徴が、開示内容を簡素化するために単一の実施形態においてグループ化されている。この開示方法は、特許請求された実施形態が、各請求項に明確に記載されたものよりも多くの特徴を有するということを意図するものとして解釈されるべきではない。それよりもむしろ、添付の特許請求の範囲に反映されるように、発明としての主題は、開示されている単一の実施形態の特徴の全てには存在しない。したがって、添付する請求項を詳細な説明に組み込み、各々の請求項は、独立した実施形態としてそれ自体が成り立つものとする。
Claims (23)
- コンピュータで実施される方法であって、
同期回路設計表現から同期ネットリストを生成するステップと、
非同期コアを形成するために、非同期標準セルコンポーネントから得られる非同期コンポーネントを、前記同期ネットリストにおける対応する標準セル同期コンポーネントと自動的に置換するステップと、
前記同期ネットリストを非同期回路設計表現へと変換するステップと、
を含む、
ことを特徴とする方法。 - 前記同期ネットリストは、電子設計インターフェイスフォーマットに従ってフォーマットされる、
ことを特徴とする請求項1に記載のコンピュータで実施される方法。 - 前記同期回路設計表現は、ハードウェア記述言語を使用して表現される、
ことを特徴とする請求項1に記載のコンピュータで実施される方法。 - 自動的に置換するステップは、
前記非同期コンポーネントのピン接続を、前記標準セル同期コンポーネントのピン接続に対してマッピングするステップを含む、
ことを特徴とする請求項1に記載のコンピュータで実施される方法。 - 自動的に置換するステップは、前記標準セル同期コンポーネントのうちの一つを含む状態保持素子を、通信リンクもしくは初期トークン素子の一つと交換するステップを含む、
ことを特徴とする請求項1に記載のコンピュータで実施される方法。 - 自動的に置換するステップは、前記標準セル同期コンポーネントのうちの一つを含むレジスタを、接続素子に関連する初期トークン素子と交換するステップを含む、
ことを特徴とする請求項1に記載のコンピュータで実施される方法。 - 前記同期ネットリストに、前記非同期コアへ入力される信号を受け取るための同期−非同期変換セルを追加するステップ含む、
ことを特徴とする請求項1に記載のコンピュータで実施される方法。 - 前記同期ネットリストに、前記非同期コアから出て行く信号を送信するための非同期−同期変換セルを追加するステップを含む、
ことを特徴とする請求項1に記載のコンピュータで実施される方法。 - 前記非同期回路設計表現は、
データフローグラフ、データフローグラフの記述、もしくは高レベル言語の一つを含む、
ことを特徴とする請求項1に記載のコンピュータで実施される方法。 - デュアルレールデータエンコーディングおよび単一の肯定応答を用いて実施されるデータフローモデルとして、前記非同期回路設計表現を表現するステップを含む、
ことを特徴とする請求項1に記載のコンピュータで実施される方法。 - 前記非同期回路設計表現は、
データ、関数ブロック、ソースブロック、シンクブロック、コピーブロック、マージブロック、もしくは初期ブロックを表すためのトークンのうちの少なくとも1つを含むデータフローグラフを含む、
ことを特徴とする請求項1に記載のコンピュータで実施される方法。 - 前記非同期回路設計表現は、同期入力信号および同期出力信号を含む、
ことを特徴とする請求項1に記載のコンピュータで実施される方法。 - 前記変換するステップは、
前記非同期回路設計表現の性能特性を同期ドメインへ翻訳して前記非同期回路設計表現のタイミング特性を有効化するためのアノテーションを生成するステップを含む、
ことを特徴とする請求項1に記載のコンピュータで実施される方法。 - 前記非同期回路設計表現から非同期ネットリストを生成するステップであって、前記非同期ネットリストは特定用途集積回路上での実施向けに構成されるステップを含む、
ことを特徴とする請求項1に記載のコンピュータで実施される方法。 - 前記非同期回路設計表現に基づいて、特定用途集積回路を作製するステップを含む、
ことを特徴とする請求項1に記載のコンピュータで実施される方法。 - 前記非同期回路設計表現の平均スループット性能を増加させるために、前記非同期回路設計表現へと接続素子を追加するステップを含む、
ことを特徴とする請求項1に記載のコンピュータで実施される方法。 - 前記非同期コンポーネント間のパスタイミングの平衡を保つために、前記非同期回路設計表現へと接続素子を追加するステップを含む、
ことを特徴とする請求項1に記載のコンピュータで実施される方法。 - コンピュータと、
前記コンピュータに結合され、前記同期回路設計表現から同期ネットリストを生成するための合成ツールモジュールと、
非同期標準セルコンポーネントライブラリから得られる非同期コンポーネントを、前記同期ネットリストにおける対応する標準セル同期コンポーネントと自動的に置換して、非同期コアを形成するための置換モジュールと、
前記同期ネットリストを非同期回路設計表現に変換するための変換モジュールと、
を含む、
ことを特徴とするシステム。 - 前記コンピュータに結合され、前記同期回路設計表現のアイデンティフィケーションを受信するためのグラフィカルユーザインターフェイスを提供するためのユーザ端末、
を含むことを特徴とする請求項18に記載のシステム。 - 前記コンピュータに結合され、前記同期回路設計表現を格納するためのストレージデバイス、
を含むことを特徴とする請求項18に記載のシステム。 - 1つまたは複数のプロセッサで実行されたときに前記1つまたは複数のプロセッサに以下の動作を実施させる命令、を含むマシン読み出し可能な媒体であって、
前記動作は、
同期回路設計表現から同期ネットリストを生成する動作、
非同期標準セルコンポーネントライブラリから得られる非同期コンポーネントを、前記同期ネットリストにおける対応する標準セル同期コンポーネントと自動的に置換して、非同期コアを形成する動作、および
前記同期ネットリストを非同期回路設計表現に変換する動作である、
ことを特徴とするマシン読み出し可能な媒体。 - 前記命令は、前記1つまたは複数のプロセッサで実行されたとき、前記1つまたは複数のプロセッサに、特定用途集積回路を作製するために使用されるべき命令として前記非同期回路設計表現を格納する動作を実施させる、
ことを特徴とする請求項21に記載のマシン読み出し可能な媒体。 - 前記命令は、前記1つまたは複数プロセッサで実行されたとき、前記1つまたは複数のプロセッサに、前記非同期コアに同期ラッパーを追加する動作を実施させる、
ことを特徴とする請求項21に記載のマシン読み出し可能な媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/031,992 US7739628B2 (en) | 2008-02-15 | 2008-02-15 | Synchronous to asynchronous logic conversion |
PCT/US2009/033332 WO2009102626A1 (en) | 2008-02-15 | 2009-02-06 | Synchronous to asynchronous logic conversion |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011512602A true JP2011512602A (ja) | 2011-04-21 |
Family
ID=40956337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010546838A Withdrawn JP2011512602A (ja) | 2008-02-15 | 2009-02-06 | 同期から非同期への論理変換 |
Country Status (6)
Country | Link |
---|---|
US (2) | US7739628B2 (ja) |
EP (1) | EP2260419A4 (ja) |
JP (1) | JP2011512602A (ja) |
KR (1) | KR101591376B1 (ja) |
TW (1) | TWI521367B (ja) |
WO (1) | WO2009102626A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010102700A (ja) * | 2008-09-26 | 2010-05-06 | Semiconductor Energy Lab Co Ltd | 機能回路の設計システム及び機能回路の設計方法 |
WO2023166877A1 (ja) * | 2022-03-03 | 2023-09-07 | ソニーセミコンダクタソリューションズ株式会社 | 処理方法、非同期式回路、および論理回路 |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7610567B2 (en) * | 2006-04-27 | 2009-10-27 | Achronix Semiconductor Corporation | Systems and methods for performing automated conversion of representations of synchronous circuit designs to and from representations of asynchronous circuit designs |
EP2041872B1 (en) | 2006-06-28 | 2018-03-14 | Achronix Semiconductor Corp. | Reconfigurable logic fabrics for integrated circuits and systems and methods for configuring reconfigurable logic fabrics |
US7614029B2 (en) * | 2007-01-05 | 2009-11-03 | Achronix Semiconductor Corporation | Methods and systems for converting a synchronous circuit fabric into an asynchronous dataflow circuit fabric |
TWI407744B (zh) * | 2008-02-04 | 2013-09-01 | Realtek Semiconductor Corp | 網路信號處理裝置 |
US7739628B2 (en) * | 2008-02-15 | 2010-06-15 | Achronix Semiconductor Corporation | Synchronous to asynchronous logic conversion |
RU2405246C2 (ru) * | 2008-04-15 | 2010-11-27 | Институт проблем информатики Российской академии наук (ИПИ РАН) | Самосинхронный триггер с однофазным информационным входом |
US8448105B2 (en) * | 2008-04-24 | 2013-05-21 | University Of Southern California | Clustering and fanout optimizations of asynchronous circuits |
US8161435B2 (en) * | 2009-07-20 | 2012-04-17 | Achronix Semiconductor Corporation | Reset mechanism conversion |
US7900078B1 (en) * | 2009-09-14 | 2011-03-01 | Achronix Semiconductor Corporation | Asynchronous conversion circuitry apparatus, systems, and methods |
US7982502B2 (en) * | 2009-09-15 | 2011-07-19 | Achronix Semiconductor Corporation | Asynchronous circuit representation of synchronous circuit with asynchronous inputs |
US8234607B2 (en) * | 2009-09-15 | 2012-07-31 | Achronix Semiconductor Corporation | Token enhanced asynchronous conversion of synchonous circuits |
US8832629B2 (en) * | 2010-07-23 | 2014-09-09 | Freescale Semiconductor, Inc. | Method for optimising cell variant selection within a design process for an integrated circuit device |
EP2469597A3 (en) | 2010-12-23 | 2016-06-29 | Commissariat à l'Énergie Atomique et aux Énergies Alternatives | Multi-level integrated circuit, device and method for modeling multi-level integrated circuits |
US9335977B2 (en) * | 2011-07-28 | 2016-05-10 | National Instruments Corporation | Optimization of a data flow program based on access pattern information |
US8928386B1 (en) * | 2013-03-12 | 2015-01-06 | Xilinx, Inc. | Circuits for and methods of asychronously transmitting data in an integrated circuit |
US9520180B1 (en) | 2014-03-11 | 2016-12-13 | Hypres, Inc. | System and method for cryogenic hybrid technology computing and memory |
US9576094B2 (en) * | 2014-08-20 | 2017-02-21 | Taiwan Semiconductor Manufacturing Company, Ltd. | Logic circuit and system and computer program product for logic synthesis |
US9977853B2 (en) | 2015-11-04 | 2018-05-22 | Chronos Tech Llc | Application specific integrated circuit link |
US10073939B2 (en) | 2015-11-04 | 2018-09-11 | Chronos Tech Llc | System and method for application specific integrated circuit design |
US11550982B2 (en) | 2015-11-04 | 2023-01-10 | Chronos Tech Llc | Application specific integrated circuit interconnect |
US10181939B2 (en) | 2016-07-08 | 2019-01-15 | Chronos Tech Llc | Systems and methods for the design and implementation of an input and output ports for circuit design |
US10637592B2 (en) | 2017-08-04 | 2020-04-28 | Chronos Tech Llc | System and methods for measuring performance of an application specific integrated circuit interconnect |
JP6702285B2 (ja) * | 2017-09-25 | 2020-06-03 | カシオ計算機株式会社 | 衛星電波受信装置、電子時計、測位制御方法及びプログラム |
US11087057B1 (en) * | 2019-03-22 | 2021-08-10 | Chronos Tech Llc | System and method for application specific integrated circuit design related application information including a double nature arc abstraction |
US11451230B2 (en) | 2020-04-23 | 2022-09-20 | Xilinx, Inc. | Compute dataflow architecture |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7464361B2 (en) * | 2004-01-20 | 2008-12-09 | Texas Instruments Incorporated | System and method for asynchronous logic synthesis from high-level synchronous descriptions |
US7584449B2 (en) * | 2004-11-22 | 2009-09-01 | Fulcrum Microsystems, Inc. | Logic synthesis of multi-level domino asynchronous pipelines |
US7610567B2 (en) * | 2006-04-27 | 2009-10-27 | Achronix Semiconductor Corporation | Systems and methods for performing automated conversion of representations of synchronous circuit designs to and from representations of asynchronous circuit designs |
US7614029B2 (en) * | 2007-01-05 | 2009-11-03 | Achronix Semiconductor Corporation | Methods and systems for converting a synchronous circuit fabric into an asynchronous dataflow circuit fabric |
US7739628B2 (en) * | 2008-02-15 | 2010-06-15 | Achronix Semiconductor Corporation | Synchronous to asynchronous logic conversion |
-
2008
- 2008-02-15 US US12/031,992 patent/US7739628B2/en active Active
-
2009
- 2009-02-06 KR KR1020107020673A patent/KR101591376B1/ko active IP Right Grant
- 2009-02-06 JP JP2010546838A patent/JP2011512602A/ja not_active Withdrawn
- 2009-02-06 EP EP09709709A patent/EP2260419A4/en not_active Ceased
- 2009-02-06 WO PCT/US2009/033332 patent/WO2009102626A1/en active Application Filing
- 2009-02-12 TW TW098104592A patent/TWI521367B/zh active
-
2010
- 2010-04-27 US US12/768,129 patent/US8291358B2/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010102700A (ja) * | 2008-09-26 | 2010-05-06 | Semiconductor Energy Lab Co Ltd | 機能回路の設計システム及び機能回路の設計方法 |
WO2023166877A1 (ja) * | 2022-03-03 | 2023-09-07 | ソニーセミコンダクタソリューションズ株式会社 | 処理方法、非同期式回路、および論理回路 |
Also Published As
Publication number | Publication date |
---|---|
KR101591376B1 (ko) | 2016-02-03 |
US8291358B2 (en) | 2012-10-16 |
EP2260419A1 (en) | 2010-12-15 |
WO2009102626A1 (en) | 2009-08-20 |
TW200949591A (en) | 2009-12-01 |
KR20100124770A (ko) | 2010-11-29 |
EP2260419A4 (en) | 2012-05-02 |
US7739628B2 (en) | 2010-06-15 |
TWI521367B (zh) | 2016-02-11 |
US20100205571A1 (en) | 2010-08-12 |
US20090210847A1 (en) | 2009-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8291358B2 (en) | Synchronous to asynchronous logic conversion | |
KR101061864B1 (ko) | 동기 회로 설계 표현과 비동기 회로 설계 표현간의 자동 변환을 수행하기 위한 시스템 및 방법 | |
US8271918B2 (en) | Formal verification of clock domain crossings | |
US8286108B2 (en) | System and method for synthesis reuse | |
US8589837B1 (en) | Constructing inductive counterexamples in a multi-algorithm verification framework | |
US20100251196A1 (en) | Method and System for Designing a Structural Level Description of an Electronic Circuit | |
US6658630B1 (en) | Method to translate UDPs using gate primitives | |
JP5120785B2 (ja) | 非同期式論理回路の論理回路設計装置、論理回路設計方法および論理回路設計プログラム | |
US7496869B1 (en) | Method and apparatus for implementing a program language description of a circuit design for an integrated circuit | |
TW201037484A (en) | Clock generating system and clock-dividing module | |
Semba et al. | Conversion from synchronous RTL models to asynchronous RTL models | |
CN113919256A (zh) | 一种布尔可满足性验证方法、系统、cnf生成方法及存储装置 | |
Semba et al. | Study on an RTL conversion method from pipelined synchronous RTL models into asynchronous RTL models | |
Semba et al. | RTL conversion method from pipelined synchronous RTL models into asynchronous ones | |
US6668359B1 (en) | Verilog to vital translator | |
Calazans et al. | Asynchronous Circuit Principles and a Survey of Associated Design Tools | |
CN113688587B (zh) | 一种电路布图的生成方法、装置、计算机设备及存储介质 | |
CN114117980B (zh) | 芯片设计方法、芯片设计模块、电子设备和介质 | |
US10817633B2 (en) | Timing model, timing model building method, and related top-level analysis method | |
Rivas-Villegas | Design, Implementation and Verification of a Deserializer Module for a SerDes Mixed Signal System on Chip in 130 nm CMOS Technology | |
JP2009187119A (ja) | 検証支援プログラム、検証支援装置、および検証支援方法 | |
US10331835B2 (en) | ASIC design methodology for converting RTL HDL to a light netlist | |
de Oliveira Filho et al. | petri net based interface analysis for fast IP-Core integration | |
JP5115056B2 (ja) | 論理回路の記述形式変換方法、プログラム及び装置 | |
JP2010257003A (ja) | 論理等価性検証システム、論理等価性検証方法、半導体集積回路の製造方法、制御プログラムおよび可読記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20120501 |