JP2008129725A - 半導体レイアウト設計装置 - Google Patents

半導体レイアウト設計装置 Download PDF

Info

Publication number
JP2008129725A
JP2008129725A JP2006312007A JP2006312007A JP2008129725A JP 2008129725 A JP2008129725 A JP 2008129725A JP 2006312007 A JP2006312007 A JP 2006312007A JP 2006312007 A JP2006312007 A JP 2006312007A JP 2008129725 A JP2008129725 A JP 2008129725A
Authority
JP
Japan
Prior art keywords
block
macro
arrangement
force line
cell
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.)
Granted
Application number
JP2006312007A
Other languages
English (en)
Other versions
JP4783268B2 (ja
Inventor
Shin O
申 王
Tetsuaki Uchiumi
海 哲 章 内
Mizue Sekine
根 瑞 恵 関
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2006312007A priority Critical patent/JP4783268B2/ja
Priority to US11/941,739 priority patent/US7831947B2/en
Publication of JP2008129725A publication Critical patent/JP2008129725A/ja
Application granted granted Critical
Publication of JP4783268B2 publication Critical patent/JP4783268B2/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)

Abstract

【課題】マクロセルの配置を自動化するとともに、設計工数と設計コストを削減する。
【解決手段】半導体レイアウト設計装置は、演算処理装置1と、表示装置2と、ネットリスト記憶装置3と、ライブラリ情報記憶装置4と、フロアプラン情報記憶装置5と、テクノロジ情報記憶装置6と、フロアプラン評価結果記憶装置7とを備える。ブロックごとに、他のブロックに向かう力線ベクトルを求めて合成力線ベクトルを算出し、その合成力線ベクトルのx成分の大きさとy成分の大きさとを比較した結果により、ブロック内のマクロセルの配置を決定するため、他の配線の妨げにならないような効率的なマクロセルの配置を行うことができる。このため、マクロセルの配線を大幅にやり直す頻度が少なくなり、設計工数と設計コストの削減が図れる。
【選択図】図1

Description

本発明は、半導体基板上の配置領域にマクロセルを配置する半導体レイアウト設計装置に関する。
近年のLSI設計では、多数のマクロセルを用いることが多いが、その配置処理はエンジニアが手作業で行うのが一般的である。マクロセルの配置処理は、I/Oの配置とブロックの概略配置を行った後に行われる。マクロセルの配置処理の後に配置最適化処理を行うと、ブロックの概略配置を行った時点でのブロックの配置とはかなり変わってしまうため、配置最適化処理を行った後に、再びブロックやマクロセルの配置の調整を行う必要がある。この調整作業も、エンジニアが手作業で行うことが多いため、調整のやり方によって、最終的に得られるフロアプランの品質に大きなばらつきが生じるという問題があった(特許文献1,2参照)。
また、従来のLSI設計では、マクロセルの配置を決定するまでの調整作業にかなりの時間がかかっていたため、設計工数と設計コストが高くなるという問題があった。
特開平6−244280 特開2006−190062
本発明は、マクロセルの配置を自動化するとともに、設計工数と設計コストを削減可能な半導体レイアウト設計装置を提供するものである。
本発明の一態様によれば、ネットリスト、ライブラリ情報、フロアプラン情報およびテクノロジー情報に基づいて、スタンダードセルおよびマクロセルを含む複数のブロック同士の配線接続本数を抽出するブロック間接続情報抽出手段と、配置領域内に前記複数のブロックを概略配置するブロック概略配置手段と、前記複数のブロックのそれぞれについて、他のブロックとの位置関係と他のブロックとの配線接続本数とに基づいて、ブロック内のマクロセルの配置位置を設定するセル配置設定手段と、を備えることを特徴とする半導体レイアウト設計装置が提供される。
本発明によれば、マクロセルの配置を自動化でき、かつ設計工数と設計コストを従来よりも削減することができる。
以下、図面を参照しながら、本願発明の実施形態について説明する。
(第1の実施形態)
図1は本願発明の第1の実施形態に係る半導体レイアウト設計装置の概略構成を示すブロック図である。図1の半導体レイアウト設計装置は、演算処理装置1と、表示装置2と、ネットリスト記憶装置3と、ライブラリ情報記憶装置4と、フロアプラン情報記憶装置5と、テクノロジ情報記憶装置6と、フロアプラン評価結果記憶装置7とを備えている。演算処理装置1と各記憶装置はネットワーク回線8にて接続されており、演算処理装置1はネットワーク回線8を経由して各記憶装置との間で各種データを送受する。なお、ネットワーク回線8ではなく、演算処理装置1の内部バスや外部バスに各記憶装置を接続してもよい。
演算処理装置1は、インタフェース部11と、ブロック間接続情報抽出部12と、ブロック概略配置部13と、セル配置設定部14と、力線ベクトル生成部15と、ベクトル合成部16と、マクロ配置領域抽出部17と、重なり判定部18と、重なり解消部19と、再配置設定部20とを有する。
インタフェース部11は、ネットリスト記憶装置3に記憶されたネットリストと、ライブラリ情報記憶装置4に記憶されたライブラリ情報と、フロアプラン情報記憶装置5に記憶されたフロアプラン情報と、テクノロジ情報記憶装置6に記憶されたテクノロジ情報とを取り込む処理と、フロアプランの評価結果をフロアプラン評価結果記憶装置7に送出する処理とを行う。
ここで、ネットリストとは、半導体基板上に形成される半導体回路の接続情報を記述したデータである。ライブラリ情報とは、配置領域に配置可能なスタンダードセル、マクロセルおよびゲートなどの回路情報である。フロアプラン情報とは、各フロアプランがどのようなスタンダードセルやマクロセルを配置しているかを示す情報である。テクノロジ情報とは、配置領域に配置される配線幅や信号伝搬遅延時間などの情報である。
ブロック間接続情報抽出部12は、ブロック同士の配線接続本数を抽出する。ここで、ブロックとは、論理的に関連する複数のスタンダードセルやマクロセルを含む領域であり、配置領域には複数のブロックが配置される。
セル配置設定部14は、複数のブロックのそれぞれについて、他のブロックとの位置関係と他のブロックとの配線接続本数とに基づいて、ブロック内のマクロセルの配置位置を設定する。
力線ベクトル生成部15は、着目ブロックの代表点から他のブロックの代表点に向かう方向を持ち、他のベクトルとの距離と他のブロックとの配線接続本数との乗算値の大きさを持つ力線ベクトルを生成する。
ベクトル合成部16は、着目ブロックに配線接続される2以上のブロックが存在する場合、着目ブロックから各ブロックに向かう力線ベクトルのそれぞれを合成する。
マクロ配置領域抽出部17は、複数のブロックのそれぞれについて、セル配置設定部14にて設定されたマクロセルをすべて含む範囲を示すマクロ配置領域を抽出する。
重なり判定部18は、各ブロックのマクロ配置領域同士が少なくとも一部重なっているか否かを判定する。
重なり解消部19は、重なり判定部18にて重なっていると判定されると、重なりがなくなるように、重なっているマクロ配置領域を移動するか、重なっているマクロ配置領域のサイズを変更する。
再配置設定部20は、重なり解消部19の処理を所定回数行ってもマクロ配置領域の重なりがなくならない場合、ブロック内のマクロセルの配置位置を再度設定し直す。
なお、本実施形態では、図1の力線ベクトル生成部15、ベクトル合成部16、マクロ配置領域抽出部17、重なり判定部18、重なり解消部19および再配置設定部20は必須ではないため、省略してもよい。
図2は図1の半導体レイアウト設計装置におけるマクロセルの配置処理の詳細な処理手順を示すフローチャートである。このフローチャートを実行する前に、ブロック概略配置部13によるブロックの概略配置が行われる。
まず、ブロック間の力線ベクトルを算出する(ステップS1)。例えば、図3はブロックa,b間の力線ベクトルを示す図である。図3では、ブロックaの代表点からブロックbの代表点に向かう直線ベクトルを力線ベクトルと定義している。この力線ベクトルは(1)式で表される。
Figure 2008129725
ここで、ブロックの代表点とは、例えばブロックの中心点でもよいし、ブロック内のセル配置が決まっていれば、そのセル配置の重心位置でもよい。ブロックa,bの代表点同士の距離をDist(a,b)、ブロックa,b間の配線接続本数をConn(a,b)とすると、ブロック間の力線ベクトルの大きさは、以下の(2)式で表される。
Figure 2008129725
(2)式のブロック間の距離Dist(a,b)と配線接続本数Conn(a,b)は、ブロック内のセル配置密度やブロック間の配線接続本数の大小(混雑度)によって重みをつけることができる。例えば、ブロックを複数のグリッドに分割して、各グリッドごとにセル密度を求め、距離Dist(a,b)を計算する際に、各グリッドのセル密度で重み付けをしてもよい。
次に、あるブロック(着目ブロック)iから複数の他のブロックに向かう力線ベクトルがある場合には、これらすべての力線ベクトルを合成した力線ベクトル(以下、合成力線ベクトル)を算出する(ステップS2)。この処理は、図1のベクトル合成部16にて行う。
例えば、図4のブロックiの力線ベクトルは、ブロックiからブロックaに向かう力線ベクトルとブロックiからブロックbに向かう力線ベクトルとを合成したベクトルになる。このブロックiの合成力線ベクトルは、以下の(3)式で表される。
Figure 2008129725
このように、ブロックiにおける合成力線ベクトルは、他のブロックとの力線ベクトルの和で表される。(3)式を一般化して、ブロックiから他のn個のブロックに向かう力線ベクトルがあるとすると、ブロックiの合成力線ブロックは、以下の(4)式で表される。
Figure 2008129725
次に、ブロックiの合成力線ベクトルのx成分の絶対値とy成分の絶対値を算出する(ステップS3)。
例えば、図4では、(4)式に示すブロックiの合成力線ベクトルのx成分の絶対値をf_x(i)、y成分の絶対値をf_y(i)としている。
次に、x成分の絶対値f_x(i)がy成分の絶対値f_y(i)よりかなり大きいか否かを判定する(ステップS4)。ステップS4の判定がYESであれば、図5に示すように、ブロックiの長辺(x軸)方向の接続を妨げないように、短辺(y軸)方向に沿ってマクロセルを配置する。このとき、各マクロセルが重ならないように配置する(ステップS5)。
図5では、マクロセルA,B,C,Dを短辺に沿って配置する例を示している。マクロセルA〜Dは、合成力線ベクトルのx軸成分ベクトルの基端側で、かつブロックiの短辺に沿って配置される。
このように、合成力線ベクトルのx成分の絶対値f_x(i)がy成分の絶対値f_y(i)よりもかなり大きい場合は、ブロック間のx軸方向のブロック間距離が長いか、ブロック間の配線接続本数が多いと考えられることから、x軸方向に沿ってマクロセルを配置することはなるべく避けて、y軸方向に沿ってマクロセルを配置する。
一方、図2のステップS4の判定がNOの場合、合成力線ベクトルのx成分の絶対値f_x(i)がy成分の絶対値f_y(i)よりかなり小さいか否かを判定する(ステップS6)。ステップS6の判定がYESであれば、図6に示すように、ブロックiの短辺(y軸)方向の接続を妨げないように、長辺(x軸)方向に沿ってマクロセルA〜Dを配置する。このとき、各マクロセルが重ならないように配置する(ステップS7)。より具体的には、マクロセルは、合成力線ベクトルのy軸成分ベクトルの基端側で、かつブロックiの長辺に沿って配置される。
このように、合成力線ベクトルのy成分の絶対値f_y(i)がx成分の絶対値f_x(i)よりもかなり大きい場合は、ブロック間のy軸方向のブロック間距離が短いか、ブロック間の配線接続本数が多いと考えられることから、y軸方向に沿ってマクロセルを配置することはなるべく避けて、x軸方向に沿ってマクロセルを配置する。
一方、図2のステップS6の判定がNOの場合は、合成力線ベクトルのx成分の絶対値f_x(i)とy成分の絶対値f_y(i)が略等しいことを示している。この場合は、図7に示すように、ブロックiのx軸方向とy軸方向に沿って、L字状にマクロセルA〜Dを配置する(ステップS8)。このとき、各マクロセルが重ならないように配置する。より具体的には、マクロセルは、合成力線ベクトルのx軸成分ベクトルとy軸成分ベクトルの基端側で、かつブロックiの長辺および短辺に沿って配置される。
このように、合成力線ベクトルのx成分の絶対値f_x(i)とy成分の絶対値f_y(i)が略等しい場合には、x軸方向とy軸方向に均等にマクロセルを配置し、両軸方向のセル密度が均等になるようにする。
以上の処理により、ブロックi内にマクロセルを配置することができる。同様の処理は他のブロックについても行われる。
このように、第1の実施形態では、ブロックごとに、他のブロックに向かう力線ベクトルを求めて合成力線ベクトルを算出し、その合成力線ベクトルのx成分の大きさとy成分の大きさとを比較した結果により、ブロック内のマクロセルの配置を決定するため、他の配線の妨げにならないような効率的なマクロセルの配置を行うことができる。このため、マクロセルの配線を大幅にやり直す頻度が少なくなり、設計工数と設計コストの削減が図れる。
(第2の実施形態)
第2の実施形態は、マクロセルの配置を自動化するとともに、ブロック同士のマクロセルの重なりが生じないようにマクロセルを配置するものである。
第2の実施形態による半導体レイアウト設計装置は、図1と同様のブロック構成を持つため、以下では第1の実施形態との相違点を中心に説明する。
図8は第2の実施形態による半導体レイアウト設計装置の処理手順を示すフローチャートである。まず、ネットリスト、ライブラリ情報、フロアプラン情報およびテクノロジ情報を取得した後、配置領域にI/Oを配置する(ステップS11)。このステップS11の処理は、従来と同じであり、図1の演算処理装置1が行う。次に、ブロック間接続情報抽出部12は、スタンダードセルやマクロセルを含むブロック同士の接続情報(より具体的には、配線接続本数)を抽出する(ステップS12)。次に、演算処理装置1は、自動P&Rツールを実行して、配置領域にスタンダードセルとマクロセルを概略配置する(ステップS13)。概略配置の目的は、配線長が短いブロック相対位置を決定することである。P&Rツールがブロック相対位置を最適化できるように、マクロセルも固定せずに自動配置する。このステップS13は図1のブロック概略配置部13が行う。
次に、演算処理装置1は、配置領域にマクロセルの配置を行う(ステップS14)。このステップS14の処理については後に詳述する。次に、演算処理装置1は、作成した候補フロアプランごとにスタンダードセルの初期配置を行う(ステップS15)。
次に、演算処理装置1は、フロアプランの評価値を算出した後、評価値の最も小さなフロアプランを選択する(ステップS16)。
次に、演算処理装置1は、ステップS16で選択したフロアプランにおけるスタンダードセルの初期配置に対して、セル配置やセル駆動能力の調整、ゲート段数の改善、バッファセルの挿入などの最適化処理を行い、タイミング改善処理を行う(ステップS17)。
次に、演算処理装置1は、ステップS17の最適化処理を行った後のフロアプランに対して、配線性とタイミング性能を検証する(ステップS18)。検証した結果、配線性やタイミング性能に問題がある場合にはステップS14に移行して、再度マクロセルの配置をやり直す。一方、検証した結果、問題がなければ図8の処理を終了し、フロアプランが決定される。
図9は図8のステップS14の詳細な処理手順の一例を示すフローチャートである。このフローチャートでは、マクロセルの重なりが起きないようにマクロセルを配置する処理を行う。
まず、ブロックの配置位置を抽出する(ステップS31)。このステップS31では、まず各ブロックについて代表点の座標を算出する。代表点としては、例えばブロックの中心点を用いる。ブロックに所属する各マクロセルの中心座標(x,y)の中で、最小および最大のx座標をそれぞれxmin,xmaxとし、最小および最大のy座標をそれぞれymin,ymaxとすると、各マクロセルの中心座標(x,y)は、以下の(5)式で表される。
c(x,y)=((xmin+xmax)/2,(ymin+ymax)/2) …(5)
ここで、ブロックの代表点は、ブロックの中心や重心でもよいし、あるいはブロックに所属する各マクロセルの平均座標位置でもよい。あるブロックに所属するマクロセル数がn個あり、各マクロセルの中心座標が(xi,yi)であるとき、各マクロセルの平均座標A(x,y)は以下の(6)式で表される。
A(x,y)=(Σxi/n,Σyi/n) …(6)
また、代表点は、ブロックに所属する各マクロセル座標の平均位置でもよい。あるブロックに所属するセル数がn個あり、各マクロセルの中心座標を(xi,yi)、各マクロセルの面積をaiとすると、ブロックの重心座標G(x、y)は以下の(7)式で算出される。
G(x,y)=(Σ(xi×ai)/Σai,Σ(yi×ai)/Σai) …(7)
ブロック内のマクロセルの面積がマクロセルごとに大きく異なっている場合や、ブロック内のマクロセルが分散して配置されている場合には、重心を代表点として用いるのが有効と考えられる。
上記の手順でブロックの代表点の座標が算出されると、次に、各ブロックの配置位置と領域を決定する。あるブロックの代表点を(xrep,yrep)とし、ブロック内の各マクロセルの中心座標のうち、最小および最大のx座標をそれぞれxmin,xmaxとし、最小および最大のy座標をそれぞれymin,ymaxとすると、そのブロック内の矩形状の配置領域の左下の座標(xll,yll)と右上の座標(xur,yur)は、それぞれ以下の(8)〜(11)式で表される。
ll=xrep+(xmin−xrep)/2 …(8)
ll=yrep+(ymin−yrep)/2 …(9)
ur=xrep+(xmax−xrep)/2 …(10)
ur=yrep+(ymax−yrep)/2 …(11)
以上の手順により、ステップS31において、ブロックの配置位置が抽出される。
ステップS31の処理が終わると、次に、各ブロックごとに力線ベクトルの算出を行う(ステップS32)。このステップS32では、図2のステップS1と同様の手順で力線ベクトルを算出する。
次に、各ブロック内に含まれるマクロセルのサイズを比較し、例えば大きいマクロセルを内蔵するブロックから降順に各ブロックをソートする(ステップS33)。そして、ソートした順にブロックを一つ選択する(ステップS34)。
次に、ステップS34で選択したブロック内に、第1の実施形態(図2のフローチャート)と同様の手順で、マクロセルの配置形状を設定する(ステップS35)。次に、ブロック内にマクロセルを初期配置する(ステップS36)。
次に、マクロセルの種類(例えば、サイズ)に応じて、マクロセルをいくつかのグループに分類する(ステップS37)。これらのマクロセルグループを降順にソートする(ステップS38)。次に、ソートした順にマクロセルグループのうち一つを選択する(ステップS39)。
次に、ステップS36で初期配置されたマクロセルのうち、ステップS39で選択したマクロセルグループ内の各マクロセルの配置位置を調整する(ステップS40)。次に、すべてのマクロセルグループについて配置位置の調整を行ったか否かを判定する(ステップS41)。まだ調整を行っていないマクロセルグループが存在する場合にはステップS39に戻り、存在しない場合には、配置領域内に配置された全マクロセルを含むマクロ配置領域を抽出する(ステップS42)。
例えば、図10(a)はステップS31〜S41の処理によって得られたブロック内のマクロセルの配置位置を示す図である。図10(a)のマクロセルm1,m2,m3はマクロセルグループG1に所属し、マクロセルm4,m5,m6,m7はマクロセルグループG2に所属し、マクロセルm8,m9,10はマクロセルグループG3に所属している。
上述したステップS42では、図10(a)における全マクロセルm1〜m10を含むマクロ配置領域を抽出する。例えば、図10(b)に示すように、全マクロセルm1〜m10の頂点すべてを含む矩形領域31をマクロ配置領域として抽出する。
次に、ステップS42で抽出したマクロ配置領域と他のブロックのマクロ配置領域とが重なっているか否かを判定する(ステップS43)。図11はブロックaのマクロ配置領域31とブロックbのマクロ配置領域32とが部分的に重なっている例を示す図である。図11では、重複した領域を符号33で表している。
ステップS43にて、マクロ配置領域同士が重なっていると判定されると、マクロ配置領域同士の重なり判定処理を予め定めた所定回数だけ行ったか否かを判定する(ステップS44)。ステップS44の判定がNOであれば、マクロ配置領域を移動したりサイズ変更を行って、重なりをなくす処理を行う(ステップS45)。
図12および図13はマクロ配置領域同士の重なりの検出とマクロ配置領域の移動の一例を説明する図である。図12はブロックaのマクロ配置領域の一部がブロックbのマクロ配置領域と重なっている例を示している。この重なりをなくすには、図13(a)に示すようにブロックb内のマクロ配置領域32を右側に移動する手法と、図13(b)に示すようにマクロ配置領域32を上側に移動する手法と、図13(c)に示すようにマクロ配置領域32を下側に移動する手法と、図13(d)に示すようにマクロ配置領域32を左側に移動する手法が考えられる。
これら図13(a)〜図13(d)の4通りのうち、重なりをなくすための移動距離が最小になるものを最終的に選択して、マクロ配置領域を移動させる。
一方、図14は上述したステップS45でマクロ配置領域のサイズ変更を行う場合の処理を説明する図である。図14は3つのブロックa,b,cが隣接配置されており、ブロックa,c内のマクロ配置領域の位置が固定である例を示している。初期状態では、図14(a)に示すように、ブロックa内のマクロ配置領域31とブロックb内のマクロ配置領域32とが一部重なっている。このため、図14(b)では、ブロックb内のマクロ配置領域32を右に移動させた例を示している。この結果、ブロックb内のマクロ配置領域32はブロックc内のマクロ配置領域34と一部重なる。
そこで、図14(c)に示すように、ブロックb内のマクロ配置領域32のサイズを圧縮(小さく)して、ブロックa,c内のマクロ配置領域31,34と重ならないようにする。より具体的には、図14(b)の移動方向とは逆方向にマクロ配置領域32を圧縮して、両側のマクロ配置領域31,34と重ならないようにする。
図14(d)は、図14(c)で圧縮したマクロ配置領域32内にマクロセルを配置した例を示している。一部のマクロセルは、マクロ配置領域32の外に配置されているが、これは、ブロックの力線ベクトルと平行な方向には、マクロ配置領域外を超えてマクロセルを配置してもよいことにしているためである。
以上の手順により図9のステップS45の処理が終了すると、再度ステップS39に移行して、配置領域内のマクロセルグループを選択した後、ステップS40〜S43の処理を再度順に行う。
一方、ステップS44の判定がNOの場合、すなわち、配置領域同士の重なり判定処理を所定回数行った場合には、現状のマクロセルの配置では重なりを除去できないと判断して、マクロセルの配置形状を変更する処理を行う(ステップS46)。
ここで、マクロセルの配置形状は、第1の実施形態で説明したように、力線ベクトルの大きさと方向によって決められる。例えば、図9のステップS35の処理にて図5のような配置形状にした場合に、結果としてマクロ配置領域の重なりを除去できなかった場合は、図6や図7のようなマクロセルの配置形状を選択する。
ステップS46の処理が終了すると、ステップS39に移行して、ステップS39〜S43の処理を再度順に行う。
一方、図9のステップS43の判定がNOの場合、すなわち、マクロ配置領域同士が重なっていない場合、ブロック内のマクロセルの位置を固定にする(ステップS47)。
次に、すべてのブロックについて、ステップS34〜S47の処理を行ったか否かを判定する(ステップS48)。まだ処理を行っていないブロックが存在する場合には、ステップS34に戻って、ソート順にブロックを一つ選択して、ステップS35〜S47の処理を行う。
このように、第2の実施形態では、力線ベクトルに基づいてブロック内に配置されたマクロ配置領域の一部が他のブロックのマクロ配置領域と重なるか否かを検出し、重なりが生じないように、マクロ配置領域を移動したり、あるいはマクロ配置領域のサイズ変更を行うため、エンジニアが手作業でマクロセルの調整を行わなくて済み、設計工数と設計コストの削減が図れる。
図1の演算処理装置1は、一台のコンピュータで実現してもよいし、複数のコンピュータで構成してもよい。また、演算処理装置1内に含まれる各部11〜18は、ハードウェアで実現してもよいし、ソフトウェアで実現してもよい。ソフトウェアで実現する場合、各部11〜18の処理動作を行うプログラムをコンピュータに読み込ませてコンピュータに実行させればよい。
第1の実施形態に係る半導体レイアウト設計装置の概略構成を示すブロック図。 図1の半導体レイアウト設計装置におけるマクロセルの配置処理の詳細な処理手順を示すフローチャート。 ブロックa,b間の力線ベクトルを示す図。 合成力線ベクトルを説明する図。 短辺(y軸)方向に沿ってマクロセルを配置する例を示す図。 長辺(x軸)方向に沿ってマクロセルを配置する例を示す図。 L字状にマクロセルを配置する例を示す図。 第2の実施形態による半導体レイアウト設計装置の処理手順を示すフローチャート。 図8のステップS14の詳細な処理手順の一例を示すフローチャート。 (a)はステップS31〜S41の処理によって得られたブロック内のマクロセルの配置位置を示す図、(b)はマクロ配置領域を示す図。 ブロックaのマクロ配置領域31とブロックbのマクロ配置領域32とが部分的に重なっている例を示す図。 ブロックaのマクロ配置領域の一部がブロックbのマクロ配置領域と重なっている例を示す図。 (a)〜(d)はマクロ配置領域を移動させる例を示す図。 ステップS45でマクロ配置領域のサイズ変更を行う場合の処理を説明する図。
符号の説明
1 演算処理装置
2 表示装置
3 ネットリスト記憶装置
4 ライブラリ情報記憶装置
5 フロアプラン情報記憶装置
6 テクノロジ情報記憶装置
7 フロアプラン評価結果記憶装置
11 インタフェース部
12 ブロック間接続情報抽出部
13 ブロック概略配置部
14 セル配置設定部
15 力線ベクトル生成部
16 ベクトル合成部
17 マクロ配置領域抽出部
18 重なり判定部
19 重なり解消部
20 再配置設定部

Claims (5)

  1. ネットリスト、ライブラリ情報、フロアプラン情報およびテクノロジー情報に基づいて、スタンダードセルおよびマクロセルを含む複数のブロック同士の配線接続本数を抽出するブロック間接続情報抽出手段と、
    配置領域内に前記複数のブロックを概略配置するブロック概略配置手段と、
    前記複数のブロックのそれぞれについて、他のブロックとの位置関係と他のブロックとの配線接続本数とに基づいて、ブロック内のマクロセルの配置位置を設定するセル配置設定手段と、を備えることを特徴とする半導体レイアウト設計装置。
  2. 着目ブロックの代表点から他のブロックの代表点に向かう方向を持ち、前記他のブロックとの距離と前記他のブロックとの配線接続本数との乗算値の大きさを持つ力線ベクトルを生成する力線ベクトル生成手段を備え、
    前記セル配置設定手段は、前記力線ベクトルの2軸方向の大きさを比較した結果に基づいて、着目ブロック内のマクロセルの配置位置を設定することを特徴とする請求項1に記載の半導体レイアウト設計装置。
  3. 着目ブロックに配線接続される2以上のブロックが存在する場合、着目ブロックから各ブロックに向かう前記力線ベクトルのそれぞれを合成するベクトル合成手段を備え、
    前記セル配置設定手段は、前記ベクトル合成手段にて合成された合成力線ベクトルの2軸方向の大きさを比較した結果に基づいて、着目ブロック内のマクロセルの配置位置を決定することを特徴とする請求項2に記載の半導体レイアウト設計装置。
  4. 前記複数のブロックのそれぞれについて、前記セル配置設定手段にて設定されたマクロセルをすべて含む範囲を示すマクロ配置領域を抽出するマクロ配置領域抽出手段と、
    各ブロックの前記マクロ配置領域同士が少なくとも一部重なっているか否かを判定する重なり判定手段と、
    前記重なり判定手段にて重なっていると判定されると、重なりがなくなるように、重なっているマクロ配置領域を移動するか、重なっているマクロ配置領域のサイズを変更する重なり解消手段と、を備えることを特徴とする請求項1乃至3のいずれかに記載の半導体レイアウト設計装置。
  5. 前記重なり解消手段の処理を所定回数行ってもマクロ配置領域の重なりがなくならない場合、ブロック内のマクロセルの配置位置を再度設定し直すセル再配置設定手段を備えることを特徴とする請求項4に記載の半導体レイアウト設計装置。
JP2006312007A 2006-11-17 2006-11-17 半導体レイアウト設計装置 Expired - Fee Related JP4783268B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006312007A JP4783268B2 (ja) 2006-11-17 2006-11-17 半導体レイアウト設計装置
US11/941,739 US7831947B2 (en) 2006-11-17 2007-11-16 Semiconductor layout design apparatus, semiconductor layout design method and computer readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006312007A JP4783268B2 (ja) 2006-11-17 2006-11-17 半導体レイアウト設計装置

Publications (2)

Publication Number Publication Date
JP2008129725A true JP2008129725A (ja) 2008-06-05
JP4783268B2 JP4783268B2 (ja) 2011-09-28

Family

ID=39477361

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006312007A Expired - Fee Related JP4783268B2 (ja) 2006-11-17 2006-11-17 半導体レイアウト設計装置

Country Status (2)

Country Link
US (1) US7831947B2 (ja)
JP (1) JP4783268B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010534375A (ja) * 2007-07-23 2010-11-04 シノプシス インコーポレイテッド アーキテクチャー上の物理的合成

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4221045B2 (ja) * 2005-06-20 2009-02-12 富士通株式会社 フロアプラン設計支援装置,フロアプラン設計支援プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体
JP2008129724A (ja) * 2006-11-17 2008-06-05 Toshiba Corp 半導体レイアウト設計装置
US7962877B2 (en) * 2008-08-05 2011-06-14 International Business Machines Corporation Port assignment in hierarchical designs by abstracting macro logic
US8793636B2 (en) * 2011-04-14 2014-07-29 International Business Machines Corporation Placement of structured nets

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63118879A (ja) * 1986-11-06 1988-05-23 Fujitsu Ltd ゲ−トアレイの配置方式
JPH0423452A (ja) * 1990-05-18 1992-01-27 Hitachi Ltd Vlsiの配置改善方法
JPH04141778A (ja) * 1990-10-03 1992-05-15 Hokuriku Nippon Denki Software Kk 階層的配置処理方式
JPH05121546A (ja) * 1991-10-30 1993-05-18 Hitachi Ltd 半導体集積回路のレイアウト方法
JPH06216355A (ja) * 1992-11-10 1994-08-05 Kawasaki Steel Corp 半導体集積回路のブロック配置方法及び装置
JPH06332983A (ja) * 1993-05-20 1994-12-02 Mitsubishi Electric Corp 部品配置最適化方法
JPH10111878A (ja) * 1996-08-14 1998-04-28 Sharp Corp フロアプラン方法及びその装置
JPH10256377A (ja) * 1997-03-07 1998-09-25 Matsushita Electric Ind Co Ltd フロアプラン方法
JPH10294380A (ja) * 1997-02-21 1998-11-04 Sharp Corp 階層的レイアウト方法及び記録媒体
JPH1185819A (ja) * 1997-09-02 1999-03-30 Matsushita Electric Ind Co Ltd 部品配置装置
JP2003288380A (ja) * 2002-03-28 2003-10-10 Fujitsu Ltd 集積回路のフロアプラン生成方法、フロアプラン生成装置およびフロアプラン生成プログラム
JP2004334565A (ja) * 2003-05-08 2004-11-25 Renesas Technology Corp 自動フロアプラン決定方法
JP2006155119A (ja) * 2004-11-29 2006-06-15 Fujitsu Ltd Lsi物理設計方法、プログラム及び装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06244280A (ja) 1993-02-19 1994-09-02 Sharp Corp 自動フロアプランニング装置
JP3024593B2 (ja) * 1997-06-05 2000-03-21 日本電気株式会社 レイアウト設計方法およびレイアウト設計装置
JP3389875B2 (ja) * 1999-03-12 2003-03-24 株式会社トッパンエヌイーシー・サーキットソリューションズ 自動部品配置システム並びに自動部品配置プログラムを記録した記録媒体
JP2004062598A (ja) * 2002-07-30 2004-02-26 Seiko Epson Corp 半導体装置、半導体装置の設計方法及び設計装置、並びに半導体装置の設計プログラム
JP2006190062A (ja) 2005-01-06 2006-07-20 Hitachi Ltd 半導体集積回路のフロアプラン方法および計算機システム

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63118879A (ja) * 1986-11-06 1988-05-23 Fujitsu Ltd ゲ−トアレイの配置方式
JPH0423452A (ja) * 1990-05-18 1992-01-27 Hitachi Ltd Vlsiの配置改善方法
JPH04141778A (ja) * 1990-10-03 1992-05-15 Hokuriku Nippon Denki Software Kk 階層的配置処理方式
JPH05121546A (ja) * 1991-10-30 1993-05-18 Hitachi Ltd 半導体集積回路のレイアウト方法
JPH06216355A (ja) * 1992-11-10 1994-08-05 Kawasaki Steel Corp 半導体集積回路のブロック配置方法及び装置
JPH06332983A (ja) * 1993-05-20 1994-12-02 Mitsubishi Electric Corp 部品配置最適化方法
JPH10111878A (ja) * 1996-08-14 1998-04-28 Sharp Corp フロアプラン方法及びその装置
JPH10294380A (ja) * 1997-02-21 1998-11-04 Sharp Corp 階層的レイアウト方法及び記録媒体
JPH10256377A (ja) * 1997-03-07 1998-09-25 Matsushita Electric Ind Co Ltd フロアプラン方法
JPH1185819A (ja) * 1997-09-02 1999-03-30 Matsushita Electric Ind Co Ltd 部品配置装置
JP2003288380A (ja) * 2002-03-28 2003-10-10 Fujitsu Ltd 集積回路のフロアプラン生成方法、フロアプラン生成装置およびフロアプラン生成プログラム
JP2004334565A (ja) * 2003-05-08 2004-11-25 Renesas Technology Corp 自動フロアプラン決定方法
JP2006155119A (ja) * 2004-11-29 2006-06-15 Fujitsu Ltd Lsi物理設計方法、プログラム及び装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010534375A (ja) * 2007-07-23 2010-11-04 シノプシス インコーポレイテッド アーキテクチャー上の物理的合成

Also Published As

Publication number Publication date
JP4783268B2 (ja) 2011-09-28
US7831947B2 (en) 2010-11-09
US20080134120A1 (en) 2008-06-05

Similar Documents

Publication Publication Date Title
US6378115B1 (en) LSI manufacturing method and recording medium for storing layout software
US8104008B2 (en) Layout design apparatus, layout design method, and computer product
JP4783268B2 (ja) 半導体レイアウト設計装置
CN104978750B (zh) 用于处理视频文件的方法和装置
CN112257377B (zh) 器件布局方法、装置、电子设备和计算机可读存储介质
CN111597768A (zh) 用于构建版图图案集的方法、设备和计算机可读存储介质
US7836421B2 (en) Semiconductor layout design apparatus and method for evaluating a floorplan using distances between standard cells and macrocells
US8108814B2 (en) Dummy metal insertion processing method and apparatus
US7596773B2 (en) Automating optimal placement of macro-blocks in the design of an integrated circuit
US10460064B1 (en) Partition-aware grid graph based hierarchical global routing
JP2005149273A (ja) 半導体集積回路のフロアプラン装置及びフロアプラン方法
US7328422B2 (en) Design support apparatus, design support program and design support method for supporting design of semiconductor integrated circuit
US10706199B1 (en) Graphical user interface for interactive macro-cell placement
US20110064314A1 (en) Line segment extraction device
JP5609302B2 (ja) 接触定義装置、接触定義プログラム及び接触定義方法
Bandeira et al. Fast and scalable I/O pin assignment with divide-and-conquer and hungarian matching
Bunglowala et al. Performance evaluation and comparison and improvement of standard cell placement techniques in VLSI design
Kai et al. Tofu: A two-step floorplan refinement framework for whitespace reduction
US7168053B1 (en) Method and system for implementing an analytical wirelength formulation
US11144700B1 (en) Grouping nets to facilitate repeater insertion
US7107556B1 (en) Method and system for implementing an analytical wirelength formulation for unavailability of routing directions
Jiping et al. B-rep based automatic incremental blend suppression for meshing
US20240046013A1 (en) Chip placement method and apparatus, and storage medium
US20170061063A1 (en) Integrated circuit with reduced routing congestion
JP3132554B2 (ja) 半導体装置の自動レイアウト設計方法および装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090318

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110121

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110322

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: 20110614

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: 20110708

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

Free format text: PAYMENT UNTIL: 20140715

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140715

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees