JP2017501487A - メタル/ビアプログラマブルゲートアレイ集積回路用のプログラマブルマクロ - Google Patents
メタル/ビアプログラマブルゲートアレイ集積回路用のプログラマブルマクロ Download PDFInfo
- Publication number
- JP2017501487A JP2017501487A JP2016534725A JP2016534725A JP2017501487A JP 2017501487 A JP2017501487 A JP 2017501487A JP 2016534725 A JP2016534725 A JP 2016534725A JP 2016534725 A JP2016534725 A JP 2016534725A JP 2017501487 A JP2017501487 A JP 2017501487A
- Authority
- JP
- Japan
- Prior art keywords
- metal
- programmable
- potential
- interconnects
- vias
- 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
- 239000002184 metal Substances 0.000 title claims abstract description 63
- 229910052751 metal Inorganic materials 0.000 title claims abstract description 63
- 238000013461 design Methods 0.000 claims abstract description 40
- 238000000034 method Methods 0.000 claims abstract description 26
- 230000008569 process Effects 0.000 claims description 6
- 239000004020 conductor Substances 0.000 claims 2
- 150000002739 metals Chemical class 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 32
- 238000009792 diffusion process Methods 0.000 description 7
- 238000007689 inspection Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000000605 extraction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000003071 parasitic effect Effects 0.000 description 2
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 2
- 229920005591 polysilicon Polymers 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 239000000872 buffer Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 229920000729 poly(L-lysine) polymer Polymers 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
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)
- Design And Manufacture Of Integrated Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
メタル/ビアプログラマブルICで使用するマルチパーソナリティプログラマブルマクロの作成を完全に自動化する設計方法が提供される。プログラマブル性は、プログラマブルスイッチを使用して実現され、各プログラマブルスイッチは、直列、並列、またはそれらの組み合わせで構成された1つまたは複数の層の1つまたは複数のメタルトレースおよび/またはビアを含み得る。複数の重なり合うスイッチが同じ位置に存在し得る。つまり、同じリソースの一部を使用するスイッチが定義され得る。これらのスイッチの任意の1つを「オン」にし、残りのスイッチをオフのままにすることができる。設計方法の一部として、電気回路設計のさまざまなネットまたは部分が、回路を閉じるハード接続で、または回路を開くかもしくは回路を開いたままにする非接続でスイッチを置換することにより、プログラムされる。この方法により、ルーティングまたはプログラミングのリソースを共有して、レイアウト領域の最適な使用を実現することができる。
Description
メタル/ビアプログラマブルゲートアレイ集積回路(IC)は、マクロセル、すなわち「マクロ」を使用して、ICの機能を定義する。そのようなマクロには、たとえば、IOバッファ、PLL、DLL、メモリセルなどがある。そのようなマクロは、典型的には、プログラマブルでなかった。結果として、既存のメタル/ビアプログラマブルゲートアレイICから派生ICを作成するには、典型的には、膨大な再設計が必要であった。プログラマブル性欠如の1つの考えられる理由は、プログラマブル層を利用する適切な設計方法が欠如していることである。
本発明は、以下の説明と、添付の図面の組み合わせより理解され得る。
概要
メタル/ビアプログラマブルICで使用するマルチパーソナリティプログラマブルマクロの作成を完全に自動化する設計方法が提供される。プログラマブル性は、プログラマブルスイッチを使用して実現され、プログラマブルスイッチの各々は、直列、並列、または直列と並列の組み合わせで構成された1つまたは複数の層の1つまたは複数のメタルトレースおよび/またはビアを含み得る。さらに、複数の重なり合うスイッチが同じ位置に存在し得る。つまり、同じリソースの一部を使用するスイッチが定義され得る。特定のリソースを共有するスイッチの任意の1つをオンにし、他のスイッチをオフにすることができる。設計方法の一部として、電気回路設計のさまざまなネットまたは部分が、回路を閉じるハード接続で、または回路を開くかもしくは回路を開いたままにする非接続でスイッチを置換することにより、プログラムされる。この方法により、ルーティングまたはプログラミングのリソースを共有して、レイアウト領域の最適な使用を実現することができる。
メタル/ビアプログラマブルICで使用するマルチパーソナリティプログラマブルマクロの作成を完全に自動化する設計方法が提供される。プログラマブル性は、プログラマブルスイッチを使用して実現され、プログラマブルスイッチの各々は、直列、並列、または直列と並列の組み合わせで構成された1つまたは複数の層の1つまたは複数のメタルトレースおよび/またはビアを含み得る。さらに、複数の重なり合うスイッチが同じ位置に存在し得る。つまり、同じリソースの一部を使用するスイッチが定義され得る。特定のリソースを共有するスイッチの任意の1つをオンにし、他のスイッチをオフにすることができる。設計方法の一部として、電気回路設計のさまざまなネットまたは部分が、回路を閉じるハード接続で、または回路を開くかもしくは回路を開いたままにする非接続でスイッチを置換することにより、プログラムされる。この方法により、ルーティングまたはプログラミングのリソースを共有して、レイアウト領域の最適な使用を実現することができる。
さまざまなパーソナリティのマクロの回路図およびレイアウトの作成は、単一の回路図およびレイアウトに基づいて完全に自動化され得る。ハードスイッチングデバイスは、最終的にプログラムされた回路図またはネットリストおよび回路設計レイアウトから完全に排除され得る。結果として、設計の物理的および動作的な表現が向上し、既存のEDAツールとの完全な互換性が得られる。電気規則検査の際、スイッチデバイスが存在しない状態で、接続性をより正確に抽出することができる。寄生抽出の際、同様の利点が実現され、それによって抽出結果の精度が、スイッチデバイスをモデリングする必要性を伴わずに向上する。
一実施形態では、マクロベースのメタルプログラマブル集積回路を少なくとも1つのソフトウェアベース設計ツールを使用して設計する、コンピュータで実施される方法が提供される。この方法によると、複数のマクロの各々は、カスタマイズされていない回路図表現と、カスタマイズされていないレイアウト表現とによって表される。ソフトウェア設計ツールに対するユーザ入力が受け取られ、そのユーザ入力に基づいて、ソフトウェア設計ツールが、カスタマイズされた回路図表現およびカスタマイズされたレイアウト表現によって表される少なくとも1つの個人化されたマクロを自動的に生成する。
別の実施形態では、メタルプログラマブル集積回路のマクロセルの回路ノードをプログラム可能に相互接続する方法が提供される。設計段階で、複数の潜在的相互接続の各々がスイッチとして表される。このスイッチは、少なくとも2つの回路ノードを接続する配線シンボルとして表され得る。潜在的相互接続の各々について、回路ノードを接続するための物理リソースが予約される。物理リソースは、1つもしくは複数のビア、1つもしくは複数のメタル配線、または1つもしくは複数のビアと1つもしくは複数のメタル配線の両方を含む。異なる潜在的相互接続は、異なる物理レイアウトを有する。物理レイアウト段階で、潜在的相互接続の各々の状態が指定される。そして潜在的相互接続の各々について、その潜在的接続の1つもしくは複数のビア、1つもしくは複数のメタル配線、または1つもしくは複数のビアと1つもしくは複数のメタル配線の両方のレイアウトが実行される。
別の実施形態では、特定のレベル内で、すべてのプログラマブル相互接続スイッチおよび既存の相互接続を除去し、その後、新しい一群のプログラマブル相互接続スイッチおよび相互接続で置換することにより、マクロ設計Aをマクロ設計B(異なる回路設計)に変換することができる。マクロAおよびマクロBの各々は、スイッチプログラミングフローを通じて、異なるパーソナリティの回路にさらにプログラムされ得る。
詳細な説明
ここで図1Aを参照すると、回路ノードN1、N2、N3、およびN4を含む回路図の一部の図が示されている。この例では、ノードN1およびN2が水平メタル配線であり、ノードN3およびN4が垂直メタル配線である。この回路図は、「ソフト」プログラマブルスイッチS1、S2、S3、およびS4をさらに含んでいる。各スイッチは、2つの回路ノード間の配線で表され、白丸で表された回路ノードに結合されている。この表現は、プログラムされていない状態のスイッチを表す(スイッチは、他の回路要素と区別され得る限り、任意の他のシンボルで表すことができることに留意されたい)。図1Aの回路は、コミットされていない、すなわちプログラムされていないベースマクロの一部の回路ノードを表し得る。
ここで図1Aを参照すると、回路ノードN1、N2、N3、およびN4を含む回路図の一部の図が示されている。この例では、ノードN1およびN2が水平メタル配線であり、ノードN3およびN4が垂直メタル配線である。この回路図は、「ソフト」プログラマブルスイッチS1、S2、S3、およびS4をさらに含んでいる。各スイッチは、2つの回路ノード間の配線で表され、白丸で表された回路ノードに結合されている。この表現は、プログラムされていない状態のスイッチを表す(スイッチは、他の回路要素と区別され得る限り、任意の他のシンボルで表すことができることに留意されたい)。図1Aの回路は、コミットされていない、すなわちプログラムされていないベースマクロの一部の回路ノードを表し得る。
スイッチS1〜S4は、図1B〜図1Dに示されているように、ベースマクロのさまざまなカスタマイズに到達するために、さまざまな組み合わせおよび構成でプログラムされ得る。コミットされた状態では、スイッチがオンである場合、そのスイッチは黒丸になっている。図1Bでは、スイッチS1およびS4がオンであり、スイッチS2およびS3がオフである。スイッチS2およびS3はオフであるため、回路図から省略されている。図1Cでは、スイッチS2およびS3のみがオンである。図1Dでは、スイッチS1およびS2のみがオンである。
図2Aを参照すると、図1のようなプログラマブルマクロおよびスイッチを使用する設計方法の一部のフローチャートが示されている。従来の設計方法では、論理(回路図)および物理(レイアウト)設計201が、標準のASICまたは従来のゲートアレイ設計フロー220に入力される。従来の設計フローでは、マクロの異なる機能を有するカスタマイズごとに、多数の論理(回路図)および物理(レイアウト)設計201が存在する可能性がある。典型的なASIC設計フローの工程は、たとえば、物理検証、設計規則検査、レイアウト対回路図検査、RC寄生抽出等を含み得る。一実施形態によると、図2Aの設計フローは、図1のようなソフトスイッチを使用するプログラマブルマクロで、1つの論理(回路図)および物理(レイアウト)設計201からマクロのさまざまなパーソナリティまたは機能を生成することを可能にする、追加のカスタマイズされたフロー工程210を含む。これにより、開発および検証の時間が軽減され得る。
工程211で、さまざまなマクロ201の回路図およびレイアウト設計がプログラムされる。この工程で、開いた(オフ)スイッチが除去され、閉じた(オン)スイッチが電線と短絡される。プログラミングは、各スイッチの状態(開/閉)を決定する1つまたは複数のスイッチ仕様213に応じて実行される。その後、作成された修正済み回路図およびレイアウト設計215が、工程220に入力される。
図2Aの設計方法に従って、マクロのさまざまなプログラム済みインスタンス(すなわち、さまざまなパーソナリティのマクロ)の回路図およびレイアウトの作成が、単一のカスタマイズされていない回路図およびレイアウトに基づいて完全に自動化され得る。
図2Bを参照すると、図1のようなプログラマブルマクロおよびスイッチを使用する設計方法の一部のフローチャートが示されている。図2Aと比較すると、標準ASIC設計フローの工程(図2Aの220)が分割されている。第1グループの工程220−1は、一実施形態では、レイアウト対回路図検査(LVS)および設計規則検査(DRC)を含む。これらの工程は、追加のカスタマイズされたフロー工程210の前に実行される。つまり、LVSおよびDRCの工程は、コミットされていないレイアウトで実行される。カスタマイズされたフロー工程210に続き、ASIC設計フローの残りのグループの工程220−2が実行される。
LVSおよびDRCをコミットされていないレイアウトで実行することで、マクロのさまざまなプログラム済みインスタンス(すなわち、さまざまなパーソナリティのマクロ)の生成されたレイアウトは、常に「LVSおよびDRCクリーン」であり、さまざまなパーソナリティのマクロの開発および検証の時間が軽減される。
図3Aおよび図3Bを参照すると、考えられるさまざまなスイッチレイアウトの例の断面図が示されている。スイッチは、直列または並列の1つまたは複数のプログラマブルレイアウト層(たとえば、メタルまたはビア)にマップされる。図3Aの例では、スイッチはV23−M3−V23構成を有する。言い換えると、スイッチにより結合される回路ノードは、ビア、メタルトレース、および別のビアの組み合わせにより結合される。この例では、メタルトレースはメタル3層M3に属し、ビアはメタル3層の下にある、およびメタル2層の上にあるビア層V23に属する。図3Bの例では、スイッチは、同様の表記を順守して、V23−M3−V34−M4構成を有する。
図4A〜図4C、図5A〜図5Cおよび図6A〜図6Cを参照すると、さまざまなスイッチがメタル/ビアプログラミングリソースの同じコレクションの一部を共有し得る。図4Aの例では、ノードN1、N2、N3は、水平および垂直の配線として論理的に表される垂直メタルトレースである。スイッチS12は、ノードN1およびN2を潜在的に結合するものとして定義される。スイッチS13は、ノードN1およびN3を潜在的に結合するものとして定義される。図4Aの回路図は、現在コミットされていないベースマクロ設計の一部を表す。対応するレイアウト表現が図5Aに示されている。このレイアウト表現は、ノードN1、N2、およびN3の各々に対応するメタルトレースの部分を示し、トラックT1の一部を破線で示している。このトラックT1内に、メタルトレースがメタル層M3上で形成され得る。トラックT1は、スイッチS12およびS13により共有される。対応する断面図が図6Aに示されている。ベース設計では、ノードN1、N2、およびN3の各々に対応するメタルトレースが、メタル層M2を占め得る。ビア層V23およびメタル層M3の内部には、構造が存在しない。
図4B、図5B、および図6Bを参照すると、第1のカスタマイズに応じて、スイッチS12がオンであり、故に図4Bで黒丸により示されており、スイッチS13がオフである(よって削除されている)。図5Bを見てわかるように、スイッチS12は、ノードN1のメタルに接触するビアと、トラックT1内に形成されたメタルセグメントと、ノードN2のメタルに接触するビアとの組み合わせによって実現されている。対応する断面図が図6Bに示されている。
図4C、図5C、および図6Cを参照すると、第2のカスタマイズに応じて、スイッチS13がオンであり、故に図4Cで黒丸により示されており、スイッチS12がオフである(よって削除されている)。図5Cを見てわかるように、スイッチS13は、ノードN1のメタルに接触するビアと、トラックT1内に形成されたより長いメタルセグメントと、ノードN3のメタルに接触するビアとの組み合わせによって実現されている。対応する断面図が図6Cに示されている。
上述のように、スイッチがオフの場合、作成される回路図から除去される。同時に、そのスイッチに対して事前に予約されていたリソースは解放される。これらの解放されたリソースは、たとえば追加のルーティングリソースとして、レイアウト時に使用され得る。この概念が図7A〜図7Cおよび図8A〜図8Cに示されている。図7Aを参照すると、M2−V23−M3−V23スイッチ構造により結合された2つのメタルトレースを有するマクロの一部の上面図が示されている。スイッチ構造Sは、トラックT2の一部を占めている。また、信号ソースに接続するメタルトレースセグメントM3Aと、信号ターゲットに接続するメタルトレースセグメントM3Bとが示されており、両メタルトレースセグメントM3AおよびM3BもトラックT2を占めている。トラックT2の一部がスイッチSに対して予約されているため、ソースとターゲットとの間のルーティングはブロックされる。対応する断面図が図8Aに示されている。
スイッチSをオフにすると判断した場合、スイッチSに対して以前に予約されていたトラックT2の一部NSは、図7Bおよび図8Bに示されているように、予約解除され得る。結果として、メタルセグメントM3AおよびM3Bは、図7Cおよび図8Cに示されているように、信号ソースおよび信号ターゲットを接続する単一のメタルセグメントMとして結合され得る。つまり、メタル/ビアプログラマブルベースアレイデバイスで割り当てられていたマクロリソースが使用されないとき、そのリソースに属するプログラマブルメタルおよびビアは除去されて、通常の場所およびルートフローの一部として信号ルーティングに譲られ得る。その後、解放されたリソースは、(上述した例でメタルセグメントM3AおよびM3Bを結合するメタルのように)「マクロ充填」フィーチャにより使用され得る。
これまでに説明した例では、特定のマクロに属するデバイス(すなわち、トランジスタ)の数が、スイッチのプログラミングに関係なく不変であると想定されていた。他の実施形態では、デバイス(プログラマブルでない層)がマクロの間に再割り当てされて、より広範なプログラマブル性が実現され得る。この再割り当ては、たとえば、新しいマクロの新しい回路設計を作成することにより達成され得る。その際、設計者は、最終的なレイアウトのベース層が元のレイアウトのベース層(たとえば、ポリシリコンおよび拡散)に一致する限り、回路を再構造化するための完全な柔軟性を有する。図9Aを参照すると、各2つのデバイスを有する2つのマクロセルAおよびBの一部の上面図が示されている。図10Aに示されているように、デバイスは、たとえば、拡散領域とその拡散領域に重なるポリシリコンゲートとを各々に有するMOSトランジスタであり得る。マクロAとマクロBとの間でデバイスの割り当てを変更することが望ましい場合がある。図9Bを参照すると、一例では、両方のマクロが2つのデバイスを有する代わりに、ここでマクロXが1つのデバイスのみを有し、マクロYが3つのデバイスを有するように、デバイスがマクロ間で再割り当てされている。拡散層およびポリ層での割り当てを示す、対応する図が図10Bに示されている。拡散層およびポリ層自体は変更されていないことに留意されたい。
再割り当てのさらなる例が図11に示されている。元の回路は、PトランジスタP1およびP2の取り合わせと、NトランジスタN1およびN2の取り合わせと、スイッチS1およびS2の取り合わせと、関連する相互接続とを含む、プログラムされていないマクロAのインスタンスを組み込む。スイッチプログラミングを通じて、上述したように、マクロAが、異なるパーソナリティの回路を得るようにプログラムされ得る。そのような回路の2つの例が図11に示されている。回路の再設計および分割を通じて、マクロAは異なるマクロBに変換され得る。マクロBで利用できるデバイスは、マクロAで利用できるデバイスと同じであり、すなわち、PトランジスタP1およびP2と、NトランジスタN1およびN2である。この例では、マクロBも、2つのスイッチS1およびS2を使用している。ただし、これらの回路要素は、マクロBとマクロAでは配置が異なり、異なる回路機能を実現している。上述したように、スイッチプログラミングを通じて、マクロBは異なるパーソナリティの回路を得るようにプログラムされ得る。それらの回路の2つの例が図11に示されている。図10および図11で、破線のボックスは、異なるマクロ間で再利用され得るサブマクロを表す。
プログラマブルスイッチを使用した回路カスタマイズのさらなる例が図12A〜図12Cに示されている。図12Aを参照すると、コミットされていない状態の回路が示されている。トランジスタMP3およびMP3Aが提供されている。トランジスタMP3のゲート電極が入力INに接続されている。トランジスタMP3Aのゲート電極の接続は、スイッチSW12−1およびSW12−2のプログラミングに依存する。図12Aの下部に示されているように、スイッチSW12−1の物理的実現は、トレースn_5の不連続性または連続性である。スイッチSW12−2の物理的実現は、トレースn_5を供給バスVCCIOに接続するビアの不存在または存在である。
図12Bを参照すると、第1のカスタマイズに応じて、スイッチSW12−1は閉じるようにプログラムされ、スイッチSW12−2は開くようにプログラムされている。回路図では、スイッチSW12−1は接続線で置換されている。レイアウト図では、トレースn_5のメタルが連続的になっている。スイッチSW12−2の場合、回路図では、トレースn_5および供給バスVCCIOに接触する接点を備える中空ボックスにより引き続き表されている(トレースn_5は、スイッチSW12−2のプログラミングに関係なく、スイッチSW12−2を通って延長し、スイッチSW12−1に接続していることに留意されたい)。レイアウト図では、スイッチの閉状態でトレースn_5を供給バスに接続するスイッチSW12−2に対応するビアは、埋められないままである。
図12Cを参照すると、第2のカスタマイズに応じて、スイッチSW12−2は閉じるようにプログラムされ、スイッチSW12−1は開くようにプログラムされている。回路図では、スイッチSW12−2は接続線で置換されている。レイアウト図では、スイッチSW12−2に対応するビアは、トレースn_5を供給バスに接続するように埋められている。スイッチSW12−1の場合、回路図では、トレースn_5および入力INに接触する接点を備える中空ボックスにより引き続き表されている。レイアウト図では、トレースn_5のメタルが不連続になっている。
本発明は、その精神または必須の特性から逸脱することなく他の特定の形式で具現化され得ることが、当業者により理解される。よって上述した説明は、あらゆる観点において、例示的であって限定的でないことが意図されている。発明の範囲は、上述した説明ではなく、添付の請求項によって示され、請求項の均等の意味および範囲に含まれるすべての変更は、請求項に包含されることが意図されている。
Claims (6)
- メタルプログラマブル集積回路のマクロセルの回路ノードをプログラム可能に相互接続する、コンピュータで実施される方法であって、設計段階で、複数の潜在的相互接続の各々を少なくとも2つの回路ノードを接続するグラフィカルフィーチャとしてコンピュータメモリで表し、前記グラフィカルフィーチャのインスタンスを示す前記メタルプログラマブル集積回路の設計の少なくとも一部を表示する工程と、前記複数の潜在的相互接続の各々について、前記少なくとも2つの回路ノードを接続するための物理リソースを予約する工程であって、前記物理リソースが、導体から成り、1つもしくは複数のビア、1つもしくは複数のメタル配線、または1つもしくは複数のビアと1つもしくは複数のメタル配線の両方を含み、前記複数の潜在的相互接続の異なる潜在的相互接続が、相互に代用できない異なる物理レイアウトを有する、工程と、物理レイアウト段階で、前記複数の潜在的相互接続の一部が接続として指定され、前記複数の潜在的相互接続の一部が非接続として指定されると共に、前記複数の潜在的相互接続の各々の状態をコンピュータメモリで接続または非接続として指定する工程と、接続として指定された前記複数の潜在的相互接続の各々について、前記潜在的相互接続のそれぞれの潜在的相互接続を含む前記1つもしくは複数のビア、1つもしくは複数のメタル配線、または1つもしくは複数のビアと1つもしくは複数のメタル配線の両方をレイアウトする工程とを含む、コンピュータで実施される方法。
- 非接続として指定された前記潜在的相互接続のサブセットについて、前記メタルプログラマブル集積回路の表現から潜在的相互接続の前記サブセットを除去する工程を含む、請求項1に記載の方法。
- 潜在的相互接続の前記サブセットを除去する工程により物理リソースが解放され、解放された前記物理リソースをルーティング過程で使用する工程を含む、請求項2に記載の方法。
- 前記1つもしくは複数のビア、1つもしくは複数のメタル配線、または1つもしくは複数のビアと1つもしくは複数のメタル配線の両方をレイアウトする工程により、デバイスが第1のマクロセルから第2のマクロセルに再割り当てされる、請求項1に記載の方法。
- 前記複数の潜在的相互接続の異なる潜在的相互接続が物理リソースを共有する、請求項1に記載の方法。
- メタルプログラマブル集積回路のマクロセルの回路ノードをプログラム可能に相互接続する、コンピュータで実施される方法であって、設計段階で、複数のプログラマブルスイッチの各々を少なくとも2つの回路ノードを接続する配線としてコンピュータメモリで表し、前記配線のインスタンスを示す前記メタルプログラマブル集積回路の設計の少なくとも一部を表示する工程と、前記複数のプログラマブルスイッチの各々について、前記少なくとも2つの回路ノードを接続するための物理リソースを予約する工程であって、前記物理リソースが、導体から成り、1つもしくは複数のビア、1つもしくは複数のメタル配線、または1つもしくは複数のビアと1つもしくは複数のメタル配線の両方を含み、前記複数のプログラマブルスイッチの異なるプログラマブルスイッチが、相互に代用できない異なる物理レイアウトを有する、工程と、物理レイアウト段階で、前記複数のプログラマブルスイッチの一部が接続として指定され、前記複数のプログラマブルスイッチの一部が非接続として指定されると共に、前記複数のプログラマブルスイッチの各々の状態をコンピュータメモリで接続または非接続として指定する工程と、非接続として指定された前記複数のプログラマブルスイッチの各々について、前記プログラマブルスイッチのそれぞれのプログラマブルスイッチを含む前記1つもしくは複数のビア、1つもしくは複数のメタル配線、または1つもしくは複数のビアと1つもしくは複数のメタル配線の両方をレイアウトする工程とを含む、コンピュータで実施される方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/096,292 | 2013-12-04 | ||
US14/096,292 US8875080B1 (en) | 2013-12-04 | 2013-12-04 | Programmable macros for metal/via programmable gate array integrated circuits |
PCT/US2014/068511 WO2015085036A2 (en) | 2013-12-04 | 2014-12-04 | Programmable macros for metal/via programmable gate array integrated circuits |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017501487A true JP2017501487A (ja) | 2017-01-12 |
Family
ID=51752918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016534725A Pending JP2017501487A (ja) | 2013-12-04 | 2014-12-04 | メタル/ビアプログラマブルゲートアレイ集積回路用のプログラマブルマクロ |
Country Status (5)
Country | Link |
---|---|
US (1) | US8875080B1 (ja) |
JP (1) | JP2017501487A (ja) |
KR (1) | KR101823281B1 (ja) |
CN (1) | CN106030582A (ja) |
WO (1) | WO2015085036A2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9893731B1 (en) * | 2012-12-11 | 2018-02-13 | Lockheed Martin Corporation | Programmable application-specific integrated circuit |
US8875080B1 (en) * | 2013-12-04 | 2014-10-28 | Baysand Inc. | Programmable macros for metal/via programmable gate array integrated circuits |
US9590634B1 (en) | 2016-06-13 | 2017-03-07 | Baysand Inc. | Metal configurable hybrid memory |
US9811628B1 (en) | 2016-10-14 | 2017-11-07 | Baysand Inc. | Metal configurable register file |
US11867419B2 (en) * | 2017-07-27 | 2024-01-09 | Johnson Controls Technology Company | Systems and methods to automatically link availability of series devices in a plant |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5367208A (en) * | 1986-09-19 | 1994-11-22 | Actel Corporation | Reconfigurable programmable interconnect architecture |
US5850564A (en) * | 1995-05-03 | 1998-12-15 | Btr, Inc, | Scalable multiple level tab oriented interconnect architecture |
US6631510B1 (en) * | 1999-10-29 | 2003-10-07 | Altera Toronto Co. | Automatic generation of programmable logic device architectures |
US6462579B1 (en) * | 2001-04-26 | 2002-10-08 | Xilinx, Inc. | Partial reconfiguration of a programmable gate array using a bus macro |
US6992503B2 (en) * | 2002-07-08 | 2006-01-31 | Viciciv Technology | Programmable devices with convertibility to customizable devices |
US7129744B2 (en) * | 2003-10-23 | 2006-10-31 | Viciciv Technology | Programmable interconnect structures |
US7673273B2 (en) * | 2002-07-08 | 2010-03-02 | Tier Logic, Inc. | MPGA products based on a prototype FPGA |
US7030651B2 (en) * | 2003-12-04 | 2006-04-18 | Viciciv Technology | Programmable structured arrays |
CN1280892C (zh) * | 2003-12-16 | 2006-10-18 | 复旦大学 | 可编程逻辑器件结构 |
US7337422B1 (en) * | 2005-05-10 | 2008-02-26 | Xilinx, Inc. | Programmably configurable logic-based macro |
US7404154B1 (en) * | 2005-07-25 | 2008-07-22 | Lsi Corporation | Basic cell architecture for structured application-specific integrated circuits |
US7600210B1 (en) * | 2005-09-28 | 2009-10-06 | Xilinx, Inc. | Method and apparatus for modular circuit design for a programmable logic device |
US7689960B2 (en) * | 2006-01-25 | 2010-03-30 | Easic Corporation | Programmable via modeling |
US8230375B2 (en) * | 2008-09-14 | 2012-07-24 | Raminda Udaya Madurawe | Automated metal pattern generation for integrated circuits |
CN101504599A (zh) * | 2009-03-16 | 2009-08-12 | 西安电子科技大学 | 适于数字信号处理应用的专用指令集微处理系统 |
US8352899B1 (en) * | 2010-08-20 | 2013-01-08 | Altera Corporation | Method to modify an integrated circuit (IC) design |
US8843865B2 (en) * | 2012-02-26 | 2014-09-23 | Synopsys, Inc. | Data flow analyzer |
US8875080B1 (en) * | 2013-12-04 | 2014-10-28 | Baysand Inc. | Programmable macros for metal/via programmable gate array integrated circuits |
-
2013
- 2013-12-04 US US14/096,292 patent/US8875080B1/en not_active Expired - Fee Related
-
2014
- 2014-12-04 CN CN201480066013.7A patent/CN106030582A/zh active Pending
- 2014-12-04 WO PCT/US2014/068511 patent/WO2015085036A2/en active Application Filing
- 2014-12-04 KR KR1020167017787A patent/KR101823281B1/ko active IP Right Grant
- 2014-12-04 JP JP2016534725A patent/JP2017501487A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2015085036A3 (en) | 2015-11-05 |
KR20160093695A (ko) | 2016-08-08 |
KR101823281B1 (ko) | 2018-01-29 |
US8875080B1 (en) | 2014-10-28 |
WO2015085036A2 (en) | 2015-06-11 |
CN106030582A (zh) | 2016-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI794255B (zh) | 積體電路設計及(或)製造 | |
JP4833023B2 (ja) | 半導体デバイスの製造適合性を向上させるための方法、システム及びプログラム | |
US11031385B2 (en) | Standard cell for removing routing interference between adjacent pins and device including the same | |
US7287320B2 (en) | Method for programming a routing layout design through one via layer | |
JP2017501487A (ja) | メタル/ビアプログラマブルゲートアレイ集積回路用のプログラマブルマクロ | |
US7600208B1 (en) | Automatic placement of decoupling capacitors | |
US11836432B2 (en) | Cell architecture with backside power rails | |
CN103577634A (zh) | 用于生成用于双重构图技术的布局的系统和方法 | |
US6938236B1 (en) | Method of creating a mask-programmed logic device from a pre-existing circuit design | |
KR101563051B1 (ko) | 이동된 경계를 갖는 셀 및 경계 이동 방법 | |
Chen et al. | FPGA placement and routing | |
US9064081B1 (en) | Generating database for cells routable in pin layer | |
JP4141322B2 (ja) | 半導体集積回路の自動配線方法及び半導体集積回路の設計のプログラム | |
JPS61202453A (ja) | Cmosセル・レイアウトの形成方法 | |
US8650529B2 (en) | System and method for integrated circuit layout editing with asymmetric zoom views | |
US20200395938A1 (en) | Multiplexer | |
Moon et al. | Design and allocation of loosely coupled multi-bit flip-flops for power reduction in post-placement optimization | |
CN113255266A (zh) | 提高布局设计的设计效能的方法 | |
US20050132321A1 (en) | Method and apparatus for designing an integrated circuit using a mask-programmable fabric | |
US20080263493A1 (en) | Method and Apparatus for Tie Net Routing | |
Anagnostopoulos et al. | Application-Specific Integrated Circuits | |
Abbas et al. | Design Flow | |
Umadevi | FULL CUSTOM LAYOUT OPTIMIZATION TECHNIQUES | |
Moreira | Physical Design Implementation and Engineering Change Order Flow | |
Wardle et al. | A declarative design approach for combining macrocells by directed placement and constructive routing |