IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 深▲セン▼▲職▼▲業▼技▲術▼学院の特許一覧

特許7175533離散最適化によるデジタル集積回路のレイアウト方法および端末装置
<>
  • 特許-離散最適化によるデジタル集積回路のレイアウト方法および端末装置 図1
  • 特許-離散最適化によるデジタル集積回路のレイアウト方法および端末装置 図2
  • 特許-離散最適化によるデジタル集積回路のレイアウト方法および端末装置 図3
  • 特許-離散最適化によるデジタル集積回路のレイアウト方法および端末装置 図4
  • 特許-離散最適化によるデジタル集積回路のレイアウト方法および端末装置 図5
  • 特許-離散最適化によるデジタル集積回路のレイアウト方法および端末装置 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-11
(45)【発行日】2022-11-21
(54)【発明の名称】離散最適化によるデジタル集積回路のレイアウト方法および端末装置
(51)【国際特許分類】
   G06F 30/392 20200101AFI20221114BHJP
   G06F 30/337 20200101ALI20221114BHJP
   H01L 21/82 20060101ALI20221114BHJP
【FI】
G06F30/392
G06F30/337
H01L21/82 B
H01L21/82 C
【請求項の数】 10
(21)【出願番号】P 2021525347
(86)(22)【出願日】2019-06-20
(65)【公表番号】
(43)【公表日】2021-11-11
(86)【国際出願番号】 CN2019091966
(87)【国際公開番号】W WO2020224035
(87)【国際公開日】2020-11-12
【審査請求日】2021-01-20
(31)【優先権主張番号】201910381133.0
(32)【優先日】2019-05-08
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】521028338
【氏名又は名称】深▲セン▼▲職▼▲業▼技▲術▼学院
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】曾 ▲啓▼明
【審査官】合田 幸裕
(56)【参考文献】
【文献】米国特許出願公開第2014/0208284(US,A1)
【文献】米国特許第07266796(US,B1)
【文献】米国特許第07685540(US,B1)
【文献】米国特許出願公開第2013/0091483(US,A1)
【文献】中国特許出願公開第109033510(CN,A)
【文献】中国特許出願公開第101055606(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 30/392
G06F 30/337
H01L 21/82
IEEE Xplore
JSTPlus(JDreamIII)
(57)【特許請求の範囲】
【請求項1】
所定の数量のスタンダードセルの位置離散コードの第一レイアウトを予めランダムに形成し、かつ各第一レイアウトを調節することによりレイアウトコンフリクトが除去される第二レイアウトを形成するステップと、
各第二レイアウトの第一接続線全長を獲得し、かつ前記第一接続線全長と離散最適化方法により各第二レイアウトに対して最適化をすることにより各第三レイアウトを獲得するステップと、
貪欲算法により各第三レイアウトに対して局部最適化をすることにより第四レイアウトを獲得し、かつ各第四レイアウトの第二接続線全長をそれぞれ計算するステップと、
計算により獲得したすべての第二接続線全長によりすべての第四レイアウト中の最適化レイアウトを獲得し、かつ前記最適化レイアウトによりスタンダードセルを基板上に配置させるステップとを含むことを特徴とする離散最適化によるデジタル集積回路のレイアウト方法。
【請求項2】
所定の数量のスタンダードセルの位置離散コードの第一レイアウトを予めランダムに形成し、かつ第一レイアウトを調節することによりレイアウトコンフリクトが除去される第二レイアウトを形成するステップは具体的に、
所定の数量のスタンダードセルの位置離散コードの第一レイアウトを予めランダムに形成するステップと、
第一レイアウト中の任意の2個のスタンダードセルがc≠cになるようにし、cとcがx=xを満たすとき、y=yにするステップであって、xとxは第一レイアウト中のスタンダードセルの列位置であり、yとyは第一レイアウト中のスタンダードセルの行位置であるステップと、
前記c とc がx =x を満たすとき、第一レイアウトにレイアウトコンフリクトが含まれないときまで、第y行中の第x列のスタンダードセルを右に一列移動させることを繰り返すことにより第二レイアウトを獲得するステップとを含むことを特徴とする請求項1に記載の離散最適化によるデジタル集積回路のレイアウト方法。
【請求項3】
前記所定の数量のスタンダードセルの位置離散コードの第一レイアウトを予めランダムに形成するステップは具体的に、
スタンダードセルのレイアウトコードを予め設定の数量がnである2m次元のベクトルPにするステップであって、mはスタンダードセルの数量であり、i=1、2、...、nであるステップと、
前記ベクトルPに対してリバースコーディングをすることによりスタンダードセルの位置集合を獲得し、前記位置集合により前記第一レイアウトを確定するステップとを含むことを特徴とする請求項2に記載の離散最適化によるデジタル集積回路のレイアウト方法。
【請求項4】
前記ベクトルPに対してリバースコーディングをすることによりスタンダードセルの位置集合を獲得し、前記位置集合により前記第一レイアウトを確定するステップは具体的に、
において前部m個の値と後部m個の値をとることによりサブベクトルP={P|P}を形成するステップであって、PとP中の数値は1つずつ対応するステップと、
中の数値を順番に配列させることにより行位置ベクトルYを形成し、P中の数値が行位置と一致する数値を同一のサブベクトルPxyに挿入するステップと、
各Pxy中の数値を順番に配列させることにより列位置サブベクトルXを形成し、すべてのXを合併させることにより列位置ベクトルXを形成することにより前記第一レイアウトを獲得するステップとを含むことを特徴とする請求項3に記載の離散最適化による
デジタル集積回路のレイアウト方法。
【請求項5】
各第二レイアウトの第一接続線全長を獲得し、かつ前記第一接続線全長と離散最適化方法により各第二レイアウトに対して最適化をすることにより各第三レイアウトを獲得するステップは具体的に、
予め設定された接続線の集合を獲得し、前記接続線の集合により各第二レイアウトの第一接続線全長を獲得するステップと、
前記第一接続線全長により第二レイアウトのフィットネス函数値を確定するステップと、
前記フィットネス函数値と離散最適化方法により各第二レイアウトに対して最適化をすることにより各第三レイアウトを獲得するステップとを含むことを特徴とする請求項1に記載の離散最適化によるデジタル集積回路のレイアウト方法。
【請求項6】
前記貪欲算法により各第三レイアウトに対して局部最適化をすることにより第四レイアウトを獲得し、かつ各第四レイアウトの第二接続線全長をそれぞれ計算するステップは具体的に、
第三レイアウト中の任意のスタンダードセルc(x,y)において、予め設定規則によりcの高位ユニットのコネクティビティーDupper(c)と低位ユニットのコネクティビティーDlower(c)を計算するステップと、
upper(c)>Dlower(c)であるとき、cを上へ一行移動させた後、第三レイアウトの第三接続線全長を計算し、第三接続線全長が第二接続線全長より小さいとき、cを上へ一行移動させた後、高位ユニットのコネクティビティーDupper(c)と低位ユニットのコネクティビティーDlower(c)を複数回計算し、逆の場合、高位ユニットのコネクティビティーDright(c)と低位ユニットのコネクティビティーDleft(c)を計算するステップと、
upper(c)<Dlower(c)であるとき、cを下へ一行移動させた後、第三レイアウトの第三接続線全長を計算し、第三接続線全長が第二接続線全長より小さいとき、cを下へ一行移動させた後、高位ユニットのコネクティビティーDupper(c)と低位ユニットのコネクティビティーDlower(c)を複数回計算し、逆の場合、高位ユニットのコネクティビティーDright(c)と低位ユニットのコネクティビティーDleft(c)を計算するステップと、
right(c)>Dleft(c)であるとき、cを右側一列へ移動させた後、第三レイアウトの第三接続線全長を計算し、第三接続線全長が第二接続線全長より小さいとき、cとその右側の一列のスタンダードセルの位置を変換させた後、高位ユニットのコネクティビティーDright(c)と低位ユニットのコネクティビティーDleft(c)を複数回計算し、逆の場合、次のスタンダードセルへ移動させることによりすべてのスタンダードセルを検索するステップと、
right(c)<Dleft(c)であるとき、cを左側一列へ移動させた後、第三レイアウトの第三接続線全長を計算し、第三接続線全長が第二接続線全長より小さいとき、cとその左側の一列のスタンダードセルの位置を変換させた後、高位ユニットのコネクティビティーDright(c)と低位ユニットのコネクティビティーDleft(c)を複数回計算し、逆の場合、次のスタンダードセルへ移動させることによりすべてのスタンダードセルを検索することにより第四レイアウトを獲得し、かつ各第四レイアウトの第二接続線全長を計算するステップとを含むことを特徴とする請求項1に記載の離散最適化によるデジタル集積回路のレイアウト方法。
【請求項7】
前記計算により獲得したすべての第二接続線全長によりすべての第四レイアウト中の最適化レイアウトを獲得し、かつ前記最適化レイアウトによりスタンダードセルを基板上に配置させるステップは具体的に、
前記第四レイアウトに対応するイテレーション回数を獲得し、かつ前記イテレーション回数と予め設定イテレーション回数を比較するステップと、
前記イテレーション回数と前記予め設定イテレーション回数が等しいとき、計算により獲得したすべての第二接続線全長によりすべての第四レイアウト中の最適化レイアウトを獲得し、かつ前記最適化レイアウトによりスタンダードセルを基板上に配置させるステップとを含むことを特徴とする請求項1に記載の離散最適化によるデジタル集積回路のレイアウト方法。
【請求項8】
前記計算により獲得したすべての第二接続線全長によりすべての第四レイアウト中の最適化レイアウトを獲得し、かつ前記最適化レイアウトによりスタンダードセルを基板上に配置させるステップは、前記イテレーション回数が前記予め設定イテレーション回数より小さいとき、前記第四レイアウトを第一レイアウトにし、かつ第一レイアウトで調節をするステップに戻り、イテレーション回数が予め設定イテレーション回数に達するとそのステップを停止させるステップを更に含むことを特徴とする請求項7に記載の離散最適化によるデジタル集積回路のレイアウト方法。
【請求項9】
コンピュータ読み取り可能な記憶媒体であって、前記コンピュータ読み取り可能な記憶媒体は1個または複数個のプログラムを記憶させ、前記1個または複数個のプログラムが1個または複数個のプロセッサーに実行されることにより請求項1~8のうちいずれか一項に記載の離散最適化によるデジタル集積回路のレイアウト方法中のステップを実施することを特徴とするコンピュータ読み取り可能な記憶媒体。
【請求項10】
端末装置であって、前記端末装置は、プロセッサー、メモリおよびバスを含み、
前記メモリには前記プロセッサーによって実行されるコンピュータ読み取り可能なプログラムが記憶され、
前記バスはプロセッサーとメモリとの間の通信を担当し、
前記プロセッサーはコンピュータ読み取り可能なプログラムを実行することにより請求項1~8のうちいずれか一項に記載の離散最適化によるデジタル集積回路のレイアウト方法中のステップを実施することを特徴とする端末装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デジタル集積回路の技術分野に属し、特に、離散最適化(discrete optimizing)によるデジタル集積回路のレイアウト方法および端末装置に関するものである。
【背景技術】
【0002】
デジタル集積回路(integrated circuit、IC)をチップともいい、それは半導体技術によるマイクロエレクトロニクスデバイス(microelectronic device)である。現在の集積回路は通常、スタンダードセル(Standard Cell)で構成されるものである。スタンダードセルは一定の機能を具備する回路モジュールであり、例えばトリガー(trigger)、ゲート回路(gate circuit)、加算装置(Adder)、バッファー(buffer)、レジスター(register)、RAMメモリユニット等を含む。図1に示すとおり、1つのレイアウトにおいて各スタンダードセルの高さは通常揃えられている。各スタンダードセルの高さが一致するが、その機能が増加することにより、その幅は増加し、その構造は複雑になり、設けられるトランジスタの数量は増加し、全体幅も増加する。デジタル集積回路の設定において、機能ポートの位置によって所定のスタンダードセルをポートの付近に位置させることにより接続の利便性の向上させることができる。スタンダードセルの間には内部接続線が設けられており、レイアウトの結果は接続線の結線完了率(completion rate of wire connection)に直接に影響を与える。応用の需要とチップの集積度が増加することにより、多機能のデジタル集積回路は数万個または数千万個のスタンダードセルで構成され、スタンダードセルのレイアウト方法は大規模のデジタル集積回路の設計において重要な課題になっている。
【発明の概要】
【発明が解決しようとする課題】
【0003】
従来の技術的課題を解決するため、本発明の目的は離散最適化によるデジタル集積回路のレイアウト方法および端末装置を提供することにある。
【課題を解決するための手段】
【0004】
本発明の技術的特徴は次のとおりである。
【0005】
離散最適化によるデジタル集積回路のレイアウト方法であって、前記デジタル集積回路は基板を含み、前記基板は複数個のスタンダードセルを含み、前記離散最適化によるデジタル集積回路のレイアウト方法は、
所定の数量のスタンダードセルの位置離散コードの第一レイアウトを予めランダムに形成し、かつ各第一レイアウトを調節することによりレイアウトコンフリクトが除去される第二レイアウトを形成するステップと、
各第二レイアウトの第一接続線全長を獲得し、かつ前記第一接続線全長と離散最適化方法により各第二レイアウトに対して最適化をすることにより各第三レイアウトを獲得するステップと、
貪欲算法により各第三レイアウトに対して局部最適化をすることにより第四レイアウトを獲得し、かつ各第四レイアウトの第二接続線全長をそれぞれ計算するステップと、
計算により獲得したすべての第二接続線全長によりすべての第四レイアウト中の最適化レイアウトを獲得し、かつ前記最適化レイアウトによりスタンダードセルを基板上に配置させるステップとを含む。
【0006】
前記離散最適化によるデジタル集積回路のレイアウト方法において、前記所定の数量のスタンダードセルの位置離散コードの第一レイアウトを予めランダムに形成し、かつ第一レイアウトを調節することによりレイアウトコンフリクトが除去される第二レイアウトを形成する前記ステップは具体的に、
所定の数量のスタンダードセルの位置離散コードの第一レイアウトを予めランダムに形成するステップと、
第一レイアウト中の任意の2個のスタンダードセルがc≠cになるようにし、cとcがx=xを満たすとき、y=yにするステップであって、xとxは第一レイアウト中のスタンダードセルの列位置であり、yとyは第一レイアウト中のスタンダードセルの行位置であるステップと、
それを満たすとき、第y行中の第x列のスタンダードセルを右に一列移動させ、第一レイアウトにレイアウトコンフリクトが含まれないときまでそのステップを繰り返すことにより第二レイアウトを獲得するステップとを含む。
【0007】
前記離散最適化によるデジタル集積回路のレイアウト方法において、前記所定の数量のスタンダードセルの位置離散コードの第一レイアウトを予めランダムに形成するステップは具体的に、
スタンダードセルのレイアウトコードを予め設定の数量がnである2m次元のベクトルPにするステップであって、mはスタンダードセルの数量であり、i=1、2、...、nであるステップと、
前記ベクトルPに対してリバースコーディングをすることによりスタンダードセルの位置集合を獲得し、前記位置集合により前記第一レイアウトを確定するステップとを含む。
【0008】
前記離散最適化によるデジタル集積回路のレイアウト方法において、前記ベクトルPに対してリバースコーディングをすることによりスタンダードセルの位置集合を獲得し、前記位置集合により前記第一レイアウトを確定するステップは具体的に、
において前部m個の値と後部m個の値をとることによりサブベクトルP={P|P}を形成するステップであって、PとP中の数値は1つずつ対応するステップと、
中の数値を順番に配列させることにより行位置ベクトルYを形成し、P中の数値が行位置と一致する数値を同一のサブベクトルPxyに挿入するステップと、
各Pxy中の数値を順番に配列させることにより列位置サブベクトルXを形成し、すべてのXを合併させることにより列位置ベクトルXを形成することにより前記第一レイアウトを獲得するステップとを含む。
【0009】
前記離散最適化によるデジタル集積回路のレイアウト方法において、前記各第二レイアウトの第一接続線全長を獲得し、かつ前記第一接続線全長と離散最適化方法により各第二レイアウトに対して最適化をすることにより各第三レイアウトを獲得するステップは具体的に、
予め設定された接続線の集合を獲得し、前記接続線の集合により各第二レイアウトの第一接続線全長を獲得するステップと、
前記第一接続線全長により第二レイアウトのフィットネス函数値を確定するステップと、
前記フィットネス函数値と離散最適化方法により各第二レイアウトに対して最適化をすることにより各第三レイアウトを獲得するステップとを含む。
【0010】
前記離散最適化によるデジタル集積回路のレイアウト方法において、前記貪欲算法により各第三レイアウトに対して局部最適化をすることにより第四レイアウトを獲得し、かつ各第四レイアウトの第二接続線全長をそれぞれ計算するステップは具体的に、
第三レイアウト中の任意のスタンダードセルc(x,y)において、予め設定規則によりcの高位ユニットのコネクティビティーDupper(c)と低位ユニットのコネクティビティーDlower(c)を計算するステップと、
upper(c)>Dlower(c)であるとき、cを上へ一行移動させた後、第三レイアウトの第三接続線全長を計算し、第三接続線全長が第二接続線全長より小さいとき、cを上へ一行移動させた後、高位ユニットのコネクティビティーDupper(c)と低位ユニットのコネクティビティーDlower(c)を複数回計算し、逆の場合、高位ユニットのコネクティビティーDright(c)と低位ユニットのコネクティビティーDleft(c)を計算するステップと、
upper(c)<Dlower(c)であるとき、cを下へ一行移動させた後、第三レイアウトの第三接続線全長を計算し、第三接続線全長が第二接続線全長より小さいとき、cを下へ一行移動させた後、高位ユニットのコネクティビティーDupper(c)と低位ユニットのコネクティビティーDlower(c)を複数回計算し、逆の場合、高位ユニットのコネクティビティーDright(c)と低位ユニットのコネクティビティーDleft(c)を計算するステップと、
right(c)>Dleft(c)であるとき、cを右側一列へ移動させた後、第三レイアウトの第三接続線全長を計算し、第三接続線全長が第二接続線全長より小さいとき、cとその右側の一列のスタンダードセルの位置を変換させた後、高位ユニットのコネクティビティーDright(c)と低位ユニットのコネクティビティーDleft(c)を複数回計算し、逆の場合、次のスタンダードセルへ移動させることによりすべてのスタンダードセルを検索するステップと、
right(c)<Dleft(c)であるとき、cを左側一列へ移動させた後、第三レイアウトの第三接続線全長を計算し、第三接続線全長が第二接続線全長より小さいとき、cとその左側の一列のスタンダードセルの位置を変換させた後、高位ユニットのコネクティビティーDright(c)と低位ユニットのコネクティビティーDleft(c)を複数回計算し、逆の場合、次のスタンダードセルへ移動させることによりすべてのスタンダードセルを検索することにより第四レイアウトを獲得し、かつ各第四レイアウトの第二接続線全長を計算するステップとを含む。
【0011】
前記離散最適化によるデジタル集積回路のレイアウト方法において、前記計算により獲得したすべての第二接続線全長によりすべての第四レイアウト中の最適化レイアウトを獲得し、かつ前記最適化レイアウトによりスタンダードセルを基板上に配置させるステップは具体的に、
前記第四レイアウトに対応するイテレーション回数を獲得し、かつ前記イテレーション回数と予め設定イテレーション回数を比較するステップと、
前記イテレーション回数と前記予め設定イテレーション回数が等しいとき、計算により獲得したすべての第二接続線全長によりすべての第四レイアウト中の最適化レイアウトを獲得し、かつ前記最適化レイアウトによりスタンダードセルを基板上に配置させるステップとを含む。
【0012】
前記離散最適化によるデジタル集積回路のレイアウト方法において、前記計算により獲得したすべての第二接続線全長によりすべての第四レイアウト中の最適化レイアウトを獲得し、かつ前記最適化レイアウトによりスタンダードセルを基板上に配置させるステップは、前記イテレーション回数が前記予め設定イテレーション回数より小さいとき、前記第四レイアウトを第一レイアウトにし、かつ第一レイアウトで調節をするステップに戻り、イテレーション回数が予め設定イテレーション回数に達するとそのステップを停止させるステップを更に含む。
【0013】
コンピュータ読み取り可能な記憶媒体であって、前記コンピュータ読み取り可能な記憶媒体は1個または複数個のプログラムを記憶させ、前記1個または複数個のプログラムが1個または複数個のプロセッサーに実行されることにより前記いずれか1つの離散最適化によるデジタル集積回路のレイアウト方法中のステップを実施する。
【0014】
端末装置であって、前記端末装置は、プロセッサー、メモリおよびバスを含み、
前記メモリには前記プロセッサーによって実行されるコンピュータ読み取り可能なプログラムが記憶され、
前記バスはプロセッサーとメモリとの間の通信を担当し、
前記プロセッサーはコンピュータ読み取り可能なプログラムを実行することにより前記いずれか1つの離散最適化によるデジタル集積回路のレイアウト方法中のステップを実施する。
【発明の効果】
【0015】
本発明は離散最適化によるデジタル集積回路のレイアウト方法および端末装置を提供する。前記離散最適化によるデジタル集積回路のレイアウト方法は、所定の数量のスタンダードセルの位置離散コードの第一レイアウトを予めランダムに形成し、かつ各第一レイアウトを調節することによりレイアウトコンフリクトが除去される第二レイアウトを形成するステップと、各第二レイアウトの第一接続線全長を獲得し、かつ前記第一接続線全長と離散最適化方法により各第二レイアウトに対して最適化をすることにより各第三レイアウトを獲得するステップと、貪欲算法により各第三レイアウトに対して局部最適化をすることにより第四レイアウトを獲得し、かつ各第四レイアウトの第二接続線全長をそれぞれ計算するステップと、計算により獲得したすべての第二接続線全長によりすべての第四レイアウト中の最適化レイアウトを獲得し、かつ前記最適化レイアウトによりスタンダードセルを基板上に配置させるステップとを含む。本発明はスタンダードセルに位置離散コードをつけ、かつ離散最適化方法によりレイアウトに対して最適化をすることにより最適化レイアウトの性能を向上させ、かつレイアウトの難易度を低減することができる。
【図面の簡単な説明】
【0016】
図1】デジタル集積回路のスタンダードセルのレイアウトを示す図である。
図2】本発明の離散最適化によるデジタル集積回路のレイアウト方法を示す流れ図である。
図3】本発明の離散最適化によるデジタル集積回路のレイアウト方法において、リバースコーディングによりレイアウト位置を確定することを示す流れ図である。
図4】本発明の離散最適化によるデジタル集積回路のレイアウト方法において、貪欲算法により行を比較することを示す流れ図である。
図5】本発明の離散最適化によるデジタル集積回路のレイアウト方法において、貪欲算法により列を比較することを示す流れ図である。
図6】本発明の自己起動制御システムの好適な実施例の構造を示す原理図である。
【発明を実施するための形態】
【0017】
本発明は離散最適化によるデジタル集積回路のレイアウト方法および端末装置を提供する。本発明の目的、技術的特徴および発明の効果を詳細に明確に理解してもらうため、以下、図面により本発明の実施例をより詳細に説明する。下記具体的な実施例は本発明を説明するものであるが、本発明を限定するものでない。
【0018】
本発明の明細書において、特別な説明がない限り、この明細書中の「1つ」、「1個」、「前記」および「該」等の用語は、1つの事項を含むだけでなく、複数の事項を含むこともできる。本発明の明細書中の「含む」という用語は、特徴、整数、ステップ、操作、部品と/或いはモジュールを含むことを意味するが、1個または複数個の特徴、整数、ステップ、操作、部品と/或いはモジュールの組合せが存在するか或いはそれらの組合せを更に含むことを意味することもできる。注意されたいことは、部品が他の部品に「連結」または「接続」されるとき、その部品は他の部品に直接に連結または接続されるか或いは中間部品により他の部品に間接的に連結または接続されることができる。この明細書中の「連結」または「接続」は無線連結または無線接続であることができる。この明細書中の「と/或いは」という用語は、係っている1個または複数個の事項のうちいずれかの1つまたは複数、いずれかの組合せまたは全部を含むことを意味することができる。
【0019】
本発明の明細書において、特別な説明がない限り、この明細書中の用語(技術的用語と科学的用語を含む)はこの技術分野の技術者が常用している用語の意味を指す。注意されたいことは、本発明と従来の技術中の用語は、辞書に記載されている用語の意味を参照することができるが、特別な定義がある場合、特別に定義される意味を指すことができる。
【0020】
以下、図面と具体的な実施例により本発明の技術的特徴をより詳細に説明する。
【0021】
本発明の実施例において離散最適化(discrete optimizing)によるデジタル集積回路のレイアウト方法を提供する。図2に示されるとおり、前記方法は下記ステップを含む。
【0022】
ステップS10において、所定の数量のスタンダードセル(Standard Cell)の位置離散コードの第一レイアウトを予めランダムに形成し、かつ各第一レイアウトを調節することによりレイアウトコンフリクト(Layout conflict)が除去される第二レイアウトを形成する。
【0023】
具体的に、前記デジタル集積回路は基板を含み、前記基板の面積はs=h×wであり、その式においてhは基板の高さであり、wは基板の幅である。前記基板上には複数個のスタンダードセルが配置され、前記スタンダードセルの集合をC={c,c,...,c}と表記し、前記スタンダードセルの数量はm個であり、前記デジタル集積回路に含まれる接続線の集合をE={e,e,...,e}と表記し、前記接続線の数量はp個である。前記接続線の集合において各接続線には2個のスタンダードセルが接続されるか或いは2個のスタンダードセルと所定のインターフェースが接続される。
【0024】
デジタル集積回路に配置されるスタンダードセルと接続線を確定した後、前記デジタル集積回路に向いて所定の数量の第一レイアウトをランダムに形成する。前記第一レイアウト中の各スタンダードセルの位置を表記するため離散コードを採用する。すなわち前記第一レイアウト中の各スタンダードセルが前記第一レイアウトに位置している位置を1つの二次元座標で表記し、それにより前記スタンダードセルが前記第一レイアウトに位置している個所の行位置と列位置を表記することができる。各スタンダードセルに対応する行位置を離散コードで表記し、各スタンダードセルに対応する列位置も離散コードで表記することができる。
【0025】
本実施例において、所定の数量のスタンダードセルの位置離散コードの第一レイアウトを予めランダムに形成し、かつ第一レイアウトを調節することによりレイアウトコンフリクトが除去される第二レイアウトを形成する前記ステップは具体的に下記ステップを含む。
【0026】
ステップS21において、所定の数量のスタンダードセルの位置離散コードの第一レイアウトを予めランダムに形成する。
【0027】
ステップS22において、第一レイアウト中の任意の2個のスタンダードセルがc≠cになるようにし、cとcがx=xを満たすとき、y=yにする。xとxは第一レイアウト中のスタンダードセルの列位置であり、yとyは第一レイアウト中のスタンダードセルの行位置である。
【0028】
ステップS23において、それを満たすとき、第y行中の第x列のスタンダードセルを右に一列移動させ、第一レイアウトにレイアウトコンフリクトが含まれないときまでそのステップを繰り返すことにより第二レイアウトを獲得する。
【0029】
具体的に、前記第一レイアウト中のスタンダードセルの位置離散コードは2m次元のベクトルをランダムに形成した後その2m次元のベクトルに対してリバースコーディング(Reverse coding)をすることにより獲得することができる。前記所定の数量のスタンダードセルの位置離散コードの第一レイアウトを予めランダムに形成するステップは具体的に、下記ステップを含む。
【0030】
スタンダードセルのレイアウトコードを予め設定の数量がnである2m次元のベクトルPに設定する。mはスタンダードセルの数量であり、i=1、2、...、nである。
【0031】
前記ベクトルPに対してリバースコーディングをすることによりスタンダードセルの位置集合を獲得し、前記位置集合により前記第一レイアウトを確定する。
【0032】
前記2m次元のベクトルPをP={rx1,rx2,...,rxm,ry1,ry2,...,rym}だと表記し、前記ベクトルPの値はランダムに形成されるものでありかつ均等に配置される正整数であり、前記方法により予め設定の数量がnである各ベクトルPをランダムに形成する。すなわちデジタル集積回路レイアウトの進化ポピュレーション(Evolutionary population)ps={P,P,...,P}を獲得する。ベクトルPを獲得した後、前記ベクトルPに対してリバースコーディングをし、かつ前記リバースコーディングによりスタンダードセルの位置集合を確定する。図3に示すとおり、前記ベクトルPに対してリバースコーディングをすることによりスタンダードセルの位置集合を獲得し、前記位置集合により前記第一レイアウトを確定するステップは具体的に、下記ステップを含む。
【0033】
において前部m個の値と後部m個の値をとることによりサブベクトルP={P|P}を形成する。PとP中の数値は1つずつ対応する。
【0034】
中の数値を順番に配列させることにより行位置ベクトルYを形成し、P中の数値が行位置と一致する数値を同一のサブベクトルPxyに挿入する。
【0035】
各Pxy中の数値を順番に配列させることにより列位置サブベクトルXを形成し、すべてのXを合併させることにより列位置ベクトルXを形成することにより前記第一レイアウトを獲得する。
【0036】
具体的に、ps中の任意のPにおいて、P中の前部m個の値と後部m個の値をとり、前記前部m個の値をP={rx1,rx2,...,rxm}にし、後部m個の値をP={ry1,ry2,...,rym}にする。それにより前記PとPはサブベクトルP={P|P}を形成する。PとP中の数値が配列順番において1つずつ対応することによりm個のスタンダードセルの配置位置を決定する。サブベクトルP={P|P}を獲得した後、P中の数値を順番に配列させることにより行位置ベクトルYを形成する。YはY={y=rank(ryi),ryi∈P}であり、特に、ryi=ryjであるとき、rank(ryi)=rank(ryj)である。
【0037】
位置ベクトルを獲得した後、任意のrxi,rxj∈Pにおいて、行数が一致することすなわちy=yが存在すると、前記rxi,rxjを同一のサブベクトルPxy={rxi,rxj,....}に挿入する。すなわちPxy中の各元素の行数が一致すると、複数個のPxyを順に獲得する。Pxyの数量はYであり、Yは異なる行数を有しているベクトルの数量である。Pxyを獲得した後、Pxy中の数値を順番に配列させることにより列位置サブベクトルXを形成する。XはX={x=rank(rxi),rxi∈Pxy}であり、rxi=rxj,y=yであるとき、rank(rxi)=rank(rxj)である。最後に、すべてのXを合併させることにより列位置ベクトルXを獲得し、Pの位置集合{X,Y}を獲得し、前記位置集合{X,Y}により第一レイアウトを獲得する。前記第一レイアウト中の各スタンダードセルは隙間を含まない。
【0038】
ステップS20において、各第二レイアウトの第一接続線全長を獲得し、かつ前記第一接続線全長と離散最適化方法により各第二レイアウトに対して最適化をすることにより各第三レイアウトを獲得する。
【0039】
前記第一接続線全長とは第二レイアウトの各接続線の全長をいう。第一接続線全長を獲得するとき、半周長方法により第二レイアウトに含まれるP本の接続線の各接続線の長さを算出し、かつ接続線の長さにより第一接続線全長を獲得することができる。第一接続線全長を獲得した後、前記第一接続線全長をフィットネス函数値(Fitness Function value)にし、前記フィットネス函数値と離散最適化方法により各第二レイアウトに対して最適化をする。前記離散最適化方法は制限がついている離散的な差異進化(Discrete differential evolution、DDE)と離散粒子群最適化(Discrete particle swarm optimization、DPSO)等であることができる。離散最適化方法による最適化方法の制限は下記のとおりである。
【0040】

【数1】
【0041】
この式において、hcellはスタンダードセルの高さであり、wx,yは第y∈Y行中の第x個のスタンダードセルの幅であり、Yはm個のスタンダードセルの行位置である。
【0042】
本発明の実施例において、各第二レイアウトの第一接続線全長を獲得し、かつ前記第一接続線全長と離散最適化方法により各第二レイアウトに対して最適化をすることにより各第三レイアウトを獲得するステップは具体的に下記ステップを含む。
【0043】
S21において、予め設定された接続線の集合を獲得し、前記接続線の集合により各第二レイアウトの第一接続線全長を獲得する。
【0044】
S22において、前記第一接続線全長により第二レイアウトのフィットネス函数値を確定する。
【0045】
S23において、前記フィットネス函数値と離散最適化方法により各第二レイアウトに対して最適化をすることにより各第三レイアウトを獲得する。
【0046】
具体的に、前記接続線全長をフィットネス函数値にし、フィットネス函数値は下記のとおりである。
【0047】

【数2】
【0048】
前記

【数3】
において、eは第二レイアウト中の各接続線の長さを表記する。
【0049】
ステップS30において、貪欲算法(greedy algorithm)により各第三レイアウトに対して局部最適化をすることにより第四レイアウトを獲得し、かつ各第四レイアウトの第二接続線全長をそれぞれ計算する。
【0050】
具体的に、第三レイアウトを獲得した後、目標により接続線全長を最小にし、貪欲算法により第三レイアウトを調節することにより接続線全長が一番小さい第四レイアウトを獲得する。図4図5に示すとおり、前記貪欲算法により各第三レイアウトに対して局部最適化をすることにより第四レイアウトを獲得し、かつ各第四レイアウトの第二接続線全長をそれぞれ計算するステップは具体的に下記ステップを含む。
【0051】
第三レイアウト中の任意のスタンダードセルc(x,y)において、予め設定規則によりcの高位ユニットのコネクティビティー(connectivity)Dupper(c)と低位ユニットのコネクティビティーDlower(c)を計算する。
【0052】
upper(c)>Dlower(c)であるとき、cを上へ一行移動させた後、第三レイアウトの第三接続線全長を計算する。第三接続線全長が第二接続線全長より小さいとき、cを上へ一行移動させた後、高位ユニットのコネクティビティーDupper(c)と低位ユニットのコネクティビティーDlower(c)を複数回計算し、逆の場合、高位ユニットのコネクティビティーDright(c)と低位ユニットのコネクティビティーDleft(c)を計算する。
【0053】
upper(c)<Dlower(c)であるとき、cを下へ一行移動させた後、第三レイアウトの第三接続線全長を計算する。第三接続線全長が第二接続線全長より小さいとき、cを下へ一行移動させた後、高位ユニットのコネクティビティーDupper(c)と低位ユニットのコネクティビティーDlower(c)を複数回計算し、逆の場合、高位ユニットのコネクティビティーDright(c)と低位ユニットのコネクティビティーDleft(c)を計算する。
【0054】
right(c)>Dleft(c)であるとき、cを右側一列へ移動させた後、第三レイアウトの第三接続線全長を計算する。第三接続線全長が第二接続線全長より小さいとき、cとその右側の一列のスタンダードセルの位置を変換させた後、高位ユニットのコネクティビティーDright(c)と低位ユニットのコネクティビティーDleft(c)を複数回計算し、逆の場合、次のスタンダードセルへ移動させることによりすべてのスタンダードセルを検索する。
【0055】
right(c)<Dleft(c)であるとき、cを左側一列へ移動させた後、第三レイアウトの第三接続線全長を計算する。第三接続線全長が第二接続線全長より小さいとき、cとその左側の一列のスタンダードセルの位置を変換させた後、高位ユニットのコネクティビティーDright(c)と低位ユニットのコネクティビティーDleft(c)を複数回計算し、逆の場合、次のスタンダードセルへ移動させることによりすべてのスタンダードセルを検索することにより第四レイアウトを獲得し、かつ各第四レイアウトの第二接続線全長を計算する。
【0056】
具体的に、第三レイアウト中の位置が{x,y}であるスタンダードセルc(x,y)において、前記スタンダードセルの高位ユニットのコネクティビティーは下記のとおりである。
【0057】

【数4】
【0058】
前記スタンダードセルの低位ユニットのコネクティビティーは下記のとおりである。
【0059】

【数5】
【0060】
この式において、ek,iはスタンダードセルcとcとの間の接続線の長さである。
【0061】
第三レイアウト中の位置が{x,y}であるスタンダードセルc(x,y)において、前記スタンダードセルの高位ユニットのコネクティビティーは下記のとおりである。
【0062】

【数6】
【0063】
前記スタンダードセルの低位ユニットのコネクティビティーは下記のとおりである。
【0064】

【数7】
【0065】
この式において、ek,iはスタンダードセルcとcとの間の接続線の長さである。
【0066】
ステップS40において、計算により獲得したすべての第二接続線全長によりすべての第四レイアウト中の最適化レイアウトを獲得し、かつ前記最適化レイアウトによりスタンダードセルを基板上に配置させる。
【0067】
具体的に、第四レイアウトを獲得した後、すべての第四レイアウトの第二接続線全長を計算し、かつ第二接続線全長が小さい第四レイアウトを最適化レイアウトにすることによりデジタル集積回路のレイアウトを獲得する。実際の応用において、デジタル集積回路の正確性を向上させるため、すべての第四レイアウトを獲得した後、第四レイアウトを第一レイアウトにしかつ最適化を繰り返すことにより最適化の第四レイアウトを獲得する。計算により獲得したすべての第二接続線全長によりすべての第四レイアウト中の最適化レイアウトを獲得し、かつ前記最適化レイアウトによりスタンダードセルを基板上に配置させるステップは具体的に下記ステップを含む。
【0068】
前記第四レイアウトに対応するイテレーション回数(iteration number)を獲得し、かつ前記イテレーション回数と予め設定イテレーション回数を比較する。
【0069】
前記イテレーション回数と前記予め設定イテレーション回数が等しいとき、計算により獲得したすべての第二接続線全長によりすべての第四レイアウト中の最適化レイアウトを獲得し、かつ前記最適化レイアウトによりスタンダードセルを基板上に配置させる。
【0070】
前記イテレーション回数が前記予め設定イテレーション回数より小さいとき、前記第四レイアウトを第一レイアウトにし、かつ第一レイアウトで調節をするステップに戻り、イテレーション回数が予め設定イテレーション回数に達するとそのステップを停止させる。
【0071】
具体的に、前記イテレーション回数は予め設定されものであり、前記イテレーション回数は例えば10等であることができる。
【0072】
前記離散最適化によるデジタル集積回路のレイアウト方法により本発明はコンピュータ読み取り可能な記憶媒体を更に提供する。前記コンピュータ読み取り可能な記憶媒体は1個または複数個のプログラムを記憶させ、前記1個または複数個のプログラムが1個または複数個のプロセッサーに実行されることにより、本発明の前記実施例に係る離散最適化によるデジタル集積回路のレイアウト方法中のステップを実施することができる。
【0073】
前記離散最適化によるデジタル集積回路のレイアウト方法により本発明は下記端末装置を更に提供する。図6に示すとおり、前記端末装置は、少なくとも1つのプロセッサー(processor)20、表示パネル21およびメモリ(memory)22を含む。前記端末装置は通信インターフェース(Communications Interface)23とバス24を更に含むことができる。プロセッサー20、表示パネル21、メモリ22および通信インターフェース23はバス24により通信可能に接続される。表示パネル21は最初の設定モデル中の予め設定されるガイダンスインターフェイスを表示するように設けられる。通信インターフェース23により情報を伝送することができる。プロセッサー20はメモリ22中のロジック指令を用いることにより本発明の前記実施例に係る離散最適化によるデジタル集積回路のレイアウト方法を実施することができる。
【0074】
前記メモリ22中のロジック指令はソフトウェアユニットにより実行されることができる。前記メモリ22中のロジック指令を独立の製品として販売するか或いは用いるとき、そのロジック指令をコンピュータ読み取り可能な記憶媒体に記憶させることができる。
【0075】
メモリ22は、コンピュータ読み取り可能な記憶媒体であり、ソフトウェアプログラム、コンピュータ実行可能なプログラム、例えば本発明の実施例に係るプログラム指令またはプログラムモジュールを記憶させるように設けられる。プロセッサー20は、メモリ22に記憶されるソフトウェアプログラム、プログラム指令またはプログラムモジュールを実行することにより所定の機能とデータの処理をする。例えば本発明の前記実施例に係る離散最適化によるデジタル集積回路のレイアウト方法を実施することができる。
【0076】
メモリ22はプログラム記憶区域とデータ記憶区域を含むことができる。プログラム記憶区域は、オペレーティングシステム(operating system)、少なくとも1つの機能を実施する応用プログラム(application program)を記憶させ、データ記憶区域は端末装置の使用により形成されるデータ等を記憶させることができる。メモリ22は高速ランダムアクセスメモリまたは不揮発性記憶装置(non-volatile memory)を含むことができる。例えば、USBフラッシュディスク、モバイルハードディスク(Mobile Hard disk)、読み取り専用メモリ(Read-Only Memory、ROM)、ランダムアクセスメモリ(Random Access Memory、RAM)、磁気ディスクまたはライトディスク等のプルグラムコードを記憶させる媒体であるか或いは一時的な記憶媒体であることができる。
【0077】
前記記憶媒体および端末装置中の複数の指令がプロセッサーにより実施される具体的な過程は前記離散最適化によるデジタル集積回路のレイアウト方法を参照することができるので、ここで再び説明しない。
【0078】
注意されたいことは、前記実施例は本発明の技術的事項を説明するものであるが、本発明を限定するものでない。以上、本発明の実施例により本発明の技術的特徴を詳述してきたが、前記実施例は本発明の例示にしか過ぎないものであり、本発明は前記実施例の構成にのみ限定されるものでない。本技術分野の技術者は、本発明の要旨を逸脱しない範囲内において設計の変更、代替等をすることができ、それらがあっても本発明に含まれることは勿論である。
【符号の説明】
【0079】
20 プロセッサー
21 表示パネル
22 メモリ
23 通信インターフェース
24 バス
図1
図2
図3
図4
図5
図6