JP2022534441A - 自動回路生成 - Google Patents

自動回路生成 Download PDF

Info

Publication number
JP2022534441A
JP2022534441A JP2021571549A JP2021571549A JP2022534441A JP 2022534441 A JP2022534441 A JP 2022534441A JP 2021571549 A JP2021571549 A JP 2021571549A JP 2021571549 A JP2021571549 A JP 2021571549A JP 2022534441 A JP2022534441 A JP 2022534441A
Authority
JP
Japan
Prior art keywords
layout
circuit
resistor
generating
transistor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021571549A
Other languages
English (en)
Other versions
JPWO2020243355A5 (ja
Inventor
カルム マクレー
ジム ロカッシオ
カレン メイソン
ジョン メイソン
リチャード フィルポット
ムハメッド アビド フセイン
Original Assignee
セレラ インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by セレラ インコーポレイテッド filed Critical セレラ インコーポレイテッド
Publication of JP2022534441A publication Critical patent/JP2022534441A/ja
Publication of JPWO2020243355A5 publication Critical patent/JPWO2020243355A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/31Design entry, e.g. editors specifically adapted for circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • G06F30/347Physical level, e.g. placement or routing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/367Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/38Circuit design at the mixed level of analogue and digital signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/12Symbolic schematics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/20Configuration CAD, e.g. designing by assembling or positioning modules selected from libraries of predesigned modules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/373Design optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • Architecture (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Input Circuits Of Receivers And Coupling Of Receivers And Audio Equipment (AREA)
  • Control Of Motors That Do Not Use Commutators (AREA)

Abstract

自動回路発生を開示する。一部の実施形態では、パラメータが受信され、回路結線図がソフトウエアによって自動的に生成される。一部の実施形態では、パラメータが受信され、回路レイアウトがソフトウエアによって自動的に生成される。一部の実施形態では、回路の挙動モデルを生成するのに設計インタフェースを使用することができる。ソフトウエアは、結線図を生成するための回路仕様を発生することができる。様々な実施形態では、回路構成要素値が決定されて生成される場合がある。ある一定の実施形態は、回路のレイアウトを自動化することに関連する。ソフトウエアは、機能回路構成要素に関するパラメータを受信し、かつ回路結線図及び/又はレイアウトを生成することができる。本発明の技術は、アナログ回路を自動的に生成するのに特に有用である。【選択図】図1

Description

この出願は、これにより引用によって本明細書にその内容が組み込まれる2020年5月22日出願の米国特許出願第16/882,217号に対する優先権の利益を主張するものである。この出願は、これにより引用によって本明細書にその内容が組み込まれる2019年5月30日出願の米国仮特許出願第62/854,848号に対する優先権の利益を更に主張するものである。
本発明の開示は、電子回路に関連し、特に、回路結線図(circuit schematics)及びレイアウトを自動的に発生させる(生成する)(generating)ための技術に関連する。
電子回路は、現代社会に偏在するようになっている。スマートフォン、パーソナルコンピュータ、テレビジョン、及び多くの他の消費者電子デバイスから産業機器、科学計器、通信システム、及びインターネットの全ての態様まで典型的に集積回路(又は「チップ」)の形態にある電子回路は、人間の存在に対して劇的な影響を有するようになっている。
しかし、電子回路の開発は、時間を消費して高コストである可能性がある。典型的には、熟練電気技術者のチーム及び多くの電子回路専門家は、望ましい機能を有するチップを形成するために回路結線図を設計して回路をレイアウトするのに長い期間を費やす。結線図は、回路内の各トランジスタをトランジスタ間の接続と共に含む場合がある。結線図は、適正な機能を保証するために電子回路がどのように作動することになるかを模擬するのに使用することができる。次に、トランジスタは、幾何学的形状としてレイアウトされる。レイアウト(時として「マスク設計(mask design)」と呼ばれる)は、例えば、シリコン内に(例えば、個々のチップにその後に切断されるウェーハ上に)発生(生成)されることになる回路の物理的態様に対応することができる平面幾何学形状の観点での集積回路の表現である。例えば、レイアウトは、集積回路の物理的構成要素を構成する金属層、酸化物層、又は半導体層のパターンを表すことができる。
回路結線図を設計すること及び電子回路全体に対するレイアウトを生成することは、面倒で時間を消費する工程である可能性がある。特に、アナログ回路に関して、トランジスタレベル結線図は、典型的に経験豊かな熟練アナログ回路設計専門家によって調製される。ゼロから結線図を設計することは、回路の複雑さによっては数ヶ月を要する可能性がある。設計が発生された状態で、アナログ回路設計専門家は、典型的にはレイアウト専門家と協働してレイアウトを生成する。レイアウト工程も、数週間又は更に数ヶ月を要する可能性がある。
結線図及びレイアウトを自動的に発生させるための技術の発見は、チップ開発サイクル時間を短縮し、開発工程を効率化し、かつ広範な他の潜在的利点を提供することができる。
一実施形態による自動回路発生のためのシステムを示す図である。 一実施形態による自動回路発生のための方法を示す図である。 様々な実施形態による自動回路結線図発生の例を示す図である。 様々な実施形態による自動回路結線図発生の例を示す図である。 様々な実施形態による自動回路結線図発生の例を示す図である。 様々な実施形態による自動回路結線図発生の例を示す図である。 更に別の実施形態による自動回路結線図発生の例を示す図である。 更に別の実施形態による自動回路結線図発生の例を示す図である。 更に別の実施形態による自動回路結線図発生の例を示す図である。 更に別の実施形態による自動回路結線図発生の例を示す図である。 実施形態による発生器の例示的機能ブロックを示す図である。 別の実施形態による自動回路発生器の別の例示的ブロック図である。 実施形態により回路を自動的に発生させる例示的工程を示す図である。 一実施形態によりピンをマッピングする段階の例を示す図である。 一実施形態によりピンをマッピングする段階の例を示す図である。 別の実施形態による自動回路発生のためのシステムを示す図である。 一実施形態による自動回路発生のための方法を示す図である。 様々な実施形態による自動回路レイアウト発生の例を示す図である。 様々な実施形態による自動回路レイアウト発生の例を示す図である。 様々な実施形態による自動回路レイアウト発生の例を示す図である。 様々な実施形態による自動回路レイアウト発生の例を示す図である。 更に別の実施形態による自動回路レイアウト発生の例を示す図である。 更に別の実施形態による自動回路レイアウト発生の例を示す図である。 更に別の実施形態による自動回路レイアウト発生の例を示す図である。 更に別の実施形態による自動回路レイアウト発生の例を示す図である。 一実施形態により回路レイアウトを生成する例を示す図である。 一実施形態により回路レイアウトを生成する別の例を示す図である。 実施形態により異なるパラメータ及び配置命令から発生された例示的回路レイアウトを示す図である。 別の実施形態によるパラメータ値と配置命令との別の例示的組合せを示す図である。 実施形態による回転レイアウト配置命令を用いて回路レイアウトを生成する別の例を示す図である。 実施形態によるレイアウト配置命令を用いて回路レイアウトを生成する別の例を示す図である。 実施形態による別の例示的設計インタフェースを示す図である。 別の実施形態による例示的設計及び自動回路発生工程を示す図である。 別の実施形態による例示的設計及び自動回路発生システムを示す図である。 実施形態による異なる機能回路構成要素に対する記号を示す図である。 一実施形態による例示的発生器ソフトウエアシステム2001を示す図である。 実施形態により回路仕様を発生させる例示的方法を示す図である。 別の実施形態により回路仕様を発生させる例示的方法を示す図である。 一実施形態により一連の値にわたって回路構成要素を発生させる方法を示す図である。 別の実施形態により一連の値にわたって回路構成要素を発生させる方法を示す図である。 更に別の実施形態により一連の値にわたって回路構成要素を発生させる方法を示す図である。 実施形態による抵抗器を自動的に発生させるためのコンピュータ実装システムを示す図である。 実施形態により抵抗器を発生させる方法を示す図である。 別の実施形態により抵抗器を発生させる方法を示す図である。 更に別の実施形態により抵抗器を発生させる方法を示す図である。 更に別の実施形態により抵抗器を発生させる方法を示す図である。 更に別の実施形態により抵抗器を発生させる方法を示す図である。 実施形態による例示的抵抗器結線図及びレイアウトを示す図である。 実施形態により2つの異なる回路と共に使用される2つの抵抗器値に対して発生された例示的レイアウトを示す図である。 実施形態により同じ回路と共に使用される2つの抵抗器値を示す図である。 実施形態により異なる部分回路構成に対する抵抗器値に対して発生された例示的レイアウトを示す図である。 実施形態による抵抗器セグメントの例示的レイアウトを示す図である。 実施形態による抵抗器セグメントの別の例示的レイアウトを示す図である。 実施形態による抵抗器属性の引き渡しを示す図である。 別の実施形態による抵抗器属性の結線図への引き渡しを示す図である。 実施形態によりユーザインタフェース内で指定された抵抗器の発生を示す図である。 実施形態によりユーザインタフェース内で指定された抵抗器の例示的レイアウトを示す図である。 実施形態によりユーザインタフェース内で指定された回路パラメータに基づく抵抗器の発生を示す図である。 実施形態によりパラメータから決定された抵抗器の例示的レイアウトを示す図である。 実施形態による抵抗器分割器の発生を示す図である。 実施形態による抵抗器分割器の発生を示す図である。 実施形態による抵抗器分割器の発生を示す図である。 別の実施形態による部分回路を含む抵抗器分割器を発生させる方法を示す図である。 異なるスイッチ構成を有する抵抗器分割器の様々な実施形態を示す図である。 実施形態によるコンデンサーを自動的に発生させるためのコンピュータ実装システムを示す図である。 実施形態によるコンデンサーを発生させる方法を示す図である。 実施形態によるコンデンサー寸法を決定するための一例示的技術を示す図である。 実施形態による例示的コンデンサー結線図発生を示す図である。 実施形態による例示的コンデンサー結線図発生を示す図である。 実施形態による例示的コンデンサー結線図発生を示す図である。 様々な実施形態による例示的コンデンサーレイアウトを示す図である。 実施形態によりユーザインタフェース内で指定されたコンデンサーの発生を示す図である。 実施形態によりパラメータから決定されたコンデンサーの例示的レイアウトを更に示す図である。 実施形態によるトランジスタの自動発生を示す図である。 実施形態によるトランジスタを自動的に発生させるための流れ図である。 様々な実施形態により異なるパラメータによって発生された例示的トランジスタを示す図である。 様々な実施形態により異なるパラメータによって発生された例示的トランジスタを示す図である。 様々な実施形態により異なるパラメータによって発生された例示的トランジスタを示す図である。 様々な実施形態により異なるパラメータによって発生された例示的トランジスタを示す図である。 様々な実施形態により異なるパラメータによって発生された例示的トランジスタを示す図である。 様々な実施形態により異なるパラメータによって発生された例示的トランジスタを示す図である。 実施形態による別のパラメータ値セットから発生された別の例示的トランジスタを示す図である。 更に別の実施形態による別のパラメータ値セットから発生された別の例示的トランジスタを示す図である。 別の実施形態によるトランジスタを発生させる例示的方法を示す図である。 実施形態によりオン抵抗(Ron)の指定値をゲート幅に変換するための例示的方法を示す図である。 実施形態による複製デバイス5001を有するトランジスタの発生を示す図である。 実施形態によるケルビン接続を有するトランジスタの発生を示す図である。 実施形態によりトランジスタのレイアウトを自動的に発生させる例を示す図である。 フィンガの個数が増加するとトランジスタレイアウトのアスペクト比が変化する場合があることを示す図である。 実施形態によりトランジスタを形成するように構成されたトランジスタデバイスセルレイアウトインスタンスのアレイを示す図である。 実施形態によりトランジスタを形成するように構成されたトランジスタデバイスセルレイアウトインスタンスのアレイを示す図である。 一実施形態によるトランジスタのためのレイアウトの発生を示す図である。 一実施形態によるトランジスタのためのレイアウトの発生を示す図である。 実施形態によりトランジスタを形成するためのレイアウトインスタンスの自動配置を示す図である。 実施形態による金属層3の垂直ストリップを示す図である。 実施形態によるレイアウトの発生を示す図である。 実施形態による自動レイアウト発生器を含む例示的システムを示す図である。 実施形態による回路結線図のレイアウトインスタンスへの変換とレイアウトの発生とを示す図である。 実施形態によるレイアウトスクリプトを示す図である。 実施形態によるレイアウト配置命令の例示的配置作動を示す図である。 更に別の実施形態によるレイアウトの発生の更に別の例を示す図である。 様々な実施形態による様々なレイアウト配置命令に使用することができる段階の例示的タイプを示す図である。 実施形態による一部のレイアウト配置命令に使用される別のパラメータを示す図である。 実施形態による一部のレイアウト配置命令に使用される別のパラメータを示す図である。 実施形態による一部のレイアウト配置命令に使用される別のパラメータを示す図である。 様々な実施形態による一部のレイアウト配置命令に使用される別のパラメータを示す図である。 実施形態による条件付きレイアウト配置命令のための工程を示す図である。 実施形態によりトランジスタをレイアウトの中に組み込むための別のレイアウト配置命令を示す図である。 ある一定の実施形態による例示的コンピュータシステムハードウエアを示す図である。 ある一定の実施形態に使用することができる様々なコンピュータシステム構成を示す図である。 実施形態により回路を作る工程を示す図である。
本明細書では、自動回路発生のための技術を説明する。例えば、本明細書に説明する技術の一部又は全てを用いて集積回路を作ることができる。以下の説明では、本発明の開示の完全な理解をもたらすために説明目的で数々の例及び特定の詳細を示している。しかし、特許請求の範囲に表す本発明の開示は、これらの例での特徴の一部又は全てを単独で又は下記で説明する他の特徴との組合せで含むことができ、かつ本明細書に説明する特徴及び概念の修正及び均等物を含むことができることは当業者には明らかであろう。
様々な実施形態及び組合せでは、以下の開示は、ソフトウエアを用いて電子回路を自動的に発生させるための技術を説明する。下記で説明する一部の実施形態は、パラメータに応答して回路結線図又は回路レイアウト又はこれらの両方を発生させることができる。例えば、パラメータは、様々な回路特性を指定する(specify)ことができ、ソフトウエアシステムは、これらのパラメータに基づいて広範な回路に関して回路結線図又は回路レイアウト又はこれらの両方を発生させることができる。本明細書に説明する一部の実施形態では、ユーザが機能回路構成要素(functional circuit components)を選択し、パラメータを指定することにより、発生されることになる回路を定めることを設計インタフェースが可能にすることができる。例えば、一部の実施形態では、設計インタフェースは、例えばトランジスタレベル結線図を定めるのに必要とされると考えられるものよりも少ない回路設計技術の知識又は体験しか必要としない場合がある行動レベル表現のような回路の高レベル表現とすることができる。すなわち、一部の例示的実施形態では、遥かに少ない又はごく僅かな回路設計の知識又は体験のみを有するユーザが、回路を定めることができ、コンピュータソフトウエアは、それ程技能を持たない又はそれ程経験のないユーザの入力に応答して回路結線図又は回路レイアウト又はこれらの両方を発生させることができる。これに加えて、従来の方式を使用すると長い場合がある回路結線図設計及びレイアウト開発サイクル時間は、本明細書に説明する自動回路設計技術を用いて劇的に短縮することができる。本発明の技術は、アナログ回路設計の分野において特に有利である。下記では、本発明の開示の様々な実施形態に使用するための様々な革新技術を開示する。例えば、下記で開示する革新技術は、様々な実施形態に従って単独又は本明細書に説明する他の革新技術との様々な組合せのいずれかに実施し、集積回路を作るための工程の一部として使用することができる。
パラメータ化回路結線図発生
図1は、一実施形態による自動回路発生(自動回路生成)(automated circuit generation)のためのシステムを示している。本発明の開示の特徴及び利点は、入力パラメータに基づいて回路結線図を自動的に発生させることができ、例えば、異なるパラメータ値が異なる回路結線図を自動的に発生させることができるシステムを含む。図1に示すように、発生器ソフトウエアシステム(generator software system)102は、パラメータ104を受信して回路結線図103を発生させることができる。発生器ソフトウエアシステム102は、例えば、少なくとも1つのコンピュータシステム上で実行することができ、1又は2以上のコンピュータによって実行された時に本明細書に説明する技術を実施するための作動をコンピュータに実施させるコンピュータコードを含むことができる。例えば、パラメータは、発生器(生成器)(generator)102内で発生されることになる回路を指定する情報として様々なデータフォーマットで受信することができる。
例えば、パラメータ104は、少なくとも1つの機能回路構成要素101に対応する複数の回路仕様パラメータ(circuit specification parameters)を含むことができる。例えば、回路仕様パラメータは、発生されることになる回路の特性を指定することができる。例えば、一部の例示的実施形態では、回路仕様パラメータは、特定の値を有する変数とすることができる。下記でより詳細に例示するように、回路仕様パラメータは、発生されることになる回路の電気特質(electrical properties)(例えば、電圧又は電流)を指定することができ、又は発生されることになる回路の物理特質(physical properties)(例えば、入力が、Nタイプトランジスタ又はPタイプトランジスタ、又はコンデンサーの物理的構造又は抵抗器の物理的構造のいずれを使用するか)を指定することができる。一部の実施形態では、回路仕様パラメータは、機能回路構成要素101のような特定の機能回路構成要素に対応することができる。例えば、様々な実施形態では、機能回路構成要素は、アナログ機能回路構成要素とすることができる。例えば、1つの回路仕様パラメータセットが1つの機能回路構成要素(例えば、比較器)に対応することができ、別のパラメータセットが異なる機能回路構成要素(例えば、遅延回路又は発振器)に対応する場合がある。従って、比較器は、発振器とは異なるパラメータセットを有することができるが、一部の実施形態では、異なる機能回路構成要素に対する別個のパラメータセットは、同じ個々のパラメータ(例えば、入力段タイプ又は供給電圧値を指定するパラメータ)のうちの1又は2以上を有する場合がある。パラメータ104は、様々な技術を用いて実施することができる。一部の実施形態では、回路仕様パラメータは、例えば、変数名及び値を指定するテキストとして受信することができる。他の実施形態では、例えば、回路仕様パラメータは、機能回路構成要素101を具現化するために発生されることになる回路の特性を指定するためのコード(例えば、デジタルコード値又は広範な他の符号化技術)として実施することができる。様々な符号化技術を用いて、発生されることになる回路の特性を指定する回路仕様パラメータを具現化することができることは理解されるものとする。
パラメータ104は、発生器102によって受信される。発生器102は、回路仕様パラメータに基づいて複数の部分回路結線図(sub-circuit schematics)110~112を選択する(すなわち、決定するか又は他に識別する)ことができる。例えば、受信回路仕様パラメータに対する1つの値セット(又はコード)は、部分回路結線図110と部分回路結線図111との選択をもたらすことができる。例えば、受信回路仕様パラメータに対する別の値セット(又は別の符号化)は、部分回路結線図110と部分回路結線図111と部分回路結線図112との選択をもたらすことができる。適切な部分回路結線図が選択された状態で、識別された部分回路結線図を組み合わせて回路結線図103を形成することができる。従って、回路結線図103は、パラメータ104によって指定された特性を有する機能回路構成要素101を実施する。
以下の開示は、部分回路結線図を組み合わせること(combining)を説明するが、他の実施形態では、他の部分回路モデルを使用することができることは理解されるものとする。典型的には、回路結線図は、回路と共に使用される構成要素(例えば、トランジスタ、抵抗器、コンデンサー、及び誘導子など)の接続を表すモデルを参照する。本明細書に説明する実施形態は、例えば部分回路及び回路を表すのに使用される特定のモデル化技術に限定されない場合がある。
本発明の開示の実施形態は、アナログ回路結線図を発生させるのに特に有利とすることができる。デジタル回路は、実質的に完全オン又は完全オフのいずれかにあるトランジスタを有する単純な論理回路を用いてバイナリ電圧(ゼロ及び1を表す)を処理し、それに対して典型的にアナログ回路は、完全オンと完全オフの間のある範囲にわたって(例えば、線形範囲にわたって)作動可能なトランジスタを有する回路を含むという点で、アナログ回路はデジタル回路とは異なる。例えば、アナログ回路は、回路内の特定の電圧及び電流に依存して広範な作動を実施することができ、システム内の構成要素(例えば、コンデンサー、トランジスタ、抵抗器、誘導子)は、一連の電圧又は電流にわたって作動する。アナログ回路のサブセットは混合信号回路である。混合信号回路は、アナログ回路と共に集積され、それと協働する一部のデジタル回路構成を含むアナログ回路である。例えば、混合信号回路は、アナログ回路構成と共には集積されない及び/又はそれとは実質的に独立に機能を実施するデジタル回路と区別されなければならない。アナログ回路設計(例えば、アナログ/混合信号回路設計)とデジタル回路設計の間の違いは当業者によって公知である。
本発明の開示の実施形態は、例えば、回路仕様パラメータに基づいてアナログ回路結線図及び/又は回路レイアウトを自動的に発生させるのに使用することができる。上述のように、回路仕様パラメータは、例えば、比較器、発振器、遅延器のような1又は2以上の機能アナログ回路に対応することができる。例えば、回路仕様パラメータは、Pタイプ入力又はNタイプ入力を有する比較器のような発生されることになる回路の特性を指定することができる。一部の例示的用途では、回路仕様パラメータを用いて特定の機能アナログ回路構成要素に対応する予め定められた部分回路結線図を選択することができる。例えば、下記のより詳細な例で例示するように、発生器102は、1つのパラメータセットに基づいて予め定められたPタイプ比較器部分回路結線図、第1の予め定められたヒステリシス部分回路結線図、及び予め定められたデグリッチ部分回路結線図を選択して1つの特性セットを有する比較器機能回路構成要素のための結線図を形成することができ、例えば、別のパラメータセットを用いて予め定められたNタイプ比較器部分回路結線図及び別の予め定められたヒステリシス回路結線図を選択して別の特性セットを有する比較器機能回路構成要素のための結線図を形成することができる。
図2は、一実施形態による自動回路発生のための方法を示している。本方法は、例えば、1又は2以上のコンピュータ上で実行されるソフトウエアによって実施することができる。201では、少なくとも1つの機能回路構成要素に対応する複数の回路仕様パラメータが受信される。回路仕様パラメータは、例えば、テキストでの変数及び値のような又はコードのような様々な方法で表すことができる。上述のように、受信パラメータは、異なる機能アナログ回路構成要素に関する1又は2以上のパラメータセットを含むことができる(例えば、1つのパラメータセットが第1の機能アナログ回路構成要素に対応し、別のパラメータセットが第2の機能アナログ回路構成要素に対応する)。202では、回路仕様パラメータに基づいて特定の部分回路結線図が選択される。一実施形態では、異なる機能回路構成要素は、異なる予め定められた部分回路結線図セットを有することができる。選択は、回路仕様パラメータに基づいて機能回路構成要素に対応する予め定められた部分回路結線図サブセットを選択することを含むことができる。例えば、比較器は、比較器機能回路構成要素に対応する回路結線図セット内にNタイプ比較器部分回路結線図、Pタイプ比較器部分回路結線図、及び様々な他の部分回路結線図を有することができる。例えば、Pタイプ部分回路結線図は、特定の値を有する1又は2以上のパラメータに基づいて選択することができ、Nタイプ部分回路結線図は、異なる値を有する1又は2以上のパラメータに基づいて選択することができる。203では、ソフトウエアシステムは、選択部分回路結線図を組み合わせて機能回路構成要素のための結線図を形成することができる。部分回路結線図は、その中に様々な入力端子及び出力端子(又はピン)を有する機能構成要素レベルの回路のブロック(又は設計)の形態にあることが可能である。従って、例えば、組み合わせることは、部分回路結線図間でピンを互いに結合すること、及び/又は部分回路結線図のピンを他の回路結線図の他のピンに結合することを含むことができる。部分回路結線図間でピンを結合する例に対しては、下記でより詳細に例示する。
図3A~図3Dは、様々な実施形態による自動回路結線図発生の例を示している。下記の様々な例に示すように、回路仕様パラメータセットに対する特定の値は、特定の機能回路構成要素(例えば、発生される特定の特性を有する比較器)の特定のインスタンスに対応することができる。例えば、異なる回路仕様パラメータを有し、異なる選択部分回路から形成された異なる回路設計に対応する多くの同じ機能回路構成要素が存在する場合がある。ある一定の実施形態では、1つの回路仕様パラメータセットに対する異なる値は、1つの対応する機能回路構成要素に対する異なる電気特質を有する異なるアナログ回路結線図を発生させることができる。例えば、機能回路構成要素303に対応するパラメータ302を異なる値を用いて符号化することができる。この例では、N個のパラメータ(ここで、Nは整数である)のセットは、第1の値セット[a1=x1、a2=x2、a3=x3、...、aN=xN]を有する変数a1、a2、a3、...aNとして例示している。発生器ソフトウエア301は、第1の値セットを有するパラメータ302を受信し、部分回路結線図310~315のサブセットを選択する。選択部分回路結線図が組み合わされ、受信パラメータに従って機能回路構成要素303のための結線図が形成される。この例では、第1のパラメータ値セットは、部分回路結線図310~312が選択されて組み合わされ、回路結線図303Aが形成されるという結果をもたらす。
図3Bは、第2の値セット[a1=x1、a2=x2、a3=y3、...、aN=xN]を有するパラメータ302を示している。ここで、パラメータa3は、その値をx3からy3に変化させている。従って、選択される部分回路結線図は変化する。この例では、a3=y3である時に、部分回路結線図312が選択されて部分回路結線図310及び311と共に回路結線図303B内に含められることはもはやない。
図3Cは、第3の値セット[a1=y1、a2=x2、a3=x3、...、aN=xN]を有するパラメータ302を示している。ここで、パラメータa1は、その値をx1からy1に変化させており、パラメータa3=x3である。従って、ここでもまた、選択される部分回路結線図は変化する。この例では、a1=y1である時に、部分回路結線図310はもはや選択されない。代わりに、部分回路結線図313が選択されて部分回路結線図311及び312と共に回路結線図303C内に含められる。
図3Dは、第4の値セット[a1=y1、a2=y2、a3=x3、...、aN=xN]を有するパラメータ302を示している。ここで、それぞれy1及びy2という値を有するパラメータa1及びa2は、部分回路結線図314が選択されて部分回路結線図311及び312と共に回路結線図303D内に含められるという結果をもたらす。
本発明の開示の一部の実施形態の特徴及び利点は、複数の機能回路構成要素に対応する回路仕様パラメータを受信すること、及びこれらのパラメータに基づいて各機能回路構成要素を実施する回路結線図を自動的に発生させることを含むことができる。図4A~図4Dは、実施形態により異なる機能回路構成要素に対して異なる回路結線図を発生させる異なるパラメータセット(又は符号化)を示している。図4Aを参照すると、この例では、発生器ソフトウエアシステム401は、複数の機能回路構成要素402~405(Nが、異なる機能回路構成要素の個数に対応する整数である時に、構成要素C1、C2、C3、C4、以降同じくCNまで続く)に対応するパラメータ450を受信する。C1~CNは、例えば、比較器、発振器、遅延回路、電流発生器、電圧基準、又はアナログ回路と共に使用される広範な他のアナログ機能回路構成要素とすることができる。この例では、発生器401は、N個の回路仕様パラメータセットを受信することができ、ここで、各異なる機能回路構成要素は、対応する回路仕様パラメータセットを有する。特に、例えば、Nが、対応する結線図がそれに対して発生されている機能回路構成要素の個数を表す整数である時に、第1のパラメータセット451、C1_Paramsは、構成要素C1 402に対応し、第2のパラメータセット452、C2_Paramsは、構成要素C2 403に対応し、第3のパラメータセット453、C3_Paramsは、構成要素C3 404に対応し、以降同じく構成要素CN 405に対応する最後のパラメータセット454、CN_Paramsまで続く。各パラメータセット451~454は、異なるパラメータ値を有することによって生成されることになる回路結線図の特性を指定することができる。この例では、パラメータ451は、この場合は「C1_Params_1」で表す第1の値セットを有する。同様に、パラメータ452は、第1の値セット「C2_Params_1」を有し、パラメータ453は、第1の値セット「C3_Params_1」を有し、以降同じく値「CN_Params_1」を有するパラメータ454まで続く。
図4A~図4Dは、対応する異なる機能回路構成要素に対する異なる回路仕様パラメータ450は、対応する異なる予め定められた部分回路結線図セットを有することができることを示す例を示している。例えば、予め定められたアナログ部分回路は、図4Aに示すライブラリ460に格納することができる。この例では、異なる機能回路構成要素402、403、404、及び405に対応する複数の部分回路セット410、420、430、及び440が存在する。従って、例えば、機能回路構成要素402(C1)に対応するC1_Params451を用いて、アナログ部分回路結線図411~416を含むC1部分回路セット(「C1_SC_Set」)410から部分回路結線図を選択することができる。同様に、例えば、機能回路構成要素403(C2)に対応するC2_Params452を用いて、アナログ部分回路結線図421~427を含むC2部分回路セット(「C2_SC_Set」)420から部分回路結線図を選択することができる。同様に、機能回路構成要素404(C3)に対応するC3_Params453を用いて、C3部分回路結線図セット(「C3_SC_Set」)430から部分回路結線図を選択することができ、以降同じくCN部分回路結線図セット(「CN_SC_Set」)440(部分回路を示していない)から部分回路結線図を選択するのに使用することができる機能回路構成要素405(CN)に対応するCN_Params454まで続く。
パラメータ451~454は、対応する部分回路の異なる組合せをもたらす異なる値を有することができる。この例では、各パラメータセット451~454は、第1のパラメータ値セット(例えば、ここでは特定の値を「_1」、「_2」などを用いて表示している)を受信する。例えば、回路仕様パラメータ451に対する第1の値セットをC1_Params_1と表示し、回路仕様パラメータ452に対する第1の値セットをC2_Params_1と表示し、以降同様に続く。この例では、発生器401は、パラメータ値C1_Params_1を受信し、C1_SC_Set410からの部分回路結線図C1_SC1 411とC1_SC2 412とC1_SC3 413とを組み合わせて機能回路構成要素C1 402に対応するアナログ回路結線図406Aを発生させる。同様に、発生器401は、パラメータ値C2_Params_1を受信し、C2_SC_Set420からの部分回路結線図C2_SC1 421とC2_SC2 422とC2_SC3 423とC2_SC4 424とを組み合わせて機能回路構成要素C2 403に対応するアナログ回路結線図407Aを発生させる。同様に、発生器401は、パラメータ値C3_Params_1を受信し、C3_SC_Set430からの部分回路結線図(図示せず)を組み合わせて機能回路構成要素C3 404に対応するアナログ回路結線図408Aを発生させる。アナログ回路結線図408Aは、C3_SC_Set 430からの部分回路結線図の第1のサブセット(C3_SC SubsetA)431Aを含む。最後に、発生器401は、パラメータ値CN_Params_1を受信し、CN_SC_Set440からの部分回路結線図(図示せず)を組み合わせて機能回路構成要素CN 405に対応するアナログ回路結線図409Aを発生させる。アナログ回路結線図409Aは、CN_SC_Set 440からの部分回路結線図の第1のサブセット(CN_SC SubsetB)を含む。
図4Bは、実施形態による別のパラメータセットを用いた別の回路の発生を示している。この例では、パラメータセット451~454は、異なるパラメータ値セットを受信する。例えば、回路仕様パラメータ451に対する新しい値セットをC1_Params_2と表示し、回路仕様パラメータ452に対する新しい値セットをC2_Params_2と表示し、以降同様に続く。この例では、発生器401は、パラメータ値C1_Params_2を受信し、C1_SC_Set410からの部分回路C1_SC4 414とC1_SC2 412とC1_SC3 413とを組み合わせて機能回路構成要素C1 402に対応するアナログ回路結線図406Bを発生させる。同様に、発生器401は、パラメータ値C2_Params_2を受信し、C2_SC_Set420からの部分回路C2_SC5 425とC2_SC6 426とC2_SC3 423とC2_SC4 424とを組み合わせて機能回路構成要素C2 403に対応するアナログ回路結線図407Bを発生させる。同様に、発生器401は、パラメータ値C3_Params_2を受信し、C3_SC_Set430からの部分回路(図示せず)を組み合わせて機能回路構成要素C3 404に対応するアナログ回路結線図408Bを発生させる。アナログ回路結線図408Bは、C3_SC_Set 430からの部分回路結線図の第2のサブセット(C3_SC SubsetA’)431Bを含む。最後に、発生器401は、パラメータ値CN_Params_2を受信し、CN_SC_Set440からの部分回路(図示せず)を組み合わせて機能回路構成要素CN 405に対応するアナログ回路結線図409Bを発生させる。アナログ回路結線図409Bは、CN_SC_Set 440からの部分回路結線図の第2のサブセット(CN_SC SubsetB’)441Bを含む。
図4Cは、実施形態による更に別のパラメータセットを用いた更に別の回路の発生を示している。この例では、各パラメータセット451~454は、第3のパラメータ値セットを受信する。例えば、回路仕様パラメータ451に対する新しい値セットをC1_Params_3と表示し、回路仕様パラメータ452に対する新しい値セットをC2_Params_3と表示し、以降同様に続く。この例では、発生器401は、パラメータ値C1_Params_3を受信し、C1_SC_Set410からの部分回路C1_SC4 414とC1_SC2 412とを組み合わせて機能回路構成要素C1 402に対応するアナログ回路結線図406Cを発生させる。同様に、発生器401は、パラメータ値C2_Params_3を受信し、C2_SC_Set420からの部分回路C2_SC5 425とC2_SC6 426とC2_SC3 423とC2_SC7 427とを組み合わせて機能回路構成要素C2 403に対応するアナログ回路結線図407Cを発生させる。同様に、発生器401は、パラメータ値C3_Params_3を受信し、C3_SC_Set430からの部分回路(図示せず)を組み合わせて機能回路構成要素C3 404に対応するアナログ回路結線図408Cを発生させる。アナログ回路結線図408Cは、C3_SC_Set 430からの部分回路結線図の第3のサブセット(C3_SC SubsetA’’)431Cを含む。最後に、発生器401は、パラメータ値CN_Params_3を受信し、CN_SC_Set440からの部分回路(図示せず)を組み合わせて機能回路構成要素CN 405に対応するアナログ回路結線図409Cを発生させる。アナログ回路結線図409Cは、CN_SC_Set 440からの部分回路結線図の第3のサブセット(CN_SC SubsetB’’)441Cを含む。
図4Dは、異なる機能回路構成要素に対する異なる部分回路セットが同じ部分回路を含むことができる実施形態を示している。例えば、一部の実施形態では、異なる機能回路構成要素は、対応する独特な予め定められた部分回路結線図セットを有することができる。図4Aを参照すると、部分回路セットC1_SC_Set 410は、C2_SC_Set 420又はC3_SC_Set 430とは異なる部分回路結線図セットとすることができる。特に、異なる比較器を形成するように組み合わされた部分回路は、例えば、異なる発振器又は異なる遅延回路を形成するように組み合わされた部分回路とは異なることが可能である。従って、各機能回路構成要素は、対応する独特な部分回路結線図セットを有することができる。しかし、様々な実施形態では、これらのセットは独特なものとすることができるが、一部のセット内の1又は2以上の部分回路結線図は共有することができる。例えば、比較器に対する部分回路結線図セットは、抵抗器分割器部分回路にアクセスすることができ、例えば、抵抗器分割器部分回路は、発振器に対する部分回路セットに関連付けることができる。従って、独特なセット(unique set)は、対応する機能回路構成要素に対してのみ使用される1又は2以上の独特な予め定められたアナログ部分回路結線図を含むことができ、又はこれに代えて、複数の対応する機能回路構成要素に対して使用される1又は2以上の予め定められたアナログ部分回路結線図を含むことができる。これを部分回路結線図C1-2 SC 417がセットC1_SC_Set 410とC2_SC_Set 420との中に含まれる図4Dに例示している。従って、例えば、構成要素C1及びC2それぞれに対するパラメータ451及び452は、両方共にC1-2 SC 417を含む回路結線図406D及び407Dを発生させることができる。
図5は、実施形態による発生器の例示的機能ブロックを示している。上述のように、ある一定の例示的実施形態では、発生器501は、異なるタイプの機能アナログ回路構成要素(例えば、C1、C2、C3、...、CN)に対応する回路仕様パラメータを受信することができる。例えば、これらのパラメータは、予め定められたアナログ部分回路結線図を用いて発生されることになる回路の特性を指定することができる。従って、パラメータは、発生器501によって受信されると、パラメータがどの機能構成要素に対応するかを決定する機能決定ブロック502によって解析することができる。ブロック502は、パラメータセットを受信し、適切な対応する機能回路構成要素(ここでは、C1、C2、C3、...、CN、例えば、比較器、発振器、遅延器など)を決定し、異なる規則セット510~511のうちの1つにアクセスしてパラメータを更に処理することができる。ブロック502及び上述して更に下記の更に別の例で説明する規則セットブロック(rule set blocks)510~511は、例えば、ソフトウエアコードに又は例えばソフトウエアコードとインポートデータ(例えば、パラメータ、異なる規則、部分回路、回路の組合せ等に関するデータ)との組合せとして実施することができる。
例えば、一部の実施形態では、異なる機能構成要素のための結線図406A~406D、407A~407D、408A~408D、及び409A~409Dのうちの1又は2以上のような複数の回路結線図は、機能回路構成要素の複数のパラメータ化インスタンスを含む回路のための結線図の中に様々な組合せで互いに結合することができる。1つの回路結線図は、1つのパラメータセットに基づく機能回路構成要素C1 402に対する結線図(例えば、回路結線図406D)と、1つのパラメータセットに基づく機能回路構成要素C2 403に対する結線図(例えば、回路結線図407C)と、1つのパラメータセットに基づく機能回路構成要素C3 404に対する結線図(例えば、回路結線図408D)と、1つのパラメータセットに基づく機能回路構成要素CN 405に対する結線図(例えば、回路結線図409B)とを含むことができる。これに代えて、パラメータと機能回路構成要素の組合せは、別のパラメータセットに基づく機能回路構成要素C1 402に対する結線図(例えば、回路結線図406B)を含み、機能回路構成要素C2 403に対する結線図を含まず(例えば、C2は含まれない)、別のパラメータセットに基づく機能回路構成要素C3 404に対する結線図(例えば、回路結線図408C)を含み、機能回路構成要素CN 405に対する結線図を含まない(例えば、CNも含まれない)結線図を発生させることができる。機能回路構成要素の異なるインスタンス化のためのパラメータのいずれかの組合せを用いて、例えば、同じか又は異なる機能回路構成要素のうちの1又は2以上の様々な組合せを有する結線図を自動的に発生させることができる。一部の実施形態では、結線図を用いて、互いに結合された機能回路構成要素のチップ全体を模擬することができる。任意的に、例えば、回路結線図は、レイアウトを生成してレイアウト対結線図(「LVS」)及び/又は設計規則検査(「DRC」)を実施するために、トランジスタ結線図レイアウト編集ツール(例えば、Cadence(登録商標)、Mentor Graphics(登録商標)、又はSilvaco(登録商標))のような電子設計自動化(electronic design automation)(EDA)ソフトウエアシステムによって処理することができ、かつ望ましい特性を有する集積回路(例えば、チップ)を生成する製造設備(例えば、半導体製作又は「FAB」)に送ることができる。典型的には、アナログ集積回路のための結線図を設計することは、大量の時間とアナログ回路設計専門家による大量の労力とを要する可能性がある。有利なことに、本明細書に説明する技術を使用するシステム及び方法は、電子回路(例えば、完全なチップ)のための結線図を非常に迅速に、かつ従来の技術を用いて各回路を設計する場合に必要とされると考えられる時間よりも実質的に少ない時間で発生させることができる。
発生器501は、パラメータを解析して使用すべき対応する規則セットを決定することができる。例えば、パラメータが1又は2以上の特定の変数又は値を含む場合に、1つの規則セットを適切とすることができ、パラメータが1又は2以上の他の特定の変数又は値を含む場合に、別の規則セットを適切とすることができる。一部の実施形態では、パラメータは、機能回路構成要素を指定する情報を含むことができる。例えば、発生器501によって受信されるパラメータは、機能回路構成要素(例えば、「比較器」、「発振器」、又は「電圧基準」)を指定するテキスト、又は例えば対応する機能回路構成要素に対して使用すべき規則セットを一意的に決定するための1又は2以上のコードのような1又は2以上の識別子(ID)を含むことができる。他の実施形態では、例えば、パラメータセット内の特定のパラメータの存在を用いてそのようなパラメータがどの機能回路構成要素に対するものであるか、及びどの部分回路セットを選択されるかを決定することができる。
この例では、N個の異なる機能回路構成要素タイプ(ここで、Nは整数、例えば、3、4、5など)に対応するN個の異なる規則セットブロック510~511が存在する。異なる機能回路構成要素に対応するパラメータは、対応する規則セットを有することができる。例えば、C1に対するパラメータ451は、第1の規則セットを用いて処理することができ、C2に対するパラメータは、第2の規則セットを用いて処理することができ、C3に対するパラメータは、第3の規則セットを用いて処理することができ、以降同じくN番目の規則セットを用いて処理することができるCNに対するパラメータまで続く。一例として、異なる規則セットは、例えばパラメータ値を解析し、適切な部分回路セット(例えば、各機能回路構成要素に対する)を選択し、対応する機能回路構成要素のための結線図を形成するように部分回路を組み合わせるための処理の一部又は全てを実施するように構成することができる。再度図5を参照すると、C1_Params_1は、組み合わされた時に回路結線図406Aを形成する部分回路411、412、及び413をセット410から選択するための1つの規則セットを呼び出す。同様に、C2_Params_1は、組み合わされた時に回路結線図407Aを形成する部分回路421、422、423、及び424をセット420から選択するための第2の規則セットを呼び出す。同様に、C3_Params_1は、組み合わされた時に回路結線図408Aを形成するサブセットA 431A内の部分回路をセット430から選択するための第3の規則セットを呼び出す。最後に、CN_Params_1は、組み合わされた時に回路結線図409Aを形成するサブセットB 441A内の部分回路をセット440から選択するための更に別の規則セットを呼び出す。
発生器501の一例示的実施形態では、回路仕様が発生されてEDAツールに提供される。例えば、回路仕様は、部分回路結線図と、組合せ回路を形成するためのピン接続とを指定することができる。例えば、回路仕様は、回路並びに例えば様々な部分回路結線図ノード間の接続を形成するのに使用される部分回路結線図を説明することができる。一部の例示的実施形態では、回路仕様は、回路に含められることになる特定の部分回路結線図に対する識別子(例えば、セル名称又はインスタンス名称)を含むことができる。回路仕様は、部分回路結線図のピンがどのように接続されるかの記述(例えば、下記で説明するピンマップ)を更に含むことができる。下記でより詳細に説明するように、例えば、一例示的回路仕様は、Verilog.vのようなネットリスト(netlist)である。EDAツールは、回路仕様を受信し、回路仕様に基づいて指定部分回路結線図を取り出し(retrieve)、かつ選択部分回路結線図を含むトランジスタレベルの結線図を発生させることができる。
図6Aは、別の実施形態による自動回路発生器の別の例示的ブロック図を示している。この例では、発生器609は、機能を決定し609、規則612~613を適用し、部分回路結線図を取り出し614、部分回路結線図を接続する615ためのプログラムコードを含む。例えば、工程を開始する時に、機能決定ブロック610は、例えば、1又は2以上の受信パラメータセットを評価し、どの規則セット(例えば、比較器規則セット、発振器規則セット、又は電圧基準規則セット)が適用されるかを決定することができる。発生器609は、適切な規則セット612~613のうちの1つを呼び出すことができる。例示的規則セットを620に例示している。この例では、規則セット620は、例えば、パラメータ値を取り出すためのサブブロック621(例えば、コードの)と、パラメータ値に基づいて部分回路を決定するためのサブブロック622と、ピンマップを発生させるためのサブブロック623とを含むことができる。ピンマップの発生は、例えば、組み合わされることになる部分回路からピンリストを取り出すことを含むことができる。一実施形態では、例えば、ピンマップ接続は、verilog’’.v’’ファイルのようなネットリストに具現化することができる。別のブロック614は、例えば、ブロック622によって決定された部分回路結線図を取り出すことができる。ブロック615は、部分回路の結線図ピンをマッピングすることができる。一実施形態では、結線図ピンは、例えば、ピンマップに基づいて接続される。上述したブロックは、例えば、様々な技術を用いてソフトウエアコードとして実施することができる。この図には例示目的で発生器609を1つのブロックグループとして示すが、発生器609を構成するブロックは、例えば、異なる言語を使用するソフトウエア符号化技術を用いて実施することができ、かつ複数の異なるモジュールとして実施することができることは理解されるものとする。下記でより詳細に説明する一例示的実施形態では、発生器ソフトウエアシステムは、C++に実施されたブロックと、スクリプト言語に実施された他のブロックとを含む。
図6Bは、実施形態による回路を自動的に発生させる例示的工程を示している。以下の工程説明を特定の順序で提供するが、これらの工程のうちの1又は2以上は異なる順序で行うことができることは理解されるものとする。601では、処理されるパラメータに対して発生されることになる回路の機能が決定される。機能は、例えば、比較器、発振器、電圧基準、電流ソース、又は他のパラメータ化アナログ構成ブロックのような特定の機能回路構成要素に対応することができる。この例では、機能は、機能回路構成要素名称(例えば、「比較器」、「発振器」、「遅延回路」など)のような識別子を用いて決定することができる。例えば、発生器は、機能回路構成要素名称を取り出し、次に、この名称に基づいて取り出すパラメータを選択することができる。602では、パラメータが取り出される。603では、例えば、パラメータは、発生されることになる回路を形成するのに使用すべき部分回路を決定するために解析される。604では、回路を形成するのに使用すべき部分回路のピンマップが発生される。下記でより詳細に説明するように、例えば、部分回路結線図ピンは、一部の場合は互いにマッピングされ、かつ発生されることになる回路の入力及び出力にマッピングすることができる。一部のピンは、異なる部分回路結線図の間でマッピングすることができ、一方で他のピンは、発生されることになる回路の入力又は出力にマッピングすることができる。ピンマップは、例えば、部分回路結線図及びピン間のマッピングを指定する上述した回路仕様に具現化することができる。605では、組み合わされることになる部分回路結線図が取り出される(例えば、公開された部分回路のライブラリから)。606では、例えば、ピンマップに基づいて部分回路結線図ピンを接続することができる。下記で説明する一例示的実施形態では、発生器ソフトウエアコンポーネントは、ピンをマッピングするネットリスト(例えば、Verilog’’.v’’ファイルの形態にある)を出力することができる。ブロック614及び615は、例えば、605及び606で例示したように部分回路結線図を取り出して組み合わせることができる電子設計自動化(EDA)システム(例えば、Cadence(登録商標)、Mentor Graphics(登録商標)、Silvaco(登録商標))のためのスクリプトとして実施することができる。
図7A~図7Bは、一実施形態によりピンをマッピングする例を示している。この例では、機能回路構成要素は比較器回路であり、回路仕様パラメータは、入力タイプ(例えば、Nタイプ入力段又はPタイプ入力段、「N/P-入力_タイプ」)、ヒステリシス(例えば、イエス又はノー、「Hyst」)、及びデグリッチ(例えば、イエス又はノー)を指定する。この例では、比較器は、指定の特性(例えば、入力タイプ、ヒステリシス、又はデグリッチ)を有する比較器を発生させるためのパラメータに基づいて選択することができる部分回路結線図セット701~705を有する。例えば、この例では、C1_SC1は、Nタイプ入力段比較器部分回路結線図701であり、C1_SC2は、Nタイプ部分回路結線図701で作動可能なヒステリシス部分回路結線図(NHyst)702であり、C1_SC3は、デグリッチ部分回路結線図703であり、C1_SC4は、Pタイプ入力段比較器部分回路結線図704であり、C1_SC5は、Pタイプ部分回路結線図704で作動可能なヒステリシス部分回路結線図(PHyst)705である。部分回路結線図701~705の各々は、例えば、特定の部分回路の機能を実施するためのトランジスタレベル結線図を含むことができる。
本発明の開示の一部の実施形態による部分回路結線図は、各部分回路結線図の内外に電圧及び電流を結合するための複数のアナログピンを含む複数のピンを有することができる。一部の実施形態では、これらのピンは、部分回路結線図内のピンが他の部分回路結線図のピン又は組合せ回路のピン(例えば、得られる組合せ回路の入力/出力ピン)のいずれかに接続されるようにマッピングすることができる。一例示的実施形態では、異なる部分回路結線図のピンをマッピングすることは、複数のピンマップに基づく場合があり、異なるピンマップは、複数の部分回路結線図のピン及び/又は選択部分回路結線図の異なる組合せのための結線図のI/Oピンの間の異なる接続を指定する。そのようなピンマップは、例えば、回路発生器のコード内に定められるか又は外部で(例えば、データ記録内に)定められ、インポートすることができる(例えば、EDAツールの中にインポートされる回路仕様の一部として)。特定のマッピングは、例えば、ピンマップのうちの1つに基づく場合がある。ピンをマッピングするのに使用されるピンマップは、選択される特定の部分回路結線図に基づく場合がある。例えば、選択部分回路結線図の1つの組合せは、1つのピンマップを有することができ、選択部分回路結線図の別の組合せは、別のピンマップを有することができる。各ピンマップは、例えば、部分回路結線図の各独特な組合せが互いに接続され、その得られる結線図が全てのパラメータ値にわたって望み通りに機能することを保証することができる。
従って、マッピングは、例えば、部分回路結線図の1又は2以上のピンの間の接続を指定することを含むことができる。一部の実施形態では、マッピングは、1又は2以上の部分回路結線図の1又は2以上のピン及び回路結線図の入力又は出力(例えば、部分回路結線図によって形成される回路結線図に対する記号のうちのVdd、ground、Vin、Voutなど)の間の接続を指定することを含むことができる。一実施形態では、ソフトウエアは、例えば、特定の回路を形成するのに使用すべき部分回路結線図を決定し、次に、特定の部分回路結線図に独特のピンをマッピングすることができる。
再度図7Aを参照すると、この例では、N入力部分回路結線図701はピン1~6を含み、NHyst部分回路結線図702はピン1~4を含み、デグリッチ部分回路結線図703はピン1~4を含み、P入力部分回路結線図704はピン1~6を含み、PHyst部分回路結線図705はピン1~4を含む。これらのピンは、下記で説明する例に例示するように互いにマッピングすることができる。この例示的比較器は、本明細書に説明する技術を用いて発生させることができる多くのタイプの機能回路構成要素の一例に過ぎない。発振器、遅延回路、電圧基準、バイアス電流のような他の機能回路構成要素を本明細書に説明する技術を用いてパラメータから発生させることができ、他の比較器は、例えば、他の部分回路を選択するための他のパラメータを有することができる。従って、この例は、例示的ものに過ぎない。
上述のように、本発明の開示の特徴及び利点は、パラメータに基づいて特定の部分回路結線図を選択し、これらの部分回路結線図を組み合わせることができる。この例では、これらの部分回路結線図を組み合わせることは、部分回路結線図のアナログピンをマッピングして少なくとも1つの機能回路構成要素(例えば、比較器)のための結線図を形成することを含む。マッピングは、ソフトウエアシステムによって自動的に行うことができる。
回路結線図710は、1つのパラメータ値セットに基づいて発生された一例示的回路結線図を示している。この図では、第1のパラメータ値セット(Params_1)は、「入力タイプ=N」、「ヒステリシス=イエス」、及び「デグリッチ=イエス」とすることができる。従って、回路結線図710を形成するためにN入力部分回路結線図701と、NHyst部分回路結線図702と、デグリッチ部分回路結線図703とが選択されて組み合わされる。このパラメータ組合せでは、ピンをマッピングすることは、以下を含むことができる:
1.部分回路結線図701のピン1を部分回路結線図702のピン1及び部分回路結線図703のピン1(この例では、ピン1は各部分回路の供給電圧入力である)にマッピングし、これらのピンをVdd入力ピンにマッピングすること。
2.部分回路結線図701のピン2(例えば、第1の比較器の入力ピン)を入力ピンIN1にマッピングすること。
3.部分回路結線図701のピン3(例えば、第2の比較器の入力ピン)を入力ピンIN2 750にマッピングすること。
4.部分回路結線図701のピン4(例えば、ヒステリシス制御入力)を部分回路702のピン3(例えば、ヒステリシス制御出力)にマッピングすること。
5.部分回路結線図701のピン5(例えば、比較器出力)を部分回路702のピン2(例えば、ヒステリシス入力)及び部分回路703のピン2(例えば、デグリッチ入力)にマッピングすること。
6.部分回路結線図701のピン6を部分回路結線図702のピン4と部分回路結線図703のピン3とに同時にかつ接地(GND)ピンにマッピングすること。
7.部分回路結線図703のピン4を出力ピン(Vout)751にマッピングすること。
回路結線図711は、別のパラメータ値セットに基づいて発生された別の例示的回路結線図を示している。この図では、第2のパラメータ値セット(Params_2)は、「入力タイプ=N」、「ヒステリシス=イエス」、及び「デグリッチ=ノー」とすることができる。従って、回路結線図711を形成するためにN入力部分回路結線図701とNHyst部分回路結線図702とが選択されて組み合わされる(デグリッチ部分回路結線図703は選択されない)。このパラメータ組合せでは、ピンをマッピングすることは、以下を含むことができる:
1.部分回路結線図701のピン1を部分回路結線図702のピン1(この例では、ピン1は各部分回路の供給電圧入力である)にマッピングし、これらのピンをVdd入力ピンにマッピングすること。
2.部分回路結線図701のピン2(例えば、第1の比較器の入力ピン)を入力ピンIN1にマッピングすること。
3.部分回路結線図701のピン3(例えば、第2の比較器の入力ピン)を入力ピンIN2にマッピングすること。
4.部分回路結線図701のピン4(例えば、ヒステリシス制御入力)を部分回路702のピン3(例えば、ヒステリシス制御出力)にマッピングすること。
5.部分回路結線図701のピン5(例えば、比較器出力)を部分回路結線図702のピン2(例えば、ヒステリシス入力)及び出力ピンVoutにマッピングすること。
6.部分回路結線図701のピン6と部分回路702のピン4とを互いにマッピングし、かつ接地(GND)ピンにマッピングすること。
回路結線図712は、別のパラメータ値セットに基づいて発生された別の例示的回路結線図を示している。この図では、第3のパラメータ値セット(Params_3)は、「入力タイプ=P」、「ヒステリシス=イエス」、及び「デグリッチ=イエス」とすることができる。従って、回路結線図712を形成するためにP入力部分回路結線図704と、PHyst部分回路結線図705と、デグリッチ部分回路結線図703とが選択されて組み合わされる。このパラメータ組合せでは、ピンをマッピングすることは、以下を含むことができる:
1.部分回路結線図704のピン1を部分回路結線図705のピン1及び部分回路結線図703のピン1(この例では、ピン1は各部分回路の供給電圧入力である)にマッピングし、これらのピンをVdd入力ピンにマッピングすること。
2.部分回路結線図704のピン2(例えば、第1の比較器の入力ピン)を入力ピンIN1にマッピングすること。
3.部分回路結線図704のピン3(例えば、第2の比較器の入力ピン)を入力ピンIN2にマッピングすること。
4.部分回路結線図704のピン4(例えば、ヒステリシス制御入力)を部分回路705のピン3(例えば、ヒステリシス制御出力)にマッピングすること。
5.部分回路結線図704のピン5(例えば、比較器出力)を部分回路結線図705のピン2(例えば、ヒステリシス入力)及び部分回路結線図703のピン2(例えば、デグリッチ入力)にマッピングすること。
6.部分回路結線図704のピン6と部分回路705のピン4と部分回路703のピン3とを互いにマッピングし、かつ接地(GND)ピンにマッピングすること。
7.部分回路結線図703のピン4を出力ピン(Vout)にマッピングすること。
回路結線図713は、別のパラメータ値セットに基づいて発生された別の例示的回路結線図を示している。この図では、第4のパラメータ値セット(Params_4)は、「入力タイプ=P」、「ヒステリシス=イエス」、及び「デグリッチ=ノー」とすることができる。従って、回路結線図713を形成するためにP入力部分回路結線図704とPHyst部分回路結線図705とが選択されて組み合わされる(デグリッチ部分回路結線図703は選択されない)。このパラメータ組合せでは、ピンをマッピングすることは、以下を含むことができる:
1.部分回路結線図704のピン1を部分回路結線図705のピン1(この例では、ピン1は各部分回路の供給電圧入力である)にマッピングし、これらのピンをVdd入力ピンにマッピングすること。
2.部分回路結線図704のピン2(例えば、第1の比較器の入力ピン)を入力ピンIN1にマッピングすること。
3.部分回路結線図704のピン3(例えば、第2の比較器の入力ピン)を入力ピンIN2にマッピングすること。
4.部分回路結線図704のピン4(例えば、ヒステリシス制御入力)を部分回路705のピン3(例えば、ヒステリシス制御出力)にマッピングすること。
5.部分回路結線図704のピン5(例えば、比較器出力)を部分回路結線図705のピン2(例えば、ヒステリシス入力)及び出力ピンVoutにマッピングすること。
6.部分回路結線図704のピン6と部分回路705のピン4とを互いにマッピングし、かつ接地(GND)ピンにマッピングすること。
次に、図7Bを参照すると、回路結線図714は、別のパラメータ値セットに基づいて発生された別の例示的回路結線図を示している。この図では、第5のパラメータ値セット(Params_5)は、「入力タイプ=N」、「ヒステリシス=ノー」、及び「デグリッチ=イエス」とすることができる。従って、回路結線図714を形成するためにN入力部分回路結線図701とデグリッチ部分回路結線図703とが選択されて組み合わされる(NHyst部分回路結線図702は選択されない)。このパラメータ組合せでは、ピンをマッピングすることは、以下を含むことができる:
1.部分回路結線図701のピン1を部分回路結線図703のピン1(この例では、ピン1は各部分回路の供給電圧入力である)にマッピングし、これらのピンをVdd入力ピンにマッピングすること。
2.部分回路結線図701のピン2(例えば、第1の比較器の入力ピン)を入力ピンIN1にマッピングすること。
3.部分回路結線図701のピン3(例えば、第2の比較器の入力ピン)を入力ピンIN2にマッピングすること。
4.部分回路結線図701のピン4(例えば、ヒステリシス制御入力)を未接続とすることができること。
5.部分回路結線図701のピン5(例えば、比較器出力)を部分回路結線図703のピン2(例えば、デグリッチ入力)にマッピングすること。
6.部分回路結線図701のピン6と部分回路703のピン3とを互いにマッピングし、かつ接地(GND)ピンにマッピングすること。
7.部分回路結線図703のピン4を出力ピンVoutにマッピングすること。
回路結線図715は、別のパラメータ値セットに基づいて発生された別の例示的回路結線図を示している。この図では、第6のパラメータ値セット(Params_6)は、「入力タイプ=P」、「ヒステリシス=ノー」、及び「デグリッチ=イエス」とすることができる。従って、回路結線図715を形成するためにP入力部分回路結線図704とデグリッチ部分回路結線図703とが選択されて組み合わされる(PHyst部分回路結線図705は選択されない)。このパラメータ組合せでは、ピンをマッピングすることは、以下を含むことができる:
1.部分回路結線図704のピン1を部分回路結線図703のピン1(この例では、ピン1は各部分回路の供給電圧入力である)にマッピングし、これらのピンをVdd入力ピンにマッピングすること。
2.部分回路結線図704のピン2(例えば、第1の比較器の入力ピン)を入力ピンIN1にマッピングすること。
3.部分回路結線図704のピン3(例えば、第2の比較器の入力ピン)を入力ピンIN2にマッピングすること。
4.部分回路結線図704のピン4(例えば、ヒステリシス制御入力)を未接続とすることができること。
5.部分回路結線図704のピン5(例えば、比較器出力)を部分回路703のピン2(例えば、デグリッチ入力)にマッピングすること。
6.部分回路結線図704のピン6と部分回路703のピン3とを互いにマッピングし、かつ接地(GND)ピンにマッピングすること。
7.部分回路結線図703のピン4を出力ピンVoutにマッピングすること。
回路結線図716は、別のパラメータ値セットに基づいて発生された別の例示的回路結線図を示している。この図では、第7のパラメータ値セット(Params_7)は、「入力タイプ=N」、「ヒステリシス=ノー」、及び「デグリッチ=ノー」とすることができる。従って、回路結線図716を形成するためにN入力部分回路結線図701が選択される(NHyst部分回路結線図702及びデグリッチ部分回路結線図703は選択されない)。このパラメータ組合せでは、ピンをマッピングすることは、以下を含むことができる:
1.部分回路結線図701のピン1をVdd入力ピンにマッピングすること。
2.部分回路結線図701のピン2(例えば、第1の比較器の入力ピン)を入力ピンIN1にマッピングすること。
3.部分回路結線図701のピン3(例えば、第2の比較器の入力ピン)を入力ピンIN2にマッピングすること。
4.部分回路結線図701のピン4(例えば、ヒステリシス制御入力)を未接続とすることができること。
5.部分回路結線図701のピン5(例えば、比較器出力)を出力ピンVoutにマッピングすること。
6.部分回路結線図701のピン6を接地(GND)ピンにマッピングすること。
回路結線図717は、別のパラメータ値セットに基づいて発生された別の例示的回路結線図を示している。この図では、第8のパラメータ値セット(Params_8)は、「入力タイプ=P」、「ヒステリシス=ノー」、及び「デグリッチ=ノー」とすることができる。従って、回路結線図717を形成するためにP入力部分回路結線図704が選択される(PHyst部分回路結線図705及びデグリッチ部分回路結線図703は選択されない)。このパラメータ組合せでは、ピンをマッピングすることは、以下を含むことができる:
1.部分回路結線図704のピン1をVdd入力ピンにマッピングすること。
2.部分回路結線図704のピン2(例えば、第1の比較器の入力ピン)を入力ピンIN1にマッピングすること。
3.部分回路結線図704のピン3(例えば、第2の比較器の入力ピン)を入力ピンIN2にマッピングすること。
4.部分回路結線図704のピン4(例えば、ヒステリシス制御入力)を未接続とすることができること。
5.部分回路結線図704のピン5(例えば、比較器出力)を出力ピンVoutにマッピングすること。
6.部分回路結線図704のピン6を接地(GND)ピンにマッピングすること。
一実施形態では、マッピングの少なくとも一部は、上述した規則によって実施される。例えば、特定のパラメータ値/選択部分回路に関する特定の規則は、選択部分回路結線図に対してどのピンが存在するかを決定することができる。
有利なことに、マッピングされたアナログピンは、予め決められた互換性を有することができる。例えば、部分回路結線図は予め定められるので、異なる部分回路結線図(及び接続することができる部分回路結線図ピン)の操作性は、設計によって予め決められた互換性を有することができる。例えば、図7A~図7Bに示す例では、N入力比較器部分回路結線図701は、Nヒステリシス部分回路結線図702と併用されるように設計することができ、P入力比較器部分回路結線図704は、Pヒステリシス部分回路結線図705と併用されるように設計することができる。デグリッチ部分回路結線図は、Nタイプ又はPタイプ結線図のいずれかとの併用のためにも設計することができる。従って、部分回路のピンは、例えば、設計通りに作動する異なる回路を形成するように互いに自動的に結合されるように設計することができる。例えば、1つの部分回路上の入力ピンは、特定範囲内の電圧入力を受信するように設計することができる。例えば、ピンは、別のピンとの予め決められた互換性を有するように設計することができ、一方のピンは、特定の電圧特性又は電流特性を有する信号を発生し、他方のピンは、この信号を受信して処理するように設計される。様々なピンは、例えば組合せ回路の作動中に特定の予め定められた範囲にわたる電圧又は電流(又はこれらの両方)を受信するように設計することができる。
上述の例は、特定の予め定められたアナログ部分回路結線図を示すが、広範な予め定められた部分回路結線図を使用することができることは理解されるものとする。様々な実施形態では、予め定められた部分回路結線図は、1つのような少数の又は多くの構成要素を含むことができる。例えば、部分回路結線図は、1又は2以上の能動構成要素(例えば、トランジスタ)又は1又は2以上の受動構成要素(例えば、抵抗器、コンデンサー、又は誘導子)を含むことができる。様々な実施形態による部分回路結線図は、例えば、差動対として構成された2つのトランジスタ、負荷として構成されたトランジスタ及び/又は抵抗器、電流ミラーとして構成されたトランジスタ、様々な完全又は部分カスコード構造、様々な形態の遅延段、トリム回路、又は例えば単一構成要素でさえも含むことができる。他の実施形態による部分回路結線図は、多数の構成要素を含むことができる。より複雑な部分回路結線図の例は、バンドギャップ段、比較器又は増幅器の入力段、調整段、又は他のアナログ信号及び/又は混合信号の機能を実施するための構成要素の他のより複雑な組合せを含む。更に、アナログ部分回路結線図は、例えば、インバータと、レジスタと、ラッチと、混合信号回路内に組み込まれたデジタル回路からデジタル信号入力を受信するか又はデジタル回路に信号出力を提供するための様々な論理ゲート(例えば、AND、OR、NAND、NOR、XOR)とを含むデジタル回路を含むことができる。有利なことに、異なる部分回路結線図を組み合わせて異なる作動機能を有する異なる機能回路(例えば、デグリッチ、トリム、ヒステリシスなどを有するか又は持たない比較器)を形成することができる。例えば、回路設計者は、様々な部分回路結線図を設計し、異なる作動機能の範囲を満たす相互運用性を保証することができる。その後に、ソフトウエアは、予め定められた部分回路結線図にアクセスし、回路仕様パラメータ(例えば、ユーザからの)に基づいてアナログ回路を自動的に発生させることができる。一部の実施形態では、1又は2以上の機能回路構成要素に対する部分回路結線図は、別の機能回路構成要素に対する部分回路結線図と組み合わせて含めることができる(例えば、電圧バッファ機能回路構成要素は、別の機能回路構成要素に対する回路構成内の部分回路として使用することができる)。従って、アナログ回路の発生を自動化するために、広範なアナログ/混合信号集積回路アーキテクチャを部分回路結線図に分解し、本明細書に説明する技術を用いて実行中に再度組み合わせることができる。様々な部分回路結線図の特定の細分性及び組合せは、アナログ回路設計の当業者によって本発明の開示に照らして理解されると考えられる設計選択肢の問題とすることができる。
パラメータ化回路レイアウト発生
図8は、別の実施形態による自動回路発生のためのシステムを示している。本発明の開示の特徴及び利点は、例えば、異なる値が異なるレイアウトをもたらすことができる入力パラメータに基づいて回路レイアウトを自動的に発生させることができるシステムを含む。図8に示すように、発生器ソフトウエアシステム803は、パラメータ802を受信してレイアウト804を発生させることができる。発生器ソフトウエアシステム803は、例えば、少なくとも1つのコンピュータシステム上で実行することができ、コンピュータによって実行された時に本明細書に説明する技術を実施するための作動をコンピュータに実施させるコンピュータコードを含むことができる。
パラメータ802は、例えば、上述した回路仕様パラメータと実質的に類似の少なくとも1つの機能回路構成要素801に対応する複数の回路仕様パラメータを含むことができる。例えば、回路仕様パラメータは、例えば、発生されることになる回路レイアウトの特質を指定することができ、特定の機能回路構成要素(例えば、特定の特性を有する比較器、特定の特性を有する発振器、特定の特性を有する遅延回路など)に対応することができる。これらのパラメータを用いて、異なる特質を有する特定の機能回路構成要素のための回路レイアウト(例えば、pタイプ入力段を有する比較器に対するレイアウト、又はnタイプ入力段を有する比較器に対するレイアウトなど)をパラメータ値に基づいて生成することができる。更に、一例示的実施形態では、1つの回路仕様パラメータセットは、1つの機能回路構成要素(例えば、比較器)に対応することができ、別のパラメータセットは、異なる機能回路構成要素(例えば、遅延回路又は発振器)に対応することができる。発生されることになる回路の特性を指定する回路仕様パラメータを具現化するのに、様々な符号化機構を使用することができることは理解されるものとする。
この例示的実施形態では、パラメータ802は発生器803によって受信される。発生器803は、回路レイアウト804を発生させるのに回路仕様パラメータに基づいて複数の部分回路レイアウト810~812を使用することができる。例えば、受信回路仕様パラメータに対する1つの値セット(又は符号化)は、部分回路レイアウト810と部分回路レイアウト811との使用をもたらすことができる。受信回路仕様パラメータに対する別の値セット(又は別の符号化)は、例えば、部分回路レイアウト810と部分レイアウト811とレイアウト812との使用をもたらすことができる。適切な部分回路レイアウトを組み合わせて回路レイアウト804を形成することができる。従って、回路レイアウト804は、パラメータ802によって指定された特性を有する機能回路構成要素801に対する回路レイアウトである。次に、レイアウト804を用いて機能回路構成要素801に対する物理的回路を作ることができる。
本発明の開示の実施形態は、アナログ回路レイアウトを生成するのに特に有利とすることができる。本発明の開示の実施形態を用いて、例えば、パラメータに基づいてアナログ回路レイアウトを自動的に発生させることができる。回路仕様パラメータは、例えば、比較器、発振器、遅延器のような1又は2以上の機能アナログ回路構成要素に対応することができる。回路仕様パラメータは、例えば、Pタイプ入力又はNタイプ入力を有する比較器のような発生されることになるアナログ回路の特性を指定することができる。回路仕様パラメータを用いて、機能アナログ回路構成要素に対応する予め定められたアナログ部分回路レイアウトを決定することができる。例えば、下記のより詳細な例に示すように、発生器803は、これらのパラメータに基づいて予め定められたPタイプ比較器部分回路レイアウト、第1の予め定められたヒステリシス回路レイアウト、及び/又は予め定められたデグリッチ回路レイアウトを選択して1つのパラメータセットを使用する比較器機能回路構成要素に対するレイアウトを形成することができ、別のパラメータセットを用いて予め定められたNタイプ比較器部分回路レイアウト及び予め定められたデグリッチ回路レイアウトを選択することができる。回路仕様パラメータを用いて識別された予め定められたアナログ部分回路レイアウトのサブセットを組み合わせて機能アナログ回路構成要素801に対するアナログ回路レイアウトを形成することができる。
図9は、一実施形態による自動回路発生のための方法を示している。本方法は、例えば、1又は2以上のコンピュータ上で実行されるソフトウエアによって実施することができる。901では、少なくとも1つ(又は2以上)の機能回路構成要素に対応する複数の回路仕様パラメータが受信される。902では、特定の部分回路レイアウトが回路仕様パラメータに基づいて組み合わされて機能回路構成要素のための回路レイアウトが形成される。一実施形態では、各機能回路構成要素は、異なる予め定められた部分回路レイアウトセットを有することができ、機能回路構成要素に対応する予め定められた部分回路レイアウトのサブセットが回路仕様パラメータに基づいて組み合わされる。例えば、比較器は、それに対応するレイアウトセット内にNタイプ比較器部分回路レイアウトとPタイプ比較器部分回路レイアウトとを有することができる。例えば、Pタイプ部分回路レイアウトは、特定の値を有する1又は2以上のパラメータに基づいて使用することができ、Nタイプ部分回路レイアウトは、異なる値を有する1又は2以上のパラメータに基づいて使用することができる。部分回路レイアウトは、レイアウト内に様々な入力及び出力の端子(又はピン)を有する機能回路ブロックの形態にあることが可能である。従って、組み合わせることは、例えば、部分回路レイアウト間でピンを互いに結合すること、及び/又は部分回路レイアウトのピンを他の回路レイアウトの他のピンに結合することを含むことができる。
図10A~図10Dは、様々な実施形態による自動回路レイアウト発生の例を示している。ある一定の実施形態では、回路仕様パラメータに関する異なる値は、対応する機能回路構成要素に対して異なる特質を有する異なるアナログ回路レイアウトを生成する。例えば、機能回路構成要素1001に対応するパラメータ1002は、異なる値を用いて符号化することができる。この例では、N個のパラメータ(ここで、Nは整数である)のセットは、第1の値セット[a1=x1、a2=x2、a3=x3、...、aN=xN]を有する変数a1、a2、a3、...aNとして例示している。発生器ソフトウエア1003は、第1の値セットを有するパラメータ1002を受信し、部分回路レイアウト1010~1015のサブセットを使用する。部分回路レイアウトが組み合わされ、機能回路構成要素1001に対する回路レイアウト1004Aが受信パラメータに従って形成される。この例では、第1のパラメータ値セットは、部分回路レイアウト1010~1012が組み合わされて回路1004Aが形成されるという結果をもたらす。
図10Bは、第2の値セット[a1=x1、a2=x2、a3=y3、...、aN=xN]を有するパラメータ1002を示している。ここで、パラメータa3は、その値をx3からy3に変化させている。従って、異なる部分回路レイアウトが組み合わされて回路レイアウト1004Bが形成される。この例では、a3=y3である時に、部分回路レイアウト1012が部分回路レイアウト1010及び1011と共に回路レイアウト1004B内に含められることはもはやない。
図10Cは、第3の値セット[a1=y1、a2=x2、a3=x3、...、aN=xN]を有するパラメータ1002を示している。ここで、パラメータa1は、その値をx1からy1に変化させており、パラメータa3=x3である。従って、ここでもまた、使用される部分回路は変化する。この例では、a1=y1である時に、部分回路レイアウト1010はもはや選択されない。代わりに、部分回路レイアウト1013は、部分回路レイアウト1011及び1012を有する回路レイアウト1004C内に含められる。
図10Dは、第3の値セット[a1=y1、a2=y2、a3=x3、...、aN=xN]を有するパラメータ1002を示している。ここで、パラメータa1及びa2は、それぞれy1及びy2という値を有し、部分回路レイアウト1014は、部分回路レイアウト1011及び1012と共に回路レイアウト1004D内に含められる。
本発明の開示の一部の実施形態の特徴及び利点は、複数の機能回路構成要素に対応する回路仕様パラメータ1150を受信すること、及びこれらのパラメータに基づいて各機能回路構成要素を実施する回路レイアウトを自動的に発生させることを含むことができる。図11A~図11Dは、実施形態により異なる機能回路構成要素に対して異なる回路レイアウトを生成するための異なるパラメータセットを示している。図11Aを参照すると、この例では、複数の機能回路構成要素1102~1105(構成要素C1、C2、C3、C4、以降同じくCNまで続き、Nは、対応する回路がそれに対して発生されている機能回路構成要素の個数に対応する整数である)に対応するパラメータ1150を受信する。C1~CNは、例えば、比較器、発振器、遅延回路、電流発生器、電圧基準、又はアナログ回路と共に使用される広範な他のアナログ機能回路構成要素とすることができる。この例では、発生器1101は、N個の回路仕様パラメータセットを受信することができ、ここで、各異なる機能回路構成要素は、対応する回路仕様パラメータセットを有する。特に、例えば、第1のパラメータセット1151、C1_Paramsは、構成要素C1 1102に対応し、第2のパラメータセット1152、C2_Paramsは、構成要素C2 1103に対応し、第3のパラメータセット1153、C3_Paramsは、構成要素C3 1104に対応し、以降同じく構成要素CN 1105に対応する最後のパラメータセット1154、CN_Paramsまで続く。各パラメータセット1151~1154は、例えば、異なるパラメータ値を有することによって生成される回路の特性を指定することができる。この例では、パラメータ1151は、この場合は「C1_Params_1」で表す第1の値セットを有する。同様に、パラメータ1152は、第1の値セット「C2_Params_1」を有し、パラメータ1153は、第1の値セット「C3_Params_1」を有し、以降同じく値「C4_Params_1」を有するパラメータ1154まで続く。
図11A~図11Dは、更に別の実施形態による自動回路レイアウト発生の例を示している。図11A~図11Dは、対応する異なる機能回路構成要素に対する異なる回路仕様パラメータが、対応する異なる予め定められた部分回路レイアウトセットを有することができることを説明する例を示している。例えば、図11Aを参照すると、予め定められたアナログ部分回路レイアウトは、ライブラリ1160(例えば、レイアウトライブラリ)に格納することができる。この例では、異なる機能回路構成要素1102、1103、1104、及び1105それぞれに対応する複数の部分回路レイアウトセット1110、1120、1130、及び1140が存在する。従って、例えば、機能回路構成要素1102(C1)に対応するC1_Params 1151を用いて、アナログ部分回路レイアウト1111~1116を含むC1部分回路レイアウトセット(「C1_LO_Set」)1110からの部分回路レイアウトを組み合わせることができる。同様に、例えば、機能回路構成要素1103(C2)に対応するC2_Params 1152を用いて、アナログ部分回路レイアウト1121~1127を含むC2部分回路レイアウトセット(「C2_LO_Set」)1120からの部分回路レイアウトを組み合わせることができる。同様に、例えば、機能回路構成要素1104(C3)に対応するC3_Params 1153を用いて、C3部分回路レイアウトセット(「C3_LO_Set」)1130(部分回路レイアウトは示していない)からの部分回路レイアウトを組み合わせることができ、以降CN部分回路レイアウトセット(「CN_LO_Set」)1140(部分回路レイアウトは示していない)からの部分回路レイアウトを組み合わせるのに使用することができる機能回路構成要素1105(CN)に対応するCN_Params1154まで同様に続く。
パラメータ1151~1154は、対応する部分回路レイアウトの異なる組合せをもたらす異なる値を有することができる。この例では、各パラメータセット1151~1154は、第1のパラメータ値セット(例えば、ここで、特定の値を「_1」、「_2」などを用いて表示している)を受信する。例えば、回路仕様パラメータ1151に対する第1の値セットをC1_Params_1と表示し、回路仕様パラメータ1152に対する第1の値セットをC2_Params_1と表示し、以降同様に続く。この例では、発生器1101は、パラメータ値C1_Params_1を受信し、C1_LO_Set1110からの部分回路レイアウトC1_LO1 1111とC1_LO2 1112とC1_LO3 1113とを組み合わせて機能回路構成要素C1 1102に対応するアナログ回路レイアウト1106Aを発生させる。同様に、発生器1101は、パラメータ値C2_Params_1を受信し、C2_LO_Set1120からの部分回路C2_LO1 1121とC2_LO2 1122とC2_LO3 1123とC2_LO4 1124とを組み合わせて機能回路構成要素C2 1103に対応するアナログ回路レイアウト1107Aを発生させる。同様に、発生器1101は、パラメータ値C3_Params_1を受信し、C3_LO_Set1130からの部分回路レイアウト(図示せず)を組み合わせて機能回路構成要素C3 1104に対応するアナログ回路レイアウト1108Aを発生させる。アナログ回路レイアウト1108Aは、C3_LO_Set 1130からの第1の部分回路レイアウトサブセット(C3_LO SubsetA)1131Aを含む。最後に、発生器1101は、パラメータ値CN_Params_1を受信し、CN_LO_Set1140からの部分回路レイアウト(図示せず)を組み合わせて機能回路構成要素CN 1105に対応するアナログ回路レイアウト1109Aを発生させる。アナログ回路レイアウト1109Aは、CN_LO_Set 1140からの第1の部分回路レイアウトサブセット(CN_LO SubsetB)1141Aを含む。一部の実施形態では、異なる機能構成要素に対するレイアウト1106A、1107A、1108A、及び1109Aのうちの1又は2以上のような複数の回路レイアウトは、例えば機能構成要素の複数のパラメータ化インスタンスを含む回路のためのレイアウトに互いに結合することができる。
図11Bは、実施形態による別のパラメータセットを用いて別の回路レイアウトの発生を示している。この例では、各パラメータセット1151~1154は、異なるパラメータ値セットを受信する。例えば、新しい回路仕様パラメータ値セット1151をC1_Params_2と表示し、新しい回路仕様パラメータ値セット1152をC2_Params_2と表示し、以降同様に続く。この例では、発生器1101は、例えば、パラメータ値C1_Params_2を受信し、C1_LO_Set1110からの部分回路レイアウトC1_LO4 1114とC1_LO2 1112とC1_LO3 1113とを組み合わせてレイアウト1106Aとは異なる特質を有する機能回路構成要素C1 1102に対応するアナログ回路レイアウト1106Bを発生させる。同様に、発生器1101は、例えば、パラメータ値C2_Params_2を受信し、C2_LO_Set1120からの部分回路レイアウトC2_LO5 1125とC2_LO6 1126とC2_LO3 1123とC2_LO4 1124とを組み合わせてレイアウト1107Aとは異なる特質を有する機能回路構成要素C2 1103に対応するアナログ回路レイアウト1107Bを発生させる。同様に、発生器1101は、例えば、パラメータ値C3_Params_2を受信し、C3_LO_Set1130からの部分回路レイアウト(図示せず)を組み合わせてレイアウト1108Aとは異なる特質を有する機能回路構成要素C3 1104に対応するアナログ回路レイアウト1108Bを発生させる。アナログ回路レイアウト1108Bは、C3_LO_Set 1130からの第2の部分回路レイアウトサブセット(C3_LO SubsetA’)1131Bを含む。最後に、発生器1101は、例えば、パラメータ値CN_Params_2を受信し、CN_LO_Set1140からの部分回路レイアウト(図示せず)を組み合わせてレイアウト1109Aとは異なる特質を有する機能回路構成要素CN 1105に対応するアナログ回路レイアウト1109Bを発生させる。アナログ回路レイアウト1109Bは、CN_LO_Set 1140からの第1の部分回路レイアウトサブセット(CN_LO SubsetB’)1141Bを含む。
図11Cは、実施形態による更に別のパラメータセットを用いた更に別の回路レイアウトの発生を示している。この例では、各パラメータセット1151~1154は、第3のパラメータ値セットを受信する。例えば、新しい回路仕様パラメータ値セット1151をC1_Params_3と表示し、新しい回路仕様パラメータ値セット1152をC2_Params_3と表示し、以降同様に続く。この例では、発生器1101は、例えば、パラメータ値C1_Params_3を受信し、C1_LO_Set1110からの部分回路レイアウトC1_LO4 1114とC1_LO2 1112とを組み合わせてレイアウト1106A及び1106Bとは異なる特質を有する機能回路構成要素C1 1102に対応するアナログ回路レイアウト1106Cを発生させる。同様に、発生器1101は、パラメータ値C2_Params_3を受信し、C2_LO_Set1120からの部分回路レイアウトC2_LO5 1125とC2_LO6 1126とC2_LO3 1123とC2_LO7 1127とを組み合わせて機能回路構成要素C2 1103に対応するアナログ回路レイアウト1107Cを発生させる。同様に、発生器1101は、例えば、パラメータ値C3_Params_3を受信し、C3_LO_Set1130からの予め定められた部分回路レイアウト(図示せず)を組み合わせてレイアウト1108A及び1108Bとは異なる特質を有する機能回路構成要素C3 1104に対応するアナログ回路レイアウト1108Cを発生させる。アナログ回路レイアウト1108Cは、C3_LO_Set 1130からの第3の部分回路レイアウトサブセット(C3_LO SubsetA’’)1131Cを含む。最後に、発生器1101は、例えば、パラメータ値CN_Params_3を受信し、CN_LO_Set1140からの部分回路レイアウト(図示せず)を組み合わせてレイアウト1109A及び1109Bとは異なる特質を有する機能回路構成要素CN 1105に対応するアナログ回路レイアウト1109Cを発生させる。アナログ回路レイアウト1109Cは、CN_LO_Set 1140からの第3の部分回路レイアウトサブセット(CN_LO SubsetB’’)1141Cを含む。
図11Dは、異なる機能回路構成要素に対する異なる部分回路レイアウトセットが同じ部分回路レイアウトを含むことができる実施形態を示している。例えば、一部の実施形態では、異なる機能回路構成要素は、対応する独特な予め定められた部分回路レイアウトセットを有することができる。図11Aを参照すると、部分回路レイアウトセットC1_LO_Set 1110は、C2_LO_Set 1120又はC3_LO_Set 1130とは異なる部分回路レイアウトセットとすることができる。特に、異なる比較器を形成するために組み合わされる部分回路レイアウトは、例えば、異なる発振器又は異なる遅延回路を形成するために組み合わされる部分回路レイアウトとは異なる場合がある。従って、各回路構成要素は、対応する独特な部分回路レイアウトセットを有することができる。しかし、様々な実施形態では、これらのセットが一意であったとしても、一部のセット内の1又は2以上の部分回路レイアウトを共有することができる。例えば、比較器に対する部分回路レイアウトセットは、抵抗器分割器部分回路レイアウトにアクセスすることができ、抵抗器分割器部分回路レイアウトは、例えば、発振器に対する部分回路レイアウトセットに関連付けることができる。従って、独特なレイアウトセットは、対応する機能回路構成要素に対してのみ使用される1又は2以上の独特な予め定められたアナログ部分回路レイアウトを含むことができ、又はこれに代えて、異なる機能回路構成要素に対して使用される1又は2以上の予め定められたアナログ部分回路レイアウトを含むことができる。この例では、部分回路レイアウトC1-2_LO 1117は、C1_LO_Set 1110とC2_LO_Set 1120との両方の中に含められる。更に、この例では、例えば、C1_Params_1は、C1-2_LO 1117を他のレイアウト1111~1113と組み合わせてレイアウト1106Dを形成し、C2_Params_1は、C1-2_LO 1117を他のレイアウト1121~1124と組み合わせてレイアウト1107Dを形成する。
一部の実施形態では、例えば、異なる機能構成要素に対するレイアウト1106A~1106D、1107A~1107D、1108A~1108D、及び1109A~1109Dのうちの1又は2以上のような複数の回路レイアウトは、機能構成要素の複数のパラメータ化インスタンスを含む回路のためのレイアウトに互いに様々な組合せで結合することができる。1つの回路レイアウトは、1つのパラメータセットに基づく機能回路構成要素C1 1102に対するレイアウト(例えば、回路レイアウト1106D)と、1つのパラメータセットに基づく機能回路構成要素C2 1103に対するレイアウト(例えば、回路レイアウト1107C)と、1つのパラメータセットに基づく機能回路構成要素C3 1104に対するレイアウト(例えば、回路レイアウト1108D)と、1つのパラメータセットに基づく機能回路構成要素CN 1105に対するレイアウト(例えば、回路レイアウト1109B)とを含むことができる。これに代えて、パラメータと機能回路構成要素との組合せは、別のパラメータセットに基づいて機能回路構成要素C1 1102に対するレイアウト(例えば、回路レイアウト1106B)を発生し、機能回路構成要素C2 1103に対するレイアウトを発生せず(例えば、C2は含められない)、別のパラメータセットに基づいて機能回路構成要素C3 1104に対するレイアウト(例えば、回路レイアウト1108C)を発生し、機能回路構成要素CN 1105に対するレイアウトを発生しない(例えば、CNは同じく含められない)。例えば、異なる機能回路構成要素に対するパラメータのいずれかの組合せを用いて、同じか又は異なる機能回路構成要素のうちの1又は2以上の様々な組合せを有するレイアウトを自動的に発生させることができる。一部の実施形態では、これらのレイアウトを用いて、互いに結合された機能回路構成要素のチップ全体を発生させることができる。任意的に、これらのレイアウトをEDAソフトウエアツール内のレイアウト編集ツールによって(例えば、Cadence(登録商標)、Mentor Graphics(登録商標)、又はSilvaco(登録商標)のようなツールの自動ルーティング機能を用いて)更に処理し、例えば、レイアウト対結線図(「LVS」)(例えば、結線図も発生される時)及び/又は設計規則検査(「DRC」)を実施することができ、例えば、製造設備(例えば、半導体製作又は「FAB」)に送って望ましい特性を有する集積回路(例えば、チップ)を発生させることができる。典型的には、アナログ集積回路のためのレイアウトを設計することは、大量の時間とアナログ回路設計レイアウト専門家による大量の労力とを要する可能性がある。有利なことに、本明細書に説明する技術を使用するシステム及び方法は、非常に迅速にかつ従来の技術を用いて各回路を設計する場合に必要とされると考えられる時間よりも実質的に少ない時間で電子回路(例えば、完全なチップ)のための結線図又はレイアウト又はこれらの両方を発生させることができる。
図12Aは、一実施形態による回路レイアウトを生成する例を示している。一部の実施形態では、予め定められた部分回路レイアウトを組み合わせることは、回路レイアウトを形成するために部分回路レイアウトを配置するための複数のレイアウト配置命令(layout placement instructions)に基づく場合がある。この例では、発生器1200は、部分回路レイアウトC1_LO1 1111、C1_LO2 1112、及びC1_LO3 1113を配置するレイアウト配置命令1210を含む。各部分回路レイアウトは、例えば、高さhと幅wとを有する正方形又は矩形のような形状を有することができる。より具体的には、この例では、C1_LO1 1111は、高さh1と幅w1とを有し、C1_LO2 1112は、高さh2と幅w2とを有し、C1_LO3 1113は、高さh3と幅w3とを有する。異なる部分回路レイアウトの様々な高さ及び幅は、例えば、同じである場合があるが、多くの場合に異なっている。他の実施形態では、部分回路レイアウトは、広範な他の形状(例えば、より多くの辺を有するか又は形状内に他の部分回路レイアウトを配置するための開口区域さえも有する)を有することができる。この図では、例示目的で簡単な形状を示すことは理解されるものとする。配置命令1210は、例えば、部分回路レイアウト1111、1112、及び1113を配置して組合せ回路レイアウト1250を発生させることができる。一部のインスタンスでは、レイアウト配置命令1210のうちの1又は2以上が、x,y座標系に従って部分回路レイアウト1111~1113を配置する。この例では、レイアウト配置命令1210は、部分回路レイアウトを配置するための座標を指定することができる。一例として、配置命令1210は、C1_LO1 1111の左下コーナを座標(0,0)に、C1_LO3 1113の左下コーナを(x1=w1,0)に、C1_LO2 1112の左下コーナを(0,y2=h3)に配置することができる。組合せ部分回路レイアウト1111~1113は、例えば、図11Aに記載の機能回路構成要素C1 1102に対応する回路レイアウト1106Aを形成するための一例示的レイアウト配置とすることができる回路レイアウト1250を形成する。回路レイアウト1250は、C1_LO3の高さy2=h3とC1_LO1の高さy1=h1との間に未使用空間(「ホワイト空間」又は「デッド空間」としても公知)1201を含む場合がある。別の未使用空間は、例えば、x2=(w1+w3)にあるC1_LO3の右縁部とx3=w2にあるC1_LO2の縁部との間の1202に存在する場合がある。典型的には、集積回路上の未使用空間の量を低減することが望ましい。様々な実施形態による配置命令は、下記の例に示すように未使用空間を低減するように部分回路レイアウトの組合せを最適化することができる。
図12Bは、一実施形態による回路レイアウトを生成する別の例を示す図である。この例では、レイアウト配置命令1211が実行され、高さh1と幅w1とを有するC2_LO1 1121と、高さh2と幅w2とを有するC2_LO2 1122と、高さh3と幅w3とを有するC2_LO3 1123と、高さh4と幅w4とを有するC2_LO4 1124とが組み合わされる。ここで、C2_LO3の左下コーナが(0,0)に配置され、C2_LO4の左下コーナが(x1=w3,0)に配置され、C2_LO2の左下コーナが(x1=w3,y1=h4)に配置され、C2_LO1の左下コーナが(x1=h3,0)に配置される。得られる未使用空間を1203に示している。組合せ部分回路レイアウト1121~1124は、図11Aに記載の機能回路構成要素C2 1103に対応する回路レイアウト1107Aを形成するための一例示的レイアウト配置である回路レイアウト1251を形成する。
本発明の開示の実施形態は、部分回路レイアウトを配置し、かつ金属化層とルーティング技術と当業者に公知のツールとを用いて部分回路レイアウトのノード(又はパッド)を互いに接続することができる。一実施形態では、1つの部分回路レイアウトのピン間の接続を例えば予め定められたレイアウト(例えば、金属層又はポリシリコン層の)によって形成し、本明細書に説明するように配置して2つの部分回路レイアウトのピン間を接続することができる。同じ技術を用いて組合せ回路レイアウトのピン間を接続することができ、例えば、それによって自動ルーティングツールの使用が軽減又は排除される。図12Bは、C2_LO3 1123上のピンとC2_LO1 1121上のピンとを接続するために配置された例示的な予め定められた金属レイアウト1125を示している。
回路レイアウトを形成するのに、上述した技術を用いてパラメータ化機能回路構成要素のいずれの数のインスタンスも様々な組合せで発生させることができることは理解されるものとする。例えば、図13Aは、図11Bに記載の機能回路構成要素に対応する例示的回路レイアウト1106Bを形成するために異なるパラメータ(例えば、C1_Params_2)とC1_LO4、C1_LO2、及びC1_LO3に対する配置命令1301とで発生された例示的回路レイアウトを示している。同様に、図13Bは、パラメータ値と配置命令との別の例示的組合せを示している。パラメータ値が再度変更されると(例えば、C1_Params_3)、得られる部分回路レイアウト1114及び1112とC1_LO4及びC1_LO2に対する配置命令1302とは、図11Cに記載の機能回路構成要素C1に対応する例示的回路レイアウト1106Cを形成する。
一例示的実施形態では、異なる回路レイアウトは、対応する異なるレイアウト配置命令に関する異なる部分回路レイアウトセットから形成することができる。例えば、一実施形態では、部分回路レイアウト1111と1112と1113が組み合わされる時に、部分回路レイアウト1111、1112、及び1113に関する特定のレイアウト配置命令セット(例えば、配置命令1210)が、図12Aに示す部分回路レイアウトを配置するのに使用される。それとは逆に、部分回路レイアウト1121と1122と1123と1124とが組み合わされる時に、部分回路レイアウト1121、1122、1123、及び1124に関する特定のレイアウト配置命令セット(例えば、配置命令1211)が、図12Bに示す部分回路レイアウトを配置するのに使用される。同様に、部分回路レイアウト1114と1112と1113とが組み合わされた時に、部分回路レイアウト1114、1112、及び1113に関する特定のレイアウト配置命令セット(例えば、配置命令1301)が、これらの部分回路レイアウトを配置するのに使用される。図13Bは、更に別のパラメータ値セットに対して使用される部分回路レイアウトC1_LO4 1114及びC1_LO2 1112に関する別のレイアウト配置命令セット1302を示している。図13Bに示すように、部分回路レイアウト1114と1112が組み合わされる時に、部分回路レイアウト1114及び1112に関するレイアウト配置命令1302が、これらの部分回路レイアウトを配置するのに使用される。
一部の実施形態では、特定の部分回路レイアウト組合せに関連付けられた複数のレイアウト配置命令を予め定めることができる。レイアウト配置命令が実行されると、関連の部分回路レイアウトが組合せ回路レイアウトに配置される。下記の例に示すように、レイアウト配置命令は、例えば、特定の部分回路レイアウトを作動させて各部分回路レイアウトを順番に配置(又は再配置)し、組合せ回路レイアウトを形成する。
図14は、実施形態によるレイアウト配置命令を用いて回路レイアウトを生成する別の例を示している。本発明の開示の特徴及び利点は、例えば、部分回路レイアウトを回転させる複数のレイアウト配置命令を含むことができる。例えば、この例では、図12Aに記載のレイアウト配置命令は、1113’に示すようなC1_LO3 1113の回転を更に含む。C1_LO3を回転させることにより、例えば、C1_LO2をC1_LO1に近づくようにy軸に沿って引き下げ、それによって未使用空間と全体の回路レイアウト面積の両方を低減することができる。
図15は、実施形態によるレイアウト配置命令を用いて回路レイアウトを生成する別の例を示している。この例では、発生器ソフトウエアシステム1500は、外部データ記録からの配置データ1512にアクセスするレイアウト配置命令1511を含むことができる。例えば、外部データ記録内には、部分回路レイアウトを配置するための広範な配置データを定めることができる。外部データ記録は、例えば、特定の部分回路レイアウトと、各レイアウトを配置するための対応する座標又は回転又は他の配置情報とを順番に指定する外部データファイルとすることができる。一実施形態では、レイアウト配置命令は、例えば、部分回路レイアウトの配置を指定するデータにアクセスする実行可能命令を含む。一実施形態では、外部データ記録は、部分回路レイアウトの特定の組合せを配置するための配置データを含む。例えば、レイアウトA、B、及びCが配置される場合に、レイアウトA、B、及びCを配置するための外部データ記録にアクセスすることができる。これに代えて、レイアウトA、D、及びEが配置される場合に、レイアウトA、D、及びEを配置するための別の外部データ記録にアクセスすることができる。
一例示的実施形態では、レイアウト配置命令は、外部データ記録内に予め定められる。この例では、外部データ記録は、レイアウトのシーケンスと、レイアウトに対して実施される関連の配置命令とを含むことができる。そのような外部データ記録の一例は以下の通りである:
//LO1、LO2、及びLO3の配置を開始する。
PLACE<path>LO1 0 0
PLACE<path>LO2 2.2 0 R90
PLACE<path>LO3 6.1 0
//終了
上述の外部定義配置命令は、形式<cmd><library/location><sub-circuit_layout_name=’’cell_name’’>x1 y1 R1を有し、ここで、<cmd>は、レイアウト配置命令(例えば、「PLACE」(「配置」))であり、<library/location>は、レイアウトが格納されている場所までの経路であり、<sub-circuit_layout_name=’’cell_name’’>は、作動されることになるレイアウトの名称(例えば、ディレクトリ内のファイル名)であり、x1はx座標であり、y1はy座標であり、R1は回転である。上述のデータ記録は、例えば、発生器ソフトウエア1500の中に読み取り、レイアウト配置命令の実行を定めるのに使用することができる。この例では、発生器1500は、データ記録を受信し、例えば、LO1 1501を座標(0,0)に配置し、次に、LO2 1502を90度回転させて座標(2.2,0)に配置し、更にLO3 1503を座標(6.1,0)に配置してレイアウトLO1-3 1504を形成する。
一部の実施形態では、発生器ソフトウエア1500は、本明細書に説明する技術を実施するための実行可能スクリプトを含むことができる。下記で説明する一実施形態では、例えば、予め定められた部分回路レイアウトにアクセスし、これらを予め定められた配置命令に従って配置するためのスクリプトは、例えばEDAソフトウエア(例えば、Cadence(登録商標)、Mentor Graphics(登録商標)、又はSilvaco(登録商標))によって実行することができる。
設計インタフェース
一部の実施形態の追加の特徴及び利点は、例えば、ユーザが回路設計をソフトウエアで発生し、回路結線図及び/又はレイアウトを生成することを可能にする設計インタフェースを含む。図16は、そのような設計インタフェースの例を含む別の例示的実施形態を示している。この例では、設計インタフェース1601を用いて1又は2以上の機能回路構成要素C1~CNを指定することができる。様々な例示的実施形態では、設計インタフェースは、グラフィカルユーザインタフェース(UI)、データシート(例えば、テキストベースの)、自然言語インタフェース(例えば、音声入力を受信する)、又は別の機械から命令を受信するための機械対機械インタフェースとすることができる。この例では、ユーザは、機能回路構成要素C1~CNのうちのいずれかをパレット1651からキャンバス1652にドラッグアンドドロップ(又は他に選択)し、これらの構成要素が互いに接続されて回路を発生させることができる。この例では、回路を形成するように機能回路構成要素C1とC2とC3とC4とが互いに結合されている。次に、ユーザは、異なる機能回路構成要素に関連付けられたパラメータを設定することによって機能回路構成要素を構成することができる。機能回路構成要素Ci(i=1からN)に対する例示的パラメータセット1654を1650に示している。一部の例示的実施形態では、異なる機能回路構成要素は、その特性を指定するための異なるパラメータセットを有することができる。上述のように、例えば、比較器は、入力段のタイプ、ヒステリシス、デグリッチ、又は例えばシステム(例えば、発生器及び予め定められた部分回路結線図及び部分回路レイアウト)がサポートするように設計されるいずれかの他のタイプのパラメータを有することができる。この例では、ユーザは、2つの異なるタイプの機能回路構成要素C1(すなわち、C1及びC1’)と2つの異なるタイプの機能回路構成要素C2(例えば、C2及びC2’)とを選択して構成している。
一部の実施形態では、設計インタフェース1601は、パラメータ化機能回路構成要素に対する挙動モデル(behavioral models)を含むことができる。挙動モデルは、例えば、トランジスタレベルの回路結線図を模擬するのに使用されるトランジスタレベルモデルよりも高いレベルのモデルとすることができる。挙動モデルは、例えば、電圧、電流、及び信号を含むが、回路実施の全ての物理的態様を取り込むわけではない回路の機能挙動を説明することができる。トランジスタ(又はデバイス)レベルのモデルは、回路の物理的挙動(例えば、デバイスの基礎物理現象及びこれらの物理現象が実際にどのように作用するのか)を取り込もうと試みる。挙動モデルは、回路が作用すると推測されることを説明(又は模擬)することができ、それに対してトランジスタレベルモデルは、ある設計のデバイスがどのような挙動を示すかを説明することができる。トランジスタレベルモデルは、回路の作動に関するより詳細な内容を与えることができるのに対して、挙動レベルモデルは、模擬実験結果をより迅速に発生させることができる。一例示的実施形態では、挙動モデルは、例えば、機能回路構成要素に対する基礎モデルの区分的線形モデルとすることができる。
本発明の開示の特徴及び利点は、回路を設計インタフェース内で定めることができ、かつ組合せ結線図及び/又はレイアウトを自動的に発生させることができるように、特定の部分回路結線図の組合せの実際の模擬実験に対応する構成可能基礎挙動モデルをパラメータ化機能回路構成要素に与えることを含む。例えば、機能回路構成要素Ciは、パラメータ1654が変更されると設計インタフェース内の機能回路構成要素Ciの挙動が変化するように構成可能な(又はパラメータ化された)関連のモデル1655を有することができる。設計インタフェースは、例えば、回路の挙動モデル模擬実験(behavioral model simulation)を実施することができる。次に、パラメータを用いて、実質的に類似の挙動を有する結線図及び回路レイアウトを生成することができる。例えば、組み合わされて回路結線図1604を形成する部分回路のデバイスレベル模擬実験は、設計インタフェース内の挙動モデル模擬実験に実質的に適合する場合がある。
一例として、機能回路構成要素C1を選択し、次に、C1に対して望ましいパラメータ(例えば、a1=x1、a2=x2、a3=x3)を選択することによって回路をUI1601内で定めることができる。C1に対する挙動モデルは、これらのパラメータに基づいて構成可能とすることができる。従って、パラメータ(a1=x1、a2=x2、a3=x3)を有するC1に対する挙動モデルを模擬してC1がどのように作動することになるかをユーザに示す模擬実験結果を与えることができる。有利なことに、組み合わされて回路結線図1604を発生させる1又は2以上の部分回路結線図1610~1612(例えば、上述の様々な実施形態に説明した)を選択するのに同じパラメータ(a1=x1、a2=x2、a3=x3)が使用される。選択部分回路結線図は、例えば、挙動モデル模擬実験(ここでは、C1(a1=x1、a2=x2、a3=x3)のもの)と、パラメータ値a1=x1、a2=x2、及びa3=x3を用いて選択される部分回路のデバイスモデル模擬実験との間で実質的に適合する模擬実験結果を発生させるように設計して組み合わせることができ、ここで、デバイスモデル模擬実験はより詳細であり、挙動モデル模擬実験よりも取得するのに長い時間を消費する場合がある。更に、次に、パラメータ値に基づいて組み合わされて回路結線図1604を形成する部分回路結線図の各々に対する1又は2以上の部分回路レイアウト1620~1622は、例えば本明細書に説明する技術を用いて組み合わせて対応するレイアウト1605を自動的に発生させることができる。様々な同じか又は異なる機能回路構成要素は、例えば、同じか又は異なるパラメータを用いて様々な回路及びレイアウトを生成するように選択かつ構成することができる。
従って、ユーザは、機能回路構成要素を選択し、パラメータ値を用いて機能回路構成要素を構成し、これらの構成要素を接続して、実際のデバイスレベルの技術課題及び潜在的なエラーの影響を典型的に受けない挙動レベルで望ましい回路機能を達成することができる。次に、例えば、選択機能回路構成要素に使用されるパラメータ1602は、発生器1603が受信してユーザの回路のための結線図及び/又はレイアウトを自動的に発生させることができる。従って、ユーザは、アナログ信号及び混合信号のトランジスタレベルの回路設計及び回路レイアウトに典型的に関連する全ての技能を有することを必要とすることなく、非常に高度なアナログ信号及び混合信号の回路結線図及び回路レイアウトを定めて発生させることができる。更に、このシステムは、結線図及びレイアウトを非常に迅速に発生し、それによってアナログ信号及び混合信号の回路結線図の設計及びレイアウトのサイクル時間及び関連のコストを低減するという利点を有する。例えば、アナログ回路の設計及びレイアウトのサイクル時間は、複雑さに依存して数ヶ月のスケールのものである場合がある。本明細書に説明する技術を使用することにより、アナログ回路の設計及びレイアウトの発生は、複雑さに基づいて、例えば、数日、数時間のスケール、又は更に数分のスケールとすることができる。
例示的設計及び自動回路発生工程及びシステム
図17は、別の実施形態による例示的設計及び自動回路発生工程を示している。図17に示す工程に対しては、図18を参照して以下に説明する。図18は、別の実施形態による例示的設計及び自動回路発生システムを示している。
図17を参照すると、工程は、1701で設計インタフェース1801を用いた機能回路構成要素の選択(例えば、ユーザによる)で始まることができる。1702では、機能回路構成要素に対して回路仕様パラメータが選択される。パラメータは、例えば、発生されることになる機能回路構成要素の特定の特性を指定することができる。図18では、ユーザが、五(5)個の機能回路構成要素(例えば、C1、C2、C1’、C3、及びC4、ここで、C1とC1’は、異なるパラメータを有する同じ機能構成要素である)を選択かつ構成している。
この例では、発生器ソフトウエアは、回路仕様パラメータ1802を受信して処理し、記号(symbols)を指定し、かつネットリストを発生させるための発生器ソフトウエアコンポーネント1803を含む。この例の発生器ソフトウエアは、選択部分回路結線図を組み合わせて部分回路レイアウトを配置するための発生器スクリプト1830を更に含む。この例での発生器ソフトウエアは、EDAシステム1805に命令を送ることができる(例えば、結線図及びレイアウトを編集するために)。システム1805に対して使用することができる一例示的システムは、例えば、Cadence(登録商標)からのEDAシステムである。他の例示的実施形態では、EDAシステムの機能は、発生器ソフトウエア内に含めることができる。1703では、回路仕様パラメータが発生器構成要素1803によって受信され、機能回路構成要素に対する記号が指定される。記号仕様の例を下記の例示的ネットリスト内に例示する。図19は、実施形態による異なる機能回路構成要素に対する記号を示している。記号は、例えば、回路仕様パラメータの特定の値に基づいて生成することができる。例えば、1つのパラメータ値セットを用いて記号1901を定めることができ、別のパラメータ値セットを用いて記号1902を定めることができる。これらの記号を用いて、例えば、パラメータ値に基づいて選択される特定の部分回路結線図をカプセル封入(encapsulate)(又は表現(represent))することができる。図18を参照すると、発生器構成要素1803は、例えば、受信パラメータ値から使用すべき部分回路結線図1810~1812を決定し、EDAシステム1805を通してこれらの部分回路結線図に対する全てのピンを読み取ることができる。上述のように、発生器構成要素1803は、部分回路結線図のピン間の接続を指定することができ、かつ部分回路結線図のピンと対応する記号のピンとの間の接続を指定することができる(例えば、ピンマップを用いて)。再度図17を参照すると、1704では、機能回路構成要素に対してネットリスト1804を発生させることができる。ネットリスト1804は、各パラメータ化機能回路構成要素(例えば、比較器)に対して選択される部分回路結線図のピン間の接続と、そのようなピンと記号のピンとの間の接続とを指定することができる。更に、発生器構成要素1803は、後に説明するように、パラメータ値と組み合わされることになる部分回路とに基づいて配置データ1808を出力することができる。ネットリスト1804は、例えば、記号を発生させるための及び部分回路結線図のピンを接続するための命令を与えることができ、1又は2以上の部分回路結線図の名称と、記号に対する名称と、ピンを互いに結合するための情報とを含むことができる。一例示的実施では、ネットリストは、例えば、verilog’’.v’’ファイルとすることができる。1つの部分回路結線図及び1つの記号に関する例示的出力ネットリストを以下に示している:
//パラメータ化機能回路構成要素回路発生器
//機能回路構成要素:比較器
//パラメータ:
//名称:comparator_XU0、速度:低速、タイプ:n、エッジ:立ち上がり
//ヒステリシス:レジスタ、ヒステリシス:20mV、デグリッチ:ノー、VMAX:6V
//1.EDAシステム1805を通してアクセスされる部分回路結線図「comparatorinnslow」を指定する。
module comparatorinnslow(V,en,INN,INP,out,G,IP,INNHYSTPBIAS,RISEHYST,
FALLHYST,a,SUB);//部分回路名及びピン
input RISEHYST;
input V;
input INP;
output INNHYSTPBIAS;
output out;
output[1:0]a;//バス出力
input FALLHYST;
input IP;
input INN;
input G;
input en;
input SUB;
endmodule
//2.パラメータ化機能回路構成要素に対する記号を発生させるための命令
module comparator_XU0(enable_comparator,IP,comparator_out,COMPARATOR_INP,register_comphysteresis,COMPARATOR_INN,G,V,SUB);
input V;
input enable_comparator;
input IP;//バイアス電流
input COMPARATOR_INP;
input COMPARATOR_INN;
output comparator_out;
input G;
input SUB;
input[1:0]register_comphysteresis;
//記号指定を終了する。
//2線バス’’a’’を定める。wire[1:0]a;
//「Xcompn」というインスタンス名称の部分回路インスタンス「comparatorinnslow」を発生させる。
//部分回路ピンと記号ピン(又は他の部分回路のピン)の間の接続を指定する。
comparatorinnslow Xcompn(
.V(V)、 //ストーンピン名(.V)と記号ピン名(V)の間の接続を指定する。
.en(enable_comparator)、 //有効化ピン間の接続を指定する。
.INN(COMPARATOR_INN),
.INP(COMPARATOR_INP),
.IP(IP),
.a({a1,a0})、 //上述の線「a」への比較器の出力バス「a」
.INNHYSTPBIAS(n1)、 //浮動
.FALLHYST(n2)、 //浮動
.RISEHYST(n3)、 //浮動
.SUB(SUB),
.out(comparator_out),
.G(G)
);
endmodule
上述のネットリストは、例えば、発生器スクリプト1830によるその後のアクセスのための場所に格納することができる。上述のネットリストは、記号とピン間の接続とを指定するための一例示的技術に過ぎないことは理解されるものとする。他の技術を使用することができる。
ネットリストが発生された状態で、発生器構成要素1803は、スクリプト1831~1833を開始するように発生器構成要素1830に信号通知することができる。この例では、回路結線図1831を発生させるための1又は2以上のスクリプトをEDAシステム1805が実行し、図17に記載の段階1705での予め定められた部分回路結線図を取得することができる。例えば、図17に記載の段階1706に示すように、ピンをネットリスト1804に従って接続することができる。例えば、ネットリストは、組合せ結線図1807を発生させるためにスクリプトによってEDAシステム1805の中に入力することができる。その結果は、上述のように発生された1又は2以上の記号であり、各記号の内部(例えば、回路結線図階層内の下位)には、ネットリストに基づいて互いに結合されたピンを有する各記号を形成するのに使用される部分回路結線図が存在する。記号は、例えば、発生器が受信するパラメータ値を有する機能回路構成要素に対するトランジスタ(又はデバイス)レベルの回路結線図を表している。対応するパラメータ値セットを有する複数の機能回路構成要素の場合に、例えば、EDAシステム内で複数の記号及び対応する結線図を発生させることができる。
図17を再度参照すると、1707で組合せ部分回路結線図を用いて予め定められた部分回路レイアウトがアクセスされる。例えば、一実施形態では、各部分回路結線図1810~1812は、1又は2以上の対応する予め定められた部分回路レイアウト1820~1822を有する。部分回路結線図は、EDAシステム1805を用いて対応する部分回路レイアウトを取り出すためにレイアウト発生スクリプト1832を使用することができる。1708では、レイアウト配置命令に基づいて予め定められた部分回路レイアウトが配置される。有利なことに、配置データ1808は、レイアウト配置スクリプト1833によって自動的に取り出され、各部分回路レイアウトを上述のように配置して回路レイアウト1809を発生させることができる。
例示的発生器
図20Aは、一実施形態による例示的発生器ソフトウエアシステム2001を示している。以下の実施は、本明細書に説明する技術を実施するための発生器の一例示的実施に過ぎないことは理解されるものとする。本明細書に説明する技術の一部又は全てを実施するために他のソフトウエアアーキテクチャを使用することができる。
発生器2001は、発生されることになるアナログ回路を指定するパラメータを受信することができる。パラメータは、1又は2以上の異なる機能回路構成要素に対応することができる。上述のように、発生されることになる回路を指定する情報は、広範な方法で受信することができる。従って、発生器2001は、パラメータを受信して情報を抽出するための復号器2002を含むことができる。一実施形態では、パラメータはテキストとして受信され、復号器2002は、試験を構文解析してパラメータを抽出する。発生器2001は、パラメータを受信してどの機能回路構成要素が発生されるか、及び各機能回路構成要素内でどの部分回路を使用すべきかを決定するためのFCC及び部分回路決定ブロックを含むことができる。発生器2001は、様々な機能回路構成要素に対するパラメータを比較してこれらのパラメータが予め定められた限界内にあることを保証するための限界比較ブロック2004を含むことができる。パラメータが限界の範囲外にある場合に、回路は機能することができず、システムは、例えば、誤差信号か又は他のパラメータ値に対するデフォルトをトリガすることができる。
様々な実施形態では、発生器システムは、自動回路結線図発生及び/又は自動レイアウト発生を容易にするために、発生されることになる回路に関する予め定められた情報を受信することができる。様々な実施形態による発生器は、例えば、受信パラメータに基づいて部分回路ピンリスト、特定の回路結線図又は同系統の回路結線図に関連付けるべきレイアウトスクリプト(layout scripts)、パラメータ限界(上述した)、レイアウトパラメータ(例えば、様々な構成要素の長さ)、処理パラメータにアクセスすること、及び/又はカスタマイズ機能回路構成要素ピンリストを発生させることができる。この例では、各機能回路構成要素は、発生器2001によって使用される関連データを有する。例えば、1つの機能回路構成要素(FCC A)2020に関するデータは、異なる部分回路結線図(例えば、部分回路結線図1A~NA)に対する複数のピンリスト2021~2023と、機能回路構成要素に対するピンリスト2024(例えば、様々な異形のFCC Aに使用される全ての可能なピン)と、様々な異形のFCC A2020に使用される1又は2以上のレイアウトスクリプト2025と、FCC Aに対するパラメータ限界2026と、レイアウトパラメータ2027(例えば、下記でより詳細に説明する計算値に対する構成要素の長さ)と、処理パラメータ2028(例えば、下記でより詳細に説明するように一部の計算値及び/又は自動レイアウトに対して使用される)とを含むことができる。他の機能回路構成要素(例えば、FCC B 2030)に対する他のデータは、例えば、類似のデータ2031~2038を含むことができる。そのようなデータは、例えば、発生器2001によってアクセス可能なファイル又はデータベースに格納することができる。一部の実施形態では、一部のデータは、発生器コードの中にハードコード化することができる。
発生器2001は、機能回路構成要素に関するデータにアクセスして様々な機能を実施することができる。下記でより詳細に説明する一部の実施形態では、発生器2001は、抵抗器属性、コンデンサー属性、及び/又はトランジスタ属性を決定するためのコード(例えば、本明細書では計算値2005と呼ぶコードブロック2006~2008それぞれ)を含むことができる。コードブロックのうちの1又は2以上は、下記でより詳細に説明するように、例えば、特定の機能回路構成要素に対するレイアウトパラメータ又は処理パラメータを受信することができる。計算値2005は、例えば、ブロック2006~2008によって使用される様々な値を受信パラメータ内の値から導出するための1又は2以上の回路モデル2009~2010(例えば、特定の機能回路構成要素に対応する)を含むことができる。下記では、例示目的でバイアス電流モデル及び遅延回路モデルの例を提供するが、例えば、発生器2001内には他の回路モデルを含めることができる。計算値2005は、レイアウトパラメータ(例えば、レイアウトに対して使用するための1又は2以上の予め定められた寸法)に基づくことが可能である構成要素値(component value)(例えば、抵抗器、コンデンサー、又はトランジスタに対する)を決定することができる。様々な実施形態では、複数の構成要素(例えば、セグメント又は単位構成要素)が回路仕様内で発生され、1つの組合せ構成要素を形成するために接続される。一実施形態では、構成要素値は、回路仕様内に含まれる複数の構成要素記号に関連付けられた識別子内に符号化される。一実施形態では、構成要素値は、例えば、下記でより詳細に説明するようにその構成要素に対する記号名称内に符号化される。
様々な実施形態では、発生器は、パラメータに基づいて回路仕様を発生させるためのコードを含むことができる。この例では、回路発生仕様コード2011は、例えば、発生されることになる回路に使用すべき部分回路結線図に対するピンを取り出すためのコード2012(回路ピン取得)と、発生されることになる回路に対する記号を発生させるためのコード2013と、部分回路のピンと記号のピンとを接続するためのコード2014(例えば、ピン接続)とを含む。この例では、回路仕様内の接続されたピンは、上述したようにピンマップを形成する。
回路発生仕様2011は、回路仕様内にどの部分回路結線図を含めるべきかの表示を受信することができ、これらの部分回路結線図に対するピンリスト(例えば、ピンリスト2021~2023又は2031~2033のうちの1又は2以上)を取り出すことができる。回路仕様内に発生される部分回路Aに対する例示的ピンリストは以下の通りである:
Module<sub-circuitA>(pin1,...,pinN)
Input pin1
...
output pinN
endmodule
上述のピンリストがN個のピンに対するものである場合に、例えば、そのうちの一部を入力ピンとし、他を出力ピンとすることができる。一実施形態では、ピンリストは、例えば、EDAツール2060から受信される部分回路結線図の機能図とすることができる。
これに加えて、この例では、記号発生2013は、パラメータに基づいてどのピン(例えば、特定の機能回路構成要素に対する全ての可能なピンからの)を記号上に含めるべきかを決定することができる。例えば、FCC Aピン2024を受信し、パラメータを評価し、発生されることになる回路に対する記号の中にどのピンを組み込むべきかを決定することができる。パラメータに基づいて発生される例示的記号は以下の通りである:
Module<symbolname>(pin1,...,pinM)
Input pin1
...
output pinM
<sub_circuits&connections>
endmodule
以上の説明では、<sub_circuits&connections>は、下記で例示する部分回路及び接続を指定する。ピン接続2014は、1又は2以上の部分回路結線図のピンを他の部分回路結線図のピン又は記号のピンにマッピングすることができる。これらのマッピングは、例えば、ピン接続2014に対するコード内に含めることができる。一実施形態では、ピン接続2014に対するコードは、パラメータに基づいて選択される部分回路結線図及び記号の可能な様々な組合せに対する文字列発生器を含む。以下の説明は、回路仕様内に発生されるピンマップが以下の通りであることを示している:
Module<symbolname>(pin1,...,pinM)
Input pin1
...
output pinM
sub-circuit_1(.subcir1_pin1(symbol/subcir_pin),.subcir1_pin2(symbol/subcir_pin),...,.subcir1_pinX(symbol/subcir_pin))
sub-circuit_2(.subcir2_pin1(symbol/subcir_pin),.subcir2_pin2(symbol/subcir_pin),...,.subcir2_pinY(symbol/subcir_pin))
...
sub-circuit_K(.subcirK_pin1(symbol/subcir_pin),.subcirK_pin2(symbol/subcir_pin),...,.subcirK_pinZ(symbol/subcir_pin))
endmodule
以上の説明の結果は、K個の部分回路を有するM個のピンを含む記号のための回路仕様である。ピン接続は、「subcir1_pin1(symbol_pin/subcir_pin)」によって確立される。以下の説明は、部分回路「AMP」上のピン「VOUT」と別の部分回路上のピン「VIN」との間の接続を確立する:
Module EXAMPLE_SYMBOL(IN,VCC,OUT)
Input IN//記号ピン
Input VCC//記号ピン
output OUT//記号ピン
AMP_1(
.VIN(IN)//AMP_1上のvinピンを記号上のINピンに接続する。
.VDD(VCC)//AMP_1上のvddピンを記号上のVCCピンに接続する。
.VOUT(VIN)//AMP_1のVOUTピンを別の部分回路(図示せず)のVINピンに接続する。
endmodule
一部の実施形態の特徴及び利点は、回路の自動レイアウト発生のためのレイアウトスクリプトを発生させることを含むことができる。一実施形態では、レイアウトスクリプトは、回路仕様に具現化された特定の回路に合わせてカスタマイズすることができる。発生器2001は、受信パラメータに基づいて発生される1又は2以上の回路に合わせてカスタマイズされた1又は2以上の予め定められたレイアウトスクリプトを取り出すためのコードを含むことができる。例えば、レイアウトスクリプト発生コード2015は、受信パラメータに基づいて特定の機能回路構成要素又は部分回路結線図(及びいずれかが存在する場合は計算された抵抗器、コンデンサー、又はトランジスタ)の特定の組合せ又は構成に対するレイアウトスクリプトを取り出すことができる。
従って、発生器2001は、受信パラメータに応答して発生される各回路のための回路仕様2040/2050とレイアウトスクリプト2045/2055とを発生させることができる。第1の回路(Ckt1 Spec)に対する2040及び第2の回路(Ckt2 Spec)に対する2050に示すように、回路仕様は、例えば、部分回路結線図ピンリスト2041~2042/2051~2052と、記号ピン2043/2053(部分回路結線図及びあらゆる計算された構成要素をカプセル封入することができる)と、ピン間の接続を指定するピンマップ2044/2054とを含むことができる。様々な実施形態では、1又は2以上の機能回路構成要素は、回路仕様の中に組み込むことができる。一部の実施形態は、例えば、互いに結合されてより複雑な回路を形成する複数の機能回路構成要素を含むことができる。
回路仕様及びレイアウトスクリプトは、EDAツール2060によって受信かつ処理することができる。例えば、EDAツールは、回路仕様をVerilog.vファイルとして受信し、例えば、予め定められた部分回路が書き込まれてピンマップに従って互いに接続された記号を発生させることができる。異なる回路仕様を用いて様々な回路結線図2070、2072、2074を発生させることができる。結線図は、レイアウトインスタンス(layout instances)に変換され、かつレイアウト2071、2073、及び2075を形成するために自動的に配置することができる。
図20Bは、実施形態による回路仕様を発生させる例示的方法を示している。この例では、2080で、発生されることになる回路を指定する情報が受信される。情報は、例えば、構文解析することができるパラメータの形態又は例えば復号することができる別のフォーマットにある場合がある。一部の実施形態では、システムは、パラメータ限界を取り出し、1又は2以上のパラメータをパラメータ限界と比較してパラメータを検証することができる。2081では、部分回路結線図ピンリストを選択することができる(例えば、発生されることになる回路を指定するパラメータに基づいて)。例えば、上述の情報に基づいて、1又は2以上の部分回路結線図に対応する1又は2以上のピンリストを選択することができる。各ピンリストは、対応する部分回路結線図のための部分回路結線図ピンを含むことができる。一実施形態では、ピンリスト及び記号は、特定の機能回路構成要素に対応することができる。上述のように、異なる機能回路構成要素は、異なる関連部分回路結線図ピンリスト及び機能回路構成要素記号に対する異なる予め定められたピンを有することができる。2082では、上述の情報に基づいて記号に対する予め定められたピンセットが選択される。各機能回路構成要素の異なる具現化は、異なるピンを有することができる(例えば、シャットダウンを行う比較器は、シャットダウンピンを有することができるが、シャットダウンを行わない比較器は、そうではない場合がある)。しかし、一部の実施形態では、同じ機能回路構成要素に対して達成される記号は、全てのパラメータにわたって共通のある一定のピンを有することができる(例えば、電圧電流コンバータは、電圧入力ピンVINと、電源電圧ピンVDDと、接地GNDと、パラメータに基づいてソース又はシンクである場合がある電流ピンとを必ず有することができる)。2083では、部分回路結線図ピンと記号に対する複数の予め定められたピンのサブセットとの間の接続を確立することができる。2084では、回路仕様が発生される。回路仕様は、1又は2以上の部分回路結線図に対応する1又は2以上のピンリストからの部分回路結線図ピンと、記号に対する予め定められたピンのサブセットと、部分回路結線図ピンと少なくとも1つの記号に対する予め定められたピンのサブセットとの間の接続とを含む。回路仕様は、例えば、回路結線図を発生させるようにEDAツール内で処理することができる。これに加えて、回路仕様から発生された回路のためのレイアウトインスタンスを自動的に配置してレイアウトを生成するように構成されたレイアウトスクリプトを上述の情報に基づいて取り出すことができる。システムは、処理パラメータを取り出すことができる。レイアウトスクリプト及び処理パラメータは、例えば、レイアウトを生成するためにEDAツールに送ることができる。
図20Cは、別の実施形態による回路仕様を発生させる方法を示している。本発明の開示の特徴及び利点は、下記でより詳細に説明する計算構成要素値に対する記号を発生させることを含む。以下の技術は、計算構成要素値のための回路仕様を発生させるための一例示的技術である。2090では、システムは、発生されることになる電子回路を指定する情報を受信する。2091では、システムは、この情報に基づいて電子回路の少なくとも1つの構成要素に対する構成要素値を決定する。様々な実施形態では、構成要素は、抵抗器(例えば、構成要素値は抵抗を含む)、コンデンサー(例えば、構成要素値はキャパシタンスを含む)、又はトランジスタ(例えば、構成要素値がゲート幅、フィンガ(fingers)の個数などを含むFET)とすることができる。2092では、システムは、複数の構成要素記号を発生させる。記号の個数は、抵抗器、コンデンサー、及びトランジスタに関して下記で説明するように構成要素値の計算の一部とすることができる。2093では、システムは、構成要素記号の各々に関連付けられた識別子内に構成要素値を符号化する。例えば、識別子は、例えば、記号名称とすることができ、構成要素値は、記号名称内に符号化することができる。2094では、システムは、構成要素記号間の接続を確立する。2095では、システムは、構成要素記号を構成するための回路仕様を直列又は並列に又はこれらの両方で発生させる。回路仕様は、EDAツールに送り、回路結線図を発生させるのに使用することができる。
回路仕様は、複数の機能回路構成要素に対する複数の記号を含むことができることは理解されるものとする。各記号は、計算構成要素値に対する記号を含むことができる。機能回路構成要素は、階層的に構成することができ、ここで、例えば、第1の機能回路構成要素に対する記号が第2の機能回路構成要素に対する記号によってカプセル封入され、第1の機能回路構成要素に対する部分回路結線図が第2の機能回路構成要素記号のピンに結合される。従って、共通に使用される機能回路構成要素(例えば、バッファ、電流ミラーなど)は、例えば他の機能回路構成要素に対する構成ブロックとして使用することができる。
計算値
本発明の開示は、抵抗器、コンデンサー、又はトランジスタのような電子構成要素を自動的に発生させることに更に関連する。
様々な実施形態では、抵抗器値、コンデンサー値、又はトランジスタ値が変化すること(例えば、連続的に)が可能な回路を自動的に発生させることが有利である場合がある。例えば、1つの回路は、特定の値を有する抵抗器、コンデンサー、又はトランジスタを必要とすることができ、回路の別のインスタンスは、別の値を有する抵抗器、コンデンサー、又はトランジスタを必要とすることができる。従って、一連の値(a range of values)にわたって変えることができる抵抗器、コンデンサー、又はトランジスタを自動的に発生させるための技術を本明細書に開示する。
図21Aは、一実施形態により一連の値にわたって回路構成要素を発生させる方法を示している。本発明の開示の特徴及び利点は、構成要素を一連の値にわたって複数のそのような構成要素(例えば、単位構成要素)を構成することによって発生させて組合せ構成要素を形成することを含むことができる。例えば、発生されることになる構成要素に対する合計属性値(total attribute value)は、2101でシステムによって受信することができる。合計属性値は、例えば、発生されることになる抵抗器、コンデンサー、又はトランジスタそれぞれの合計抵抗、合計キャパシタンス、又は合計ゲート幅とすることができる。合計属性値は、様々なソースから受信することができる。一部の実施形態では、合計属性値は、パラメータ(例えば、ユーザによって指定されたもの)として受信される。他の実施形態では、合計属性値は、他のパラメータ(例えば、回路モデルに対するパラメータ又はオン抵抗)に基づいてシステムによって決定される。2102では、発生されることになる構成要素を形成するために組合せ構成要素が合計属性値を有するように組み合わされることになる構成要素の個数(N)を決定する(2103で)のに使用される第2の属性値は、合計属性値を用いて決定することができる。様々な異なる構成要素タイプ(例えば、抵抗器、コンデンサー、及びトランジスタ)に関して下記の例に示すように、単位構成要素(unit components)(例えば、抵抗器セグメント、単位コンデンサー(unit capacitors)、又は単位ゲート長を有するトランジスタ)を組み合わせて合計属性値(例えば、合計抵抗、合計キャパシタンス、又は合計ゲート幅)を有する組合せ構成要素を形成することができる。一実施形態では、少なくとも1つのレイアウトパラメータがシステムによって受信され、この少なくとも1つのパラメータに基づいて、発生されることになる構成要素に対する第2の属性値が決定される。様々な実施形態では、レイアウトパラメータは、発生されることになる構成要素の寸法に沿う長さを指定することができる。例えば、抵抗器では、レイアウトパラメータは、抵抗器レイアウトセグメント長さ(a resistor layout segment length)を指定することができる。コンデンサーに対して、レイアウトパラメータは、単位コンデンサーの第1の寸法に沿う最大長さ(例えば、最大幅)を指定することができる。トランジスタに対しては、レイアウトパラメータは、単位ゲート幅を指定することができる。有利なことに、レイアウトの物理属性を指定する1又は2以上のレイアウトパラメータを組み込むことにより、下記の例で更に示すように回路とレイアウトの両方を自動的に発生させることができる。
2104では、回路仕様が発生される。上述のように、回路仕様は、発生されることになる回路結線図の構成要素及びこれらの構成要素間の接続を指定することができる。例えば、システムは、第2の属性値を有する個数(N)の構成要素を組み合わせて合計属性値を有する構成要素を形成することができると決定した場合に、回路仕様は、N個のそのような構成要素(例えば、N個の抵抗器R1,...,RN、N個のコンデンサーC1,...,CN、又はN個のトランジスタM1,...,MN)を指定することができる。回路仕様は、N個の構成要素が組み合わされて組合せ構成要素(例えば、直列及び/又は並列に接続された抵抗器、直列及び/又は並列に接続されたコンデンサー、又は並列に接続されたトランジスタ)の合計属性値を形成するような接続を指定することができる。
2105では、第2の属性値を用いて構成された複数の構成要素を含むトランジスタレベル結線図が発生される。例えば、一実施形態では、回路仕様は、EDAソフトウエアツールによって受信することができる(例えば、Verilog入力として)。EDAツールは、回路仕様を読み取り、その中に指定された各構成要素に対して空の記号を発生させることができる。一例示的実施形態では、スクリプトを用いて構成要素を各記号の中に挿入し、第2の属性値を用いて構成要素を構成することができる。次に、構成要素の端子が記号の端子に自動的に接続される。記号は、回路仕様に基づいて互いに接続することもできる。従って、複数の構成要素は、合計属性値を有する組合せ構成要素を形成する。2106では、レイアウトが発生される。レイアウトは、合計属性値を生成するように構成された構成要素に対応するN個のレイアウトインスタンスを含むことができる。下記で説明する様々な例では、各構成要素は、レイアウトインスタンス(例えば、抵抗器レイアウト構成要素、コンデンサーレイアウト構成要素、又はトランジスタレイアウト構成要素)に変換することができる。レイアウトインスタンスは、例えば、発生されている特定の回路に関連付けられた予め定められたスクリプトを用いて自動的に配置することができる。
図21Bは、別の実施形態により一連の値にわたって回路構成要素を発生させる方法を示している。上述のように、本発明の開示の特徴及び利点は、回路が発生されている時にレイアウトパラメータを設計フローの中に組み込むことを含む。典型的には、レイアウトは、回路が設計された後に実施される。本発明の開示の実施形態は、レイアウトパラメータを回路発生工程の一部として組み込んで結線図及びレイアウトを自動的に発生させることを可能にすることができる。例えば、2110では、発生されることになるアナログ回路を指定する情報がシステムによって受信される。2111では、この情報の少なくとも一部分に基づいてレイアウトパラメータが取り出される。例えば、特定のアナログ回路の異なる具現化(例えば、比較器、電流ソース、発振器、電力FET、バイアス電流など)は、発生されている回路のパラメータに基づいてサイズが異なる抵抗器、コンデンサー、及びトランジスタを有することができる。回路が抵抗器を含む場合に、抵抗器に対するレイアウトパラメータを取り出すことができる。回路がコンデンサーを含む場合に、コンデンサーに対するレイアウトパラメータを取り出すことができる。回路がトランジスタを含む場合に、トランジスタのためのレイアウトパラメータを取り出すことができる。レイアウトパラメータは、発生されている特定の回路に基づいて予め定めることができ、関連の回路と共に使用される。従って、例えば、レイアウトを生成するのに使用されるパラメータ(例えば、様々な寸法に沿う予め定められた長さ)は、回路発生工程に含めて回路及びレイアウトの発生工程を自動化することができる。2112では、発生されることになるアナログ回路を指定する情報とレイアウトパラメータとに基づいてアナログ回路構成要素の1又は2以上の属性が決定される。2113では、アナログ回路構成要素のうちの1又は2以上を含むアナログ回路のトランジスタレベル結線図が発生され、1又は2以上のアナログ回路構成要素が属性を用いて構成される。2114では、トランジスタレベル結線図からレイアウトが発生される。レイアウトは、1又は2以上のアナログ回路構成要素に対応する複数のレイアウトインスタンスを含むことができ、各レイアウトインスタンスは、レイアウト配置命令によってレイアウト内に自動的に配置される。下記の様々な例に示すように、レイアウトインスタンスは、アナログ回路構成要素の属性に基づいて配置することができる(例えば、抵抗器セグメント長さに基づいて抵抗器を配置することができ、コンデンサー幅に基づいてコンデンサーを配置することができ、ゲート幅に基づいてトランジスタを配置することができる)。一部の実施形態では、構成要素の属性を決定するのに使用されるレイアウトパラメータは、構成要素のための結線図から導出されるレイアウトインスタンスを位置決めする(配置する)(position)ためにも使用される。
図21Cは、更に別の実施形態により一連の値にわたって回路構成要素を発生させる方法を示している。上述のように、本発明の開示の一部の実施形態の特徴及び利点は、自動アナログ回路発生をサポートしない場合があるEDAツール内でアナログ回路を指定して発生させるための技術を含むことができる。例えば、既存EDAツールは、トランジスタレベルアナログ回路結線図を自動的に発生させるのに及び複雑なパラメータ化アナログ機能回路構成要素に対する効率的なアナログ回路レイアウトを生成するのに使用することができるアナログ回路仕様を受信するための機構を持たない。本発明の開示の実施形態は、例えば、回路仕様を発生させて予め定められたスクリプトを用いて回路仕様をトランジスタレベルの回路結線図及び/又はレイアウトに変換することができる。
抵抗器の自動発生
本発明の開示の特徴及び利点は、抵抗器の自動発生を含む。一部の実施形態では、例えば、トランジスタレベルの回路結線図及び/又はレイアウトに使用するための値範囲にわたる抵抗器を発生させることができる。
図22は、実施形態による抵抗器を自動的に発生させるためのコンピュータ実装システムを示している。本明細書に説明するコンピュータ実装システムは、1又は2以上のコンピュータ(例えば、サーバコンピュータ)を含むことができるコンピュータシステム2201上で実行されるソフトウエアを含むことができる。この例では、コンピュータシステム2201は、発生器ソフトウエア2202と、結線図及びレイアウト発生器ソフトウエア2203とを実行する。他の例示的実施は、ソフトウエアを別様に分割することができること(例えば、本明細書に説明する機能を実施する単一ソフトウエアシステムとして又はより多くのソフトウエアコンポーネントとして)は理解されるものとする。
本発明の開示の特徴及び利点は、例えば、システムによって受信する指定抵抗器値又は計算抵抗器値に基づく抵抗器を含む回路結線図、レイアウト、又はこれらの両方を自動的に発生させることができる。例えば、本発明の開示によるシステムは、抵抗器値を受信して抵抗器のための結線図、抵抗器に対するレイアウト、又はこれらの両方を自動的に発生させることができる。この例では、抵抗器2210に対応する抵抗器値Rtotalが、発生器ソフトウエア2202の抵抗器仕様発生器構成要素2212によって発生されることになる。様々な実施形態では、1又は2以上の抵抗器値を例えばユーザが指定し、発生器ソフトウエア2202が入力パラメータとして受信することができる。他の実施形態では、下記でより詳細に説明するように、1又は2以上の抵抗器値は、例えば、発生器2202によって受信する他のパラメータに基づいて計算することができる。
一部の実施形態の特徴及び利点は、発生されることになる直列抵抗器セグメント、発生されることになる並列抵抗器セグメント、又は直列抵抗器と並列抵抗器の両方の1又は2以上の組合せのようなセグメントに抵抗器値を変換することを含む。例えば、抵抗器仕様発生器2212は、抵抗器値Rtotalを近似的に生成するために、直列に構成されることになる抵抗器セグメントの第1の個数N及び/又は並列に構成されることになる抵抗器セグメントの第2の個数Mを決定することができる。一実施形態では、例えば、これらの抵抗器セグメントの抵抗は、同じとすることができる。個数N及び/又はMが決定された状態で、例えば、結線図、レイアウト、又はこれらの両方を発生させるための回路仕様2213(例えば、Rtotalに対する)を発生させることができる。この例では、抵抗器仕様発生器2212は、第1の個数Nの抵抗器セグメントを直列に及び/又は第2の個数Mの抵抗器セグメントを並列に構成するための回路仕様2213を発生させることができる。本明細書では、Rtotalを発生させるための抵抗器の1つの直列組合せと1つの並列組合せとを示すが、例えば、許容公差内にあるRtotalを達成するために直列組合せのみ、並列組合せのみ、又は複数の直列組合せ及び/又は並列組合せを使用することができることは理解されるものとする。
様々な実施形態では、回路仕様2213は、複数の構成要素に対する構成を指定することができる。この例では、構成要素は、抵抗器セグメント(例えば、抵抗器セグメント2214~2218によって示す)に対応し、回路仕様2213は、これらの抵抗器セグメント間の接続を指定することができる。例えば、回路仕様は、上述のようにverilog.vファイルのようなネットリストとすることができ、ここで、構成要素間の接続は、ネットリスト内の共通指定ノードに基づいている。
本発明の開示の例示的実施形態は、抵抗器セグメント2211に対する1又は2以上の予め定められた物理的寸法を更に受信することができる。予め定められた物理的寸法は、下記で更に例示するように、例えば、異なる抵抗器値のレイアウトを有利に最適化するように設定することができる。例えば、予め定められた物理的寸法は、抵抗器セグメントの予め定められた長さLseg及び/又は抵抗器セグメントの予め定められた幅Wsegとすることができる。予め定められた物理的寸法は、発生されることになる特定の抵抗器がこの予め定められた物理的寸法にアクセスすることができるように、発生されることになる抵抗器値に関連付けることができる。従って、特定の回路又はプロジェクトに対する特定の抵抗器値Rtotalが受信されると、この特定の抵抗器に関するLseg及び/又はWsegのような関連パラメータは、例えば既知の格納場所から(例えば、メモリ、ファイル、又はデータベースから)取得することができる。
一部の実施形態では、異なる抵抗器値に対して発生されることになる異なる抵抗器は、異なる対応する予め定められた物理的寸法(例えば、長さ及び/又は幅)を有することができる。従って、第1の値Rtotal1を有する発生されることになる1つの抵抗器は、第1の対応する予め定められた長さ及び/又は予め定められた幅を有することができ、第2の値Rtotal2を有する発生されることになる別の抵抗器は、第2の対応する予め定められた長さ及び/又は予め定められた幅を有することができる。上述して下記で更に例示するように、1又は2以上の予め定められた物理的寸法を組み込むことを用いて、例えば、様々な抵抗器値範囲にわたる抵抗器のレイアウトを改善することができる。
一部の実施形態では、抵抗器仕様発生器2212は、例えば、シート抵抗率を更に受信することができる。
以下の式は、予め定められた長さと予め定められた幅とシート抵抗率とに基づくN及びMの例示的計算を示している:
N=直列の抵抗器セグメント2211の個数は、Rtotalをセグメントの抵抗Rsegmentで割り算したものの整数部分(例えば、Div(Rtotal/Rsegment)、すなわち、RtotalをRsegmentで割り算した商)に基づく場合がある。
M=並列の抵抗器セグメント2211の個数は、Rtotalをセグメントの抵抗Rsegmentで割り算したものの残余(例えば、Mod(Rtotal/Rsegment))に基づく場合がある。一例示的実施形態では、並列抵抗器の最大個数を指定することができ、Mに対する値は、例えば、許容公差内に収まるRtotalをもたらす並列抵抗器の個数である。
LsegはBIOに格納され、Wsegは、工程設計規則から計算される。
セグメントの抵抗は、次式のように書くことができる:
Rseg=ρ(Lseg/Wseg)
ここで、ρ(ロー)は、シート抵抗率(使用される特定の半導体製造工程によって指定されるパラメータである「シートロー」として公知である)、Lsegはセグメント長さであり、Wsegはセグメント幅である(例えば、これらは、電流密度及び使用される特定の抵抗器タイプに基づいて設定することができる)。従って、抵抗器セグメントの抵抗は、長さ、幅、及び/又はローに基づく場合がある。
合計抵抗器値Rtotalは、次式のように決定することができる:
Rtotal=(Rseg*M) -直列のみ
Rtotal=(Rseg/N) -並列のみ
Rtotal=(Rseg*M)+(Rseg/N) -直列と並列の組合せ
ある一定の実施形態の特徴及び利点は、回路仕様に基づいて抵抗器値のための結線図を発生させることを更に含むことができる。この例では、回路仕様2213は、発生器ソフトウエアシステム2202から結線図及びレイアウト発生器ソフトウエアシステム2203に送られる。結線図及びレイアウト発生器ソフトウエアシステム2203は、例えば、上述の電子設計自動化(EDA)ソフトウエアシステムとすることができる。ソフトウエアシステム2203は、回路仕様2213から抵抗器結線図2221を発生させるための結線図発生器構成要素2220を含むことができる。結線図発生器構成要素2220は、例えば、ネットリストを受信して、それを例えば結線図記号と結線図記号間の接続とに変換することができる。しかし、一部の結線図発生器は、ネットリストに基づいて抵抗器のような構成要素の属性を特定の指定値に設定することができない場合がある。従って、一例示的実施形態では、結線図インポート構成要素2222が、例えば、回路仕様2213又は発生回路結線図2221を解析し、その内部の抵抗器のような構成要素の属性を設定することができる。
一例示的実施形態では、回路仕様2213は、抵抗器セグメントに対応する構成要素を指定することができ、結線図発生器2220は、そのような構成要素に対する抵抗器セグメントを持たない結線図記号を発生させることができる(例えば、ネットリスト内の構成要素名称がソフトウエアシステム2203のライブラリに存在しない場合に、発生記号を空とすることができる)。従って、最初に発生回路結線図は複数の空の記号を含み、記号のピンは、受信ネットリスト内に指定されている通りに互いに結合される。結線図インポート構成要素2222は空の構成要素を識別し、抵抗器セグメントを記号の中に挿入するためのアルゴリズムによって実行することができる。例えば、結線図インポート構成要素2222は、例えば、抵抗器セグメントを空の結線図記号の各々の中に自動的に挿入し、挿入された抵抗器セグメントの端子を結線図記号のピンを用いて接続することもできる。
一部の実施形態では、結線図インポート構成要素2222は、抵抗器の属性を設定するためのコードを含むことができる。例えば、抵抗器に対する属性は、長さ及び幅のような抵抗器の物理的寸法を含むことができる。属性は、抵抗器タイプ(例えば、ポリシリコン、ドープポリシリコン、又は金属)を含むことができる。1又は2以上の抵抗器の属性は、ソフトウエアコンポーネント間で様々な方法で引き渡すことができる。一実施形態では、仕様は、属性を設定するための情報を含むことができる。例えば、属性は、回路2213内の構成要素に対する識別子内に符号化する(例えば、ネットリスト内の抵抗器の名称内に符号化する)ことができる。従って、記号を発生させるためにネットリスト内の構成要素に対する記号が使用される時に、記号は識別子を含むことができる。識別子は、例えば、結線図インポート構成要素2222が読み取り、抵抗器を空の記号内に配置するのに使用することができる。他の実施形態では、属性は、例えば、予め定められた場所に格納され、結線図インポート構成要素2222によってアクセス可能である。抵抗器に対する属性を引き渡すためのより詳細な例示的技術を以下に例示目的で提供する。
従って、結線図発生器2220は、抵抗器結線図2221を出力することができる。抵抗器結線図2221は、ピンを有する複数の記号を含むことができる。各記号は、内部に埋め込まれた抵抗器セグメントを有することができる。上述のように、記号は、1又は2以上の直列構成及び/又は並列構成で互いに結合される。例えば、各々が内部抵抗器セグメントを有する組合せ記号は、望ましい合計抵抗器値Rtotalを形成する。一部の例示的実施形態では、1つの合計抵抗器値Rtotalを形成するのに使用される抵抗器セグメントは、各々が同じ長さ、幅、及び抵抗器タイプを有することができる。
本発明の開示の一部の実施形態の特徴及び利点は、抵抗器結線図から抵抗器レイアウトを自動的に発生させることを含むことができる。例えば、抵抗器結線図2221は、レイアウト発生器2223によって抵抗器レイアウト2224に変換することができる。レイアウト発生器2223は、例えば、回路結線図の記号内の抵抗器セグメントを対応する抵抗器セグメントに関して指定された寸法を各々が有する複数の多角形に変換することができる。一実施形態では、レイアウト配置命令2225を実行して下記でより詳細に説明するように各多角形をレイアウトに配置することができる。従って、結線図内で合計抵抗器値Rtotalを形成する抵抗器セグメントを抵抗器レイアウト2224に自動的に変換することができる。
図23は、実施形態により抵抗器を発生させる方法を示している。一実施形態では、本発明の開示は、実行された時に以下の通りに方法を実施するソフトウエアを含む。2301では、発生されることになる抵抗器値を受信することができる。2302では、ソフトウエアは、直列構成抵抗器セグメントの少なくとも1つの個数又は並列構成抵抗器セグメントの少なくとも1つの個数(又はこれらの両方)を決定して受信抵抗器値を発生させることができる。2303では、回路仕様が発生される。回路仕様は、例えば、抵抗器セグメントに対応する複数の構成要素の構成を指定することができる。2304では、回路仕様に基づいて結線図が発生される。結線図は、複数の構成要素に対応する複数の記号を含むことができる。各記号は、例えば、抵抗器セグメントを含むことができる。記号は、回路仕様に基づいて互いに自動的に結合されて抵抗器値を提供する。2305では、回路結線図からレイアウトを生成することができる。レイアウトは、各抵抗器セグメントに対応する多角形を含むことができる。一実施形態では、多角形は、レイアウト配置命令によって自動的に配置される。
図24は、別の実施形態により抵抗器を発生させる方法を示している。この例では、2401では、発生されることになる抵抗器に対する抵抗器値が受信され、2402で少なくとも1つの抵抗器セグメントに対応する少なくとも1つの物理的寸法が受信される。この例では、長さ及び/又は幅のような物理的寸法を有利に用いて、例えば、抵抗器値を発生させる複数の抵抗器セグメントのレイアウトを最適化することができる。2403では、ソフトウエアは、直列構成抵抗器セグメントの少なくとも1つの個数又は並列構成抵抗器セグメントの少なくとも1つの個数を決定して受信抵抗器値を発生させることができる。2404では、回路仕様が発生される。
図25Aは、更に別の実施形態により抵抗器を発生させる方法を示している。この例では、2501では、発生されることになる抵抗器に対する抵抗器値が受信され、2502で回路仕様が発生される。ここで、回路仕様は、抵抗器セグメントに対応する構成要素を指定する。2503では、回路仕様に基づいて結線図が発生される。結線図は、回路仕様内の構成要素に対応する記号を含む。この例では、記号は、抵抗器セグメントを持たない場合がある(例えば、記号は空である)。従って、2504では、抵抗器セグメントが記号の中に挿入される。記号と挿入された抵抗器セグメントは、結線図内で互いに結合されて抵抗器値を発生させることができる。
図25Bは、更に別の実施形態により抵抗器を発生させる方法を示している。この例では、2510では、発生されることになる抵抗器に対する抵抗器値が受信され、2511で回路仕様が発生される。ここで、回路仕様は、1又は2以上の予め定められた物理的寸法を有する抵抗器セグメントに対応する構成要素を指定する。2512では、回路仕様に基づいて結線図が発生される。結線図は、抵抗器値を発生させるように構成された抵抗器セグメント(例えば、直列及び並列の)を含む。2513では、レイアウトが発生される。レイアウトは、抵抗器セグメントに対応する多角形を含む。多角形は、例えば、抵抗器のレイアウトを生成するために抵抗器セグメントの1又は2以上の予め定められた物理的寸法に基づいて有利に位置決めすることができる。
図25Cは、別の実施形態を示している。本発明の開示の様々な実施形態は、本明細書に説明する技術の一部又は全てを様々な組合せ及び様々な異なるレベルで適用して抵抗器発生を自動化することができる。この例では、2520で、抵抗器値が決定される(例えば、回路発生エンジンにより)。2521では、抵抗器値は、回路結線図に(例えば、Cadence(登録商標)内でEDAトランジスタレベル結線図に)変換することができる。次に、2522では、回路結線図は多角形に変換される。2523では、抵抗器に対する多角形は、レイアウト配置命令によって自動的に配置することができる。例えば、発生されている特定の回路は、抵抗器に対する多角形の各々をレイアウト内の特定の場所に配置する複数のレイアウト配置命令に関連付けることができる。レイアウト配置命令は、例えば、各多角形をシーケンスに配置し、多角形の端子間を接続して望ましい抵抗器値を発生させることができる。
抵抗器を発生させるための例示的実施形態
図26は、実施形態による例示的抵抗器の結線図及びレイアウトを示している。この例では、抵抗器結線図2610は、互いに直列に結合されたN個の記号2611~2613と、互いに並列に結合されたM個の記号2614~2616とを含む。これらの記号は、例えば、ピンを通じて互いに結合することができる。図示のように、並列記号は、直列構成記号と直列にある。例示的記号2620は、記号ピン2621と2622を含む。記号2620は、第1の端子2624と第2の端子2625とを有する抵抗器セグメント2623 Rsegを含む。上述のように、一部の実施形態では、記号2620は、抵抗器セグメントなしで発生されることができる(例えば、空の記号として)。記号2620内には抵抗器セグメントRsegがソフトウエアによって挿入されている場合がある。更に、ソフトウエアは、例えば、抵抗器端子2624を記号ピン2621に接続し、抵抗器端子2625を記号ピン2622に関連付けることができる。一実施形態では、ソフトウエアは、例えば、電子設計自動化(EDA)ソフトウエアシステム内で実行され、例えば、ネットリストを受信するのに応答して発生された回路結線図からもたらされる空の記号インスタンスを検出し、抵抗器を自動的に挿入することができるスクリプト(例えば、Cadence(登録商標)内のSkill scripts(スキルスクリプト))を含むことができる。更に、スクリプトは、上述のように発生された値を用いて挿入された抵抗器の属性を設定することができる。
記号2611~2616内の抵抗器セグメントの組合せ抵抗は、発生されることになる合計抵抗器値Rtotalを発生させることができる。上述のように、一部の実施形態では、これらの抵抗器セグメントは、例えば、同じ抵抗器セグメント値Rsegと、同じ予め定められた長さLsegと、同じ予め定められた幅Wsegとを有することができる。抵抗器セグメントに対して1又は2以上の既知の長さ及び/又は幅を使用することにより、効率的な自動レイアウトを有利に可能にすることができる。
例示的レイアウト2690a~2690cは、異なる抵抗器値を様々な実施形態に従ってどのように自動発生させることができるかを示している。レイアウト2690aは、2つの部分回路2650及び2651と、複数の抵抗器レイアウトセグメント2680を含む抵抗器とを含む。抵抗器レイアウトセグメント2680は、レイアウト内の例えば複数の多角形に対応することができる。抵抗器レイアウトセグメント2680は、例えば、回路結線図2610のような抵抗器結線図から発生させることができる。従って、この例では、記号2611~2616内の抵抗器セグメント2623は、対応する多角形2680を発生させる。他の実施形態では、例えば、結線図内の単一抵抗器は、複数の多角形に変換され、本明細書に説明するように自動的に配置することができる。この例では、抵抗器レイアウトセグメント2680の各々は、同じ長さLseg及び幅Wsegを有する。抵抗器レイアウトセグメント2680は、図示のように並列に(例えば、長さ又は幅に沿って横並びに)配置され、合計抵抗がRtotalであるように直列及び/又は並列に(例えば、回路結線図2610に示すように)互いに結合することができる(例えば、金属又はポリSiを用いて)。
レイアウト2690a~2690cに示すように、異なる個数の抵抗器レイアウトセグメント2680を用いて異なるRtotal値を発生させることができる。一部のRtotal値は、少なめの抵抗器レイアウトセグメントをもたらす場合があり、それに対して他のRtotal値は、多めの抵抗器レイアウトセグメントをもたらす場合がある。レイアウト2690b及び2690cは、Rtotalに対する2つの抵抗値を示している。レイアウト2690bは、レイアウト2690cよりも少ない抵抗器レイアウトセグメントを有する。しかし、並列抵抗器及び直列抵抗器の構成に基づいて、レイアウト2690bのRtotal値は、レイアウト2690cのRtotal値よりも大きいか又は小さい場合がある。有利なことに、異なるRtotal値に対して異なる設計にわたって使用される抵抗器レイアウトセグメントの個数は、図示のように、異なる個数の直列組合せ及び/又は並列組合せに従って抵抗器レイアウトセグメントを横並びに(例えば、その長さに沿って)配置し、これらを互いに結合することによって変化させることができる。下記でより詳細に説明するように、レイアウト配置命令は、抵抗器レイアウトセグメントをその長さに沿って並列に抵抗器レイアウトセグメントに対して確保された区域に配置することができる。この例では、レイアウト内で垂直に回路1に対するレイアウト2651の下にあって部分回路2650に対して水平に近い区域2660が、抵抗器レイアウトセグメント2680に対して確保されている。レイアウト内の確保区域2660は、抵抗器セグメント長さ(例えば、それにオフセットを加えたもの)にほぼ等しい1つの寸法(ここでは確保高さHr)と、一連の合計抵抗値Rtotalにわたって抵抗器レイアウトセグメントを適合させるために抵抗器セグメント幅の倍数(例えば、それにセグメント間のオフセット又は間隔を加えたもの)に等しい第2の寸法(ここでは確保幅Wr)とを有する多角形を含むことができる。一例示的実施形態では、確保幅Wrは、例えば、最小合計抵抗値Rtotal_minから最大合計抵抗値Rtotal_maxまでの抵抗器を発生させるように最小抵抗器レイアウトセグメント数と最大抵抗器レイアウトセグメント数とを適合させる抵抗器レイアウトセグメント幅の倍数にオフセットを加えたものに等しい。
図27Aは、実施形態による2つの異なる回路と共に使用される2つの抵抗器値に対して発生された例示的レイアウトを示している。この例では、第1の回路(Ckt1)に使用するための第1の抵抗器値Rtotal1は、レイアウト発生器ソフトウエア2790によってレイアウトに変換することができる。一実施形態では、抵抗器値(例えば、Rtotal1)は、例えば、上述のようにパラメータを用いて指定された1つの機能回路構成要素(例えば、バイアス電流発生器)に対する計算値である。Rtotal1を用いて、上述のように複数の抵抗器セグメントを含む結線図を発生させることができる。抵抗器セグメントは、例えば、Rtotal1に関連付けられた第1の予め定められた長さLseg1、並びに他の属性と、対応する回路(Ckt1)とを有し、結線図内に含めることができる。回路結線図内の抵抗器セグメントは、抵抗器レイアウトセグメント2710に変換され、各抵抗器レイアウトセグメントは、レイアウト2701に示すように第1の予め定められた長さLseg1を有する。レイアウト2701は、例えば、Rtotal1が使用される第1の回路に対する回路構成(例えば、電流バイアス回路構成)に対応する部分回路を更に含むことができる。発生器2790は、例えば、第1の回路を部分回路レイアウト2751及び2752として実施することができる。
第2の回路(Ckt2)に使用するための第2の抵抗器値Rtotal2は、レイアウト発生器ソフトウエア2790によってレイアウトに変換することができる。ここで、Rtotal2は、例えば、上述のようにパラメータを用いて指定された別の機能回路構成要素(例えば、発振器)に対する計算値である。Rtotal2を用いて、上述のように複数の抵抗器セグメントを含む結線図を発生させることができる。抵抗器セグメントは、例えば、Rtotal2に関連付けられた第2の予め定められた長さLseg2、並びに他の属性と、第2の回路(Ckt2)とを有し、結線図内に含めることができる。回路結線図内の抵抗器セグメントは、抵抗器レイアウトセグメント2720に変換され、各抵抗器レイアウトセグメントは、レイアウト2702に示すように第2の予め定められた長さLseg2を有する。レイアウト2702は、例えば、Rtotal2が使用される第2の回路に対する回路構成(例えば、発振器回路構成)に対応する部分回路を更に含むことができる。発生器2790は、例えば、第2の回路を部分回路レイアウト2753及び2755として実施することができる。
図27Aに記載の例は、一部の実施形態では、異なる回路と共に使用される抵抗器値が異なる予め定められた物理的寸法を有することができることを示している。各回路の様々な実施形態では、Rtotal1及びRtotal2がそれぞれ変化する時に、より多いか又はより少ない抵抗器レイアウトセグメント2710及び2720を回路2751/2752及び2753/2754/2755に関して使用することができる。しかし、セグメント長さLseg1及びLseg2は同じに留まることができる。しかし、下記の例に示すように、長さのような物理的寸法は、例えば、回路内にどの他の部分回路が含められるかに基づいてレイアウトを最適化するように変えることができる。
図27Bは、実施形態による同じ回路と共に使用される2つの抵抗器値を示している。この例では、発生される2つの異なる抵抗器に対する2つの抵抗器値Rtotal3及びRtotal4は、例えば、レイアウト2703を発生させるレイアウト発生器ソフトウエア2790に与えられる。この例では、回路内の第1の抵抗器に対応する第1の受信抵抗器値Rtotal3は、長さLseg3を各々が有する複数の抵抗器レイアウトセグメント2730に変換される。同様に、回路内の第2の抵抗器に対応する第2の受信抵抗器値Rtotal4は、長さLseg4を各々が有する複数の抵抗器レイアウトセグメント2740に変換される。発生器2790は、例えば、回路のためのレイアウトを部分回路レイアウト2756及び2757として発生させることができる。更に他の実施形態では、Rtotal3とRtotal4は、例えば、同じ抵抗器セグメント長さLsegを使用することができることは理解されるものとする。
図28は、実施形態により異なる部分回路構成に対する抵抗器値に対して発生された例示的レイアウトを示している。一部の実施形態では、レイアウトに使用される他の回路構成に基づいて、異なる物理的寸法は、同じ抵抗器値Rtotal2850に対して使用することができる。例えば、周囲の回路構成が変化する時に(例えば、異なるパラメータタイプ又はパラメータ値が異なる部分回路を選択する時)、得られるレイアウトを最適化するために、異なる空き空間内に適合する異なるサイズの抵抗器レイアウトセグメントを使用することができる。この例では、レイアウト2801に示すように、この抵抗器が部分回路2810及び2811を有する回路内に含められる時に、長さLseg1を有する抵抗器レイアウトセグメント内にRtotalの抵抗器値を実施することができる。しかし、抵抗器が、例えば、レイアウト2802及び2803に示すように部分回路2811を有する異なる回路内に含められる時に、抵抗値Rtotalは、異なる長さ又は構成を有する抵抗器レイアウトセグメントをもたらすことができる。レイアウト2802は、その中に部分回路2811のみが存在する時に使用することができる一例示的セグメント長さLseg2を示しており、レイアウト2803は、その中に同じく部分回路2811のみが存在する時に使用することができる別の例示的セグメント長さLseg3を示している。レイアウト2804は、同じレイアウト内に部分回路2810~2812の更に別の組合せがRtotalに対する抵抗器レイアウトセグメントとして存在する時に使用することができる別のセグメント長さLseg4を示している。レイアウト2801~2804に示すように、異なる部分回路を有する異なるレイアウトは、抵抗器セグメントを配置するための異なるオプションをもたらすことができる。1つの部分回路組合せでは、1つの物理的寸法セット(例えば、Lseg及び/又はWseg)は、より最適なレイアウト(例えば、より小さいサイズ又はより優れた電気性能のもの)を形成することができる。部分回路組合せが変化すると、抵抗器セグメントのための異なる物理的寸法セットは、より最適なレイアウトをもたらすことができる。一例示的実施形態では、1又は2以上の機能回路構成要素に対するパラメータを評価することができ、これらのパラメータに基づいて、例えば、レイアウト及び/又はその内部への抵抗器レイアウトセグメントの配置がレイアウト内の他の部分回路に基づいて変化するように抵抗器セグメントに関する異なる予め定められた物理的寸法にアクセスすることができる。
図29は、実施形態による抵抗器セグメントの例示的レイアウトを示している。本発明の開示の一部の実施形態の特徴及び利点は、例えば、ソフトウエアシステム内に受信された抵抗器値を発生させるように抵抗器レイアウトセグメント(例えば、多角形)を自動的に発生させることを含むことができる。図29は、抵抗値Rtotalを発生させるための複数の抵抗器レイアウトセグメント2950の配置を示している。この例では、長さLsegと幅Wsegとを有する第1の抵抗器レイアウトセグメント2901は、x,y軸の座標(0,0)に配置される。同じ長さ及び幅を有する第2の抵抗器レイアウトセグメント2902は、第1の抵抗器レイアウトセグメント2901の長さに沿って並列に(すなわち、横並びに)配置され、更にセグメント2901からオフセットされる。得られるセグメント2902の配置は、例えば、(x=Wseg+オフセット,y=0)であり、Wsegの関数である。Wsegとオフセットの和を「ステップ」と呼び、各セグメントを反復的に配置するのに使用することができる。従って、この例の抵抗器レイアウトセグメント2950は、例えば、予め定められた物理的寸法(例えば、この場合のWseg)に基づいてPlace(i*ステップ,0)という式に従って配置することができ、ここで、「i」は、0から(1-抵抗器レイアウトセグメントの全数)までに等しく、「ステップ」は、Wsegに基づく配置オフセットである(例えば、格納されて実行中に利用することができる追加の設計規則検査オフセット「DRCオフセット」をWsegに加えたもの)。一部の実施形態では、各抵抗器レイアウトセグメントは、独特な識別子(例えば、インスタンス名称)に関連付けることができ、独特な識別子は、抵抗器レイアウトセグメントを分類することができるように命名することができる。従って、抵抗器レイアウトセグメント識別子は、例えば、分類することができ(例えば、R1、R2、R3、...など)、次に、各抵抗器レイアウトセグメントをシーケンスに配置して(例えば、ソフトウエアループで)Rtotalのレイアウトを生成することができる。
図30は、実施形態による抵抗器セグメントの別の例示的レイアウトを示している。この例は、例えば、レイアウト配置命令を用いて抵抗器レイアウトセグメントをレイアウト内の予め定められた場所に配置することができ、更にそのような配置命令を用いて抵抗器レイアウトセグメントを回転させることができることを示している。例えば、ここで、抵抗器レイアウトセグメント3001は、部分回路A 3050のレイアウトに近く(例えば、右にあり)、かつ部分回路B 3051のレイアウトに近い(例えば、上方にある)確保区域内のx,y軸の開始座標x1,y1に配置される。更に、抵抗器レイアウトセグメント3001は、例えば、角度θ=90度だけ回転される。
抵抗器レイアウトセグメント3002は、更に開始座標x1,y1に配置され、かつ幅及び他のファクタ(例えば、DRC)に基づいてy軸に沿ってオフセットされる。上述のように、セグメント3002は角度θ=90度だけ回転される。同様の方法で、追加の抵抗器レイアウトセグメントを配置してRtotalの合計抵抗器値を発生させることができる。従って、図30に記載の抵抗器レイアウトセグメントは、予め定められた物理的寸法(例えば、この場合のWseg)に基づいてPlace(x1,y1,ステップ,r=90°,p=+)という式に従って配置することができ、ここで、x1はx軸初期配置座標であり、y1はy軸初期配置座標であり、ステップは、Wsegに基づく配置オフセット(例えば、ステップ=f(Wseg))であり、「r」は回転であり、「p」は、ステップの極性(上又は下/左又は右)である。典型的には、本発明の開示の例示的実施形態は、抵抗器の配置と、開始x座標と、開始y座標と、抵抗器セグメントの少なくとも1つの物理的寸法に基づくオフセットと、回転と、極性(例えば、p=±)とを指定するレイアウト配置命令を実行するスクリプトを含むことができる。図29及び図30では、抵抗器レイアウトセグメントは、x軸(図29)及びy軸(図30)に沿って増加する値の場所に直列に配置されるが(例えば、正の極性ステップ)、ステップの極性は、例えば、負の方向とすることができることは理解されるものとする。
図31は、実施形態による抵抗器属性の引き渡しを示している。ある一定の実施形態では、回路結線図に使用するために長さ、幅、又は抵抗器タイプのような抵抗器属性を受信することが有利である場合がある。一実施形態では、回路仕様を用いて抵抗器に対する記号を含む結線図が発生される。しかし、ある一定の電子設計自動化(EDA)ソフトウエアシステムでの一部の結線図発生器は、トランジスタレベル結線図に使用される抵抗器又はそれに対する値を指定するネットリストを受信する機能を持たない場合がある。従って、一実施形態では、抵抗器の属性を設定するのに使用することができる1又は2以上の識別子を有する回路仕様を発生させることができる。例えば、1又は2以上の抵抗器値は、回路仕様内の記号の名称内に符号化することができる。例えば、仕様3101は、構成要素名称のような構成要素に対する識別子を含むことができる。構成要素識別子は、1又は2以上の符号化された抵抗器属性3110を含むことができる。例えば、回路仕様3101内の構成要素は、「rlpp3000rpo5p22u2p5u」という名称を有することができ、ここで、例えば、「rlpp3000」は、特定のライブラリに対応し、rpoは、抵抗器タイプ(例えば、ポリ、ポリ++、又は金属、この場合はrpo=「ポリ」)に対応し、「5p22u」は、5.22マイクロメートルの抵抗器長に対応し、「2p5u」は、2.5マイクロメートルの幅に対応する。以下の例示的コードは、抵抗器セル名称を取得し、それを分割して抵抗器パラメータを復号することを示している:
if(strncmp(Cname’’rlpp3000rpo’’10)==0 then
rexCompile(’’rlpp3000rpo’’)
newstring=rexReplace(Cname’’’’1)//コメント:文字列は40p0u2p0uになる。
rexCompile(’’p’’)
newptstring=rexReplace(newstring’’.’’-1)//コメント:-1が全ての’’p’’を’’.’’で置換、文字列は40.0u2.0uになる。
paramstring=parseString(newptstring’’u’’)//コメント:文字列が(’’40.0’’ ’’2.0’’)に分割される。
//コメント:最初は長さで次が幅 l=40.0 w=2.0
length=car(paramstring)
width=cadr(paramstring)
回路仕様は、結線図発生器構成要素3121が受信して回路結線図3122(例えば、トランジスタレベル結線図)に変換することができる。最初に、回路結線図3122は、回路仕様内の抵抗器構成要素に対応する記号を含むことができる。しかし、抵抗器に対応する記号は、最初に空である場合がある。結線図インポート構成要素3123は、結線図内の記号の名称を読み取り、(i)抵抗器値を結線図の中に挿入し、(ii)抵抗器端子を記号ピンに接続し、(iii)符号化名称に基づいて抵抗器の属性を書き込むことができる。例えば、上述の符号化に基づいて、結線図インポート構成要素3123は、例えば、Lseg=5.22umとWseg=2.5umとを有する「rlpp3000」ライブラリからポリシリコン抵抗器を選択して記号の中に挿入することができる。
回路仕様内に指定される例示的直列抵抗器及び並列抵抗器は以下の通りである:
例1:「rlpp3000rpo7p5u2p0u」という名称の並列接続抵抗器構成要素
//タイプ ポリ:0.20000Kオーム抵抗器
module rlpp3000rpo7p5u2p0u(RP,RN);
inout RP;
inout RN;
endmodule
rlpp3000rpo7p5u2p0u R0(
.RP (RP),
.RN (RN),
);
rlpp3000rpo7p5u2p0u R1(
.RP (RP),
.RN (RN),
);
rlpp3000rpo7p5u2p0u R2(
.RP (RP),
.RN (RN),
);
例2:「rlpp3000rpo24p8u2p0u」という名称の直列接続抵抗器構成要素
module rlpp3000rpo24p8u2p0u(RP,RN);
inout RP;
inout RN;
endmodule
rlpp3000rpo24p8u2p0u R4(
.RP (RP),
.RN (RP_1),
);
rlpp3000rpo24p8u2p0u R5(
.RP (RP_1),
.RN (RP_2),
);
rlpp3000rpo24p8u2p0u R6(
.RP (RP_2),
.RN (RP_3),
);
上述の例1では、第1のモジュールステートメントは、2つの端子RP及びRN(例えば、正及び負の)を有する「rlpp3000rpo7p5u2p0u」という名称の構成要素を定める。続くステートメントは、正の端子間及び負の端子間が互いに接続されたR1、R2、及びR3という名称の構成要素の3つのインスタンスを生成する。同様に、上述の例2では、モジュールステートメントは、同じく2つの端子(正及び負)を有する「rlpp3000rpo24p8u2p0u」という名称の構成要素を定める。続くステートメントは、R0、R1、及びR2という名称の構成要素の3つのインスタンスを生成する。しかし、構成要素R4、R5、及びR6は、直列に接続される(例えば、R0の負の端子がノードRP1に割り当てられ、更にR1の正の端子がRP1に割り当てられるなど)。従って、EDAツール内にインスタンスR1、R2、及びR3を受信する結果として(例えば、verilog入力として)、トランジスタレベル結線図内にrlpp3000rpo7p5u2p0uという記号名称と、R1、R2、及びR3というインスタンス名称とを有する3つの構成要素記号を発生させることができる。これらの記号は、互いに並列に結合される。同様に、インスタンスR4、R5、及びR6を受信する結果として、トランジスタレベル結線図内にrlpp3000rpo24p8u2p0uという記号名称と、R4、R5、及びR6というインスタンス名称とを有する3つの構成要素記号を発生させることができる。これらの記号は、互いに直列に結合される。各場合に、記号名称を読み取ることができ、符号化された属性を有する抵抗器を上述のように挿入することができる。
図32は、別の実施形態による抵抗器属性の回路結線図への引き渡しを示している。この例では、仕様3202が発生器3201から結線図発生器3250に送られる。結線図内に発生されることになる1又は2以上の抵抗器に関する抵抗器属性3203は、例えば結線図インポート構成要素3251によってアクセス可能な場所に格納することができる。一実施形態では、抵抗器属性は、上述のように符号化することができ、又はこれに代えて符号化しなくてもよい(例えば、アクセス可能なコンピュータメモリの場所から取り出すことができるテーブル内にテキストとして又はいずれかの他の方式で格納される)。結線図インポート構成要素3251は、例えば、抵抗器属性3203を読み取り、結線図発生器3250を用いてこれらの抵抗器属性を回路結線図に書き込むことができる。得られる回路結線図3252は、例えば、抵抗器の属性3203が記入された結線図内に上述のように記号の中に抵抗器属性と共に挿入された抵抗器を含むことができる。
上述のように、一例示的実施形態では、発生器は、回路パラメータを受信して発生されることになる回路の仕様を発生させることができる最初のプログラムである。この回路仕様は、結線図発生器を含むことができる電子設計自動化(EDA)ソフトウエアシステムに送ることができる。結線図インポート構成要素は、例えば、図31及び図32に説明した技術を実施するための1又は2以上のスクリプトを含むことができる。
図33は、実施形態によりユーザインタフェース内で指定された抵抗器の発生を示している。この例では、ユーザは、回路を設計ユーザインタフェース(UI)3301(別名フロントエンド)内で設計することができる。設計UI3301は、トランジスタレベル模擬実験ではなく、例えば、高レベル回路挙動模擬実験を実施することができる。この例では、ユーザは、第1の機能回路構成要素3302(例えば、比較器又は増幅器)と抵抗器構成要素3303とを既に選択している。構成要素3302と3303は、設計インタフェース内で互いに結合される。ユーザは、例えば、ユーザインタフェース3304内で抵抗器構成要素3303に対する抵抗器値を指定し、Rtotalに対する所望値を入力することができる。この例では、Rtotalは、最小値Rmin=100オームから最大値Rmax=1メガオームまでの予め定められた範囲にあることが可能である。機能回路構成要素3302も、上述のように例えばユーザ選択パラメータを有することができる。UI3301からのパラメータを用いて回路結線図3310を発生させることができる。結線図は、機能回路構成要素3302に関して受信されたパラメータに基づいて選択される1又は2以上の部分回路3311を含むことができる。更に、回路結線図は、Rtotalに対する抵抗器結線図3313を含むことができる。抵抗器結線図3313は、例えば、直列及び/又は並列に構成され、各々が抵抗器セグメントを含む記号3314のような複数の記号を含むことができる。組合せ結線図は、ユーザによって入力されたRtotal値を近似的に生成することができる(例えば、回路の適正機能に対して許容可能な誤差の程度内で)。
図34は、ユーザインタフェース内で指定された抵抗器の例示的レイアウトを示している。この例では、機能回路構成要素3302に対するパラメータを用いて部分回路レイアウト3401が発生される。抵抗器構成要素3303に対するユーザ入力値(例えば、Rtotal)を用いて、例えば、各々が予め定められたセグメント長さと予め定められたセグメント幅とを有し、組み合わされてRtotal値3403を形成する複数の抵抗器レイアウトセグメント3403a~3403nが発生されて配置される。ユーザ入力Rtotal値が変化すると、Rtotalを発生させるのに使用される抵抗器レイアウトセグメント3403aの個数が変化する。この例では、いずれかの抵抗値Rtotalに対して、第1の抵抗器レイアウトセグメントは、レイアウト内で部分回路3401のレイアウトに隣接する位置(例えば、位置(xi,yi)3450)で始めて配置することができ、次に、その後の抵抗器レイアウトセグメントをx軸に沿ってオフセットされた位置に配置される(例えば、この図では、セグメントがその長さに沿って並列に構成され、あるオフセットだけ離間するように負の×軸方向に)。
図35は、実施形態によりユーザインタフェース内で指定された回路パラメータに基づく抵抗器の発生を示している。上述のように、発生器ソフトウエアによる計算の結果として、1又は2以上の抵抗器値Rtotalを受信することができる。この例では、ユーザは、第1の機能回路構成要素3502(例えば、この場合はバイアス電流発生器回路)と、1又は2以上の他の機能回路構成要素3503とを含む設計ユーザインタフェース(UI)3501内で回路を設計することができる。構成要素3502と3503は、設計インタフェース内で互いに結合される(例えば、バイアス電流が、他の機能回路構成要素のうちの1又は2以上に結合される)。ユーザは、各回路構成要素に対してパラメータを指定することができ、これらのパラメータは発生器ソフトウエアに送られる。構成要素3502に対するパラメータを用いてかつモデルに基づいて1又は2以上の抵抗器値を計算することができる。この例では、ユーザは、例えば、ユーザインタフェース3504内にバイアス電流発生器回路3502に対する望ましい電流を入力することができる。ユーザは、例えば、Ibiasに対する所望値をテキストフィールド内に入力することができる。この例では、Ibiasは、最小値Ibias_min=0.5uAから最大値Ibias_max=5uAまでの予め定められた範囲にあることが可能である。他の機能回路構成要素3503も、例えば、ユーザ選択パラメータを有することができる。UI3501からのパラメータを用いて、Ibias結線図3510と他の機能回路構成要素3503に対する部分回路結線図3511とを含むことができる結線図を発生させることができる。これに加えて、Ibias結線図3510は、Rtotalに対する抵抗器結線図3514を含むことができる。抵抗器結線図3514は、例えば、図33に示すように直列及び/又は並列に構成されて各々が抵抗器セグメントを含む複数の記号を含むことができる。組合せ結線図は、発生器ソフトウエアによって計算されたRtotal値を近似的に生成することができる(例えば、回路の適正機能に対して許容可能な誤差の程度内で)。
以下の例は、バイアス電流発生器機能回路構成要素3502に対するパラメータを受信するのに応答した発生器ソフトウエアによる1つの抵抗器計算を示している。ユーザがIbias_minとIbias_max間のIbias値を入力した場合に、回路モデルに基づいて以下の通りにRbiasを計算することができる:
Ibias=Vref/Rbias→Rbias=Vref/Ibias
ここで、Vrefは、例えば、機能回路構成要素3502又は3503のいずれかの一部として入力され、依然として他のパラメータに基づいて計算された又はソフトウエアによって他のパラメータ(例えば、Vdd)に基づいて自動的に設定された既知のパラメータとすることができる。従って、Rbiasに関する上式は、パラメータとして受信されたIbias値に基づいてRbiasを決定するのに使用することができる例示的回路モデルである。従って、ユーザは、例えば、1つの値(例えば、連続値範囲の)をパラメータとして入力することができ、発生器ソフトウエアは、この値を回路結線図又はレイアウト、又はこれらの両方として実施される抵抗器値Rtotalに変換することができる。上述のように、発生器ソフトウエアは、抵抗器セグメントのための予め定められた物理的寸法にアクセスし、既知のセグメント抵抗Rsegと長さLsegと幅Wsegとを有する抵抗器の直列及び/又は並列の組合せにRbiasを変換することができる。Rbiasのための結線図を例えば上述のように発生し、トランジスタ3513及び増幅器3512のための結線図に結合されてIbias結線図3510を発生させることができる。この図ではバイアス電流発生器回路の状況で抵抗器値を計算することを示したが、アナログ/混合信号回路設計の当業者は、広範な他のアナログ回路又は混合信号回路に対して抵抗器値を計算することができることは理解されるものとする。
図36は、実施形態によりパラメータから決定された抵抗器の例示的レイアウトを示している。1又は2以上の機能回路構成要素3503と対応するパラメータとは、レイアウト3601及び3602をもたらすことができる。Ibias3502及びそれに関して入力されたパラメータ(例えば、0.5uAから5.0uAまで)は、例えば、部分回路3512及び3513に対応するレイアウト3603と、Rbiasの計算値に対する抵抗器レイアウトセグメントのレイアウト3604とをもたらすことができる。上述のように、各抵抗器レイアウトセグメント3605aは、例えば、同じ抵抗器セグメント値Rsegと、長さLsegと、幅Wsegとを有することができる。従って、特定の回路パラメータに対してユーザが入力する値が連続値範囲にわたって変化すると、計算抵抗器値が変化し、この値を発生させるための得られる抵抗器レイアウトセグメント数が変化する。そのような例示的実施形態は、発生器ソフトウエアが、例えば、連続値範囲にわたるパラメータを受信し(例えば、ユーザから)、指定回路挙動を実施するアナログ回路結線図及び/又はアナログ回路レイアウトを自動的に発生させることを有利に可能にすることができる。
抵抗器分割器(resistor dividers)の自動発生
本発明の開示の一部の実施形態の特徴及び利点は、抵抗器分割器の自動発生を含むことができる。図37A~図37Cは、実施形態による抵抗器分割器の発生を示している。例えば、様々な実施形態では、抵抗器分割器機能回路構成要素3701は、合計抵抗、タップ個数、及び有効化/無効化関数などに対応するパラメータを有することができる。構成された抵抗器分割器機能回路構成要素に対するパラメータ値3702は、抵抗器分割器発生器構成要素3705を含むことができる発生器ソフトウエア3703によって受信することができる。パラメータは、発生されることになる抵抗器分割器を指定することができる。抵抗器分割器発生器構成要素3705は、抵抗器分割器の1又は2以上の出力間の抵抗器に対応する複数の抵抗器値を決定することができる。
抵抗器分割器発生器3705は、異なる出力タップ個数と異なる合計抵抗とを有する広範な抵抗器分割器を発生させることができる。例示的抵抗器分割器は、図37Bに例示している。抵抗器分割器3707は、2つの抵抗器と1つの出力(又はタップ)とを含む。抵抗器分割器3707は、入力端子(上部)上で第1の電圧基準を受信することができる。上部抵抗器3710は、入力上の第1の電圧基準と出力タップ(output tap)の間に結合された端子を含み、下部抵抗器3711は、出力タップと下端子(例えば、接地)上の第2の電圧基準の間に結合された端子を含む。
抵抗器分割器3708は、3つの抵抗器と2つの出力タップとを含む。上部抵抗器3712は、電圧基準を受信するための上部入力に結合された端子と、第1のタップ(タップ1)に結合された第2の端子とを有する。中間抵抗器3713は、タップ1に結合された第1の端子と、第2の出力タップ(タップ0)に結合された第2の端子とを含む。下部抵抗器3714は、タップ0に結合された第1の端子と、下端子(例えば、第2の電圧基準を受信するための)に結合された第2の端子とを有する。
抵抗器分割器3709は、N個の出力タップ(ここで、Nは整数)と、上部抵抗器3715、下部抵抗器3716、及び複数の中間の抵抗器及びタップ(図示せず)を含むN+1個の抵抗器とを含む。
図37Cは、抵抗器分割器発生器3705によって発生された抵抗器分割器内の各抵抗器を上述した複数の直列及び/又は並列の抵抗器セグメントとして実施することができることを示している。例えば、抵抗器分割器発生器3705は、図37Bに示す複数の抵抗器値の各々を近似的に生成するための複数の抵抗器セグメントを決定することができる。図37Bに記載の各抵抗器値は、第1の個数の直列抵抗器セグメント及び/又は第2の個数の並列抵抗器セグメントとして実施することができる。抵抗器分割器3720は、抵抗器分割器3707の一例示的実施を示している。この例では、上部抵抗器3710は、それに対する抵抗値を発生させるように直列及び/又は並列に構成された複数の抵抗器セグメント3723として実施される。同様に、抵抗器3711も、それに対する抵抗値を発生させるように直列及び/又は並列に構成された複数の抵抗器セグメント3724として実施される。
一部の実施形態では、抵抗器分割器発生器ソフトウエアコンポーネント3705は、発生されることになる抵抗器分割器に対する合計抵抗(例えば、直列抵抗器の和)と、各抵抗器の値(例えば、パラメータ内に指定されたタップ電圧に基づく)とをタップ個数と各タップでの電圧とに基づいて決定することができる。例えば、出力タップが入力電圧の百分率(例えば、Tap1=10%、Tap2=50%、Tap3=70%など)として指定される場合に、Nタップ抵抗器分割器3709内の抵抗器に対する値は、以下の通りに決定することができる。下部抵抗器3716から始めてN+1個の抵抗器にわたって上部抵抗器3715まで上に移動する。
Rbottom=R1=Rtotal*tap1/100
R2=Rtotal*(Tap2-Tap1)/100
Ri=Rtotal*(Tap_iTap_i-1)/100
Rtop=R_N+1*(1-TapN)/100
従って、上述の例では、抵抗器値は、タップ個数と、2つの入力電圧の間の電圧差と、複数のタップ電圧と、下部電圧とに基づいて決定される。電圧差は、実電圧として又は上述の例に示す入力電圧の百分率として表すことができる。
一実施形態では、抵抗器分割器内の各抵抗器値は、例えば、分割器内の各抵抗器に対する複数の抵抗器セグメントに対する値を決定するための入力として抵抗器発生器ソフトウエアコンポーネント3704に送ることができる。従って、抵抗器分割器内の各抵抗器は、複数の抵抗器セグメントとして実施することができる。
抵抗器セグメントが決定された状態で、回路仕様を発生させることができる。抵抗器値を形成するように抵抗器セグメントの各々を構成するための回路仕様が発生される。例えば、抵抗器分割器3707では、回路仕様は、抵抗器セグメントのうちの第1の複数のものを直列及び/又は並列に構成して上部抵抗器3723を形成することができ、抵抗器セグメントのうちの第2の複数のものを直列及び/又は並列に構成して下部抵抗器3724を形成することができる。上述のように、回路仕様は、例えば、ネットリストとすることができる。抵抗器分割器3708では、回路仕様は、抵抗器セグメントのうちの第1の複数のものを直列及び/又は並列に構成して上部抵抗器3725を形成し、抵抗器セグメントのうちの第2の複数のものを直列及び/又は並列に構成して下部抵抗器3727を形成し、第3の複数の抵抗器セグメントを直列及び/又は並列に構成して中間抵抗器3726を形成することができる(例えば、ここで、パラメータは2つの出力タップを指定する)。抵抗器分割器3709では、回路仕様は、抵抗器セグメントのうちの第1の複数のものを直列及び/又は並列に構成して上部抵抗器3728を形成し、抵抗器セグメントのうちの第2の複数のものを直列及び/又は並列に構成して下部抵抗器3729を形成し、1又は2以上の更に別の複数の抵抗器セグメントを直列及び/又は並列に構成して中間抵抗器を形成することができる(例えば、ここで、パラメータは2よりも多い出力タップを指定する)。
上述の抵抗器分割器のための回路仕様を用いて、この抵抗器分割器を発生させるように構成された抵抗器セグメントを含むトランジスタレベル結線図を発生させることができる。上述のように、トランジスタレベル結線図記号は、抵抗器分割器のための回路仕様内に指定された各抵抗器セグメントに対して発生させることができ、抵抗器は、記号の中に挿入され、かつ抵抗器値及び他の属性(例えば、Runit、Lseg、Wseg)を用いて構成することができる。回路仕様は、抵抗器分割器を形成するために抵抗器セグメントが結線図内で互いにどのように接続されるかを指定することができる。抵抗器分割器結線図の例を図37Cに示しており、この図では、抵抗器分割器3720は1つの出力タップを含み、抵抗器分割器3721は2つの出力タップを含み、抵抗器分割器3722はN個の出力タップを含む。
図38Aは、別の実施形態による部分回路を含む抵抗器分割器を発生させる方法を示している。一部の実施形態では、抵抗器分割器内に能動回路構成を含めることが有利である場合がある。例えば、抵抗器分割器機能回路構成要素3801に対するパラメータ3802は、有効化関数(例えば、有効化=イエス)を指定するためのパラメータを含むことができる。従って、発生器ソフトウエア3803内の抵抗器分割器ソフトウエアコンポーネント3805は、1又は2以上の部分回路結線図3807~3809を抵抗器分割器の一部として指定することができる回路仕様を発生して抵抗器分割器結線図3810を発生させることができる。指定部分回路結線図は、例えば、抵抗器分割器を有効化(enable)又は無効化(disable)にするための入力を受信するように構成することができる。他の機能を他の部分回路結線図を用いて抵抗器分割器の中に組み込むことができることは理解されるものとする。
一実施形態では、部分回路結線図は、抵抗器分割器を有効化及び無効化にするためのスイッチを含むことができる。図38Bは、異なるスイッチ構成を有する抵抗器分割器の様々な実施形態を示している。例えば、3820に示す一実施形態では、スイッチ3826は、抵抗器分割器の入力と、抵抗器分割器の抵抗R1 3824を発生させるのに使用される上部抵抗器セグメントの1又は2以上の端子との間に結合される。分割器3820内の各抵抗3824...3825は、並列にすることができる複数の抵抗器セグメントを含むので、スイッチは、1つのセグメントの端子又は複数の並列セグメントの端子に結合することができる。スイッチ3826は、抵抗器分割器を有効化又は無効化にするための有効化入力(en)を含むことができる。この例では、スイッチは高電圧スイッチ(HV SW)であり、分割器の上部での高入力電圧に耐えることができるトランジスタを含むことができる。分割器3821では、スイッチ3829は、抵抗器分割器の基準入力(例えば、接地)と、抵抗器分割器の抵抗RN+1 3828を発生させるのに使用される下部抵抗器セグメントの1又は2以上の端子との間に結合される。ここで、スイッチ3829は、分割器の入力に印加される全電圧に耐える必要がない低電圧スイッチとすることができる。分割器3822では、スイッチ3832は、抵抗器分割器の出力タップのうちの1つ(この図ではタップ1)と、抵抗器分割器の中間抵抗器セグメント(例えば、RN3830内の抵抗器セグメント)の1又は2以上の端子との間に結合することができる。
コンデンサーの自動発生
本発明の開示の特徴及び利点は、コンデンサーの自動発生を含む。一部の実施形態では、コンデンサーは、例えば、トランジスタレベルの回路及び/又はレイアウトに使用するための一連の値にわたって発生させることができる。
図39は、実施形態によるコンデンサーを自動的に発生させるためのコンピュータ実装システム3901を示している。本発明の開示の特徴及び利点は、例えば、システムによって受信される指定コンデンサー値又は計算コンデンサー値に基づくコンデンサーを含む結線図、レイアウト、又はこれらの両方を自動的に発生させることができる。例えば、本発明の開示によるシステムは、コンデンサー値を受信してコンデンサーのための結線図、コンデンサーに対するレイアウト、又はこれらの両方を自動的に発生させることができる。この例では、コンデンサー3910に対応するコンデンサー値Ctotalは、発生器ソフトウエア3902のコンデンサー仕様発生器構成要素3912によって発生されることになる。様々な実施形態では、1又は2以上のコンデンサー値は、例えばユーザによって指定され、かつ発生器ソフトウエアによって入力パラメータとして受信することができる。他の実施形態では、下記でより詳細に説明するように、1又は2以上のコンデンサー値は、例えば、発生器ソフトウエアによって受信される他のパラメータに基づいて計算することができる。
一部の実施形態の特徴及び利点は、発生されることになる直列単位コンデンサーセグメント、発生されることになる並列単位コンデンサーセグメント、又は直列単位コンデンサーと並列単位コンデンサーの両方の1又は2以上の組合せのようなセグメントにコンデンサー値を変換することを含む。例えば、コンデンサー仕様発生器3912は、コンデンサー値Ctotalを近似的に生成するために、直列に構成されるコンデンサーセグメントの第1の個数S、及び/又は並列に構成されるコンデンサーセグメントの第2の個数Pを決定することができる。S及びPは、例えば、1よりも大きいか又はそれに等しい整数とすることができる。S及び/又はPは、これに代えてNとして表すことができる。一実施形態では、例えば、これらの単位コンデンサーのキャパシタンスを同じとすることができる。直列コンデンサーの個数S及び/又は並列コンデンサーの個数Pが決定された状態で、例えば、結線図、レイアウト、又はこれらの両方を発生させるための回路仕様3913(例えば、Ctotalに対する)を発生させることができる。この例では、コンデンサー仕様発生器3912は、第1の個数Sのコンデンサーセグメントを直列に、又はこれに代えて第2の個数Pのコンデンサーセグメントを並列に(又はこれら両方の組合せで)構成するための回路仕様3913を発生させることができる。本明細書では、Ctotalを発生させるための変形としてコンデンサーの1つの直列組合せと1つの並列組合せとを示すが、例えば、許容公差内にあるCtotalを達成するために直列コンデンサーと並列コンデンサーとの複数の組合せを使用することができることは理解されるものとする。
様々な実施形態では、回路仕様3913は、複数の構成要素に対する構成を指定することができる。この例では、構成要素は、単位コンデンサー(例えば、コンデンサーセグメント3914~3918によって示す)に対応し、回路仕様3913は、これらのコンデンサーセグメント間の接続を指定することができる。例えば、回路仕様は、上述のようにverilog.vファイルのようなネットリストとすることができ、ここで、構成要素間の接続は、ネットリスト内の共通指定ノードに基づいている。
本発明の開示の例示的実施形態は、コンデンサーセグメント3911に対する1又は2以上の予め定められた物理的寸法を更に受信することができる。予め定められた物理的寸法は、下記で更に例示するように、例えば、異なるコンデンサー値のレイアウトを有利に最適化するように設定することができる。例えば、予め定められた物理的寸法は、コンデンサーセグメントの1つの寸法に沿う予め定められた最大長さ(例えば、長さLseg)又はコンデンサーセグメントの別の寸法に沿う予め定められた最大長さ(例えば、幅Wseg)とすることができる。予め定められた物理的寸法は、発生される特定のコンデンサーがこの予め定められた物理的寸法にアクセスすることができるように発生されるコンデンサー値に関連付けることができる。従って、特定の回路又はプロジェクトに対する特定のコンデンサー値Ctotalが受信されると、この特定のコンデンサーに関するLseg及び/又はWsegのような関連パラメータは、例えば既知の格納場所から(例えば、メモリ、ファイル、又はデータベースから)取得することができる。
ある一定の実施形態の特徴及び利点は、回路仕様に基づいてコンデンサー値のための結線図を発生させることを更に含むことができる。この例では、回路仕様3913は、発生器ソフトウエアシステム3902から結線図及びレイアウト発生器ソフトウエアシステム3903に送られる。結線図及びレイアウト発生器ソフトウエアシステム3903は、例えば、上述の電子設計自動化(EDA)ソフトウエアシステムとすることができる。ソフトウエアシステム3903は、回路仕様3913からコンデンサー結線図3921を発生させるための結線図発生器構成要素3920を含むことができる。結線図発生器構成要素3920は、例えば、ネットリストを受信し、それを例えば結線図記号と結線図記号間の接続とに変換することができる。しかし、一部の結線図発生器は、ネットリストに基づいてコンデンサーのような構成要素の属性を特定の指定値に設定することができない場合がある。従って、一例示的実施形態では、結線図インポート構成要素3922が、例えば、回路仕様3913又は発生回路結線図3921を解析し、その内部のコンデンサーのような構成要素の属性を設定することができる。
一例示的実施形態では、回路仕様3913は、複数の単位コンデンサー(例えば、直列又は並列に又はこれらの両方からなる)に対応する構成要素を指定することができ、結線図発生器3920は、そのような構成要素に対する単位コンデンサーを持たない結線図記号を発生させることができる(例えば、ネットリスト内の構成要素名称がソフトウエアシステム3903のライブラリに存在しない場合に、発生記号は空とすることができる)。従って、最初に発生回路結線図は複数の空の記号を含むことができ、記号のピンは、受信ネットリスト内に指定されている通りに互いに結合される。結線図インポート構成要素3922は空の構成要素を識別し、コンデンサーを記号の中に挿入するためのアルゴリズムによって実行することができる。例えば、結線図インポート構成要素3922は、例えば、コンデンサーを空の結線図記号の各々の中に自動的に挿入し、挿入されたコンデンサーの端子を結線図記号のピンを用いて接続することもできる。
一部の実施形態では、結線図インポート構成要素3922は、コンデンサーの属性を設定するためのコードを含むことができる。例えば、コンデンサーに対する属性は、長さ及び幅のようなコンデンサーの物理的寸法を含むことができる。属性は、コンデンサータイプ(例えば、金属-絶縁体-金属「mim」)を含むことができる。1又は2以上のコンデンサーの属性は、ソフトウエアコンポーネント間で様々な方法で引き渡すことができる。一実施形態では、仕様3913は、属性を設定するための情報を含むことができる。例えば、上述のように、属性は、回路仕様3913内の構成要素に対する識別子内に符号化する(例えば、ネットリスト内のコンデンサーの名称内に符号化する)ことができる。従って、記号を発生させるためにネットリスト内の構成要素に対する記号が使用される時に、記号は識別子を含むことができる。識別子は、例えば、結線図インポート構成要素3922が読み取り、コンデンサーを空の記号内に配置するのに使用することができる。他の実施形態では、属性は、例えば、予め定められた場所に格納され、結線図インポート構成要素3922によってアクセス可能である。コンデンサーに対する属性を引き渡すためのより詳細な例示的技術を以下に例示目的で提供する。
上述のように、結線図発生器3920は、コンデンサー結線図3921を出力することができる。コンデンサー結線図3921は、ピンを有する複数の記号を含むことができる。各記号は、内部に埋め込まれたコンデンサーセグメントを有することができる。上述のように、記号は、1又は2以上の直列構成及び/又は並列構成で互いに結合される。例えば、各々が内部コンデンサーセグメントを有する組合せ記号は、望ましい合計コンデンサー値Ctotalを形成する。一部の例示的実施形態では、1つの合計コンデンサー値Ctotalを形成するのに使用されるコンデンサーセグメントは、各々が同じ長さ、幅、及びコンデンサータイプを有することができる。
本発明の開示の一部の実施形態の特徴及び利点は、コンデンサー結線図からコンデンサーレイアウトを自動的に発生させることを含むことができる。例えば、コンデンサー結線図3921をレイアウト発生器3923がコンデンサーレイアウト3924に変換することができる。レイアウト発生器3923は、例えば、回路結線図の記号内のコンデンサーを対応するコンデンサーセグメントに関して指定された寸法を各々が有する複数の多角形に変換することができる。一実施形態では、レイアウト配置命令3925を実行して、下記でより詳細に説明するように各多角形をレイアウトに配置することができる。従って、結線図内で合計コンデンサー値Ctotalを形成するコンデンサーセグメントをコンデンサーレイアウト3924に自動的に変換することができる。
図40Aは、実施形態によるコンデンサーを発生させる方法を示している。4001では、発生されることになるコンデンサーに対するキャパシタンス値が受信される。キャパシタンス値は、例えば、ユーザインタフェース内にユーザによって定められた入力パラメータとして受信することができ、又は例えば発生されることになる回路のパラメータに基づいてキャパシタンス値を決定するソフトウエアモジュールから受信することができる。4002では、システムは、合計キャパシタンスを形成するために組み合わされることになる単位キャパシタンスを有する単位コンデンサーの個数Nを決定する。個数Nは、これに代えて、並列に構成されたP(並列(parallel)を表す)コンデンサーセグメント又は直列に構成されるS(直列(series)を表す)コンデンサーセグメントとして(又はこれら両方の組合せとして)表示することができる。4003では、単位キャパシタンスを有するN個の単位コンデンサー結線図を含むトランジスタレベル結線図が発生される。N個の単位コンデンサー結線図は、発生されることになるコンデンサーの合計キャパシタンスを生成するように構成される。4004では、コンデンサーを生成するように構成されたN個のコンデンサーレイアウト要素を含むレイアウトが発生される。
図40Bは、実施形態によるコンデンサー寸法を決定するための一例示的技術を示している。4010では、コンデンサー値(例えば、Ctotal=25pf)が受信される。一部の実施形態では、発生器ソフトウエア内のコンデンサー発生器ソフトウエアコンポーネントは、予め定められたキャパシタンスパラメータを取り出すことができる。例えば、最大キャパシタンスと最小キャパシタンスが格納され、コンデンサーを発生させるのに使用するために取り出すことができる。一部の実施形態では、異なるコンデンサータイプは、例えば、予め定められた異なる最大キャパシタンス及び/又は最小キャパシタンスを有することができ、システムは、発生されることになる回路又はコンデンサーに関する他の情報に基づいて予め定められたキャパシタンスパラメータセットを選択することができる(例えば、選択は、指定コンデンサータイプ又は特定のアナログ回路に使用するために自動的に選択されるコンデンサータイプに基づく)。この例では、4011では、受信キャパシタンスCtotalは、最大キャパシタンスCmaxと比較される。Ctotal>Cmaxである場合に、システムは、4013に示すように、並列に構成される単位コンデンサーCunitの個数N(これに代えて、Pと表示する)を決定することができる。Cunitは、N個の並列単位コンデンサーが組み合わされてCtotalを形成するようなキャパシタンス値とすることができる。従って、複数の単位コンデンサーCunitを各コンデンサーのサイズが予め定められた最大キャパシタンスよりも小さくなるように有利に使用することができる。Ctotal<Cmaxである場合に、4012では、受信キャパシタンスCtotalは、予め定められた最小キャパシタンスCminと比較される。Ctotal<Cminである場合に、システムは、4014に示すように、直列に構成される単位コンデンサーCunitの個数N(これに代えて、Sと表示する)を決定することができる。ここで、Cunitは、N個の直列単位コンデンサーが組み合わされてCtotalを形成するようなキャパシタンス値とすることができる。従って、複数の単位コンデンサーを各コンデンサーのサイズが予め定められた最大キャパシタンスよりも大きくなるように有利に使用することができる。この例では、Cmin<Ctotal<Cmaxである場合に、単一単位コンデンサーを使用することができる。一部の実施形態では、コンデンサー値を達成するために、並列コンデンサーと直列コンデンサーの組合せを使用することができる。
4015では、システムは、単位コンデンサーCunitの物理的寸法を決定することができる。例えば、一実施形態では、システムは、第1の寸法に沿う予め定められた最大長さを格納及び取り出すことができる。様々な実施形態では、システムは、N個の単位コンデンサーの第1の寸法に対応する第1の長さを第1の寸法に沿う予め定められた最大長さよりも短いか又はそれに等しいように構成することができる。更に、システムは、N個の単位コンデンサーの第2の寸法に対応する第2の長さを少なくとも単位キャパシタンスCunitと第1の長さとに基づいて決定することができる。一例示的実施形態では、結線図内の単位コンデンサーCunitは、長さ属性Lsegと幅属性Wsegとを有することができる。従って、第1の寸法に沿う第1の長さは、長さ属性Lsegに対応することができ、第2の寸法に沿う第2の長さは、幅属性Wsegに対応することができる。従って、一実施形態では、Lsegは、最大長さLmaxよりも短いか又はそれに等しいように設定することができ、システムは、単位コンデンサー値Cunitを達成するようなWsegを決定することができる。例えば、一実施形態では、Lsegは、最初に予め定められた最大長さLmaxに設定することができる。Wsegは、以下の通りに決定することができる:
Wseg=Cunit/[Lmax*(キャパシタンス/um2)]
一部の実施形態の特徴及び利点は、コンデンサーのアスペクト比を設定する機能を含むことができる。構成可能(又はプログラム可能)なアスペクト比は、例えば、レイアウトを最適化して回路面積を低減するのに有利とすることができる。一実施形態では、単位コンデンサーの各寸法に沿う長さ間の比は、予め定められたアスペクト比(例えば、Wseg/Lseg)を発生させるように構成することができる。例えば、4015でWsegとLsegとが決定された状態で、システムは、計算Wseg/Lsegのアスペクト比を例えばコード内に定めるか又はメモリから取り出すことができる予め定められたアスペクト比と比較することができる。4016でアスペクト比が適合した場合に(例えば、指定公差内にある)、システムは、4017で単位コンデンサーに対するネットリスト仕様を発生させる。しかし、4016でアスペクト比が適合しなかった場合に、システムは、4018で寸法のうちの1つ(例えば、Wseg又はLseg)を調節することができる。例えば、初期LsegがLmaxに設定される場合に、例えば、アスペクト比が予め定められたアスペクト比を満足するまでLsegを漸次的に低減して調節されたWsegを発生させることができる。最後に、4017では、コンデンサーを指定する情報を名称のような識別子内に符号化することができる。例えば、コンデンサーを直列又は並列に構成する回路仕様ネットリスト内のN個のコンデンサー構成要素の名称は、CAP_<cap_type>_<Lseg>_<Wseg>とすることができる。各コンデンサー記号は、例えば、CAP_<cap_type>_<Lseg>_<Wseg>_Nという名称の複合コンデンサーに対する記号に配置することができ、ここで、cap_typeは、コンデンサータイプ(例えば、「mim」)であり、Lsegは、長さ属性であり、Wsegは、幅属性であり、Nは、Ctotalを発生させるのに使用されるコンデンサーの個数である。様々な実施形態では、トランジスタレベル結線図内の構成要素(コンデンサーを含む)は、例えば、図31及び図32に関して上述したように発生させることができる。
コンデンサーを発生させるための例示的実施形態
図41A~図41Cは、実施形態による例示的コンデンサー結線図発生を示している。図41Aは、互いに並列に結合されたP個の記号4101A~4101Pを含むコンデンサー結線図を示している。これらの記号は、例えば、ピンを通じて互いに結合することができる。図41Bは、互いに直列に結合されたS個の記号4102A~4102Sを含むコンデンサー結線図を示している。図41Cは、記号ピン4121と4122を含む例示的記号4120を示している。記号4120は、第1の端子4124と第2の端子4125とを有するトランジスタレベル単位コンデンサー4123 Cunitを含む。上述のように、一部の実施形態では、記号4120は、単位コンデンサーセグメントなく発生させることができる(例えば、空の記号として)。単位コンデンサーセグメントCunitは、ソフトウエアによって記号4120の中に既に挿入されている場合がある。更に、ソフトウエアは、例えば、コンデンサー端子4124を記号ピン4121に接続し、コンデンサー端子4125を記号ピン4122に接続することができる。一実施形態では、ソフトウエアは、例えば、電子設計自動化(EDA)ソフトウエアシステム内で実行されて例えばネットリストを受信するのに応答して発生された回路結線図からもたらされる空の記号インスタンスを検出してコンデンサーを自動的に挿入するスクリプト(例えば、Cadence(登録商標)内のSkill scripts(スキルスクリプト))を含むことができる。更に、スクリプトは、上述のように発生された値を用いて挿入されたコンデンサーの属性を設定することができる。
記号4101A~4101P又は4102A~4102S内のコンデンサーセグメントの組合せキャパシタンスは、発生される合計コンデンサー値Ctotalを発生させることができる。上述のように、一部の実施形態では、これらの単位コンデンサーは、例えば、同じコンデンサー値Cunitと、同じ予め定められた長さLsegと、同じ予め定められた幅Wsegとを有することができる。予め定められたパラメータ(例えば、Cmin、Cmax、Lmax、又はプログラミングされたアスペクト比のうちの1又は2以上)に基づいて単位コンデンサーの長さ及び幅を計算することは、効率的な自動レイアウトを有利に可能にすることができる。
図42は、様々な実施形態による例示的コンデンサーレイアウトを示している。例示的レイアウト4210~4214は、Ctotal(発生されることになるコンデンサー)の異なる値に応答してコンデンサー値をどのように自動発生させることができるかを示している。発生器4201は、例えば、複数のコンデンサー値Ctotal1~Ctotal5を受信し、Lseg及びWsegに対する属性に等しいx軸及びy軸に沿う長さを有する1又は2以上のコンデンサーレイアウトセグメント(例えば、4210又は4220/4221)を含むレイアウト4210~4214を発生させることができる。各コンデンサーレイアウト内のコンデンサーレイアウトセグメントは、例えば、複数の多角形に対応することができる。各コンデンサーレイアウトセグメントセットに対する多角形は、異なる長さ及び幅を有することができる。コンデンサーレイアウトセグメントは、例えば、図41Aに記載の回路結線図4110のようなコンデンサー結線図から発生させることができる。従って、この例では、記号内のコンデンサーセグメントは、コンデンサーレイアウト4210~4214に対する対応する多角形を発生させる。他の実施形態では、例えば、結線図内の単一コンデンサーを複数の多角形に変換し、本明細書に説明するように自動的に配置することができる。この例では、コンデンサーレイアウトセグメントの各々は、1次元又は2次元のアレイで(例えば、長さ又は幅に沿って横並びに)配置され、合計キャパシタンスがCtotalであるように直列及び/又は並列に(例えば、図41A又は図41Bに示す結線図内に示すように)互いに結合することができる(例えば、金属又はポリSiを用いて)。例えば、コンデンサーレイアウトセグメントは、最大距離に達するまで一列に配置することができ、次に、新しい列を始めることができる。これに代えて、コンデンサーレイアウトセグメントは、例えば、N×Mアレイで構成することができる。コンデンサーレイアウトセグメントは、他の回路構成の上方部分に配置することができる。コンデンサーレイアウトセグメントは、当業者に公知であるように金属化層を用いて実施することができる(例えば、金属3(M3)及びM3とM4の間のmim層を使用するmimコンデンサー)。
レイアウト4210~4214に示すように、異なるサイズを有する異なる個数のコンデンサーレイアウトセグメントを用いて異なるCtotal値を発生させることができる。一部のCtotal値は、少なめのコンデンサーレイアウトセグメントをもたらす場合があり、それに対して他のCtotal値は、多めのコンデンサーレイアウトセグメントをもたらす場合がある。有利なことに、異なるCtotal値に対して異なる設計にわたって使用されるコンデンサーレイアウトセグメントの個数は、図示のように、異なる個数の直列組合せ及び/又は並列組合せに従ってコンデンサーレイアウトセグメントを横並びに配置し(例えば、その長さに沿って)、これらを互いに結合することによって変えることができる。下記でより詳細に説明するように、レイアウト配置命令は、例えば、コンデンサーレイアウトセグメントをその長さに沿って並列にコンデンサーレイアウトセグメントに対して確保された区域(例えば、金属化を使用する部分回路に対する区域の上方にある)に配置することができる。
図43は、実施形態によりユーザインタフェース内で指定されたコンデンサーの発生を示している。この例では、合計キャパシタンスは、コンデンサー機能回路構成要素に対応するパラメータとして受信される。例えば、ユーザは、回路を設計ユーザインタフェース(UI)4301(別名フロントエンド)内で設計することができる。設計UI4301は、トランジスタレベル模擬実験ではなく、例えば、高レベル回路挙動模擬実験を実施することができる。この例では、ユーザは、第1の機能回路構成要素4302(例えば、比較器又は増幅器)とコンデンサー構成要素4303とを既に選択している。構成要素4302と4303は、設計インタフェース内で互いに結合される。ユーザは、例えば、ユーザインタフェース4304内でコンデンサー構成要素4303に対するコンデンサー値を指定し、Ctotalに対する所望値を入力することができる。この例では、Ctotalは、選択可能UI最小値Cmin=100フェムトファラッド(fF)から選択可能UI最大値Cmax=50ピコファラッド(pF)までの予め定められた範囲にあることが可能である。機能回路構成要素4302も、上述のように例えばユーザ選択パラメータを有することができる。UI4301からのパラメータを用いて回路結線図4310を発生させることができる。結線図は、機能回路構成要素4302に関して受信されたパラメータに基づいて選択される1又は2以上の部分回路4311を含むことができる。更に、回路結線図は、Ctotalに対するコンデンサー結線図4312を含むことができる。コンデンサー結線図4312は、例えば、直列及び/又は並列に構成され、各々が単位コンデンサー(Cunit)を含む記号4314のような複数の記号を含むことができる。組合せ結線図は、ユーザによって入力されたCtotal値を近似的に生成することができる(例えば、回路の適正機能に対して許容可能な誤差の程度内で)。
図43は、ユーザインタフェース内で指定されたコンデンサーの例示的レイアウトを示している。この例では、機能回路構成要素4302に対するパラメータを用いて部分回路レイアウト4320が発生される。コンデンサー構成要素4303に対するユーザ入力値(例えば、Ctotal)を用いて、例えば、各々が同じ単位キャパシタンスCunitと、セグメント長さLsegと、セグメント幅Wsegとを有し、組み合わされてCtotal値4321を形成する複数のコンデンサーレイアウトセグメント(例えば、コンデンサーレイアウトセグメント4321a)が発生されて配置される。ユーザ入力Ctotal値が変化すると、Ctotalを発生させるのに使用されるコンデンサーレイアウトセグメント4321の個数及びそのようなセグメント(Wseg、Lseg)の寸法が変化する。この例では、コンデンサーレイアウトセグメントは、あるオフセットだけ離間して部分回路レイアウト4320の上方に構成された(例えば、コンデンサー極板に関して異なる金属化層を用いて)2次元アレイから構成される。
一部の実施形態では、合計キャパシタンスは、発生されることになる回路を指定する情報に基づいて生成することができる。例えば、図44は、実施形態によりユーザインタフェース内で指定された回路パラメータに基づくコンデンサーの発生を示している。合計キャパシタンスは、発生されることになる回路に対する予め定められた回路モデルに基づいて生成することができる。例えば、発生器ソフトウエアによる計算の結果として、1又は2以上のコンデンサー値Ctotalを受信することができる。この例では、ユーザは、機能回路構成要素4402(例えば、この場合は遅延回路)と、1又は2以上の他の機能回路構成要素(FCC)4403及び4404とを含む設計ユーザインタフェース(UI)4401内で回路を設計することができる。構成要素4402と4403と4404は、設計インタフェース内で互いに結合される(例えば、遅延回路は、FCC4403から信号を受信し、FCC4404に信号を出力する)。ユーザは、各回路構成要素に対してパラメータを指定することができる。構成要素4402に対するパラメータを用いて1又は2以上のコンデンサー値を計算することができる。この例では、ユーザは、例えば、ユーザインタフェース4405内に遅延回路4402に対する望ましい時間遅延を入力することができる。ユーザは、例えば、時間遅延に対する所望値をテキストフィールド内に入力することができる。この例では、時間遅延は、最小値delay_min=0.5usから最大値delay_max=200usまでの予め定められた範囲にあることが可能である。他の機能回路構成要素4403/4404も、例えば、ユーザ選択パラメータを有することができる。UI4401からのパラメータを用いて、遅延回路結線図4410と他の機能回路構成要素4403及び4404それぞれに対する部分回路結線図4411及び4412とを含むことができるトランジスタレベル結線図を発生させることができる。更に、遅延回路結線図4410は、Ctotalに対するコンデンサー結線図4413と、バイアス電流回路結線図(ibias)4414と、他の回路構成に対する結線図(図示せず)とを含むことができる。この図ではコンデンサー4413及びibias4414を記号として示すが、ibiasに対するトランジスタレベル結線図は、トランジスタレベル構成要素(例えば、nタイプ又はpタイプのトランジスタ、抵抗器、又はコンデンサー)を含むと考えられることは理解されるものとする。コンデンサー結線図4413は、例えば、図41A及び図41Bに示すように直列及び/又は並列に構成されて各々が単位コンデンサートを含む複数の記号を含むことができる。組合せ結線図は、発生器ソフトウエアによって計算されたCtotal値を近似的に生成することができる(例えば、回路の適正機能に対して許容可能な誤差の程度内で)。
以下の例は、遅延回路機能回路構成要素4402に対するパラメータを受信するのに応答した発生器ソフトウエアによる1つのコンデンサー計算を示している。ユーザがdelay_minとdelay_max間の遅延値を入力した場合に、Ctotalを計算することができる(例えば、遅延回路に対する回路モデルを用いて)。この例では、遅延は、ibiasによってCtotalの中に発生された電圧ランプ信号の勾配に基づく場合がある。そのような回路の波形を4406に例示している。Ctotal内への電流Ibiasは、ノードAで電圧勾配を発生させることができる。電圧勾配は、例えば、入力INが受信された時に開始することができる。電圧勾配が特定の値に到達すると、出力がトリガされる(示していない他の回路構成)。より短い遅延では、ノードAでのより急峻な電圧勾配を使用することができる。より長い遅延では、電圧勾配は低めとすることができる。電圧勾配は、次式によって与えられる:
電圧勾配=dv/dt=ibias/Ctotal、又は
Ctotal=(Ibias*delay)/Vth
ここで、Vthは、例えば、出力がトリガされるノードAでの閾電圧とすることができる。従って、Ctotalに関する上式は、パラメータとして受信される遅延値に基づいてCtotalを決定するのに使用することができる例示的回路モデルである。従って、ユーザは、例えば、1つの値(例えば、連続値範囲の)をパラメータとして入力することができ、発生器ソフトウエアは、この値を結線図,レイアウト、又はこれらの両方として実施されるコンデンサー値Ctotalに変換することができる。上述のように、発生器ソフトウエアは、単位コンデンサーに対する予め定められた物理的寸法にアクセスしてCtotalをコンデンサーの直列及び/又は並列の組合せに変換することができる。Ctotalのための結線図は、例えば上述のように発生され、Ibias4414に対する結線図(及び他の遅延回路結線図)に結合されて遅延回路結線図4410を発生させることができる。この図では遅延回路の状況でコンデンサー値を計算することを示したが、アナログ/混合信号回路設計の当業者は、広範な他のアナログ回路又は混合信号回路に関してコンデンサー値を計算することができることは理解されるものとする。
図44は、実施形態によりパラメータから決定されたコンデンサーの例示的レイアウトを更に示している。1又は2以上の機能回路構成要素4402~4404と対応するパラメータとは、レイアウト4420~4422をもたらすことができる。遅延4402及びそれに関して入力されたパラメータ(例えば、0.5usから200usまで)は、例えば、Ibias4414に対する部分回路及び他の遅延部分回路(図示せず)に対応するレイアウト4420と、Ctotalの計算値に対するコンデンサーレイアウトセグメントのレイアウト4423とをもたらすことができる。上述のように、各コンデンサーレイアウトセグメント(例えば、コンデンサーレイアウトセグメント4423a)は、例えば、同じ単位コンデンサー値Cunitと、長さLsegと、幅Wsegとを有することができ、組み合わされてCtotalを形成する。従って、特定の回路パラメータに関してユーザが入力する値が連続値範囲にわたって変化すると、計算コンデンサー値が変化し、この値を発生させるための得られるコンデンサーレイアウトセグメント数が変化する。そのような例示的実施形態は、発生器ソフトウエアが、例えば、連続値範囲にわたるパラメータを受信し(例えば、ユーザから)、かつ指定回路挙動を実施するアナログ回路結線図及び/又はアナログ回路レイアウトを自動的に発生させることを有利に可能にすることができる。
トランジスタの自動発生
本発明の開示の様々な実施形態の特徴及び利点は、例えば、電界効果トランジスタ(FET)のようなトランジスタの自動発生を更に含むことができる。
図45は、実施形態による例えば電界効果トランジスタ(FET)のようなトランジスタの自動発生を示している。この例では、発生器ソフトウエア4504は、発生されることになるトランジスタを指定する情報をパラメータ4502として受信することができる。発生されることになるトランジスタは、例えば、信号FET又は電力FETとすることができる。電力FETは、電力を典型的に大電流の形態で送出するように構成されたトランジスタを指し、それに対して信号FETは、回路の様々なノード間に信号を結合するように構成されたトランジスタである。一部の実施形態では、パラメータは、ユーザ構成FET機能回路構成要素4501から発生させることができ、ここで、ユーザは、FETに対する望ましい特徴を入力し、そのような特徴は、パラメータ4502に具現化されて発生器ソフトウエア4504に送られる。発生器ソフトウエア4504は、例えば、異なるドーパントタイプ(例えば、nタイプ又はpタイプ)、最大電圧(例えば、最大ドレイン対ソース電圧Vds_max又は最大ゲート対ソース電圧Vgs_max)を有するトランジスタを自動的に発生させることができる。本明細書に説明する様々な実施形態は、例えば、トランジスタをレプリカデバイス及び/又はケルビン接続と共に自動的に発生させることができる。発生されることになるトランジスタを指定する受信情報に基づいて、発生器ソフトウエア4504は、回路仕様4505を発生させることができる。回路仕様4505は、例えば、特定のトランジスタ(例えば、nタイプ、pタイプ、Vds_max、Vgs_max)のうちの1又は2以上を指定するネットリストとすることができ、例えば、レプリカトランジスタ又はケルビン接続を形成するための追加の接続及び要素を更に指定することができる。
回路仕様4505を用いてトランジスタ結線図を発生させることができる。上述のように、一部の実施形態では、回路仕様4505は、例えば、電子設計自動化(EDA)ソフトウエアが受信し、デバイスレベルで模擬することができるトランジスタレベル結線図に変換することができる。この例では、パラメータ値のN個の異なる組合せ(例えば、params_1,...,params_N、ここで、Nは整数である)は、N個の異なるFETトランジスタ結線図4530~4532をもたらすことができる。トランジスタ結線図4530~4532は、FETレイアウト4540~4542に変換することができる。
図46は、実施形態によるトランジスタを自動的に発生させるための流れ図を示している。4601では、発生されることになるトランジスタを指定する情報が受信される(例えば、発生器ソフトウエア104により)。4602では、この情報からトランジスタ属性を決定することができる。属性は、上述のようにnタイプ又はpタイプのデバイス、最大電圧、レプリカデバイス、又はケルビン接続を含むことができる。一部の実施形態では、ユーザは、オン抵抗(例えば、ドレイン対ソースオン抵抗「Rds_on」又は単に「Ron」)を指定することができ、例えば、下記でより詳細に説明するように、幅を長さで割り算した比(W/L)、フィンガの個数、及びデバイスセルの個数のような他の属性を自動的に決定することができる。一部の実施形態では、例えば、特定のトランジスタ構成に対する既知のレイアウトパラメータを取り出し、発生されることになるトランジスタの1又は2以上の属性(例えば、ゲート幅又はアスペクト比)を決定するのに使用することができる。4603では、回路仕様が発生される。回路仕様は、発生されることになる指定トランジスタを発生させるように構成された1又は2以上のデバイスを含むことができる。4604では、回路仕様からトランジスタレベル結線図が発生され、4605では、指定トランジスタのためのレイアウトが発生される。
図47A~図47Eは、様々な実施形態により異なるパラメータによって発生された例示的トランジスタを示している。図47Aでは、第1のパラメータセット(params_1)は、ノードa、b、及びcに結合された1つのFETデバイスM1を含む回路仕様をもたらす。更に、デバイスM1は、例えば、nタイプ6ボルトデバイスに関連付けることができる。受信パラメータは、例えば、第1のゲート幅w=W1と、ゲート長l=L1と、特定のフィンガの個数F=F1と、乗数属性(M)(ここで、M=1)とを決定するのに使用することができるRds_onを含むことができ、ここで、例えば、W1及びL1は値(例えば、W1=2.8um及びL1=200.0nm)であり、F1は整数(例えば、F1=2)である。乗数属性(M)は、例えば、デバイスセル個数を指定するのに使用することができる1つの技術である。典型的には、以下の例では、図47B~図47E及び図48A~図48Bに記載の下記の例示的トランジスタでのW<i>、L<i>、及びF<i>は、幅、長さ、及びフィンガそれぞれに対する異なる値を表している。この例では、回路仕様パラメータを用いてNMOSトランジスタ4701に対するトランジスタレベル結線図が発生される。この回路仕様を用いて6v nタイプトランジスタ4701を選択することができ(例えば、トランジスタライブラリから)、次に、このトランジスタは、例えば、ゲート幅w=W1と、ゲート長l=L1と、フィンガの個数F=F1と、乗数属性M=1とを含む属性を用いて構成される。トランジスタ4701は、結線図に配置され、本明細書に説明するように他の回路構成に結合することができる。
図47Bは、ノードa、b、及びcに結合された1つのFETデバイスM1を含む回路仕様をもたらす第2のパラメータセット(params_2)を示している。デバイスM1は、例えば、nタイプVds_max=6ボルトデバイスに関連付けることができる。受信パラメータは、例えば、第2のゲート幅w=W2と、ゲート長l=L1(例えば、同じ最小ゲート長とすることができる)と、同じフィンガの個数F=F1と、乗数属性M=1とを決定するのに使用することができる異なるRds_onを含むことができる。この回路仕様を用いて6v nタイプトランジスタ4702を選択することができ、次に、このトランジスタは、図47Bに示して上述した属性を用いて構成されてトランジスタレベル結線図に配置される。
図47Cは、ノードa、b、及びcに結合された1つのFETデバイスM1を含む回路仕様をもたらす第3のパラメータセット(params_3)を示している。デバイスM1は、例えば、nタイプVds_max=6ボルトデバイスに関連付けることができる。受信パラメータは、例えば、第3のゲート幅w=W3と、同じゲート長l=L1と、異なるフィンガの個数F=F2と、乗数属性M=1とを決定するのに使用することができるRds_onに対する更に別の値を含むことができる。この回路仕様を用いて6v nタイプトランジスタ4703を選択することができ、次に、このトランジスタは、図47Cに示して上述した属性を用いて構成されてトランジスタレベル結線図に配置される。
図47Dは、nタイプVds_max=6ボルトデバイスに関連付けられたデバイスM4に対する仕様を発生させる第4のパラメータセット(params_4)を示している。受信パラメータは、例えば、第4のゲート幅w=W4と、同じゲート長l=L1と、デバイスM3と同じフィンガの個数F=F2と、乗数属性M=1とを決定するのに使用することができるRds_onに対する更に別の値を含むことができる。この回路仕様を用いて6v nタイプトランジスタ4704を選択することができ、次に、このトランジスタは、図47Dに示して上述した属性を用いて構成されてトランジスタレベル結線図に配置される。
上述の例から、異なるパラメータ値に基づいて幅とフィンガ個数との様々な組合せを有する広範なデバイスを発生させることができることを見ることができる。
図47Eは、第5のパラメータセット(params_5a)から発生された別の例示的トランジスタを示している。より大きいゲート幅を有する一部の実施形態では、複数のデバイスセルを発生させることが望ましい場合がある。一例示的実施形態では、params_5aは、Vds_max=6ボルトと、ゲート幅w=W4(例えば、トランジスタ単位ゲート幅Wunit)と、ゲート長l=L1と、フィンガの個数F=F3と、乗数属性(M=P1、ここで、P1は、デバイスセルの個数を指定する1よりも大きい整数値である)とを有するnタイプMOSトランジスタのための回路仕様を発生させることができる。この回路仕様がトランジスタ結線図に変換された時の結果は、幅W4と、並列に構成されたF3個のフィンガと、乗数M=P1とを有するトランジスタ4705である。ドレインはノードaに結合され、ゲートはノードbに結合され、ソースはノードcに結合される。
図47Fは、ゲート幅W1と、長さL1と、フィンガの個数F2と、乗数M=P1とを有するpタイプMOSトランジスタのための回路仕様をもたらす別のパラメータセット(params_5b)を示している。この回路仕様を用いて、図47Fに示す回路仕様内に指定された属性を有するPMOSトランジスタ4706に対するトランジスタレベル結線図が発生される。
図48Aは、別のパラメータ値セット(例えば、params_6)から発生された別の例示的トランジスタを示している。図48Aは、複数のデバイスセルを発生させるための代替技術を示している。例えば、複数のデバイスセルを達成するために単一トランジスタの属性内にM>1を設定するのではなく、発生されることになるトランジスタは、param_6に基づいて並列のP(整数)個のトランジスタとして実施することができる。例えば、回路仕様は、M1、M2、...、MPがノードa、b、及びcに結合されたP個のMOSFETトランジスタを指定することができる。これらのトランジスタは、nタイプ、Vds_max=6v、単位ゲート幅w=W6、ゲート長l=L1、及びフィンガの個数F=F6とすることができる。各トランジスタの乗数Mの属性は、この例では1に設定される。回路仕様がトランジスタレベル結線図に変換された時に、Vds_max=6vと、幅=W6と、長さ=L1と、フィンガの個数F=F6と、乗数M=1とを有するP(整数)個のnタイプMOSトランジスタ4820(1)~4820(P)が選択されて並列に構成される。各デバイスに関して、ドレインはノードaに結合され、ゲートはノードbに結合され、ソースはノードcに結合される。各トランジスタは、例えば、記号4810(1)~4810(P)のうちの1つ内で構成することができ、記号4810(A)~4810(P)は、例えば、指定の特性を有する複合トランジスタに対する記号4800の中に埋め込むことができる。
図48Bは、別のパラメータ値セット(例えば、params_7)から発生された別の例示的トランジスタを示している。この例では、params_7は、M1、M2、...、MPがノードa、b、及びcに結合され、Vds_max=12vと、単位ゲート幅w=W7と、ゲート長l=L1と、フィンガの個数F=F7と、乗数属性M=1とを有するP(整数)個のpタイプMOSFETトランジスタを指定する回路仕様をもたらす。回路仕様がトランジスタ結線図に変換された時に、P(整数)個のVds_max=12v pタイプMOSトランジスタ4821(1)~4821(P)が選択され、幅w=W7、長さl=L1、フィンガの個数F=F7、及びM=1に設定された属性を用いて並列に構成される。各デバイス4821(1)~4821(P)に関して、ドレインはノードcに結合され、ゲートはノードbに結合され、ソースはノードaに結合される。各トランジスタは、例えば、記号4811(1)~4811(P)のうちの1つ内で構成することができ、記号4811(1)~4811(P)は、例えば、指定の特性を有する複合トランジスタに対する記号4801の中に埋め込むことができる。
図49Aは、別の実施形態によるトランジスタを発生させる例示的方法を示している。4901では、発生されることになるトランジスタを指定する情報は、コンピュータシステム上で実行される発生器ソフトウエアによって受信される。この情報は、例えば、nタイプ又はpタイプ、Vds_max(例えば、2v、6v、12v、20v、24v、30v)、Vgs_max(例えば、2v、6v)、オン抵抗(Ron)、ケルビン(イエス/ノー)、レプリカ(イエス/ノー)、又は試験(イエス/ノー)のような発生されるMOSトランジスタの特徴を記述するパラメータを含むことができる。4902では、発生されることになるトランジスタに対する全幅(Wtotal)が決定される。ゲート長は、例えば、取り出すことができる(例えば、メモリ、データベース、又はファイルから)。トランジスタの幅を決定するための一例示的技術を下記の図49Bに説明する。
一例示的実施形態では、単位幅Wunitを有するトランジスタを発生させることができ、ここで、トランジスタは、上述のように複数のフィンガ及び/又はいくつかのデバイスセル(P)を有することができる(例えば、複数の属性M又は並列デバイスに基づいて)。4903では、単位幅Wunit、フィンガの個数F、及び並列に構成されたデバイスセルの個数Pを決定することができる。例えば、一実施形態では、最大幅(Wmax)、最大フィンガの個数(Fmax)、及び最大デバイスセル個数(P)は、全幅から決定することができる。例えば、全幅が200,000umであり、Fmax=120であり、Wmax=200umである場合に、P=9は、以下のフィンガの個数(F)を発生させると考えられる:
F=Wtotal/(Wmax*P)=200Kum/(200um*9)=111
発生器ソフトウエアは、例えば、F<FmaxをもたらすF及びPの値が見つかるまで異なるPの値にわたって異なる値Fを逐次決定することができる。1つの特定の例示的実施形態では、Pは、完全平方(すなわち、Pの平方根が正の整数である)に設定され、これは、下記でより詳細に説明するようにレイアウト内にデバイスセルのN×Nアレイが有利に達成される。
本発明の開示の特徴及び利点は、複数のトランジスタデバイスセルが矩形区域を有するように単位幅を設定することを更に含むことができる。x寸法とy寸法の比(例えば、X/Y又はY/X、ここで、Xはセルのx方向長さであり、Yはセルのy方向長さである)は、例えば、約3分の2と約4分の3の間とすることができ、これは、レイアウト構造を配置し、半導体回路の区域を最適化するのに有利な矩形レイアウト構造を提供する。一例示的実施形態では、X/Y=0.75である。トランジスタのY及びXは、レイアウトパラメータから決定することができ、ここで、例えば、Xは、フィンガの個数の関数X=f1(F)であり、Yは、単位幅の関数Y=f2(Wunit)である。この例では、フィンガの個数Fは、Wtotal、Wmax、及びP(上記)から達成することができるので、単位幅Wunitは、以下の通りに表すことができる:
Wunit=f2 -1(Y)=f2 -1(X/0.75)=f2 -1(f1(F)/0.75)
X=f1(F)及びY=f2(Wunit)は、異なるトランジスタに対して異なることが可能な予め定められたトランジスタレイアウトパラメータに基づいて予め定められた関数である。従って、コンピュータシステム上で実行される発生器ソフトウエアは、発生されることになるトランジスタを指定する情報に基づいて(例えば、nタイプ又はpタイプ、Vds_max、Vgs_max、又は特定の回路仕様に使用されたトランジスタのライブラリからの特定のトランジスタに対するパラメータに基づいて)X=f1(F)及びY=f2(Wunit)に対して異なる式を選択することができる。nタイプ及びpタイプのトランジスタに対する例示的式X=f1(F)及びY=f2(Wunit)を下記で例示する。
従って、上述の技術を用いて、発生されることになるトランジスタの属性W、L、及びFを達成することができる。デバイスセル個数Pは、例えば、M=Pとして又は並列に構成されたP個のトランジスタとしてそのいずれかで構成することができる。従って、4904では、回路仕様を発生させることができる。4905では、回路仕様を用いて結線図を発生させることができ、4906では、回路結線図からレイアウトが発生される。
本発明の開示の特徴及び利点は、オン抵抗(Ron)に対する値を受信し、Ronを用いてトランジスタに対するゲート幅(例えば、Wtotal)を決定することを含む。一例示的実施形態では、特定のトランジスタ(例えば、Vds_max=6v NMOS又はVds=24v PMOS)に関して、例えば、ゲート対ソース電圧(Vgs)、ゲート幅(w)、及び温度(T)の異なる値とRonとを対比した模擬実験データを発生させることによってRonとWtotalの間の関係を決定することができ、それによってこのような特定のトランジスタに関する特定の曲線に対応するデータ点を発生させることができる。例えば、回帰アルゴリズムのような曲線当て嵌めアルゴリズムによってこの曲線に対する式を得ることができる。一実施形態では、Vgs、w、及びTに対する異なる値にわたるRon値を含むデータセットの回帰から、以下の曲線に対する係数を得ることができる:
Ron=Vgsk1*k2*k3*
所与のRonに対して必要なトランジスタの幅を以下の通りに得ることができる:
Figure 2022534441000002
上式は、例えば、予め定められたゲート長を使用することができる。一実施形態では、1つのデバイスセル(例えば、M=1)の幅を使用することができ(例えば、w=200um)、データセットは、Mの異なる値を使用することができる(例えば、Vgs、M、及びTをRonに対して掃引する)。
図49Bは、実施形態によるオン抵抗(Ron)の指定値をゲート幅(例えば、Wtotal)に変換するための例示的方法を示している。4910では、複数のトランジスタタイプに関してRonの異なる値をもたらす異なるゲート幅値(w)に対するデータセットが発生される。例えば、様々な実施形態は、例えば、ゲート幅、並びにゲート対ソース電圧(Vgs)及び/又は温度(T)のような他のトランジスタ作動パラメータにわたってRonの値を決定することができる。従って、異なるトランジスタタイプは、対応する異なるデータセットを有することができる。例えば、異なるドレイン対ソース最大電圧(Vds_max)及び異なるゲート対ソース最大電圧(Vgs_max)を有する異なるトランジスタタイプ(例えば、pタイプ、nタイプ、信号FET、又は電力FET)は、対応する異なるデータセットを有することができる。4911では、各トランジスタタイプに対して複数の回帰係数が発生される。上述の一例示的実施形態では、回帰係数は、Vgs係数(k1)と、ゲート幅係数(k2)と、温度係数(k3)と、定数(C)とを含むことができる。一部の実施形態では、同じ回帰方程式と対応する係数とは、例えば複数のトランジスタタイプにわたって使用することができる。4912では、Ron値は、トランジスタタイプを指定する情報と共に受信される。例えば、発生器ソフトウエアコンポーネントは、Ronに対する値と、Vds_maxに対する値と、Vgs_maxに対する値とを受信することができる。Vds_max及びVgs_maxに対する値を用いて、上述のようにRon対幅のデータセット及び係数を有することができるトランジスタライブラリから特定のトランジスタタイプ(例えば、6v NMOSトランジスタ)を選択することができる。4913では、指定トランジスタタイプに基づいて回帰係数を選択することができる。4914では、受信Ron値と選択回帰係数とに基づいてトランジスタゲート幅を決定することができる。得られるゲート幅は、例えば合計ゲート幅Wtotalとすることができる。
図50は、実施形態による複製デバイス5001を有するトランジスタの発生を示している。この例では、パラメータ(例えば、params_8)に対する値は、発生されることになるトランジスタがレプリカトランジスタを含むことになることを指定することができる(例えば、レプリカ=イエス)。この例では、発生器は、params_8を受信し、幅w=W4、長さl=L1、フィンガの個数F=F3、及びmultiplier M=1を有する1つのVds_max=6v NMOSトランジスタ5002(例えば、「nタイプ_6v」)M1を含む回路仕様を発生させる。回路仕様は、ドレインをノードaに結合し、ゲートをノードbに結合し、ソースをノードcに結合するようにM1を構成する。レプリカデバイスを発生される時に、回路仕様は、この例ではM1(Vds_max=6v NMOS、ここでは「nタイプ_6v」)と同じデバイスタイプであるレプリカトランジスタMR5001を更に含む。長さは同じ(l=L1)とすることができるが、幅及びフィンガの個数は異なることが可能である。この例では、幅はw=WRであり、フィンガの個数はF=1であり、乗数はM=1である。一例示的実施形態では、パラメータは、レプリカ利得を指定することができる。従って、発生器は、例えば、パラメータによって指定された利得を得るようにレプリカトランジスタの幅に対する値を設定することができる。例えば、レプリカ利得が1000:1に設定される場合に、MRの幅に対するM1の全幅の比は、Wtotal/Wreplica=1000/1である。
図51は、実施形態によるケルビン接続を有するトランジスタの発生を示している。この例では、パラメータ(例えば、params_9)に対する値は、発生されることになるトランジスタがケルビン接続を含むことになることを指定することができる(例えば、ケルビン=イエス)。この例では、発生器は、params_9を受信し、幅w=W4、長さl=L1、フィンガの個数F=F3、及び乗数M=1を有する1つのVds_max=6v NMOSトランジスタ(例えば、「nタイプ_6v」)M1を含む回路仕様を発生させる。回路仕様は、ドレインをノードD(例えば、(D)rain)に結合し、ゲートをノードG(例えば、(G)ate)に結合し、ソースをノードS(例えば、(S)ource)に結合するようにM1を構成する。更に、回路仕様は、集積回路内でドレイン及び/又はソースそれぞれの近くの点からの2次導電経路に沿ってドレイン及び/又はソースに結合された追加の端子(例えば、(D)rain_(K)elvin「DK」及び/又は(S)ource_(K)elvin「SK」)を生成するように構成される。2次導電経路は、1次導電経路(例えば、ドレインとD端子に接続された回路構成との間の経路、又はソースとS端子に接続された回路構成との間の経路)に沿って流れる電流と比較して非常に弱い電流を引き込むことができる。従って、DK端子及びSK端子は、例えば、ドレイン及び/又はソースとS端子及びD端子との間の1次導電経路に沿って受ける電流関連の電圧降下を最小にしながら電圧を感知することができる。一例示的実施形態では、発生器は、2次導電経路に抵抗器を更に含むことができる(例えば、2次導電経路に流れる電流を低減するために)。従って、この例では、回路仕様は、ノードDとDKの間に結合された第1の抵抗器R1=100mオームと、ノードSとSKの間に結合された第2の抵抗器R2=100mオームとを含む。回路仕様は、図示のように構成されたNMOSトランジスタ5101と抵抗器5102及び5103とを含むトランジスタ結線図5100に変換することができる。このトランジスタ結線図からレイアウトを生成することができ、ここで、2次経路は、例えば、ドレイン又はソースのいずれかの直近でトランジスタに結合される。
図52Aは、実施形態によるトランジスタのレイアウトを自動的に発生させる例を示している。図52Aは、異なる個数のフィンガFを有するトランジスタの代替レイアウト5200(1)~5200(N)を示している。トランジスタレイアウト5200(1)は、この場合は幅wを有する2つのゲート5201及び5202である2つのフィンガを含む。トランジスタレイアウト5200(1)は、2つのソース5203及び5204と単一ドレイン5205とを更に含む。図52Aは、フィンガの個数が変化すると、トランジスタのx寸法(例えば、水平)の長さは変化するが、y寸法(例えば、垂直)の長さは変化しないことが可能であることを示している。トランジスタの全y軸長は、トランジスタゲート幅wと、ゲート、ソース、及び/又はドレインの構造の上方及と下方の両縁とによって設定することができる。この例では、長さC(ゲート/ソース/ドレインの上方)及びD(ゲート/ソース/ドレインの下方)が、幅wと共に全y軸長Yを設定する。フィンガの個数及び他のx軸長は、全x軸長Xを設定することができる。
例えば、F=4個のフィンガ、追加のゲートセグメント、ドレインセグメント、ゲートセグメント、及びソースセグメントが追加される可能性がある場合に、この追加によってx軸に沿う長さは変化するが、y軸に沿う長さは同じままに留まる。例えば、x軸長は、第1の長さAと、第2の長さ(又はピッチ)pと、第3の長さBとの関数とすることができる(例えば、X=[(F/2)*(p)itch]+xoffset、ここで、xoffset=A+Bである)。y軸長は、単位ゲート幅Wunitと、長さC及びDとの関数とすることができる(例えば、Y=w+yoffset、ここで、yoffset=C+Dである)。一例示的実施形態では、Vds_max=6v NMOSトランジスタのためのレイアウトパラメータは、(p)itch=3.3um、xoffset=2.33um、及びyoffset=8.33umとすることができる。Vds_maxが増大しても、xoffset及びyoffsetは同じであることが可能であるが、ピッチは増大することができる。例えば、以下は、他のNMOSトランジスタに対する例示的(Vds_max,P(pitch))タプルである[(12v,4.1um)、(20v,4.9um)、(24v,5.3um)、(40v,7.9um)]。長さAは、例えば、バルク材料のようなトランジスタの第1の縁部と、トランジスタの第1の縁部に沿って構成された第1のソースと、他のレイアウト構造とに関する様々なレイアウト構造を含むことができる。長さBは、バルク材料及び他のレイアウト構造のようなトランジスタの第2の縁部に沿って構成された様々なレイアウト構造を含むことができる。長さC及びDは、例えば、バルク材料及び工程独特のセットバックのような様々なレイアウト構造を含むことができる。長さ(p)itchは、回路内に追加のフィンガが含められる時に繰り返すレイアウト構造を含むことができる。例えば、F=4である時に、追加のセグメント5210を含めて、第2のゲート/ドレイン/ゲート/ソースを含むレイアウト5200(2)を発生させることができる。x軸長は、別の量pだけ増大するが、A及びBは一定のままに留まることができる。レイアウト5200(N)に示すように、F=Nでは、A及びBは一定のままに留まり、N個の(p)itch長が存在する。レイアウト構造は、異なるトランジスタで異なる場合あり、従って、A、B、(p)itch、xoffset、及びyoffsetは、異なるトランジスタで異なる場合があることは理解されるものとする。しかし、同じタイプのトランジスタ(例えば、nタイプ、MOSFET、Vds_max=6v、Vgs_max=6v)は、トランジスタの異なるインスタンスで同じレイアウト構造、並びにA、B、(p)itch、xoffset、及びyoffsetに対する同じ値を有することができる。図52Aに記載の例は、例えば、レイアウト5200(1)~5200(N)に対する同じゲート幅wに対応する1つのy軸長に関するx軸長対Fの変動を示している。
図52Aは、トランジスタレベル結線図内のトランジスタの属性をどのように決定することができるかを示すのに有利である。単位幅及びフィンガの個数が変化すると、異なる個数のデバイスセル(P)(例えば、5200(1)~5200(N))を用いて複合トランジスタを形成することができる。一例示的実施形態では、指定Ronから計算された全幅Wtotalを用いて、所与の最大単位幅Wunit_max、最大フィンガの個数Fmax、及びP(デバイスセル個数)に関してフィンガの個数Fを決定することができる。例えば、フィンガの個数Fは、Wtotal、P=1、Fmax、及びWunit_maxに基づいて計算することができる。解が取得不能であった場合に、Pを増大することができる。デバイスセル個数は、Fに関して解が見つかるまでより大きいデバイスセル個数に反復的に逐次増大することができる。デバイスセル個数は、0.5と1の間の組合せアスペクト比(例えば、矩形)を有する2次元アレイを形成することができる値に制限することができる。一実施形態では、デバイスセル個数は、完全平方(例えば、1、4、9、16、...)に有利に設定することができる。所与のWtotal及びWunit_maxに関してフィンガの個数F(F<Fmax)及びデバイスセル個数Pが見つかると、例えば、指定比(X/Y又はY/X)に対する各トランジスタの最終幅を決定することができる。
一実施形態では、単位ゲート幅(Wunit)、フィンガの個数(F)、及びデバイスセル個数(P)は、最大幅及び最大フィンガの個数に基づいて決定することができる。最大幅(Wmax)及び最大フィンガの個数(Fmax)は、発生器ソフトウエア内に含まれるか又は外部格納場所(例えば、ファイル又はデータベース)に格納され、そこから受信される予め定められた値とすることができる。一実施形態では、発生器ソフトウエアは、利用可能なフィンガの個数(F)を決定するために複数の増加値にわたってデバイスセル個数(P)を増大することにより、逐次増加する各現在デバイスセル個数(P)と、最大幅(Wmax)と、最大フィンガの個数(Fmax)とに基づいてデバイスセル個数(P)及びフィンガの個数(F)を決定することができる。この方式は、最少デバイスセル個数(P)と小さい回路面積とを有利にもたらすことができる。
例えば、全幅(Wtotal)から始めて、発生器ソフトウエアは、デバイスセル個数(P)を複数の値にわたって反復的に増大することができる。P=完全平方の場合に、Pは、1、4、9等に反復的に設定することができる。Pの各現在値では、システムは、Pの現在値、最大幅(Wmax)、及び最大フィンガの個数(Fmax)から全幅(Wtotal)が利用可能であるか否かを決定することができる。例えば、Wtotal=200,000um、Wmax=200um、及びFmax=120では、P=1は、Fmaxよりも大きいF=Wtotal/(Wmax*P)=1000をもたらす。従って、この全幅は、Pの現在値、Wmax、及びFmaxから取得不能である。従って、Pは、次の値に増分される(ここでは4)。P=4でも、F=250であり、依然としてFmaxよりも大きい。従って、Pは、次の値に増分される(ここでは9)。P=9では、F=111であり、Fmaxよりも小さい。従って、P=9、F=111、及びWmax=200umからWtotal=200,000umが利用可能であり、これらの値を用いてトランジスタ属性を設定することができる。
本発明の開示の特徴及び利点は、1又は2以上のレイアウトパラメータに基づいてトランジスタ属性を設定することを更に含むことができる。例えば、上述のように、デバイスセルの構成可能なアスペクト比を用いて、例えば、単位ゲート幅Wunitを設定することができるデバイスセルのx軸及びy軸の長さを設定することができる。例えば、デバイスセルのx寸法に沿う長さXは、フィンガの個数(F)及び予め定められたオフセット値(例えば、P(ピッチ)及びxoffsetに関するレイアウトパラメータ)-X=((F/2)*pitch)+xoffsetに基づいて決定することができる。上述のように、予め定められたオフセット値は、トランジスタタイプ(例えば、ドーパントタイプ、p/nタイプ、Vdsmax、Vgsmaxのうちの1又は2以上)に基づいて選択することができ、例えば、異なるトランジスタタイプは、ピッチ、xoffset、及びyoffsetに対して異なるレイアウトパラメータ値を有することができる。次に、長さXとアスペクト比(Y=AR*X、ここで、ARは、発生器ソフトウエア内に符号化するか又は外部格納場所から取り出すことができるプログラム可能アスペクト比である)とに基づいてデバイスセルのy寸法に沿う長さYを決定することができる。セルの長さYが決定された状態で、長さY及び予め定められたオフセット値yoffset-Y=Wunit+yoffsetに基づいて最終単位ゲート幅Wunitを決定することができる。一部の実施形態では、発生器ソフトウエアは、全幅と全長とに基づいて計算された面積を最終単位ゲート幅(Wunit)とデバイスセル個数(P)とフィンガの個数(F)とに基づいて計算された面積と比較することができる。例えば、面積が許容可能な誤差許容範囲内にある場合に、設計及び様々なレイアウトパラメータを有効と見なすことができる。
図52Bは、フィンガの個数が増加するとトランジスタレイアウトのアスペクト比が変化する場合があることを示している。一例示的実施形態では、フィンガの個数を変更することにより、アスペクト比を維持する(例えば、一定に又はある範囲へのいずれかに)ためのトランジスタデバイスセル幅の変化を発生させることができる。ここで、0.75というY/X比をもたらすF=F1個のフィンガと幅w=W1とを有する第1のデバイスセルに対するデバイスセルレイアウトインスタンス5250が発生される。フィンガ個数F=F2と幅=W2とY/X比0.75とを有する別のデバイスセルレイアウトインスタンス5251を発生させることができる。Y/X比0.75を維持しながらフィンガの個数F=F3と幅=W3とを有する更に別のデバイスセルレイアウトインスタンス5252を発生させることができる。最後に、フィンガ個数F=F4と幅=W4とY/X比0.75とを有する更に別のデバイスセルレイアウトインスタンス5253を発生させることができる。上述のように、フィンガの個数を用いてトランジスタの幅を決定することができる。従って、一部の例示的実施形態では、フィンガの個数が増加すると、トランジスタの幅も拡大する場合がある。トランジスタデバイスセル5250~5253は逐次拡大している。所与のトランジスタタイプに関して、追加のフィンガは、アスペクト比を特定の値又はある範囲に維持するためにより大きいゲート幅を発生させることができる。例えば、この図ではアスペクト比0.75を示すが、他の矩形アスペクト比を使用することができることは理解されるものとする。一部の実施形態では、アスペクト比は、例えば、プログラム可能にすることができる。様々な例示的実施形態は、0.5よりも大きいか又はそれに等しく(≧0.5)、かつ1よりも小さいアスペクト比を含むことができる。一部の実施形態は、例えば、約3分の2から約4分の3までのアスペクト比を含むことができる。更に、図52BはY/Xのアスペクト比を示すが、X/Yアスペクト比を使用することができることは理解されるものとする。例えば、システムがレイアウト上の異なる利用可能空間の中に適合するようにトランジスタのレイアウトを回転させることを可能にすることによって配置を最適化し、半導体回路の面積を低減するようにレイアウトルーチンが1又は2以上のトランジスタを操作することを可能にするためには矩形アスペクト比(例えば、X<>Y)が有利である場合がある。
図53A~図53Bは、実施形態によりトランジスタを形成するように構成されたトランジスタデバイスセルレイアウトインスタンスのアレイを示している。上述のように、例えば、図52Aに示すトランジスタデバイスセルレイアウトインスタンスは、M×Nアレイ(ここで、M及びNは整数である)内で組み合わせて単一複合デバイス(例えば、乗数属性がM=P>1であるか又はM=1を有するP個の並列トランジスタを使用する)を形成することができる。図53Aは、例えば、3分の2という比Y/Xを有する3×4アレイを示す(図面は正確な縮尺のものではない)。デバイスセルレイアウトインスタンスは、x軸に沿って均等なステップSxでかつy軸に沿って均等なステップSyで離間させることができる。一部の実施形態では、SxとSyとは同じとすることができる。
図53Bは、別の実施形態によりトランジスタを形成するように構成されたトランジスタデバイスセルレイアウトインスタンスのアレイを示している。図53Bは、N×Nアレイを発生させるためにデバイスセル個数が完全平方(例えば、1、4、9、16、25、36、...)に設定された例を示している。この例では、9個のデバイスセルレイアウトインスタンス5302は、例えば、4分の3=0.75という比Y/Xを有する3×3アレイから構成される(図面は正確な縮尺のものではない)。セルは、x軸に沿って均等なステップSxでかつy軸に沿って均等なステップSyで離間させることができ、SxとSyとは、上述のように同じとすることができる。
以下は、トランジスタを形成するためにデバイスセルレイアウトを配置するための例示的レイアウト配置命令である:
placeFET x y xstep ystep #columns #rows
ここで、例えば、各トランジスタタイプは、上述のレイアウト配置命令に使用される独特なレイアウトパラメータ値を有することができる。上述のレイアウト配置命令内のx及びyは、第1のデバイスセルレイアウトインスタンスが配置されることになる場所である。更に、「xstep」及び「ystep」は、x軸及びy軸に沿う次のレイアウトインスタンスの位置に対するオフセットを示している。最後に、列数及び行数を指定することができる。上述の開示に基づいて、xstep、ystep、#columns、及び#rowsが計算され、かつ例えば実行中にレイアウト配置命令によって受信することができる。
図54は、実施形態によるトランジスタのためのレイアウトの発生を示している。この例では、受信パラメータを用いて、各々がゲート長w=W1と、長さl=L1と、フィンガ個数F=F1と、乗数M=1とを有するnタイプVds_max=6v MOSトランジスタである4つのデバイスセル(P=4)を含む回路仕様が発生される。回路仕様は、並列に構成されたトランジスタ5401~5404を含むトランジスタレベル結線図を発生させるのに使用される。この回路結線図を用いてレイアウトが発生される。各トランジスタ5401~5404は、例えば、デバイスセルレイアウトインスタンス5410に自動的に変換することができる。デバイスセルレイアウトインスタンスは、レイアウト配置命令を用いて自動的に配置される。例えば、第1のデバイスセルレイアウトインスタンスは、開始位置(例えば、レイアウト環境の位置x=0、y=0)に配置することができる。デバイスセルレイアウトインスタンスは、xステップ及びyステップに基づいてx軸及びy軸に沿って直列に配置することができる。xステップは、x軸長Xにxセルオフセット(「xcell_offset」)を加えたものに基づいており、yステップは、y軸長Yにyセルオフセット(「ycell_offset」)を加えたものに基づいている。
図55は、実施形態によるトランジスタのためのレイアウトの発生を示している。この例では、受信パラメータを用いて、ゲート長w=W2と、長さl=L1と、フィンガ個数F=F2と、乗数M=25とを有するnタイプVds_max=6v MOSトランジスタ(別名P=25デバイスセル)を含む回路仕様が発生される。回路仕様は、トランジスタ5501を含むトランジスタレベル結線図を発生させるのに使用される。この回路結線図を用いてレイアウトが発生される。トランジスタ5501は、例えば、25個のデバイスセルレイアウトインスタンス5510に自動的に変換することができる。デバイスセルレイアウトインスタンスは、レイアウト配置命令を用いて自動的に配置される。例えば、第1のデバイスセルレイアウトインスタンスは、開始位置(例えば、レイアウト環境の位置x=0、y=0)に配置することができる。デバイスセルは、xステップ及びyステップに基づいてx軸及びy軸に沿って直列に配置することができる。xステップは、x軸長Xにxセルオフセット(「xcell_offset」)を加えたものに基づいており、yステップは、y軸長Yにyセルオフセット(「ycell_offset」)を加えたものに基づいている。
図54及び図55は、上述のように個数Pが完全平方に設定される例を示している。
本発明の開示の一部の実施形態の特徴及び利点は、トランジスタのレイアウトを形成するためのレイアウトインスタンス(例えば、多角形)の自動配置を含むことができる。例えば、図56Aは、MOSトランジスタを形成するためのレイアウトインスタンスの自動配置を示している。この例では、デバイスセル個数Pは4に等しく、得られるレイアウトは、トランジスタデバイスセルレイアウトインスタンス5650~5653の2×2アレイを含む。セル5650~5653の各々は、垂直ストリップとして並列に構成された複数のソース(s)(例えば、ソース5602)と、ゲート(g)(例えば、ゲート5601)と、ドレイン(d)(例えば、ドレイン5603)とを含む。トランジスタの完全なレイアウトを形成するのに使用されるデバイスセルレイアウトインスタンスの自動配置は、トランジスタタイプと、計算されたものとすることができるその他とに基づいてその一部を選択することができる複数のパラメータに基づく場合がある。例えば、異なるトランジスタタイプは、レイアウト配置命令を用いて自動レイアウトを実施するための異なる格納されたパラメータを選択することができる。例えば、Vgs_max=6v、Vds_max=12vを有するNMOSトランジスタに対する自動レイアウトは、例えば、異なる格納されたレイアウトパラメータを選択し、異なる配置計算を実施し、Vgs_max=6v、Vds_max=6vを有するNMOSトランジスタとは異なるレイアウトアルゴリズムによって実行することができる。従って、トランジスタの自動レイアウトは、トランジスタタイプに基づいてレイアウトパラメータを選択することを含むことができる。レイアウトパラメータが選択された状態で、トランジスタタイプに対するカスタマイズスクリプトを実行することによって追加のパラメータを計算することができる。特定のトランジスタを動的に構成するために、選択パラメータ及び計算パラメータは、レイアウト配置命令に対するパラメータとして含めることができる。例えば、トランジスタ属性(例えば、上述したw、l、F、M)からソース、ドレイン、及びゲート寸法及び配置場所を決定することができ、レイアウト要素(例えば、多角形)は、例えば選択パラメータ及び計算パラメータに基づいてレイアウト内に自動的に配置することができる。図56Aに例示して上述したように、選択パラメータは、例えば、初期位置又はピッチ分だけ調節された初期位置のような予め定められた位置に特定のレイアウト要素を配置するための複数のオフセットを含むことができる。
図56Aは、実施形態による金属層の自動レイアウトを示している。この例は、実施形態による格納されたパラメータと計算パラメータとを示している。この例では、複数の金属層は、水平金属層5620及び5621のようなデバイスセルレイアウトインスタンスのアレイを覆う水平ストリップから構成される。金属層5620~5621を場合によって「金属2」と呼び、「金属2」は、例えば、ポリシリコン層の上方にある金属の第2の層とすることができる。金属層は、金属2の最大幅(「M2wmax」)に対して格納されたパラメータに設定された幅を有することができる。一部の工程では、金属化幅が予め定められた予め定められた値を超えた時にスロットを挿入することを必要とする場合がある(例えば、応力を軽減するために)。M2wmax幅は、スロットを必要とする幅よりも僅かに小さく設定することができる。別の実施形態では、スロット幅を格納することができ、M2wmaxは、例えば、カスタマイズレイアウト配置スクリプトによっていずれの予め定められた量よりも小さいスロット幅として計算することができる。更に、レイアウト配置スクリプトは、例えば、トランジスタのゲート幅に基づいてセルの特定の行にわたって収まることができる水平金属ストリップの個数を決定することができる。初期M2ストリップをセルの上縁の下方のオフセットM2osの場所(又は同等初期基準)に配置することができ、幅M2wmaxを有する計算個数の水平M2ストリップを直列に配置することができる(例えば、工程依存の格納されたパラメータとすることができる予め定められた間隙だけ距離を置いて)。図56Aは、デバイスセルの行間に構成されたゲート金属化5625を更に例示している。デバイスセルは、別の格納されたパラメータ「ygap」だけ分離することができ、M2ゲート金属5625を例えば間隙の中心に構成することができる。本発明の開示の実施形態は、実施形態によるM2をレイアウト内の下層構造に関連付けるビア(例えば、ビア5610)の自動配置を更に例示することができる。この例では、M2ストリップへのソースビア、ドレインビア、及びゲートビアは、トランジスタに対して格納されたパラメータのうちの1又は2以上、トランジスタの属性(例えば、ゲート幅)、及び/又はオフセットに基づいて自動的に配置することができる。例えば、1又は2以上の初期ソースビア5610は、ソースy軸オフセット(Syos)とソースx軸オフセット(Sxos)とに基づいて配置することができる。追加のソースビアは、初期配置位置からの予め定められたステップ(例えば、M2wmaxに基づくx軸ピッチ長及びy軸ピッチ長)の場所に配置することができる。同様に、1又は2以上の初期ドレインビア5611は、ドレインy軸オフセット(Dyos)とドレインx軸オフセット(Dxos)とに基づいて配置することができる。追加のドレインビアは、初期配置位置からの予め定められたステップの場所に配置することができる。同様に、ゲートビアは、ゲートステップに従ってゲート5601をM2ゲート金属5625に結合することができる。この例では、ゲート対ゲートピッチ(Pgg)、ゲート-ソース-ゲートピッチ(Pgsg)、及びドレイン対ドレインピッチ(Pdd)は、格納されたパラメータとすることができる。この例では、ゲート対間のソースは、より大きいx軸長を有することができ、従って、例えば、トランジスタのレイアウト要素を適正に配置するためにPgsg寸法を使用することができる。明らかなように、ソースビアは初期値で始まり(例えば、SxosとSyosに基づいて)、各セルにわたってx軸とy軸に沿って繰り返す。同様に、ドレインビアは、初期値で始まり(例えば、DxosとDyosに基づいて)、各セルにわたってx軸とy軸に沿って繰り返す。例えば、レイアウト要素がx軸に沿ってセル間を横切って繰り返すことができるように1つのセル内の最後のソース5622と隣接セル内の最初のソース5623の間のx軸距離を設定するためのdevStepパラメータを特定のトランジスタタイプに関して格納し、かつ取り出すことができる。同様に、例えば、y間隙とデバイスの幅とを用いて、y軸に沿ってセルを横切ってレイアウト要素の位置をオフセットすることができる。図56Aは、各接続点5610に対して複数のビアを配置することができることも例示している。5650に示すように、M2wmaxを用いて、例えば、M2ストリップとソース、ゲート、又はドレインとの交点に自動的に配置することができるビアの個数を計算することができる。一実施形態では、M2ストリップの水平縁部及びソース、ゲート、又はドレインの垂直縁部は、セットバック処理パラメータを有することができる。M2wmaxは、例えば、2*セットバックを差し引いた残りの距離とすることができ、5650に示すように直列に配置することができるビアの個数を計算するのに使用される。最後に、図56Bは、例えば、M2の上方にあり、M2ソースとM2ドレインとM2ゲートとを接続するのに使用することができる金属層3の垂直ストリップ5690を示している。
集積回路の自動レイアウト
本発明の開示の様々な実施形態の特徴及び利点は、集積回路のためのレイアウトの自動発生を更に含むことができる。一部の例示的実施形態では、トランジスタレベル結線図は、関連のレイアウトスクリプトを有することができる。結線図がレイアウトに変換される(例えば、EDAツール内で)時に、回路結線図に関連付けられるレイアウトスクリプトを用いて回路結線図から発生されたレイアウトインスタンスを位置決めすることができる。本発明の開示の例示的実施形態は、回路に対する簡潔で効率的なレイアウトを自動的に発生させるために各トランジスタレベル結線図に合わせてカスタマイズされたレイアウトスクリプトを含むことができる。
図57は、実施形態によるレイアウトの発生を示している。この図では、レイアウト発生器ソフトウエアコンポーネント5700は、回路結線図5701を複数のレイアウトインスタンス(例えば、インスタンス5710、5711、5712、5713)に変換して回路レイアウト5703を形成する。回路結線図5701は、例えば、アナログ回路又は混合信号回路に対するトランジスタレベル回路を定めることができる。レイアウト発生器5700は、回路結線図5701内の様々な回路構成要素に対するレイアウトインスタンス(例えば、多角形)を発生させることができる。最初に、レイアウトインスタンスは、例えば、散乱され、接続、回路性能に基づいてかつ面積を節約するようには最適に構成されない場合がある。有利なことに、レイアウト発生器5700は、回路結線図5701に関するレイアウトスクリプト5702を受信することができる。一実施形態では、レイアウトスクリプト5702は、例えば、レイアウトを最適化するように特定の回路結線図に関してカスタマイズ及び予め定めることができる。下記でより詳細に説明するように、レイアウトスクリプト5702は、回路結線図5701から発生されたレイアウトインスタンスを自動的に配置するための命令セットを含むことができる。レイアウト5703に示すように、レイアウトスクリプト5702の実行は(例えば、コンピュータシステムによる)、複数のレイアウトインスタンス(例えば、インスタンス5710、5711、5712、5713)の位置決めをもたらして回路レイアウト5703を発生させることができる。
様々な実施形態では、例えば、レイアウトインスタンスは、回路結線図からの様々な構成要素に対応することができ、一部の場合に、回路が半導体に実施された時に回路の作動に対して有用とすることができる追加の構造がレイアウトに追加される。一例示的実施形態では、レイアウトインスタンスは、上述のように部分回路結線図のための予め定められたレイアウト(例えば、比較器、増幅器、発振器、バンドギャップ回路、電流ミラー、信号FET又は電力FETのようなトランジスタレイアウト、又は広範な他のアナログ回路又は混合信号回路に関連付けられた予め定められたレイアウト)とすることができる。従って、レイアウトスクリプトは、1又は2以上のレイアウトインスタンスが格納されたライブラリ(例えば、回路結線図に対する1又は2以上の予め定められたレイアウトが格納されたライブラリ)への参照子(reference)(例えば、ライブラリ名称)を含むことができる。他の例示的実施形態では、レイアウトインスタンスは、例えば、抵抗器レイアウト構成要素又はコンデンサーレイアウト構成要素のような受動的レイアウト構成要素とすることができる。有利なことに、ある一定の例示的実施形態では、レイアウトスクリプトは、回路結線図5701から発生された複数のレイアウトインスタンスの各々に対する特定の配置を発生させ、追加のレイアウト構造(例えば、ビア、保護リング、バルク接続)を更に組み込んで自動的に配置することができる。従って、一部の例示的実施形態では、回路レイアウトを形成するのに使用される全てのレイアウトインスタンス(例えば、マスク)は、自動的に位置決めされて回路レイアウトを生成することができる。
図58は、実施形態による自動レイアウト発生器を含む例示的システムを示している。この図では、機能回路構成要素5801は、共通回路機能を実施する複数の回路結線図を発生させるように構成することができる。例えば、機能回路構成要素5801を用いて比較器、発振器、増幅器、電流ミラー、gm回路、電圧-電流コンバータ、電圧バッファ、又は広範な他のアナログ回路機能又は混合信号回路機能のうちのいずれか1つに対する回路構成を発生させることができる。特定の機能回路構成要素5801は、様々なパラメータ(例えば、入力デバイスのタイプ、利得、クランピングなど)に従う特定の機能(例えば、電圧-電流コンバータ)を実施することができる。発生器ソフトウエア5800は、パラメータ値を受信して上述のように回路結線図5802(1)を生成するためのネットリストを発生させることができる。発生器5800は、例えば、パラメータ値の様々な組合せを受信するのに応答して異なる回路結線図5802(1)~5802(N)を生成することができる。異なるパラメータ値に基づいて、機能回路構成要素は、異なる特質を有する発振器、増幅器等のための結線図を発生させることができる。上述のように、回路結線図5802(1)~5802(N)は、ライブラリ5805に格納されたものとすることができる予め定められた部分回路結線図から発生させることができる。ライブラリ5805は、例えば、異なるパラメータ値にわたって機能回路構成要素5801のための回路結線図及びレイアウトを生成するための部分回路結線図及び部分回路レイアウトを格納することができる。
本発明の開示の一部の実施形態の特徴及び利点は、レイアウトスクリプト5803を発生させる発生器5800を更に含む。レイアウトスクリプト5803は、共通機能を実施して同じパラメータの異なる値から発生させることができる複数の回路結線図5802(1)~5802(N)のうちの1又は2以上に関連付けることができる。一部の実施形態では、レイアウトスクリプト5803は、複数の回路結線図の各々に対するレイアウトインスタンスを位置決めするように構成される。例えば、図58では、単一レイアウトスクリプト5803は、複数の回路結線図5802(1)~5802(N)に対するレイアウトを生成するように構成される。一部の実施形態では、レイアウトスクリプトは、異なる回路結線図からのレイアウトインスタンスに対して複数の配置作動(例えば、結線図5802(1)からのレイアウトインスタンスに対する配置作動、及び結線図5802(2)~5802(N)からの他のレイアウトインスタンスに対する他の配置作動)を実施することができる。下記の様々な例で説明するように、回路結線図5802(1)に対応するレイアウトインスタンスに対する配置作動を実行することができ(例えば、回路結線図5802(1)が発生され、レイアウトに変換された時)、他の回路結線図に対応するレイアウトインスタンスに対する配置作動は実行されない(例えば、回路結線図5802(1)が発生され、レイアウトに変換された時)。一例であるが単なる例として、特定の結線図が変換されてレイアウトインスタンスXU1を提供し、別の結線図が変換されてレイアウトインスタンスXU2が提供された場合に、レイアウトスクリプトは、XU1とXU2の両方に対する配置作動を含むことができるが、配置作動は、レイアウトインスタンスがレイアウトキャンバス(layout canvas)に存在する時にのみこのレイアウトインスタンスに対して実行することができる。従って、一部の実施形態では、単一レイアウトスクリプトは、例えば、特定の結線図がレイアウトに変換されている時にのみ実行される配置作動を含むことができる。
レイアウト発生器5806は、レイアウトスクリプト5803といずれかの回路結線図5802(1)~5802(N)とを受信して対応するレイアウトを生成することができる。この図では、レイアウト発生器5806は、レイアウトスクリプト5803と回路結線図5802(1)とを受信してレイアウト5808を生成する。同様に、レイアウト発生器5806は、レイアウトスクリプト5803と回路結線図5802(N)とを受信してレイアウト5809を生成する。例えば、回路結線図5802(1)~5802(N)のうちのいずれかに対するレイアウトは、同じく自動的に発生させることができる。
本説明に説明する自動レイアウト技術は、図58で説明したシステム及び本発明の開示の他の部分に適用することができるが、これらの技術は、例えば、EDAツールを使用するEDA環境内で結線図をレイアウトに変換するのに使用することができることは理解されるものとする。
図59は、実施形態による回路結線図のレイアウトインスタンスへの変換及びレイアウトの発生を示している。この例では、5902で、回路結線図5901は、レイアウトインスタンス5910~5913に変換される。様々な実施形態では、レイアウトインスタンスは、結線図内の異なる構成要素に対応することができる。例えば、レイアウトインスタンスは、抵抗器レイアウト構成要素又はコンデンサーレイアウト構成要素のような受動的レイアウト構成要素に対応することができる。この例では、レイアウトインスタンス5913a-5913dは、例えば回路5901内にあり、1つの合計抵抗値Rtotalを発生させるように構成された複数の抵抗器セグメントに対応する抵抗器レイアウトセグメントとすることができる。下記の他の例では、レイアウトインスタンスは、例えば、結線図内にあり、1つの合計キャパシタンス値Ctotalを発生させるように構成された複数の単位コンデンサーに対応するコンデンサーレイアウトセグメントとすることができる。上述のように、回路結線図5901の異なるパラメータ化インスタンスは、異なる予め定められた部分回路結線図を含むことができる。この例では、レイアウトインスタンス5910、5911、及び5912は、3つの予め定められた部分回路結線図レイアウトである。回路結線図5901内のいずれか1又は2以上の構成要素をレイアウトインスタンスに変換し、本明細書に説明する技術に従って配置することができることは理解されるものとする。
最初に、レイアウトインスタンスは、レイアウト環境内に非最適方式で配置される場合がある(例えば、キャンバスにわたって散乱される)。レイアウトスクリプト5902は、レイアウトインスタンスを特定の位置に配置してより最適なレイアウトを生成することができる。この例では、レイアウトスクリプト5902は、5914でレイアウトインスタンスを特定の位置に配置してレイアウト5930を発生させる。有利なことに、レイアウトスクリプト5902は、例えば、1又は2以上の対応する回路結線図からの各レイアウトインスタンスをいずれかの位置に自動的に配置して最適なレイアウトを生成するようにカスタマイズすることができる。
図59に示す例及び下記の更に別の例は、レイアウトスクリプトによる最終的な位置決めの前にレイアウトキャンバス上に最初に配置されたレイアウトインスタンスを示すが、レイアウトインスタンスは、キャンバス上へのそのような初期配置なくレイアウトスクリプトによって最終カスタマイズ位置に直接配置することができることは理解されるものとする。
図60は、実施形態によるレイアウトスクリプトを示している。一部の実施形態の特徴及び利点は、複数のレイアウト配置命令を含むレイアウトスクリプトを含むことができる。レイアウト配置命令は、1又は2以上の対応するレイアウトインスタンスのための配置場所(例えば、レイアウト環境内の)を指定することができる。従って、レイアウト配置命令を有利に用いてレイアウトインスタンスのうちの1又は2以上を位置決めすることができる。この例では、レイアウトスクリプト6000は、複数のレイアウト命令6001~6003を含む。レイアウト配置命令6001~6003は、各レイアウト配置命令に対応する特定の機能を実施するためのコードを含むことができる。コードは、例えば、EDA環境内のスクリプト(例えば、Cadence(登録商標)内のSkill Script(スキルスクリプト))のようなスクリプトとして実施することができる。この例では、レイアウト配置命令は、1又は2以上のインスタンスに対して作動することができる。更に、レイアウト配置命令は、例えば、レイアウトインスタンスに対して実施される様々な作動を制御するためのレイアウトパラメータを受信することができる。
様々な実施形態では、スクリプト6000は、複数のレイアウト配置命令6001~6003を含むことができ、レイアウト配置命令のサブセットは、特定のレイアウトインスタンスへの参照子を含むことができる。下記の様々な例に示すように、一部の実施形態では、参照子はセル名称である(例えば、place<cell_name>)。他の実施形態では、参照子はインスタンス名称である(例えば、place<instance_name>)。一部の用途では、複数のレイアウトインスタンスは、同じセル名称を有するが、異なるインスタンス名称を有することもできる。従って、異なるシナリオに対して、セル名称に基づく配置又はインスタンス名称に基づく配置をより効率的にすることができるレイアウト配置命令を有利に構成することができる。
下記では、様々な例示的レイアウト配置命令をより詳細に示している。
図61は、実施形態によるレイアウト配置命令の例示的配置作動を示している。一部の実施形態では、1又は2以上のレイアウト配置命令は、特定のレイアウトインスタンスと、それを配置するためのx軸座標及びy軸座標とを指定する。この例では、レイアウトインスタンス6101は、6101Aに示すように(x,y)座標(0,0)に配置される(例えば、「place <cell_name> 0 0」)。これに代えて、レイアウトインスタンス6101は、6101Bに示すように別の(x,y)座標(x1,y1)に配置することができる(例えば、「place <cell_name> x1 y1」、ここで、x1は第1の指定値とすることができ、y1は第2の指定値とすることができる)。図61は、1又は2以上のレイアウト配置命令が特定のレイアウトインスタンスの回転を更に指定する一部の実施形態の別の特徴も例示している。この例では、レイアウト配置命令は、レイアウトインスタンス6101Bを90度だけ回転させることができる(例えば、place <cell_name> x1 y1 90)。一部の実施形態では、レイアウト配置命令が特定のレイアウトインスタンスを格納するライブラリ名称を更に指定することが有利である場合がある。例えば、予め定められた部分回路レイアウトインスタンスを格納するライブラリは、レイアウト配置命令内にパラメータとして含めることができる(例えば、「place <library_name> <cell_name> 0 0 0」は、特定のライブラリからの特定のセルを(x,y)=(0,0)に0回転で配置することができる)。
図62は、更に別の実施形態によるレイアウトの発生の更に別の例を示している。一部の実施形態では、レイアウト配置命令は、複数のレイアウトインスタンスを位置決めすることができる。図62に示す例は、例示的ものである。ここで、同じタイプのセル(例えば、異なるインスタンス名称を有する)に対する複数のレイアウトインスタンスを単一レイアウト配置命令を用いて配置することができる。この例では、レイアウトインスタンス6201a~6201bは、第1のレイアウトインスタンスタイプ(例えば、1つの予め定められた部分回路レイアウト又は受動構成要素)に対応し、レイアウトインスタンス6202a~6202dは、第2のレイアウトインスタンスタイプ(例えば、抵抗器レイアウト構成要素)に対応し、レイアウトインスタンス6203a~6203cは、第3のレイアウトインスタンスタイプ(例えば、コンデンサーレイアウト構成要素)に対応する。
一実施形態では、レイアウトインスタンス6201a~6201bは、単一レイアウト配置命令を用いて配置することができる。例えば、「placeSTEP <cell_name> x y step stepdirection rotation」という命令は、開始位置で始まる配置と、それに続くステップ(step)によって定められた別の位置への配置とによって両方のレイアウトインスタンスを位置決めすることができる。この例示的レイアウト配置命令は、様々な実施形態に含めることができる複数の特徴を示している。第1に、第1のレイアウトインスタンス<cell_name>は、特定の(x,y)座標に配置することができ、例えば、同じ<cell_name>を有するその後のレイアウトインスタンスは、指定(x,y)座標から量「ステップ」だけオフセットされた位置に配置される。更に、レイアウト配置命令内にステップ方向(例えば、+x、-x、+y、又は-y)を指定することができる。最後に、この例示的レイアウト配置命令内には回転が含まれる。従って、「placeSTEP <cell_name_6201> 0 0 <cell_width_6201> x 90」というレイアウト配置命令の実行は、レイアウトインスタンス6201a~6201bが点(0,0)で始めて配置され、次に、+x方向に沿って「0+<cell_width>」の場所に90度回転されて配置されるという結果をもたらすことができ、ここで、<cell_name_6201>はセル名称であり、<cell_width_6201>はレイアウトインスタンス6201a~6201bの幅(ここではx軸に沿う長さ)である。同様に、レイアウトインスタンス6202a~6202dは、単一レイアウト配置命令を用いて点(x1,0)で始めて直列に配置することができ、6203a~6203cは、単一レイアウト配置命令を用いて開始点(0,y1)に直列に配置することができる。一部の例示的実施形態では、抵抗器は、専用レイアウト配置命令(例えば、placeRES)を有することができ、コンデンサーは、専用レイアウト配置命令(例えば、placeCAP)を有することができ、これらの両方を下記でより詳細に説明する。
図63Aは、様々な実施形態による様々なレイアウト配置命令に使用することができるステップの例示的タイプを示している。図63Aは、レイアウトインスタンス6301a~6301dをレイアウトインスタンス6302a~6302dとは別様にステップさせることができることを示している。例えば、一実施形態では、ステップは、レイアウトインスタンスの隣接する境界の間の距離を指定することができる。これを6300aに例示しており、ここで、レイアウトインスタンス6302a~6302dは、(0,0)で始めて、各レイアウトインスタンスの垂直側壁境界の間の距離、すなわち、ステップだけ逐次+x軸に沿った位置に配置される。ここで、レイアウト配置命令は、その中に指定されたステップ値と、1つの軸(例えば、この場合はx軸)に沿うレイアウトインスタンスの長さとの和に基づいて各レイアウトインスタンスを位置決めすることができる。隣接するレイアウトインスタンスの間の距離を指定することは、例えば、抵抗器レイアウト構成要素又はコンデンサーレイアウト構成要素等に対するサイズが異なる場合があるレイアウトインスタンスに対して有利である場合がある。
これに代えて、ステップは、ピッチを指定することができ、ここで、その後の配置は、初期位置にピッチを加えた場所(例えば、x=xinit+(i*pitch))に配置される。従って、一部のレイアウト配置命令は、ステップを位置決めされるレイアウトインスタンスのサブセットの第1の軸線に沿う境界の長さよりも大きいか又はそれに等しいように設定することができる。図63Aでは、レイアウトインスタンス6301a~6301dは、x軸に沿う長さに設定されたステップを有し、各レイアウトインスタンスは、隣接する垂直境界が接触するように配置される。このステップタイプはまた、例えば、各レイアウトインスタンスの間隔を設定するのに使用することができる。
図63Bは、実施形態による一部のレイアウト配置命令に使用される別のパラメータを示している。一部の実施形態では、単一レイアウト配置命令を用いて複数のレイアウトインスタンスグループ(例えば、複数の抵抗器レイアウト構成要素サブグループ)を配置することができる。この例では、レイアウト配置命令は、少なくとも第1のレイアウト配置命令サブグループ6303a~6303dと、第2のレイアウト配置命令サブグループ6304a~6304dとを含む。レイアウト配置命令は、第1及び第2のサブグループ内のレイアウトインスタンス間のステップを指定することができる。一部の実施形態では、例えば、これらのサブグループは、異なる名称(例えば、抵抗器レイアウトインスタンス名称又はセル名称)を有することができ、レイアウト配置命令は、同じグループ内のレイアウトインスタンスを第1の間隔(又はステップ)を用いて配置することができ、2つのサブグループは、これらの間に第2の間隔(又はステップ)が存在するように配置することができる。この例では、レイアウト配置命令は、(0,0)で始めてx軸に沿う「ステップ」だけ分離された場所にレイアウトインスタンス6303a~5303dを直列に配置することができる。レイアウトインスタンス6304a~6304dは、グループ6303a~6303dの最後のレイアウトインスタンスの隣接する境界から「グループステップ」だけx軸に沿って分離した位置で始まって直列に配置される。次に、レイアウトインスタンス6304a~6304dは、「ステップ」だけ分離されて直列に配置される。抵抗器レイアウトインスタンスを位置決めするための例示的レイアウト配置命令は、「placeRES x y step_btwn_same_name_res step_btwn_diff_name_res rotation directionx directiony distance」である。下記では、図63Cに関して「距離」特徴の議論をより詳細に行う。
一部の実施形態では、1つのレイアウト配置命令は、別のレイアウト配置命令に続くことができる。続くレイアウト配置命令は、先行レイアウト配置命令の最終位置から始まる位置に1又は2以上のレイアウトインスタンスを位置決めすることができる。この配置は、例えば、先に配置したレイアウトインスタンスに対して異なるレイアウトインスタンスを直列に配置するのに有利とすることができる。図63Cは、2つの異なる例を示している。レイアウト6300c内には、例えば、レイアウトインスタンス6306a~6306dが第1のレイアウト配置命令(例えば、placeSTEP)を用いて直列に配置され、レイアウトインスタンス6305a~6305dは、第2のレイアウト配置命令(例えば、placeSTEPCONTINUE)を用いて先行レイアウト配置命令が終了した場所から続けて直列に配置される。一部の実施形態では、第2のレイアウト配置命令は、上述したステップ方向及び回転に関するレイアウト配置パラメータを含むことができる。レイアウト6300dは、例えば、第2のレイアウト配置命令が、先行レイアウト配置命令が終了した場所から-90度回転して-y方向に沿って続けてレイアウトインスタンス6305a~6305dを直列に配置し、それによってこの例ではレイアウトインスタンスが占有された領域6390の周囲の周りに配置される場所を示している。以下の例は、実施形態による先行レイアウト配置命令に続き、先行レイアウト配置命令のx,y座標を維持することができるレイアウト配置命令の例である:
「placeSTEPcell libraryname cellname rotation」//「libraryname」からの「cellname」に対するレイアウトインスタンス(回路結線図から変換されたものではなく、レイアウトキャンバス上に存在しないとすることができる)を先行命令からの(placeSTEPに続くことができる)次のステップx yに配置する。
placeSTEPcontinue libraryname cellname stepdirection stepdistance rotation//レイアウトインスタンスを先行命令(placeSTEPに続くことができる)からの次のステップx yの場所に配置する。
図64は、様々な実施形態による一部のレイアウト配置命令に使用される別のパラメータを示している。ここで、レイアウト配置命令は距離を更に指定する。距離は、1つの軸線(例えば、x軸)に沿う最大距離を指定することができ、ここで、この距離よりも大きいレイアウトインスタンスの配置は、他方の軸線(例えば、y軸)に沿う異なる位置で始まってこの距離に達するまで第1の軸線(例えば、x軸)に沿って進行するように配置される。従って、レイアウトインスタンスは、第1の軸線に沿って開始位置から距離に基づく第2の位置まで直列に配置することができる。レイアウトインスタンスの第1の部分が開始位置と第2の位置の間の空間を張る時に、レイアウトインスタンスの第2の部分は、この最終位置から第2の軸線に沿ってオフセットされた第3の位置と、この距離に基づく第4の位置との間で第1の軸線に沿って直列に配置される。図64は、異なる距離パラメータ値に対するレイアウトインスタンス6401a~6401c及び6402a~6402gの異なるレイアウトを示している。
レイアウト6400aは、第1の距離に対してd1をパラメータとして設定することができることを示している。従って、レイアウトインスタンス6401a~6401cは、(0,0)から始まってx軸に沿って直列に配置される。インスタンス6401cが配置された状態で、距離d1内に例えば6402aの余地ができる。レイアウトインスタンス6401a~6401c及び6402aが距離d1を張った状態で、配置のための次の位置は、インスタンス6402aの最終位置からy軸に沿ってインスタンス6401a~6401c又は6402aの厚い方(ここではこれらのインスタンスは同じ厚みである)に等しい量だけy軸に沿ってオフセットされた新しい位置まで移動し、x軸に沿って-x方向に再開する。この例では、6402の全ての残りのインスタンスが配置される。しかし、追加のインスタンスが配置される場合に、配置は、距離d1が占有される度にy軸を増分させることになる。これを6400bに例示しており、ここで、d1よりも短い距離d2によって最後の2つのレイアウトインスタンス6402g~6402fは、x軸に折り返されてy軸に沿う第3の行を形成する。様々な実施形態では、レイアウトセグメントの自動蛇行(「前後」又は「交互」)配置は、一部の例示的用途ではセグメント間の接続の長さを有利に短縮することができる。
レイアウト6400c~6400dは、一部の実施形態の別の特徴を示している。レイアウト6400cでは、レイアウトインスタンスが残りの距離d3内に適合することができない場合に、このレイアウトインスタンスはオフセットされ(この図ではy軸を上向きに)、開始位置は距離d3の場所である。これに代えて、6400dでは、レイアウトインスタンスは、x=0に対して左揃えにすることができる。
6400e~6400fは、一部の実施形態の別の特徴を示している。この例は、距離パラメータの「厳しい」又は「緩い」遵守を指定することができる別のパラメータを示している。例えば、レイアウト6400eに示すように、一部の状況では、オフセット位置で配置を続ける前に距離d4よりも大きいある程度の小幅の延長を可能にすることが有利である場合がある。レイアウト6400fに示すように、システムは、距離d4を最大値として「厳密に」適用され、レイアウトインスタンス6401cは、距離d4を超えないようにy軸を上がった新しい行に配置される。
レイアウト6400gは、実施形態によるレイアウト配置命令の別のパラメータを示している。一実施形態では、レイアウト配置命令は、距離をレイアウトインスタンスのうちの1つに関連付けることができる。この例では、距離は、最も長い抵抗器レイアウト構成要素の長さであるd5に等しいように設定される。従って、最も長い抵抗器レイアウト構成要素の1つのインスタンスが配置され、その次の位置は、次の位置(この図ではy軸を上がった)に移動される。例えば、全ての抵抗器レイアウト構成要素が配置されてレイアウト6400gを形成するまで、その後のレイアウトセグメントが上述のように配置される。
一部の実施形態の特徴及び利点は、条件付きステートメントを含むレイアウト配置命令を更に含むことができる。図65は、条件付きレイアウト配置命令のための工程を示している。6501では、レイアウト配置命令に関する条件が評価される。レイアウト配置命令には、レイアウト自体に関するファクタに基づく表現(論理的又は演算的)又は条件を含む様々な条件を関連付けることができ、その例を下記で提供する。6502では、条件を評価することができる。条件が真である場合に、6503で1又は2以上のレイアウト配置命令を実行することができる。条件が偽である場合に、6504で他のレイアウト配置命令を実行することができる。図65は、代替レイアウト配置命令を実行することを示すが(例えば、「IF <condition=true> then <layout placement instruction 1>、else <layout placement instruction 2>」)、レイアウト配置命令は、条件が真又は偽の場合にのみレイアウト配置命令を実行することができ、他の場合に条件付きステートメントが終了する(例えば、「IF <condition=true> then <layout placement instruction>、else continue」又は「IF <condition=false> then <layout placement instruction>、else continue」)ことは理解されるものとする。
一実施形態では、条件付きレイアウト配置命令は、位置が占有されているか否かを決定する。一部の用途では、レイアウトスクリプトは、同じタイプ(又は系統、例えば、異なるパラメータを有する同じ機能回路構成要素)の複数の回路に対して使用することができる。一部のパラメータに対して、特定のレイアウトインスタンスは、レイアウト上の空間を占有することができる。従って、特定の位置が占有されているか否かを決定することにより、系統内のどの回路が発生されているかを有利に示すことができる。従って、異なるレイアウトインスタンス及び/又は異なる位置をある位置が占有されているか否かに基づいて指定することができ、これは、例えば、同じタイプの回路構成に対して異なるパラメータを用いた異なるレイアウト配置命令の実行をもたらすことができる。例えば、「placeTAP x y」という例示的レイアウト配置命令は、レイアウトインスタンスが特定の位置に存在するか否かを決定することができる。この位置(x,y)が占有されている場合に、命令は、「placeTAP」に続いてレイアウト配置命令を実行することができる。これに代えて、位置が占有されていなかった場合に、命令は、異なるレイアウト配置命令を実行することができる(例えば、「placeTAP」に続く行を飛ばすことにより)。以下の条件付きレイアウト配置命令は、これに代えて、位置(x,y)=(10,10)が占有されているか否かに基づいて「cellname1」又は「cellname2」を異なる場所に配置する。:
placeTAP 10 10
place cellname1 0 5.5 R0
place cellname2 4.9 5.5 R0
上述のように、「cellname1」は、1つのパラメータセットを有する回路(例えば、高電圧スイッチを有する回路)に対して使用することができ、「cellname2」は、異なるパラメータセットを有する回路(例えば、低電圧スイッチを有する同じ回路)に対して使用することができる。異なる回路が異なるレイアウト間隔を有することができるので、異なるセルを異なる場所に有利に位置決めすることができる。
別の例示的条件付きレイアウト配置命令は、レイアウトインスタンスの属性を評価し、その結果に基づいて異なるレイアウト配置命令を実行することができる。例えば、条件付きレイアウト配置命令は、1又は2以上の指定レイアウトインスタンスがレイアウト内に含まれるか否かを決定することができる。指定インスタンスがレイアウト内に含まれている場合は、1又は2以上の第1のレイアウト配置命令を実行することができ、1又は2以上の指定レイアウトインスタンスがレイアウトに存在しない場合は、1又は2以上の第2のレイアウト配置命令を実行することができる。レイアウトインスタンスがレイアウト内に含まれているか否かを決定することは、例えば、セル名称又はインスタンス名称に基づいて条件を評価することによって実施することができる。「placeIF <cell又はinstance name><NOT-opt>contains <char(s)+wildcards>」という命令は、実施形態による例示的条件付きレイアウト配置命令である。この命令は、「placeEND」指令に到達するまで「placeIF」指令に続くレイアウト配置命令を実行することができる。以下は、「placeIF」指令の例である:
placeIF cellnamecontains amp*//セル名称が「amp<any>」を含む場合に増幅器を配置する。
place amplifier_highgain 1.23 2.23 R0
place amplifier_lowgain 4.3 0 R0
placeEND
placeIF instancenamecontains osc_res*//インスタンス名称が「osc_res<any>」を含む場合にスイッチセル及びmuxセルを配置する。
place osc_resistor_switch1 1.23 2.23 R0
place osc_res_mux 4.3 0 R0
placeEND
placeIF instancenameNOTcontains osc_res*//インスタンス名称が「osc_res<any>」を含まない場合に抵抗器を配置する。
placeRES 0 0 0.56 0.8 R0 x y 85
placeEND
ここで、「*」はワイルドカードである。他のワイルドカードは、ORに対する||、代替変数を評価するための&&(例えば、「res*&&cap*」又は「ch*3&&ch*5」)を含むことができる。例えば、広範なワイルドカード演算子を用いて条件付きレイアウト配置命令に対する表現を構成することができることは理解されるものとする。一実施形態では、条件付けは、placeIFとplaceELSEとの両方を含むことができる。例は以下の通りである:
placeIF instancenameNOTcontains osc_res*//インスタンス名称が「osc_res<any>」を含まない場合に抵抗器を配置する。
placeRES 0 0 0.56 0.8 R0 x y 85
placeELSE
placeTAP 101 30
placeRES -3.14 9.75 .56 0.8 R90 -x y 31
placeRES 8.85 69.655 0.56 0.8 R0 x y 131H[0352]
ここで、「31」は、上述した距離パラメータであり、「131H」は、同じく上述した厳しい遵守の場合の別の距離パラメータである。
図66は、実施形態によるトランジスタをレイアウトの中に組み込むための別のレイアウト配置命令を示している。上述のように、トランジスタは、トランジスタレイアウト要素6601~6604のような複数のトランジスタレイアウト要素から形成することができる。トランジスタレイアウト要素6601~6604は、トランジスタレイアウト構成要素6610(例えば、単一複合FETトランジスタのためのレイアウト構成要素)を形成するための1又は2以上のレイアウト配置命令を用いて配置することができる。様々な実施形態では、トランジスタレイアウト構成要素6610は、それを他の回路構成に対応する複数の他のレイアウトインスタンスと共にも配置することにより(例えば、レイアウト内の次の上のレベルで)、回路のためのレイアウトの中に組み込むことができる。図66に示すように、トランジスタレイアウト構成要素6610は、レイアウトインスタンス6611(例えば、部分回路結線図に対応する)、レイアウトインスタンス6612a~6612c(例えば、コンデンサーに対応する)、及びレイアウトインスタンス6613a~6613h(例えば、抵抗器セグメントに対応する)と共にレイアウトの中に組み込まれる。レイアウト配置命令は、各レイアウトインスタンス6610~6613に対して作動することができる。自動発生抵抗器と、自動発生コンデンサーと、自動発生トランジスタと、予め定められた部分回路とに対する自動発生回路レイアウトの例を6600に例示している。
様々な実施形態では、異なる機能を実施する異なるタイプのレイアウト配置命令は、レイアウトインスタンスを自動的に配置してレイアウトを生成するのに使用することができる配置セット(例えば、配置言語)を形成することができる。以下の説明は、単なる一例示的レイアウト配置命令セットである:
place libraryname cellname x y Rotation //回路結線図からのセルを配置する。
placeINST instance_name x y rotation//セル名称ではなくインスタンス名称に基づいて配置する。
placeSTEP libraryname cellname x y stepdirection stepdistance rotation//回路結線図内のセルを配置し、ステップさせる;ステップ距離=ピッチ(例えば、予め定められたx長さ又はy長さ+任意的なオフセット間隔)。
placeSTEPcontinue libraryname cellname stepdirection stepdistance rotation//上述のセルステップからの最後のステップx yに次のステップを配置する。placeSTEPに続く。
placeSTEPcell libraryname cellname rotation//存在しないセルを上述のセルステップからの次のステップx yに配置する。placeSTEPに続く(例えば、結線図から変換されたものではないレイアウトインスタンスを位置決めする)。
placeCELL libraryname cellname x y rotation//回路結線図に存在しないセルを配置する(例えば、結線図から変換されたものではないセルを回転させてx yに配置する)。
placeRES x y step_btwn_same_name_res step_btwn_diff_name_res rotation directionx directiony distanceforres(H hard stop又はmaxL)//結線図からの複数の抵抗器を配置する。distanceforresは、抵抗器の1つの行に対する最大距離を設定し、末尾にある「H」フィールドは、%補正係数のないハードストップを定め、「maxL」は、数字の代わりに最も大きい抵抗器を距離として設定する。
placeCAP x y step rotation distance_available_for_step//結線図内にキャップを所与の距離に対する複数の行で配置する。
placeFET x y xstep ystep #columns #rows//トランジスタ(例えば、M>1又は並列)に対するトランジスタレイアウト要素を列と行とのアレイに配置する。xstep ystepは、デバイスタイプに対する式から計算される。
placeTAP x y//x,yをタップし、何も見つからなかった(他のインスタンスがこの位置(x,y)を占有していなかった)場合に次の行を実行し、タップ点で何かが見つかった場合に、その後の行を実行する。
placeIF <cellNameContains、instNameContains、cellNameNOTcontains、instNameNOTcontains> <cellname又はstring,+wildcards>//placeENDに到達するまで全てのレイアウト配置命令を実行する。例示的用途:異なる基本セル間で区別するため。
placeIFELSE <cellNameContains、instNameContains、cellNameNOTcontains、instNameNOTcontains> <cellname又はstring,+wildcards>//placeELSEの条件基準が満たされるまで全てのレイアウト配置命令を実行する。判断基準が満たされていない場合に、placeELSEとplaceENDの間で指令を実行する。例示的用途:セルの追加が他のセルに対する配置を変化させる場合。
moveORIGIN shift_direction;prboundaryを見つけて0,0を最も低いyへ、最も左のxへ、又はxy両方に移動する。用途:位置決めの後に、より高いレベルのレイアウト内に組合せレイアウトインスタンスを位置決めするために0,0を予め定められたコーナ(例えば、左下コーナ)にリセットする。
以下は、抵抗器回路のためのレイアウトを発生させるのに使用される一例示的レイアウトである。以下の例示的レイアウトスクリプトを用いて、異なるパラメータを有する同系統の抵抗器をレイアウトすることができ、ここで、レイアウトインスタンスの一部は、一部の抵抗器回路に対して存在することができ、他の抵抗器回路に対しては存在しない:
layout,resistor
//以下のスイッチが回路内に見つかった場合にそのうちの1つを配置する。
place Generate STONEresistorswitchH 14.89 58.005 R180
place Generate STONEresistorswitchHB 14.89 58.005 R180
place Generate STONEresistorswitchT 0 0 R0
place Generate STONEresistorswitchTB 0 0 R0
//x,y=10,10を検査し、そこが占有されているか否かに基づいて配置する。
placeTAP 10 10
placeINST XkelvinP -1.675 -4.83 R0
placeINST XkelvinP 86.03 19.4 R270
placeTAP 10 10
placeINST XkelvinN 5.55 -4.83 R0
placeINST XkelvinN 61.9 20.335 R270
placeTAP 10 10
placeSTEP Generate STONEresistorswitchL 0 7.87 x 7.99 R0
placeSTEP Generate STONEresistorswitchL 158.4 7.87 x 7.99 R0
placeSTEPcontinue Generate STONEresistorswitchLB x 7.99 R0
//予め定められたマルチプレクサレイアウトを配置する。
place Generate STONEresistorimux0p125 42.345 49.635 R0
place Generate STONEresistorimux0p25 42.345 49.635 R0
place Generate STONEresistorimux0p5 42.345 49.635 R0
place Generate STONEresistorimux4 42.345 49.635 R0
place Generate STONEresistorimux8 42.345 49.635 R0
place Generate STONEresistorimux2 42.345 49.635 R0
//どのスイッチが配置れているか(IF)及び何処に配置れているか(TAP)に基づいて抵抗器を配置する。
placeIFELSE cellNameNOTContains switchT&&switchL
placeRES 0 0 0.56 0.8 R0 x y 85//「switchT」及び「switchL」がキャンバス上に存在しない場合に、この場所に抵抗器を配置する。
placeELSE
placeTAP 101 20//他の場合に、101,20が占有されているか否か(系統内の特定の回路に依存する場合がある)に基づいて抵抗器を配置する。
placeRES -2.19 8.85 .56 .8 R90 -x y 31
placeRES 8.85 59.655 0.56 0.8 R0 x y 131H
placeEND
moveORIGIN x//より高いレベルの使用に対してxをリセットする。
moveORIGIN y//より高いレベルの使用に対してyをリセットする。
endlayoutbio
上述の例示的レイアウト配置命令は、使用することができるレイアウトスクリプト及びレイアウト配置命令の一例示的実施形態に過ぎない。本発明の開示及び特許請求の範囲内で他の実施を使用することもできると考えられることは理解されるものとする。
例示的コンピュータシステム
図67は、ある一定の実施形態による例示的コンピュータシステムハードウエアを示している。本発明の開示の様々な実施形態は、本明細書に説明する様々な技術を実施するためのコンピュータ実行可能コード(ソフトウエア)に実施することができる。図67は、様々な実施形態によるソフトウエアを実行するのに使用されるコンピュータの簡単な例を示している。1又は2以上のそのようなコンピュータを用いて、本明細書に説明する技術を実施することができる。図67に示すように、コンピュータシステム6700は、マルチプロセッサCPU(例えば、Intel(登録商標)又はAMD(登録商標)からのもの)のような1又は2以上のプロセッサ6701を含むことができる。プロセッサ6701は、実行された時に本明細書に説明する技術の一部又は全てを実施する実行可能プログラムコードをコンピュータ可読ストレージ媒体からロードすることができる。プロセッサ6701は、様々なサブシステムと通信するために、この図ではバス6705として表す1又は2以上のバスに結合することができる。この実施形態では、プロセッサ6701は、例えば、磁気ストレージ、光ストレージ、又は固体ストレージを含むことができるストレージデバイス6702と通信することができる(例えば、実行可能コードを取り出すために)。更に、プロセッサ6701は、バス6705を通してメモリ6703と通信することができる。メモリ6703は、例えば、プログラム実行中の命令及びデータの格納のためのランダムアクセスメモリ(RAM)と、固定された命令を格納する読取専用メモリ(ROM)とを含むいくつかのメモリを表すことができる。一部の実施形態では、プロセッサ6701は、取り外し可能媒体(例えば、CD-ROM、DVD、ブルーレイなど)、取り外し可能フラッシュメモリベースのドライブ又はカード、及び/又は当業技術で公知の他のタイプのストレージ媒体と通信することができる。
プロセッサ6701は、例えば、バス6705上でネットワークインタフェース6704と通信することができる。ネットワークインタフェース6704は、コンピュータシステム6700が、例えば、本明細書に説明する技術を実施するために、他のコンピュータシステムと通信することができるネットワーク6710と通信することを可能にすることができる。例えば、様々な実施形態では、ネットワークインタフェース6704は、例えば、様々なイーサネット速度接続(例えば、オフィス、サーバ室、又はデータセンター内)をサポートするためのイーサネットカード、Wi-Fi、「IEEE 802」ベースのシステム、及び/又はセルラーアダプタ、モデム(電話、衛星、ケーブル、ISDNなど)、デジタル加入者線(DSL)ユニット、及び/又は他のデータ通信システムを含むことができる。
一部の実施形態では、本明細書に説明する技術は、1又は2以上のサーバコンピュータ上で実施することができる。他の実施形態では、本明細書に説明する技術の一部又は全ては、例えばラップトップコンピュータ又はデスクトップコンピュータ、又は入力/出力インタフェース6706を含むことができる他のコンピュータシステム上で実施することができる。入力/出力インタフェース6706は、入力デバイス(例えば、マウス、キーボード、又はタッチパッドなど)から情報を受信するための及び/又は出力デバイス(例えば、ディスプレイ)に情報を与えるためのハードウエアを含むことができる。
この図では、バス6705を単一バスとして表すが、バス6705は、複数のバスを含むことができることは理解されるものとする。
コンピュータシステム6700が例示的なものであり、システム6700よりも多いか又は少ない構成要素を有する多くの他の構成が可能であることは当業者によって認められるであろう。
一部の実施形態では、本明細書に説明する特徴及び技術は、リモートコンピュータシステム上で実行されるソフトウエア(例えば、クラウド内で実行されるサービスとしてのソフトウエア)に具現化することができる。図68は、ある一定の実施形態に使用することができる様々なコンピュータシステム構成を示している。この例では、本明細書に開示する技術の一部又は全てを実施するための実行可能コードは、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、又は他のネットワーク(例えば、インターネット)のようなネットワーク6810を通して互いに結合された1又は2以上のサーバコンピュータ上で実行することができる。本明細書に開示する技術の一部又は全てを実施するためのコンピュータ実行可能コードは、例えば、単一サーバ又は複数サーバ6811~6813上で実行することができる。サーバ6811~6813は、図67に説明したコンピュータアーキテクチャを有することができる。様々な実施形態によるソフトウエアは、サーバによって直接実行するか又は例えば当業者に公知であるようにコンピュータシステムハードウエア上で実行される仮想機械上で実行することができる。一部の実施形態では、本発明の開示の実施形態は、例えば、データセンター6820~6821の一部である1又は2以上のサーバ上で実施することができる。
上述のように、本明細書に説明する一部の実施形態は、ユーザから入力を受信することができる。従って、ユーザは、例えば、コンピュータシステム6830~6832と対話することができ、更にこれらのコンピュータシステムは、ネットワーク6810を通して1又は2以上のサーバコンピュータ6811~6814と通信して本明細書に説明する技術を実施する。
図69は、実施形態により回路を作る工程を示している。上述のように、本明細書に開示する技術の一部又は全ては、集積回路を作るための工程の一部として使用することができる。例えば、6901では、発生されることになる回路を指定する情報は、ソフトウエアシステム(例えば、上述した様々な実施形態による発生器ソフトウエアシステム)内で受信される。6902では、ソフトウエアシステムは、結線図を発生させることができる。6903では、レイアウトが発生される。6904では、レイアウトを用いて回路を製作することができる。例えば、レイアウトは、レイアウト内の幾何学形状を表すためのファイルフォーマットに変換されてフォトマスクを生成するのに使用されるか、又は半導体製作ツールの中にロードされて物理的半導体回路を製作するのに使用することができる。6905では、回路はパッケージ化される。例えば、半導体ウェーハは、個々の半導体ダイ(別名「チップ」)に分割することができ、半導体チップのうちの1又は2以上は、パッケージ化することができる。
更に別の例示的実施形態
様々な実施形態の特徴及び利点は、単体で又は以下のような組合せで以下の技術により回路の自動発生に関連することができる。
様々な実施形態では、本明細書に説明する技術は、コンピュータ実装方法、システム、装置、及び機械(例えば、コンピュータ)実行可能命令を格納するコンピュータ可読媒体に具現化することができる。
以下は、様々な実施形態による様々な例示的方法である。以下の例は、様々な異なる組合せに組み合わせることができることは理解されるものとする。これに加えて、本発明の開示に照らして他の例示的組合せが可能であることも理解されるものとする。従って、以下の例は例示であり、限定ではない。
実施形態1.回路を生成するコンピュータ実装方法(computer-implemented method)であって、生成されることになる回路を指定するパラメータを受信する段階、回路に含められることになる部分回路結線図をパラメータに基づいて選択する段階、部分回路結線図間の接続をパラメータに基づいて決定する段階、部分回路結線図と予め定められた部分回路結線図間の接続とを指定する、生成されることになる回路のための回路仕様(circuit specification)を生成する段階、及び生成されることになる回路に関連付けられたレイアウトスクリプトを生成する段階を含む回路仕様を生成する段階と、回路仕様に指定された予め定められた部分回路結線図を選択する段階、回路結線図を形成するために予め定められた部分回路結線図を接続する段階、回路結線図を複数のレイアウトインスタンスに変換する段階、及び回路レイアウトを生成するために、生成されることになる回路に関連付けられたレイアウトスクリプトに基づいてレイアウトインスタンスを位置決めする段階を含む回路仕様を回路結線図及び回路レイアウトに変換する段階とを含むコンピュータ実装方法。
実施形態2.予め定められた部分回路結線図が、予め定められたアナログ部分回路結線図を含む実施形態1の方法。
実施形態3.パラメータが、1又は2以上の機能回路構成要素を指定し、1又は2以上の機能回路構成要素が、対応する予め定められた部分回路結線図を有する実施形態1の方法。
実施形態4.1又は2以上の機能回路構成要素に対応する1又は2以上の記号を生成する段階を更に含み、記号が、選択された予め定められた部分回路結線図をカプセル封入する実施形態3の方法。
実施形態5.レイアウトスクリプトが、複数のレイアウト配置命令を含む実施形態1の方法。
実施形態6.レイアウトスクリプトが、複数の回路結線図からのレイアウトインスタンスを位置決めするように構成される実施形態1の方法。
実施形態7.複数の回路結線図が、同じ機能回路構成要素に関連付けられる実施形態6の方法。
実施形態8.回路仕様を生成する段階が、第1のソフトウエアシステム上で実施され、回路仕様を回路結線図及び回路レイアウトに変換する段階が、第2のソフトウエアシステム上で実施される実施形態1の方法。
実施形態9.第2のソフトウエアシステムが、電子設計自動化ソフトウエアシステムである実施形態8の方法。
実施形態10.回路を生成するためのコンピュータシステムであって、1又は2以上のプロセッサと、コンピュータシステムによって実行された時に、生成されることになる回路を指定するパラメータを受信する段階、回路に含められることになる予め定められた部分回路結線図をパラメータに基づいて選択する段階、部分回路結線図間の接続をパラメータに基づいて決定する段階、部分回路結線図と部分回路結線図間の接続とを指定する生成されることになる回路のための回路仕様を生成する段階、及び生成されることになる回路に関連付けられたレイアウトスクリプトを生成する段階を含む回路仕様を生成する段階と、回路仕様に指定された予め定められた部分回路結線図を選択する段階、回路結線図を形成するために予め定められた部分回路結線図を接続する段階、回路結線図を複数のレイアウトインスタンスに変換する段階、及び回路レイアウトを生成するために、生成されることになる回路に関連付けられたレイアウトスクリプトに基づいてレイアウトインスタンスを位置決めする段階を含む回路仕様を回路結線図及び回路レイアウトに変換する段階とを含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体とを含むコンピュータシステム。
いずれか1又は2以上の実施形態2-9と組み合わされた実施形態10のコンピュータシステム。
実施形態11.コンピュータシステムによって実行された時に、生成されることになる回路を指定するパラメータを受信し、回路に含められることになる予め定められた部分回路結線図をパラメータに基づいて選択し、部分回路結線図間の接続をパラメータに基づいて決定し、部分回路結線図と部分回路結線図間の接続とを指定する生成されることになる回路のための回路仕様を生成し、かつ生成されることになる回路に関連付けられたレイアウトスクリプトを生成することを含む、回路仕様を生成することと、回路仕様に指定された予め定められた部分回路結線図を選択し、回路結線図を形成するために予め定められた部分回路結線図を接続し、回路結線図を複数のレイアウトインスタンスに変換し、かつ回路レイアウトを生成するために生成されることになる回路に関連付けられたレイアウトスクリプトに基づいてレイアウトインスタンスを位置決めすることを含む、回路仕様を回路結線図及び回路レイアウトに変換することと、をコンピュータシステムに行わせる、コンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体。
コンピュータシステムによって実行された時にコンピュータシステムにいずれか1又は2以上の実施形態2-9を実施させるコンピュータ実行可能命令が格納された実施形態11の非一時的コンピュータ可読ストレージ媒体。
実施形態12.回路を生成するコンピュータ実装方法であって、少なくとも1つのコンピュータ上で実行される少なくとも1つのソフトウエアシステムにより、少なくとも1つの機能回路構成要素に対応する複数の回路仕様パラメータを受信する段階と、少なくとも1つのソフトウエアシステムにより、回路仕様パラメータに基づいて複数の部分回路結線図を選択する段階と、少なくとも1つソフトウエアシステムにより、少なくとも1つの機能回路構成要素のための回路結線図を形成するために部分回路結線図を組み合わせる段階とを含むコンピュータ実装方法。
実施形態13.部分回路結線図が、アナログ部分回路結線図を含む実施形態12の方法。
実施形態14.部分回路結線図が、予め定められたアナログ部分回路結線図を含む実施形態12の方法。
実施形態15.選択された複数の部分回路結線図が、第2の複数の予め定められたアナログ部分回路結線図のサブセットである実施形態14の方法。
実施形態16.第2の複数の予め定められたアナログ部分回路結線図が、少なくとも1つの機能アナログ回路構成要素に対応する実施形態15の方法。
実施形態17.複数の部分回路結線図が、異なる回路を用いて同じ機能を実施するための代替部分回路結線図を含む実施形態15の方法。
実施形態18.部分回路結線図が、異なる電気特質を有する複数のアナログピンを含む実施形態12の方法。
実施形態19.異なる電気特質が、異なる電圧又は電流作動範囲である実施形態18の方法。
実施形態20.部分回路結線図が、複数のピンを含み、組み合わせる段階が、部分回路結線図のピンをマッピングする段階を含む実施形態12の方法。
実施形態21.複数のピンのうちの1又は2以上のピンが、アナログピンである実施形態20の方法。
実施形態22.マッピングする段階が、少なくとも1つのピンマップに基づいている実施形態20の方法。
実施形態23.異なるピンマップが、選択された部分回路結線図の異なる組合せのための複数の部分回路結線図ピンの間の接続を指定する実施形態22の方法。
実施形態24.少なくとも1つのピンマップが、選択された部分回路結線図に基づいている実施形態22の方法。
実施形態25.ピンマップが、部分回路結線図のピンの間の接続を指定する実施形態22の方法。
実施形態26.ピンマップが、部分回路結線図のピンの間の接続と回路結線図の入力又は出力とを指定する実施形態22の方法。
実施形態27.接続されたピンが、予め決められた互換性を有する実施形態20の方法。
実施形態28.ピンをマッピングする段階が、回路結線図内でピンを接続する段階を含む実施形態20の方法。
実施形態29.マッピングする段階が、複数の予め定められた規則に基づいて少なくとも1つのソフトウエアシステムによって自動的に行われる実施形態20の方法。
実施形態30.回路仕様パラメータに関する異なる値が、少なくとも1つの機能回路構成要素に対して異なる特質を有する異なるアナログ回路結線図を発生する実施形態12の方法。
実施形態31.異なる対応する機能回路構成要素に関する異なる回路仕様パラメータセットが、異なる対応する予め定められた部分回路結線図セットを有する実施形態12の方法。
実施形態32.異なる回路仕様パラメータセットに関する異なる値が、異なる機能回路構成要素に対応する予め定められた部分回路結線図の複数のセットのうちの1つから予め定められた部分回路結線図の異なるサブセットを選択する実施形態31の方法。
実施形態33.複数の回路仕様パラメータが、物理特質を指定するパラメータ又は電気特質を指定するパラメータのうちの1又は2以上を含む実施形態12の方法。
実施形態34.選択された部分回路を指定するネットリストを生成する段階を更に含む実施形態12の方法。
実施形態35.ネットリストが、verilogファイルである実施形態34の方法。
実施形態36.部分回路結線図が、少なくとも1つの機能回路構成要素のための回路結線図を形成するために少なくとも1つの機能回路構成要素に関連付けられた規則セットに従って組み合わされる実施形態12の方法。
実施形態37.異なる機能回路構成要素に対応する異なる回路仕様パラメータが、異なる部分回路結線図セットを組み合わせるための異なる関連規則セット(associated sets of rules)を用いて処理される実施形態12の方法。
実施形態38.異なる機能回路構成要素が、予め定められた部分回路結線図の対応する独特なセットを有する実施形態12の方法。
実施形態39.予め定められた部分回路結線図の各独特なセットが、対応する機能回路構成要素に対してのみ使用される1又は2以上の独特な予め定められたアナログ部分回路結線図を含む実施形態38の方法。
実施形態40.予め定められた部分回路結線図の各独特なセットが、複数の対応する機能回路構成要素に対して使用される1又は2以上の予め定められたアナログ部分回路結線図を含む実施形態38の方法。
実施形態41.回路仕様パラメータが、変数及び対応する値を含む実施形態12の方法。
実施形態42.変数及び値が、テキストとして受信される実施形態41の方法。
実施形態43.回路仕様パラメータが、回路結線図の特質を指定するコードを含む実施形態12の方法。
実施形態44.コードの異なる値が、異なる部分回路結線図を選択する実施形態43の方法。
実施形態45.回路を生成するためのコンピュータシステムであって、1又は2以上のプロセッサと、コンピュータシステムによって実行された時に、少なくとも1つのコンピュータ上で実行される少なくとも1つのソフトウエアシステムにより、少なくとも1つの機能回路構成要素に対応する複数の回路仕様パラメータを受信する段階と、少なくとも1つのソフトウエアシステムにより、回路仕様パラメータに基づいて複数の部分回路結線図を選択する段階と、少なくとも1つソフトウエアシステムにより、少なくとも1つの機能回路構成要素のための回路結線図を形成するために部分回路結線図を組み合わせる段階とを含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体とを含むコンピュータシステム。
実施形態12-14のいずれか1又は2以上と組み合わされた実施形態45のコンピュータシステム。
実施形態46.コンピュータシステムによって実行された時にコンピュータシステムに、少なくとも1つのコンピュータ上で実行される少なくとも1つのソフトウエアシステムにより、少なくとも1つの機能回路構成要素に対応する複数の回路仕様パラメータを受信させ、少なくとも1つのソフトウエアシステムにより、回路仕様パラメータに基づいて複数の部分回路結線図を選択させ、かつ少なくとも1つソフトウエアシステムにより、少なくとも1つの機能回路構成要素のための回路結線図を形成するために部分回路結線図を組み合わさせるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体。
コンピュータシステムによって実行された時にコンピュータシステムに実施形態12-14のいずれか1又は2以上を実施させるコンピュータ実行可能命令が格納された実施形態46の非一時的コンピュータ可読ストレージ媒体。
実施形態47.回路を生成するためのシステムであって、少なくとも1つのコンピュータ上で実行される少なくとも1つのソフトウエアシステムにより、少なくとも1つの機能回路構成要素に対応する複数の回路仕様パラメータを受信するための手段と、少なくとも1つのソフトウエアシステムにより、回路仕様パラメータに基づいて複数の部分回路結線図を選択するための手段と、少なくとも1つソフトウエアシステムにより、少なくとも1つの機能回路構成要素のための回路結線図を形成するために部分回路結線図を組み合わせるための手段とを含むシステム。
実施形態48.回路を生成するコンピュータ実装方法であって、少なくとも1つのコンピュータ上で実行される少なくとも1つのソフトウエアシステムにより、少なくとも1つの機能回路構成要素に対応する複数の回路仕様パラメータを受信する段階と、少なくとも1つのソフトウエアシステムにより、少なくとも1つの機能回路構成要素のための回路レイアウトを形成するために回路仕様パラメータに基づいて複数の部分回路レイアウトを組み合わせる段階とを含むコンピュータ実装方法。
実施形態49.部分回路レイアウトが、アナログ部分回路レイアウトである実施形態48の方法。
実施形態50.部分回路レイアウトが、予め定められたアナログ部分回路レイアウトである実施形態48の方法。
実施形態51.複数の予め定められたアナログ部分回路レイアウトのサブセットが、少なくとも1つの機能アナログ回路構成要素に対応する実施形態50の方法。
実施形態52.複数の部分回路レイアウトが、異なる回路を用いて同じ機能を実施するための代替部分回路レイアウトを含む実施形態48の方法。
実施形態53.回路仕様パラメータに関する異なる値が、少なくとも1つの機能回路構成要素に対して異なる特質を有する異なるアナログ回路レイアウトを発生する実施形態48の方法。
実施形態54.異なる対応する機能回路構成要素に対する異なる回路仕様パラメータセットが、異なる対応する予め定められた部分回路レイアウトセットを有する実施形態48の方法。
実施形態55.各回路仕様パラメータセットに対する異なる値が、異なる機能回路構成要素に対応する複数の予め定められた部分回路レイアウトセットのうちの1つからの予め定められた部分回路レイアウトの異なるサブセットを組み合わせる実施形態54の方法。
実施形態56.複数の回路仕様パラメータが、物理特質を指定するパラメータ又は電気特質を指定するパラメータのうちの1又は2以上を含む実施形態48の方法。
実施形態57.回路仕様パラメータが、変数及び対応する値を含む実施形態48の方法。
実施形態58.回路仕様パラメータが、変数を含み、値が、テキストとして受信される実施形態57の方法。
実施形態59.回路仕様パラメータが、回路レイアウトの特質を指定するコードを含む実施形態48の方法。
実施形態60.コードの異なる値が、異なる部分回路レイアウトを選択する実施形態59の方法。
実施形態61.組み合わせる段階が、部分回路レイアウトを回路レイアウトに配置するための複数のレイアウト配置命令に基づいている実施形態48の方法。
実施形態62.部分回路レイアウトのうちの少なくとも1つが、第1の高さ及び第1の幅を有し、他方の部分回路レイアウトのうちの少なくとも1つが、第1の高さとは異なる第2の高さと第2の幅とは異なる第2の幅とを有する実施形態61の方法。
実施形態63.レイアウト配置命令が、予め定められる実施形態61の方法。
実施形態64.レイアウト配置命令が、外部データ記録からの配置データにアクセスする実施形態61の方法。
実施形態65.レイアウト配置命令が、外部データ記録内に予め定められる実施形態61の方法。
実施形態66.レイアウト配置命令が、x,y座標系に従って部分回路レイアウトを配置する実施形態61の方法。
実施形態67.異なる対応するレイアウト配置命令に関連付けられた異なる部分回路レイアウトセットから異なる回路レイアウトを形成することができる実施形態61の方法。
実施形態68.複数のレイアウト配置命令が、1又は2以上の部分回路レイアウトを特定の座標に配置する1又は2以上のレイアウト配置命令を含む実施形態61の方法。
実施形態69.複数のレイアウト配置命令が、1又は2以上の部分回路レイアウトを回転させる1又は2以上のレイアウト配置命令を含む実施形態61の方法。
実施形態70.複数のレイアウト配置命令が、シーケンスになっており、特定の部分回路レイアウトが、レイアウト配置命令のシーケンスに基づいて直列に配置される実施形態61の方法。
実施形態71.複数のレイアウト配置命令が、部分回路レイアウトの配置を指定するデータにアクセスする実行可能命令を含む実施形態61の方法。
実施形態72.データが、各部分回路レイアウトに対して実行されることになる1又は2以上のレイアウト配置命令を指定する実施形態71の方法。
実施形態73.データが、複数の部分回路レイアウトを配置するためのx軸及びy軸座標を指定する実施形態71の方法。
実施形態74.データが、部分回路レイアウトのうちの1又は2以上に対する回転を指定する実施形態71の方法。
実施形態75.回路仕様パラメータに関する異なる値が、対応するレイアウト配置命令を用いて異なる部分回路レイアウトを組み合わせ、実行される特定のレイアウト配置命令が、特定の回路仕様パラメータ値から生成された特定のアナログ回路レイアウトに固有である実施形態61の方法。
実施形態76.回路レイアウトを形成するために部分回路レイアウトの特定の組合せに基づいて複数のレイアウト配置命令セットのうちの1つを実行する段階を更に含み、部分回路レイアウトの異なる組合せが、対応する異なるレイアウト配置命令を有する実施形態61の方法。
実施形態77.回路を生成するためのコンピュータシステムであって、1又は2以上のプロセッサと、コンピュータシステムによって実行された時に、少なくとも1つのコンピュータ上で実行される少なくとも1つのソフトウエアシステムにより、少なくとも1つの機能回路構成要素に対応する複数の回路仕様パラメータを受信する段階、及び少なくとも1つのソフトウエアシステムにより、少なくとも1つの機能回路構成要素のための回路レイアウトを形成するために回路仕様パラメータに基づいて複数の部分回路レイアウトを組み合わせる段階を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体とを含むコンピュータシステム。
実施形態48-76のいずれか1又は2以上と組み合わされた実施形態77のコンピュータシステム。
実施形態78.コンピュータシステムによって実行された時にコンピュータシステムに、少なくとも1つのコンピュータ上で実行される少なくとも1つのソフトウエアシステムにより、少なくとも1つの機能回路構成要素に対応する複数の回路仕様パラメータを受信させ、かつ少なくとも1つのソフトウエアシステムにより、少なくとも1つの機能回路構成要素のための回路レイアウトを形成するために回路仕様パラメータに基づいて複数の部分回路レイアウトを組み合わさせるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体。
コンピュータシステムによって実行された時にコンピュータシステムに実施形態48-76のいずれか1又は2以上を実施させるコンピュータ実行可能命令が格納された実施形態78の非一時的コンピュータ可読ストレージ媒体。
実施形態79.回路を生成するためのシステムであって、少なくとも1つのコンピュータ上で実行される少なくとも1つのソフトウエアシステムにより、少なくとも1つの機能回路構成要素に対応する複数の回路仕様パラメータを受信するための手段と、少なくとも1つのソフトウエアシステムにより、少なくとも1つの機能回路構成要素のための回路レイアウトを形成するために回路仕様パラメータに基づいて複数の部分回路レイアウトを組み合わせるための手段とを含むシステム。
実施形態80.回路を生成するコンピュータ実装方法であって、生成されることになる回路の第1のモデルを生成する段階と、第1のモデルに対応する回路仕様パラメータを生成する段階と、回路仕様パラメータに基づいて複数の部分回路結線図を選択する段階と、生成されることになる回路のための回路結線図を形成するために部分回路結線図を組み合わせる段階とを含み、組み合わされた部分回路結線図が、第1のモデルに対応するトランジスタレベルモデルを形成するコンピュータ実装方法。
実施形態81.第1のモデルが、挙動モデルである実施形態80の方法。
実施形態82.第1のモデルの複数の挙動レベル模擬実験が、トランジスタレベルモデルに対する対応する複数のトランジスタレベル模擬実験と実質的に適合する実施形態80の方法。
実施形態83.第1のモデルが、第1のモデルに対する複数の挙動を生成するように回路仕様パラメータに基づいて構成可能であり、第1のモデル及びトランジスタレベルモデルに対する模擬実験が、第1のモデル及びトランジスタレベルモデルが同じパラメータを有する時に実質的に適合する実施形態80の方法。
実施形態84.第1のモデルの複数の挙動レベル模擬実験が、トランジスタレベルモデルに対する対応する複数のトランジスタレベル模擬実験に適合する実施形態80の方法。
実施形態85.部分回路結線図が、予め定められたアナログ部分回路結線図を含む実施形態80の方法。
実施形態86.回路結線図を複数のレイアウトインスタンスに変換する段階と、回路レイアウトを生成するためにレイアウトスクリプトに基づいてレイアウトインスタンスを位置決めする段階とを更に含む実施形態80の方法。
実施形態87.回路を生成するためのコンピュータシステムであって、1又は2以上のプロセッサと、コンピュータシステムによって実行された時に、生成されることになる回路の第1のモデルを生成する段階、第1のモデルに対応する回路仕様パラメータを生成する段階、回路仕様パラメータに基づいて複数の部分回路結線図を選択する段階、及び生成されることになる回路のための回路結線図を形成するために部分回路結線図を組み合わせる段階を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体とを含み、組み合わされた部分回路結線図が、第1のモデルに対応するトランジスタレベルモデルを形成するコンピュータシステム。
実施形態88.コンピュータシステムによって実行された時にコンピュータシステムに、生成されることになる回路の第1のモデルを生成することと、第1のモデルに対応する回路仕様パラメータを生成することと、回路仕様パラメータに基づいて複数の部分回路結線図を選択することと、生成されることになる回路のための回路結線図を形成するために部分回路結線図を組み合わせることと、を行わせる、コンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体であって、組み合わされた部分回路結線図が、第1のモデルに対応するトランジスタレベルモデルを形成する非一時的コンピュータ可読ストレージ媒体。
実施形態80-86のいずれか1又は2以上と組み合わされた実施形態87のコンピュータシステム。
コンピュータシステムによって実行された時にコンピュータシステムに実施形態80-86のいずれか1又は2以上を実施させるコンピュータ実行可能命令が格納された実施形態88の非一時的コンピュータ可読ストレージ媒体。
実施形態89.回路を生成するためのシステムであって、生成されることになる回路の第1のモデルを生成するための手段と、第1のモデルに対応する回路仕様パラメータを生成するための手段と、回路仕様パラメータに基づいて複数の部分回路結線図を選択するための手段と、生成されることになる回路のための回路結線図を形成するために部分回路結線図を組み合わせるための手段とを含み、組み合わされた部分回路結線図が、第1のモデルに対応するトランジスタレベルモデルを形成するシステム。
実施形態90.回路を生成するコンピュータ実装方法であって、生成されることになる回路を指定する情報を受信する段階と、情報に基づいて1又は2以上の部分回路結線図に対応する1又は2以上のピンリストを選択する段階であって、各ピンリストが、対応する部分回路結線図のための部分回路結線図ピンを含む選択する段階と、情報に基づいて少なくとも1つの記号に対する複数の予め定められたピンのサブセットを選択する段階と、部分回路結線図ピンと少なくとも1つの記号に対する複数の予め定められたピンのサブセットとの間の接続を確立する段階と、1又は2以上の部分回路結線図に対応する1又は2以上のピンリストからの部分回路結線図ピン、少なくとも1つの記号に対する複数の予め定められたピンのサブセット、及び部分回路結線図ピンと少なくとも1つの記号に対する複数の予め定められたピンのサブセットとの間の接続を含む回路仕様を生成する段階とを含むコンピュータ実装方法。
実施形態91.回路結線図を生成するためにEDAツール内で回路仕様を処理する段階を更に含む実施形態90の方法。
実施形態92.ピンリスト及び記号が、第1の機能回路構成要素に対応する実施形態90の方法。
実施形態93.異なる機能回路構成要素が、異なる関連の部分回路結線図ピンリストと機能回路構成要素記号に対する予め定められたピンとを有する実施形態92の方法。
実施形態94.回路仕様から生成された回路のためのレイアウトインスタンスを自動的に位置決めするように構成されたレイアウトスクリプトを情報に基づいて取り出す段階を更に含む実施形態90の方法。
実施形態95.情報が、パラメータを含む実施形態90の方法。
実施形態96.パラメータ限界を取り出す段階と、パラメータを検証するためにパラメータをパラメータ限界と比較する段階とを更に含む実施形態95の方法。
実施形態97.構成要素値を決定する段階と、複数の構成要素記号に関連付けられた識別子内に構成要素値を符号化する段階とを更に含み、回路仕様が、複数の構成要素記号を更に含む実施形態90の方法。
実施形態98.回路を生成するためのコンピュータシステムであって、1又は2以上のプロセッサと、コンピュータシステムによって実行された時に、生成されることになる回路を指定する情報を受信する段階、情報に基づいて1又は2以上の部分回路結線図に対応する1又は2以上のピンリストを選択する段階であって、各ピンリストが、対応する部分回路結線図のための部分回路結線図ピンを含む選択する段階、情報に基づいて少なくとも1つの記号に対する複数の予め定められたピンのサブセットを選択する段階、部分回路結線図ピンと少なくとも1つの記号に対する複数の予め定められたピンのサブセットとの間の接続を確立する段階、及び1又は2以上の部分回路結線図に対応する1又は2以上のピンリストからの部分回路結線図ピン、少なくとも1つの記号に対する複数の予め定められたピンのサブセット、及び部分回路結線図ピンと少なくとも1つの記号に対する複数の予め定められたピンのサブセットとの間の接続を含む回路仕様を生成する段階を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体とを含むコンピュータシステム。
実施形態99.コンピュータシステムによって実行された時に、生成されることになる回路を指定する情報を受信することと、1又は2以上の部分回路結線図に対応する1又は2以上のピンリストであって、各ピンリストが、対応する部分回路結線図のための部分回路結線図ピンを含む1又は2以上のピンリストを情報に基づいて選択することと、情報に基づいて少なくとも1つの記号に対する複数の予め定められたピンのサブセットを選択することと、部分回路結線図ピンと少なくとも1つの記号に対する複数の予め定められたピンのサブセットとの間の接続を確立することと、1又は2以上の部分回路結線図に対応する1又は2以上のピンリストからの部分回路結線図ピン、少なくとも1つの記号に対する複数の予め定められたピンのサブセット、及び部分回路結線図ピンと少なくとも1つの記号に対する複数の予め定められたピンのサブセットとの間の接続を含む回路仕様を生成することと、をコンピュータシステムに行わせる、コンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体。
実施形態90-97のいずれか1又は2以上と組み合わされた実施形態98のコンピュータシステム。
コンピュータシステムによって実行された時にコンピュータシステムに実施形態90-97のいずれか1又は2以上を実施させるコンピュータ実行可能命令が格納された実施形態99の非一時的コンピュータ可読ストレージ
実施形態100.回路を生成するためのシステムであって、生成されることになる回路を指定する情報を受信するための手段と、1又は2以上の部分回路結線図に対応する1又は2以上のピンリストであって、各ピンリストが、対応する部分回路結線図のための部分回路結線図ピンを含む1又は2以上のピンリストを情報に基づいて選択するための手段と、情報に基づいて少なくとも1つの記号に対する複数の予め定められたピンのサブセットを選択するための手段と、部分回路結線図ピンと少なくとも1つの記号に対する複数の予め定められたピンのサブセットとの間の接続を確立するための手段と、1又は2以上の部分回路結線図に対応する1又は2以上のピンリストからの部分回路結線図ピン、少なくとも1つの記号に対する複数の予め定められたピンのサブセット、及び部分回路結線図ピンと少なくとも1つの記号に対する複数の予め定められたピンのサブセットとの間の接続を含む回路仕様を生成するための手段とを含むシステム。
実施形態101.回路構成要素を生成するコンピュータ実装方法であって、生成されることになる構成要素の合計属性値を受信する段階と、生成されることになる構成要素に対する第2の属性値を少なくとも合計属性値に基づいて決定する段階と、合計属性値を有する構成要素を形成するために組み合わされることになる第2の属性値を有する構成要素の少なくとも1つの個数Nを決定する段階と、第2の属性値を用いて構成された複数の構成要素を含むトランジスタレベル結線図を生成する段階と、合計属性値を生成するように構成された構成要素に対応するN個のレイアウトインスタンスを含むレイアウトを生成する段階とを含むコンピュータ実装方法。
実施形態102.生成されることになる構成要素が、トランジスタ、抵抗器、又はコンデンサーのうちの1つである実施形態101の方法。
実施形態103.合計属性値を生成するためにN個の構成要素の構成を指定する回路仕様を生成する段階を更に含み、トランジスタレベル結線図が、回路仕様に基づいて生成される実施形態101の方法。
実施形態104.少なくとも1つのレイアウトパラメータを受信する段階を更に含み、生成されることになる構成要素に対する第2の属性値が、少なくとも1つのレイアウトパラメータに基づいて決定される実施形態101の方法。
実施形態105.レイアウトパラメータが、生成されることになる構成要素の少なくとも1つの寸法に沿う長さを指定する実施形態104の方法。
実施形態106.レイアウトパラメータが、抵抗器レイアウトセグメント長さを指定する実施形態104の方法。
実施形態107.レイアウトパラメータが、単位コンデンサーの第1の寸法に沿う予め定められた最大長さを指定する実施形態104の方法。
実施形態108.合計属性値が、生成されることになる抵抗器に対する合計抵抗である実施形態101の方法。
実施形態109.合計属性値が、生成されることになるコンデンサーに対する合計キャパシタンスである実施形態101の方法。
実施形態110.合計属性値が、生成されることになるトランジスタに対するオン抵抗に基づいて決定された合計ゲート幅である実施形態101の方法。
実施形態111.回路構成要素を生成するためのコンピュータシステムであって、1又は2以上のプロセッサと、コンピュータシステムによって実行された時に、生成されることになる構成要素の合計属性値を受信する段階、生成されることになる構成要素に対する第2の属性値を少なくとも合計属性値に基づいて決定する段階、合計属性値を有する構成要素を形成するために組み合わされることになる第2の属性値を有する構成要素の少なくとも1つの個数Nを決定する段階、第2の属性値を用いて構成された複数の構成要素を含むトランジスタレベル結線図を生成する段階、及び合計属性値を生成するように構成された構成要素に対応するN個のレイアウトインスタンスを含むレイアウトを生成する段階を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体とを含むコンピュータシステム。
実施形態112.コンピュータシステムによって実行された時に、生成されることになる構成要素の合計属性値を受信することと、生成されることになる構成要素に対する第2の属性値を少なくとも合計属性値に基づいて決定することと、合計属性値を有する構成要素を形成するために組み合わされることになる第2の属性値を有する構成要素の少なくとも1つの個数Nを決定することと、第2の属性値を用いて構成された複数の構成要素を含むトランジスタレベル結線図を生成することと、合計属性値を生成するように構成された構成要素に対応するN個のレイアウトインスタンスを含むレイアウトを生成することと、をコンピュータシステムに行わせる、コンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体。
実施形態101-110のいずれか1又は2以上と組み合わされた実施形態111のコンピュータシステム。
コンピュータシステムによって実行された時にコンピュータシステムに実施形態101-110のいずれか1又は2以上を実施させるコンピュータ実行可能命令が格納された実施形態112の非一時的コンピュータ可読ストレージ媒体。
実施形態113.回路構成要素を生成するためのシステムであって、生成されることになる構成要素の合計属性値を受信するための手段と、生成されることになる構成要素に対する第2の属性値を少なくとも合計属性値に基づいて決定するための手段と、合計属性値を有する構成要素を形成するために組み合わされることになる第2の属性値を有する構成要素の少なくとも1つの個数Nを決定するための手段と、第2の属性値を用いて構成された複数の構成要素を含むトランジスタレベル結線図を生成するための手段と、合計属性値を生成するように構成された構成要素に対応するN個のレイアウトインスタンスを含むレイアウトを生成するための手段とを含むシステム。
実施形態114.回路を生成するコンピュータ実装方法であって、生成されることになるアナログ回路構成要素を指定する情報を受信する段階と、情報の少なくとも一部分に基づいてレイアウトパラメータを取り出す段階と、生成されることになるアナログ回路構成要素の属性を情報及びレイアウトパラメータに基づいて決定する段階と、属性を用いて構成されるアナログ回路構成要素のうちの1又は2以上を含むアナログ回路のトランジスタレベル結線図を生成する段階と、トランジスタレベル結線図からレイアウトを生成する段階であって、レイアウトが、1又は2以上のアナログ回路構成要素に対応する複数のレイアウトインスタンスを含み、各レイアウトインスタンスが、アナログ回路構成要素の属性に基づいてレイアウトスクリプトによってレイアウトに自動的に位置決めされる生成する段階とを含むコンピュータ実装方法。
実施形態115.回路を生成するためのコンピュータシステムであって、1又は2以上のプロセッサと、コンピュータシステムによって実行された時に、生成されることになるアナログ回路構成要素を指定する情報を受信する段階、情報の少なくとも一部分に基づいてレイアウトパラメータを取り出す段階、生成されることになるアナログ回路構成要素の属性を情報及びレイアウトパラメータに基づいて決定する段階、属性を用いて構成されるアナログ回路構成要素のうちの1又は2以上を含むアナログ回路のトランジスタレベル結線図を生成する段階、及びトランジスタレベル結線図からレイアウトを生成する段階であって、レイアウトが、1又は2以上のアナログ回路構成要素に対応する複数のレイアウトインスタンスを含み、各レイアウトインスタンスが、アナログ回路構成要素の属性に基づいてレイアウトスクリプトによってレイアウトに自動的に位置決めされる生成する段階を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体とを含むコンピュータシステム。
実施形態116.コンピュータシステムによって実行された時に、生成されることになるアナログ回路構成要素を指定する情報を受信することと、情報の少なくとも一部分に基づいてレイアウトパラメータを取り出すことと、生成されることになるアナログ回路構成要素の属性を情報及びレイアウトパラメータに基づいて決定することと、属性を用いて構成されるアナログ回路構成要素のうちの1又は2以上を含むアナログ回路のトランジスタレベル結線図を生成することと、レイアウトが、1又は2以上のアナログ回路構成要素に対応する複数のレイアウトインスタンスを含み、各レイアウトインスタンスが、アナログ回路構成要素の属性に基づいてレイアウトスクリプトによってレイアウトに自動的に位置決めされる、レイアウトをトランジスタレベル結線図から生成することと、をコンピュータシステムに行わせる、コンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体。
実施形態117.回路を生成するためのシステムであって、生成されることになるアナログ回路構成要素を指定する情報を受信するための手段と、情報の少なくとも一部分に基づいてレイアウトパラメータを取り出すための手段と、生成されることになるアナログ回路構成要素の属性を情報及びレイアウトパラメータに基づいて決定するための手段と、属性を用いて構成されるアナログ回路構成要素のうちの1又は2以上を含むアナログ回路のトランジスタレベル結線図を生成するための手段と、トランジスタレベル結線図からレイアウトを生成するための手段であって、レイアウトが、1又は2以上のアナログ回路構成要素に対応する複数のレイアウトインスタンスを含み、各レイアウトインスタンスが、アナログ回路構成要素の属性に基づいてレイアウトスクリプトによってレイアウトに自動的に位置決めされる生成するための手段とを含むシステム。
実施形態118.電子構成要素結線図を生成するコンピュータ実装方法であって、生成されることになる電子回路を指定する情報を受信する段階と、情報に基づいて電子回路の少なくとも1つの構成要素に対する構成要素値を決定する段階と、複数の構成要素記号を生成する段階と、構成要素記号の各々に関連付けられた識別子内に構成要素値を符号化する段階と、構成要素記号間の接続を確立する段階と、構成要素記号を直列に又は並列に構成するための回路仕様を生成する段階とを含むコンピュータ実装方法。
実施形態119.識別子が、記号名称を含む実施形態118の方法。
実施形態120.構成要素が、抵抗器であり、構成要素値が、抵抗を含む実施形態118の方法。
実施形態121.構成要素が、コンデンサーであり、構成要素値が、キャパシタンスを含む実施形態118の方法。
実施形態122.構成要素が、トランジスタであり、構成要素値が、ゲート幅を含む実施形態118の方法。
実施形態123.構成要素値が、フィンガの個数を更に含む実施形態122の方法。
実施形態124.電子構成要素結線図を生成するためのコンピュータシステムであって、1又は2以上のプロセッサと、コンピュータシステムによって実行された時に、生成されることになる電子回路を指定する情報を受信する段階、情報に基づいて電子回路の少なくとも1つの構成要素に対する構成要素値を決定する段階、複数の構成要素記号を生成する段階、構成要素記号の各々に関連付けられた識別子内に構成要素値を符号化する段階、構成要素記号間の接続を確立する段階、及び構成要素記号を直列に又は並列に構成するための回路仕様を生成する段階を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体とを含むコンピュータシステム。
実施形態125.コンピュータシステムによって実行された時にコンピュータシステムに、生成されることになる電子回路を指定する情報を受信させ、情報に基づいて電子回路の少なくとも1つの構成要素に対する構成要素値を決定させ、複数の構成要素記号を生成させ、構成要素記号の各々に関連付けられた識別子内に構成要素値を符号化させ、構成要素記号間の接続を確立させ、かつ構成要素記号を直列に又は並列に構成するための回路仕様を生成させる、コンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体。
実施形態118-123のいずれか1又は2以上と組み合わされた実施形態124のコンピュータシステム。
コンピュータシステムによって実行された時にコンピュータシステムに実施形態118-123のいずれか1又は2以上を実施させるコンピュータ実行可能命令が格納された実施形態125の非一時的コンピュータ可読ストレージ媒体。
実施形態126.電子構成要素結線図を生成するためのシステムであって、生成されることになる電子回路を指定する情報を受信するための手段と、情報に基づいて電子回路の少なくとも1つの構成要素に対する構成要素値を決定するための手段と、複数の構成要素記号を生成するための手段と、構成要素記号の各々に関連付けられた識別子内に構成要素値を符号化するための手段と、構成要素記号間の接続を確立するための手段と、構成要素記号を直列に又は並列に構成するための回路仕様を生成するための手段とを含むシステム。
実施形態127.電子構成要素結線図を生成するコンピュータ実装方法であって、1又は2以上の対応する識別子を含む1又は2以上の構成要素を指定する回路仕様を受信する段階と、1又は2以上の構成要素に対する1又は2以上の結線図記号を生成する段階であって、1又は2以上の結線図記号が、1又は2以上の対応する識別子に関連付けられる生成する段階と、1又は2以上の記号に関連付けられた識別子を読み取る段階と、構成要素のための結線図表現(schematic representation)を各記号の中に挿入する段階であって、構成要素のための結線図表現の1又は2以上の属性が、記号に関連付けられた識別子に基づいて設定される挿入する段階とを含むコンピュータ実装方法。
実施形態128.識別子が、属性値を符号化する実施形態127の方法。
実施形態129.識別子が、記号名称を含む実施形態127の方法。
実施形態130.記号名称が、属性値を符号化する実施形態129の方法。
実施形態131.構成要素が、抵抗器であり、1又は2以上の属性が、抵抗を含む実施形態127の方法。
実施形態132.構成要素が、コンデンサーであり、1又は2以上の属性が、キャパシタンスを含む実施形態127の方法。
実施形態133.構成要素が、トランジスタであり、1又は2以上の属性が、ゲート幅を含む実施形態127の方法。
実施形態134.1又は2以上の属性が、フィンガの個数を更に含む実施形態133の方法。
実施形態135.電子構成要素結線図を生成するためのコンピュータシステムであって、1又は2以上のプロセッサと、コンピュータシステムによって実行された時に、1又は2以上の対応する識別子を含む1又は2以上の構成要素を指定する回路仕様を受信する段階、1又は2以上の構成要素に対する1又は2以上の結線図記号を生成する段階であって、1又は2以上の結線図記号が、1又は2以上の対応する識別子に関連付けられる生成する段階、1又は2以上の記号に関連付けられた識別子を読み取る段階、及び構成要素のための結線図表現を各記号の中に挿入する段階であって、構成要素のための結線図表現の1又は2以上の属性が、記号に関連付けられた識別子に基づいて設定される挿入する段階を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体とを含むコンピュータシステム。
実施形態136.コンピュータシステムによって実行された時にコンピュータシステムに、1又は2以上の対応する識別子を含む1又は2以上の構成要素を指定する回路仕様を受信させ、1又は2以上の結線図記号が1又は2以上の対応する識別子に関連付けられた1又は2以上の構成要素に対する1又は2以上の結線図記号を生成させ、1又は2以上の記号に関連付けられた識別子を読み取らせ、かつ構成要素のための結線図表現の1又は2以上の属性が、記号に関連付けられた識別子に基づいて設定される構成要素のための結線図表現を各記号の中に挿入させる、コンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体。
実施形態127-134のいずれか1又は2以上と組み合わされた実施形態135のコンピュータシステム。
コンピュータシステムによって実行された時にコンピュータシステムに実施形態127-134のいずれか1又は2以上を実施させるコンピュータ実行可能命令が格納された実施形態136の非一時的コンピュータ可読ストレージ媒体。
実施形態137.電子構成要素結線図を生成するためのシステムであって、1又は2以上の対応する識別子を含む1又は2以上の構成要素を指定する回路仕様を受信するための手段と、1又は2以上の構成要素に対する1又は2以上の結線図記号を生成するための手段であって、1又は2以上の結線図記号が、1又は2以上の対応する識別子に関連付けられる生成するための手段と、1又は2以上の記号に関連付けられた識別子を読み取るための手段と、構成要素のための結線図表現を各記号の中に挿入するための手段であって、構成要素のための結線図表現の1又は2以上の属性が、記号に関連付けられた識別子に基づいて設定される挿入するための手段とを含むシステム。
実施形態138.抵抗器を生成するコンピュータ実装方法であって、第1の抵抗器値を受信する段階と、抵抗器値を複数の抵抗器レイアウトセグメントに変換する段階と、第1の抵抗器値を形成するために1又は2以上のレイアウト配置命令に基づいて複数の抵抗器レイアウトセグメントを自動的に配置する段階とを含むコンピュータ実装方法。
実施形態139.第1の抵抗器レイアウトセグメントが、初期位置に配置され、他の抵抗器レイアウトセグメントが、初期位置からオフセットされた位置に配置される実施形態138の方法。
実施形態140.オフセットが、各抵抗器レイアウトセグメントの幅に基づいている実施形態139の方法。
実施形態141.オフセットが、隣接レイアウトセグメント間の予め定められた分離に更に基づいている実施形態140の方法。
実施形態142.予め定められた分離が、設計規則検査(DRC)値に基づいている実施形態141の方法。
実施形態143.抵抗器レイアウトセグメントが、各抵抗器レイアウトセグメントの長さに沿って並列に配置される実施形態139の方法。
実施形態144.抵抗器レイアウトセグメントが、1又は2以上のレイアウト配置命令内で指定された量だけ回転される実施形態139の方法。
実施形態145.抵抗器レイアウトセグメントが、1又は2以上のレイアウト配置命令内で指定された極性に従って軸線に沿って連続的に配置される実施形態139の方法。
実施形態146.各抵抗器レイアウトセグメントが、独特な識別子を有し、方法が、独特な識別子に基づいて抵抗器レイアウトセグメントを選別する段階と、各抵抗器レイアウトセグメントを連続的に配置する段階とを更に含む実施形態138の方法。
実施形態147.抵抗器レイアウトセグメントの第1の部分が、直列に構成され、抵抗器レイアウトセグメントの第2の部分が、並列に構成される実施形態138の方法。
実施形態148.抵抗器レイアウトセグメントのうちの少なくとも第1の複数のものが、同じ長さ及び幅を有する実施形態138の方法。
実施形態149.抵抗器を生成するためのコンピュータシステムであって、1又は2以上のプロセッサと、コンピュータシステムによって実行された時に、第1の抵抗器値を受信する段階、抵抗器値を複数の抵抗器レイアウトセグメントに変換する段階、及び第1の抵抗器値を形成するために1又は2以上のレイアウト配置命令に基づいて複数の抵抗器レイアウトセグメントを自動的に配置する段階を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体とを含むコンピュータシステム。
実施形態150.コンピュータシステムによって実行された時にコンピュータシステムに、第1の抵抗器値を受信させ、抵抗器値を複数の抵抗器レイアウトセグメントに変換させ、かつ第1の抵抗器値を形成するために1又は2以上のレイアウト配置命令に基づいて複数の抵抗器レイアウトセグメントを自動的に配置させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体。
実施形態138-148のいずれか1又は2以上と組み合わされた実施形態149のコンピュータシステム。
コンピュータシステムによって実行された時にコンピュータシステムに実施形態138-148のいずれか1又は2以上を実施させるコンピュータ実行可能命令が格納された実施形態150の非一時的コンピュータ可読ストレージ媒体。
実施形態151.抵抗器を生成するためのシステムであって、第1の抵抗器値を受信するための手段と、抵抗器値を複数の抵抗器レイアウトセグメントに変換するための手段と、第1の抵抗器値を形成するために1又は2以上のレイアウト配置命令に基づいて複数の抵抗器レイアウトセグメントを自動的に配置するための手段とを含むシステム。
実施形態152.抵抗器を生成するコンピュータ実装方法であって、第1の抵抗器値を受信する段階と、第1の抵抗器値を近似的に生成するために、直列に構成されることになる抵抗器セグメントのうちの第1の複数のものを指定する第1の個数、及び並列に構成されることになる抵抗器セグメントのうちの第2の複数のものを指定する第2の個数のうちの一方又は両方を決定する段階と、第1の個数の抵抗器セグメントを直列に及び/又は第2の個数の抵抗器セグメントを並列に構成するための回路仕様の生成する段階とを含むコンピュータ実装方法。
実施形態153.第1の抵抗器値が、一連の値にわたって変化する実施形態152の方法。
実施形態154.第1の抵抗器値が、関連の抵抗器構成要素タイプを有するパラメータとして受信される実施形態152の方法。
実施形態155.抵抗器セグメントのための少なくとも1つの予め定められた物理的寸法を受信する段階を更に含み、抵抗器セグメントのうちの第1及び第2の複数のものが、各々が少なくとも1つの予め定められた物理的寸法を有し、直列に構成されることになる抵抗器セグメントの第1の個数及び並列に構成されることになる抵抗器セグメントの第2の個数を決定する段階が、少なくとも1つの予め定められた物理的寸法に基づいている実施形態152の方法。
実施形態156.少なくとも1つの予め定められた物理的寸法が、予め定められた抵抗器セグメント長さを含む実施形態155の方法。
実施形態157.少なくとも1つの予め定められた物理的寸法が、予め定められた抵抗器セグメント幅を含む実施形態156の方法。
実施形態158.抵抗器セグメントのための少なくとも1つの予め定められた物理的寸法が、第1の抵抗器値に関連付けられる実施形態155の方法。
実施形態159.異なる抵抗器値を有する異なる抵抗器が、異なる対応する予め定められた抵抗器セグメント長さを有する実施形態152の方法。
実施形態160.第1の抵抗器値に関連付けられた抵抗率を受信する段階を更に含み、直列に構成されることになる抵抗器セグメントの第1の個数及び並列に構成されることになる抵抗器セグメントの第2の個数を決定する段階が、抵抗率に基づいている実施形態152の方法。
実施形態161.第1の抵抗器値が、ユーザによって指定される実施形態152の方法。
実施形態162.1又は2以上のパラメータを受信する段階を更に含み、第1の抵抗器値が、パラメータに基づいて決定される実施形態152の方法。
実施形態163.回路仕様が、複数の抵抗器セグメントに対応する複数の構成要素及び複数の構成要素間の接続を指定する実施形態152の方法。
実施形態164.回路仕様が、ネットリストである実施形態163の方法。
実施形態165.回路仕様を第1のソフトウエアシステムから回路仕様に基づいて結線図を生成する第2のソフトウエアシステムに送信する段階を更に含む実施形態152の方法。
実施形態166.回路仕様内の抵抗器セグメントに対応する構成要素に対する識別子内に符号化された複数の抵抗器セグメントのための予め定められた長さ及び予め定められた幅を第2のソフトウエアシステムによって受信する段階を更に含む実施形態165の方法。
実施形態167.識別子が、記号名称である実施形態166の方法。
実施形態168.識別子が、更に抵抗器タイプを符号化する実施形態166の方法。
実施形態169.第1の格納場所から複数の抵抗器セグメントのための予め定められた長さ及び予め定められた幅を第2のソフトウエアシステムによって受信する段階を更に含む実施形態165の方法。
実施形態170.第1及び第2の個数の抵抗器セグメントのための結線図記号を含む結線図を回路仕様に基づいて生成する段階を更に含む実施形態152の方法。
実施形態171.結線図記号が、複数のピンを含む空の結線図記号であり、方法が、結線図記号の各々に抵抗器を自動的に挿入し、かつ抵抗器の端子を結線図記号のピンを用いて接続する段階を更に含む実施形態170の方法。
実施形態172.結線図記号名称を抵抗器の属性にマッピングする段階を更に含む実施形態170の方法。
実施形態173.直列の第1の個数の抵抗器セグメント及び並列の第2の個数の抵抗器セグメントのための複数の多角形を含むレイアウトを生成する段階を更に含む実施形態152の方法。
実施形態174.多角形をレイアウトに位置決めするために複数の予め定められたレイアウト配置命令を実行する段階を更に含む実施形態173の方法。
実施形態175.抵抗器を生成するためのコンピュータシステムであって、1又は2以上のプロセッサと、コンピュータシステムによって実行された時に、第1の抵抗器値を受信する段階、第1の抵抗器値を近似的に生成するために、直列に構成されることになる抵抗器セグメントのうちの第1の複数のものを指定する第1の個数、及び並列に構成されることになる抵抗器セグメントのうちの第2の複数のものを指定する第2の個数のうちの一方又は両方を決定する段階、及び第1の個数の抵抗器セグメントを直列に及び/又は第2の個数の抵抗器セグメントを並列に構成するための回路仕様を生成する段階を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体とを含むコンピュータシステム。
実施形態176.コンピュータシステムによって実行された時にコンピュータシステムに、第1の抵抗器値を受信させ、第1の抵抗器値を近似的に生成するために、直列に構成されることになる抵抗器セグメントのうちの第1の複数のものを指定する第1の個数、及び並列に構成されることになる抵抗器セグメントのうちの第2の複数のものを指定する第2の個数のうちの一方又は両方を決定させ、かつ第1の個数の抵抗器セグメントを直列に及び/又は第2の個数の抵抗器セグメントを並列に構成するための回路仕様を生成させる、コンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体。
実施形態152-174のいずれか1又は2以上と組み合わされた実施形態175のコンピュータシステム。
コンピュータシステムによって実行された時にコンピュータシステムに実施形態152-174のいずれか1又は2以上を実施させるコンピュータ実行可能命令が格納された実施形態176の非一時的コンピュータ可読ストレージ媒体。
実施形態177.抵抗器を生成するためのシステムであって、第1の抵抗器値を受信するための手段と、第1の抵抗器値を近似的に生成するために、直列に構成されることになる抵抗器セグメントのうちの第1の複数のものを指定する第1の個数、及び並列に構成されることになる抵抗器セグメントのうちの第2の複数のものを指定する第2の個数のうちの一方又は両方を決定するための手段と、第1の個数の抵抗器セグメントを直列に及び/又は第2の個数の抵抗器セグメントを並列に構成するための回路仕様を生成するための手段と含むシステム。
実施形態178.抵抗器を生成するコンピュータ実装方法であって、抵抗器値を受信する段階と、複数の構成要素の構成を指定する回路仕様を生成する段階と、回路仕様に基づいて、回路仕様に基づいて互いに結合された複数の構成要素に対応する複数の結線図記号を生成する段階であって、複数の結線図記号が抵抗器セグメントなしで生成される生成する段階と、結線図記号の各々に抵抗器セグメントを自動的に挿入し、かつ抵抗器の端子を結線図記号のピンを用いて接続する段階とを含み、複数の構成要素及び挿入された抵抗器セグメントが、抵抗器値を有する抵抗器ネットワークのための結線図を形成するコンピュータ実装方法。
実施形態179.記号が、回路仕様に応答して空の記号として生成される実施形態178の方法。
実施形態180.抵抗器に属性を割り当てる段階を更に含む実施形態178の方法。
実施形態181.抵抗器に対する属性が、回路仕様内に符号化される実施形態180の方法。
実施形態182.抵抗器に対する属性が、格納場所から取り出される実施形態180の方法。
実施形態183.回路仕様が、第1のソフトウエアシステムによって生成され、結線図が、第2のソフトウエアシステムによって生成される実施形態178の方法。
実施形態184.第2のソフトウエアシステムが、電子設計自動化ソフトウエアシステムである実施形態183の方法。
実施形態185.抵抗器を生成するためのコンピュータシステムであって、1又は2以上のプロセッサと、コンピュータシステムによって実行された時に、抵抗器値を受信する段階、複数の構成要素の構成を指定する回路仕様を生成する段階、回路仕様に基づいて、回路仕様に基づいて互いに結合された複数の構成要素に対応する複数の結線図記号を生成する段階であって、複数の結線図記号が抵抗器セグメントなしで生成される生成する段階、及び結線図記号の各々に抵抗器セグメントを自動的に挿入し、かつ抵抗器の端子を結線図記号のピンを用いて接続する段階を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体とを含み、複数の構成要素及び挿入された抵抗器セグメントが、抵抗器値を有する抵抗器ネットワークのための結線図を形成するコンピュータシステム。
実施形態186.コンピュータシステムによって実行された時に、抵抗器値を受信させ、複数の構成要素の構成を指定する回路仕様を生成することと、回路仕様に基づいて、回路仕様に基づいて互いに結合された複数の構成要素に対応する複数の結線図記号であって、抵抗器セグメントなしで生成される複数の結線図記号を生成することと、結線図記号の各々に抵抗器セグメントを自動的に挿入し、かつ抵抗器の端子を結線図記号のピンを用いて接続することと、をコンピュータシステムに行わせる、コンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体であって、複数の構成要素及び挿入された抵抗器セグメントが、抵抗器値を有する抵抗器ネットワークのための結線図を形成する非一時的コンピュータ可読ストレージ媒体。
実施形態178-184のいずれか1又は2以上と組み合わされた実施形態185のコンピュータシステム。
コンピュータシステムによって実行された時にコンピュータシステムに実施形態178-184のいずれか1又は2以上を実施させるコンピュータ実行可能命令が格納された実施形態186の非一時的コンピュータ可読ストレージ媒体。
実施形態187.抵抗器を生成するためのシステムであって、抵抗器値を受信するための手段と、複数の構成要素の構成を指定する回路仕様を生成するための手段と、回路仕様に基づいて、回路仕様に基づいて互いに結合された複数の構成要素に対応する複数の結線図記号を生成するための手段であって、複数の結線図記号が抵抗器セグメントなしで生成される生成するための手段と、結線図記号の各々に抵抗器セグメントを自動的に挿入し、かつ抵抗器の端子を結線図記号のピンを用いて接続するための手段とを含み、複数の構成要素及び挿入された抵抗器セグメントが、抵抗器値を有する抵抗器ネットワークのための結線図を形成するシステム。
実施形態188.抵抗器を生成するコンピュータ実装方法であって、第1の抵抗器値を受信する段階と、少なくとも1つの予め定められた物理的寸法を有する抵抗器セグメントに対応する複数の構成要素の構成を指定する回路仕様を生成する段階と、回路仕様に基づいて、第1の抵抗器値を生成するために回路仕様に基づいて互いに結合された複数の構成要素に対応する抵抗器セグメントを含む結線図を生成する段階と、抵抗器セグメントに対応する複数の多角形を含むレイアウトを結線図に基づいて生成する段階であって、複数の多角形が、抵抗器セグメントの少なくとも1つの予め定められた物理的寸法に基づいてレイアウトに自動的に配置される生成する段階とを含むコンピュータ実装方法。
実施形態189.抵抗器を生成するためのコンピュータシステムであって、1又は2以上のプロセッサと、コンピュータシステムによって実行された時に、第1の抵抗器値を受信する段階、少なくとも1つの予め定められた物理的寸法を有する抵抗器セグメントに対応する複数の構成要素の構成を指定する回路仕様を生成する段階、回路仕様に基づいて、第1の抵抗器値を生成するために回路仕様に基づいて互いに結合された複数の構成要素に対応する抵抗器セグメントを含む結線図を生成する段階、抵抗器セグメントに対応する複数の多角形を含むレイアウトを結線図に基づいて生成する段階であって、複数の多角形が、抵抗器セグメントの少なくとも1つの予め定められた物理的寸法に基づいてレイアウトに自動的に配置される生成する段階を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体とを含むコンピュータシステム。
実施形態190.コンピュータシステムによって実行された時に、第1の抵抗器値を受信することと、少なくとも1つの予め定められた物理的寸法を有する抵抗器セグメントに対応する複数の構成要素の構成を指定する回路仕様を生成することと、回路仕様に基づいて、第1の抵抗器値を生成するために回路仕様に基づいて互いに結合された複数の構成要素に対応する抵抗器セグメントを含む結線図を生成することと、結線図に基づいて、抵抗器セグメントに対応する複数の多角形を含むレイアウトであって、複数の多角形が、抵抗器セグメントの少なくとも1つの予め定められた物理的寸法に基づいてレイアウトに自動的に配置されるレイアウトを生成することと、をコンピュータシステムに行わせる、コンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体。
実施形態191.抵抗器を生成するためのシステムであって、第1の抵抗器値を受信するための手段と、少なくとも1つの予め定められた物理的寸法を有する抵抗器セグメントに対応する複数の構成要素の構成を指定する回路仕様を生成するための手段と、回路仕様に基づいて、第1の抵抗器値を生成するために回路仕様に基づいて互いに結合された複数の構成要素に対応する抵抗器セグメントを含む結線図を生成するための手段と、抵抗器セグメントに対応する複数の多角形を含むレイアウトであって、複数の多角形が、抵抗器セグメントの少なくとも1つの予め定められた物理的寸法に基づいてレイアウトに自動的に配置されるレイアウトを結線図に基づいて生成するための手段と含むシステム。
実施形態192.コンデンサーを生成するコンピュータ実装方法であって、生成されることになるコンデンサーに対する合計キャパシタンスを受信する段階と、合計キャパシタンスを形成するために組み合わされることになる単位キャパシタンスを有する単位コンデンサーの個数Nを決定する段階と、単位キャパシタンスを有するN個の単位コンデンサー結線図であって、合計キャパシタンスを生成するように構成されるN個の単位コンデンサー結線図を含むトランジスタレベル結線図を生成する段階と、コンデンサーを生成するように構成されたN個のコンデンサーレイアウト要素を含むレイアウトを生成する段階とを含むコンピュータ実装方法。
実施形態193.合計キャパシタンスが、生成されることになる回路を指定する情報に基づいて生成される実施形態192の方法。
実施形態194.合計キャパシタンスが、生成されることになる回路に対する予め定められた回路モデルに基づいて生成される実施形態193の方法。
実施形態195.合計キャパシタンスが、コンデンサー機能回路構成要素に対応するパラメータとして受信される実施形態192の方法。
実施形態196.合計キャパシタンスを予め定められた最大キャパシタンスと比較する段階を更に含み、N個の単位コンデンサー結線図が、合計キャパシタンスが予め定められた最大キャパシタンスよりも大きい時に並列に構成される実施形態192の方法。
実施形態197.合計キャパシタンスを予め定められた最小キャパシタンスと比較する段階を更に含み、N個の単位コンデンサー結線図が、合計キャパシタンスが予め定められた最小キャパシタンスよりも小さい時に直列に構成される実施形態192の方法。
実施形態198.単位コンデンサーの個数Nが、1つ(1)よりも大きいか又はそれに等しい整数である実施形態192の方法。
実施形態199.N個の単位コンデンサーの第1の寸法に対応する第1の長さを第1の寸法に沿う予め定められた最大長さよりも短いか又はそれに等しいように構成する段階と、少なくとも単位キャパシタンス及び第1の長さに基づいてN個の単位コンデンサーの第2の寸法に対応する第2の長さを決定する段階とを更に含む実施形態192の方法。
実施形態200.第1の長さが、第1の寸法に沿う予め定められた最大長さに設定される実施形態199の方法。
実施形態201.第1の長さ及び第2の長さが、第1の長さ及び第2の長さの予め定められたアスペクト比を生成するように構成される実施形態199の方法。
実施形態202.第1の長さ及び第2の長さのアスペクト比が予め決められたアスペクト比を満足するまで調節された第2の長さを生成するように第1の長さを反復的に調節する段階を更に含む実施形態199の方法。
実施形態203.第1の長さが、最初は予め定められた最大長さであり、第1の長さが、反復的に短縮される実施形態202の方法。
実施形態204.N個の単位コンデンサーに対応するN個の構成要素を含む回路仕様を生成する段階を更に含む実施形態199の方法。
実施形態205.回路仕様が、ネットリストである実施形態204の方法。
実施形態206.N個の単位コンデンサーの1又は2以上の属性が、回路仕様内に符号化される実施形態204の方法。
実施形態207.N個の単位コンデンサー結線図が、第1の長さに設定された第1の属性及び第2の長さに設定された第2の属性を有する実施形態199の方法。
実施形態208.N個のコンデンサーレイアウト要素が、第1の長さに等しい第1の寸法と第2の長さに等しい第2の寸法とを有する多角形を含む実施形態199の方法。
実施形態209.トランジスタレベル結線図を生成する段階が、N個の結線図記号を生成する段階と、N個の結線図記号の各々の中にコンデンサー記号構成要素を自動的に挿入する段階とを含む実施形態192の方法。
実施形態210.コンデンサーを生成するためのコンピュータシステムであって、1又は2以上のプロセッサと、コンピュータシステムによって実行された時に、生成されることになるコンデンサーに対する合計キャパシタンスを受信する段階、合計キャパシタンスを形成するために組み合わされることになる単位キャパシタンスを有する単位コンデンサーの個数Nを決定する段階、単位キャパシタンスを有して合計キャパシタンスを生成するように構成されたN個の単位コンデンサー結線図を含むトランジスタレベル結線図を生成する段階、及びコンデンサーを生成するように構成されたN個のコンデンサーレイアウト要素を含むレイアウトを生成する段階を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体とを含むコンピュータシステム。
実施形態211.コンピュータシステムによって実行された時に、生成されることになるコンデンサーに対する合計キャパシタンスを受信することと、合計キャパシタンスを形成するために組み合わされることになる単位キャパシタンスを有する単位コンデンサーの個数Nを決定することと、単位キャパシタンスを有して合計キャパシタンスを生成するように構成されたN個の単位コンデンサー結線図を含むトランジスタレベル結線図を生成することと、かつコンデンサーを生成するように構成されたN個のコンデンサーレイアウト要素を含むレイアウトを生成することと、をコンピュータシステムに行わせる、コンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体。
実施形態192-209のいずれか1又は2以上と組み合わされた実施形態210のコンピュータシステム。
コンピュータシステムによって実行された時にコンピュータシステムに実施形態192-209のいずれか1又は2以上を実施させるコンピュータ実行可能命令が格納された実施形態211の非一時的コンピュータ可読ストレージ
実施形態212.コンデンサーを生成するためのシステムであって、生成されることになるコンデンサーに対する合計キャパシタンスを受信するための手段と、合計キャパシタンスを形成するために組み合わされることになる単位キャパシタンスを有する単位コンデンサーの個数Nを決定するための手段と、単位キャパシタンスを有して合計キャパシタンスを生成するように構成されたN個の単位コンデンサー結線図を含むトランジスタレベル結線図を生成するための手段と、コンデンサーを生成するように構成されたN個のコンデンサーレイアウト要素を含むレイアウトを生成するための手段とを含むシステム。
実施形態213.抵抗器分割器を生成するコンピュータ実装方法であって、生成されることになる抵抗器分割器を指定するパラメータを受信する段階と、抵抗器分割器の1又は2以上の出力タップの間の抵抗器に対応する複数の抵抗器値を決定する段階と、各抵抗器値に対して、複数の抵抗器値の各々を生成するために複数の抵抗器セグメントを決定する段階と、複数の抵抗器値を形成するために各複数の抵抗器セグメントを構成するための回路仕様を生成する段階と、抵抗器分割器を生成するために複数の抵抗器セグメントを含むトランジスタレベル結線図を生成する段階とを含むコンピュータ実装方法。
実施形態214.複数の抵抗器セグメントを決定する段階が、直列に構成されることになる抵抗器セグメントのうちの第1の複数のものを指定する少なくとも1つの第1の個数を決定する段階を含む実施形態213の方法。
実施形態215.複数の抵抗器セグメントを決定する段階が、並列に構成されることになる抵抗器セグメントのうちの第1の複数のものを指定する少なくとも1つの第1の個数を決定する段階を含む実施形態213の方法。
実施形態216.複数の抵抗器セグメントを決定する段階が、直列に構成されることになる抵抗器セグメントのうちの第1の複数のものを指定する少なくとも1つの第1の個数及び並列に構成されることになる抵抗器セグメントのうちの第2の複数のものを指定する少なくとも1つの第2の個数を決定する段階を含む実施形態213の方法。
実施形態217.パラメータが、抵抗器分割器の合計抵抗を指定し、複数の抵抗器値が、抵抗器分割器の合計抵抗に基づいて決定される実施形態213の方法。
実施形態218.パラメータが、1又は2以上の出力タップを指定し、複数の抵抗器値が、出力タップの個数に1つ(1)を加えたものに等しい実施形態213の方法。
実施形態219.パラメータが、各出力タップでの電圧を指定し、複数の抵抗器値が、出力タップの個数と各出力タップでの電圧とに基づいて決定される実施形態218の方法。
実施形態220.パラメータが、各出力タップでの電圧を1又は2以上の百分率として指定し、複数の抵抗器値が、出力タップの個数と入力、複数の出力タップ、及び下部のうちの2つにわたる百分率の差とに基づいて決定される実施形態218の方法。
実施形態221.パラメータが、有効化を指定し、方法が、1又は2以上の部分回路結線図を回路仕様内で指定する段階を更に含み、指定された部分回路結線図が、抵抗器分割器を有効化又は無効化にするための入力を受信するように構成される実施形態213の方法。
実施形態222.部分回路結線図が、スイッチを含む実施形態221の方法。
実施形態223.スイッチが、抵抗器分割器の入力と抵抗器分割器の上部抵抗器セグメントの1又は2以上の端子との間に結合される実施形態222の方法。
実施形態224.スイッチが、抵抗器分割器の基準入力と抵抗器分割器の下部抵抗器セグメントの1又は2以上の端子との間に結合される実施形態222の方法。
実施形態225.スイッチが、抵抗器分割器の出力タップと抵抗器分割器の中間抵抗器セグメントの1又は2以上の端子との間に結合される実施形態222の方法。
実施形態226.抵抗器分割器を生成するためのコンピュータシステムであって、1又は2以上のプロセッサと、コンピュータシステムによって実行された時に、生成されることになる抵抗器分割器を指定するパラメータを受信する段階、抵抗器分割器の1又は2以上の出力タップの間の抵抗器に対応する複数の抵抗器値を決定する段階、各抵抗器値に対して、複数の抵抗器値の各々を生成するために複数の抵抗器セグメントを決定する段階、複数の抵抗器値を形成するために各複数の抵抗器セグメントを構成するための回路仕様を生成する段階、及び抵抗器分割器を生成するために複数の抵抗器セグメントを含むトランジスタレベル結線図を生成する段階を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体とを含むコンピュータシステム。
実施形態227.コンピュータシステムによって実行された時にコンピュータシステムに、生成されることになる抵抗器分割器を指定するパラメータを受信することと、抵抗器分割器の1又は2以上の出力タップの間の抵抗器に対応する複数の抵抗器値を決定することと、各抵抗器値に対して、複数の抵抗器値の各々を生成するために複数の抵抗器セグメントを決定することと、複数の抵抗器値を形成するために各複数の抵抗器セグメントを構成するための回路仕様を生成することと、抵抗器分割器を生成するために複数の抵抗器セグメントを含むトランジスタレベル結線図を生成することと、を行わせる、コンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体。
実施形態213-225のいずれか1又は2以上と組み合わされた実施形態226のコンピュータシステム。
コンピュータシステムによって実行された時にコンピュータシステムに実施形態213-225のいずれか1又は2以上を実施させるコンピュータ実行可能命令が格納された実施形態227の非一時的コンピュータ可読ストレージ媒体。
実施形態228.抵抗器分割器を生成するためのシステムであって、生成されることになる抵抗器分割器を指定するパラメータを受信するための手段と、抵抗器分割器の1又は2以上の出力タップの間の抵抗器に対応する複数の抵抗器値を決定し、かつ各抵抗器値に対して複数の抵抗器値の各々を生成するために複数の抵抗器セグメントを決定するための手段と、複数の抵抗器値を形成するために各複数の抵抗器セグメントを構成するための回路仕様を生成するための手段と、抵抗器分割器を生成するために複数の抵抗器セグメントを含むトランジスタレベル結線図を生成するための手段とを含むシステム。
実施形態229.トランジスタを生成するコンピュータ実装方法であって、生成されることになるトランジスタを指定し、生成されることになるトランジスタのオン抵抗を含む情報を受信する段階と、生成されることになるトランジスタのゲートの合計幅を少なくともオン抵抗に基づいて決定する段階と、第1の幅、フィンガの個数(F)、及びデバイスセルの個数(P)を合計幅に基づいて決定する段階と、第1の幅とフィンガの個数(F)とを用いて構成された1又は2以上のトランジスタを含むトランジスタレベル結線図を生成する段階と、レイアウトを生成する段階であって、レイアウトが、P個のデバイスセルを含み、各デバイスセルが、フィンガの個数(F)に対応する複数のゲートを含み、各ゲートが、第1の幅を有し、デバイスセルが2次元アレイに構成される生成する段階とを含むコンピュータ実装方法。
実施形態230.トランジスタレベル結線図が、デバイスセルの個数(P)に等しい乗数属性(M)を有する1つのトランジスタを含む実施形態229の方法。
実施形態231.トランジスタレベル結線図が、並列に構成されたP個のトランジスタを含む実施形態229の方法。
実施形態232.P個のデバイスセルが、プログラム可能なアスペクト比を有する実施形態229の方法。
実施形態233.アスペクト比が、0.5よりも大きくかつ1よりも小さい実施形態232の方法。
実施形態234.アスペクト比が、約3分の2と約4分の3の間である実施形態232の方法。
実施形態235.2次元アレイが、デバイスセルの等しい個数の行と列を含む実施形態229の方法。
実施形態236.デバイスセルの個数(P)が、完全平方である実施形態229の方法。
実施形態237.第1の幅、フィンガの第1の個数、及びデバイスセルの個数(P)が、最大幅とフィンガの最大個数とに基づいて決定される実施形態229の方法。
実施形態238.デバイスセルの現在の個数と、最大幅と、フィンガの最大個数とに基づいて取得可能なフィンガの個数(F)を決定するために複数の増加値にわたってデバイスセルの個数(P)を増大することにより、デバイスセルの個数(P)及びフィンガの個数(F)を決定する段階を更に含む実施形態237の方法。
実施形態239.複数の値にわたってデバイスセルの個数(P)を反復的に増大する段階と、合計幅が、Pの現在値、最大幅、及びフィンガの最大個数から取得可能であるかを決定する段階と、合計幅が、Pの現在値、最大幅、及びフィンガの最大個数から取得可能でない場合に、Pの値を増加させて決定する段階を繰り返す段階と、合計幅が、Pの現在値、最大幅、及びフィンガの最大個数から取得可能である場合に、デバイスセルの個数(P)をPの現在値に設定し、かつフィンガの個数(F)を最大幅及びPの現在値に基づいて設定する段階とを更に含む実施形態237の方法。
実施形態240.フィンガの個数(F)と予め定められたオフセット値のうちの第1の複数のものとに基づいてデバイスセルの第1の寸法に沿う第1の長さを決定する段階を更に含む実施形態238の方法。
実施形態241.複数の予め定められたオフセット値が、トランジスタタイプに基づいて選択される実施形態240の方法。
実施形態242.第1の長さと予め定められたアスペクト比とに基づいてデバイスセルの第2の長さを決定する段階を更に含む実施形態240の方法。
実施形態243.アスペクト比が、プログラム可能である実施形態242の方法。
実施形態244.第2の長さと少なくとも1つの第2の予め定められたオフセット値とに基づいて第1の幅を決定する段階を更に含む実施形態242の方法。
実施形態245.最大幅及びフィンガの最大個数が、予め定められた値である実施形態237の方法。
実施形態246.第1の幅とフィンガの個数(F)とを有する1又は2以上のトランジスタを指定する回路仕様を生成する段階を更に含み、回路仕様が、トランジスタレベル結線図を生成するのに使用される実施形態229の方法。
実施形態247.生成されることになるトランジスタを指定する情報が、デバイスタイプを指定し、回路仕様が、デバイスタイプに基づいて1又は2以上のpタイプトランジスタ又はnタイプトランジスタを指定する実施形態246の方法。
実施形態248.生成されることになるトランジスタを指定する情報が、最大ドレイン対ソース電圧を指定し、回路仕様が、最大ドレイン対ソース電圧に基づいて複数のトランジスタのうちの1つを指定する実施形態246の方法。
実施形態249.生成されることになるトランジスタを指定する情報が、最大ゲート対ソース電圧を指定し、回路仕様が、最大ゲート対ソース電圧に基づいて複数のトランジスタのうちの1つを指定する実施形態246の方法。
実施形態250.生成されることになるトランジスタのゲートの合計幅を少なくともオン抵抗に基づいて決定する段階が、生成されることになるトランジスタのトランジスタタイプに基づいて回帰係数の複数のセットのうちの1つのセットを選択する段階と、合計幅をオン抵抗と回帰係数の選択セットとに基づいて決定する段階とを含む実施形態229の方法。
実施形態251.トランジスタタイプが、電力トランジスタである実施形態250の方法。
実施形態252.トランジスタタイプが、信号トランジスタである実施形態250の方法。
実施形態253.生成されることになるトランジスタを指定する情報が、レプリカトランジスタを指定し、トランジスタレベル結線図が、1又は2以上のトランジスタの1又は2以上のゲートに結合されたゲートと、1又は2以上のトランジスタの1又は2以上のドレインに結合されたドレインとを有するレプリカトランジスタを含む実施形態229の方法。
実施形態254.生成されることになるトランジスタを指定する情報が、レプリカ利得を指定し、レプリカトランジスタの幅が、生成されることになるトランジスタの合計幅に基づいて決定される実施形態253の方法。
実施形態255.生成されることになるトランジスタを指定する情報が、ケルビン接続を指定し、トランジスタレベル結線図が、1又は2以上のトランジスタの1又は2以上のソースに結合されたケルビンソース端子と、1又は2以上のトランジスタの1又は2以上のドレインに結合されたケルビンドレイン端子とを含む実施形態229の方法。
実施形態256.トランジスタレベル結線図が、ケルビンソース端子と1又は2以上のトランジスタの1又は2以上のソース端子との間に構成された第1の抵抗器と、ケルビンドレイン端子と1又は2以上のトランジスタの1又は2以上のドレインとの間に構成された第2の抵抗器とを更に含む実施形態255の方法。
実施形態257.レイアウトを生成する段階が、1又は2以上のレイアウト配置命令を実行する段階を含み、レイアウト配置命令が、P個のデバイスセルを初期位置と初期位置から整数個のx軸オフセット及びy軸オフセットだけオフセットされたP-1個の他の位置とに連続的に配置する実施形態229の方法。
実施形態258.実行されるレイアウト配置命令が、トランジスタタイプに基づいて実行される実施形態257の方法。
実施形態259.x軸オフセット及びy軸オフセットが、第1の幅及びフィンガの個数(F)に基づいて計算される実施形態257の方法。
実施形態260.レイアウトを生成する段階が、デバイスセルの2次元アレイにわたって複数の金属化ストリップ(metallization strips)を自動的に配置する段階を更に含む実施形態257の方法。
実施形態261.各デバイスセルにわたる金属化ストリップの個数が、第1の幅及び予め定められた最大ストリップ幅に基づいて決定される実施形態260の方法。
実施形態262.金属化ストリップが、生成されることになるトランジスタのトランジスタタイプに基づいて選択された予め定められたオフセットに基づいて配置される実施形態260の方法。
実施形態263.トランジスタを生成するためのコンピュータシステムであって、1又は2以上のプロセッサと、コンピュータシステムによって実行された時に、生成されることになるトランジスタを指定し、生成されることになるトランジスタのオン抵抗を含む情報を受信する段階、生成されることになるトランジスタのゲートの合計幅を少なくともオン抵抗に基づいて決定する段階、第1の幅、フィンガの個数(F)、デバイスセルの個数(P)を合計幅に基づいて決定する段階、第1の幅とフィンガの個数(F)とを用いて構成された1又は2以上のトランジスタを含むトランジスタレベル結線図を生成する段階、及びレイアウトを生成する段階であって、レイアウトが、P個のデバイスセルを含み、各デバイスセルが、フィンガの個数(F)に対応する複数のゲートを含み、各ゲートが、第1の幅を有し、デバイスセルが、2次元アレイに構成される生成する段階を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体とを含むコンピュータシステム。
実施形態264.コンピュータシステムによって実行された時にコンピュータシステムに、生成されることになるトランジスタを指定し、生成されることになるトランジスタのオン抵抗を含む情報を受信することと、生成されることになるトランジスタのゲートの合計幅を少なくともオン抵抗に基づいて決定することと、第1の幅、フィンガの個数(F)、及びデバイスセルの個数(P)を合計幅に基づいて決定することと、第1の幅とフィンガの個数(F)とを用いて構成された1又は2以上のトランジスタを含むトランジスタレベル結線図を生成することと、レイアウトが、P個のデバイスセルを含み、各デバイスセルが、フィンガの個数(F)に対応する複数のゲートを含み、各ゲートが、第1の幅を有し、デバイスセルが、2次元アレイに構成されるレイアウトを生成することと、を行わせる、コンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体。
実施形態229-262のいずれか1又は2以上と組み合わされた実施形態263のコンピュータシステム。
コンピュータシステムによって実行された時にコンピュータシステムに実施形態229-262のいずれか1又は2以上を実施させるコンピュータ実行可能命令が格納された実施形態264の非一時的コンピュータ可読ストレージ媒体。
実施形態265.トランジスタを生成するためのシステムであって、生成されることになるトランジスタを指定し、生成されることになるトランジスタのオン抵抗を含む情報を受信するための手段と、生成されることになるトランジスタのゲートの合計幅を少なくともオン抵抗に基づいて決定するための手段と、第1の幅、フィンガの個数(F)、及びデバイスセルの個数(P)を合計幅に基づいて決定するための手段と、第1の幅とフィンガの個数(F)とを用いて構成された1又は2以上のトランジスタを含むトランジスタレベル結線図を生成するための手段と、レイアウトを生成するための手段であって、レイアウトが、P個のデバイスセルを含み、各デバイスセルが、フィンガの個数(F)に対応する複数のゲートを含み、各ゲートが、第1の幅を有し、デバイスセルが、2次元アレイに構成される生成するための手段とを含むシステム。
実施形態266.トランジスタを生成するコンピュータ実装方法であって、生成されることになるトランジスタを指定し、オン抵抗を含む情報を受信する段階と、オン抵抗から面積(area)を計算する段階と、面積と予め定められた長さとに基づいて合計幅を決定する段階と、合計幅、予め定められた最大幅、及びフィンガの予め定められた最大個数に基づいてデバイスセルの個数(P)及びフィンガの個数(F)を決定する段階と、フィンガの個数(F)に基づいてデバイスセルの第1の寸法に沿う第1の長さを決定する段階と、デバイスセルの第2の寸法に沿う第2の長さを第1の長さと第2の長さとのプログラミングされた比に基づいて決定する段階と、第2の寸法に基づいて第1のゲート幅を決定する段階と、第1のゲート幅とフィンガの個数(F)とを用いてトランジスタレベル結線図内に1又は2以上のトランジスタを構成する段階とを含むコンピュータ実装方法。
実施形態267.トランジスタレベル結線図が、デバイスセルの個数(P)に等しい乗数属性(M)を有する1つのトランジスタを含む実施形態266の方法。
実施形態268.トランジスタレベル結線図が、並列に構成されたP個のトランジスタを含む実施形態266の方法。
実施形態269.デバイスセルの個数(P)が、完全平方である実施形態266の方法。
実施形態270.回路を生成するためのコンピュータシステムであって、1又は2以上のプロセッサと、コンピュータシステムによって実行された時に、生成されることになるトランジスタを指定し、少なくともオン抵抗を含む情報を受信する段階、オン抵抗から面積を計算する段階、面積と予め定められた長さとに基づいて合計幅を決定する段階、合計幅、予め定められた最大幅、及びフィンガの予め定められた最大個数に基づいてデバイスセルの個数(P)及びフィンガの個数(F)を決定する段階、フィンガの個数(F)に基づいてデバイスセルの第1の寸法に沿う第1の長さを決定する段階、デバイスセルの第2の寸法に沿う第2の長さを第1の長さと第2の長さとのプログラミングされた比に基づいて決定する段階、第2の寸法に基づいて第1のゲート幅を決定する段階、及び第1のゲート幅とフィンガの個数(F)とを用いてトランジスタレベル結線図内に1又は2以上のトランジスタを構成する段階を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体とを含むコンピュータシステム。
実施形態271.コンピュータシステムによって実行された時にコンピュータシステムに、生成されることになるトランジスタを指定し、少なくともオン抵抗を含む情報を受信させ、オン抵抗から面積を計算させ、面積と予め定められた長さとに基づいて合計幅を決定させ、合計幅、予め定められた最大幅、及びフィンガの予め定められた最大個数に基づいてデバイスセルの個数(P)及びフィンガの個数(F)を決定させ、フィンガの個数(F)に基づいてデバイスセルの第1の寸法に沿う第1の長さを決定させ、デバイスセルの第2の寸法に沿う第2の長さを第1の長さと第2の長さとのプログラミングされた比に基づいて決定させ、第2の寸法に基づいて第1のゲート幅を決定させ、かつ第1のゲート幅とフィンガの個数(F)とを用いてトランジスタレベル結線図内に1又は2以上のトランジスタを構成させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体。
実施形態266-269のいずれか1又は2以上と組み合わされた実施形態270のコンピュータシステム。
コンピュータシステムによって実行された時にコンピュータシステムに実施形態266-269のいずれか1又は2以上を実施させるコンピュータ実行可能命令が格納された実施形態271の非一時的コンピュータ可読ストレージ媒体。
実施形態272.トランジスタを生成するためのシステムであって、生成されることになるトランジスタを指定し、オン抵抗を含む情報を受信するための手段と、オン抵抗から面積を計算するための手段と、面積と予め定められた長さとに基づいて合計幅を決定するための手段と、合計幅、予め定められた最大幅、及びフィンガの予め定められた最大個数に基づいてデバイスセルの個数(P)及びフィンガの個数(F)を決定するための手段と、フィンガの個数(F)に基づいてデバイスセルの第1の寸法に沿う第1の長さを決定するための手段と、デバイスセルの第2の寸法に沿う第2の長さを第1の長さと第2の長さとのプログラミングされた比に基づいて決定するための手段と、第2の寸法に基づいて第1のゲート幅を決定するための手段と、第1のゲート幅とフィンガの個数(F)とを用いてトランジスタレベル結線図内に1又は2以上のトランジスタを構成するための手段とを含むシステム。
実施形態273.複数のトランジスタのための複数のデータセットを生成する段階であって、各データセットが、複数のトランジスタのうちの特定のトランジスタに対する複数のゲート幅に関して得られたオン抵抗の値を含む生成する段階と、1又は2以上の回帰係数を含む複数の係数セットを複数のデータセットの各々に適用された回帰方程式に基づいて生成する段階と、オン抵抗と複数のトランジスタのうちのトランジスタとを指定する情報を受信する段階と、複数のトランジスタのうちの指定トランジスタに基づいて複数の係数セットのうちの1つの係数セットを選択する段階と、オン抵抗と選択された係数セットとに基づいてゲート幅を決定する段階とを含むコンピュータ実装方法。
実施形態274.回路を生成するためのコンピュータシステムであって、1又は2以上のプロセッサと、コンピュータシステムによって実行された時に、複数のトランジスタのための複数のデータセットを生成する段階であって、各データセットが、複数のトランジスタのうちの特定のトランジスタに対する複数のゲート幅に関して得られたオン抵抗の値を含む生成する段階、1又は2以上の回帰係数を含む複数の係数セットを複数のデータセットの各々に適用された回帰方程式に基づいて生成する段階、オン抵抗と複数のトランジスタのうちのトランジスタとを指定する情報を受信する段階、複数のトランジスタのうちの指定トランジスタに基づいて複数の係数セットのうちの1つの係数セットを選択する段階、及びオン抵抗と選択された係数セットとに基づいてゲート幅を決定する段階を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体とを含むコンピュータシステム。
実施形態275.コンピュータシステムによって実行された時にコンピュータシステムに、複数のトランジスタのうちの特定のトランジスタに対する複数のゲート幅に関して得られたオン抵抗の値を各データセットが含む複数のトランジスタのための複数のデータセットを生成させ、1又は2以上の回帰係数を含む複数の係数セットを複数のデータセットの各々に適用された回帰方程式に基づいて生成させ、オン抵抗と複数のトランジスタのうちのトランジスタとを指定する情報を受信させ、複数のトランジスタのうちの指定トランジスタに基づいて複数の係数セットのうちの1つの係数セットを選択させ、かつオン抵抗と選択された係数セットとに基づいてゲート幅を決定させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体。
実施形態276.回路を生成するためのシステムであって、複数のトランジスタのための複数のデータセットを生成するための手段であって、各データセットが、複数のトランジスタのうちの特定のトランジスタに対する複数のゲート幅に関して得られたオン抵抗の値を含む生成するための手段と、1又は2以上の回帰係数を含む複数の係数セットを複数のデータセットの各々に適用された回帰方程式に基づいて生成するための手段と、オン抵抗と複数のトランジスタのうちのトランジスタとを指定する情報を受信するための手段と、複数のトランジスタのうちの指定トランジスタに基づいて複数の係数セットのうちの1つの係数セットを選択するための手段と、オン抵抗と選択された係数セットとに基づいてゲート幅を決定するための手段とを含むシステム。
実施形態277.トランジスタを生成するコンピュータ実装方法であって、生成されることになるトランジスタを指定する情報を受信する段階と、情報の少なくとも一部分に基づいて予め定められたレイアウトパラメータを取り出す段階と、幅と、フィンガの個数と、デバイスセルの個数とを含む生成されることになるトランジスタの属性を情報及びレイアウトパラメータに基づいて決定する段階と、属性に基づいて構成された1又は2以上のトランジスタ結線図を含む生成されることになるトランジスタのトランジスタレベル結線図を生成する段階と、生成されることになるトランジスタのレイアウトをトランジスタレベル結線図から生成する段階であって、レイアウトが、個数のデバイスセルを含み、各デバイスセルが、属性に基づいてレイアウト配置命令によってレイアウト内に自動的に位置決めされる生成する段階とを含むコンピュータ実装方法。
実施形態278.トランジスタを生成するためのコンピュータシステムであって、1又は2以上のプロセッサと、コンピュータシステムによって実行された時に、生成されることになるトランジスタを指定する情報を受信する段階、情報の少なくとも一部分に基づいて予め定められたレイアウトパラメータを取り出す段階、幅と、フィンガの個数と、デバイスセルの個数とを含む生成されることになるトランジスタの属性を情報及びレイアウトパラメータに基づいて決定する段階、属性に基づいて構成された1又は2以上のトランジスタ結線図を含む生成されることになるトランジスタのトランジスタレベル結線図を生成する段階、及び生成されることになるトランジスタのレイアウトをトランジスタレベル結線図から生成する段階であって、レイアウトが、個数のデバイスセルを含み、各デバイスセルが、属性に基づいてレイアウト配置命令によってレイアウト内に自動的に位置決めされる生成する段階を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体とを含むコンピュータシステム。
実施形態279.コンピュータシステムによって実行された時にコンピュータシステムに、生成されることになるトランジスタを指定する情報を受信させ、情報の少なくとも一部分に基づいて予め定められたレイアウトパラメータを取り出させ、幅と、フィンガの個数と、デバイスセルの個数とを含む生成されることになるトランジスタの属性を情報及びレイアウトパラメータに基づいて決定させ、属性に基づいて構成された1又は2以上のトランジスタ結線図を含む生成されることになるトランジスタのトランジスタレベル結線図を生成させ、かつレイアウトが、個数のデバイスセルを含み、各デバイスセルが、属性に基づいてレイアウト配置命令によってレイアウト内に自動的に位置決めされる生成されることになるトランジスタのレイアウトをトランジスタレベル結線図から生成させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体。
実施形態280.トランジスタを生成するためのシステムであって、生成されることになるトランジスタを指定する情報を受信するための手段と、情報の少なくとも一部分に基づいて予め定められたレイアウトパラメータを取り出すための手段と、幅と、フィンガの個数と、デバイスセルの個数とを含む生成されることになるトランジスタの属性を情報及びレイアウトパラメータに基づいて決定するための手段と、属性に基づいて構成された1又は2以上のトランジスタ結線図を含む生成されることになるトランジスタのトランジスタレベル結線図を生成するための手段と、生成されることになるトランジスタのレイアウトをトランジスタレベル結線図から生成するための手段であって、レイアウトが、個数のデバイスセルを含み、各デバイスセルが、属性に基づいてレイアウト配置命令によってレイアウト内に自動的に位置決めされる生成するための手段とを含むシステム。
実施形態281.トランジスタレイアウトを生成するコンピュータ実装方法であって、1又は2以上のトランジスタをトランジスタの属性に基づいて複数のレイアウトインスタンスに変換する段階と、トランジスタのためのレイアウトを形成するために複数のレイアウトインスタンスを2次元アレイとして位置決めする予め定められたレイアウトスクリプトを実行する段階とを含むコンピュータ実装方法。
実施形態282.レイアウトスクリプトが、トランジスタを含む回路結線図に関連付けられる実施形態281の方法。
実施形態283.トランジスタが、電界効果トランジスタである実施形態281の方法。
実施形態284.トランジスタが、電力電界効果トランジスタである実施形態283の方法。
実施形態285.トランジスタに対する合計ゲート幅に基づいて第1のゲート幅と、フィンガの個数(F)と、デバイスセルの個数(P)とを決定する段階を更に含む実施形態281の方法。
実施形態286.1又は2以上のトランジスタが、同じ属性を有する並列に構成された複数のトランジスタであり、各トランジスタの乗数属性が、1に等しい実施形態281の方法。
実施形態287.1又は2以上のトランジスタが、1よりも大きい乗数属性を有する単一トランジスタである実施形態281の方法。
実施形態288.レイアウトインスタンスの個数(P)が、完全平方である実施形態281の方法。
実施形態289.レイアウトインスタンスのアスペクト比が、プログラム可能である実施形態281の方法。
実施形態290.レイアウトスクリプトが、第1のレイアウトインスタンスに対する初期位置を指定する少なくとも1つのレイアウト配置命令を含む実施形態281の方法。
実施形態291.単一レイアウト配置命令が、複数のレイアウトインスタンスを配置する実施形態290の方法。
実施形態292.少なくとも1つのレイアウト配置命令が、レイアウトインスタンス間のxステップ及びyステップを指定する実施形態290の方法。
実施形態293.少なくとも1つのレイアウト配置命令が、2次元アレイに対する列の個数及び行の個数を指定する実施形態290の方法。
実施形態294.トランジスタレイアウトを生成するためのコンピュータシステムであって、1又は2以上のプロセッサと、コンピュータシステムによって実行された時に、1又は2以上のトランジスタをトランジスタの属性に基づいて複数のレイアウトインスタンスに変換する段階、及びトランジスタのためのレイアウトを形成するために複数のレイアウトインスタンスを2次元アレイとして位置決めする予め定められたレイアウトスクリプトを実行する段階を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体とを含むコンピュータシステム。
実施形態295.コンピュータシステムによって実行された時にコンピュータシステムに、1又は2以上のトランジスタをトランジスタの属性に基づいて複数のレイアウトインスタンスに変換させ、かつトランジスタのためのレイアウトを形成するために複数のレイアウトインスタンスを2次元アレイとして位置決めする予め定められたレイアウトスクリプトを実行させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体。
実施形態281-293のいずれか1又は2以上と組み合わされた実施形態294のコンピュータシステム。
コンピュータシステムによって実行された時にコンピュータシステムに実施形態281-293のいずれか1又は2以上を実施させるコンピュータ実行可能命令が格納された実施形態295の非一時的コンピュータ可読ストレージ媒体。
実施形態296.トランジスタレイアウトを生成するためのコンピュータシステムであって、1又は2以上のトランジスタをトランジスタの属性に基づいて複数のレイアウトインスタンスに変換するための手段と、トランジスタのためのレイアウトを形成するために複数のレイアウトインスタンスを2次元アレイとして位置決めする予め定められたレイアウトスクリプトを実行するための手段とを含むコンピュータシステム。
実施形態297.回路レイアウトを生成するコンピュータ実装方法であって、回路レイアウトに変換されることになる回路結線図を指定する段階と、回路結線図に関連付けられたレイアウトスクリプトを受信する段階であって、レイアウトスクリプトが、回路結線図から生成された複数のレイアウトインスタンスを位置決めするように構成される受信する段階と、回路結線図を複数のレイアウトインスタンスに変換する段階と、回路レイアウトを生成するためにレイアウトスクリプトに基づいて複数のレイアウトインスタンスを位置決めする段階とを含むコンピュータ実装方法。
実施形態298.回路結線図が、アナログ回路又は混合信号回路のためのトランジスタレベル結線図である実施形態297の方法。
実施形態299.複数のレイアウトインスタンスのうちの1又は2以上が、部分回路結線図のための予め定められたレイアウトである実施形態297の方法。
実施形態300.レイアウトスクリプトが、特定のレイアウトインスタンスが格納されたライブラリへの参照子を含む実施形態299の方法。
実施形態301.複数のレイアウトインスタンスの第1のサブセットが、複数の抵抗器に対応する実施形態297の方法。
実施形態302.複数のレイアウトインスタンスの第1のサブセットが、複数のコンデンサーに対応する実施形態297の方法。
実施形態303.レイアウトスクリプトが、複数のレイアウトインスタンスの各々に対する特定の配置を指定する実施形態297の方法。
実施形態304.回路結線図が、複数の回路結線図のうちの第1の回路結線図に対応し、レイアウトスクリプトが、複数の回路結線図の各々に対するレイアウトインスタンスを位置決めするように構成される実施形態297の方法。
実施形態305.複数の回路結線図が、第1の機能を実施する実施形態304の方法。
実施形態306.レイアウトスクリプトが、異なる回路結線図からのレイアウトインスタンスに対して複数の配置作動を実施し、第1の回路結線図に対応するレイアウトインスタンスに対する配置作動が実行され、他の回路結線図に対応するレイアウトインスタンスに対する配置作動が実行されない実施形態304の方法。
実施形態307.レイアウトスクリプトが、レイアウトインスタンスのうちの1又は2以上を位置決めするために複数のレイアウト配置命令を含む実施形態297の方法。
実施形態308.複数のレイアウト配置命令が、各レイアウト配置命令に対応する配置作動を実施するための対応するコードを含む実施形態307の方法。
実施形態309.コードが、レイアウト配置命令スクリプトである実施形態308の方法。
実施形態310.レイアウト配置命令が、1又は2以上のレイアウトインスタンスの配置を指定する位置決めパラメータを受信する実施形態307の方法。
実施形態311.レイアウト配置命令のサブセットが、複数のレイアウトインスタンスのうちの特定のレイアウトインスタンスへの参照子を含む実施形態307の方法。
実施形態312.参照子が、セル名称である実施形態311の方法。
実施形態313.参照子が、インスタンス名称である実施形態311の方法。
実施形態314.1又は2以上のレイアウト配置命令が、複数のレイアウトインスタンスのうちの1又は2以上の対応するレイアウトインスタンスのための配置場所を指定する実施形態307の方法。
実施形態315.1又は2以上のレイアウト配置命令が、特定のレイアウトインスタンスと、特定のレイアウトインスタンスを位置決めするためのx軸座標及びy軸座標とを指定する実施形態307の方法。
実施形態316.1又は2以上のレイアウト配置命令が、特定のレイアウトインスタンスが格納されたライブラリ名称を更に指定する実施形態313の方法。
実施形態317.1又は2以上のレイアウト配置命令が、特定のレイアウトインスタンスの回転を更に指定する実施形態315の方法。
実施形態318.複数のレイアウト配置命令のうちの第1のレイアウト配置命令が、複数のレイアウトインスタンスの第1のサブセットを位置決めする実施形態307の方法。
実施形態319.複数のレイアウトインスタンスの第1のサブセットが、部分回路結線図のための予め定められたレイアウトである実施形態318の方法。
実施形態320.複数のレイアウトインスタンスの第1のサブセットが、受動的レイアウト構成要素である実施形態318の方法。
実施形態321.複数の受動的レイアウト構成要素が、抵抗器レイアウト構成要素である実施形態320の方法。
実施形態322.複数の受動的構成要素が、コンデンサーレイアウト構成要素である実施形態320の方法。
実施形態323.第1のレイアウト配置命令が、複数の軸線のうちの1つに沿うステップ方向を指定する実施形態318の方法。
実施形態324.第1のレイアウト配置命令が、開始位置とレイアウトインスタンスの第1のサブセット間のステップとを指定する実施形態318の方法。
実施形態325.ステップが、レイアウトインスタンスの第1のサブセットの隣接境界間の距離を指定する実施形態324の方法。
実施形態326.ステップが、レイアウトインスタンスの第1のサブセットの第1の軸線に沿う境界の長さよりも大きいか又はそれに等しい実施形態324の方法。
実施形態327.第1のレイアウト配置命令が、軸線に沿ってレイアウトインスタンスを連続的に配置するための最大距離を更に指定する実施形態318の方法。
実施形態328.最大距離が、複数のレイアウトインスタンスのうちの1つの長さに関連付けられる実施形態327の方法。
実施形態329.レイアウトインスタンスが、開始位置から距離に基づく第2の位置まで第1の軸線に沿って連続的に配置され、レイアウトインスタンスの第1の部分が開始位置と第2の位置間の空間を張る時に、レイアウトインスタンスの第2の部分が、第2の軸線に沿って開始位置からオフセットされた第3の位置と距離に基づく第4の位置との間で第1の軸線に沿って連続的に配置される実施形態327の方法。
実施形態330.レイアウト配置インスタンスの第1のサブセットが、レイアウト配置インスタンスの少なくとも第1のサブグループと、レイアウト配置インスタンスの第2のサブグループとを含み、第1のレイアウト配置命令が、レイアウトインスタンスの第1のサブグループと第2のサブグループの間のステップを更に指定する実施形態318の方法。
実施形態331.第1のレイアウト配置命令に続く第2のレイアウト配置命令が、第1のレイアウト配置命令の最終位置から始まる1又は2以上の位置に複数のレイアウトインスタンスのうちの1又は2以上のレイアウトインスタンスを配置する実施形態318の方法。
実施形態332.レイアウト配置命令のうちの1又は2以上が、条件付きステートメントを含む実施形態307の方法。
実施形態333.少なくとも1つのレイアウト配置命令が、位置が占有されたかを決定する実施形態332の方法。
実施形態334.1又は2以上の第1のレイアウト配置命令が、位置が占有された場合に実行される実施形態333の方法。
実施形態335.1又は2以上の第1のレイアウト配置命令が、位置が占有されていない場合に実行される実施形態333の方法。
実施形態336.少なくとも1つのレイアウト配置命令が、1又は2以上の指定レイアウトインスタンスがレイアウトに含まれているかを決定し、1又は2以上の第1のレイアウト配置命令が、指定インスタンスがレイアウトに含まれている場合に実行され、1又は2以上の第2のレイアウト配置命令が、1又は2以上の指定レイアウトインスタンスがレイアウトにない場合に実行される実施形態332の方法。
実施形態337.回路レイアウトを生成するためのコンピュータシステムであって、1又は2以上のプロセッサと、コンピュータシステムによって実行された時に、回路レイアウトに変換されることになる回路結線図を指定する段階、回路結線図から生成された複数のレイアウトインスタンスを位置決めするように構成された回路結線図に関連付けられたレイアウトスクリプトを受信する段階、回路結線図を複数のレイアウトインスタンスに変換する段階、及び回路レイアウトを生成するためにレイアウトスクリプトに基づいて複数のレイアウトインスタンスを位置決めする段階を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体とを含むコンピュータシステム。
実施形態338.コンピュータシステムによって実行された時にコンピュータシステムに、回路レイアウトに変換されることになる回路結線図を指定させ、回路結線図から生成された複数のレイアウトインスタンスを位置決めするように構成された回路結線図に関連付けられたレイアウトスクリプトを受信させ、回路結線図を複数のレイアウトインスタンスに変換させ、かつ回路レイアウトを生成するためにレイアウトスクリプトに基づいて複数のレイアウトインスタンスを位置決めさせるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体。
実施形態297-336のいずれか1又は2以上と組み合わされた実施形態337のコンピュータシステム。
コンピュータシステムによって実行された時にコンピュータシステムに実施形態297-336のいずれか1又は2以上を実施させるコンピュータ実行可能命令が格納された実施形態338の非一時的コンピュータ可読ストレージ媒体。
実施形態339.回路レイアウトを生成するためのコンピュータシステムであって、回路レイアウトに変換されることになる回路結線図を指定するための手段と、回路結線図から生成された複数のレイアウトインスタンスを位置決めするように構成された回路結線図に関連付けられたレイアウトスクリプトを受信するための手段と、回路結線図を複数のレイアウトインスタンスに変換するための手段と、回路レイアウトを生成するためにレイアウトスクリプトに基づいて複数のレイアウトインスタンスを位置決めするための手段とを含むコンピュータシステム。
実施形態340.回路レイアウトを生成するコンピュータ実装方法であって、結線図から生成された複数のレイアウトインスタンスをレイアウトキャンバスに受信する段階と、結線図に関連付けられたレイアウトスクリプトを受信する段階であって、レイアウトスクリプトが、結線図から生成された複数のレイアウトインスタンスを配置するための複数のレイアウト配置命令を含む受信する段階と、複数のレイアウト配置命令を用いて複数のレイアウトインスタンスを位置決めする段階とを含むコンピュータ実装方法。
実施形態341.回路レイアウトを生成するためのコンピュータシステムであって、1又は2以上のプロセッサと、コンピュータシステムによって実行された時に、結線図から生成された複数のレイアウトインスタンスをレイアウトキャンバスに受信する段階、結線図に関連付けられたレイアウトスクリプトを受信する段階であって、レイアウトスクリプトが、結線図から生成された複数のレイアウトインスタンスを配置するための複数のレイアウト配置命令を含む受信する段階、及び複数のレイアウト配置命令を用いて複数のレイアウトインスタンスを位置決めする段階を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体とを含むコンピュータシステム。
実施形態342.コンピュータシステムによって実行された時にコンピュータシステムに、結線図から生成された複数のレイアウトインスタンスをレイアウトキャンバスに受信させ、レイアウトスクリプトが、結線図から生成された複数のレイアウトインスタンスを配置するための複数のレイアウト配置命令を含む結線図に関連付けられたレイアウトスクリプトを受信させ、かつ複数のレイアウト配置命令を用いて複数のレイアウトインスタンスを位置決めさせるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体。
実施形態343.回路レイアウトを生成するためのシステムであって、結線図から生成された複数のレイアウトインスタンスをレイアウトキャンバスに受信するための手段と、結線図に関連付けられたレイアウトスクリプトを受信するための手段であって、レイアウトスクリプトが、結線図から生成された複数のレイアウトインスタンスを配置するための複数のレイアウト配置命令を含む受信するための手段と、複数のレイアウト配置命令を用いて複数のレイアウトインスタンスを位置決めするための手段とを含むシステム。
以上の説明は、本発明の開示の様々な実施形態を特定の実施形態の態様を実施することができる方法の例と共に例示するものである。上述の例は、唯一の実施形態であると見なすべきではなく、かつ以下の特許請求の範囲によって定められる特定の実施形態の柔軟性及び利点を例示するために提示するものである。上述の開示及び以下の特許請求の範囲に基づいて、特許請求の範囲によって定められる本発明の開示の範囲から逸脱することなく他の配置、実施形態、実施、及び均等物を使用することができる。
101 機能回路構成要素
102 発生器ソフトウエアシステム
103 回路結線図
104 パラメータ
110、111、112 部分回路結線図

Claims (344)

  1. 回路を生成するコンピュータ実装方法であって、
    生成されることになる前記回路を指定するパラメータを受信する段階、
    前記回路に含められることになる予め定められた部分回路結線図を前記パラメータに基づいて選択する段階、
    前記予め定められた部分回路結線図間の接続を前記パラメータに基づいて決定する段階、
    前記部分回路結線図と前記予め定められた部分回路結線図間の接続とを指定する、生成されることになる前記回路のための回路仕様を生成する段階、及び
    生成されることになる前記回路に関連付けられたレイアウトスクリプトを生成する段階、
    を含む、回路仕様を生成する段階と、
    前記回路仕様に指定された予め定められた部分回路結線図を選択する段階、
    前記回路結線図を形成するために前記予め定められた部分回路結線図を接続する段階、
    前記回路結線図を複数のレイアウトインスタンスに変換する段階、及び
    前記回路レイアウトを生成するために、生成されることになる前記回路に関連付けられた前記レイアウトスクリプトに基づいて前記レイアウトインスタンスを位置決めする段階、
    を含む、前記回路仕様を回路結線図及び回路レイアウトに変換する段階と、
    を含む、コンピュータ実装方法。
  2. 前記予め定められた部分回路結線図は、予め定められたアナログ部分回路結線図を含む、請求項1に記載の方法。
  3. 前記パラメータは、1又は2以上の機能回路構成要素を指定し、
    前記1又は2以上の機能回路構成要素は、対応する予め定められた部分回路結線図を有する、
    、請求項1に記載の方法。
  4. 前記1又は2以上の機能回路構成要素に対応する1又は2以上の記号を生成する段階を更に含み、
    前記記号は、前記選択された予め定められた部分回路結線図をカプセル封入する、
    、請求項3に記載の方法。
  5. 前記レイアウトスクリプトは、複数のレイアウト配置命令を含む、請求項1に記載の方法。
  6. 前記レイアウトスクリプトは、複数の回路結線図からのレイアウトインスタンスを位置決めするように構成される、請求項1に記載の方法。
  7. 前記複数の回路結線図は、同じ機能回路構成要素に関連付けられる、請求項6に記載の方法。
  8. 回路仕様を生成する段階は、第1のソフトウエアシステム上で実施され、該回路仕様を回路結線図及び回路レイアウトに変換する段階は、第2のソフトウエアシステム上で実施される、請求項1に記載の方法。
  9. 前記第2のソフトウエアシステムは、電子設計自動化ソフトウエアシステムである、請求項8に記載の方法。
  10. 回路を生成するためのコンピュータシステムであって、
    1又は2以上のプロセッサと、
    コンピュータシステムによって実行された時に、
    生成されることになる前記回路を指定するパラメータを受信する段階、
    前記回路に含められることになる予め定められた部分回路結線図を前記パラメータに基づいて選択する段階、
    前記予め定められた部分回路結線図間の接続を前記パラメータに基づいて決定する段階、
    前記部分回路結線図と前記予め定められた部分回路結線図間の接続とを指定する、生成されることになる前記回路のための回路仕様を生成する段階、及び
    生成されることになる前記回路に関連付けられたレイアウトスクリプトを生成する段階、
    を含む、回路仕様を生成する段階と、
    前記回路仕様に指定された予め定められた部分回路結線図を選択する段階、
    前記回路結線図を形成するために前記予め定められた部分回路結線図を接続する段階、
    前記回路結線図を複数のレイアウトインスタンスに変換する段階、及び
    前記回路レイアウトを生成するために、生成されることになる前記回路に関連付けられた前記レイアウトスクリプトに基づいて前記レイアウトインスタンスを位置決めする段階、
    を含む、前記回路仕様を回路結線図及び回路レイアウトに変換する段階と、
    を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体と、
    を含む、コンピュータシステム。
  11. コンピュータシステムによって実行された時に該コンピュータシステムに、
    生成されることになる前記回路を指定するパラメータを受信し、
    前記回路に含められることになる予め定められた部分回路結線図を前記パラメータに基づいて選択し、
    前記予め定められた部分回路結線図間の接続を前記パラメータに基づいて決定し、
    前記部分回路結線図と前記予め定められた部分回路結線図間の前記接続とを指定する、生成されることになる前記回路のための回路仕様を生成し、かつ
    生成されることになる前記回路に関連付けられたレイアウトスクリプトを生成する、
    ことを含む、回路仕様を生成することと、
    前記回路仕様に指定された予め定められた部分回路結線図を選択し、
    前記回路結線図を形成するために前記予め定められた部分回路結線図を接続し、
    前記回路結線図を複数のレイアウトインスタンスに変換し、かつ
    前記回路レイアウトを生成するために、生成されることになる前記回路に関連付けられた前記レイアウトスクリプトに基づいて前記レイアウトインスタンスを位置決めする、
    ことを含む、前記回路仕様を回路結線図及び回路レイアウトに変換することと、
    を行わせる、コンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体。
  12. 回路を生成するコンピュータ実装方法であって、
    少なくとも1つのコンピュータ上で実行される少なくとも1つのソフトウエアシステムにより、少なくとも1つの機能回路構成要素に対応する複数の回路仕様パラメータを受信する段階と、
    前記少なくとも1つのソフトウエアシステムにより、前記回路仕様パラメータに基づいて複数の部分回路結線図を選択する段階と、
    前記少なくとも1つソフトウエアシステムにより、前記少なくとも1つの機能回路構成要素のための回路結線図を形成するために前記部分回路結線図を組み合わせる段階と、
    を含む、コンピュータ実装方法。
  13. 前記少なくとも1つの機能回路構成要素は、アナログ機能回路構成要素である、請求項12に記載の方法。
  14. 前記部分回路結線図は、アナログ部分回路結線図を含む、請求項12に記載の方法。
  15. 前記部分回路結線図は、予め定められたアナログ部分回路結線図を含む、請求項12に記載の方法。
  16. 前記選択された複数の部分回路結線図は、第2の複数の予め定められたアナログ部分回路結線図のサブセットである、請求項15に記載の方法。
  17. 前記第2の複数の予め定められたアナログ部分回路結線図は、前記少なくとも1つの機能アナログ回路構成要素に対応する、請求項16に記載の方法。
  18. 前記複数の部分回路結線図は、異なる回路を用いて同じ機能を実施するための代替部分回路結線図を含む、請求項16に記載の方法。
  19. 前記部分回路結線図は、異なる電気特質を有する複数のアナログピンを含む、請求項12に記載の方法。
  20. 前記異なる電気特質は、異なる電圧又は電流作動範囲である、請求項19に記載の方法。
  21. 前記部分回路結線図は、複数のピンを含み、前記組み合わせる段階は、該部分回路結線図の該ピンをマッピングする段階を含む、請求項12に記載の方法。
  22. 前記複数のピンのうちの1又は2以上のピンが、アナログピンである、請求項21に記載の方法。
  23. 前記マッピングする段階は、少なくとも1つのピンマップに基づいている、請求項21に記載の方法。
  24. 異なるピンマップが、選択された部分回路結線図の異なる組合せのための前記複数の部分回路結線図ピンの間の接続を指定する、請求項23に記載の方法。
  25. 前記少なくとも1つのピンマップは、前記選択された部分回路結線図に基づいている、請求項23に記載の方法。
  26. 前記ピンマップは、前記部分回路結線図のピンの間の接続を指定する、請求項23に記載の方法。
  27. 前記ピンマップは、前記部分回路結線図のピンの間の接続と前記回路結線図の入力又は出力とを指定する、請求項23に記載の方法。
  28. 接続されたピンが、予め決められた互換性を有する、請求項21に記載の方法。
  29. 前記ピンをマッピングする段階が、前記回路結線図内で該ピンを接続する段階を含む、請求項21に記載の方法。
  30. 前記マッピングする段階は、複数の予め定められた規則に基づいて前記少なくとも1つのソフトウエアシステムによって自動的に行われる、請求項21に記載の方法。
  31. 前記回路仕様パラメータに関する異なる値が、前記少なくとも1つの機能回路構成要素に対して異なる特質を有する異なるアナログ回路結線図を発生する、請求項12に記載の方法。
  32. 異なる対応する機能回路構成要素に関する異なる回路仕様パラメータセットが、異なる対応する予め定められた部分回路結線図セットを有する、請求項12に記載の方法。
  33. 異なる回路仕様パラメータセットに関する異なる値が、異なる機能回路構成要素に対応する予め定められた部分回路結線図の複数のセットのうちの1つから予め定められた部分回路結線図の異なるサブセットを選択する、請求項32に記載の方法。
  34. 前記複数の回路仕様パラメータは、物理特質を指定するパラメータ又は電気特質を指定するパラメータのうちの1又は2以上を含む、請求項12に記載の方法。
  35. 前記選択された部分回路を指定するネットリストを生成する段階を更に含む、請求項12に記載の方法。
  36. 前記ネットリストは、verilogファイルである、請求項35に記載の方法。
  37. 前記部分回路結線図は、前記少なくとも1つの機能回路構成要素のための前記回路結線図を形成するために該少なくとも1つの機能回路構成要素に関連付けられた規則セットに従って組み合わされる、請求項12に記載の方法。
  38. 異なる機能回路構成要素に対応する異なる回路仕様パラメータが、異なる部分回路結線図セットを組み合わせるための異なる関連規則セットを用いて処理される、請求項12に記載の方法。
  39. 異なる機能回路構成要素が、予め定められた部分回路結線図の対応する独特なセットを有する、請求項12に記載の方法。
  40. 予め定められた部分回路結線図の各独特なセットが、前記対応する機能回路構成要素に対してのみ使用される1又は2以上の独特な予め定められたアナログ部分回路結線図を含む、請求項39に記載の方法。
  41. 予め定められた部分回路結線図の各独特なセットが、複数の対応する機能回路構成要素に対して使用される1又は2以上の予め定められたアナログ部分回路結線図を含む、請求項39に記載の方法。
  42. 前記回路仕様パラメータは、変数及び対応する値を含む、請求項12に記載の方法。
  43. 前記変数及び前記値は、テキストとして受信される、請求項42に記載の方法。
  44. 前記回路仕様パラメータは、前記回路結線図の特質を指定するコードを含む、請求項12に記載の方法。
  45. 前記コードの異なる値が、異なる部分回路結線図を選択する、請求項44に記載の方法。
  46. 回路を生成するためのコンピュータシステムであって、
    1又は2以上のプロセッサと、
    コンピュータシステムによって実行された時に、
    少なくとも1つのコンピュータ上で実行される少なくとも1つのソフトウエアシステムにより、少なくとも1つの機能回路構成要素に対応する複数の回路仕様パラメータを受信する段階と、
    前記少なくとも1つのソフトウエアシステムにより、前記回路仕様パラメータに基づいて複数の部分回路結線図を選択する段階と、
    前記少なくとも1つソフトウエアシステムにより、前記少なくとも1つの機能回路構成要素のための回路結線図を形成するために前記部分回路結線図を組み合わせる段階と、
    を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体と、
    を含む、コンピュータシステム。
  47. コンピュータシステムによって実行された時に該コンピュータシステムに、
    少なくとも1つのコンピュータ上で実行される少なくとも1つのソフトウエアシステムにより、少なくとも1つの機能回路構成要素に対応する複数の回路仕様パラメータを受信させ、
    前記少なくとも1つのソフトウエアシステムにより、前記回路仕様パラメータに基づいて複数の部分回路結線図を選択させ、かつ
    前記少なくとも1つソフトウエアシステムにより、前記少なくとも1つの機能回路構成要素のための回路結線図を形成するために前記部分回路結線図を組み合わさせる、
    コンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体。
  48. 回路を生成するためのシステムであって、
    少なくとも1つのコンピュータ上で実行される少なくとも1つのソフトウエアシステムにより、少なくとも1つの機能回路構成要素に対応する複数の回路仕様パラメータを受信するための手段と、
    前記少なくとも1つのソフトウエアシステムにより、前記回路仕様パラメータに基づいて複数の部分回路結線図を選択するための手段と、
    前記少なくとも1つソフトウエアシステムにより、前記少なくとも1つの機能回路構成要素のための回路結線図を形成するために前記部分回路結線図を組み合わせるための手段と、
    を含む、システム。
  49. 回路を生成するコンピュータ実装方法であって、
    少なくとも1つのコンピュータ上で実行される少なくとも1つのソフトウエアシステムにより、少なくとも1つの機能回路構成要素に対応する複数の回路仕様パラメータを受信する段階と、
    前記少なくとも1つのソフトウエアシステムにより、前記少なくとも1つの機能回路構成要素のための回路レイアウトを形成するために前記回路仕様パラメータに基づいて複数の部分回路レイアウトを組み合わせる段階と、
    を含む、コンピュータ実装方法。
  50. 前記部分回路レイアウトは、アナログ部分回路レイアウトである、請求項49に記載の方法。
  51. 前記部分回路レイアウトは、予め定められたアナログ部分回路レイアウトである、請求項49に記載の方法。
  52. 前記複数の予め定められたアナログ部分回路レイアウトのサブセットが、前記少なくとも1つの機能アナログ回路構成要素に対応する、請求項51に記載の方法。
  53. 前記複数の部分回路レイアウトは、異なる回路を用いて同じ機能を実施するための代替部分回路レイアウトを含む、請求項49に記載の方法。
  54. 前記回路仕様パラメータに関する異なる値が、前記少なくとも1つの機能回路構成要素に対して異なる特質を有する異なるアナログ回路レイアウトを発生する、請求項49に記載の方法。
  55. 異なる対応する機能回路構成要素に対する異なる回路仕様パラメータセットが、異なる対応する予め定められた部分回路レイアウトセットを有する、請求項49に記載の方法。
  56. 各回路仕様パラメータセットに対する異なる値が、異なる機能回路構成要素に対応する複数の予め定められた部分回路レイアウトセットのうちの1つからの予め定められた部分回路レイアウトの異なるサブセットを組み合わせる、請求項55に記載の方法。
  57. 前記複数の回路仕様パラメータは、物理特質を指定するパラメータ又は電気特質を指定するパラメータのうちの1又は2以上を含む、請求項49に記載の方法。
  58. 前記回路仕様パラメータは、変数及び対応する値を含む、請求項49に記載の方法。
  59. 前記回路仕様パラメータは、変数を含み、値が、テキストとして受信される、請求項58に記載の方法。
  60. 前記回路仕様パラメータは、前記回路レイアウトの特質を指定するコードを含む、請求項49に記載の方法。
  61. 前記コードの異なる値が、異なる部分回路レイアウトを選択する、請求項60に記載の方法。
  62. 前記組み合わせる段階は、前記部分回路レイアウトを前記回路レイアウトに配置するための複数のレイアウト配置命令に基づいている、請求項49に記載の方法。
  63. 前記部分回路レイアウトのうちの少なくとも1つが、第1の高さ及び第1の幅を有し、他方の部分回路レイアウトのうちの少なくとも1つが、該第1の高さとは異なる第2の高さと該第2の幅とは異なる第2の幅とを有する、請求項62に記載の方法。
  64. 前記レイアウト配置命令は、予め定められる、請求項62に記載の方法。
  65. 前記レイアウト配置命令は、外部データ記録からの配置データにアクセスする、請求項62に記載の方法。
  66. 前記レイアウト配置命令は、外部データ記録内に予め定められる、請求項62に記載の方法。
  67. 前記レイアウト配置命令は、x,y座標系に従って前記部分回路レイアウトを配置する、請求項62に記載の方法。
  68. 異なる対応するレイアウト配置命令に関連付けられた異なる部分回路レイアウトセットから異なる回路レイアウトを形成することができる、請求項62に記載の方法。
  69. 前記複数のレイアウト配置命令は、1又は2以上の部分回路レイアウトを特定の座標に配置する1又は2以上のレイアウト配置命令を含む、請求項62に記載の方法。
  70. 前記複数のレイアウト配置命令は、1又は2以上の部分回路レイアウトを回転させる1又は2以上のレイアウト配置命令を含む、請求項62に記載の方法。
  71. 前記複数のレイアウト配置命令は、シーケンスになっており、
    特定の部分回路レイアウトが、前記レイアウト配置命令の前記シーケンスに基づいて直列に配置される、
    、請求項62に記載の方法。
  72. 前記複数のレイアウト配置命令は、前記部分回路レイアウトの前記配置を指定するデータにアクセスする実行可能命令を含む、請求項62に記載の方法。
  73. 前記データは、各部分回路レイアウトに対して実行されることになる1又は2以上のレイアウト配置命令を指定する、請求項72に記載の方法。
  74. 前記データは、複数の前記部分回路レイアウトを配置するためのx軸及びy軸座標を指定する、請求項72に記載の方法。
  75. 前記データは、前記部分回路レイアウトのうちの1又は2以上に対する回転を指定する、請求項72に記載の方法。
  76. 前記回路仕様パラメータに関する異なる値が、対応するレイアウト配置命令を用いて異なる部分回路レイアウトを組み合わせ、
    実行される特定のレイアウト配置命令が、特定の回路仕様パラメータ値から生成された特定のアナログ回路レイアウトに固有である、
    、請求項62に記載の方法。
  77. 前記回路レイアウトを形成するために部分回路レイアウトの特定の組合せに基づいて複数のレイアウト配置命令セットのうちの1つを実行する段階を更に含み、
    部分回路レイアウトの異なる組合せが、対応する異なるレイアウト配置命令を有する、
    、請求項62に記載の方法。
  78. 回路を生成するためのコンピュータシステムであって、
    1又は2以上のプロセッサと、
    コンピュータシステムによって実行された時に、
    少なくとも1つのコンピュータ上で実行される少なくとも1つのソフトウエアシステムにより、少なくとも1つの機能回路構成要素に対応する複数の回路仕様パラメータを受信する段階、及び
    少なくとも1つのソフトウエアシステムにより、前記少なくとも1つの機能回路構成要素のための回路レイアウトを形成するために前記回路仕様パラメータに基づいて複数の部分回路レイアウトを組み合わせる段階、
    を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体と、
    を含む、コンピュータシステム。
  79. コンピュータシステムによって実行された時に該コンピュータシステムに、
    少なくとも1つのコンピュータ上で実行される少なくとも1つのソフトウエアシステムにより、少なくとも1つの機能回路構成要素に対応する複数の回路仕様パラメータを受信させ、かつ
    少なくとも1つのソフトウエアシステムにより、前記少なくとも1つの機能回路構成要素のための回路レイアウトを形成するために前記回路仕様パラメータに基づいて複数の部分回路レイアウトを組み合わさせる、
    コンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体。
  80. 回路を生成するためのシステムであって、
    少なくとも1つのコンピュータ上で実行される少なくとも1つのソフトウエアシステムにより、少なくとも1つの機能回路構成要素に対応する複数の回路仕様パラメータを受信するための手段と、
    少なくとも1つのソフトウエアシステムにより、前記少なくとも1つの機能回路構成要素のための回路レイアウトを形成するために前記回路仕様パラメータに基づいて複数の部分回路レイアウトを組み合わせるための手段と、
    を含む、システム。
  81. 回路を生成するコンピュータ実装方法であって、
    生成されることになる回路の第1のモデルを生成する段階と、
    前記第1のモデルに対応する回路仕様パラメータを生成する段階と、
    前記回路仕様パラメータに基づいて複数の部分回路結線図を選択する段階と、
    生成されることになる前記回路のための回路結線図を形成するために前記部分回路結線図を組み合わせる段階と、
    を含み、
    前記組み合わされた部分回路結線図は、前記第1のモデルに対応するトランジスタレベルモデルを形成する、
    、コンピュータ実装方法。
  82. 前記第1のモデルは、挙動モデルである、請求項81に記載の方法。
  83. 前記第1のモデルの複数の挙動レベル模擬実験が、前記トランジスタレベルモデルに対する対応する複数のトランジスタレベル模擬実験と実質的に適合する、請求項81に記載の方法。
  84. 前記第1のモデルは、該第1のモデルに対する複数の挙動を生成するように前記回路仕様パラメータに基づいて構成可能であり、
    前記第1のモデル及び前記トランジスタレベルモデルに対する模擬実験が、該第1のモデル及び該トランジスタレベルモデルが同じパラメータを有する時に実質的に適合する、
    、請求項81に記載の方法。
  85. 前記第1のモデルの複数の挙動レベル模擬実験が、前記トランジスタレベルモデルに対する対応する複数のトランジスタレベル模擬実験に適合する、請求項81に記載の方法。
  86. 前記部分回路結線図は、予め定められたアナログ部分回路結線図を含む、請求項81に記載の方法。
  87. 前記回路結線図を複数のレイアウトインスタンスに変換する段階と、
    回路レイアウトを生成するためにレイアウトスクリプトに基づいて前記レイアウトインスタンスを位置決めする段階と、
    を更に含む、請求項81に記載の方法。
  88. 回路を生成するためのコンピュータシステムであって、
    1又は2以上のプロセッサと、
    コンピュータシステムによって実行された時に、
    生成されることになる回路の第1のモデルを生成する段階、
    前記第1のモデルに対応する回路仕様パラメータを生成する段階、
    前記回路仕様パラメータに基づいて複数の部分回路結線図を選択する段階、及び
    生成されることになる前記回路のための回路結線図を形成するために前記部分回路結線図を組み合わせる段階、
    を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体と、
    を含み、
    前記組み合わされた部分回路結線図は、前記第1のモデルに対応するトランジスタレベルモデルを形成する、
    、コンピュータシステム。
  89. コンピュータシステムによって実行された時に該コンピュータシステムに、
    生成されることになる回路の第1のモデルを生成することと、
    前記第1のモデルに対応する回路仕様パラメータを生成することと、
    前記回路仕様パラメータに基づいて複数の部分回路結線図を選択することと、
    前記生成されることになる回路のための回路結線図を形成するために前記部分回路結線図を組み合わせることと、
    を行わせる、コンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体であって、
    前記組み合わされた部分回路結線図は、前記第1のモデルに対応するトランジスタレベルモデルを形成する、
    、非一時的コンピュータ可読ストレージ媒体。
  90. 回路を生成するためのシステムであって、
    生成されることになる回路の第1のモデルを生成するための手段と、
    前記第1のモデルに対応する回路仕様パラメータを生成するための手段と、
    前記回路仕様パラメータに基づいて複数の部分回路結線図を選択するための手段と、
    前記生成されることになる回路のための回路結線図を形成するために前記部分回路結線図を組み合わせるための手段と、
    を含み、
    前記組み合わされた部分回路結線図は、前記第1のモデルに対応するトランジスタレベルモデルを形成する、
    、システム。
  91. 回路を生成するコンピュータ実装方法であって、
    生成されることになる回路を指定する情報を受信する段階と、
    前記情報に基づいて1又は2以上の部分回路結線図に対応する1又は2以上のピンリストを選択する段階であって、各ピンリストが、対応する部分回路結線図のための部分回路結線図ピンを含む前記選択する段階と、
    前記情報に基づいて少なくとも1つの記号に対する複数の予め定められたピンのサブセットを選択する段階と、
    前記部分回路結線図ピンと前記少なくとも1つの記号に対する前記複数の予め定められたピンの前記サブセットとの間の接続を確立する段階と、
    1又は2以上の部分回路結線図に対応する前記1又は2以上のピンリストからの部分回路結線図ピン、
    前記少なくとも1つの記号に対する前記複数の予め定められたピンの前記サブセット、及び
    前記部分回路結線図ピンと前記少なくとも1つの記号に対する前記複数の予め定められたピンの前記サブセットとの間の前記接続、
    を含む回路仕様を生成する段階と、
    を含む、コンピュータ実装方法。
  92. 回路結線図を生成するためにEDAツール内で前記回路仕様を処理する段階を更に含む、請求項91に記載の方法。
  93. 前記ピンリスト及び記号は、第1の機能回路構成要素に対応する、請求項91に記載の方法。
  94. 異なる機能回路構成要素が、異なる関連の部分回路結線図ピンリストと機能回路構成要素記号に対する予め定められたピンとを有する、請求項93に記載の方法。
  95. 前記回路仕様から生成された回路のためのレイアウトインスタンスを自動的に位置決めするように構成されたレイアウトスクリプトを前記情報に基づいて取り出す段階を更に含む、請求項91に記載の方法。
  96. 前記情報は、パラメータを含む、請求項91に記載の方法。
  97. パラメータ限界を取り出す段階と、
    前記パラメータを検証するために該パラメータを前記パラメータ限界と比較する段階と、
    を更に含む、請求項96に記載の方法。
  98. 構成要素値を決定する段階と、
    複数の構成要素記号に関連付けられた識別子内に前記構成要素値を符号化する段階と、
    を更に含み、
    前記回路仕様は、前記複数の構成要素記号を更に含む、
    、請求項91に記載の方法。
  99. 回路を生成するためのコンピュータシステムであって、
    1又は2以上のプロセッサと、
    コンピュータシステムによって実行された時に、
    生成されることになる回路を指定する情報を受信する段階、
    前記情報に基づいて1又は2以上の部分回路結線図に対応する1又は2以上のピンリストを選択する段階であって、各ピンリストが、対応する部分回路結線図のための部分回路結線図ピンを含む前記選択する段階、
    前記情報に基づいて少なくとも1つの記号に対する複数の予め定められたピンのサブセットを選択する段階、
    前記部分回路結線図ピンと前記少なくとも1つの記号に対する前記複数の予め定められたピンの前記サブセットとの間の接続を確立する段階、及び
    1又は2以上の部分回路結線図に対応する前記1又は2以上のピンリストからの部分回路結線図ピン、
    前記少なくとも1つの記号に対する前記複数の予め定められたピンの前記サブセット、及び
    前記部分回路結線図ピンと前記少なくとも1つの記号に対する前記複数の予め定められたピンの前記サブセットとの間の前記接続、
    を含む回路仕様を生成する段階、
    を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体と、
    を含む、コンピュータシステム。
  100. コンピュータシステムによって実行された時に該コンピュータシステムに、
    生成されることになる回路を指定する情報を受信することと、
    1又は2以上の部分回路結線図に対応する1又は2以上のピンリストであって、各ピンリストが、対応する部分回路結線図のための部分回路結線図ピンを含む前記1又は2以上のピンリストを前記情報に基づいて選択することと、
    前記情報に基づいて少なくとも1つの記号に対する複数の予め定められたピンのサブセットを選択することと、
    前記部分回路結線図ピンと前記少なくとも1つの記号に対する前記複数の予め定められたピンの前記サブセットとの間の接続を確立することと、
    1又は2以上の部分回路結線図に対応する前記1又は2以上のピンリストからの部分回路結線図ピン、
    前記少なくとも1つの記号に対する前記複数の予め定められたピンの前記サブセット、及び
    前記部分回路結線図ピンと前記少なくとも1つの記号に対する前記複数の予め定められたピンの前記サブセットとの間の前記接続、
    を含む回路仕様の生成することと、
    を行わせる、コンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体。
  101. 回路を生成するためのシステムであって、
    生成されることになる回路を指定する情報を受信するための手段と、
    1又は2以上の部分回路結線図に対応する1又は2以上のピンリストであって、各ピンリストが、対応する部分回路結線図のための部分回路結線図ピンを含む前記1又は2以上のピンリストを前記情報に基づいて選択するための手段と、
    前記情報に基づいて少なくとも1つの記号に対する複数の予め定められたピンのサブセットを選択するための手段と、
    前記部分回路結線図ピンと前記少なくとも1つの記号に対する前記複数の予め定められたピンの前記サブセットとの間の接続を確立するための手段と、
    1又は2以上の部分回路結線図に対応する前記1又は2以上のピンリストからの部分回路結線図ピン、
    前記少なくとも1つの記号に対する前記複数の予め定められたピンの前記サブセット、及び
    前記部分回路結線図ピンと前記少なくとも1つの記号に対する前記複数の予め定められたピンの前記サブセットとの間の前記接続、
    を含む回路仕様を生成するための手段と、
    を含む、システム。
  102. 回路構成要素を生成するコンピュータ実装方法であって、
    生成されることになる構成要素の合計属性値を受信する段階と、
    前記生成されることになる構成要素に対する第2の属性値を少なくとも前記合計属性値に基づいて決定する段階と、
    前記合計属性値を有する前記構成要素を形成するために組み合わされることになる前記第2の属性値を有する該構成要素の少なくとも1つの個数Nを決定する段階と、
    前記第2の属性値を用いて構成された複数の構成要素を含むトランジスタレベル結線図を生成する段階と、
    前記合計属性値を生成するように構成された前記構成要素に対応するN個のレイアウトインスタンスを含むレイアウトを生成する段階と、
    を含む、コンピュータ実装方法。
  103. 前記生成されることになる構成要素は、トランジスタ、抵抗器、又はコンデンサーのうちの1つである、請求項102に記載の方法。
  104. 前記合計属性値を生成するために前記N個の構成要素の構成を指定する回路仕様を生成する段階を更に含み、
    前記トランジスタレベル結線図は、前記回路仕様に基づいて生成される、
    、請求項102に記載の方法。
  105. 少なくとも1つのレイアウトパラメータを受信する段階を更に含み、
    前記生成されることになる構成要素に対する前記第2の属性値は、前記少なくとも1つのレイアウトパラメータに基づいて決定される、
    、請求項102に記載の方法。
  106. レイアウトパラメータが、前記生成されることになる構成要素の少なくとも1つの寸法に沿う長さを指定する、請求項105に記載の方法。
  107. レイアウトパラメータが、抵抗器レイアウトセグメント長さを指定する、請求項105に記載の方法。
  108. レイアウトパラメータが、単位コンデンサーの第1の寸法に沿う予め定められた最大長さを指定する、請求項105に記載の方法。
  109. 前記合計属性値は、生成されることになる抵抗器に対する合計抵抗である、請求項102に記載の方法。
  110. 前記合計属性値は、生成されることになるコンデンサーに対する合計キャパシタンスである、請求項102に記載の方法。
  111. 前記合計属性値は、生成されることになるトランジスタに対するオン抵抗に基づいて決定された合計ゲート幅である、請求項102に記載の方法。
  112. 回路構成要素を生成するためのコンピュータシステムであって、
    1又は2以上のプロセッサと、
    コンピュータシステムによって実行された時に、
    生成されることになる構成要素の合計属性値を受信する段階、
    前記生成されることになる構成要素に対する第2の属性値を少なくとも前記合計属性値に基づいて決定する段階、
    前記合計属性値を有する前記構成要素を形成するために組み合わされることになる前記第2の属性値を有する該構成要素の少なくとも1つの個数Nを決定する段階、
    前記第2の属性値を用いて構成された複数の構成要素を含むトランジスタレベル結線図を生成する段階、及び
    前記合計属性値を生成するように構成された前記構成要素に対応するN個のレイアウトインスタンスを含むレイアウトを生成する段階、
    を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体と、
    を含む、コンピュータシステム。
  113. コンピュータシステムによって実行された時に該コンピュータシステムに、
    生成されることになる構成要素の合計属性値を受信することと、
    前記生成されることになる構成要素に対する第2の属性値を少なくとも前記合計属性値に基づいて決定することと、
    前記合計属性値を有する前記構成要素を形成するために組み合わされることになる前記第2の属性値を有する該構成要素の少なくとも1つの個数Nを決定することと、
    前記第2の属性値を用いて構成された複数の構成要素を含むトランジスタレベル結線図を生成することと、
    前記合計属性値を生成するように構成された前記構成要素に対応するN個のレイアウトインスタンスを含むレイアウトを生成することと、
    を行わせる、コンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体。
  114. 回路構成要素を生成するためのシステムであって、
    生成されることになる構成要素の合計属性値を受信するための手段と、
    前記生成されることになる構成要素に対する第2の属性値を少なくとも前記合計属性値に基づいて決定するための手段と、
    前記合計属性値を有する前記構成要素を形成するために組み合わされることになる前記第2の属性値を有する該構成要素の少なくとも1つの個数Nを決定するための手段と、
    前記第2の属性値を用いて構成された複数の構成要素を含むトランジスタレベル結線図を生成するための手段と、
    前記合計属性値を生成するように構成された前記構成要素に対応するN個のレイアウトインスタンスを含むレイアウトを生成するための手段と、
    を含む、システム。
  115. 回路を生成するコンピュータ実装方法であって、
    生成されることになるアナログ回路構成要素を指定する情報を受信する段階と、
    前記情報の少なくとも一部分に基づいてレイアウトパラメータを取り出す段階と、
    前記生成されることになるアナログ回路構成要素の属性を前記情報及び前記レイアウトパラメータに基づいて決定する段階と、
    前記属性を用いて構成される前記アナログ回路構成要素のうちの1又は2以上を含む前記アナログ回路のトランジスタレベル結線図を生成する段階と、
    前記トランジスタレベル結線図からレイアウトを生成する段階であって、該レイアウトが、前記1又は2以上のアナログ回路構成要素に対応する複数のレイアウトインスタンスを含み、各レイアウトインスタンスが、該アナログ回路構成要素の前記属性に基づいてレイアウトスクリプトによって該レイアウトに自動的に位置決めされる前記生成する段階と、
    を含む、コンピュータ実装方法。
  116. 回路を生成するためのコンピュータシステムであって、
    1又は2以上のプロセッサと、
    コンピュータシステムによって実行された時に、
    生成されることになるアナログ回路構成要素を指定する情報を受信する段階、
    前記情報の少なくとも一部分に基づいてレイアウトパラメータを取り出す段階、
    前記生成されることになるアナログ回路構成要素の属性を前記情報及び前記レイアウトパラメータに基づいて決定する段階、
    前記属性を用いて構成される前記アナログ回路構成要素のうちの1又は2以上を含む前記アナログ回路のトランジスタレベル結線図を生成する段階、及び
    前記トランジスタレベル結線図からレイアウトを生成する段階であって、該レイアウトが、前記1又は2以上のアナログ回路構成要素に対応する複数のレイアウトインスタンスを含み、各レイアウトインスタンスが、該アナログ回路構成要素の前記属性に基づいてレイアウトスクリプトによって該レイアウトに自動的に位置決めされる前記生成する段階、
    を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体と、
    を含む、コンピュータシステム。
  117. コンピュータシステムによって実行された時に該コンピュータシステムに、
    生成されることになるアナログ回路構成要素を指定する情報を受信することと、
    前記情報の少なくとも一部分に基づいてレイアウトパラメータを取り出すことと、
    前記生成されることになるアナログ回路構成要素の属性を前記情報及び前記レイアウトパラメータに基づいて決定することと、
    前記属性を用いて構成される前記アナログ回路構成要素のうちの1又は2以上を含む前記アナログ回路のトランジスタレベル結線図を生成することと、
    レイアウトが、前記1又は2以上のアナログ回路構成要素に対応する複数のレイアウトインスタンスを含み、各レイアウトインスタンスが、該アナログ回路構成要素の前記属性に基づいてレイアウトスクリプトによってレイアウトに自動的に位置決めされる、レイアウトを前記トランジスタレベル結線図から生成することと、
    を行わせる、コンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体。
  118. 回路を生成するためのシステムであって、
    生成されることになるアナログ回路構成要素を指定する情報を受信するための手段と、
    前記情報の少なくとも一部分に基づいてレイアウトパラメータを取り出すための手段と、
    前記生成されることになるアナログ回路構成要素の属性を前記情報及び前記レイアウトパラメータに基づいて決定するための手段と、
    前記属性を用いて構成される前記アナログ回路構成要素のうちの1又は2以上を含む前記アナログ回路のトランジスタレベル結線図を生成するための手段と、
    前記トランジスタレベル結線図からレイアウトを生成するための手段であって、該レイアウトが、前記1又は2以上のアナログ回路構成要素に対応する複数のレイアウトインスタンスを含み、各レイアウトインスタンスが、該アナログ回路構成要素の前記属性に基づいてレイアウトスクリプトによって該レイアウトに自動的に位置決めされる前記生成するための手段と、
    を含む、システム。
  119. 電子構成要素結線図を生成するコンピュータ実装方法であって、
    生成されることになる電子回路を指定する情報を受信する段階と、
    前記情報に基づいて前記電子回路の少なくとも1つの構成要素に対する構成要素値を決定する段階と、
    複数の構成要素記号を生成する段階と、
    前記構成要素記号の各々に関連付けられた識別子内に前記構成要素値を符号化する段階と、
    前記構成要素記号間の接続を確立する段階と、
    前記構成要素記号を直列に又は並列に構成するための回路仕様を生成する段階と、
    を含む、コンピュータ実装方法。
  120. 前記識別子は、記号名称を含む、請求項119に記載の方法。
  121. 前記構成要素は、抵抗器であり、
    前記構成要素値は、抵抗を含む、
    、請求項119に記載の方法。
  122. 前記構成要素は、コンデンサーであり、
    前記構成要素値は、キャパシタンスを含む、
    、請求項119に記載の方法。
  123. 前記構成要素は、トランジスタであり、
    前記構成要素値は、ゲート幅を含む、
    、請求項119に記載の方法。
  124. 前記構成要素値は、フィンガの個数を更に含む、請求項123に記載の方法。
  125. 電子構成要素結線図を生成するためのコンピュータシステムであって、
    1又は2以上のプロセッサと、
    コンピュータシステムによって実行された時に、
    生成されることになる電子回路を指定する情報を受信する段階、
    前記情報に基づいて前記電子回路の少なくとも1つの構成要素に対する構成要素値を決定する段階、
    複数の構成要素記号を生成する段階、
    前記構成要素記号の各々に関連付けられた識別子内に前記構成要素値を符号化する段階、
    前記構成要素記号間の接続を確立する段階、及び
    前記構成要素記号を直列に又は並列に構成するための回路仕様を生成する段階、
    を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体と、
    を含む、コンピュータシステム。
  126. コンピュータシステムによって実行された時に該コンピュータシステムに、
    生成されることになる電子回路を指定する情報を受信させ、
    前記情報に基づいて前記電子回路の少なくとも1つの構成要素に対する構成要素値を決定させ、
    複数の構成要素記号を生成させ、
    前記構成要素記号の各々に関連付けられた識別子内に前記構成要素値を符号化させ、
    前記構成要素記号間の接続を確立させ、かつ
    前記構成要素記号を直列に又は並列に構成するための回路仕様を生成させる、
    コンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体。
  127. 電子構成要素結線図を生成するためのシステムであって、
    生成されることになる電子回路を指定する情報を受信するための手段と、
    前記情報に基づいて前記電子回路の少なくとも1つの構成要素に対する構成要素値を決定するための手段と、
    複数の構成要素記号を生成するための手段と、
    前記構成要素記号の各々に関連付けられた識別子内に前記構成要素値を符号化するための手段と、
    前記構成要素記号間の接続を確立するための手段と、
    前記構成要素記号を直列に又は並列に構成するための回路仕様を生成するための手段と、
    を含む、システム。
  128. 電子構成要素結線図を生成するコンピュータ実装方法であって、
    1又は2以上の対応する識別子を含む1又は2以上の構成要素を指定する回路仕様を受信する段階と、
    前記1又は2以上の構成要素に対する1又は2以上の結線図記号を生成する段階であって、該1又は2以上の結線図記号が、前記1又は2以上の対応する識別子に関連付けられる前記生成する段階と、
    前記1又は2以上の記号に関連付けられた前記識別子を読み取る段階と、
    前記1又は2以上の構成要素のための結線図表現を対応する記号の中に挿入する段階であって、該構成要素のための該結線図表現の1又は2以上の属性が、該記号に関連付けられた前記識別子に基づいて設定される前記挿入する段階と、
    を含む、コンピュータ実装方法。
  129. 前記識別子は、属性値を符号化する、請求項128に記載の方法。
  130. 前記識別子は、記号名称を含む、請求項128に記載の方法。
  131. 前記記号名称は、1又は2以上の属性値を符号化する、請求項130に記載の方法。
  132. 前記構成要素は、抵抗器であり、
    前記1又は2以上の属性は、抵抗を含む、
    、請求項128に記載の方法。
  133. 前記構成要素は、コンデンサーであり、
    前記1又は2以上の属性は、キャパシタンスを含む、
    、請求項128に記載の方法。
  134. 前記構成要素は、トランジスタであり、
    前記1又は2以上の属性は、ゲート幅を含む、
    、請求項128に記載の方法。
  135. 前記1又は2以上の属性は、フィンガの個数を更に含む、請求項134に記載の方法。
  136. 電子構成要素結線図を生成するためのコンピュータシステムであって、
    1又は2以上のプロセッサと、
    コンピュータシステムによって実行された時に、
    1又は2以上の対応する識別子を含む1又は2以上の構成要素を指定する回路仕様を受信する段階、
    前記1又は2以上の構成要素に対する1又は2以上の結線図記号を生成する段階であって、該1又は2以上の結線図記号が、前記1又は2以上の対応する識別子に関連付けられる前記生成する段階、
    前記1又は2以上の記号に関連付けられた前記識別子を読み取る段階、及び
    前記1又は2以上の構成要素のための結線図表現を対応する記号の中に挿入する段階であって、該構成要素のための該結線図表現の1又は2以上の属性が、該記号に関連付けられた前記識別子に基づいて設定される前記挿入する段階、
    を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体と、
    を含む、コンピュータシステム。
  137. コンピュータシステムによって実行された時に該コンピュータシステムに、
    1又は2以上の対応する識別子を含む1又は2以上の構成要素を指定する回路仕様を受信させ、
    1又は2以上の結線図記号が前記1又は2以上の対応する識別子に関連付けられた前記1又は2以上の構成要素に対する該1又は2以上の結線図記号を生成させ、
    前記1又は2以上の記号に関連付けられた前記識別子を読み取らせ、かつ
    前記構成要素のための結線図表現の1又は2以上の属性が、記号に関連付けられた前記識別子に基づいて設定される該1又は2以上の構成要素のための該結線図表現を対応する該記号の中に挿入させる、
    コンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体。
  138. 電子構成要素結線図を生成するためのシステムであって、
    1又は2以上の対応する識別子を含む1又は2以上の構成要素を指定する回路仕様を受信するための手段と、
    前記1又は2以上の構成要素に対する1又は2以上の結線図記号を生成するための手段であって、該1又は2以上の結線図記号が、前記1又は2以上の対応する識別子に関連付けられる前記生成するための手段と、
    前記1又は2以上の記号に関連付けられた前記識別子を読み取るための手段と、
    前記1又は2以上の構成要素のための結線図表現を対応する記号の中に挿入するための手段であって、該構成要素のための該結線図表現の1又は2以上の属性が、該記号に関連付けられた前記識別子に基づいて設定される前記挿入するための手段と、
    を含む、システム。
  139. 抵抗器を生成するコンピュータ実装方法であって、
    第1の抵抗器値を受信する段階と、
    前記抵抗器値を複数の抵抗器レイアウトセグメントに変換する段階と、
    前記第1の抵抗器値を形成するために1又は2以上のレイアウト配置命令に基づいて前記複数の抵抗器レイアウトセグメントを自動的に配置する段階と、
    を含む、コンピュータ実装方法。
  140. 第1の抵抗器レイアウトセグメントが、初期位置に配置され、他の抵抗器レイアウトセグメントが、該初期位置からオフセットされた位置に配置される、請求項139に記載の方法。
  141. 前記オフセットは、各抵抗器レイアウトセグメントの幅に基づいている、請求項140に記載の方法。
  142. 前記オフセットは、隣接レイアウトセグメント間の予め定められた分離に更に基づいている、請求項141に記載の方法。
  143. 前記予め定められた分離は、設計規則検査(DRC)値に基づいている、請求項142に記載の方法。
  144. 抵抗器レイアウトセグメントが、各抵抗器レイアウトセグメントの長さに沿って並列に配置される、請求項140に記載の方法。
  145. 抵抗器レイアウトセグメントが、前記1又は2以上のレイアウト配置命令内で指定された量だけ回転される、請求項140に記載の方法。
  146. 抵抗器レイアウトセグメントが、前記1又は2以上のレイアウト配置命令内で指定された極性に従って軸線に沿って連続的に配置される、請求項140に記載の方法。
  147. 各抵抗器レイアウトセグメントが、独特な識別子を有し、
    方法が、前記独特な識別子に基づいて前記抵抗器レイアウトセグメントを選別する段階と、各抵抗器レイアウトセグメントを連続的に配置する段階とを更に含む、
    、請求項139に記載の方法。
  148. 前記抵抗器レイアウトセグメントの第1の部分が、直列に構成され、該抵抗器レイアウトセグメントの第2の部分が、並列に構成される、請求項139に記載の方法。
  149. 前記抵抗器レイアウトセグメントのうちの少なくとも第1の複数のものが、同じ長さ及び幅を有する、請求項139に記載の方法。
  150. 抵抗器を生成するためのコンピュータシステムであって、
    1又は2以上のプロセッサと、
    コンピュータシステムによって実行された時に、
    第1の抵抗器値を受信する段階、
    前記抵抗器値を複数の抵抗器レイアウトセグメントに変換する段階、及び
    前記第1の抵抗器値を形成するために1又は2以上のレイアウト配置命令に基づいて前記複数の抵抗器レイアウトセグメントを自動的に配置する段階、
    を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体と、
    を含む、コンピュータシステム。
  151. コンピュータシステムによって実行された時に該コンピュータシステムに、
    第1の抵抗器値を受信させ、
    前記抵抗器値を複数の抵抗器レイアウトセグメントに変換させ、かつ
    前記第1の抵抗器値を形成するために1又は2以上のレイアウト配置命令に基づいて前記複数の抵抗器レイアウトセグメントを自動的に配置させる、
    コンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体。
  152. 抵抗器を生成するためのシステムであって、
    第1の抵抗器値を受信するための手段と、
    前記抵抗器値を複数の抵抗器レイアウトセグメントに変換するための手段と、
    前記第1の抵抗器値を形成するために1又は2以上のレイアウト配置命令に基づいて前記複数の抵抗器レイアウトセグメントを自動的に配置するための手段と、
    を含む、システム。
  153. 抵抗器を生成するコンピュータ実装方法であって、
    第1の抵抗器値を受信する段階と、
    前記第1の抵抗器値を近似的に生成するために、
    直列に構成されることになる抵抗器セグメントのうちの第1の複数のものを指定する第1の個数、及び
    並列に構成されることになる抵抗器セグメントのうちの第2の複数のものを指定する第2の個数、
    のうちの一方又は両方を決定する段階と、
    前記第1の個数の抵抗器セグメントを直列に及び/又は前記第2の個数の抵抗器セグメントを並列に構成するための回路仕様の生成する段階と、
    を含む、コンピュータ実装方法。
  154. 前記第1の抵抗器値は、一連の値にわたって変化する、請求項153に記載の方法。
  155. 前記第1の抵抗器値は、関連の抵抗器構成要素タイプを有するパラメータとして受信される、請求項153に記載の方法。
  156. 抵抗器セグメントのための少なくとも1つの予め定められた物理的寸法を受信する段階を更に含み、
    抵抗器セグメントのうちの前記第1及び第2の複数のものは、各々が前記少なくとも1つの予め定められた物理的寸法を有し、
    直列に構成されることになる抵抗器セグメントの前記第1の個数及び並列に構成されることになる抵抗器セグメントの前記第2の個数を前記決定する段階は、前記少なくとも1つの予め定められた物理的寸法に基づいている、
    、請求項153に記載の方法。
  157. 前記少なくとも1つの予め定められた物理的寸法は、予め定められた抵抗器セグメント長さを含む、請求項156に記載の方法。
  158. 前記少なくとも1つの予め定められた物理的寸法は、予め定められた抵抗器セグメント幅を含む、請求項157に記載の方法。
  159. 前記抵抗器セグメントのための前記少なくとも1つの予め定められた物理的寸法は、前記第1の抵抗器値に関連付けられる、請求項156に記載の方法。
  160. 異なる抵抗器値を有する異なる抵抗器が、異なる対応する予め定められた抵抗器セグメント長さを有する、請求項153に記載の方法。
  161. 前記第1の抵抗器値に関連付けられた抵抗率を受信する段階を更に含み、
    直列に構成されることになる抵抗器セグメントの前記第1の個数及び並列に構成されることになる抵抗器セグメントの前記第2の個数を前記決定する段階は、前記抵抗率に基づいている、
    、請求項153に記載の方法。
  162. 前記第1の抵抗器値は、ユーザによって指定される、請求項153に記載の方法。
  163. 1又は2以上のパラメータを受信する段階を更に含み、
    前記第1の抵抗器値は、前記パラメータに基づいて決定される、
    、請求項153に記載の方法。
  164. 前記回路仕様は、前記複数の抵抗器セグメントに対応する複数の構成要素及び該複数の構成要素間の接続を指定する、請求項153に記載の方法。
  165. 前記回路仕様は、ネットリストである、請求項164に記載の方法。
  166. 前記回路仕様を第1のソフトウエアシステムから該回路仕様に基づいて結線図を生成する第2のソフトウエアシステムに送信する段階を更に含む、請求項153に記載の方法。
  167. 前記回路仕様内の前記抵抗器セグメントに対応する構成要素に対する識別子内に符号化された該複数の抵抗器セグメントのための予め定められた長さ及び予め定められた幅を前記第2のソフトウエアシステムによって受信する段階を更に含む、請求項166に記載の方法。
  168. 前記識別子は、記号名称である、請求項167に記載の方法。
  169. 前記識別子は、更に抵抗器タイプを符号化する、請求項167に記載の方法。
  170. 第1の格納場所から前記複数の抵抗器セグメントのための予め定められた長さ及び予め定められた幅を前記第2のソフトウエアシステムによって受信する段階を更に含む、請求項166に記載の方法。
  171. 前記第1及び第2の個数の抵抗器セグメントのための結線図記号を含む結線図を前記回路仕様に基づいて生成する段階を更に含む、請求項153に記載の方法。
  172. 前記結線図記号は、複数のピンを含む空の結線図記号であり、
    方法が、前記結線図記号の各々に抵抗器を自動的に挿入し、かつ該抵抗器の端子を該結線図記号の前記ピンを用いて接続する段階を更に含む、
    、請求項171に記載の方法。
  173. 結線図記号名称を前記抵抗器の属性にマッピングする段階を更に含む、請求項171に記載の方法。
  174. 直列の前記第1の個数の抵抗器セグメント及び並列の前記第2の個数の抵抗器セグメントのための複数の多角形を含むレイアウトを生成する段階を更に含む、請求項153に記載の方法。
  175. 前記多角形を前記レイアウトに位置決めするために複数の予め定められたレイアウト配置命令を実行する段階を更に含む、請求項174に記載の方法。
  176. 抵抗器を生成するためのコンピュータシステムであって、
    1又は2以上のプロセッサと、
    コンピュータシステムによって実行された時に、
    第1の抵抗器値を受信する段階、
    前記第1の抵抗器値を近似的に生成するために、
    直列に構成されることになる抵抗器セグメントのうちの第1の複数のものを指定する第1の個数、及び
    並列に構成されることになる抵抗器セグメントのうちの第2の複数のものを指定する第2の個数、
    のうちの一方又は両方を決定する段階、及び
    前記第1の個数の抵抗器セグメントを直列に及び/又は前記第2の個数の抵抗器セグメントを並列に構成するための回路仕様を生成する段階、
    を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体と、
    を含む、コンピュータシステム。
  177. コンピュータシステムによって実行された時に該コンピュータシステムに、
    第1の抵抗器値を受信させ、
    前記第1の抵抗器値を近似的に生成するために、
    直列に構成されることになる抵抗器セグメントのうちの第1の複数のものを指定する第1の個数、及び
    並列に構成されることになる抵抗器セグメントのうちの第2の複数のものを指定する第2の個数、
    のうちの一方又は両方を決定させ、かつ
    前記第1の個数の抵抗器セグメントを直列に及び/又は前記第2の個数の抵抗器セグメントを並列に構成するための回路仕様を生成させる、
    コンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体。
  178. 抵抗器を生成するためのシステムであって、
    第1の抵抗器値を受信するための手段と、
    前記第1の抵抗器値を近似的に生成するために、
    直列に構成されることになる抵抗器セグメントのうちの第1の複数のものを指定する第1の個数、及び
    並列に構成されることになる抵抗器セグメントのうちの第2の複数のものを指定する第2の個数、
    のうちの一方又は両方を決定するための手段と、
    前記第1の個数の抵抗器セグメントを直列に及び/又は前記第2の個数の抵抗器セグメントを並列に構成するための回路仕様を生成するための手段と、
    含む、システム。
  179. 抵抗器を生成するコンピュータ実装方法であって、
    抵抗器値を受信する段階と、
    複数の構成要素の構成を指定する回路仕様を生成する段階と、
    前記回路仕様に基づいて、該回路仕様に基づいて互いに結合された前記複数の構成要素に対応する複数の結線図記号を生成する段階であって、該複数の結線図記号が抵抗器セグメントなしで生成される前記生成する段階と、
    前記結線図記号の各々に抵抗器セグメントを自動的に挿入し、かつ前記抵抗器の端子を該結線図記号のピンを用いて接続する段階と、
    を含み、
    前記複数の構成要素及び挿入された抵抗器セグメントが、前記抵抗器値を有する抵抗器ネットワークのための結線図を形成する、
    、コンピュータ実装方法。
  180. 前記記号は、前記回路仕様に応答して空の記号として生成される、請求項179に記載の方法。
  181. 前記抵抗器に属性を割り当てる段階を更に含む、請求項179に記載の方法。
  182. 前記抵抗器に対する属性が、前記回路仕様内に符号化される、請求項181に記載の方法。
  183. 前記抵抗器に対する属性が、格納場所から取り出される、請求項181に記載の方法。
  184. 前記回路仕様は、第1のソフトウエアシステムによって生成され、前記結線図は、第2のソフトウエアシステムによって生成される、請求項179に記載の方法。
  185. 前記第2のソフトウエアシステムは、電子設計自動化ソフトウエアシステムである、請求項184に記載の方法。
  186. 抵抗器を生成するためのコンピュータシステムであって、
    1又は2以上のプロセッサと、
    コンピュータシステムによって実行された時に、
    抵抗器値を受信する段階、
    複数の構成要素の構成を指定する回路仕様を生成する段階、
    前記回路仕様に基づいて、該回路仕様に基づいて互いに結合された前記複数の構成要素に対応する複数の結線図記号を生成する段階であって、該複数の結線図記号が抵抗器セグメントなしで生成される前記生成する段階、及び
    前記結線図記号の各々に抵抗器セグメントを自動的に挿入し、かつ前記抵抗器の端子を該結線図記号のピンを用いて接続する段階、
    を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体と、
    を含み、
    前記複数の構成要素及び挿入された抵抗器セグメントが、前記抵抗器値を有する抵抗器ネットワークのための結線図を形成する、
    、コンピュータシステム。
  187. コンピュータシステムによって実行された時に該コンピュータシステムに、
    抵抗器値を受信させ、
    複数の構成要素の構成を指定する回路仕様を生成することと、
    前記回路仕様に基づいて、該回路仕様に基づいて互いに結合された前記複数の構成要素に対応する複数の結線図記号であって、抵抗器セグメントなしで生成される前記複数の結線図記号を生成することと、
    前記結線図記号の各々に抵抗器セグメントを自動的に挿入させ、かつ前記抵抗器の端子を該結線図記号のピンを用いて接続することと、
    を行わせる、コンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体であって、
    前記複数の構成要素及び挿入された抵抗器セグメントが、前記抵抗器値を有する抵抗器ネットワークのための結線図を形成する、
    、非一時的コンピュータ可読ストレージ媒体。
  188. 抵抗器を生成するためのシステムであって、
    抵抗器値を受信するための手段と、
    複数の構成要素の構成を指定する回路仕様を生成するための手段と、
    前記回路仕様に基づいて、該回路仕様に基づいて互いに結合された前記複数の構成要素に対応する複数の結線図記号を生成するための手段であって、該複数の結線図記号が抵抗器セグメントなしで生成される前記生成するための手段と、
    前記結線図記号の各々に抵抗器セグメントを自動的に挿入し、かつ前記抵抗器の端子を該結線図記号のピンを用いて接続するための手段と、
    を含み、
    前記複数の構成要素及び挿入された抵抗器セグメントが、前記抵抗器値を有する抵抗器ネットワークのための結線図を形成する、
    、システム。
  189. 抵抗器を生成するコンピュータ実装方法であって、
    第1の抵抗器値を受信する段階と、
    少なくとも1つの予め定められた物理的寸法を有する抵抗器セグメントに対応する複数の構成要素の構成を指定する回路仕様を生成する段階と、
    前記回路仕様に基づいて、前記第1の抵抗器値を生成するために該回路仕様に基づいて互いに結合された前記複数の構成要素に対応する前記抵抗器セグメントを含む結線図を生成する段階と、
    前記抵抗器セグメントに対応する複数の多角形を含むレイアウトを前記結線図に基づいて生成する段階であって、該複数の多角形が、該抵抗器セグメントの前記少なくとも1つの予め定められた物理的寸法に基づいて該レイアウトに自動的に配置される前記生成する段階と、
    を含む、コンピュータ実装方法。
  190. 抵抗器を生成するためのコンピュータシステムであって、
    1又は2以上のプロセッサと、
    コンピュータシステムによって実行された時に、
    第1の抵抗器値を受信する段階、
    少なくとも1つの予め定められた物理的寸法を有する抵抗器セグメントに対応する複数の構成要素の構成を指定する回路仕様を生成する段階、
    前記回路仕様に基づいて、前記第1の抵抗器値を生成するために該回路仕様に基づいて互いに結合された前記複数の構成要素に対応する前記抵抗器セグメントを含む結線図を生成する段階、
    前記抵抗器セグメントに対応する複数の多角形を含むレイアウトを前記結線図に基づいて生成する段階であって、該複数の多角形が、該抵抗器セグメントの前記少なくとも1つの予め定められた物理的寸法に基づいて該レイアウトに自動的に配置される生成する段階、
    を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体と、
    を含む、コンピュータシステム。
  191. コンピュータシステムによって実行された時に該コンピュータシステムに、
    第1の抵抗器値を受信することと、
    少なくとも1つの予め定められた物理的寸法を有する抵抗器セグメントに対応する複数の構成要素の構成を指定する回路仕様を生成することと、
    前記回路仕様に基づいて、前記第1の抵抗器値を生成するために該回路仕様に基づいて互いに結合された前記複数の構成要素に対応する前記抵抗器セグメントを含む結線図を生成することと、
    前記結線図に基づいて、前記抵抗器セグメントに対応する複数の多角形を含むレイアウトであって、該複数の多角形が、該抵抗器セグメントの前記少なくとも1つの予め定められた物理的寸法に基づいて該レイアウトに自動的に配置される前記レイアウトを生成することと、
    を行わせる、コンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体。
  192. 抵抗器を生成するためのシステムであって、
    第1の抵抗器値を受信するための手段と、
    少なくとも1つの予め定められた物理的寸法を有する抵抗器セグメントに対応する複数の構成要素の構成を指定する回路仕様を生成するための手段と、
    前記回路仕様に基づいて、前記第1の抵抗器値を生成するために該回路仕様に基づいて互いに結合された前記複数の構成要素に対応する前記抵抗器セグメントを含む結線図を生成するための手段と、
    前記抵抗器セグメントに対応する複数の多角形を含むレイアウトであって、該複数の多角形が、該抵抗器セグメントの前記少なくとも1つの予め定められた物理的寸法に基づいて該レイアウトに自動的に配置される前記レイアウトを前記結線図に基づいて生成するための手段と、
    含む、システム。
  193. コンデンサーを生成するコンピュータ実装方法であって、
    生成されることになるコンデンサーに対する合計キャパシタンスを受信する段階と、
    前記合計キャパシタンスを形成するために組み合わされることになる単位キャパシタンスを有する単位コンデンサーの個数Nを決定する段階と、
    前記単位キャパシタンスを有するN個の単位コンデンサー結線図であって、前記合計キャパシタンスを生成するように構成される前記N個の単位コンデンサー結線図を含むトランジスタレベル結線図を生成する段階と、
    前記コンデンサーを生成するように構成されたN個のコンデンサーレイアウト要素を含むレイアウトを生成する段階と、
    を含む、コンピュータ実装方法。
  194. 前記合計キャパシタンスは、生成されることになる回路を指定する情報に基づいて生成される、請求項193に記載の方法。
  195. 前記合計キャパシタンスは、生成されることになる前記回路に対する予め定められた回路モデルに基づいて生成される、請求項194に記載の方法。
  196. 前記合計キャパシタンスは、コンデンサー機能回路構成要素に対応するパラメータとして受信される、請求項193に記載の方法。
  197. 前記合計キャパシタンスを予め定められた最大キャパシタンスと比較する段階を更に含み、
    前記N個の単位コンデンサー結線図は、前記合計キャパシタンスが前記予め定められた最大キャパシタンスよりも大きい時に並列に構成される、
    、請求項193に記載の方法。
  198. 前記合計キャパシタンスを予め定められた最小キャパシタンスと比較する段階を更に含み、
    前記N個の単位コンデンサー結線図は、前記合計キャパシタンスが前記予め定められた最小キャパシタンスよりも小さい時に直列に構成される、
    、請求項193に記載の方法。
  199. 単位コンデンサーの前記個数Nは、1つ(1)よりも大きいか又はそれに等しい整数である、請求項193に記載の方法。
  200. 前記N個の単位コンデンサーの第1の寸法に対応する第1の長さを該第1の寸法に沿う予め定められた最大長さよりも短いか又はそれに等しいように構成する段階と、
    少なくとも前記単位キャパシタンス及び前記第1の長さに基づいて前記N個の単位コンデンサーの第2の寸法に対応する第2の長さを決定する段階と、
    を更に含む、請求項193に記載の方法。
  201. 前記第1の長さは、前記第1の寸法に沿う前記予め定められた最大長さに設定される、請求項200に記載の方法。
  202. 前記第1の長さ及び第2の長さは、該第1の長さ及び該第2の長さの予め定められたアスペクト比を生成するように構成される、請求項200に記載の方法。
  203. 前記第1の長さ及び前記第2の長さのアスペクト比が予め決められたアスペクト比を満足するまで調節された第2の長さを生成するように該第1の長さを反復的に調節する段階を更に含む、請求項200に記載の方法。
  204. 前記第1の長さは、最初は前記予め定められた最大長さであり、該第1の長さは、反復的に短縮される、請求項203に記載の方法。
  205. 前記N個の単位コンデンサーに対応するN個の構成要素を含む回路仕様を生成する段階を更に含む、請求項200に記載の方法。
  206. 前記回路仕様は、ネットリストである、請求項205に記載の方法。
  207. 前記N個の単位コンデンサーの1又は2以上の属性が、前記回路仕様内に符号化される、請求項205に記載の方法。
  208. 前記N個の単位コンデンサー結線図は、前記第1の長さに設定された第1の属性及び前記第2の長さに設定された第2の属性を有する、請求項200に記載の方法。
  209. 前記N個のコンデンサーレイアウト要素は、前記第1の長さに等しい第1の寸法と前記第2の長さに等しい第2の寸法とを有する多角形を含む、請求項200に記載の方法。
  210. トランジスタレベル結線図を前記生成する段階は、
    N個の結線図記号を生成する段階と、
    前記N個の結線図記号の各々の中にコンデンサー記号構成要素を自動的に挿入する段階と、
    を含む、
    、請求項193に記載の方法。
  211. コンデンサーを生成するためのコンピュータシステムであって、
    1又は2以上のプロセッサと、
    コンピュータシステムによって実行された時に、
    生成されることになるコンデンサーに対する合計キャパシタンスを受信する段階、
    前記合計キャパシタンスを形成するために組み合わされることになる単位キャパシタンスを有する単位コンデンサーの個数Nを決定する段階、
    前記単位キャパシタンスを有して前記合計キャパシタンスを生成するように構成されたN個の単位コンデンサー結線図を含むトランジスタレベル結線図を生成する段階、及び
    前記コンデンサーを生成するように構成されたN個のコンデンサーレイアウト要素を含むレイアウトを生成する段階、
    を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体と、
    を含む、コンピュータシステム。
  212. コンピュータシステムによって実行された時に該コンピュータシステムに、
    生成されることになるコンデンサーに対する合計キャパシタンスを受信することと、
    前記合計キャパシタンスを形成するために組み合わされることになる単位キャパシタンスを有する単位コンデンサーの個数Nを決定することと、
    前記単位キャパシタンスを有して前記合計キャパシタンスを生成するように構成されたN個の単位コンデンサー結線図を含むトランジスタレベル結線図を生成することと、
    前記コンデンサーを生成するように構成されたN個のコンデンサーレイアウト要素を含むレイアウトを生成することと、
    を行わせる、コンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体。
  213. コンデンサーを生成するためのシステムであって、
    生成されることになるコンデンサーに対する合計キャパシタンスを受信するための手段と、
    前記合計キャパシタンスを形成するために組み合わされることになる単位キャパシタンスを有する単位コンデンサーの個数Nを決定するための手段と、
    前記単位キャパシタンスを有して前記合計キャパシタンスを生成するように構成されたN個の単位コンデンサー結線図を含むトランジスタレベル結線図を生成するための手段と、
    前記コンデンサーを生成するように構成されたN個のコンデンサーレイアウト要素を含むレイアウトを生成するための手段と、
    を含む、システム。
  214. 抵抗器分割器を生成するコンピュータ実装方法であって、
    生成されることになる抵抗器分割器を指定するパラメータを受信する段階と、
    前記抵抗器分割器の1又は2以上の出力タップの間の抵抗器に対応する複数の抵抗器値を決定する段階と、
    各抵抗器値に対して、前記複数の抵抗器値の各々を生成するために複数の抵抗器セグメントを決定する段階と、
    前記複数の抵抗器値を形成するために各複数の抵抗器セグメントを構成するための回路仕様を生成する段階と、
    前記抵抗器分割器を生成するために前記複数の抵抗器セグメントを含むトランジスタレベル結線図を生成する段階と、
    を含む、コンピュータ実装方法。
  215. 複数の抵抗器セグメントを決定する段階は、直列に構成されることになる抵抗器セグメントのうちの第1の複数のものを指定する少なくとも1つの第1の個数を決定する段階を含む、請求項214に記載の方法。
  216. 複数の抵抗器セグメントを決定する段階は、並列に構成されることになる抵抗器セグメントのうちの第1の複数のものを指定する少なくとも1つの第1の個数を決定する段階を含む、請求項214に記載の方法。
  217. 複数の抵抗器セグメントを決定する段階は、直列に構成されることになる抵抗器セグメントのうちの第1の複数のものを指定する少なくとも1つの第1の個数及び並列に構成されることになる抵抗器セグメントのうちの第2の複数のものを指定する少なくとも1つの第2の個数を決定する段階を含む、請求項214に記載の方法。
  218. 前記パラメータは、前記抵抗器分割器の合計抵抗を指定し、
    前記複数の抵抗器値は、前記抵抗器分割器の前記合計抵抗に基づいて決定される、
    、請求項214に記載の方法。
  219. 前記パラメータは、1又は2以上の出力タップを指定し、
    前記複数の抵抗器値は、出力タップの個数に1つ(1)を加えたものに等しい、
    、請求項214に記載の方法。
  220. 前記パラメータは、各出力タップでの電圧を指定し、
    前記複数の抵抗器値は、出力タップの個数と各出力タップでの前記電圧とに基づいて決定される、
    、請求項219に記載の方法。
  221. 前記パラメータは、各出力タップでの電圧を1又は2以上の百分率として指定し、
    前記複数の抵抗器値は、出力タップの個数と入力、複数の出力タップ、及び下部のうちの2つにわたる百分率の差とに基づいて決定される、
    、請求項219に記載の方法。
  222. 前記パラメータは、有効化を指定し、
    方法が、1又は2以上の部分回路結線図を前記回路仕様内で指定する段階を更に含み、
    前記指定された部分回路結線図は、前記抵抗器分割器を有効化又は無効化にするための入力を受信するように構成される、
    、請求項214に記載の方法。
  223. 前記部分回路結線図は、スイッチを含む、請求項222に記載の方法。
  224. 前記スイッチは、前記抵抗器分割器の入力と該抵抗器分割器の上部抵抗器セグメントの1又は2以上の端子との間に結合される、請求項223に記載の方法。
  225. 前記スイッチは、前記抵抗器分割器の基準入力と該抵抗器分割器の下部抵抗器セグメントの1又は2以上の端子との間に結合される、請求項223に記載の方法。
  226. 前記スイッチは、前記抵抗器分割器の出力タップと該抵抗器分割器の中間抵抗器セグメントの1又は2以上の端子との間に結合される、請求項223に記載の方法。
  227. 抵抗器分割器を生成するためのコンピュータシステムであって、
    1又は2以上のプロセッサと、
    コンピュータシステムによって実行された時に、
    生成されることになる抵抗器分割器を指定するパラメータを受信する段階、
    前記抵抗器分割器の1又は2以上の出力タップの間の抵抗器に対応する複数の抵抗器値を決定する段階、
    各抵抗器値に対して、前記複数の抵抗器値の各々を生成するために複数の抵抗器セグメントを決定する段階、
    前記複数の抵抗器値を形成するために各複数の抵抗器セグメントを構成するための回路仕様を生成する段階、及び
    前記抵抗器分割器を生成するために前記複数の抵抗器セグメントを含むトランジスタレベル結線図を生成する段階、
    を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体と、
    を含む、コンピュータシステム。
  228. コンピュータシステムによって実行された時に該コンピュータシステムに、
    生成されることになる抵抗器分割器を指定するパラメータを受信することと、
    前記抵抗器分割器の1又は2以上の出力タップの間の抵抗器に対応する複数の抵抗器値を決定することと、
    各抵抗器値に対して、前記複数の抵抗器値の各々を生成するために複数の抵抗器セグメントを決定することと、
    前記複数の抵抗器値を形成するために各複数の抵抗器セグメントを構成するための回路仕様を生成することと、
    前記抵抗器分割器を生成するために前記複数の抵抗器セグメントを含むトランジスタレベル結線図を生成することと、
    を行わせる、コンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体。
  229. 抵抗器分割器を生成するためのシステムであって、
    生成されることになる抵抗器分割器を指定するパラメータを受信するための手段と、
    前記抵抗器分割器の1又は2以上の出力タップの間の抵抗器に対応する複数の抵抗器値を決定し、かつ各抵抗器値に対して該複数の抵抗器値の各々を生成するために複数の抵抗器セグメントを決定するための手段と、
    前記複数の抵抗器値を形成するために各複数の抵抗器セグメントを構成するための回路仕様を生成するための手段と、
    前記抵抗器分割器を生成するために前記複数の抵抗器セグメントを含むトランジスタレベル結線図を生成するための手段と、
    を含む、システム。
  230. トランジスタを生成するコンピュータ実装方法であって、
    生成されることになるトランジスタを指定し、該生成されることになるトランジスタのオン抵抗を含む情報を受信する段階と、
    前記生成されることになるトランジスタのゲートの合計幅を少なくとも前記オン抵抗に基づいて決定する段階と、
    第1の幅、フィンガの個数(F)、及びデバイスセルの個数(P)を前記合計幅に基づいて決定する段階と、
    前記第1の幅と前記フィンガの個数(F)とを用いて構成された1又は2以上のトランジスタを含むトランジスタレベル結線図を生成する段階と、
    レイアウトを生成する段階であって、該レイアウトが、P個のデバイスセルを含み、各デバイスセルが、前記フィンガの個数(F)に対応する複数のゲートを含み、各ゲートが、前記第1の幅を有し、該デバイスセルが2次元アレイに構成される前記生成する段階と、
    を含む、コンピュータ実装方法。
  231. トランジスタレベル結線図が、前記デバイスセルの個数(P)に等しい乗数属性(M)を有する1つのトランジスタを含む、請求項230に記載の方法。
  232. トランジスタレベル結線図が、並列に構成されたP個のトランジスタを含む、請求項230に記載の方法。
  233. 前記P個のデバイスセルは、プログラム可能なアスペクト比を有する、請求項230に記載の方法。
  234. 前記アスペクト比は、0.5よりも大きくかつ1よりも小さい、請求項233に記載の方法。
  235. 前記アスペクト比は、約3分の2と約4分の3の間である、請求項233に記載の方法。
  236. 前記2次元アレイは、デバイスセルの等しい個数の行と列を含む、請求項230に記載の方法。
  237. 前記デバイスセルの個数(P)は、完全平方である、請求項230に記載の方法。
  238. 前記第1の幅、前記フィンガの第1の個数、及び前記デバイスセルの個数(P)は、最大幅とフィンガの最大個数とに基づいて決定される、請求項230に記載の方法。
  239. デバイスセルの現在の個数と、前記最大幅と、前記フィンガの最大個数とに基づいて取得可能な前記フィンガの個数(F)を決定するために複数の増加値にわたって前記デバイスセルの個数(P)を増大することにより、該デバイスセルの個数(P)及び該フィンガの個数(F)を決定する段階を更に含む、請求項238に記載の方法。
  240. 複数の値にわたって前記デバイスセルの個数(P)を反復的に増大する段階と、
    前記合計幅が、Pの現在値、前記最大幅、及び前記フィンガの最大個数から取得可能であるかを決定する段階と、
    前記合計幅が、前記Pの現在値、前記最大幅、及び前記フィンガの最大個数から取得可能でない場合に、該Pの値を増加させて前記決定する段階を繰り返す段階と、
    前記合計幅が、前記Pの現在値、前記最大幅、及び前記フィンガの最大個数から取得可能である場合に、前記デバイスセルの個数(P)を該Pの現在値に設定し、かつ前記フィンガの個数(F)を該最大幅及び該Pの現在値に基づいて設定する段階と、
    を更に含む、請求項238に記載の方法。
  241. 前記フィンガの個数(F)と予め定められたオフセット値のうちの第1の複数のものとに基づいてデバイスセルの第1の寸法に沿う第1の長さを決定する段階を更に含む、請求項239に記載の方法。
  242. 前記複数の予め定められたオフセット値は、トランジスタタイプに基づいて選択される、請求項241に記載の方法。
  243. 前記第1の長さと予め定められたアスペクト比とに基づいて前記デバイスセルの第2の長さを決定する段階を更に含む、請求項241に記載の方法。
  244. 前記アスペクト比は、プログラム可能である、請求項243に記載の方法。
  245. 前記第2の長さと少なくとも1つの第2の予め定められたオフセット値とに基づいて前記第1の幅を決定する段階を更に含む、請求項243に記載の方法。
  246. 前記最大幅及びフィンガの最大個数は、予め定められた値である、請求項238に記載の方法。
  247. 前記第1の幅と前記フィンガの個数(F)とを有する1又は2以上のトランジスタを指定する回路仕様を生成する段階を更に含み、
    前記回路仕様は、前記トランジスタレベル結線図を生成するのに使用される、
    、請求項230に記載の方法。
  248. 生成されることになるトランジスタを指定する前記情報は、デバイスタイプを指定し、
    前記回路仕様は、前記デバイスタイプに基づいて1又は2以上のpタイプトランジスタ又はnタイプトランジスタを指定する、
    、請求項247に記載の方法。
  249. 生成されることになるトランジスタを指定する前記情報は、最大ドレイン対ソース電圧を指定し、
    前記回路仕様は、前記最大ドレイン対ソース電圧に基づいて複数のトランジスタのうちの1つを指定する、
    、請求項247に記載の方法。
  250. 生成されることになるトランジスタを指定する前記情報は、最大ゲート対ソース電圧を指定し、
    前記回路仕様は、前記最大ゲート対ソース電圧に基づいて複数のトランジスタのうちの1つを指定する、
    、請求項247に記載の方法。
  251. 前記生成されることになるトランジスタの前記ゲートの前記合計幅を少なくとも前記オン抵抗に基づいて決定する段階は、
    前記生成されることになるトランジスタのトランジスタタイプに基づいて回帰係数の複数のセットのうちの1つのセットを選択する段階と、
    前記合計幅を前記オン抵抗と回帰係数の前記選択セットとに基づいて決定する段階と、
    を含む、
    、請求項230に記載の方法。
  252. 前記トランジスタタイプは、電力トランジスタである、請求項251に記載の方法。
  253. 前記トランジスタタイプは、信号トランジスタである、請求項251に記載の方法。
  254. 生成されることになるトランジスタを指定する前記情報は、レプリカトランジスタを指定し、
    前記トランジスタレベル結線図は、前記1又は2以上のトランジスタの1又は2以上のゲートに結合されたゲートと、該1又は2以上のトランジスタの1又は2以上のドレインに結合されたドレインとを有するレプリカトランジスタを含む、
    、請求項230に記載の方法。
  255. 生成されることになるトランジスタを指定する前記情報は、レプリカ利得を指定し、
    前記レプリカトランジスタの幅が、前記生成されることになるトランジスタの前記合計幅に基づいて決定される、
    、請求項254に記載の方法。
  256. 生成されることになるトランジスタを指定する前記情報は、ケルビン接続を指定し、
    前記トランジスタレベル結線図は、前記1又は2以上のトランジスタの1又は2以上のソースに結合されたケルビンソース端子と、該1又は2以上のトランジスタの1又は2以上のドレインに結合されたケルビンドレイン端子とを含む、
    、請求項230に記載の方法。
  257. 前記トランジスタレベル結線図は、前記ケルビンソース端子と前記1又は2以上のトランジスタの前記1又は2以上のソース端子との間に構成された第1の抵抗器と、該ケルビンドレイン端子と該1又は2以上のトランジスタの前記1又は2以上のドレインとの間に構成された第2の抵抗器とを更に含む、請求項256に記載の方法。
  258. レイアウトを前記生成する段階は、1又は2以上のレイアウト配置命令を実行する段階を含み、
    前記レイアウト配置命令は、前記P個のデバイスセルを初期位置と該初期位置から整数個のx軸オフセット及びy軸オフセットだけオフセットされたP-1個の他の位置とに連続的に配置する、
    、請求項230に記載の方法。
  259. 前記実行されるレイアウト配置命令は、トランジスタタイプに基づいて実行される、請求項258に記載の方法。
  260. 前記x軸オフセット及びy軸オフセットは、前記第1の幅及び前記フィンガの個数(F)に基づいて計算される、請求項258に記載の方法。
  261. レイアウトを前記生成する段階は、前記デバイスセルの2次元アレイにわたって複数の金属化ストリップを自動的に配置する段階を更に含む、請求項258に記載の方法。
  262. 各デバイスセルにわたる金属化ストリップの個数が、前記第1の幅及び予め定められた最大ストリップ幅に基づいて決定される、請求項261に記載の方法。
  263. 前記金属化ストリップは、前記生成されることになるトランジスタのトランジスタタイプに基づいて選択された予め定められたオフセットに基づいて配置される、請求項261に記載の方法。
  264. トランジスタを生成するためのコンピュータシステムであって、
    1又は2以上のプロセッサと、
    コンピュータシステムによって実行された時に、
    生成されることになるトランジスタを指定し、該生成されることになるトランジスタのオン抵抗を含む情報を受信する段階、
    前記生成されることになるトランジスタのゲートの合計幅を少なくとも前記オン抵抗に基づいて決定する段階、
    第1の幅、フィンガの個数(F)、デバイスセルの個数(P)を前記合計幅に基づいて決定する段階、
    前記第1の幅と前記フィンガの個数(F)とを用いて構成された1又は2以上のトランジスタを含むトランジスタレベル結線図を生成する段階、及び
    レイアウトを生成する段階であって、該レイアウトが、P個のデバイスセルを含み、各デバイスセルが、前記フィンガの個数(F)に対応する複数のゲートを含み、各ゲートが、前記第1の幅を有し、該デバイスセルが、2次元アレイに構成される前記生成する段階、
    を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体と、
    を含む、コンピュータシステム。
  265. コンピュータシステムによって実行された時に該コンピュータシステムに、
    生成されることになるトランジスタを指定し、該生成されることになるトランジスタのオン抵抗を含む情報を受信することと、
    前記生成されることになるトランジスタのゲートの合計幅を少なくとも前記オン抵抗に基づいて決定することと、
    第1の幅、フィンガの個数(F)、及びデバイスセルの個数(P)を前記合計幅に基づいて決定することと、
    前記第1の幅と前記フィンガの個数(F)とを用いて構成された1又は2以上のトランジスタを含むトランジスタレベル結線図を生成することと、
    レイアウトが、P個のデバイスセルを含み、各デバイスセルが、前記フィンガの個数(F)に対応する複数のゲートを含み、各ゲートが、前記第1の幅を有し、該デバイスセルが、2次元アレイに構成される該レイアウトを生成することと、
    を行わせる、コンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体。
  266. トランジスタを生成するためのシステムであって、
    生成されることになるトランジスタを指定し、該生成されることになるトランジスタのオン抵抗を含む情報を受信するための手段と、
    前記生成されることになるトランジスタのゲートの合計幅を少なくとも前記オン抵抗に基づいて決定するための手段と、
    第1の幅、フィンガの個数(F)、及びデバイスセルの個数(P)を前記合計幅に基づいて決定するための手段と、
    前記第1の幅と前記フィンガの個数(F)とを用いて構成された1又は2以上のトランジスタを含むトランジスタレベル結線図を生成するための手段と、
    レイアウトを生成するための手段であって、該レイアウトが、P個のデバイスセルを含み、各デバイスセルが、前記フィンガの個数(F)に対応する複数のゲートを含み、各ゲートが、前記第1の幅を有し、該デバイスセルが、2次元アレイに構成される前記生成するための手段と、
    を含む、システム。
  267. トランジスタを生成するコンピュータ実装方法であって、
    生成されることになるトランジスタを指定し、オン抵抗を含む情報を受信する段階と、
    オン抵抗から面積を計算する段階と、
    前記面積と予め定められた長さとに基づいて合計幅を決定する段階と、
    前記合計幅、予め定められた最大幅、及びフィンガの予め定められた最大個数に基づいてデバイスセルの個数(P)及びフィンガの個数(F)を決定する段階と、
    前記フィンガの個数(F)に基づいてデバイスセルの第1の寸法に沿う第1の長さを決定する段階と、
    前記デバイスセルの第2の寸法に沿う第2の長さを前記第1の長さと該第2の長さとのプログラミングされた比に基づいて決定する段階と、
    前記第2の寸法に基づいて第1のゲート幅を決定する段階と、
    前記第1のゲート幅と前記フィンガの個数(F)とを用いてトランジスタレベル結線図内に1又は2以上のトランジスタを構成する段階と、
    を含む、コンピュータ実装方法。
  268. 前記トランジスタレベル結線図は、前記デバイスセルの個数(P)に等しい乗数属性(M)を有する1つのトランジスタを含む、請求項267に記載の方法。
  269. 前記トランジスタレベル結線図は、並列に構成されたP個のトランジスタを含む、請求項267に記載の方法。
  270. 前記デバイスセルの個数(P)は、完全平方である、請求項267に記載の方法。
  271. 回路を生成するためのコンピュータシステムであって、
    1又は2以上のプロセッサと、
    コンピュータシステムによって実行された時に、
    生成されることになるトランジスタを指定し、少なくともオン抵抗を含む情報を受信する段階、
    オン抵抗から面積を計算する段階、
    前記面積と予め定められた長さとに基づいて合計幅を決定する段階、
    前記合計幅、予め定められた最大幅、及びフィンガの予め定められた最大個数に基づいてデバイスセルの個数(P)及びフィンガの個数(F)を決定する段階、
    前記フィンガの個数(F)に基づいてデバイスセルの第1の寸法に沿う第1の長さを決定する段階、
    前記デバイスセルの第2の寸法に沿う第2の長さを前記第1の長さと該第2の長さとのプログラミングされた比に基づいて決定する段階、
    前記第2の寸法に基づいて第1のゲート幅を決定する段階、及び
    前記第1のゲート幅と前記フィンガの個数(F)とを用いてトランジスタレベル結線図内に1又は2以上のトランジスタを構成する段階、
    を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体と、
    を含む、コンピュータシステム。
  272. コンピュータシステムによって実行された時に該コンピュータシステムに、
    生成されることになるトランジスタを指定し、少なくともオン抵抗を含む情報を受信させ、
    オン抵抗から面積を計算させ、
    前記面積と予め定められた長さとに基づいて合計幅を決定させ、
    前記合計幅、予め定められた最大幅、及びフィンガの予め定められた最大個数に基づいてデバイスセルの個数(P)及びフィンガの個数(F)を決定させ、
    前記フィンガの個数(F)に基づいてデバイスセルの第1の寸法に沿う第1の長さを決定させ、
    前記デバイスセルの第2の寸法に沿う第2の長さを前記第1の長さと該第2の長さとのプログラミングされた比に基づいて決定させ、
    前記第2の寸法に基づいて第1のゲート幅を決定させ、かつ
    前記第1のゲート幅と前記フィンガの個数(F)とを用いてトランジスタレベル結線図内に1又は2以上のトランジスタを構成させる、
    コンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体。
  273. トランジスタを生成するためのシステムであって、
    生成されることになるトランジスタを指定し、オン抵抗を含む情報を受信するための手段と、
    オン抵抗から面積を計算するための手段と、
    前記面積と予め定められた長さとに基づいて合計幅を決定するための手段と、
    前記合計幅、予め定められた最大幅、及びフィンガの予め定められた最大個数に基づいてデバイスセルの個数(P)及びフィンガの個数(F)を決定するための手段と、
    前記フィンガの個数(F)に基づいてデバイスセルの第1の寸法に沿う第1の長さを決定するための手段と、
    前記デバイスセルの第2の寸法に沿う第2の長さを前記第1の長さと該第2の長さとのプログラミングされた比に基づいて決定するための手段と、
    前記第2の寸法に基づいて第1のゲート幅を決定するための手段と、
    前記第1のゲート幅と前記フィンガの個数(F)とを用いてトランジスタレベル結線図内に1又は2以上のトランジスタを構成するための手段と、
    を含む、システム。
  274. 複数のトランジスタのための複数のデータセットを生成する段階であって、各データセットが、該複数のトランジスタのうちの特定のトランジスタに対する複数のゲート幅に関して得られたオン抵抗の値を含む前記生成する段階と、
    1又は2以上の回帰係数を含む複数の係数セットを前記複数のデータセットの各々に適用された回帰方程式に基づいて生成する段階と、
    オン抵抗と前記複数のトランジスタのうちのトランジスタとを指定する情報を受信する段階と、
    前記複数のトランジスタのうちの指定トランジスタに基づいて前記複数の係数セットのうちの1つの係数セットを選択する段階と、
    前記オン抵抗と前記選択された係数セットとに基づいてゲート幅を決定する段階と、
    を含む、コンピュータ実装方法。
  275. 回路を生成するためのコンピュータシステムであって、
    1又は2以上のプロセッサと、
    コンピュータシステムによって実行された時に、
    複数のトランジスタのための複数のデータセットを生成する段階であって、各データセットが、該複数のトランジスタのうちの特定のトランジスタに対する複数のゲート幅に関して得られたオン抵抗の値を含む前記生成する段階、
    1又は2以上の回帰係数を含む複数の係数セットを前記複数のデータセットの各々に適用された回帰方程式に基づいて生成する段階、
    オン抵抗と前記複数のトランジスタのうちのトランジスタとを指定する情報を受信する段階、
    前記複数のトランジスタのうちの指定トランジスタに基づいて前記複数の係数セットのうちの1つの係数セットを選択する段階、及び
    前記オン抵抗と前記選択された係数セットとに基づいてゲート幅を決定する段階、
    を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体と、
    を含む、コンピュータシステム。
  276. コンピュータシステムによって実行された時に該コンピュータシステムに、
    複数のトランジスタのうちの特定のトランジスタに対する複数のゲート幅に関して得られたオン抵抗の値を各データセットが含む該複数のトランジスタのための複数のデータセットを生成させ、
    1又は2以上の回帰係数を含む複数の係数セットを前記複数のデータセットの各々に適用された回帰方程式に基づいて生成させ、
    オン抵抗と前記複数のトランジスタのうちのトランジスタとを指定する情報を受信させ、
    前記複数のトランジスタのうちの指定トランジスタに基づいて前記複数の係数セットのうちの1つの係数セットを選択させ、かつ
    前記オン抵抗と前記選択された係数セットとに基づいてゲート幅を決定させる、
    コンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体。
  277. 回路を生成するためのシステムであって、
    複数のトランジスタのための複数のデータセットを生成するための手段であって、各データセットが、該複数のトランジスタのうちの特定のトランジスタに対する複数のゲート幅に関して得られたオン抵抗の値を含む前記生成するための手段と、
    1又は2以上の回帰係数を含む複数の係数セットを前記複数のデータセットの各々に適用された回帰方程式に基づいて生成するための手段と、
    オン抵抗と前記複数のトランジスタのうちのトランジスタとを指定する情報を受信するための手段と、
    前記複数のトランジスタのうちの前記指定トランジスタに基づいて前記複数の係数セットのうちの1つの係数セットを選択するための手段と、
    前記オン抵抗と前記選択された係数セットとに基づいてゲート幅を決定するための手段と、
    を含む、システム。
  278. トランジスタを生成するコンピュータ実装方法であって、
    生成されることになるトランジスタを指定する情報を受信する段階と、
    前記情報の少なくとも一部分に基づいて予め定められたレイアウトパラメータを取り出す段階と、
    幅と、フィンガの個数と、デバイスセルの個数とを含む前記生成されることになるトランジスタの属性を前記情報及び前記レイアウトパラメータに基づいて決定する段階と、
    前記属性に基づいて構成された1又は2以上のトランジスタ結線図を含む前記生成されることになるトランジスタのトランジスタレベル結線図を生成する段階と、
    前記生成されることになるトランジスタのレイアウトを前記トランジスタレベル結線図から生成する段階であって、該レイアウトが、前記個数のデバイスセルを含み、各デバイスセルが、前記属性に基づいてレイアウト配置命令によって該レイアウト内に自動的に位置決めされる前記生成する段階と、
    を含む、コンピュータ実装方法。
  279. トランジスタを生成するためのコンピュータシステムであって、
    1又は2以上のプロセッサと、
    コンピュータシステムによって実行された時に、
    生成されることになるトランジスタを指定する情報を受信する段階、
    前記情報の少なくとも一部分に基づいて予め定められたレイアウトパラメータを取り出す段階、
    幅と、フィンガの個数と、デバイスセルの個数とを含む前記生成されることになるトランジスタの属性を前記情報及び前記レイアウトパラメータに基づいて決定する段階、
    前記属性に基づいて構成された1又は2以上のトランジスタ結線図を含む前記生成されることになるトランジスタのトランジスタレベル結線図を生成する段階、及び
    前記生成されることになるトランジスタのレイアウトを前記トランジスタレベル結線図から生成する段階であって、該レイアウトが、前記個数のデバイスセルを含み、各デバイスセルが、前記属性に基づいてレイアウト配置命令によって該レイアウト内に自動的に位置決めされる前記生成する段階、
    を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体と、
    を含む、コンピュータシステム。
  280. コンピュータシステムによって実行された時に該コンピュータシステムに、
    生成されることになるトランジスタを指定する情報を受信させ、
    前記情報の少なくとも一部分に基づいて予め定められたレイアウトパラメータを取り出させ、
    幅と、フィンガの個数と、デバイスセルの個数とを含む前記生成されることになるトランジスタの属性を前記情報及び前記レイアウトパラメータに基づいて決定させ、
    前記属性に基づいて構成された1又は2以上のトランジスタ結線図を含む前記生成されることになるトランジスタのトランジスタレベル結線図を生成させ、かつ
    レイアウトが、前記個数のデバイスセルを含み、各デバイスセルが、前記属性に基づいてレイアウト配置命令によって該レイアウト内に自動的に位置決めされる前記生成されることになるトランジスタの該レイアウトを前記トランジスタレベル結線図から生成させる、
    コンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体。
  281. トランジスタを生成するためのシステムであって、
    生成されることになるトランジスタを指定する情報を受信するための手段と、
    前記情報の少なくとも一部分に基づいて予め定められたレイアウトパラメータを取り出すための手段と、
    幅と、フィンガの個数と、デバイスセルの個数とを含む前記生成されることになるトランジスタの属性を前記情報及び前記レイアウトパラメータに基づいて決定するための手段と、
    前記属性に基づいて構成された1又は2以上のトランジスタ結線図を含む前記生成されることになるトランジスタのトランジスタレベル結線図を生成するための手段と、
    前記生成されることになるトランジスタのレイアウトを前記トランジスタレベル結線図から生成するための手段であって、該レイアウトが、前記個数のデバイスセルを含み、各デバイスセルが、前記属性に基づいてレイアウト配置命令によって該レイアウト内に自動的に位置決めされる前記生成するための手段と、
    を含む、システム。
  282. トランジスタレイアウトを生成するコンピュータ実装方法であって、
    1又は2以上のトランジスタを該トランジスタの属性に基づいて複数のレイアウトインスタンスに変換する段階と、
    前記トランジスタのためのレイアウトを形成するために前記複数のレイアウトインスタンスを2次元アレイとして位置決めする予め定められたレイアウトスクリプトを実行する段階と、
    を含む、コンピュータ実装方法。
  283. 前記レイアウトスクリプトは、前記トランジスタを含む回路結線図に関連付けられる、請求項282に記載の方法。
  284. トランジスタが、電界効果トランジスタである、請求項282に記載の方法。
  285. トランジスタが、電力電界効果トランジスタである、請求項284に記載の方法。
  286. 前記トランジスタに対する前記合計ゲート幅に基づいて第1のゲート幅と、フィンガの個数(F)と、デバイスセルの個数(P)とを決定する段階を更に含む、請求項282に記載の方法。
  287. 前記1又は2以上のトランジスタは、同じ属性を有する並列に構成された複数のトランジスタであり、
    各トランジスタの乗数属性が、1に等しい、
    、請求項282に記載の方法。
  288. 前記1又は2以上のトランジスタは、1よりも大きい乗数属性を有する単一トランジスタである、請求項282に記載の方法。
  289. 前記レイアウトインスタンスの個数(P)が、完全平方である、請求項282に記載の方法。
  290. 前記レイアウトインスタンスのアスペクト比が、プログラム可能である、請求項282に記載の方法。
  291. 前記レイアウトスクリプトは、第1のレイアウトインスタンスに対する初期位置を指定する少なくとも1つのレイアウト配置命令を含む、請求項282に記載の方法。
  292. 単一レイアウト配置命令が、前記複数のレイアウトインスタンスを配置する、請求項291に記載の方法。
  293. 前記少なくとも1つのレイアウト配置命令は、前記レイアウトインスタンス間のxステップ及びyステップを指定する、請求項291に記載の方法。
  294. 前記少なくとも1つのレイアウト配置命令は、前記2次元アレイに対する列の個数及び行の個数を指定する、請求項291に記載の方法。
  295. トランジスタレイアウトを生成するためのコンピュータシステムであって、
    1又は2以上のプロセッサと、
    コンピュータシステムによって実行された時に、
    1又は2以上のトランジスタを該トランジスタの属性に基づいて複数のレイアウトインスタンスに変換する段階、及び
    前記トランジスタのためのレイアウトを形成するために前記複数のレイアウトインスタンスを2次元アレイとして位置決めする予め定められたレイアウトスクリプトを実行する段階、
    を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体と、
    を含む、コンピュータシステム。
  296. コンピュータシステムによって実行された時に該コンピュータシステムに、
    1又は2以上のトランジスタを該トランジスタの属性に基づいて複数のレイアウトインスタンスに変換させ、かつ
    前記トランジスタのためのレイアウトを形成するために前記複数のレイアウトインスタンスを2次元アレイとして位置決めする予め定められたレイアウトスクリプトを実行させる、
    コンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体。
  297. トランジスタレイアウトを生成するためのコンピュータシステムであって、
    1又は2以上のトランジスタを該トランジスタの属性に基づいて複数のレイアウトインスタンスに変換するための手段と、
    前記トランジスタのためのレイアウトを形成するために前記複数のレイアウトインスタンスを2次元アレイとして位置決めする予め定められたレイアウトスクリプトを実行するための手段と、
    を含む、コンピュータシステム。
  298. 回路レイアウトを生成するコンピュータ実装方法であって、
    前記回路レイアウトに変換されることになる回路結線図を指定する段階と、
    前記回路結線図に関連付けられたレイアウトスクリプトを受信する段階であって、該レイアウトスクリプトが、該回路結線図から生成された複数のレイアウトインスタンスを位置決めするように構成される前記受信する段階と、
    前記回路結線図を前記複数のレイアウトインスタンスに変換する段階と、
    前記回路レイアウトを生成するために前記レイアウトスクリプトに基づいて前記複数のレイアウトインスタンスを位置決めする段階と、
    を含む、コンピュータ実装方法。
  299. 前記回路結線図は、アナログ回路又は混合信号回路のためのトランジスタレベル結線図である、請求項298に記載の方法。
  300. 前記複数のレイアウトインスタンスのうちの1又は2以上が、部分回路結線図のための予め定められたレイアウトである、請求項298に記載の方法。
  301. 前記レイアウトスクリプトは、特定のレイアウトインスタンスが格納されたライブラリへの参照子を含む、請求項300に記載の方法。
  302. 前記複数のレイアウトインスタンスの第1のサブセットが、複数の抵抗器に対応する、請求項298に記載の方法。
  303. 前記複数のレイアウトインスタンスの第1のサブセットが、複数のコンデンサーに対応する、請求項298に記載の方法。
  304. 前記レイアウトスクリプトは、前記複数のレイアウトインスタンスの各々に対する特定の配置を指定する、請求項298に記載の方法。
  305. 前記回路結線図は、複数の回路結線図のうちの第1の回路結線図に対応し、
    前記レイアウトスクリプトは、前記複数の回路結線図の各々に対するレイアウトインスタンスを位置決めするように構成される、
    、請求項298に記載の方法。
  306. 前記複数の回路結線図は、第1の機能を実施する、請求項305に記載の方法。
  307. 前記レイアウトスクリプトは、異なる回路結線図からのレイアウトインスタンスに対して複数の配置作動を実施し、
    前記第1の回路結線図に対応するレイアウトインスタンスに対する配置作動が実行され、他の回路結線図に対応するレイアウトインスタンスに対する配置作動が実行されない、
    、請求項305に記載の方法。
  308. 前記レイアウトスクリプトは、前記レイアウトインスタンスのうちの1又は2以上を位置決めするために複数のレイアウト配置命令を含む、請求項298に記載の方法。
  309. 前記複数のレイアウト配置命令は、各レイアウト配置命令に対応する配置作動を実施するための対応するコードを含む、請求項308に記載の方法。
  310. 前記コードは、レイアウト配置命令スクリプトである、請求項309に記載の方法。
  311. 前記レイアウト配置命令は、前記1又は2以上のレイアウトインスタンスの配置を指定する位置決めパラメータを受信する、請求項308に記載の方法。
  312. 前記レイアウト配置命令のサブセットが、前記複数のレイアウトインスタンスのうちの特定のレイアウトインスタンスへの参照子を含む、請求項308に記載の方法。
  313. 前記参照子は、セル名称である、請求項312に記載の方法。
  314. 前記参照子は、インスタンス名称である、請求項312に記載の方法。
  315. 1又は2以上のレイアウト配置命令が、前記複数のレイアウトインスタンスのうちの1又は2以上の対応するレイアウトインスタンスのための配置場所を指定する、請求項308記載の方法。
  316. 1又は2以上のレイアウト配置命令が、特定のレイアウトインスタンスと、該特定のレイアウトインスタンスを位置決めするためのx軸座標及びy軸座標とを指定する、請求項308記載の方法。
  317. 1又は2以上のレイアウト配置命令が、前記特定のレイアウトインスタンスが格納されたライブラリ名称を更に指定する、請求項316記載の方法。
  318. 1又は2以上のレイアウト配置命令が、前記特定のレイアウトインスタンスの回転を更に指定する、請求項316記載の方法。
  319. 前記複数のレイアウト配置命令のうちの第1のレイアウト配置命令が、前記複数のレイアウトインスタンスの第1のサブセットを位置決めする、請求項308記載の方法。
  320. 前記複数のレイアウトインスタンスの前記第1のサブセットは、部分回路結線図のための予め定められたレイアウトである、請求項319記載の方法。
  321. 前記複数のレイアウトインスタンスの前記第1のサブセットは、受動的レイアウト構成要素である、請求項319記載の方法。
  322. 前記複数の受動的レイアウト構成要素は、抵抗器レイアウト構成要素である、請求項321記載の方法。
  323. 前記複数の受動的構成要素は、コンデンサーレイアウト構成要素である、請求項321記載の方法。
  324. 第1のレイアウト配置命令が、複数の軸線のうちの1つに沿うステップ方向を指定する、請求項319記載の方法。
  325. 前記第1のレイアウト配置命令は、開始位置とレイアウトインスタンスの前記第1のサブセット間のステップとを指定する、請求項319記載の方法。
  326. 前記ステップは、レイアウトインスタンスの前記第1のサブセットの隣接境界間の距離を指定する、請求項325記載の方法。
  327. 前記ステップは、レイアウトインスタンスの前記第1のサブセットの第1の軸線に沿う境界の長さよりも大きいか又はそれに等しい、請求項325記載の方法。
  328. 前記第1のレイアウト配置命令は、軸線に沿ってレイアウトインスタンスを連続的に配置するための最大距離を更に指定する、請求項319記載の方法。
  329. 前記最大距離は、前記複数のレイアウトインスタンスのうちの1つの長さに関連付けられる、請求項328記載の方法。
  330. 前記レイアウトインスタンスは、前記開始位置から前記距離に基づく第2の位置まで第1の軸線に沿って連続的に配置され、該レイアウトインスタンスの第1の部分が該開始位置と該第2の位置間の空間を張る時に、該レイアウトインスタンスの第2の部分が、第2の軸線に沿って該開始位置からオフセットされた第3の位置と該距離に基づく第4の位置との間で該第1の軸線に沿って連続的に配置される、請求項328記載の方法。
  331. レイアウト配置インスタンスの前記第1のサブセットは、レイアウト配置インスタンスの少なくとも第1のサブグループと、レイアウト配置インスタンスの第2のサブグループとを含み、
    前記第1のレイアウト配置命令は、レイアウトインスタンスの第1のサブグループと第2のサブグループの間のステップを更に指定する、
    、請求項319記載の方法。
  332. 前記第1のレイアウト配置命令に続く第2のレイアウト配置命令が、該第1のレイアウト配置命令の最終位置から始まる1又は2以上の位置に前記複数のレイアウトインスタンスのうちの1又は2以上のレイアウトインスタンスを配置する、請求項319記載の方法。
  333. 前記レイアウト配置命令のうちの1又は2以上が、条件付きステートメントを含む、請求項308記載の方法。
  334. 少なくとも1つのレイアウト配置命令が、位置が占有されたかを決定する、請求項333記載の方法。
  335. 1又は2以上の第1のレイアウト配置命令が、前記位置が占有された場合に実行される、請求項334記載の方法。
  336. 1又は2以上の第1のレイアウト配置命令が、前記位置が占有されていない場合に実行される、請求項334記載の方法。
  337. 少なくとも1つのレイアウト配置命令が、1又は2以上の指定レイアウトインスタンスが前記レイアウトに含まれているかを決定し、
    1又は2以上の第1のレイアウト配置命令が、前記指定インスタンスが前記レイアウトに含まれている場合に実行され、
    1又は2以上の第2のレイアウト配置命令が、前記1又は2以上の指定レイアウトインスタンスが前記レイアウトにない場合に実行される、
    、請求項333記載の方法。
  338. 回路レイアウトを生成するためのコンピュータシステムであって、
    1又は2以上のプロセッサと、
    コンピュータシステムによって実行された時に、
    前記回路レイアウトに変換されることになる回路結線図を指定する段階、
    前記回路結線図から生成された複数のレイアウトインスタンスを位置決めするように構成された該回路結線図に関連付けられたレイアウトスクリプトを受信する段階、
    前記回路結線図を前記複数のレイアウトインスタンスに変換する段階、及び
    前記回路レイアウトを生成するために前記レイアウトスクリプトに基づいて前記複数のレイアウトインスタンスを位置決めする段階、
    を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体と、
    を含む、コンピュータシステム。
  339. コンピュータシステムによって実行された時に該コンピュータシステムに、
    前記回路レイアウトに変換されることになる回路結線図を指定させ、
    前記回路結線図から生成された複数のレイアウトインスタンスを位置決めするように構成された該回路結線図に関連付けられたレイアウトスクリプトを受信させ、
    前記回路結線図を前記複数のレイアウトインスタンスに変換させ、かつ
    前記回路レイアウトを生成するために前記レイアウトスクリプトに基づいて前記複数のレイアウトインスタンスを位置決めさせる、
    コンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体。
  340. 回路レイアウトを生成するためのコンピュータシステムであって、
    前記回路レイアウトに変換されることになる回路結線図を指定するための手段と、
    前記回路結線図から生成された複数のレイアウトインスタンスを位置決めするように構成された該回路結線図に関連付けられたレイアウトスクリプトを受信するための手段と、
    前記回路結線図を前記複数のレイアウトインスタンスに変換するための手段と、
    前記回路レイアウトを生成するために前記レイアウトスクリプトに基づいて前記複数のレイアウトインスタンスを位置決めするための手段と、
    を含む、コンピュータシステム。
  341. 回路レイアウトを生成するコンピュータ実装方法であって、
    結線図から生成された複数のレイアウトインスタンスをレイアウトキャンバスに受信する段階と、
    前記結線図に関連付けられたレイアウトスクリプトを受信する段階であって、該レイアウトスクリプトが、該結線図から生成された複数のレイアウトインスタンスを配置するための複数のレイアウト配置命令を含む前記受信する段階と、
    前記複数のレイアウト配置命令を用いて前記複数のレイアウトインスタンスを位置決めする段階と、
    を含む、コンピュータ実装方法。
  342. 回路レイアウトを生成するためのコンピュータシステムであって、
    1又は2以上のプロセッサと、
    コンピュータシステムによって実行された時に、
    結線図から生成された複数のレイアウトインスタンスをレイアウトキャンバスに受信する段階、
    前記結線図に関連付けられたレイアウトスクリプトを受信する段階であって、該レイアウトスクリプトが、該結線図から生成された複数のレイアウトインスタンスを配置するための複数のレイアウト配置命令を含む前記受信する段階、及び
    前記複数のレイアウト配置命令を用いて前記複数のレイアウトインスタンスを位置決めする段階、
    を含む方法をコンピュータシステムに実施させるコンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体と、
    を含む、コンピュータシステム。
  343. コンピュータシステムによって実行された時に該コンピュータシステムに、
    結線図から生成された複数のレイアウトインスタンスをレイアウトキャンバスに受信させ、
    レイアウトスクリプトが、前記結線図から生成された複数のレイアウトインスタンスを配置するための複数のレイアウト配置命令を含む該結線図に関連付けられた該レイアウトスクリプトを受信させ、かつ
    前記複数のレイアウト配置命令を用いて前記複数のレイアウトインスタンスを位置決めさせる、
    コンピュータ実行可能命令が格納された非一時的コンピュータ可読ストレージ媒体。
  344. 回路レイアウトを生成するためのシステムであって、
    結線図から生成された複数のレイアウトインスタンスをレイアウトキャンバスに受信するための手段と、
    前記結線図に関連付けられたレイアウトスクリプトを受信するための手段であって、該レイアウトスクリプトが、該結線図から生成された複数のレイアウトインスタンスを配置するための複数のレイアウト配置命令を含む前記受信するための手段と、
    前記複数のレイアウト配置命令を用いて前記複数のレイアウトインスタンスを位置決めするための手段と、
    を含む、システム。
JP2021571549A 2019-05-30 2020-05-28 自動回路生成 Pending JP2022534441A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962854848P 2019-05-30 2019-05-30
US62/854,848 2019-05-30
US16/882,217 US20200410153A1 (en) 2019-05-30 2020-05-22 Automated circuit generation
US16/882,217 2020-05-22
PCT/US2020/034987 WO2020243355A1 (en) 2019-05-30 2020-05-28 Automated circuit generation

Publications (2)

Publication Number Publication Date
JP2022534441A true JP2022534441A (ja) 2022-07-29
JPWO2020243355A5 JPWO2020243355A5 (ja) 2023-06-07

Family

ID=73549701

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021571549A Pending JP2022534441A (ja) 2019-05-30 2020-05-28 自動回路生成

Country Status (8)

Country Link
US (10) US20200410153A1 (ja)
EP (1) EP3977327A4 (ja)
JP (1) JP2022534441A (ja)
KR (1) KR20220012862A (ja)
CN (1) CN113950686A (ja)
SG (1) SG11202112956WA (ja)
TW (2) TWI823003B (ja)
WO (1) WO2020243355A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200410153A1 (en) * 2019-05-30 2020-12-31 Celera, Inc. Automated circuit generation
KR20210108546A (ko) * 2020-02-25 2021-09-03 삼성전자주식회사 반도체 설계 시뮬레이션을 위한 명령들을 실행하는 컴퓨터 시스템으로 구현된 방법
US11755808B2 (en) * 2020-07-10 2023-09-12 Taiwan Semiconductor Manufacturing Company Limited Mixed poly pitch design solution for power trim
CN112906329A (zh) * 2021-03-19 2021-06-04 苏州复鹄电子科技有限公司 一种基于系统级模拟集成电路设计参数自动优化方法
TWI769829B (zh) 2021-05-21 2022-07-01 崛智科技有限公司 積體電路輔助設計裝置與方法以及電性效能梯度模型建構方法
US20230076736A1 (en) * 2021-08-24 2023-03-09 Cilag Gmbh International Automatic remote center of motion adjustment for robotically controlled uterine manipulator
US20230214561A1 (en) * 2022-01-06 2023-07-06 Circuit Mind Limited Computer-implemented circuit schematic design
CN114154451B (zh) * 2022-02-07 2022-06-24 深圳佑驾创新科技有限公司 一种原理图自动绘制方法、装置、设备、介质及产品
CN114611452A (zh) * 2022-03-22 2022-06-10 成都华大九天科技有限公司 基于电路原理图在版图中自动生成Sub Cell的方法
CN114943200B (zh) * 2022-05-26 2023-04-28 清华大学 Mosfet的自动布局方法及装置

Family Cites Families (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3001494A (en) 1956-11-05 1961-09-26 Lyon George Albert Method of making wheel covers
US5278769A (en) * 1991-04-12 1994-01-11 Lsi Logic Corporation Automatic logic model generation from schematic data base
JPH08227428A (ja) * 1995-02-20 1996-09-03 Matsushita Electric Ind Co Ltd プリント基板cad装置
US7076415B1 (en) 1998-12-17 2006-07-11 Cadence Design Systems, Inc. System for mixed signal synthesis
US7672827B1 (en) 2000-08-28 2010-03-02 Cadence Design Systems, Inc. Method and system for simulation of analog/digital interfaces with analog tri-state ioputs
JP2002117092A (ja) * 2000-10-05 2002-04-19 Fujitsu Ltd 半導体集積回路装置の設計方法、及び設計装置
US6609228B1 (en) * 2000-11-15 2003-08-19 International Business Machines Corporation Latch clustering for power optimization
US7058916B2 (en) 2001-06-28 2006-06-06 Cadence Design Systems, Inc. Method for automatically sizing and biasing circuits by means of a database
US7039892B2 (en) 2001-07-24 2006-05-02 Hewlett-Packard Development Company, L.P. Systems and methods for ensuring correct connectivity between circuit designs
US6954921B2 (en) 2002-03-05 2005-10-11 Barcelona Design, Inc. Method and apparatus for automatic analog/mixed signal system design using geometric programming
US20040049370A1 (en) 2002-09-05 2004-03-11 Sun Microsystems, Inc., A Delaware Corporation Self adjusting linear MOSFET simulation techniques
US7257794B2 (en) * 2004-12-17 2007-08-14 Springsoft, Inc. Unit-based layout system for passive IC devices
WO2007149717A2 (en) 2006-06-08 2007-12-27 Lightspeed Logic, Inc. Morphing for global placement using integer linear programming
GB0516634D0 (en) * 2005-08-12 2005-09-21 Univ Sussex Electronic circuit design
US7069527B1 (en) * 2005-08-24 2006-06-27 Sun Microsystems, Inc. Algorithm for full-chip resistance extraction
US7418683B1 (en) 2005-09-21 2008-08-26 Cadence Design Systems, Inc Constraint assistant for circuit design
US7671618B2 (en) 2005-10-26 2010-03-02 Nxp B.V. Analog IC having test arrangement and test method for such an IC
KR100741915B1 (ko) * 2005-12-28 2007-07-24 동부일렉트로닉스 주식회사 더미 금속 채움에 대한 시간 지연 효과를 효율적으로반영할 수 있는 반도체 소자의 설계 방법
US8516418B2 (en) * 2006-06-30 2013-08-20 Oracle America, Inc. Application of a relational database in integrated circuit design
US7587694B1 (en) 2006-07-21 2009-09-08 Ciranova, Inc. System and method for utilizing meta-cells
KR100831271B1 (ko) * 2006-08-16 2008-05-22 동부일렉트로닉스 주식회사 물리적 레이어의 프로그램적 생성을 통한 물리적 레이아웃 데이터를 변경하는 방법
US20080109782A1 (en) 2006-10-18 2008-05-08 Utstarcom, Inc. Method and system for pin assignment
US7698678B2 (en) 2007-05-30 2010-04-13 International Business Machines Corporation Methodology for automated design of vertical parallel plate capacitors
WO2009020431A1 (en) 2007-08-06 2009-02-12 Teo Swee Ann Method for adapting schematics for different manufacturing processes and different operating specifications
US7917877B2 (en) * 2008-05-09 2011-03-29 Cadence Design Systems, Inc. System and method for circuit schematic generation
WO2009144658A1 (en) 2008-05-27 2009-12-03 Nxp B.V. Power switch design method and program
TWI369620B (en) 2008-07-30 2012-08-01 Faraday Tech Corp Method and technique for analogue circuit synthesis
US8001494B2 (en) 2008-10-13 2011-08-16 Taiwan Semiconductor Manufacturing Company, Ltd. Table-based DFM for accurate post-layout analysis
JP5293488B2 (ja) * 2009-08-05 2013-09-18 富士通セミコンダクター株式会社 設計支援プログラム、設計支援装置、および設計支援方法
US8682631B2 (en) 2009-09-03 2014-03-25 Henry Chung-herng Chang Specifications-driven platform for analog, mixed-signal, and radio frequency verification
US8264065B2 (en) * 2009-10-23 2012-09-11 Synopsys, Inc. ESD/antenna diodes for through-silicon vias
US20120005547A1 (en) 2010-06-30 2012-01-05 Chang Chioumin M Scalable system debugger for prototype debugging
CN102385642B (zh) 2010-09-03 2013-02-13 上海华虹Nec电子有限公司 电阻的器件失配的修正方法
US8789008B2 (en) 2010-09-13 2014-07-22 Synopsys Taiwan Co., LTD. Methods for generating device layouts by combining an automated device layout generator with a script
US8607019B2 (en) * 2011-02-15 2013-12-10 Shine C. Chung Circuit and method of a memory compiler based on subtractive approach
US8631381B2 (en) 2011-02-24 2014-01-14 Cadence Design Systems, Inc. Method and system for power delivery network analysis
US8464202B2 (en) 2011-05-24 2013-06-11 Lsi Corporation Fully parameterizable representation of a higher level design entity
US8903698B2 (en) * 2012-05-15 2014-12-02 Fujitsu Limited Generating behavioral models for analog circuits
US9026962B2 (en) * 2012-05-30 2015-05-05 Gumstix, Inc. Integrated electronic design automation system
US8850374B2 (en) 2012-11-06 2014-09-30 Taiwan Semiconductor Manufacturing Company, Ltd. Method of reducing parasitic mismatch
US9183332B2 (en) 2013-04-24 2015-11-10 Bae Systems Information And Electronic Systems Integration Inc. Method for simulation of partial VLSI ASIC design
ITTO20130575A1 (it) * 2013-07-09 2015-01-10 St Microelectronics Srl Procedimento per la progettazione automatica di un circuito elettronico, relativo sistema e prodotto informatico
US9619605B1 (en) * 2013-07-24 2017-04-11 Cadence Design Systems, Inc. System and method for automatically enforcing schematic layout strategy selectively applied to schematic objects
US9158878B2 (en) * 2013-08-23 2015-10-13 Kabushiki Kaisha Toshiba Method and apparatus for generating circuit layout using design model and specification
CN103532554B (zh) 2013-10-23 2016-04-27 中国电子科技集团公司第二十四研究所 电容阵列及其版图设计方法
US9268895B2 (en) * 2013-11-06 2016-02-23 Texas Instruments Incorporated Circuit design synthesis tool with export to a computer-aided design format
US9753895B2 (en) * 2014-02-28 2017-09-05 Taiwan Semiconductor Manufacturing Co., Ltd. Method for process variation analysis of an integrated circuit
US20150269297A1 (en) 2014-03-19 2015-09-24 G-Analog Design Automation Limited Methods for reducing post layout circuit simulation results
US9342647B2 (en) 2014-03-21 2016-05-17 Taiwan Semiconductor Manufacturing Company, Ltd. Integrated circuit design method and apparatus
CN105447222B (zh) * 2014-09-22 2018-09-25 台湾积体电路制造股份有限公司 用于集成电路的工艺变化分析的方法
US9984133B2 (en) * 2014-10-16 2018-05-29 Palantir Technologies Inc. Schematic and database linking system
US9494651B2 (en) 2015-01-08 2016-11-15 Honeywell Limited Method for testing embedded systems
US9672308B1 (en) * 2015-03-11 2017-06-06 Cadence Design Systems, Inc. Methods, systems, and computer program product for implementing three-dimensional operations for electronic designs
US9779193B1 (en) 2015-03-31 2017-10-03 Cadence Design Systems, Inc. Methods, systems, and computer program product for implementing electronic design layouts with symbolic representations
US10783292B1 (en) 2015-05-21 2020-09-22 Pulsic Limited Automated analog layout
US20160350061A1 (en) * 2015-05-29 2016-12-01 Qualcomm Incorporated Remote rendering from a source device to a sink device
KR102180404B1 (ko) * 2015-06-02 2020-11-18 삼성전자주식회사 사용자 단말 장치 및 그 제어 방법
US20170061313A1 (en) * 2015-09-02 2017-03-02 Infineon Technologies Ag System and Method for Estimating a Performance Metric
US9613173B1 (en) 2015-10-01 2017-04-04 Xilinx, Inc. Interactive multi-step physical synthesis
US9842178B2 (en) 2015-10-29 2017-12-12 Cadence Design Systems, Inc. Systems and methods for binding mismatched schematic and layout design hierarchy
US10437953B2 (en) 2016-07-08 2019-10-08 efabless corporation Systems for engineering integrated circuit design and development
WO2018019371A1 (en) 2016-07-27 2018-02-01 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for generating serial mos elements and apparatus and method for generating a circuit layout from a mos transistor circuit schematic
US11157676B2 (en) * 2016-09-20 2021-10-26 Octavo Systems Llc Method for routing bond wires in system in a package (SiP) devices
US10285276B1 (en) 2016-09-23 2019-05-07 Cadence Design Systems, Inc. Method and apparatus to drive layout of arbitrary EM-coil through parametrized cell
US10289793B1 (en) 2017-02-28 2019-05-14 Cadence Design Systems, Inc. System and method to generate schematics from layout-fabrics with a common cross-fabric model
US10063159B1 (en) * 2017-06-30 2018-08-28 Dialog Semiconductor Inc. Adaptive synchronous rectifier sensing deglitch
US20190042684A1 (en) 2017-08-02 2019-02-07 Oracle International Corporation Schematic Driven Analog Circuit Layout Automation
US10558780B1 (en) 2017-09-30 2020-02-11 Cadence Design Systems, Inc. Methods, systems, and computer program product for implementing schematic driven extracted views for an electronic design
US10572618B2 (en) * 2017-11-28 2020-02-25 International Business Machines Corporation Enabling automatic staging for nets or net groups with VHDL attributes
US10770160B2 (en) 2017-11-30 2020-09-08 Attopsemi Technology Co., Ltd Programmable resistive memory formed by bit slices from a standard cell library
US10808333B2 (en) * 2018-01-08 2020-10-20 Totic Technology Inc. Method and apparatus for performing layout designs using stem cells
US10796059B2 (en) 2018-03-22 2020-10-06 Taiwan Semiconductor Manufacturing Company, Ltd. Integrated circuit layout generation method and system
US10846456B2 (en) 2018-05-02 2020-11-24 Taiwan Semiconductor Manufacturing Company Ltd. Integrated circuit modeling methods and systems
US10783296B1 (en) 2018-06-08 2020-09-22 Diakopto, Inc. Matched net and device analysis based on parasitics
US10699051B1 (en) 2018-06-29 2020-06-30 Cadence Design Systems, Inc. Method and system for performing cross-validation for model-based layout recommendations
US10885258B1 (en) 2018-09-25 2021-01-05 Synopsys, Inc. Fixing ESD path resistance errors in circuit design layout
US11281560B2 (en) * 2019-03-19 2022-03-22 Microsoft Technology Licensing, Llc Input/output data transformations when emulating non-traced code with a recorded execution of traced code
US20200410153A1 (en) * 2019-05-30 2020-12-31 Celera, Inc. Automated circuit generation

Also Published As

Publication number Publication date
EP3977327A1 (en) 2022-04-06
SG11202112956WA (en) 2021-12-30
US20230281367A1 (en) 2023-09-07
US11694007B2 (en) 2023-07-04
US11354471B2 (en) 2022-06-07
WO2020243355A1 (en) 2020-12-03
US20200380188A1 (en) 2020-12-03
US20230334207A1 (en) 2023-10-19
CN113950686A (zh) 2022-01-18
US11354472B2 (en) 2022-06-07
US20220043953A1 (en) 2022-02-10
TWI823003B (zh) 2023-11-21
US20230274060A1 (en) 2023-08-31
EP3977327A4 (en) 2023-06-28
US20200380192A1 (en) 2020-12-03
US20200380191A1 (en) 2020-12-03
KR20220012862A (ko) 2022-02-04
US11361134B2 (en) 2022-06-14
US20230274058A1 (en) 2023-08-31
US20230274059A1 (en) 2023-08-31
US20230274057A1 (en) 2023-08-31
TW202113654A (zh) 2021-04-01
TW202407569A (zh) 2024-02-16
US20200410153A1 (en) 2020-12-31

Similar Documents

Publication Publication Date Title
TWI823003B (zh) 自動電路生成
Kahng et al. VLSI physical design: from graph partitioning to timing closure
Crossley et al. BAG: A designer-oriented integrated framework for the development of AMS circuit generators
Xiao et al. Practical placement and routing techniques for analog circuit designs
Yilmaz et al. Analog layout generator for CMOS circuits
US9268894B2 (en) Area optimized driver layout
US7689964B2 (en) System and method for routing connections
US11403448B1 (en) Apparatus and method for mapping foundational components during design porting from one process technology to another process technology
US20210081594A1 (en) Method and system for fabricating integrated circuit with aid of programmable circuit synthesis
US20180150585A1 (en) Method for layout generation with constrained hypergraph partitioning
US7028272B2 (en) Reducing cell library development cycle time
CN112086453B (zh) 多路复用器电路及其形成方法
US12008296B2 (en) Automated circuit generation
US20030195736A1 (en) Method of storing cross-hierarchy coupling data in a hierarchical circuit model
US20230205971A1 (en) Method for designing semiconductor integrated circuit, circuit design system, and control program
US20220237360A1 (en) Method and non-transitory computer readable medium
JP2023080408A (ja) レイアウト設計支援装置、レイアウト設計支援方法、レイアウト設計支援装置及び半導体装置の製造方法
Massier On the structural analysis of CMOS and bipolar analog integrated circuits
Naiknaware et al. Schematic driven module generation for analog circuits with performance optimization and matching considerations
JPH07106423A (ja) 半導体集積回路のレイアウト設計方法
Zhang Systematic modeling and fast simulation of mixed-signal integrated systems in deep submicron technologies

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230529

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240501