(57)【要約】【課題】容易にオフリーク電流を低減することのできる半導体集積回路設計方法、半導体集積回路設計装置を提供する。【解決手段】スタンダードセルのそれぞれの入力が取り得る確率であって、ＲＴＬ機能シミュレーションもしくはゲートレベル機能シミュレーションによって生成されるネットプロバビリティ５１と、テクノロジライブラリ記憶部３６内に備えた消費電流テーブル４１とに応じてオフリーク電流を低減するように、スタンダードセルの入力端子に接続された配線を互いに入れ替えてゲートネットリスト３７を変更する。その変更されたゲートネットリストを基に、レイアウト部３０がスタンダードセルの入力端子に接続された配線が入れ替わったレイアウトデータを生成する。【選択図】図２
2008020953.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路を構成するスタンダードセルの複数の入力端子の入力状態に対応するオフリーク電流のライブラリを持つ前記スタンダードセルのオフリーク電流を低減する半導体集積回路設計方法であって、
前記スタンダードセルのそれぞれの入力端子毎に、それぞれの入力が取り得る状態の確率であるネットプロバビリティを生成する確率生成段階と、
前記ネットプロバビリティと前記ライブラリとに基づいて前記オフリーク電流を低減するように前記スタンダードセルの複数の入力端子に接続される複数の配線を互いに入れ替える入替段階と
を備えたことを特徴とする半導体集積回路設計方法。
【請求項２】
請求項１に記載の半導体集積回路設計方法であって、
前記ネットプロバビリティは、ＲＴＬ機能シミュレーションもしくはゲートレベル機能シミュレーションによって生成されることを特徴とする半導体集積回路設計方法。
【請求項３】
請求項１に記載の半導体集積回路設計方法であって、
前記ライブラリは前記ネットプロバビリティに対応した消費電流テーブルを備え、
前記入替段階は、前記ネットプロバビリティと前記消費電流テーブルとに応じて、最もオフリーク電流が低減するようにスタンダードセルの複数の入力端子に接続される複数の配線を互いに入れ替えることを特徴とする半導体集積回路設計方法。
【請求項４】
請求項１乃至３のいずれか１項に記載の半導体集積回路設計方法であって、
さらに、前記スタンダードセルの複数の入力端子に接続される複数の配線を互いに入れ替えてゲートネットリストを変更するゲートネットリスト変更段階を備えたことを特徴とする半導体集積回路設計方法。
【請求項５】
半導体集積回路を構成するスタンダードセルの複数の入力端子の入力状態に対応するオフリーク電流のライブラリを持つ前記スタンダードセルのオフリーク電流を低減する半導体集積回路設計装置であって、
前記スタンダードセルのそれぞれの入力端子毎に、それぞれの入力が取り得る状態の確率であるネットプロバビリティを生成する確率生成手段と、
前記ネットプロバビリティと前記ライブラリとに基づいて前記オフリーク電流を低減するように前記スタンダードセルの複数の入力端子に接続される複数の配線を互いに入れ替える入替手段と
を備えたことを特徴とする半導体集積回路設計装置。
【請求項６】
請求項５に記載の半導体集積回路設計装置であって、
前記ネットプロバビリティは、ＲＴＬ機能シミュレーションもしくはゲートレベル機能シミュレーションによって生成されることを特徴とする半導体集積回路設計装置。
【請求項７】
請求項５に記載の半導体集積回路設計装置であって、
前記ライブラリは前記ネットプロバビリティに対応した消費電流テーブルを備え、
前記入替手段は、前記ネットプロバビリティと前記消費電流テーブルとに応じて、最もオフリーク電流が低減するようにスタンダードセルの複数の入力端子に接続される複数の配線を互いに入れ替えることを特徴とする半導体集積回路設計装置。
【請求項８】
請求項５乃至７のいずれか１項に記載の半導体集積回路設計装置であって、
さらに、前記スタンダードセルの複数の入力端子に接続される複数の配線を互いに入れ替えてゲートネットリストを変更するゲートネットリスト変更手段を備えたことを特徴と
する半導体集積回路設計装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路設計方法、半導体集積回路設計装置に関する。
【背景技術】
【０００２】
近年、携帯機器の増加に伴い半導体集積回路は大規模でありながらも低消費電力であることが要求されている。しかし、半導体集積回路の大規模化に伴い、半導体集積回路には複数の機能ブロックが搭載されており、また、各機能ブロックの動作時の消費電力は増大傾向にある。
【０００３】
さらに、半導体集積回路の動作時の電流のみならず、静止時の電流、とりわけ電源オフ状態のリーク電流（以下、オフリーク電流という）も増大傾向にある。本来、半導体集積回路を構成しているＣＭＯＳトランジスタはオフリーク電流が小さいので、半導体集積回路全体のオフリーク電流は無視されていた。しかしながら、半導体集積回路の高集積化に伴いＣＭＯＳトランジスタの微細化が進み、ゲート長が短くなってきたため、オフリーク電流を無視できなくなってきている。そのため、このオフリーク電流を半導体集積回路の設計時に削減する半導体設計検証装置が提案されている（例えば、特許文献１）。
【０００４】
特許文献１に記載の半導体設計検証装置では、半導体集積回路の内部信号の状態をシミュレーションすることにより得た各信号レベル／信号情報ファイルとテクノロジライブラリファイルにより消費電力を算出していた。そして、その算出した消費電力の値により、ある回路が他の回路のオフリーク電流を削減するように論理合成する。その結果、マニュアルによるゲートネットリスト修正を行うことなくオフリーク電流削減に有効な論理合成を自動的に行っていた。
【特許文献１】特開２００５−１９０２３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の半導体設計検証装置は、オフリーク電流削減のために半導体集積回路の消費電力の計算を行って、そのオフリーク電流を削減するように論理合成する必要があり、処理が煩雑であった。
【０００６】
本発明は、上記課題を解決するためになされたものであり、その目的は、容易にオフリーク電流を低減することのできる半導体集積回路設計方法、半導体集積回路設計装置を提供することにある。
【課題を解決するための手段】
【０００７】
上記問題点を解決するために、本発明は、半導体集積回路を構成するスタンダードセルの複数の入力端子の入力状態に対応するオフリーク電流のライブラリを持つ前記スタンダードセルのオフリーク電流を低減する半導体集積回路設計方法であって、前記スタンダードセルのそれぞれの入力端子毎に、それぞれの入力が取り得る状態の確率であるネットプロバビリティを生成する確率生成段階と、前記ネットプロバビリティと前記ライブラリとに基づいて前記オフリーク電流を低減するように前記スタンダードセルの複数の入力端子に接続される複数の配線を互いに入れ替える入替段階とを備えたことを要旨とする。
【０００８】
更に、本発明は、半導体集積回路を構成するスタンダードセルの複数の入力端子の入力状態に対応するオフリーク電流のライブラリを持つ前記スタンダードセルのオフリーク電流を低減する半導体集積回路設計装置であって、前記スタンダードセルのそれぞれの入力
端子毎に、それぞれの入力が取り得る状態の確率であるネットプロバビリティを生成する確率生成手段と、前記ネットプロバビリティと前記ライブラリとに基づいて前記オフリーク電流を低減するように前記スタンダードセルの複数の入力端子に接続される複数の配線を互いに入れ替える入替手段とを備えたことを要旨とする。
【０００９】
これらの発明によれば、スタンダードセルのそれぞれの入力端子毎に、それぞれの入力が取り得る状態の確率であるネットプロバビリティを生成し、ネットプロバビリティとライブラリとに応じてオフリーク電流を低減するようにスタンダードセルの複数の入力端子に接続される複数の配線を互いに入れ替える。従って、ネットプロバビリティとライブラリとを参照し、複数の配線を互いに入れ替えるのみであるため、容易にオフリーク電流を低減することができる。
【００１０】
本発明に記載の半導体集積回路設計方法であって、前記ネットプロバビリティは、ＲＴＬ機能シミュレーションもしくはゲートレベル機能シミュレーションによって生成されることを要旨とする。更に、本発明に記載の半導体集積回路設計装置であって、前記ネットプロバビリティは、ＲＴＬ機能シミュレーションもしくはゲートレベル機能シミュレーションによって生成されることを要旨とする。
【００１１】
これらの発明によれば、ネットプロバビリティは、ＲＴＬ機能シミュレーションもしくはゲートレベル機能シミュレーションによって生成される。この結果、スタンダードセルを組み合わせて半導体集積回路を設計する工程のうちの一つによって、ネットプロバビリティを生成することができる。従って、新たな工程を要することなく、容易にネットプロバビリティを生成することができる。
【００１２】
本発明に記載の半導体集積回路設計方法であって、前記ライブラリは前記ネットプロバビリティに対応した消費電流テーブルを備え、前記入替段階は、前記ネットプロバビリティと前記消費電流テーブルとに応じて、最もオフリーク電流が低減するようにスタンダードセルの複数の入力端子に接続される複数の配線を互いに入れ替えることを要旨とする。
【００１３】
更に、本発明に記載の半導体集積回路設計装置であって、前記ライブラリは前記ネットプロバビリティに対応した消費電流テーブルを備え、前記入替手段は、前記ネットプロバビリティと前記消費電流テーブルとに応じて、最もオフリーク電流が低減するようにスタンダードセルの複数の入力端子に接続される複数の配線を互いに入れ替えることを要旨とする。
【００１４】
これらの発明によれば、ゲートネットリストの変更は、ネットプロバビリティとライブラリに備えられた消費電流テーブルとに応じて、最もオフリーク電流が低減するようにスタンダードセルの複数の入力端子に接続される複数の配線を互いに入れ替えることにより行う。この結果、予めライブラリ内に備えられた消費電流テーブルを用いるので、新たな情報を要しない。従って、容易にオフリーク電流を低減することができる。
【００１５】
本発明に記載の半導体集積回路設計方法であって、さらに、前記スタンダードセルの複数の入力端子に接続される複数の配線を互いに入れ替えてゲートネットリストを変更するゲートネットリスト変更段階を備えたことを要旨とする。更に、本発明に記載の半導体集積回路設計装置であって、さらに、前記スタンダードセルの複数の入力端子に接続される複数の配線を互いに入れ替えてゲートネットリストを変更するゲートネットリスト変更手段を備えたことを要旨とする。
【００１６】
これらの発明によれば、例えば、レイアウト前にスタンダードセルの複数の入力端子に接続される複数の配線を互いに入れ替えたゲートネットリストへと変更し、その変更後の
ゲートネットリストでレイアウトすることで、自動的にスタンダードセルの複数の入力端子に接続される複数の配線を互いに入れ替えたレイアウトを生成することができる。従って、迅速かつ容易にオフリーク電流を低減することができる。
【発明の効果】
【００１７】
本発明によれば、容易にオフリーク電流を低減することのできる半導体集積回路設計方法、半導体集積回路設計装置を提供することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明を具体化した実施形態を図面と共に説明する。図１は、半導体集積回路設計装置としての半導体設計装置１０の概略構成を示すブロック図である。図１に示すように、この半導体設計装置１０は、入力部１２、表示部１４、テープ出力部１６が接続された設計処理部２０を備えている。入力部１２は、オペレータからの操作入力を受け入れる。表示部１４は、設計処理部２０の各動作が画面上に表示される。更に、完成した回路設計図に関するデータ（レイアウトデータ）は、設計処理部２０からテープ出力部１６に出力される。
【００１９】
図２は、設計処理部２０のブロック図である。図２に示すように、設計処理部２０は、ＲＴＬ機能シミュレーション部２２、論理合成部２４、確率生成手段としてのゲートレベル機能シミュレーション部２６、入替手段、ゲートネットリスト変更手段としての配線変更部２８、レイアウト部３０を備えている。
【００２０】
ＲＴＬ機能シミュレーション部２２は、ＲＴＬ３２とテストパターン３４とが入力されると、設計仕様通りにＲＴＬ３２が動作するか否かをシミュレーションし、そのシミュレーション結果が「ＯＫ」か「ＮＧ」かを論理合成部２４に出力する。ここでＲＴＬ３２とは、ハードウェア記述言語（Hardware description language:HDL ）であって回路仕様を記述したものである。また、テストパターン３４とは、機能検証の入力パターンである。
【００２１】
論理合成部２４は、ＲＴＬ機能シミュレーション部２２の結果が「ＯＫ」である場合、ＲＴＬ３２とライブラリとしてのテクノロジライブラリ記憶部３６を用いて論理合成を行い、ゲートネットリスト３７を生成し、ゲートネットリスト記憶部３８に記憶する。ここで、テクノロジライブラリ記憶部３６は例えば、ＮＡＮＤやＮＯＲ等の特定の機能を持った回路であって半導体集積回路を構成するスタンダードセル４０に関する情報が格納される記憶手段である。スタンダードセル４０に関する情報としては、例えば、入出力端子情報、面積、入力端子に入力される信号が取り得る確率に応じたスタンダードセル４０の消費電流テーブル４１等の情報が記述されている。
【００２２】
図３はスタンダードセル４０の一例を示すブロック図、図４はそのスタンダードセル４０の回路図である。このスタンダードセル４０は、２入力ＮＡＮＤであって、図３及び図４に示すように、第１入力端子４２、第２入力端子４３及び出力端子４４を備えている。これら入出力端子には、それぞれ配線が接続され、例えば、第１入力端子４２に配線４５が、第２入力端子４３に配線４６が接続されている。
【００２３】
図４に示すように、スタンダードセル４０は、第１トランジスタ４７、第２トランジスタ４８、第３トランジスタ４９及び第４トランジスタ５０を備えている。第１トランジスタ４７、第２トランジスタ４８のソースはそれぞれ電源ＶＤＤに接続されている。第１入力端子４２は第１トランジスタ４７のゲート端子及び第３トランジスタ４９のゲート端子に接続されている。一方、第２入力端子４３は第２トランジスタ４８のゲート端子及び第４トランジスタ５０のゲート端子に接続されている。第１トランジスタ４７及び第２トランジスタ４８はそれぞれそのドレイン端子が出力端子４４に接続されている。第３トラン
ジスタ４９のドレインは出力端子４４に、ソース端子は第４トランジスタ５０のドレインに接続されている。第４トランジスタ５０のソースはＶＳＳに接続されている。
【００２４】
そして、このスタンダードセル４０は、第１入力端子４２及び第２入力端子４３に入力信号が入力されると、図５に示すような出力が出力端子４４から出力される。このとき、第１入力端子４２と第２入力端子４３は出力端子４４に対して論理的に等価であり、第１入力端子４２に入力する予定の信号を第２入力端子４３に入力し、第２入力端子４３に入力する予定の信号を第１入力端子４２に入力しても出力端子４４から得られる出力は同じである。
【００２５】
また、消費電流テーブル４１は、このスタンダードセル４０についてネットプロバビリティ５１毎に定められたオフリーク電流を記述した表であって、スタンダードセル４０の各入力端子に接続される配線毎にテクノロジライブラリ記憶部３６に予め記憶されている。図６は、その消費電流テーブル４１を説明する図であって、例えば、第１入力端子４２に接続される配線４５に入力される各信号（入力状態）におけるネットプロバビリティ５１に対応するオフリーク電流を示す消費電流テーブル４１を示している。
【００２６】
ここで、ネットプロバビリティ５１とは、各ネットが単位時間あたりに「０」、「１」のいずれかの信号を取り得る確率であって、各入力端子についてその入力端子に接続される配線のネットプロバビリティ５１の全てを合計すると１００％になる。また、ネットプロバビリティ５１はゲートレベル機能シミュレーション結果から算出される。すなわち、例えば、ゲートレベル機能シミュレーション結果が、出力端子４４に「１」が５０回、「０」が５０回出力されるものであったら、その出力端子４４のネットプロバビリティ５１は、「１」が５０％、「０」が５０％となる。図７は、ネットプロバビリティ５１の一例を示す表であって、第１入力端子４２に接続される配線４５と第２入力端子４３に接続される配線４６について、各配線が「０」、「１」のいずれかの信号を取り得る確率（ネットプロバビリティ５１）を示している。因みに、このネットプロバビリティ５１は、第１入力端子４２に接続される配線４５の場合、配線４５が予め定められた周波数で単位時間に５０回変動してもネットプロバビリティ５１は「１」、「０」、共に５０％である。一方、配線４５が単位時間の前半「０」であり、後半「１」であったときも同様にネットプロバビリティ５１は「１」、「０」、共に５０％である。
【００２７】
図２に示すように、ゲートネットリスト記憶部３８はＲＴＬ３２で記述された半導体集積回路の機能及び構造に関するデータであるゲートネットリスト３７を格納しているデータ記憶手段であって、半導体集積回路の入出力端子と、複数のスタンダードセル４０と、それらスタンダードセル４０間の配線から構成されている。
【００２８】
ゲートレベル機能シミュレーション部２６は、テストパターン３４、テクノロジライブラリ記憶部３６のスタンダードセル４０に関する情報及びゲートネットリスト３７が入力されると、ゲートレベル機能シミュレーション結果と共にネットプロバビリティ５１を出力し、ネットプロバビリティ記憶部５２に記憶する。配線変更部２８は、ゲートネットリスト３７とネットプロバビリティ５１とを入力し、オフリーク電流が最小になるようにスタンダードセル４０の各入力端子に接続される配線を、後述する方法で互いに入れ替え、新たなゲートネットリスト３７を作成する。そして、配線変更部２８は、入力端子に接続される配線を互いに入れ替えたスタンダードセル４０が記述されたゲートネットリスト３７を新たなゲートネットリスト３７とし、ゲートネットリスト記憶部３８に記憶する。レイアウト部３０は、新たなゲートネットリスト３７を入力とし、入出力端子、複数のスタンダードセル４０及びそれらの間の複数の配線の配置を決定し、レイアウトデータとしてテープ出力部１６に出力する。
【００２９】
次に、以上のように構成した半導体設計装置１０による半導体集積回路の設計方法を、図８に示すフローチャートに従って説明する。
まず、ＲＴＬ機能シミュレーション部２２においてＲＴＬ機能シミュレーションを行う（ステップＳ１０）。すなわち、ＲＴＬ３２及びテストパターン３４が入力されると、ＲＴＬ機能シミュレーション部２２は、ＲＴＬ３２の記述が想定した動作であるか否かをテストパターン３４を使ってシミュレーションする。
【００３０】
ＲＴＬ機能シミュレーション部２２においてＲＴＬ３２の記述が想定した動作であると判定すると、論理合成部２４においてＲＴＬ３２とテクノロジライブラリ記憶部３６とを用いて論理合成を行う（ステップＳ１５）。つまり、論理合成部２４は、ＲＴＬ３２に記載されたスタンダードセル４０をテクノロジライブラリ記憶部３６のテクノロジファイルから読み出し、ゲートネットリスト３７を生成し、ゲートネットリスト記憶部３８に記憶する。
【００３１】
次に、ゲートレベル機能シミュレーション部２６においてゲートレベル機能シミュレーションを行う（ステップＳ２０：確率生成段階）。すなわち、ゲートレベル機能シミュレーション部２６は、テストパターン３４、テクノロジライブラリ記憶部３６（消費電流テーブル４１を含む）及びゲートネットリスト３７を入力し、シミュレーションを行い、ネットプロバビリティ５１を出力する。このとき、第１入力端子４２には配線４５が接続され、第２入力端子４３には配線４６が接続されているとする。
【００３２】
次に、配線変更部２８にて配線変更を行う（ステップＳ２５：入替段階、ゲートネットリスト変更段階）。すなわち、配線変更部２８は、ゲートネットリスト３７とネットプロバビリティ５１とを入力し、オフリーク電流が最小になるようにスタンダードセル４０の各入力端子に接続されている配線を互いに入れ替え、その結果生成されたゲートネットリスト３７を新たなゲートネットリスト３７としてゲートネットリスト記憶部３８に記憶する。
【００３３】
例えば、図３の配線４５が接続されるはずであった第１入力端子４２に配線４６を接続する。一方、配線４６が接続されるはずであった第２入力端子４３に配線４５を接続する。なお、オフリーク電流の値が入力端子に接続される配線の入れ替え前後で変化しないとき、入力端子に接続される配線の入れ替えは行わない。
【００３４】
そして、配線変更が終了すると、レイアウト部３０にてレイアウトを行う（ステップＳ３０）。つまり、レイアウト部３０は、ゲートネットリスト記憶部３８に記憶された新たなゲートネットリスト３７を用いてレイアウトを行い、生成されたレイアウトデータを設計処理部２０がテープ出力部１６にテープアウトを行う（ステップＳ３５）。これにより、半導体集積回路の製造に用いるマスクデータを生成することができる。
【００３５】
本実施形態によれば、以下のような効果を得ることができる。
（１）  本実施形態によれば、ネットプロバビリティ５１と消費電流テーブル４１を参照して入力端子を入れ替えるだけで、スタンダードセル４０のオフリーク電流を低減する。従って、容易にリーク電流を低減することができる。
【００３６】
（２）  本実施形態によれば、ネットプロバビリティ５１は、ゲートレベル機能シミュレーション部２６のゲートレベル機能シミュレーションによって生成される。この結果、スタンダードセル４０を組み合わせて半導体集積回路を設計する工程のうちの一つによって、ネットプロバビリティ５１を生成することができる。従って、新たな工程を要することなく、容易にネットプロバビリティを生成することができる。
【００３７】
（３）  本実施形態によれば、ネットプロバビリティ５１と消費電流テーブル４１を参照して、自動的にスタンダードセル４０の入力端子の入れ替えを行う。従って、自動的にオフリーク電流を低減するため、迅速かつ容易にオフリーク電流を低減することができる。
【００３８】
（４）  本実施形態によれば、ネットプロバビリティ５１と消費電流テーブル４１を参照するだけで、入力端子を入れ替えるか否かを決定でき、オフリーク電流を低減できる。従って、複雑な処理がないことから、短時間でオフリーク電流を低減することができる。
【００３９】
なお、上記実施形態は以下のように変更してもよい。
○上記実施形態では、スタンダードセル４０の例として二入力ＮＡＮＤ回路を挙げた。これに限らず、ＮＯＲ回路等の論理回路でもよい。また、入力端子が二本以上の論理回路であってもよい。
【００４０】
○上記実施形態では、レイアウト前にゲートネットリスト３７により自動で入力端子に接続された配線の入れ替えをしたが、ゲートネットリスト３７の変更をせず、レイアウト後にレイアウト部で入力端子に接続された配線の入れ替えをしてもよい。このとき、レイアウト部が入替手段として機能する。
【００４１】
○上記実行形態では、ゲートレベル機能シミュレーションにてネットプロバビリティ５１を生成したが、ＲＴＬ機能シミュレーションにて生成したネットプロバビリティをゲートネットリスト上で伝播させることで、配線変更部に入力するネットプロバビリティを生成してもよい。
【図面の簡単な説明】
【００４２】
【図１】本実施形態の半導体設計装置の概略構成を示すブロック図。
【図２】本実施形態の設計処理部の概略構成を示すブロック図。
【図３】本実施形態のスタンダードセルのブロック図。
【図４】本実施形態のスタンダードセルの回路図。
【図５】本実施形態のスタンダードセルの論理表。
【図６】本実施形態の消費電流テーブル。
【図７】本実施形態のネットプロバビリティ。
【図８】本実施形態の半導体集積回路の設計方法を説明するフローチャート。
【符号の説明】
【００４３】
２０…設計処理部、２２…ＲＴＬ機能シミュレーション部、２４…論理合成部、２６…ゲートレベル機能シミュレーション部、２８…配線変更部、３０…レイアウト部、３６…テクノロジライブラリ記憶部、３７…ゲートネットリスト、３８…ゲートネットリスト記憶部、４０…スタンダードセル、４１…消費電流テーブル、４５，４６…配線、５１…ネットプロバビリティ、５２…ネットプロバビリティ記憶部。
【図１】
2008020953.tif 000003
【図２】
2008020953.tif 000004
【図３】
2008020953.tif 000005
【図４】
2008020953.tif 000006
【図５】
2008020953.tif 000007
【図６】
2008020953.tif 000008
【図７】
2008020953.tif 000009
【図８】
2008020953.tif 000010