JP4262660B2 - シーケンス・ペア作成装置及びシーケンス・ペア作成方法 - Google Patents
シーケンス・ペア作成装置及びシーケンス・ペア作成方法 Download PDFInfo
- Publication number
- JP4262660B2 JP4262660B2 JP2004284515A JP2004284515A JP4262660B2 JP 4262660 B2 JP4262660 B2 JP 4262660B2 JP 2004284515 A JP2004284515 A JP 2004284515A JP 2004284515 A JP2004284515 A JP 2004284515A JP 4262660 B2 JP4262660 B2 JP 4262660B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- blocks
- ord
- belonging
- binary
- 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
Description
まず、パッキングからシーケンス・ペアの抽出を説明する(非特許文献1参照)。
チップC上のパッキングをΠと記す。上述のように、フロアプランとは、チップCを、高々1つのブロックが含まれる部屋に分割することをいう。1つのブロックも含まれない部屋は「空(empty)である」という。チップCの4つの辺を含む各部屋の境界を構成する線分を切断線分(cutting-seg)という。図12は6つのブロックのあるパッキングΠのフロアプランを表したものである。a〜dがブロックであり、点線が切断線分を表している。
シーケンス・ペアが抽出されると、このシーケンス・ペアにおいてブロックの並べ替えを行うことによって、最適なパッキングを探索する。探索は、焼きなまし法等の発見的方法を使用するのが効率的である。この際、シーケンス・ペアの並べ替えにより得られる各パッキングの評価を行う場合、シーケンス・ペアからパッキングを生成する必要がある。シーケンス・ペアからパッキングを生成する方法については、非特許文献1や特許文献1などで述べられているが、簡単に概説しておく。
(1)『任意の2つのブロックx,x’に対して、x’∈Maa(x)ならば、Πにおいてx’はxの右、x’∈Mbb(x)ならば、x’はxの左になければならない。』
(2)『任意の2つのブロックx,x’に対して、x’∈Mab(x)ならば、x’はxの下、x’∈Mba(x)ならば、x’はxの上になければならない。』
かかる幾何学的制約を満たすΠを(P,M)パッキングと呼ぶ。非特許文献1においては、すべてのシーケンス・ペア(P,M)に対して(P,M)パッキングが存在することが証明されている。図15に、(P,M)=(abdecf,cbfade)に対応する(P,M)パッキングを示す。
最初に、以下の説明で使用する各用語の定義を述べる。ブロック配置記憶手段5に記憶されている初期のブロック配置に含まれるすべてのブロック集合をB={b1,b2,…,bN}と記す。Nはブロック集合Bの全ブロック数である。各ブロックは矩形である。ブロックbi(∈B)の位置を特定する座標(位置座標)を(x(bi),y(bi))と記す。ここでは、各ブロックの位置座標は当該ブロックの左下の座標を表すものとする。ブロック配置情報は、各ブロックの位置座標の集合{(x(bi),y(bi))|∀bi∈B}により与えられる。また、ブロックbi(∈B)の幅をw(bi)、高さをh(bi)と記す。各ブロックのサイズ情報は、各ブロックの幅と高さの組の集合{(w(bi),h(bi))|∀bi∈B}により与えられる。
(1)離反制約
離反制約とは、ブロック集合Bに属する任意の2つのブロックbi,bjの対(bi,bj)に対し、ブロック間の間隔(クリアランス)が所定の値以上でなければならないとする制約をいう。x(bi)<x(bj)の場合、水平方向の離反制約は次のように表される:
共線制約とは、ブロック集合Bのある部分集合Bk(∈B)に対して、部分集合Bk(⊆B)内のすべてのブロックbi(∈Bk)について上下左右の何れかの辺若しくは代表点を一直線上に揃える制約をいう。上辺又は下辺若しくは代表点を水平直線上に揃える制約を水平共線制約、左辺又は右辺若しくは代表点を垂直直線上に揃える制約を垂直共線制約という。また、部分集合Bk(∈B)に属する各ブロックに対して、左辺を揃えるようにブロックを配置する共線制約をALIGNL(Bk)、下辺を揃えるようにブロックを配置する共線制約をALIGNB(Bk)、右辺を揃えるようにブロックを配置する共線制約をALIGNR(Bk)、上辺を揃えるようにブロックを配置する共線制約をALIGNT(Bk)と記す。部分集合Bk(∈B)に属する各ブロックに対して、代表点を水平直線上に揃えるようにブロックを配置する共線制約をALIGNCH(Bk)、代表点を垂直直線上に揃えるようにブロックを配置する共線制約をALIGNCV(Bk)と記す。
対称制約とは、ブロック集合Bに属する3つのブロックbi,bj,bk(∈B)に対して、bjを中心として左右方向又は上下方向にbi及びbjを対称に配置する制約をいう。左右方向の対称制約を水平対称制約といい、SYMMH(bi, bj, bk)と記す。上下方向の対称制約を垂直対称制約といい、SYMMV(bi, bj, bk)と記す。図5(a)は、水平対称制約SYMMH(bi, bj, bk)の一例を示しており、図5(b)は、垂直対称制約SYMMV(bi, bj, bk)の一例を示している。
ブロック集合Bに属するブロック間の左右関係及び上下関係を非特許文献1と同様に次のように定義する:
ブロック集合Bに属する任意の2つのブロックbi,bjの対(bi,bj)について、関係x(bi)+w(bi)≦x(bj)が成り立つとき、ブロックbiはブロックbjの左にある(又は、ブロックbjはブロックbiの右にある)という。
ブロック集合Bに属する任意の2つのブロックbi,bjの対(bi,bj)について、関係y(bi)+h(bi)≦y(bj)が成り立つとき、ブロックbiはブロックbjの下にある(又は、ブロックbjはブロックbiの上にある)という。
N個のブロックからなるブロック集合B={b1,b2,…,bN}が与えられたとする。集合Bのすべてのブロックの順列(sequence)である2つのブロック順列をP=(p1,p2,…,pN)(∀pi∈B)及びM=(m1,m2,…,mN)(∀mi∈B)と記す。このとき、2つの順列の対(P,M)をシーケンス・ペアという。
順列Pにおけるブロックbi(∈B)の順序をα(bi)、順列Mにおけるブロックbi(∈B)の順序をβ(bi)と記す。すなわち、
(a)α(bi)<α(bj)∧β(bi)<β(bj)のとき、biはbjの左にある(bjはbiの右にある)、
(b)α(bi)>α(bj)∧β(bi)<β(bj)のとき、biはbjの下にある(bjはbiの上にある)、
という関係を満たしている場合、シーケンス・ペア(P,M)を、このブロック配置のシーケンス・ペアという。
次に、図2のステップS2における2項順序の抽出処理について説明する。ここで、順列P,Mにおける二項関係は、それぞれ、次のように定義される変数pord(bi,bj),mord(bi,bj)により表される:
まず、離反制約抽出手段12は、ブロック配置記憶手段5に記憶されている2つのブロックbi,bjを選択し、それらの位置座標(x(bi),y(bi)),(x(bj),y(bj))及びサイズ(w(bi),h(bi)),(w(bj),h(bj))を読み出す。また、ブロックbi,bj間のクリアランスDh(bi,bj),Dv(bi,bj)を配置制約記憶手段6から読み出す。尚、Dh(bi,bj),Dv(bi,bj)は、0以上の値が設定されている。また、これらのクリアランスの値は、すべてのブロック対について一定としてもよい。
垂直共線制約抽出手段13及び水平共線制約抽出手段14は、ブロック配置記憶手段5に記憶されたブロック集合Bの中から、一辺又はブロックの代表点が水平又は垂直直線上に並べられた一連のブロック群を抽出し、これを共線制約が課せられる部分集合Bk(⊆B)とする。また、設計者により共線制約が課せられる部分集合Bk(⊆B)が予め指定されている場合には、その部分集合Bkを配置制約記憶手段6から読み出す。
水平対称制約抽出手段15及び垂直対称制約抽出手段16は、ブロック配置記憶手段5に記憶されたブロック集合Bの中から、左右方向又は上下方向に対称に並べられた3つのブロック群を抽出し、これを対称制約が課せられるブロックbi,bj,bk(∈B)とする。また、設計者により対称制約が課せられた3つのブロックbi,bj,bk(∈B)が予め指定されている場合には、そのブロックbi,bj,bkを配置制約記憶手段6から読み出す。
二項関係推移決定手段17は、二項関係記憶手段7に保存されている確定した二項関係から推移的に確定することが可能な二項関係を確定する。これは、例えば次のようにして行われる。
次に、図2のステップS3におけるブロック外形の重なりの除去処理について説明する。重なり除去処理では、初期値として与えられたブロック配置Φにおいて、Φに含まれるブロックに重なりがある場合、そのブロックの形状を小さく変形することによって、Φのブロック同士の重なりを除去し、重なりのないブロック配置であるパッキングΠを生成する。
2つのブロックbi,bjの角部が重なっている場合の重なり除去処理は次のように行われる。まず、ブロックbi,bjの外形の重なりの水平方向の長さをdx、垂直方向の長さをdyとする。図9(a)にdx,dyの具体的な例を示す。
2つのブロックbi,bjが包含関係にある場合及び交差する場合の重なり除去処理は次のように行われる。まず、重なり除去手段は、ブロックbi,bjについて次の4つの値を計算する:
最後に、図2のステップS4,S5における全順序関係確定処理について説明する。全順序関係確定処理は、順列Pと順列Mについて独立に行われる。
図11は、順列Pの全順序確定処理の流れを示すフローチャートである。この処理では、P順序決定手段18は、順列Pの先頭からブロックの順序を確定していく。ここで、順列Pにおいてブロックbi(∈B)の順序が確定しているか否かを表す変数として、次のように定義される変数fixp(bi)を用いる:
M順序決定手段19による順列Mの全順序確定処理も、順列Pの全順序確定処理と同様に行う。すなわち、この処理でも、M順序決定手段19は、順列Mの先頭からブロックの順序を確定していく。ここでも、順列Mにおいてブロックbi(∈B)の順序が確定しているか否かを表す変数として、次のように定義される変数fixm(bi)を用いる:
2 入力部
3 表示部
4 中央演算装置
5 ブロック配置記憶手段
6 配置制約記憶手段
7 二項関係記憶手段
8 シーケンス・ペア記憶手段
9 二項関係決定手段
10 重なり除去手段
11 全順序関係決定手段
12 離反制約抽出手段
13 垂直共線制約抽出手段
14 水平共線制約抽出手段
15 水平対称制約抽出手段
16 垂直対称制約抽出手段
17 二項関係推移決定手段
18 P順序関係決定手段
19 M順序関係決定手段
Claims (19)
- 幅及び高さが与えられたN(≧2)個の矩形のブロックの集合(以下、「ブロック集合」という。)Bに属する各ブロックbi(i=1,…,N)の幅w(bi)及び高さh(bi)の情報(以下、「サイズ情報」という。)、並びに前記ブロック集合Bに属するすべてのブロックをチップ上に配置する場合の各ブロックbi(i=1,…,N)の位置座標(x(bi),y(bi))からなるブロック配置情報を記憶するブロック配置記憶手段を有し、
それぞれが独立な前記ブロック集合Bに属するブロックbi(i=1,…,N)の順列P及びMの対であって、前記ブロック集合Bに属するすべてのブロックをチップ上に配置する場合の各ブロック間の位置関係を特定するシーケンス・ペア(P,M)の作成を行うシーケンス・ペア作成装置であって、
前記順列P,Mにおける2つのブロックbi,bj(∈B)間の順序関係であって、前記ブロック配置情報及びサイズ情報から抽出され又は外部入力により指定される各ブロック間の配置制約から導出される関係である二項関係pord(bi,bj),mord(bi,bj)を、前記ブロック配置情報及びサイズ情報に従って決定する二項関係決定手段と、
前記二項関係決定手段により決定されるすべての二項関係pord(bi,bj),mord(bi,bj)(bi,bj∈B)を満たすように、前記ブロック配置情報及びサイズ情報に基づいて前記順列P,Mにおけるブロックの全順序関係を決定する全順序関係決定手段と、
を備えていることを特徴とするシーケンス・ペア作成装置。 - 前記二項関係決定手段は、
前記ブロック配置記憶手段に記憶された2つのブロックbi,bj(∈B)の位置座標(x(bi),y(bi)),(x(bj),y(bj))、幅w(bi),w(bj)、及び高さh(bi),h(bj)を参照することにより、
ブロックbi及びブロックbjの垂直方向(以下、「y方向」という。)の辺のy座標に0以上の所定幅のクリアランスがなく、且つブロックbi及びブロックbjの水平方向(以下、「x方向」という。)に0以上の所定幅のクリアランスがある場合、ブロックbi,bjの位置座標の左右関係に従ってブロックbiとブロックbjとの間の順列P,Mにおける二項関係pord(bi,bj),mord(bi,bj)を決定し、
ブロックbi及びブロックbjのx方向の辺のx座標に0以上の所定幅のクリアランスがなく、且つブロックbi及びブロックbjのy方向に0以上の所定幅のクリアランスがある場合、ブロックbi,bjの位置座標の上下関係に従ってブロックbiとブロックbjとの間の順列P,Mにおける二項関係pord(bi,bj),mord(bi,bj)を決定する離反制約抽出手段
を備えていることを特徴とする請求項1記載のシーケンス・ペア作成装置。 - 前記二項関係決定手段は、
前記ブロック配置記憶手段に記憶されたブロック集合Bの部分集合Bk(⊆B)に属する各ブロックbi(∈Bk)に対して、それらのブロックの左辺又は右辺若しくは代表点を垂直直線上に揃える配置制約(以下、「垂直共線制約(vertical collinear constraint)」という。)が課せられている場合、前記各ブロックbi(∈Bk)の位置座標の上下関係に従って、前記部分集合Bkに属する2つのブロックbi,bj間の順列P,Mにおける二項関係pord(bi,bj),mord(bi,bj)を決定する垂直共線制約抽出手段
を備えていることを特徴とする請求項1記載のシーケンス・ペア作成装置。 - 前記二項関係決定手段は、
前記ブロック配置記憶手段に記憶されたブロック集合Bの部分集合Bkに属する各ブロックに対して、それらのブロックの上辺又は下辺若しくは代表点を水平直線上に揃える配置制約(以下、「水平共線制約(horizontal collinear constraint)」という。)が課せられている場合、前記部分集合Bkに属する各ブロックbi(∈Bk)の位置座標の左右関係に従って、前記部分集合Bkに属する2つのブロックbi,bj間の順列P,Mにおける二項関係pord(bi,bj),mord(bi,bj)を決定する水平共線制約抽出手段
を備えていることを特徴とする請求項1記載のシーケンス・ペア作成装置。 - 前記二項関係決定手段は、
前記ブロック配置記憶手段に記憶されたブロック集合Bに属する3つのブロックbi,bj,bkに対して、ブロックbi及びブロックbkをブロックbjに対して水平方向の対称位置に配置する制約(以下、「水平対称制約(horizontal symmetrical constraint)」という。)が課せられている場合、ブロックbi及びブロックbkについて、両ブロックの位置座標の左右関係に従って、順列P,Mにおける二項関係pord(bi,bj),mord(bi,bj)を決定する水平対称制約抽出手段
を備えていることを特徴とする請求項1記載のシーケンス・ペア作成装置。 - 前記二項関係決定手段は、
前記ブロック配置記憶手段に記憶されたブロック集合Bに属する3つのブロックbi,bj,bkに対して、ブロックbi及びブロックbkをブロックbjに対して垂直方向の対称位置に配置する制約(以下、「垂直対称制約(vertical symmetrical constraint)」という。)が課せられている場合、ブロックbi及びブロックbkについて、両ブロックの位置座標の上下関係に従って、順列P,Mにおける二項関係pord(bi,bj),mord(bi,bj)を決定する垂直対称制約抽出手段
を備えていることを特徴とする請求項1記載のシーケンス・ペア作成装置。 - 前記二項関係決定手段は、
前記ブロック集合Bに属する3つのブロックbi,bj,bkについて、二項関係pord(bi,bj),pord(bj,bk)が決定され且つ二項関係pord(bi,bk)が未決定の場合、二項関係pord(bi,bj),pord(bj,bk)から二項関係pord(bi,bk)を推移的に決定し、
二項関係mord(bi,bj),mord(bj,bk)が決定され且つ二項関係mord(bi,bk)が未決定の場合、二項関係mord(bi,bj),mord(bj,bk)から二項関係mord(bi,bk)を推移的に決定する二項関係推移決定手段
を備えていることを特徴とする請求項1乃至6の何れか一に記載のシーケンス・ペア作成装置。 - 前記二項関係決定手段は、
前記ブロック集合Bに属する2つのブロックbi,bjについて、ブロックbiがブロックbjの左にある場合には順列P,Mにおける二項関係をpord(bi,bj)=1,mord(bi,bj)=1に決定し、ブロックbiがブロックbjの下にある場合には順列P,Mにおける二項関係をpord(bi,bj)=0,mord(bi,bj)=1に決定するものであり、
前記全順序関係決定手段は、
順列Pにおける順序が未決定のブロックの集合Bn(⊆B)に属するブロックbi(∈Bn)について、集合Bnに属する当該ブロックbi以外のすべてのブロックbj(∈Bn)との間の2項順序関係pord(bi,bj)が1でないものを抽出し、抽出されたブロックの集合を集合Bs(⊆Bn)とし、
集合Bsに属するブロックbiのうち、集合Bsに属する当該ブロックbi以外のすべてのブロックbj(∈Bs)に対して、当該ブロックbiの右辺がブロックbjの左辺よりも左又は共線位置にあるもの、若しくは当該ブロックbiの下辺がブロックbjの上辺よりも上にあるものを選択し、選択された当該ブロックbiを順列Pに左から詰めて並べる
という操作を繰り返すことにより、順列Pにおける各ブロックの順序を、左から順次決定するP順序決定手段と、
順列Mにおける順序が未決定のブロックの集合Bm(⊆B)に属するブロックbi(∈Bm)について、集合Bmに属する当該ブロックbi以外のすべてのブロックbj(∈Bm)との間の2項順序関係mord(bi,bj)が1でないものを抽出し、抽出されたブロックの集合を集合Bt(⊆Bm)とし、
集合Btに属するブロックbiのうち、集合Btに属する当該ブロックbi以外のすべてのブロックbj(∈Bt)に対して、当該ブロックbiの右辺がブロックbjの左辺よりも左又は共線位置にあるもの、若しくは当該ブロックbiの下辺がブロックbjの上辺よりも上にあるものを選択し、選択された当該ブロックbiを順列Mに左から詰めて並べる
という操作を繰り返すことにより、順列Mにおける各ブロックの順序を、左から順次決定するM順序決定手段と、
を備えていることを特徴とする請求項1乃至7の何れか一記載のシーケンス・ペア作成装置。 - 前記ブロック配置記憶手段に記憶された前記ブロック集合Bに属するブロックに重なりがある場合、重なった2つのブロックの何れか一方又は両方の幅又は高さを短縮することにより、ブロック間の重なりのないブロック配置情報及びサイズ情報を生成する重なり除去手段を備え、
前記全順序関係決定手段は、前記二項関係決定手段により決定された二項関係pord(bi,bj),mord(bi,bj)を満たすように、前記重なり除去手段により生成されたブロック間の重なりのないブロック配置情報及びサイズ情報に従って前記順列P,Mにおけるブロックの全順序関係を決定すること
を特徴とする請求項1乃至8の何れか一に記載のシーケンス・ペア作成装置。 - 幅及び高さが与えられたN(≧2)個の矩形のブロックの集合(以下、「ブロック集合」という。)Bに属する各ブロックbi(i=1,…,N)の幅w(bi)及び高さh(bi)の情報(以下、「サイズ情報」という。)、及び前記ブロック集合Bに属するすべてのブロックをチップ上に配置する場合の各ブロックbi(i=1,…,N)の位置座標(x(bi),y(bi))からなるブロック配置情報を記憶するブロック配置記憶手段と、中央演算装置とを有するコンピュータにより、
それぞれが独立な前記ブロック集合Bに属するブロックbi(i=1,…,N)の順列P及びMの対であって、前記ブロック集合Bに属するすべてのブロックをチップ上に配置する場合の各ブロック間の位置関係を特定するシーケンス・ペア(P,M)のデータの作成を行うシーケンス・ペア作成方法であって、
前記中央演算装置が、前記ブロック配置記憶手段から前記ブロック配置情報及び前記サイズ情報を読み出し、前記順列P及びMにおける2つのブロックbi,bj(∈B)間の順序関係であって、前記ブロック配置情報及び各ブロックのサイズ情報から抽出され又は外部入力により指定される各ブロック間の配置制約から導出される関係である二項関係pord(bi,bj),mord(bi,bj)を、前記ブロック配置情報及び各ブロックのサイズ情報に従って決定する二項関係決定ステップと、
前記中央演算装置が、前記二項関係決定ステップで決定されるすべての二項関係pord(bi,bj),mord(bi,bj)(bi,bj∈B)を満たすように、前記ブロック配置情報及び各ブロックのサイズ情報に基づいて前記順列P及びMにおける各ブロックの全順序関係を決定する全順序関係決定ステップと、
を有することを特徴とするシーケンス・ペア作成方法。 - 前記二項関係決定ステップにおいて、
前記中央演算装置が、前記ブロック配置記憶手段に記憶された、前記ブロック集合Bに属する2つのブロックbi,bj(∈B)の位置座標(x(bi),y(bi)),(x(bj),y(bj))、幅w(bi),w(bj)、及び高さh(bi),h(bj)を参照することにより、
ブロックbi及びブロックbjの垂直方向(以下、「y方向」という。)の辺のy座標に0以上の所定幅のクリアランスがなく、且つブロックbi及びブロックbjの水平方向(以下、「x方向」という。)に0以上の所定幅のクリアランスがある場合、ブロックbi,bjの位置座標の左右関係に従ってブロックbiとブロックbjとの間の順列P,Mにおける二項関係pord(bi,bj),mord(bi,bj)を決定し、
ブロックbi及びブロックbjのx方向に0以上の所定幅のクリアランスがなく、且つブロックbi及びブロックbjのy方向に0以上の所定幅のクリアランスがある場合、ブロックbi,bjの位置座標の上下関係に従ってブロックbiとブロックbjとの間の順列P,Mにおける二項関係pord(bi,bj),mord(bi,bj)を決定する離反制約抽出ステップを有していることを特徴とする請求項10記載のシーケンス・ペア作成方法。 - 前記二項関係決定ステップにおいて、
前記中央演算装置が、前記ブロック配置記憶手段に記憶された前記ブロック集合Bの部分集合Bk(⊆B)に属する各ブロックbi(∈Bk)に対して、それらのブロックの左辺又は右辺若しくは代表点を垂直直線上に揃える配置制約(以下、「垂直共線制約(vertical collinear constraint)」という。)が課せられている場合、前記各ブロックbi(∈Bk)の位置座標の上下関係に従って、前記部分集合Bkに属する2つのブロックbi,bj間の順列P,Mにおける二項関係pord(bi,bj),mord(bi,bj)を決定する垂直共線制約抽出ステップを有していることを特徴とする請求項10記載のシーケンス・ペア作成方法。 - 前記二項関係決定ステップにおいて、
前記中央演算装置が、前記ブロック配置記憶手段に記憶された前記ブロック集合Bの部分集合Bkに属する各ブロックに対して、それらのブロックの上辺又は下辺若しくは代表点を水平直線上に揃える配置制約(以下、「水平共線制約(horizontal collinear constraint)」という。)が課せられている場合、前記部分集合Bkに属する各ブロックbi(∈Bk)の位置座標の左右関係に従って、前記部分集合Bkに属する2つのブロックbi,bj間の順列P,Mにおける二項関係pord(bi,bj),mord(bi,bj)を決定する水平共線制約抽出ステップを有していることを特徴とする請求項10記載のシーケンス・ペア作成方法。 - 前記二項関係決定ステップにおいて、
前記中央演算装置が、前記ブロック配置記憶手段に記憶された前記ブロック集合Bに属する3つのブロックbi,bj,bkに対して、ブロックbi及びブロックbkをブロックbjに対して水平方向の対称位置に配置する制約(以下、「水平対称制約(horizontal symmetrical constraint)」という。)が課せられている場合、ブロックbi及びブロックbkについて、両ブロックの位置座標の左右関係に従って、順列P,Mにおける二項関係pord(bi,bj),mord(bi,bj)を決定する水平対称制約抽出ステップを有していることを特徴とする請求項10記載のシーケンス・ペア作成方法。 - 前記二項関係決定ステップにおいて、
前記中央演算装置が、前記ブロック配置記憶手段に記憶された前記ブロック集合Bに属する3つのブロックbi,bj,bkに対して、ブロックbi及びブロックbkをブロックbjに対して垂直方向の対称位置に配置する制約(以下、「垂直対称制約(vertical symmetrical constraint)」という。)が課せられている場合、ブロックbi及びブロックbkについて、両ブロックの位置座標の上下関係に従って、順列P,Mにおける二項関係pord(bi,bj),mord(bi,bj)を決定する垂直対称制約抽出ステップを有していることを特徴とする請求項10記載のシーケンス・ペア作成方法。 - 前記二項関係決定ステップにおいて、
前記中央演算装置が、前記ブロック配置記憶手段に記憶された前記ブロック集合Bに属する3つのブロックbi,bj,bkについて、二項関係pord(bi,bj),pord(bj,bk)が決定され且つ二項関係pord(bi,bk)が未決定の場合、二項関係pord(bi,bj),pord(bj,bk)から二項関係pord(bi,bk)を推移的に決定し、
二項関係mord(bi,bj),mord(bj,bk)が決定され且つ二項関係mord(bi,bk)が未決定の場合、二項関係mord(bi,bj),mord(bj,bk)から二項関係mord(bi,bk)を推移的に決定する二項関係推移決定ステップを有していることを特徴とする請求項10乃至15の何れか一に記載のシーケンス・ペア作成方法。 - 前記二項関係決定ステップにおいては、
前記中央演算装置が、前記ブロック集合Bに属する2つのブロックbi,bjについて、ブロックbiがブロックbjの左にある場合には順列P,Mにおける二項関係をpord(bi,bj)=1,mord(bi,bj)=1に決定し、ブロックbiがブロックbjの下にある場合には順列P,Mにおける二項関係をpord(bi,bj)=0,mord(bi,bj)=1に決定し、
前記全順序関係決定ステップにおいて、
前記中央演算装置が、順列Pにおける順序が未決定のブロックの集合Bn(⊆B)に属するブロックbi(∈Bn)について、集合Bnに属する当該ブロックbi以外のすべてのブロックbj(∈Bn)との間の2項順序関係pord(bi,bj)が1でないものを抽出し、抽出されたブロックの集合を集合Bs(⊆Bn)とし、
集合Bsに属するブロックbiのうち、集合Bsに属する当該ブロックbi以外のすべてのブロックbj(∈Bs)に対して、当該ブロックbiの右辺がブロックbjの左辺よりも左又は共線位置にあるもの、若しくは当該ブロックbiの下辺がブロックbjの上辺よりも上にあるものを選択し、選択された当該ブロックbiを順列Pに左から詰めて並べる
という操作を繰り返すことにより、順列Pにおける各ブロックの順序を、左から順次決定するP順序決定ステップと、
前記中央演算装置が、順列Mにおける順序が未決定のブロックの集合Bm(⊆B)に属するブロックbi(∈Bm)について、集合Bmに属する当該ブロックbi以外のすべてのブロックbj(∈Bm)との間の2項順序関係mord(bi,bj)が1でないものを抽出し、抽出されたブロックの集合を集合Bt(⊆Bm)とし、
集合Btに属するブロックbiのうち、集合Btに属する当該ブロックbi以外のすべてのブロックbj(∈Bt)に対して、当該ブロックbiの右辺がブロックbjの左辺よりも左又は共線位置にあるもの、若しくは当該ブロックbiの下辺がブロックbjの上辺よりも上にあるものを選択し、選択された当該ブロックbiを順列Mに左から詰めて並べる
という操作を繰り返すことにより、順列Mにおける各ブロックの順序を、左から順次決定するM順序決定ステップと、を備えていることを特徴とする請求項10乃至16の何れか一に記載のシーケンス・ペア作成方法。 - 前記中央演算装置が、前記ブロック配置記憶手段に記憶された前記ブロック集合Bに属するブロックに重なりがある場合、重なった2つのブロックの何れか一方又は両方の幅又は高さを短縮することにより、ブロック間の重なりのないブロック配置情報及びサイズ情報を生成する重なり除去ステップを備え、
前記全順序関係決定ステップにおいては、前記中央演算装置が、前記二項関係決定ステップにおいて決定された二項関係pord(bi,bj),mord(bi,bj)を満たすように、前記重なり除去ステップにおいて生成されたブロック間の重なりのないブロック配置情報及びサイズ情報に従って前記順列P,Mにおけるブロックの全順序関係を決定することを特徴とする請求項10乃至17の何れか一に記載のシーケンス・ペア作成方法。 - コンピュータに読み込んで実行させることによって、請求項10乃至18のシーケンス・ペア作成方法を前記コンピュータに実行させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004284515A JP4262660B2 (ja) | 2004-09-29 | 2004-09-29 | シーケンス・ペア作成装置及びシーケンス・ペア作成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004284515A JP4262660B2 (ja) | 2004-09-29 | 2004-09-29 | シーケンス・ペア作成装置及びシーケンス・ペア作成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006099416A JP2006099416A (ja) | 2006-04-13 |
JP4262660B2 true JP4262660B2 (ja) | 2009-05-13 |
Family
ID=36239164
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004284515A Expired - Fee Related JP4262660B2 (ja) | 2004-09-29 | 2004-09-29 | シーケンス・ペア作成装置及びシーケンス・ペア作成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4262660B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7584445B2 (en) | 2007-03-29 | 2009-09-01 | Shigetoshi Nakatake | Sequence-pair creating apparatus and sequence-pair creating method |
JP5875897B2 (ja) * | 2012-03-05 | 2016-03-02 | アズビル株式会社 | グラフィック画面作成装置、グラフィック画面作成方法およびグラフィック画面作成プログラム |
-
2004
- 2004-09-29 JP JP2004284515A patent/JP4262660B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2006099416A (ja) | 2006-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kahng et al. | VLSI physical design: from graph partitioning to timing closure | |
US7484197B2 (en) | Minimum layout perturbation-based artwork legalization with grid constraints for hierarchical designs | |
Kuh et al. | Recent advances in VLSI layout | |
US8930869B2 (en) | Method, program, and apparatus for aiding wiring design | |
Hutton et al. | Characterization and parameterized generation of synthetic combinational benchmark circuits | |
Chen et al. | Routability-driven blockage-aware macro placement | |
US9471733B1 (en) | Solving a circuit network in multicore or distributed computing environment | |
Kahng et al. | TritonRoute-WXL: The open-source router with integrated DRC engine | |
Utyamishev et al. | Multiterminal pathfinding in practical VLSI systems with deep neural networks | |
JP4376670B2 (ja) | スタイナー木処理装置、スタイナー木処理方法及びスタイナー木処理プログラム | |
Chen et al. | ABOUT THIS CHAPTER | |
JP4262660B2 (ja) | シーケンス・ペア作成装置及びシーケンス・ペア作成方法 | |
US9639648B2 (en) | Goal-based cell partitioning in the presence of obstacles | |
US7584445B2 (en) | Sequence-pair creating apparatus and sequence-pair creating method | |
Bairamkulov et al. | Graphs in VLSI | |
US8132141B2 (en) | Method and apparatus for generating a centerline connectivity representation | |
Chen et al. | Simultaneous placement with clustering and duplication | |
Torabi et al. | A fast hierarchical adaptive analog routing algorithm based on integer linear programming | |
Posser et al. | Challenges and approaches in vlsi routing | |
Chen et al. | Floorplanning | |
Kar et al. | STAIRoute: Global routing using monotone staircase channels | |
Yang et al. | SIAR: Splitting-graph-based interactive analog router | |
JP4241582B2 (ja) | レイアウト作成装置及びレイアウト作成方法 | |
Liu | Toward More Efficient Annealing-Based Placement for Heterogeneous FPGAs | |
Lin et al. | Multilevel Fixed-Outline Component Placement and Graph-Based Ball Assignment for System in Package |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060421 |
|
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 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081014 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081030 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081212 |
|
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: 20090129 |
|
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: 20090209 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120220 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 |