JP4400428B2 - 半導体集積回路の設計方法と設計装置並びにプログラム - Google Patents

半導体集積回路の設計方法と設計装置並びにプログラム Download PDF

Info

Publication number
JP4400428B2
JP4400428B2 JP2004337858A JP2004337858A JP4400428B2 JP 4400428 B2 JP4400428 B2 JP 4400428B2 JP 2004337858 A JP2004337858 A JP 2004337858A JP 2004337858 A JP2004337858 A JP 2004337858A JP 4400428 B2 JP4400428 B2 JP 4400428B2
Authority
JP
Japan
Prior art keywords
cells
circuit diagram
diagram information
cell
arrangement order
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004337858A
Other languages
English (en)
Other versions
JP2006146712A (ja
Inventor
知宏 北野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Micron Memory Japan Ltd
Original Assignee
Elpida Memory Inc
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 Elpida Memory Inc filed Critical Elpida Memory Inc
Priority to JP2004337858A priority Critical patent/JP4400428B2/ja
Priority to US11/281,590 priority patent/US7730431B2/en
Publication of JP2006146712A publication Critical patent/JP2006146712A/ja
Application granted granted Critical
Publication of JP4400428B2 publication Critical patent/JP4400428B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Architecture (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

本発明は、半導体集積回路の設計技術に関し、特にスタンダードセル方式の設計に適用して好適な方法と装置並びにプログラムに関する。
従来、半導体集積回路のレイアウト設計方法には、ゲートアレイ、フルカスタム、スタンダードセルの3種類による方法がある。
ゲートアレイは、事前に規則的に配置されたトランジスタを配線接続の変更のみで設計するものである。このため、メモリ製品のように集積度を追求する半導体には適用できない。
フルカスタムは、高性能な半導体が設計できるが、設計者がレイアウトパターンを見ながら物理的な座標に手作業でセルを配置していくため、開発に長い期間と手間がかかり、短期間で設計する半導体には適用できない。
スタンダードセルによる設計方法は、自動でセルを配置していく方式であることから、短期間で設計する半導体に適しており、近年多用されている。しかしながら、従来のスタンダードセルの自動配置方法は、基本的に、一定の規則に従って単純にセルを配置していくというものである。このため、1つ1つのセル同士の配置位置を最適化して性能を引き出すような設計には適していない。したがって、スタンダードセル設計方式によって、回路品質を重視した設計を行うことは、困難である。また、グループ化という技術により、複数のセルを1つのグループとして定義し、そのグループに所属するセル同士を自動的に近くに配置するということは可能であるが、同じグループ内のセル同士の相対的な配置位置関係を指定することはできない。このため、設計者が所望したセルの配置順序にはならず、最適化した回路の設計ができなかった。
なお、タイミング制約、配置の最適化等の自動設計に関する文献として、例えば特許文献1には、グループの入力端子及び出力端子に近く、クリティカルパスに関連する論理セルは、より外側の分割領域に配置され、入力端子及び出力端子からの段数が大きい論理セルはより内側の分割領域に配置されるので、回路構成を反映した自動配置が可能となり、タイミング制約条件を満たしながら設計期間を短縮化する配置方法が提案されている。また特許文献2には、タイミング制約に関係するフリップフロップ同士の接続関係を表すネットリストを生成し、このネットリストにしたがってフリップフロップの配置位置を決めた上で、レイアウト設計を行い、短い処理時間でLSIのタイミング制約が確実に満たされるようにした設計方法が開示されている。また特許文献3には、スタンダードセル方式の配置設計において、配線分布密度の偏りの少ない配置設計を得る方法が開示されている。また特許文献4には、内部セルを一列に並べるセル配置領域にモジュールを分割し、内部セルのセル列への割り付けを最適化し、内部セルのセル列内における配置を最適化する工程を含む方法が記載されている。特許文献5には、セルの挿入、交換、削除の設計変更を自動配置設計途中に取り込み、タイミングの判定、設計変更、配置回線のループを形成し、自動修正処理を短時間で実現するようにした方法が開示されている。さらに特許文献6には、多数のハードマクロを含んだLSIであっても、人手を介することなく、高品質なモジュール配置を実現できるようにした方法が開示されている。
特開2001−68551号公報 特開平10−74842号公報 特開平10−189750号公報 特許第2800781号公報 特許3256597号公報 特許3433025号公報
従来のスタンダードセルによる自動設計方法等において、回路品質を重視した設計を実施する場合、
・同じタイミングが要求される回路のセル配置、
・クリティカルパスと重要でないパスとの切り分け、
・メモリの入出力回路のような、複数の、同じ特性を持たせる必要がある回路のまとまりを一度に設計すること、
・アンプ回路のような対称的な特性を持たせる必要がある回路の設計を行うこと、
ができない。その理由は、スタンダードセルによる自動設計方法では、セルを一定の規則で自動配置するため、回路の特徴を把握している設計者の意図とは異なった位置関係に、セルが配置されてしまうことに起因する。
例えば図14に示す回路では、
・141の部分は、3系統の回路において、同じ特性を持たせるようなセル配置が必要であり、
・142の素子Qは、141の素子D1、D2、D3の全てに近い位置にセルを配置する必要があり、
・143の部分は特性に余裕がある回路であるため、他のセルに比べて優先度の低い位置に配置しても良いことになっている。
この回路を、現在主流のスタンダードセル方式の総配線長が短くなるようなアルゴリズムを用いて、セル配置した例を図17に示す。図17の171、172、173、174、175は、図14の141、142、143、144、145にそれぞれ対応する。このアルゴリズムでは、図14の141の部分と143の部分の切り分けができないため、優先度の低い143の部分が、優先度が高い141の部分の間に入り込んでしまい、それぞれのセルが、図17の171、173のように配置されることになる。このため、141の3系統の回路の特性がバラバラになるようなセルの配置になっている。
また、図14の141の素子D1、D2、D3と142の素子Qが、図17の171、172のように配置されてしまい、それらを接続する図14の145の配線bが、図17の175のように経路が冗長になってしまい、回路品質の劣化や、他の配線を配置する際の障害になる。
図14の144の配線aも、図17の174のように配置されてしまい、3系統の回路で均一な入力にならず、同様な問題が発生する。
したがって、本発明の目的は、品質の高いレイアウトを短時間で作成することを可能とする設計方法と装置並びにプログラムを提供することにある。また、本発明は、スタンダードセルによる自動設計を用いて、上記目的を達成するとともに、クリティカルパスの高速化を実現し、複数の入力配線に同一速度の信号の供給を可能とする設計方法と装置並びにプログラムを提供することもその目的としている。
本願で開示される発明は、上記目的を達成するため、概略以下の構成とされる。
本発明の設計方法は、回路図情報に付加した優先枠に従い、自動的にセルの相対的な配置順序を決定する手段と、その回路図情報が持つセルの相対的な配置順序に従い、セルを所望した相対的な位置関係に配置する。
本発明の1つのアスペクトに係る方法は、コンピュータを用いた半導体装置の設計方法であって、回路図情報を入力し、前記回路図情報に対してセルの相対的な配置順序を付与する第1の工程と、前記回路図情報に付与された配置順序にしたがってセルを相対的な位置関係に自動配置する第2の工程と、を含む。
本発明の他のアスペクトに係る方法は、コンピュータを用いた半導体装置の設計方法であって、回路図情報を入力し、前記回路図情報に対してセルの相対的な配置情報に加えグループ番号を付与する第1の工程と、同一グループ番号を持つセルに関して前記回路図情報に付加された配置順序に従って、相対的な位置関係に自動配置する第2の工程と、
を含む。
本発明の1つのアスペクトに係る装置は、半導体装置の設定装置であって、回路図情報を入力し、前記回路図情報に対してセルの相対的な配置順序を付与する手段と、前記回路図情報に付与された配置順序に従ってセルを相対的な位置関係に自動配置する手段と、を含む。本発明において、前記セルの相対的な配置順序を付与する手段は、前記セルの相対的な配置順序を決定するにあたり、前記回路図情報において指定された方向に複数の領域に分割された各領域ごとに素子の検索を行い、素子が検索された場合に、前記セルの配置番号を付与する構成としてもよい。また、本発明において、前記セルの相対的な配置順序を付与する手段は、セルの相対的な配置順序を決定するにあたり、前記回路図情報に設定された優先枠を用い、前記優先枠の優先度の順に、セルの相対的な配置順序を決定する構成としてもよい。
本発明の他のアスペクトに係る装置は、回路図情報を入力し、前記回路図情報に対してセルの相対的な配置情報に加えグループ番号を付与する配置順序決定手段と、同一グループ番号を持つセルに関して前記回路図情報に付加された配置順序に従って、相対的な位置関係に自動配置する配置手段と、を含む。
本発明の1つのアスペクトに係るプログラムは、半導体装置の設計装置を構成するコンピュータに、回路図情報を入力し、前記回路図情報に対してセルの相対的な配置順序を付与する第1の処理と、前記回路図情報に付与された配置順序に従ってセルを相対的な位置関係に自動配置する第2の処理と、を実行させるプログラムよりなる。
本発明の他のアスペクトに係るプログラムは、半導体装置の設計装置を構成するコンピュータに、回路図情報を入力し、前記回路図情報に対してセルの相対的な配置情報に加えグループ番号を付与する処理と、同一グループ番号を持つセルに関して前記回路図情報に付加された配置順序に従って、相対的な位置関係に自動配置する処理と、を実行させるプログラムよりなる。
本発明によれば、スタンダードセルによる自動設計方法等において、回路設計時に優先枠という素子配置の簡単な指定をするだけで、セルを自動配置する際の相対的な配置順序を回路設計時に決定することができ、クリティカルパスの高速化や、複数の入力配線に同一速度の信号の供給を可能とする品質の高いレイアウトを短時間で作成することが可能となる。
次に、本発明の実施形態について、図1乃至図5を参照して詳細に説明する。図1は、本発明の一実施形態の設計方法を説明する図である。図1を参照すると、本実施形態では、回路図情報に、例えば後述する優先枠を付加した回路図情報11(回路接続情報及び素子情報を含む)を作成し、回路図情報11から自動的にセルの相対的な配置順序を決定する手段12を備え、該手段12によって決定されたセルの配置順序の情報に従い、相対的な位置関係を保ったまま、実際に、セルを自動配置する手段13と、を備えている。
回路図情報11として、例えば図3に示すような回路を設計するものとする。図3の回路は、入力Jから出力Mへのパス32(素子A、素子B、素子Cを含む)と、入力Jから出力Nへのパス33(素子A、素子D、素子Eを含む)のタイミングを完全に一致させる必要があるため、回路設計者は、通常、図5に示すような、セルの配置順序を考える。
図5は、回路設計者が設計目標とする、回路品質を最適化したセルの配置順序である。スタンダードセルの1列(セル列)の中央に、セルA(入力Jに接続される)が配置され、その左側に、セルB、Cが配置され、右側にセルD、Eが配置されている。なお、図5は、図3の回路図情報を基に、本実施形態により、自動的にセルを配置した結果を示す図である。
図2は、セルの相対的な配置順序を決定する手段12の処理手順の詳細を示したフローチャートである。図1及び図2のフローチャートを用いて、本実施形態の設計方法について説明する。なお、図2の処理は、半導体装置の設計装置を構成するコンピュータで実行されるプログラムにより実現される。
配置番号を初期値に設定する(ステップ21)。初期値は1とする。
回路図情報に対して指定された方向に素子を検索する(ステップ22)。検索は、縦方向もしくは横方向に、素子の存在を確認することで行われる。本実施形態では、図3の回路図情報を、図4の46〜48のように、縦方向に、予め設定された幅(例えば回路設計者が設定する)で、自動的に領域を区切り、左端の領域46から右端の領域48に向かって、素子が存在するか否か検索している。自動的に領域の区切り方としては、縦方向以外にも、横方向や斜め方向、またそれ以外の規則で区切る方法も適用できる。縦方向に予め設定された幅は、自動で設定するようにしてもよい。
図4において、46〜48は、図1の自動的にセルの相対的な配置順序を決定する手段12が素子を検索する領域を示している。また、41〜45は、該手段12によって自動的に決定された配置順序を示す。
図1の自動的にセルの相対的な配置順序を決定する手段12により、検索対象の領域内で素子が検索された場合(ステップ24のYES分岐)、セルの配置番号を付与すると同時に、配置番号を繰り上げる(ステップ25)自動的にセルの相対的な配置順序を決定する手段12は、図4の領域41では、素子Cが検索されるため、セルの配置番号1を付与し、配置番号を1つインクリメントして2とし、領域42では、素子Bが検索されるため、セルの配置番号2を付与し、配置番号を1つインクリメントして3とし、領域43では、素子Aが検索されるため、セルの配置番号3を付与し、配置番号を1つインクリメントして4とし、領域44では、素子Dが検索されるため、セルの配置番号4を付与し、配置番号を1つインクリメントして5とし、領域45では、素子Eが検索されるため、セルの配置番号5を付与し、配置番号を6とする。
回路図情報の全ての素子が検索済の場合(ステップ24のNO分岐)、自動的にセルの配置順序を決定する手段12の処理は終了する。この時点で、回路図情報には、図4の41〜45のように、セルの相対的な配置順序が付与されている状態となる。図4は、図1のセルの相対的な配置順序を決定する手段12による処理が終了した段階での回路図情報である。複数(5個)のセルC、B、A、D、Eにそれぞれ番号1〜番号5が付与される。この状態から、回路図情報に付与されている相対的な配置順序に従い、セルを自動的に配置していく。その結果、セルの配置順序が、回路設計者が最適であると考えた、図5のような配置になり、タイミングを最適化した設計が可能になる。図3のパス31、32、33は、図5のパス51、52、53に対応している。
次に本発明の第2の実施形態について説明する。本実施形態と前記実施形態との相違点は、本実施形態では、配置順序を特徴付ける優先枠を用いている点である。本実施形態における設計方法は、前記第1の実施形態と同様、図1に従う。
図6は、本実施形態におけるセルの相対的な配置順序を決定する手段12の手段を詳細に示したフローチャートである。本実施形態は、前記第1の実施形態と異なり、優先枠を使用して設計する処理手順になっている。図6の処理は、半導体装置の設計装置を構成するコンピュータで実行されるプログラムにより実現される。
図7は、本実施形態を説明するための回路図情報である。71が1番目の優先枠、72が2番目の優先枠、73がスピードを最速にする必要があるクリティカルパス、74は多少配線長が伸びても問題がないディレイパス、75はディレイへの入力パス、76はディレイの出力パスを示している。図1の回路図情報として、図7のような回路図情報を設計し、優先枠71と72を設定する。この回路の特徴としては、クリティカルパス73の総配線長を極力短くする必要があるが、ディレイパス74の配線長は、多少伸びても問題ない回路である。
そこで、この回路を、2つの領域(優先枠)71と72に分け、これらの領域間を結ぶディレイパス75、76への入出力部の配線長を伸ばすことにより、クリティカルパス73とディレイパス74をそれぞれまとめてセルを配置するというのが、最もタイミングを最適化した設計になる。そこで、回路図情報に、1番目の優先枠71と2番目の優先枠72を設定しておく。
図6を参照すると、配置番号を初期値に設定する(ステップ61)。初期値は、本実施形態では1とする。
次に、素子の検索領域を、回路図情報に設定した一番優先度の高い優先枠に設定する(ステップ62)。
まず、1番目の優先枠の領域について、素子の検索を実施する(ステップ63)。本実施形態では、前記実施形態と同様に、縦方向に領域を区切り、左の領域から右の領域に向かって素子が存在することを検索している。
検索対象の領域内で素子が検索された場合(ステップ64のYES分岐)、セルの配置番号を付与し、配置番号を繰り上げる(ステップ65)。
検索対象の領域内の、全ての素子が検索済の場合(ステップ64のNO分岐)、ステップ66に進む。
全ての優先枠の領域を検索していない場合(ステップ66のNO分岐)、ステップ67において、検索領域番号をあらかじめ設定された領域の優先度に従い、繰り上げ、次の検索領域に対して、ステップ63から検索を再開する。
全ての領域を検索済の場合(ステップ66のYES分岐)、自動的にセルの配置順序を決定する手段12の処理は終了する。この時点で、回路図情報には、図8における81〜87のように、セルの相対的な配置順序が付与されている状態となり、この回路図情報を見るだけで、セル配置位置が容易に予測できる。図8は、図1の手段12を経た回路図情報である。81〜87は、前記した手段12によって自動的に決定された配置順序を示している。領域(優先枠)71の素子A、F、Gは、配置順序1、2、3が付与され、領域(優先枠)72の素子B、C、D、Eは、配置順序4、5、6、7が付与される。
その後、回路図情報に自動的に付与された相対的な配置順序に従い、セルを配置する(配置順序1から7の順に左から右に配置)と、図7のクリティカルパス73は、図9の93のような配置になり、配線長を最短にできる。図9は、回路設計者が設計目標とする、回路品質を最適化したセルの配置順序であり、また図7の回路図情報を元に本発明で自動的にセルを配置した結果でもある。
また、図7のディレイパスへの入出力75、76は、図9の95、96のように、クリティカルパスに影響を与えないようなセル配置になり、最終的なセルの配置順序が、回路設計者が最適と考えた配置になるため、タイミングを最適化した設計が可能になる。
次に、本発明の第3の実施形態について説明する。本実施形態の設計方法は、図1、図6を参照して説明した第2の実施形態と同じである。図10は、本実施形態を示す回路図情報である。101が1番目の優先枠、102が2番目の優先枠、103が3番目の優先枠、104が4番目の優先枠である。図11は、回路設計者が設計目標とする、回路品質を最適化したセルの配置順序であり、また図10の回路図情報を元に、本実施形態により自動的にセルを配置した結果でもある。
次に、図1と、図6のフローチャートを用いて、本実施形態の設計方法について説明する。
図1の回路図情報11として、図10のような回路図情報を設計し、優先枠101〜104を設定する。この回路の特徴としては、101、103、104は、同じ特性を持つ回路であり、それぞれでセル間の配線の引き回し形状を全て揃える必要がある。
図1の手段12では、回路図情報11に、自動的にセルの相対的な配置順序を決定付与するものであり、図6のフローチャートに示す手順で実現する。この手順は、前記第2の実施形態と同じであることから、詳細な説明は省略する。
図1の自動的にセルの相対的な配置順序を決定する手段12の処理が完了した時点で、回路図情報には、図10の105のように、全ての素子に対して、セルの相対的な配置順序が付与されている状態となり、この回路図情報を見るだけで、セル配置位置が容易に予測できる。
その後、回路図情報に自動的に付与された相対的な配置順序に従い、セルを配置すると、図10の101が図11の111の場所に、102が112の場所に、103が113の場所に、104が114の場所にセルが配置されるため、101、103、104の回路特性が均一になり、最適化した設計が実現できる。
次に、本発明の第4の実施形態について、図1、図6、及び図12と図13を参照して説明する。第4の実施形態の設計手順は、図1、図6を参照して説明した前記第2の実施形態と同じである。
図12は、本実施形態を説明するための回路図情報である。図12において、121〜123が、それぞれ1〜3番目までの優先枠となっている。図13は、回路設計者が設計目標とする、回路品質を最適化したセルの配置順序であり、また図12の回路図情報を元に、本実施形態にしたがって自動的にセルを配置した結果を示す図でもある。
次に、図1及び図6のフローチャートを用いて、本実施形態の設計方法について説明する。
図1の回路図情報11として、図12に示すような回路図情報を設計し、優先枠121〜123を設定する。この回路の特徴としては、優先枠121と123は、優先枠122に関して対称的な特性を持たせるために、対称形状にセルを配置する必要がある。
図1の自動的にセルの相対的な配置順序を決定する手段12では、回路図情報11に、図6のフローチャートに示す手順で配置順序を付与を実現する。この手順は前記第2の実施形態と同じであることから、その詳細な説明は省略する。
図1の自動的にセルの相対的な配置順序を決定する手段12の処理が完了した時点で、回路図情報には、図12の124のように、全ての素子に対してセルの相対的な配置順序が付与されている状態となる。この回路図情報を見るだけで、セル配置位置が容易に予測できる。
その後、回路図情報に自動的に付与された相対的な配置順序に従いセルを配置すると、図12の121〜123が、図13の131〜133の場所にセルが配置され、図12の121と123に対応するセルが対称形状に配置でき、特性の最適化が実現できる。
次に、本発明の第5の実施形態について、図1、図6、及び図14〜16を参照して説明する。本実施形態の設計方法は、図1、図6に示した前記第2の実施形態と同じである。
図14は、本実施形態を説明するための回路図情報である。図14において、141〜143はそれぞれ特徴が異なる回路部分を示している。また、144、145は特定の配線を、146〜148は1〜3番目までの優先枠を示している。
図15は、図1の自動的にセルの相対的な配置順序を決定する手段12による処理を経た回路図情報であり、151のように、全ての素子に対して手段12で自動的に決定された配置順序が決定されたことを示している。図16は、回路設計者が設計目標とする、回路品質を最適化したセルの配置順序であり、また図14の回路図情報を元に、本発明で自動的にセルを配置した結果でもある。
次に、図1及び図6のフローチャートを用いて、本実施形態の設計方法について説明する。
図1の回路図情報11として、図14のような回路図情報を設計し、優先枠146〜148を設定する。この回路の特徴としては、141の部分は、3系統の回路を同じ特性を持たせるようなセル配置が必要であり、142の素子Qは、141の素子D1、D2、D3の全てに近い位置にセルを配置する必要があり、また、143の部分は、特性に余裕がある回路であるため、他のセルに比べて優先度の低い位置に配置しても良いことになっている。
図1の自動的にセルの相対的な配置順序を決定する手段12では、回路図情報11に、図6のフローチャートに示す手順にしたがってセルの相対的な配置順序を付与する。この手順は、前記した第2の実施形態と同じであることから、その詳細な説明は省略する。
図1の自動的にセルの相対的な配置順序を決定する手段12の処理が完了した時点で、回路図情報には、151のように、全ての素子に対してセルの相対的な配置順序が付与されている状態となる。この回路図情報を見るだけで、セル配置位置が容易に予測できる。
その後、回路図情報に自動的に付与された相対的な配置順序に従いセルを配置するが、第5の実施形態では、前記第1乃至4の実施形態ように、セルを一列に配置するのではなく、優先枠が変わると、セル配置の段数を1段変更するというアルゴリズムを適用することで、図16に示すように、セルを3段に自動配置することができる。その結果、図14の146〜148が、図16の166〜168の位置に配置されることになり、図14の141の部分は、図16の161のように、3系統の回路が同じ形状にセルを配置できる。また、図14の142の素子Qと141の素子D1、D2、D3についても、図16の162と161に示すように、全て近い位置にセルを配置できるため、図14の145の配線bも、図16の165のように最短経路になるように配線できる。
図14の143の部分についても、図16の163のように、配置するセルを設計するセル領域の端に寄せることができ、その結果、他の優先度の高いセルの配置や、セル間の配線を妨げるような問題が発生しない構成とされている。
<実施形態の作用効果>
上記各実施形態において、セルを実際に配置する前に、相対的な位置関係を回路設計者が設定、把握することができ、回路設計者が意図しなかった位置にセルが配置されてしまうという問題の発生を回避している。上記した本発明の実施形態は、以下のような作用効果を奏する。
本発明の第1の実施形態の作用効果として、複数の入力配線に同一速度の信号の供給を必要とするような、タイミングを揃える回路の設計が可能になる。図3のような回路では、入力J〜出力Mのパス32と、入力J〜出力Nのパス33を、完全に同じタイミングに設計する必要があるが、それを実現するためには32と33のパスの距離が等しくなるように設計する。本実施形態では、図5のように52のパスと、53のパスが等距離になるように、セルの配置を最適化することができる。
本発明の第2の実施形態の作用効果として、クリティカルパスと重要でないパスを切り分けた設計が可能になる。クリティカルパスとは、スピードを最速にする必要があるパスのことであり、セルを隣接して配置させ、各セル間を接続する配線を最短にし、配線抵抗と配線容量を極力削減する必要がある。図7に示す回路では、73はクリティカルパスである。74は、73と比較すると重要ではないパスである。特に75と76の配線には多少の抵抗、容量がついても問題なく、73のパスを優先して設計する必要がある。本実施形態では、図9のように、91のクリティカルパス領域と、92の重要でない領域に切り分けてセルを隣接配置することにより、最適化した回路の設計が実現できる。
本発明の第3の実施形態の作用効果として、メモリの入出力回路のような、複数の、同じ特性を持たせる必要がある回路のまとまりを、一度に設計できる。図10に示す回路では、101と103、104は同じ特性を持つ回路である。同じ特性に設計するためには、セル間を配線の引き回し形状を全て揃えることが、一番効果が高い。本発明では図10の101、103、104を、図11の111、113、114のような位置関係でセルを配置することが可能であることから、特性の最適化が実現できる。
本発明の第4の実施形態の作用効果として、アンプ回路のような、対照的な特性を持たせる必要がある回路を設計できる。図12は、この類の回路の一例であり、121と123は対称的な特性を持たせるために、対称形状にセルを配置し配線する必要がある。本発明では図13のようにセルを配置することが可能であり、図12の121、123を、図13の131、133のように配置することで、回路特性を最適化した設計が実現できる。
本発明の第5の実施形態の作用効果として、第1乃至第4の実施形態の回路を組み合わせたような複雑な回路で、従来技術のセルの自動配置方法では設計できなかった回路についても、本発明を適用することにより、クリティカルパスと重要でないパスの切り分けと、複数系統の同じ特性を持たせる回路に適したセル配置と、セル配置後の配線形状が最適化できるようなセル配置の全てが、回路図情報作成時に指定でき、セルの自動配置も一回で最適化した形状で完了できる。
次に、本発明の第6の実施形態として、スタンダードセル方式の自動配置アルゴリズムと組み合わせた実施形態について説明する。
図18は、本実施形態による設計方法を示している。図18において、181は、回路図情報である。例えば図19は、これに該当する回路図情報であるが、191と192のパスはクリティカルパスであり、セルは連続的に隣接して配置される必要がある。その他の素子はあまり重要ではないパスであり、セルの配置位置を特別に考慮する必要はない。
182は、181の回路図情報に対し、設計者が回路品質を考慮し、セルの配置順序を指定する必要のある素子に対してのみ、セルの相対的な配置順序を指定する手段である。前記実施形態と異なる点は、配置順序を全ての素子に対して指定するのではなく、クリティカルパスに関するものなど必要な素子のみに対して指定する。また、配置順序だけの指定ではなく、接続関係を持つ素子同士に同じグループ番号を付与する。
図19の回路図情報に、配置順序とグループ番号を指定したものが図20となる。図20の201がグループ番号、202がセルの相対的な配置順序である。
183は、スタンダードセル方式のアルゴリズムでセルを自動配置する手段であるが、グループ番号が指定されたセルが配置される際に、そのグループ番号を持つ全てのセルを、182で指定したセルの相対的な配置順序を保ったまま配置する。例えば図20の203に対応するセルが配置される際に、同じグループ番号を持つ204、205の素子に対応するセルが、182で指定したセルの配置順序に従い連続的に配置される。
その結果、セルの配置順序が、回路設計者が最適であるとしている図21のような順序になり、図19のクリティカルパス191が図21の211のように、また図19のクリティカルパス192が図21の212のように、所望な配置順序が守られることになる。
以上、本発明の半導体装置の設計方法について説明したが、上記設計方法の処理(図1、図2、図6、図18等の処理)を、不図示のコンピュータで実行されるプログラムによって実装することで、半導体装置の自動設計装置が提供される。
以上本発明を上記実施形態に即して説明したが、本発明は上記実施形態の構成にのみ限定されるものでなく、本発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
本発明の第1の実施形態の構成を説明するための図である。 本発明の第1の実施形態においてセルの相対的な配置順序を決定する手段の処理を示したフローチャートである。 本発明の第1の実施形態を説明するための回路図情報である。 本発明の第1の実施形態においてセルの相対的な配置順序を決定する手段による処理が終了した段階での回路図情報である。 本発明の第1の実施形態において図3の回路図情報を基に自動的にセルを配置した結果を示す図である。 本発明の第2の実施形態におけるセルの相対的な配置順序を決定する手段の処理を示したフローチャートである。 本発明の第2の実施形態を説明するための回路図情報である 本発明の第2の実施形態においてセルの相対的な配置順序を決定する手段による処理が終了した段階での回路図情報である。 本発明の第2の実施形態において図7の回路図情報を基に自動的にセルを配置した結果を示す図である。 本発明の第3の実施形態を説明するための回路図情報である 本発明の第3の実施形態において図10の回路図情報を基に自動的にセルを配置した結果を示す図である。 本発明の第4の実施形態を説明するための回路図情報である 本発明の第4の実施形態において図12の回路図情報を基に自動的にセルを配置した結果を示す図である。 本発明の第5の実施形態を説明するための回路図情報である 本発明の第5の実施形態において図14の回路図情報を基に自動的にセルを配置した結果を示す図である。 本発明の第5の実施形態において図14の回路図情報を基に自動的にセルを配置した結果を示す図である。 スタンダードセル方式の総配線長が短くなるようなアルゴリズムでセル配置した例を示す図である。 本発明の第6の実施形態の構成を説明するための図である。 本発明の第6の実施形態を説明するための回路図情報である。 本発明の第6の実施形態により配置順序とグループ番号を指定した図である。 本発明の第6の実施形態において図19の回路図情報を基に自動的にセルを配置した結果を示す図である。
符号の説明
11、181 回路図情報
12 セルの相対的な配置順序を決定する手段
13 セルを自動配置する手段
31、32、33、51、52、53 パス
71、72、91、92、101〜104、111〜114、121〜123、131〜133、146〜148、166〜168 優先枠
73、74、75、76、93、95、96 パス
81〜87、105、124、151 配置順序
41〜48 領域
141、143、161、163、171、173 部分
142、162、172 素子
182 セルの相対的な配置順序に加えグループ番号を指定できる手段
183 同一グループ番号をもつセルに関してセルの相対的な位置関係を保ったまま配置する手段
191、192、211、212 クリティカルパス
201 グループ番号
202 セルの相対的な配置順序
203〜205 素子

Claims (9)

  1. コンピュータを用いた半導体装置の設計方法であって、
    前記コンピュータが、回路図情報を入力し、前記回路図情報に対してセルの相対的な配置順序を付与する第1の工程と、
    前記コンピュータが、前記回路図情報に付与された配置順序にしたがってセルを相対的な位置関係に自動配置する第2の工程と、
    を含み、
    前記第1の工程において、前記コンピュータが、前記セルの相対的な配置順序を決定するにあたり、前記回路図情報において指定された方向に複数の領域に分割された各領域ごとに素子の検索を行い、素子が検索された場合に、前記セルの配置番号を付与し、
    前記第1の工程において、前記コンピュータが、セルの相対的な配置順序を決定するにあたり、前記回路図情報に予め設定された優先枠であって他の素子に対して優先的に配置すべき素子を指定する優先枠を用い、前記優先枠の優先度の順に、セルの相対的な配置順序を決定する、ことを特徴とする半導体装置の設計方法。
  2. 前記第1の工程において、前記コンピュータが、前記優先枠内のm(ただし、mは正整数)個の素子に対応する第1乃至第mのセルには連続するm個の配置番号を付与し、
    前記第2の工程は、前記優先枠内の第1乃至第mのセルをセル列内で連続して配置する、ことを特徴とする請求項記載の半導体装置の設計方法。
  3. 前記回路図情報において、クリティカルパスを含む領域の優先枠は、クリティカルパスを含まない領域よりも高い優先度に予め設定されている、ことを特徴とする請求項記載の半導体装置の設計方法。
  4. 前記回路図情報が、複数の回路ブロックに対して他の1つの回路ブロックから信号を共通に与える構成を含み、
    前記複数の回路ブロックのうちの少なくとも1つの回路ブロックを含む優先枠内のセルに付与される配置番号の上限と、前記他の1つの回路ブロックの優先枠内のセルに付与される配置番号の下限が相隣る値に予め設定されている、ことを特徴とする請求項記載の半導体装置の設計方法。
  5. コンピュータを用いた半導体装置の設計方法であって、
    前記コンピュータが、回路図情報を入力し、前記回路図情報に対してセルの相対的な配置順序を付与する第1の工程と、
    前記コンピュータが、前記回路図情報に付与された配置順序にしたがってセルを相対的な位置関係に自動配置する第2の工程と、
    を含み、
    前記第1の工程において、前記コンピュータが、前記セルの相対的な配置順序を決定するにあたり、前記回路図情報において指定された方向に複数の領域に分割された各領域ごとに素子の検索を行い、素子が検索された場合に、前記セルの配置番号を付与し、
    前記第1の工程において、前記コンピュータが、
    配置番号を初期値に設定する工程と、
    前記回路図情報に設定された優先枠について、優先度の順に、
    優先枠の領域について素子の検索を行い、その際、前記回路図情報に対して、予め定められた第1の方向に沿って素子を検索するにあたり、前記第1の方向に関して予め定められた第2の方向に予め設定された幅で複数に分割された領域について一端の領域から前記一端と反対側の領域に向かって素子が存在するか否か検索する工程と、
    検索対象の領域内で素子が検索された場合、セルの配置番号を付与し、配置番号を繰り上げる工程と、
    を全ての優先枠について行う、ことを特徴とする半導体装置の設計方法。
  6. 前記回路図情報に付与された優先枠が変わると、前記第2の工程において、前記コンピュータが、セル配置のセル列の段数を変更する工程を含む、ことを特徴とする請求項記載の半導体装置の設計方法。
  7. セルを配置する前記第2の工程の前に、セル配置の相対的な位置関係を設計者が設定し把握可能としている、ことを特徴とする請求項1乃至のいずれか一に記載の半導体装置の設計方法。
  8. 半導体装置の設計装置であって、
    回路図情報を入力し、前記回路図情報に対してセルの相対的な配置順序を付与する手段と、
    前記回路図情報に付与された配置順序に従ってセルを相対的な位置関係に自動配置する手段と、
    を含み、
    前記セルの相対的な配置順序を付与する手段は、前記セルの相対的な配置順序を決定するにあたり、前記回路図情報において指定された方向に複数の領域に分割された各領域ごとに素子の検索を行い、素子が検索された場合に、前記セルの配置番号を付与し、
    前記セルの相対的な配置順序を付与する手段は、セルの相対的な配置順序を決定するにあたり、前記回路図情報に予め設定された優先枠であって他の素子に対して優先的に配置すべき素子を指定する優先枠を用い、前記優先枠の優先度の順に、セルの相対的な配置順序を決定する、ことを特徴とする設計装置。
  9. 半導体装置の設計装置であって、
    回路図情報を入力し、前記回路図情報に対してセルの相対的な配置順序を付与する手段と、
    前記回路図情報に付与された配置順序に従ってセルを相対的な位置関係に自動配置する手段と、
    を含み、
    前記セルの相対的な配置順序を付与する手段は、前記セルの相対的な配置順序を決定するにあたり、前記回路図情報において指定された方向に複数の領域に分割された各領域ごとに素子の検索を行い、素子が検索された場合に、前記セルの配置番号を付与し、
    前記セルの相対的な配置順序を付与する手段は、配置番号を初期値に設定し、
    前記回路図情報に予め設定された優先枠について優先度の順に、
    設定された優先枠の領域について素子の検索を行い、その際、前記回路図情報に対して、予め定められた第1の方向に沿って素子を検索するにあたり、前記第1の方向に関して予め定められた第2の方向に予め設定された幅で複数に分割された領域について一端の領域から前記一端と反対側の領域に向かって素子が存在するか否か検索し、検索対象の領域内で素子が検索された場合、セルの配置番号を付与し、配置番号を繰り上げる処理を、全ての優先枠について行う、ことを特徴とする設計装置。
JP2004337858A 2004-11-22 2004-11-22 半導体集積回路の設計方法と設計装置並びにプログラム Expired - Fee Related JP4400428B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004337858A JP4400428B2 (ja) 2004-11-22 2004-11-22 半導体集積回路の設計方法と設計装置並びにプログラム
US11/281,590 US7730431B2 (en) 2004-11-22 2005-11-18 Design method, design apparatus, and computer program for semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004337858A JP4400428B2 (ja) 2004-11-22 2004-11-22 半導体集積回路の設計方法と設計装置並びにプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2009188277A Division JP2009277245A (ja) 2009-08-17 2009-08-17 半導体集積回路の設計方法と設計装置並びにプログラム

Publications (2)

Publication Number Publication Date
JP2006146712A JP2006146712A (ja) 2006-06-08
JP4400428B2 true JP4400428B2 (ja) 2010-01-20

Family

ID=36462313

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004337858A Expired - Fee Related JP4400428B2 (ja) 2004-11-22 2004-11-22 半導体集積回路の設計方法と設計装置並びにプログラム

Country Status (2)

Country Link
US (1) US7730431B2 (ja)
JP (1) JP4400428B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4997860B2 (ja) * 2006-07-27 2012-08-08 富士通株式会社 集積回路設計支援プログラム、集積回路設計支援装置及び集積回路設計支援方法
US20090288053A1 (en) * 2008-05-13 2009-11-19 Brown Jeffrey S Methods of cell association for automated distance management in integrated circuit design
US8234615B2 (en) * 2010-08-04 2012-07-31 International Business Machines Corporation Constraint programming based method for bus-aware macro-block pin placement in a hierarchical integrated circuit layout
CN103049590A (zh) * 2011-10-14 2013-04-17 鸿富锦精密工业(深圳)有限公司 信号线检查系统及方法
US10133840B2 (en) 2015-12-04 2018-11-20 International Business Machines Corporation Priority based circuit synthesis
KR20210008248A (ko) 2019-07-12 2021-01-21 삼성전자주식회사 반도체 회로의 설계 시스템 및 이의 동작 방법

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05326704A (ja) 1992-05-15 1993-12-10 Hitachi Ltd 半導体レイアウト設計方法及び装置
JP3256597B2 (ja) 1993-06-21 2002-02-12 株式会社東芝 自動配置設計方法および自動配置設計装置
JP2773771B2 (ja) 1996-03-05 1998-07-09 日本電気株式会社 半導体装置のレイアウト方法
JP2800781B2 (ja) 1996-06-04 1998-09-21 日本電気株式会社 半導体集積回路の最適配置方法
JP3084255B2 (ja) 1996-06-27 2000-09-04 松下電器産業株式会社 Lsiレイアウト設計方法
JP2877086B2 (ja) 1996-06-28 1999-03-31 日本電気株式会社 回路図面生成装置及び回路図面生成方法
JPH1092941A (ja) 1996-09-17 1998-04-10 Seiko Epson Corp 配置レイアウト方法
JP3433025B2 (ja) 1996-10-08 2003-08-04 株式会社東芝 モジュール配置方法
JP3455085B2 (ja) 1996-10-21 2003-10-06 東芝マイクロエレクトロニクス株式会社 セル自動配置方法
JPH11111846A (ja) 1997-09-30 1999-04-23 Kawasaki Steel Corp 配置配線方法
JP2001068551A (ja) 1999-08-30 2001-03-16 Nec Ic Microcomput Syst Ltd 半導体集積回路の配置方法
US6757878B2 (en) * 2001-12-31 2004-06-29 Intel Corporation Method and apparatus for layout synthesis of regular structures using relative placement
US6892374B2 (en) * 2002-06-19 2005-05-10 Bruno P. Melli Systems and methods for generating an artwork representation according to a circuit fabrication process
JP2004030308A (ja) * 2002-06-26 2004-01-29 Nec Micro Systems Ltd 半導体集積回路のレイアウト作成方法
US7331026B2 (en) * 2004-10-12 2008-02-12 Cadence Design Systems, Inc. Method and system for generating an initial layout of an integrated circuit

Also Published As

Publication number Publication date
JP2006146712A (ja) 2006-06-08
US7730431B2 (en) 2010-06-01
US20060112362A1 (en) 2006-05-25

Similar Documents

Publication Publication Date Title
US20210019463A1 (en) Computer Implemented System and Method for Generating a Layout of a Cell Defining a Circuit Component
JP3076410B2 (ja) 半導体集積回路の設計方法
US4839821A (en) Automatic cell-layout arranging method and apparatus for polycell logic LSI
JPH077427B2 (ja) ノードの相互接続方法
JP2006323643A (ja) 半導体集積回路のフロアプラン設計プログラム、フロアプラン設計装置、および設計方法
JP4400428B2 (ja) 半導体集積回路の設計方法と設計装置並びにプログラム
JP3006824B2 (ja) 配線設計方法および配線設計装置
US10936784B2 (en) Planning method for power metal lines
US7958467B2 (en) Deterministic system and method for generating wiring layouts for integrated circuits
JPH0714927A (ja) 自動配置設計方法および自動配置設計装置
JP2007335498A (ja) 半導体集積回路の設計方法およびこれを用いて形成された半導体集積回路
JP2009277245A (ja) 半導体集積回路の設計方法と設計装置並びにプログラム
JPH0850600A (ja) データパス自動配置方法及びその装置
JP2970567B2 (ja) 配線電流密度低減システム
JP3465885B2 (ja) 遅延調整用ライブラリ及びそれを使用した遅延調整方法
JP3485311B2 (ja) ダミーパターンレイアウト方法
JP3548398B2 (ja) 概略経路決定方法および概略経路決定方式
JPH08274260A (ja) クロックスキュー低減方法
JPH11214523A (ja) 半導体集積回路装置のレイアウト方法
US20030135837A1 (en) Method and apparatus for automatic arrangement and wiring for a semiconductor integrated circuit design and wiring program therefor
JP5035003B2 (ja) 配線レイアウト装置、配線レイアウト方法及び配線レイアウトプログラム
JP2002342401A (ja) 半導体集積回路の自動配線装置とその配線方法及びコンピュータプログラム
JPH0512384A (ja) 自動配線方法
JP4867708B2 (ja) 半導体集積回路の設計方法および設計装置
JP2004241559A (ja) 伝播遅延調整方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080819

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080902

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090309

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090526

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090817

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090903

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090929

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091019

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121106

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121106

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131106

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees