JP4241582B2 - レイアウト作成装置及びレイアウト作成方法 - Google Patents
レイアウト作成装置及びレイアウト作成方法 Download PDFInfo
- Publication number
- JP4241582B2 JP4241582B2 JP2004332031A JP2004332031A JP4241582B2 JP 4241582 B2 JP4241582 B2 JP 4241582B2 JP 2004332031 A JP2004332031 A JP 2004332031A JP 2004332031 A JP2004332031 A JP 2004332031A JP 4241582 B2 JP4241582 B2 JP 4241582B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- constraint
- arrangement
- sch
- layout
- 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
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Description
(1)V={vi}はオブジェクト(部品)の集合。
(2)Eは有向枝の集合。ここで、viの"related_to"リンクがvjを指すならば、eijは、viからvjへの有向枝とする。
(3)G=(V,E)は互いに非連結な有向グラフの集合。
これらのグラフを「配置グループ」と呼ぶ。
まず、初期配置として各ブロックに適当な位置を与えておいて、
(1)配置ブロック選択手段が、順列M(又はP)の順位に従って、ブロックbiを選択する;
(2)ブロックbiに配置制約a(bi,bj)が設定されていれば、配置制約処理手段は、その配置制約a(bi,bj)に従ってブロックbi又はbjを移動させる;
(3)ブロックbiに設定された配置制約a(bi,bj)の全てに対して配置制約処理手段による移動処理が終わった後、ブロック配置移動手段は、ブロックbiよりも順列M(又はP)の順位が後である全てのブロックについて、ブロックbiに対してシーケンス・ペア(P,M)により(数4)により指定されるブロックbiに対する位置関係が満たされるようにその位置又は前記ブロックbiの位置を移動させる。
まず、初期配置として各ブロックに適当な位置を与えておいて、
(1)配置ブロック選択手段が、順列M(又はP)の順位に従って、ブロックbiを選択する;
(2)ブロックbiに配置制約a(bi,bj)が設定されていれば、配置制約処理手段は、その配置制約a(bi,bj)に従ってブロックbi又はbjを移動させる。このとき、制約参照計数手段は、各配置制約a(bi,bj)が参照された回数を計数する;
(3)ブロックbiに設定された配置制約a(bi,bj)のうちで、β(bj)<β(bi)(又はα(bj)<α(bi))となる配置制約がある場合、選択順位引戻手段が、配置ブロック選択手段のブロック選択順位をβ(bj)(又はα(bj))に引き戻し、(1),(2)の処理を繰り返す。また、参照された回数が所定の回数に達した配置制約が現れた場合、配置制約削除手段はその配置制約を削除する;
(4)ブロックbiに設定された配置制約a(bi,bj)の全てに対して配置制約処理手段による移動処理が終わった後、ブロック配置移動手段は、ブロックbiよりも順列M(又はP)の順位が後である全てのブロックについて、ブロックbiに対してシーケンス・ペア(P,M)により(数4)により指定されるブロックbiに対する位置関係が満たされるようにその位置又は前記ブロックbiの位置を移動させる。
配置制約設定手段6は、シーケンス・ペア記憶手段5に保存されているシーケンス・ペア(P,M)を参照して、回路図データ記憶手段2に記憶されている回路図データから、各部品間の配置制約を抽出する。本実施例においては、配置制約設定手段6は、水平共線制約設定手段12及び垂直共線制約設定手段13を備えている。水平共線制約設定手段12は、回路図データ20から水平共線制約を抽出する。垂直共線制約設定手段13は、回路図データ20から垂直共線制約を抽出する。抽出された各種配置制約は、配置制約記憶手段7に保存される。
〔定義1〕(回路)
部品(ランドを含む。)をci(iは部品を特定する添字。)と記し、部品の集合(以下、「部品集合(set of component)」という。)をC={c1,c2,…,cN}と記す。Nは部品の総数である。部品集合Cの部分集合Ck(⊆C)に属する各部品間を接続する接続線を「ネット(net)」といい、nk=n(Ck)(kはネットを特定する添字。)と記す。特に、部品ciとcjとの間を接続するネットをn(ci,cj)と記す。ネットの集合(以下、「ネット集合(set of nets)」という。)をNET={n1,n2,…,nNnet}と記す。Nnetはネットの総数である。部品集合C及びネット集合NETの組(C,NET)を「回路(circuit)」といい、K=(C,NET)と記す。 (定義終り)
回路Kを構成する部品及びネットを、図形記号により2次元平面上に表した図面を「回路図(schematic)」という。回路図が表された平面を「回路図平面」といい、SCHと記す。回路図平面SCHにおける部品ci(∈C)の座標を(xsch(ci),ysch(ci))と記す。 (定義終り)
ある回路Kにおいて、回路Kの部品間の接続状態を表現したデータを「ネットリスト(net list)」といい、NLと記す。 (定義終り)
ある回路Kにおける各部品ciのレイアウトを矩形で表現したものを「ブロック(block)」といい、biと記す。N個のブロックbi(i=1,…,N)を考える。ブロックbiの集合を「ブロック集合(set of block)」といい、B={b1,b2,…,bN}と記す。ブロックbiの幅及び高さを、それぞれw(bi),h(bi)と記す。ブロック集合Bは部品集合Cに一対一対応する。すなわち、ブロック集合Bに属するブロックbiは、部品集合Cに属する部品ciに対応する。 (定義終り)
ブロックが配置される平面を「レイアウト平面」という。レイアウト平面上におけるブロックbiの左下隅座標をそのブロックbiの「位置座標」といい、(x(bi),y(bi))と記す。 (定義終り)
ブロック集合Bに属する任意の2つのブロックbi,bjの対(bi,bj)について、関係x(bi)+w(bi)≦x(bj)が成り立つとき、ブロックbiはブロックbjの「左にある("left to")」(又は、ブロックbjはブロックbiの「右にある("right to")」)という。 (定義終り)
ブロック集合Bに属する任意の2つのブロックbi,bjの対(bi,bj)について、関係y(bi)+h(bi)≦y(bj)が成り立つとき、ブロックbiはブロックbjの「下にある("below")」(又は、ブロックbjはブロックbiの「上にある("above")」)という。 (定義終り)
N個のブロックを元とするブロック集合B={b1,b2,…,bN}が与えられたとする。ブロック集合Bの全ての元の順列である2つの順列をP=(p1,p2,…,pN)(∀pi∈B)及びM=(m1,m2,…,mN)(∀mi∈B)と記す。このとき、2つの順列P,Mの対(P,M)を「シーケンス・ペア(sequence pair)」という。
(定義終り)
ブロックbi(∈B)の順列Pにおける順序をα(bi)、ブロックbiの順列Mにおける順序をβ(bi)と記す。pα(bi)=bi,mβ(bi)=biである。あるブロック配置において、順列P,Mが次の条件を満たしている場合、このシーケンス・ペア(P,M)を、この「ブロック配置のシーケンス・ペア」という:
ブロック集合Bの或る部分集合Bk(Bk⊆B)に対して、当該部分集合Bk内の全てのブロックbi(∈Bk)について、上下左右の何れかの辺又は代表点を垂直又は水平直線上に揃えるという制約を「共線制約(collinear(align) constraint)」という。
(1)部分集合Bk内の全てのブロックbi(∈Bk)について、左辺を揃えるようにブロックを配置する共線制約をALIGNL(Bk)と記す。
(2)部分集合Bk内の全てのブロックbi(∈Bk)について、下辺を揃えるようにブロックを配置する共線制約をALIGNB(Bk)と記す。
(3)部分集合Bk内の全てのブロックbi(∈Bk)について、右辺を揃えるようにブロックを配置する共線制約をALIGNR(Bk)と記す。
(4)部分集合Bk内の全てのブロックbi(∈Bk)について、上辺を揃えるようにブロックを配置する共線制約をALIGNT(Bk)と記す。
(5)部分集合Bk内の全てのブロックbi(∈Bk)について、代表点を水平直線上に揃えるようにブロックを配置する共線制約をALIGNCH(Bk)と記す。
(6)部分集合Bk内の全てのブロックbi(∈Bk)について、代表点を垂直直線上に揃えるようにブロックを配置する共線制約をALIGNCV(Bk)と記す。
(定義終り)
次に、シーケンス・ペア法による圧縮処理について説明する。シーケンス・ペア法による圧縮処理は、特許文献2及び非特許文献2等において既に公知であるため、ここでは、その概要を簡単に述べる。
かかる幾何学的制約を満たすΠを(P,M)パッキングと呼ぶ。すべてのシーケンス・ペア(P,M)に対して(P,M)パッキングが存在することが既に証明されている。図2に、(P,M)=(abdecf,cbfade)に対応する(P,M)パッキングを示す。
〔3−1〕処理全体の流れ
図5は、実施例1に係るレイアウト作成装置1によるレイアウト作成方法の全体の流れを表すフローチャートである。
まず、シーケンス・ペア生成手段4は、ブロック集合Bに属するすべてのブロックbi(∈B)の順列P,Mの初期値を適当に与える。
まず、配置制約設定手段6には、所定の角度パラメータθ(0°<θ<45°)の値が与えられる。θの値は固定値としてもよいが、ユーザにより変更可能な値としてもよい。通常はθ=5°〜10°程度に設定することが好ましい。
優先順位は、各部品間を接続するネットについて設定される。図11は、アナログ回路における共線制約の優先順位の決定方法の一例を表すフローチャートである。
〔3−5−1〕全体の処理の流れ
図13は、ブロック配置手段9による冗長な共線制約の削除と配置圧縮処理の全体の流れを表すフローチャートである。まず、ブロック配置手段9は、後述する配置圧縮処理を実行する(S31)。配置圧縮処理の結果、冗長な共線制約akがあると、当該共線制約akを含む一群の共線制約{ak}が何度も(無限循環的に)参照されるため、それら共線制約ak(∈{ak})の参照回数c(ak)は予め設定された閾値cmaxに達する。
次に、図13のステップS31における配置圧縮処理について詳細に説明する。図14〜図16は、配置圧縮処理の流れを表すフローチャートである。まず、ブロック配置手段9は、全ブロックbi (∀bi∈B)の位置座標を(0,0)に初期化する(S41)。これにより、例えば、図17(a)に示したように、全てのブロックはレイアウト平面の左下隅の原点位置に重ねて配置された状態となる。
最後に、実際に本実施例に係るレイアウト作成装置1により、図6の回路図のブロック配置を行った例を図18に示す。図18は、ブロック配置手段9により出力される初期配置である。この初期配置に基づき、シーケンス・ペア圧縮処理手段11によって配置圧縮処理を行うと、図19のようなレイアウト配置が得られる。
2 回路図データ記憶手段
3 部品レイアウト・ライブラリ
4 シーケンス・ペア生成手段
5 シーケンス・ペア記憶手段
6 配置制約設定手段
7 配置制約記憶手段
8 優先順位決定手段
9 ブロック配置手段
10 ブロック配置記憶手段
11 シーケンス・ペア圧縮処理手段
12 水平共線制約設定手段
13 垂直共線制約設定手段
14 配置ブロック選択手段
15 配置制約処理手段
16 制約参照計数手段
17 選択順位引戻手段
18 配置制約削除手段
19 ブロック配置移動手段
20 回路図データ
21 部品レイアウト・データ
22 アナログ回路シミュレータ
23 デジタル回路シミュレータ
24 ブロック配置レイアウト・データ
Claims (13)
- 複数の部品、各部品間を接続するネット、並びに各部品及び各ネットの平面上の位置情報を有する回路図データから、当該回路図データに含まれる部品の集合(以下、「部品集合」という。)Cに属する各部品ci(i=1,…,N)のレイアウトであるブロックbiをレイアウト平面上に配置し、当該回路図データに対応するレイアウト・データを作成するレイアウト作成装置であって、
それぞれが独立なブロックbi(i=1,…,N)の順列P及びMの対であって、全ての前記ブロックをレイアウト平面上に配置する場合の各ブロックの位置関係を(数1)に従って特定するシーケンス・ペア(P,M)の生成を行うシーケンス・ペア生成手段と、
前記シーケンス・ペア生成手段が生成するシーケンス・ペア(P,M)により指定された位置関係を満たすように、すべてのブロックbi(i=1,…,N)をレイアウト平面上に配置することで、レイアウト・データを生成するブロック配置手段と、
を備え、
前記シーケンス・ペア生成手段は、前記回路図データに含まれる各部品ciを回路図平面上において代表点(xsch(ci),ysch(ci))で置き換え、回路図平面上におけるこれらの代表点(xsch(ci),ysch(ci))の位置関係に基づいて各部品ciに対応するブロックbiのシーケンス・ペア(P,M)の生成を行うものであり、
ネットで接続された前記部品集合Cに属する任意の2つの部品c i ,c j (∈C)について、前記部品c i ,c j の回路図平面上の座標(x sch (c i ),y sch (c i )),(x sch (c j ),y sch (c j ))の位置関係に基づいて、前記部品c i ,c j に対応するブロックb i ,b j のレイアウト平面上における配置制約a(b i ,b j )を設定する配置制約設定手段を備え、
前記ブロック配置手段は、前記シーケンス・ペア生成手段が生成するシーケンス・ペア(P,M)により指定された位置関係を満たし、且つ前記配置制約設定手段により設定される配置制約を満たすように、すべてのブロックb i (i=1,…,N)をレイアウト平面上に配置することでレイアウト・データを生成するものであって、
順列M(又はP)の順位に従って、順次ブロックb i を選択する配置ブロック選択手段と、
前記配置ブロック選択手段により選択されたブロックb i について、他のブロックb j との配置制約a(b i ,b j )が設定されている場合、当該配置制約a(b i ,b j )に従って当該ブロックb j 又は前記ブロックb i の位置を移動させる配置制約処理手段と、
前記配置制約処理手段により前記ブロックb i についての配置制約がすべて満たされた後に、前記ブロックb i よりも順列M(又はP)の順位が後である全てのブロックについて、前記ブロックb i に対してシーケンス・ペア(P,M)により(数1)により指定される前記ブロックb i に対する位置関係が満たされるようにその位置又は前記ブロックb i の位置を移動させるブロック配置移動手段と、を備えていること
を特徴とするレイアウト作成装置。
- 前記シーケンス・ペア生成手段は、
前記部品集合Cに属する任意の2つの部品ci,cj(∈C)について、
部品cjの回路図平面上の代表点の座標(以下、「回路図平面上の座標」という。)(xsch(cj),ysch(cj))が、前記部品ciの回路図平面上の座標(xsch(ci),ysch(ci))の右側半平面における45度及び−45度の勾配を持つ2本の半直線に挟まれる領域内に属する場合、順列Pにおける前記部品cjに対するブロックbjの順序α(bj)(以下同様に、順列Pにおけるブロックbxの順序をα(bx)と記す。)を前記部品ciに対するブロックbiの順序α(bi)よりも後とし、順列Mにおけるブロックbjの順序β(bj)(以下同様に、順列Mにおけるブロックbxの順序をβ(bx)と記す。)をブロックbiの順序β(bi)よりも後とするとともに、
前記部品cjの回路図平面上の座標(xsch(cj),ysch(cj))が、前記部品ciの回路図平面上の座標(xsch(ci),ysch(ci))の上側半平面における45度及び−45度の勾配を持つ2本の半直線に挟まれる領域内に属する場合、順列Pにおけるブロックbjの順序α(bj)をブロックbiの順序α(bi)よりも前とし、順列Mにおけるブロックbjの順序β(bj)をブロックbiの順序β(bi)よりも後とするように各順列P,Mについて各ブロックの整列を行うことによりシーケンス・ペア(P,M)の生成を行うこと
を特徴とする請求項1記載のレイアウト作成装置。 - 前記配置制約設定手段は、
ネットで接続された前記部品集合Cに属する任意の2つの部品ci,cj(∈C)について、前記部品cjの回路図平面上の座標(xsch(cj),ysch(cj))が、前記部品ciの回路図平面上の座標(xsch(ci),ysch(ci))の右側半平面における−45度より大きく45度未満の所定の角度の正負の勾配を持つ2本の半直線に挟まれる領域内に属し、且つ、順列Pにおけるブロックbi,bjの順序α(bi),α(bj)及び順列Mにおけるブロックbi,bjの順序β(bi),β(bj)に対してα(bi)<α(bk)<α(bj)且つβ(bi)<β(bk)<β(bj)となるブロックbkが存在しない場合、ブロックbiとブロックbjの下辺又は上辺若しくは代表点を水平直線上に揃える配置制約(以下、「水平共線制約」という。)を設定する水平共線制約設定手段
を備えていることを特徴とする請求項1又は2記載のレイアウト作成装置。 - 前記配置制約設定手段は、
ネットで接続された前記部品集合Cに属する任意の2つの部品ci,cj(∈C)について、前記部品cjの回路図平面上の座標(xsch(cj),ysch(cj))が、前記部品ciの回路図平面上の座標(xsch(ci),ysch(ci))の上側半平面における45度より大きく135度未満の所定の角度の正負の勾配を持つ2本の半直線に挟まれる領域内に属し、且つ、順列Pにおけるブロックbi,bjの順序α(bi),α(bj)及び順列Mにおけるブロックbi,bjの順序β(bi),β(bj)に対してα(bi)>α(bk)>α(bj)且つβ(bi)<β(bk)<β(bj)となるブロックbkが存在しない場合、ブロックbiとブロックbjの左辺又は右辺若しくは代表点を垂直直線上に揃える配置制約(以下、「垂直共線制約」という。)を設定する垂直共線制約設定手段
を備えていることを特徴とする請求項1又は2記載のレイアウト作成装置。 - 前記配置ブロック選択手段により選択されたブロックbiについて、他のブロックbjとの配置制約a(bi,bj)が設定されている場合において、当該ブロックbjの順列M(又はP)における順位β(bj)(又はα(bj))が、前記ブロックbiの順列M(又はP)における順位β(bi)(又はα(bi))よりも前である場合、前記配置ブロック選択手段が選択するブロックの順列M(又はP)の順位を順位β(bj)(又はα(bj))に戻す選択順位引戻手段と、
前記各配置制約a(bi,bj)に対して、当該配置制約a(bi,bj)が前記配置制約処理手段により参照された回数を計数する制約参照計数手段と、
前記配置制約処理手段により参照された回数が所定の回数に達した配置制約a(bi,bj)を削除する配置制約削除手段と、
を備えていることを特徴とする請求項1乃至4の何れか一記載のレイアウト作成装置。 - 前記各配置制約a(bi,bj)により配置制約されるブロック対(bi,bj)間を接続するネットに対して、配置制約の必要性を表す優先順位を設定する優先順位設定手段を備え、
前記配置制約削除手段は、前記配置制約処理手段により参照された回数が所定の回数に達した配置制約a(bi,bj)について、前記優先順位設定手段により設定された優先順位が最も低いものを削除すること
を特徴とする請求項5記載のレイアウト作成装置。 - 複数の部品、各部品間を接続するネット、並びに各部品及び各ネットの平面上の位置情報を有する回路図データを記憶する回路図データ記憶手段と、部品のレイアウトであるブロックの形状情報を記憶する部品レーアウト・ライブラリと、シーケンス・ペア記憶手段と、ブロック配置記憶手段と、配置制約記憶手段と、を備えたコンピュータにより、前記回路図データから、当該回路図データに含まれる部品の集合(以下、「部品集合」という。)Cに属する各部品ci(i=1,…,N)のブロックbiをレイアウト平面上に配置し、当該回路図データに対応するレイアウト・データを作成するレイアウト作成方法であって、
前記回路図データ記憶手段に記憶された前記回路図データに基づき、それぞれが独立な前記ブロックbi(i=1,…,N)の順列P及びMの対であって、全ての前記ブロックをレイアウト平面上に配置する場合の各ブロックの位置関係を(数2)に従って特定するシーケンス・ペア(P,M)のデータを生成し、前記シーケンス・ペア記憶手段に保存するシーケンス・ペア生成ステップと、
前記シーケンス・ペア記憶手段に保存された前記シーケンス・ペア(P,M)のデータにより指定される位置関係を満たすように、すべての前記ブロックbi(i=1,…,N)をレイアウト平面上に配置することで、前記レイアウト・データを生成し前記ブロック配置記憶手段に保存するブロック配置ステップと、
を有しており、
前記シーケンス・ペア生成ステップにおいて、前記回路図データに含まれる前記各部品ciを回路図平面上において代表点(xsch(ci),ysch(ci))で置き換え、回路図平面上におけるこれらの代表点(xsch(ci),ysch(ci))の位置関係に基づいて前記各部品ciに対応する前記ブロックbiのシーケンス・ペア(P,M)の生成を行い、
さらに前記シーケンス・ペア生成ステップの後に、
前記回路図データ記憶手段に記憶された前記回路図データを参照することにより、ネットで接続された前記部品集合Cに属する任意の2つの部品c i ,c j (∈C)について、前記部品c i ,c j の回路図平面上の座標(x sch (c i ),y sch (c i )),(x sch (c j ),y sch (c j ))の位置関係に基づいて、前記部品c i ,c j に対応するブロックb i ,b j のレイアウト平面上における配置制約a(b i ,b j )を設定し、前記配置制約記憶手段に保存する配置制約設定ステップを有し、
前記ブロック配置ステップは、前記シーケンス・ペア記憶手段に保存されたシーケンス・ペア(P,M)により指定された位置関係を満たし、且つ前記配置制約記憶手段に保存された配置制約を満たすように、すべてのブロックb i (i=1,…,N)をレイアウト平面上に配置することでレイアウト・データを生成し前記ブロック配置記憶手段に保存する処理を行うステップであって、
順列M(又はP)の順位に従って、順次ブロックb i を選択する配置ブロック選択ステップと、
前記配置ブロック選択ステップで選択されるブロックb i について、他のブロックb j との配置制約a(b i ,b j )が設定されている場合、当該配置制約a(b i ,b j )に従って当該ブロックb j 又は前記ブロックb i の位置を移動させる配置制約処理ステップと、
前記配置制約処理ステップにおいて前記ブロックb i についての配置制約がすべて満たされた後に、前記ブロックb i よりも順列M(又はP)の順位が後である全てのブロックについて、前記ブロックb i に対してシーケンス・ペア(P,M)により(数2)により指定される前記ブロックb i に対する位置関係が満たされるようにその位置又は前記ブロックb i の位置を移動させるブロック配置移動ステップと、
を有していることを特徴とするレイアウト作成方法。
- 前記シーケンス・ペア生成ステップにおいて、
前記部品集合Cに属する任意の2つの部品ci,cj(∈C)について、
前記部品cjの回路図平面上の代表点の座標(以下、「回路図平面上の座標」という。)(xsch(cj),ysch(cj))が、前記部品ciの回路図平面上の座標(xsch(ci),ysch(ci))の右側半平面における45度及び−45度の勾配を持つ2本の半直線に挟まれる領域内に属する場合、順列Pにおける前記部品cjに対するブロックbjの順序α(bj)(以下同様に、順列Pにおけるブロックbxの順序をα(bx)と記す。)を前記部品ciに対するブロックbiの順序α(bi)よりも後とし、順列Mにおけるブロックbjの順序β(bj)(以下同様に、順列Mにおけるブロックbxの順序をβ(bx)と記す。)をブロックbiの順序β(bi)よりも後とするとともに、
前記部品cjの回路図平面上の座標(xsch(cj),ysch(cj))が、前記部品ciの回路図平面上の座標(xsch(ci),ysch(ci))の上側半平面における45度及び−45度の勾配を持つ2本の半直線に挟まれる領域内に属する場合、順列Pにおけるブロックbjの順序α(bj)をブロックbiの順序α(bi)よりも前とし、順列Mにおけるブロックbjの順序β(bj)をブロックbiの順序β(bi)よりも後とするように各順列P,Mについて各ブロックの整列を行うことによりシーケンス・ペア(P,M)の生成を行うこと
を特徴とする請求項7記載のレイアウト作成方法。 - 前記配置制約設定ステップにおいて、
ネットで接続された前記部品集合Cに属する任意の2つの部品ci,cj(∈C)について、前記部品cjの回路図平面上の座標(xsch(cj),ysch(cj))が、前記部品ciの回路図平面上の座標(xsch(ci),ysch(ci))の右側半平面における−45度より大きく45度未満の所定の角度の正負の勾配を持つ2本の半直線に挟まれる領域内に属し、且つ、順列Pにおけるブロックbi,bjの順序α(bi),α(bj)及び順列Mにおけるブロックbi,bjの順序β(bi),β(bj)に対してα(bi)<α(bk)<α(bj)且つβ(bi)<β(bk)<β(bj)となるブロックbkが存在しない場合、ブロックbiとブロックbjの下辺又は上辺若しくは代表点を水平直線上に揃える配置制約(以下、「水平共線制約」という。)を設定する水平共線制約設定ステップ
を有していることを特徴とする請求項7又は8記載のレイアウト作成方法。 - 前記配置制約設定ステップにおいて、
ネットで接続された前記部品集合Cに属する任意の2つの部品ci,cj(∈C)について、前記部品cjの回路図平面上の座標(xsch(cj),ysch(cj))が、前記部品ciの回路図平面上の座標(xsch(ci),ysch(ci))の上側半平面における45度より大きく135度未満の所定の角度の正負の勾配を持つ2本の半直線に挟まれる領域内に属し、且つ、順列Pにおけるブロックbi,bjの順序α(bi),α(bj)及び順列Mにおけるブロックbi,bjの順序β(bi),β(bj)に対してα(bi)>α(bk)>α(bj)且つβ(bi)<β(bk)<β(bj)となるブロックbkが存在しない場合、ブロックbiとブロックbjの左辺又は右辺若しくは代表点を垂直直線上に揃える配置制約(以下、「垂直共線制約」という。)を設定する垂直共線制約設定ステップ
を有していることを特徴とする請求項7又は8記載のレイアウト作成方法。 - 前記配置ブロック選択ステップにおいて選択されるブロックbiについて、他のブロックbkとの配置制約a(bi,bj)が設定されている場合において、当該ブロックbjの順列M(又はP)における順位β(bj)(又はα(bj))が、前記ブロックbiの順列M(又はP)における順位β(bi)(又はα(bi))よりも前である場合、前記配置ブロック選択ステップにおいて選択されるブロックの順列M(又はP)の順位を順位β(bj)(又はα(bj))に戻す選択順位引戻ステップと、
前記各配置制約a(bi,bj)に対して、当該配置制約a(bi,bj)が前記配置制約処理ステップにおいて参照された回数を計数する制約参照計数ステップと、
前記配置制約処理ステップにおいて参照された回数が所定の回数に達した配置制約a(bi,bj)を削除する配置制約削除ステップと、
を有していることを特徴とする請求項7乃至10の何れか一記載のレイアウト作成方法。 - 前記各配置制約a(bi,bj)により配置制約されるブロック対(bi,bj)間を接続するネットに対して、配置制約の必要性を表す優先順位を設定する優先順位設定ステップを有し、
前記配置制約削除ステップにおいては、前記配置制約処理ステップにおいて参照された回数が所定の回数に達した配置制約a(bi,bj)について、前記優先順位設定ステップにおいて設定された優先順位が最も低いものを削除すること
を特徴とする請求項11記載のレイアウト作成方法。 - 請求項7乃至12のいずれか一のレイアウト作成方法をコンピュータに実行させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004332031A JP4241582B2 (ja) | 2004-11-16 | 2004-11-16 | レイアウト作成装置及びレイアウト作成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004332031A JP4241582B2 (ja) | 2004-11-16 | 2004-11-16 | レイアウト作成装置及びレイアウト作成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006146333A JP2006146333A (ja) | 2006-06-08 |
JP4241582B2 true JP4241582B2 (ja) | 2009-03-18 |
Family
ID=36625970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004332031A Expired - Fee Related JP4241582B2 (ja) | 2004-11-16 | 2004-11-16 | レイアウト作成装置及びレイアウト作成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4241582B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009000934A1 (en) * | 2007-06-28 | 2008-12-31 | Sagantec Israel Ltd | Semiconductor layout modification method based on design rule and user constraints |
CN116451324A (zh) * | 2023-04-17 | 2023-07-18 | 中国建筑装饰集团有限公司 | 一种适用于基层结构块材饰面的三维排版系统及使用方法 |
-
2004
- 2004-11-16 JP JP2004332031A patent/JP4241582B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2006146333A (ja) | 2006-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10268795B2 (en) | Method and system for timing optimization with detour prediction | |
US8977995B1 (en) | Timing budgeting of nested partitions for hierarchical integrated circuit designs | |
US7739646B2 (en) | Analog and mixed signal IC layout system | |
US11120191B2 (en) | Multi-tier co-placement for integrated circuitry | |
EP0055365A2 (en) | Topology generation process for automated circuit design | |
US20030005398A1 (en) | Timing-driven global placement based on geometry-aware timing budgets | |
US10922461B2 (en) | Method and apparatus for performing rewind structural verification of retimed circuits driven by a plurality of clocks | |
US7089521B2 (en) | Method for legalizing the placement of cells in an integrated circuit layout | |
US6810506B1 (en) | Methodology for stitching reduced-order models of interconnects together | |
Coudert et al. | Incremental cad | |
US9147030B2 (en) | Multiple-instantiated-module (mim) aware pin assignment | |
US6868374B1 (en) | Method of power distribution analysis for I/O circuits in ASIC designs | |
US6519745B1 (en) | System and method for estimating capacitance of wires based on congestion information | |
Chen et al. | Routability-driven blockage-aware macro placement | |
CN109074412B (zh) | 使用自动焊接和自动克隆的电路中的连接的交互式布线 | |
US10417374B1 (en) | Method and apparatus for performing register retiming by utilizing native timing-driven constraints | |
US9824177B1 (en) | Method and apparatus for verifying structural correctness in retimed circuits | |
Chen et al. | Simultaneous timing-driven placement and duplication | |
US10489535B2 (en) | Method and apparatus for reducing constraints during rewind structural verification of retimed circuits | |
JP4241582B2 (ja) | レイアウト作成装置及びレイアウト作成方法 | |
US20230325574A1 (en) | Method for Automated Standard Cell Design | |
US8504953B2 (en) | Schematic generation visualization aid for netlists comprising analog circuits | |
US20040003363A1 (en) | Integrated circuit design and manufacture utilizing layers having a predetermined layout | |
US7584445B2 (en) | Sequence-pair creating apparatus and sequence-pair creating method | |
Chen et al. | Simultaneous placement with clustering and duplication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060602 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7426 Effective date: 20070125 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20070126 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080916 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081107 |
|
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: 20081216 |
|
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: 20081222 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120109 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |