(57)【特許請求の範囲】
【請求項１】
起点となるルートバッファと複数の分岐バッファからなる、クロックスキュー調整されたバッファツリーが埋め込まれているフレームの入力を受け付けるフレーム入力手段と、
クロック信号を入力する入力素子および前記クロック信号が供給される被供給素子に関するネットリストの入力を受け付けるネットリスト入力手段と、
前記ネットリスト入力手段によって入力されたネットリストに基づいて、前記フレーム入力手段によって入力されたフレームのバッファツリーの末端の配置領域に前記被供給素子を配置するとともに、前記フレーム上に前記入力素子を配置する配置手段と、
前記配置手段によって被供給素子が配置されたバッファツリーの中から、前記ルートバッファから前記被供給素子までの配線経路を決定する決定手段と、
前記配置手段によって配置された入力素子と前記ルートバッファとを配線接続する配線接続手段と、
前記配線接続手段によって配線接続された入力素子およびルートバッファと、前記決定手段によって配線経路が決定されたバッファツリーとに基づいて、前記入力素子を起点とし、前記バッファツリーの末端の配置領域に配置された被供給素子を末端とするクロックツリーを生成する生成手段と、を備え、
前記決定手段は、
前記フレームに前記ルートバッファが複数埋め込まれている場合、前記入力端子の配置位置から近いほうのルートバッファから前記被供給素子までの配線経路を決定することを特徴とするレイアウト設計装置。
【請求項２】
起点となるルートバッファと複数の分岐バッファからなる、クロックスキュー調整されたバッファツリーが埋め込まれているフレームの入力を受け付けるフレーム入力手段と、
クロック信号を入力する入力素子および前記クロック信号が供給される被供給素子に関するネットリストの入力を受け付けるネットリスト入力手段と、
前記ネットリスト入力手段によって入力されたネットリストに基づいて、前記フレーム入力手段によって入力されたフレームのバッファツリーの末端の配置領域に前記被供給素子を配置するとともに、前記フレーム上に前記入力素子を配置する配置手段と、
前記ネットリストに前記ルートバッファがあるか否かを判断する判断手段と、
前記判断手段によって前記ルートバッファがあると判断された場合、前記配置手段によって被供給素子が配置されたバッファツリーの中から、前記ルートバッファから前記被供給素子までの第１の配線経路を決定し、前記ルートバッファがないと判断された場合、前記配置手段によって被供給素子が配置されたバッファツリーの中から、前記分岐バッファのうち前記配置手段によって配置されたいずれかの被供給素子に前記クロック信号を分配する分配バッファから前記被供給素子までの第２の配線経路を決定する決定手段と、
前記ルートバッファがあると判断された場合、前記配置手段によって配置された入力素子と前記ルートバッファとを配線接続し、前記ルートバッファがないと判断された場合、前記入力素子と前記分配バッファとを配線接続する配線接続手段と、
前記ルートバッファがあると判断された場合、前記配線接続手段によって配線接続された入力素子およびルートバッファと、前記決定手段によって前記第１の配線経路が決定されたバッファツリーとに基づいて、前記入力素子を起点とし、前記バッファツリーの末端の配置領域に配置された被供給素子を末端とするクロックツリーを生成し、前記ルートバッファがないと判断された場合、前記配線接続手段によって配線接続された入力素子および分配バッファと、前記決定手段によって前記第２の配線経路が決定されたバッファツリーとに基づいて、前記入力素子を起点とし、前記バッファツリーの末端の配置領域に配置された被供給素子を末端とするクロックツリーを生成する生成手段と、
を備えることを特徴とするレイアウト設計装置。
【請求項３】
前記生成手段は、
前記バッファツリーから、前記決定手段によって決定された配線経路から外れた不使用配線を検出する不使用配線検出手段と、
前記不使用配線検出手段によって検出された不使用配線を削除する削除手段と、を備え、
さらに、前記削除手段によって不使用配線が削除されたバッファツリーに基づいて、前記クロックツリーを生成することを特徴とする請求項１または２に記載のレイアウト設計装置。
【請求項４】
起点となるルートバッファと複数の分岐バッファからなる、クロックスキュー調整されたバッファツリーが埋め込まれているフレームの入力を受け付けるフレーム入力手段と、
クロック信号を入力する入力素子および前記クロック信号が供給される被供給素子に関するネットリストの入力を受け付けるネットリスト入力手段と、
前記ネットリスト入力手段によって入力されたネットリストに基づいて、前記フレーム入力手段によって入力されたフレームのバッファツリーの末端の配置領域に前記被供給素子を配置するとともに、前記フレーム上に前記入力素子を配置する配置手段と、
前記配置手段によって被供給素子が配置されたバッファツリーの中から、前記ルートバッファから前記被供給素子までの配線経路を決定する決定手段と、
前記配置手段によって配置された入力素子と、前記決定手段によって配線経路が決定されたバッファツリーとに基づいて、前記入力素子を起点とし、前記バッファツリーの末端の配置領域に配置された被供給素子を末端とするクロックツリーを生成する生成手段と、を備え、
前記生成手段は、
前記バッファツリーから、前記決定手段によって決定された配線経路から外れた不使用配線を検出する不使用配線検出手段と、
前記不使用配線検出手段によって検出された不使用配線上の分岐バッファを、前記クロック信号の伝搬と伝搬拒否との切り替え可能なゲートバッファに置換する置換手段と、を備え、
さらに、前記置換手段によって置換されたゲートバッファを有するバッファツリーに基づいて、前記クロックツリーを生成することを特徴とするレイアウト設計装置。
【請求項５】
前記ネットリスト入力手段は、
複数の前記ネットリストの入力を受け付け、
前記生成手段は、
前記ネットリストごとのクロックツリーを、互いに重複配置しないように生成することを特徴とする請求項１〜４のいずれか一つに記載のレイアウト設計装置。
【請求項６】
起点となるルートバッファと複数の分岐バッファからなる、クロックスキュー調整されたバッファツリーが埋め込まれているフレームと、クロック信号を入力する入力素子および前記クロック信号が供給される被供給素子に関するネットリストと、を記憶する記憶装置にアクセス可能なコンピュータに、
前記記憶装置から前記フレームを入力するフレーム入力工程と、
前記記憶装置から前記ネットリストを入力するネットリスト入力工程と、
前記ネットリスト入力工程によって入力されたネットリストに基づいて、前記フレーム入力工程によって入力されたフレームのバッファツリーの末端の配置領域に前記被供給素子を配置するとともに、前記フレーム上に前記入力素子を配置する配置工程と、
前記配置工程によって被供給素子が配置されたバッファツリーの中から、前記ルートバッファから前記被供給素子までの配線経路を決定する決定工程と、
前記配置工程によって配置された入力素子と前記ルートバッファとを配線接続する配線接続工程と、
前記配線接続工程によって配線接続された入力素子およびルートバッファと、前記決定工程によって配線経路が決定されたバッファツリーとに基づいて、前記入力素子を起点とし、前記バッファツリーの末端の配置領域に配置された被供給素子を末端とするクロックツリーを生成する生成工程と、を実行させ、
前記決定工程では、
前記フレームに前記ルートバッファが複数埋め込まれている場合、前記入力端子の配置位置から近いほうのルートバッファから前記被供給素子までの配線経路を決定することを特徴とするレイアウト設計プログラム。
【請求項７】
請求項６に記載のレイアウト設計プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＬＳＩチップをレイアウト設計するレイアウト設計装置、レイアウト設計プログラム、および記録媒体に関する。
【背景技術】
【０００２】
従来、ＬＳＩチップのレイアウトでは、クロックツリーを作成し、スキャンチェーンを配線してから、タイミング収束をおこなっていた。このため、タイミング収束作業をおこなうための工数が増加し、設計時間の長期化を招いていた。そこで、近年、あらかじめ設計済みのＳＣＡＮ回路やＢＩＳＴ回路が埋め込まれたストラクチャードＡＳＩＣが開発されている（下記非特許文献１を参照。）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】富士通株式会社ホームページ  ［２００４年４月１７日検索］  インターネット［ＵＲＬ：http://pr.fujitsu.com/jp/news/2003/06/26.html］
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、すでに設計済みの回路のうちユーザが必要としない回路をそのままにしておくと、当該回路にも電力供給がされてしまい、消費電力が大きくなるという問題があった。また、近年の回路の複雑化、高速化にともない、クロックスキューの小さいクロックツリーをレイアウトすることが困難であり、設計期間の長期化を招く原因となっている。また、レイアウトにてスキャンチェーンのタイミングを収束させるために多くの工数を必要としていた。
【０００５】
この発明は、上述した従来技術による問題点を解消するため、ＬＳＩチップの無駄な電力消費の抑制およびレイアウト設計期間の短縮化を図ることができるレイアウト設計装置、レイアウト設計プログラム、および記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するため、この発明にかかるレイアウト設計装置、レイアウト設計プログラム、および記録媒体は、起点となるルートバッファと複数の分岐バッファからなる、クロックスキュー調整されたバッファツリーが埋め込まれているフレームを入力し、クロック信号を入力する入力素子および前記クロック信号が供給される被供給素子に関するネットリストを入力し、入力されたネットリストに基づいて、フレームのバッファツリーの末端の配置領域に前記被供給素子を配置するとともに、前記フレーム上に前記入力素子を配置し、被供給素子が配置されたバッファツリーの中から、前記ルートバッファから前記被供給素子までの配線経路を決定し、配置された入力素子と、配線経路が決定されたバッファツリーとに基づいて、前記入力素子を起点とし、前記バッファツリーの末端の配置領域に配置された被供給素子を末端とするクロックツリーを生成することを要件とする。
【０００７】
この発明によれば、クロックスキューの小さいクロックツリーを生成することができる。
【発明の効果】
【０００８】
本発明にかかるレイアウト設計装置、レイアウト設計プログラム、および記録媒体によれば、クロックスキューを抑制するレイアウト設計期間の短縮化を図ることができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】この発明の実施の形態１にかかるレイアウト設計装置のハードウェア構成を示すブロック図である。
【図２】この発明の実施の形態１にかかるレイアウト設計装置の機能的構成を示すブロック図である。
【図３】フレームライブラリに記憶されているフレームの一例を示す説明図である。
【図４】ネットリストデータベースに記憶されているネットリストの一例を示す説明図である。
【図５】配置部によって配置処理にされるＦＦ配置領域を示す説明図である。
【図６】配置部によってＲＡＭ配置領域にＲＡＭが配置される基本ブロックを示す説明図である。
【図７】図５に示したＦＦ配置領域内の未配置位置に配置されたバイパス素子を示す説明図である。
【図８】図６に示したＲＡＭ配置領域内の未配置位置に配置されたバイパス素子を示す説明図である。
【図９】ＦＦの未配置位置に生成されたスキャン信号線を示す説明図である。
【図１０】この発明の実施の形態１にかかるレイアウト設計処理手順を示すフローチャートである。
【図１１】この発明の実施の形態２にかかるレイアウト設計装置の機能的構成を示すブロック図である。
【図１２】フレームにあらかじめ埋め込まれているＰＬＬを示すブロック図である。
【図１３】削除部によって削除処理されたＰＬＬを示すブロック図である。
【図１４】この発明の実施の形態２にかかるレイアウト設計処理手順を示すフローチャートである。
【図１５】この発明の実施の形態３にかかるレイアウト設計装置の機能的構成を示すブロック図である。
【図１６】配置部によって入力素子および被供給素子が配置されたフレームを示す説明図である。
【図１７】図１６に示した配置状態から決定された配線経路の一例を示す説明図である。
【図１８】配線接続部による配線接続状態の一例を示す説明図である。
【図１９】配線接続部による配線接続状態の他の例を示す説明図である。
【図２０】生成部によって生成されたクロックツリーの一例を示す説明図である。
【図２１】複数のクロックツリーが生成されるフレームを示す説明図である。
【図２２】図２１に示したクロックツリーを示す論理回路図である。
【図２３】この発明の実施の形態３にかかるレイアウト設計処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して、この発明にかかるレイアウト設計装置、レイアウト設計プログラム、レイアウト設計方法、および記録媒体の好適な実施の形態を詳細に説明する。
【００１１】
（実施の形態１）
（レイアウト設計装置のハードウェア構成）
まず、この発明の実施の形態１にかかるレイアウト設計装置のハードウェア構成について説明する。図１は、この発明の実施の形態１にかかるレイアウト設計装置のハードウェア構成を示すブロック図である。
【００１２】
図１において、レイアウト設計装置は、ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、ＨＤＤ（ハードディスクドライブ）１０４と、ＨＤ（ハードディスク）１０５と、ＦＤＤ（フレキシブルディスクドライブ）１０６と、着脱可能な記録媒体の一例としてのＦＤ（フレキシブルディスク）１０７と、ディスプレイ１０８と、Ｉ／Ｆ（インターフェース）１０９と、キーボード１１０と、マウス１１１と、スキャナ１１２と、プリンタ１１３と、を備えている。また、各構成部はバス１００によってそれぞれ接続されている。
【００１３】
ここで、ＣＰＵ１０１は、レイアウト設計装置の全体の制御を司る。ＲＯＭ１０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ１０３は、ＣＰＵ１０１のワークエリアとして使用される。ＨＤＤ１０４は、ＣＰＵ１０１の制御にしたがってＨＤ１０５に対するデータのリード／ライトを制御する。ＨＤ１０５は、ＨＤＤ１０４の制御で書き込まれたデータを記憶する。
【００１４】
ＦＤＤ１０６は、ＣＰＵ１０１の制御にしたがってＦＤ１０７に対するデータのリード／ライトを制御する。ＦＤ１０７は、ＦＤＤ１０６の制御で書き込まれたデータを記憶したり、ＦＤ１０７に記憶されたデータをレイアウト設計装置に読み取らせたりする。
【００１５】
また、着脱可能な記録媒体として、ＦＤ１０７のほか、ＣＤ−ＲＯＭ（ＣＤ−Ｒ、ＣＤ−ＲＷ）、ＭＯ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、メモリーカードなどであってもよい。ディスプレイ１０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ１０８は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００１６】
Ｉ／Ｆ１０９は、通信回線を通じてインターネットなどのネットワーク１１４に接続され、このネットワーク１１４を介して他の装置に接続される。そして、Ｉ／Ｆ１０９は、ネットワーク１１４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ１０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００１７】
キーボード１１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス１１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００１８】
スキャナ１１２は、画像を光学的に読み取り、レイアウト設計装置内に画像データを取り込む。なお、スキャナ１１２は、ＯＣＲ機能を持たせてもよい。また、プリンタ１１３は、画像データや文書データを印刷する。プリンタ１１３には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
【００１９】
（レイアウト設計装置の機能的構成）
つぎに、この発明の実施の形態１にかかるレイアウト設計装置の機能的構成について説明する。図２は、この発明の実施の形態１にかかるレイアウト設計装置の機能的構成を示すブロック図である。
【００２０】
図２において、レイアウト設計装置２００は、フレームライブラリ２０１と、ネットリストデータベース２０２と、フレーム抽出部２０３と、ネットリスト抽出部２０４と、配置部２０５と、未配置位置検出部２０６と、バイパス素子配置部２０７と、から構成されている。
【００２１】
フレームライブラリ２０１は、所定の信号が供給される被供給素子を配置する配置領域を有するフレームを記憶する。ここで、フレームの具体的な一例を説明する。図３は、フレームライブラリ２０１に記憶されているフレームの一例を示す説明図である。フレーム３００は、設計済みのＳＣＡＮ回路やＢＩＳＴ回路が埋め込まれたストラクチャードＡＳＩＣに関するデータであり、スキャンチェーンの配線情報が含まれている。
【００２２】
フレーム３００は、マスタと呼ばれるＬＳＩの基盤回路部３０１を有する。基盤回路部３０１には、起点となるルートクロックバッファＲＣＫと複数の分岐バッファＢとこれらを接続するクロック線ＣＬ（図中、太線）からなるバッファツリーＢＴが埋め込まれている。分岐バッファＢのうち、中央に配置されている分岐バッファＢは、クロックハブＣＨである。他の分岐バッファＢは、ＧＢＭと呼ばれるセレクタであり、伝搬されてくるクロック信号を分配する。また、図中、太線はバッファツリーＢＴを構成するクロック線である。
【００２３】
また、バッファツリーＢＴの末端には、１６個の基本ブロックＳが形成されている。各基本ブロックＳは、直近の分岐バッファＧａに接続されており、この分岐バッファＧａからクロック信号が伝搬される。各基本ブロックＳは、ＬＢＭと呼ばれるセレクタである分岐バッファＬと、スキャン信号やクロック信号の供給を受ける被供給素子である順序回路素子（以下、「ＦＦ」と略す。なお、図３においては不図示。）を配置するＦＦ配置領域３１１と、同じく被供給素子である記憶素子（たとえば、ＲＡＭ。なお、図３においては不図示。）を配置するＲＡＭ配置領域３１２と、を有する。
【００２４】
分岐バッファＬはＦＦ配置領域３１１内に設けられている。直近の分岐バッファＧａと分岐バッファＬ、分岐バッファＬおよびＲＡＭ配置領域３１２は、クロック線ＣＬによって接続されている。ＦＦ配置領域３１１上のクロック線ＣＬにはＦＦが配置される。また、ＲＡＭ配置領域３１２にはＲＡＭが配置される。また、図３中、符号ＳＣ０１〜ＳＣ０８は、各ＦＦを接続するスキャン信号線（スキャンチェーン）である。
【００２５】
また、基盤回路部３０１の四周にはＩ／Ｏ領域３１３が形成されている。Ｉ／Ｏ領域３１３には、外部からのクロック信号が入力されるクロック端子が配置される。また、基板回路部３１３の周縁には、ＰＬＬ３０２が設けられている。
【００２６】
また、図２において、ネットリストデータベース２０２には、ユーザによって作成されたネットリストが記憶されている。図４は、ネットリストデータベース２０２に記憶されているネットリストの一例を示す説明図である。このネットリスト４００は、クロック信号が入力されるクロック端子４０１と、ＰＬＬ４０２と、被供給素子を示すＦＦおよびＲＡＭと、によって構成されている。
【００２７】
この図２に示したフレームライブラリ２０１およびネットリストデータベース２０２は、図１に示したＲＯＭ１０２、ＲＡＭ１０３、ＨＤ１０５またはＦＤ１０７などの記録媒体によってその機能を実現する。また、フレームライブラリ２０１およびネットリストデータベース２０２は、図１に示したネットワーク１１４を介して取得可能な外部サーバに設けられることとしてもよい。
【００２８】
また、図２において、フレーム抽出部２０３は、フレームライブラリ２０１からフレーム３００を抽出する。具体的には、設計依頼のあったユーザのネットリストに適合するフレーム３００を、図１に示したキーボード１１０やマウス１１１を操作することによって抽出する。また、ネットリスト抽出部２０４は、ネットリストデータベース２０２からネットリストを抽出する。具体的には、設計依頼があったユーザのネットリストを、図１に示したキーボード１１０やマウス１１１を操作することによって抽出する。
【００２９】
配置部２０５は、ネットリスト抽出部２０４によって抽出されたネットリストに基づいて、フレーム抽出部２０３によって抽出されたフレーム３００の配置領域に、ＦＦやＲＡＭなどの被供給素子を配置する。具体的には、抽出されたネットリストに記述されているＦＦやＲＡＭの接続関係から、ＦＦをＦＦ配置領域３１１に、ＲＡＭをＲＡＭ配置領域３１２に自動配置する。
【００３０】
未配置位置検出部２０６は、配置部２０５によって被供給素子が配置された配置領域内において、被供給素子が配置されていない位置があるかどうかを検出する。ここで、被供給素子がＦＦの場合について具体的に説明する。図５は、配置部２０５によって配置処理にされるＦＦ配置領域３１１を示す説明図である。
【００３１】
図５において、ＦＦ配置領域３１１内に配線されているクロック線ＣＬおよびスキャン信号線５００に接続するように、複数のＦＦ５０１〜５０８が配置されている。ここで、ＦＦ５０４とＦＦ５０５との間の配置位置５１１、およびＦＦ５０７とＦＦ５０８との間の配置位置５１２には、ＦＦが配置されていないため、この配置位置５１１、５１２を未配置位置として検出する。これにより、スキャン信号線５００が分断されているかどうかを検出することができる。
【００３２】
また、被供給素子がＲＡＭの場合について具体的に説明する。図６は、配置部２０５によってＲＡＭ配置領域３１２にＲＡＭが配置される基本ブロックＳを示す説明図である。図６において、ＲＡＭ配置領域３１２内に配線されているクロック線およびスキャン信号線６００に接続するように、複数のＲＡＭ６０１〜６０３が配置されている。ここで、ＲＡＭ６０１とＲＡＭ６０２との間の配置位置６１１には、ＲＡＭが配置されていないため、この配置位置６１１を未配置位置として検出する。これにより、スキャン信号線６００が分断されているかどうかを検出することができる。
【００３３】
また、図２において、バイパス素子配置部２０７は、未配置位置検出部２０６によって検出された未配置位置に、当該未配置位置に隣接配置された被供給素子間をバイパスして所定の信号を伝搬させるバイパス素子を配置する。ここで、被供給素子がＦＦの場合について具体的に説明する。図７は、図５に示したＦＦ配置領域３１１内の未配置位置に配置されたバイパス素子を示す説明図である。
【００３４】
図７において、未配置位置５１１には、バイパス素子となるダミーＦＦ７０１が配置されている。このダミーＦＦ７０１は、未配置位置５１１に隣接配置されたＦＦ５０４、５０５間をバイパスしてスキャン信号を伝搬させるバイパス素子であり、他のＦＦ５０１〜５０８のような信号処理はおこなわない。
【００３５】
同様に、未配置位置５１２には、バイパス素子となるダミーＦＦ７０２が配置されている。このダミーＦＦ７０２は、未配置位置５１２に隣接配置されたＦＦ５０７、５０８間をバイパスしてスキャン信号を伝搬させるバイパス素子であり、他のＦＦ５０１〜５０８のような信号処理はおこなわない。この配置処理により、図５において分断されていたスキャン信号線５００を、ダミーＦＦ７０１、７０２によって接続することができる。
【００３６】
また、被供給素子がＲＡＭの場合について具体的に説明する。図８は、図６に示したＲＡＭ配置領域３１２内の未配置位置に配置されたバイパス素子を示す説明図である。図８において、未配置位置６１１には、バイパス素子となるダミーＲＡＭ８００が配置されている。このダミーＲＡＭ８００は、未配置位置６１１に隣接配置されたＲＡＭ６０１、６０２間をバイパスしてスキャン信号を伝搬させるバイパス素子であり、他のＲＡＭ６０１〜６０３のような信号処理はおこなわない。この配置処理により、図６において分断されていたスキャン信号線６００を、ダミーＲＡＭ８００によって接続することができる。
【００３７】
また、ＦＦの他のバイパス例について説明する。図９は、ＦＦの未配置位置に生成されたスキャン信号線を示す説明図である。図９において、ネットリストに記述されているＦＦの配置情報（サイト定義）により、ＦＦを配置するＦＦ配置領域３１１内において、任意のバッファから他のバッファまでの領域（島領域）を作成する。符号９００は、フレーム３００に埋め込まれたスキャン信号線であり、図３に示したスキャン信号線ＳＣ０１〜ＳＣ０８に相当する。
【００３８】
つぎに、ＦＦの配置情報（サイト定義）により、各島領域に配置されるＦＦを決定する。そして、ＦＦの配置情報（サイト定義）をスキャン信号の伝搬方向にソートすることにより、バッファとＦＦとの間の未配置位置９０１に、バッファとＦＦとを接続するスキャン信号線９１１を生成する。同様に、ＦＦ間の未配置位置９０２にＦＦ間を接続するスキャン信号線９１２を生成する。これにより、スキャン信号線９１１、９１２をＦＦの配置順に生成することができる。
【００３９】
なお、上述した各機能部２０３〜２０７は、具体的には、たとえば、図１に示したＲＯＭ１０２、ＲＡＭ１０３、ＨＤ１０５、ＦＤ１０７などに記録されたプログラムをＣＰＵ１０１が実行することによって、またはＩ／Ｆ１０９によって、その機能を実現する。
【００４０】
（レイアウト設計装置のレイアウト設計処理手順）
つぎに、この発明の実施の形態１にかかるレイアウト設計処理手順について説明する。図１０は、この発明の実施の形態１にかかるレイアウト設計処理手順を示すフローチャートである。
【００４１】
まず、フレームライブラリ２０１およびネットリストデータベース２０２から、それぞれフレームおよびネットリストを抽出する（ステップＳ１００１）。そして、ネットリストの配置情報から、フレームの配置領域に被供給素子を配置する（ステップＳ１００２）。つぎに、被供給素子が配置された配置領域内に、被供給素子が配置されていない未配置位置があるかどうかを検出する（ステップＳ１００３）。未配置位置がある場合（ステップＳ１００３：Ｙｅｓ）、当該未配置位置にバイパス素子を配置する（ステップＳ１００４）。そして、バイパス素子を配置した後、または未配置位置がない場合（ステップＳ１００３：Ｎｏ）、スキャンチェーンを出力する（ステップＳ１００５）。これにより、フレームにスキャンチェーンを生成することができる。
【００４２】
この実施の形態１によれば、レイアウト設計において、テスト回路のタイミング収束の容易化を図ることができる。また、ダミーＦＦを配置することにより、スキャンチェーンを、タイミングエラーがない状態で作成することができ、スキャン信号量を抑制することができる。
【００４３】
また、ＲＡＭについても、クロックタイミングの調整が不要とすることができる。また、ダミーＲＡＭ８００にはクロック信号があたえられないため、ＬＳＩの消費電力を抑制することができる。さらに、ダミーＲＡＭ８００によって、他の信号線、たとえば制御線もバイパスすることにより、省スペース化およびＬＳＩの小型化を図ることができる。
【００４４】
（実施の形態２）
つぎに、この発明の実施の形態２にかかるレイアウト設計装置について説明する。実施の形態２にかかるレイアウト設計装置のハードウェア構成については、図１に示した実施の形態１にかかるレイアウト設計装置のハードウェア構成と同一であるため、その説明を省略する。
【００４５】
（レイアウト設計装置の機能的構成）
つぎに、この発明の実施の形態２にかかるレイアウト設計装置の機能的構成について説明する。図１１は、この発明の実施の形態２にかかるレイアウト設計装置の機能的構成を示すブロック図である。なお、図２に示した構成と同一構成については同一符号を付し、その説明を省略する。また、この実施の形態２における被供給素子は、図３に示したフレームにあらかじめ配置された被供給素子であり、ここでは、一例として、この被供給素子を、クロック信号が供給されるＰＬＬとして説明する。
【００４６】
図１１において、レイアウト設計装置１１００は、フレームライブラリ２０１と、ネットリストデータベース２０２と、フレーム抽出部２０３と、ネットリスト抽出部２０４と、割当て部１１０１と、削除部１１０２と、から構成されている。割当て部１１０１は、ネットリスト抽出部２０４によって抽出されたネットリストのＰＬＬを、フレーム抽出部２０３によって抽出されたフレーム３００に配置されたＰＬＬ３０２に割り当てる。また、削除部１１０２は、フレーム３００に配置された被供給素子のうち、割当て部１１０１によって割り当てられなかったＰＬＬ３０２を削除する。
【００４７】
ここで、削除部１１０２による削除例について説明する。図１２は、フレーム３００にあらかじめ埋め込まれているＰＬＬ３０２を示すブロック図である。ＰＬＬ３０２は、ＰＬＬコア１２０１とテスト回路１２０２とを備えている。このＰＬＬコア１２０１およびテスト回路１２０２には、クロック信号をはじめ各種信号が入出力される。削除部１１０２では、ＰＬＬ３０２が割当て部１１０１によって割り当てられなかったＰＬＬであるとすると、このＰＬＬ３０２内のＰＬＬコア１２０１およびテスト回路１２０２を削除する。
【００４８】
図１３は、削除部１１０２によって削除処理されたＰＬＬを示すブロック図である。図１３において、ＰＬＬ３０２では、図１２に示したＰＬＬコア１２０１はダミーコア１３０１に、図１２に示したテスト回路１２０２はダミーテスト回路１３０２に置き換えられている。これにより、使用しないＰＬＬ３０２による電力消費を回避することができ、設計されたＬＳＩの省電力化を図ることができる。
【００４９】
また、図１３においては、ダミーコア１３０１およびダミーテスト回路１３０２に置換することにより、ＰＬＬコア１２０１およびテスト回路１２０２を削除することとしているが、ＰＬＬ３０２を削除することとしてもよい。なお、上述した各機能部１１０１、１１０２は、具体的には、たとえば、図１に示したＲＯＭ１０２、ＲＡＭ１０３、ＨＤ１０５、ＦＤ１０７などに記録されたプログラムをＣＰＵ１０１が実行することによって、またはＩ／Ｆ１０９によって、その機能を実現する。
【００５０】
（レイアウト設計装置１１００のレイアウト設計処理手順）
つぎに、この発明の実施の形態２にかかるレイアウト設計処理手順について説明する。図１４は、この発明の実施の形態２にかかるレイアウト設計処理手順を示すフローチャートである。
【００５１】
まず、フレームライブラリ２０１およびネットリストデータベース２０２から、それぞれフレームおよびネットリストを抽出する（ステップＳ１４０１）。そして、ネットリスト抽出部２０４によって抽出されたネットリストのＰＬＬを、フレーム抽出部２０３によって抽出されたフレーム３００に配置されたＰＬＬ３０２に割り当てる（ステップＳ１４０２）。
【００５２】
つぎに、割り当てられなかったＰＬＬ３０２が存在するかどうかを検出する（ステップＳ１４０３）。割り当てられなかったＰＬＬ３０２がない場合（ステップＳ１４０３：Ｎｏ）、レイアウト設計処理を終了する。一方、割り当てられなかったＰＬＬ３０２がある場合（ステップＳ１４０３：Ｙｅｓ）、削除部１１０２による削除処理をおこなう（ステップＳ１４０４）。
【００５３】
この実施の形態２によれば、使用しないＰＬＬ３０２による電力消費を回避することができ、設計されたＬＳＩの省電力化を図ることができる。
【００５４】
（実施の形態３）
つぎに、この発明の実施の形態３にかかるレイアウト設計装置について説明する。実施の形態３にかかるレイアウト設計装置のハードウェア構成については、図１に示した実施の形態１にかかるレイアウト設計装置のハードウェア構成と同一であるため、その説明を省略する。
【００５５】
（レイアウト設計装置の機能的構成）
つぎに、この発明の実施の形態３にかかるレイアウト設計装置の機能的構成について説明する。図１５は、この発明の実施の形態３にかかるレイアウト設計装置の機能的構成を示すブロック図である。なお、図２に示した構成と同一構成については同一符号を付し、その説明を省略する。
【００５６】
このレイアウト設計装置１５００では、配置部１５０１は、ネットリスト抽出部２０４によって抽出されたネットリストに基づいて、フレーム抽出部２０３によって抽出されたフレーム３００の配置領域に、ＦＦやＲＡＭなどの被供給素子を配置する。具体的には、抽出されたネットリストに記述されているクロック端子、ＦＦ、ＲＡＭなどの接続関係から、ＦＦをＦＦ配置領域３１１に、ＲＡＭをＲＡＭ配置領域３１２に自動配置する。
【００５７】
また、配置部１５０１は、ネットリスト抽出部２０４によって抽出されたネットリストに基づいて、フレーム抽出部２０３によって抽出されたフレーム３００上に入力素子となるクロック端子を配置する。具体的には、抽出されたネットリストに記述されているクロック端子、ＦＦ、ＲＡＭなどの接続関係から、クロック端子をＩ／Ｏ配置領域に自動配置する。
【００５８】
図１６は、配置部１５０１によって入力素子および被供給素子が配置されたフレーム３００を示す説明図である。図１６において、Ｉ／Ｏ領域３１３には、クロック端子ＣＫが配置されている。また、図１６中、ハッチングが施されている基本ブロックＳ（Ｓａ）は、当該基本ブロックＳａのＦＦ配置領域３１１およびＲＡＭ配置領域３１２に、ＦＦおよびＲＡＭが配置されていることを示している。
【００５９】
また、図１５において、決定部１５０２は、配置部１５０１によって被供給素子が配置されたバッファツリーＢＴの中から、ルートクロックバッファＲＣＫから被供給素子が配置された基本ブロックＳまでの配線経路を決定する。図１７は、図１６に示した配置状態から決定された配線経路の一例を示す説明図である。決定部１５０２によって決定された配線経路は、図１７中、ルートクロックバッファＲＣＫ（ＲＣＫ１）から、ハッチングが施されている基本ブロックＳａ内部に配置されているＦＦおよびＲＡＭまでの太線で示した配線経路Ｒである。
【００６０】
なお、フレーム３００には２つのルートロックバッファＲＣＫ１、ＲＣＫ２が埋め込まれているが、いずれのルートクロックバッファＲＣＫを使用するかは、Ｉ／Ｏ領域３１３に配置されたクロック端子ＣＫの配置位置によって決定される。すなわち、配置されたクロック端子ＣＫに近い方のルートクロックバッファＲＣＫ１が選ばれる。
【００６１】
配線接続部１５０３は、配置部１５０１によって配置されたクロック端子ＣＫとルートクロックバッファＲＣＫ１とを配線接続する。図１８は、配線接続部１５０３による配線接続状態の一例を示す説明図である。図１８において、Ｉ／Ｏ領域３１３に配置されたクロック端子ＣＫとフレーム３００上のルートクロックバッファＲＣＫ１との間に、クロック線ＣＬａを生成して配線接続する。また、ネットリストにおいて、クロック端子ＣＫとルートクロックバッファＲＣＫ１との間にＰＬＬが接続されている場合、このクロック端子ＣＫとルートクロックバッファＲＣＫ１との間に、ＰＬＬ３０２を接続する。
【００６２】
配線接続部１５０３は、さらに、配置部１５０１によって配置された入力素子と、分岐バッファのうち配置部１５０１によって配置されたいずれかの被供給素子にクロック信号を分配する分岐バッファ（分配バッファ）と、を配線接続する。図１９は、配線接続部１５０３による配線接続状態の他の例を示す説明図である。ネットリストにルートクロックバッファが含まれていない場合、図１９において、ＦＦおよびＲＡＭが配置された基本ブロックＳａのルートとなる分配バッファ（図中、黒塗りの分岐バッファ）Ｇａと、Ｉ／Ｏ領域３１３に配置されたクロック端子ＣＫとを配線接続し、クロック線ＣＬｂを生成する。これにより、配線経路を短縮化することができ、クロック信号の伝搬遅延を抑制することができる。
【００６３】
また、生成部１５０４は、配線接続部１５０３によって配線接続された入力素子およびルートバッファと、決定部１５０２によって配線経路が決定されたバッファツリーＢＴとに基づいて、入力素子を起点とし、バッファツリーＢＴの末端に配置された被供給素子を末端とするクロックツリーを生成する。図２０は、生成部１５０４によって生成されたクロックツリーの一例を示す説明図である。図２０に示したクロックツリーＣＴは、図１７中、太線で示した配線経路Ｒと、図１８中、太線で示した、クロック端子ＣＫからＰＬＬ３０２を介してルートクロックバッファＲＣＫ１まで配線接続されたクロック線ＣＬａとから構成される。
【００６４】
また、生成部１５０４は、不使用配線検出部１５０５と、削除部１５０６と、置換部１５０７とを有する。不使用配線検出部１５０５は、バッファツリーＢＴから、決定部１５０２によって決定された配線経路Ｒから外れた不使用配線を検出する。図１７を用いて説明すると、中太線で示されたクロック線ＣＬが、太線で示された配線経路Ｒから外れた不使用配線であり、この不使用配線ＣＬｃを検出する。削除部１５０６は、不使用配線検出部１５０５によって検出された不使用配線ＣＬｃを削除する。図１７を用いて説明すると、中太線で示された不使用配線ＣＬｃを削除する。
【００６５】
置換部１５０７は、不使用配線検出部１５０５によって検出された不使用配線ＣＬｃ上の分岐バッファを、クロック信号の伝搬が切り替え可能なイネーブルバッファに置換する。図２１は、複数のクロックツリーが生成されるフレームを示す説明図である。なお、図２１では、便宜上、クロックツリーが生成されたこととされており、この置換処理の段階では、配線経路が決定されただけであり、クロックツリーは生成されていない。
【００６６】
図２１において、図中黒塗りで示した分岐バッファＧｂをゲートバッファＧｃに置換する。ゲートバッファＧｃは、イネーブル信号の入力によりクロック信号を伝搬したり、クロック信号の伝搬を拒否するイネーブルバッファである。クロックツリーＣＴ１は、ＣＫ１→ＰＬＬ３０２→ＲＣＫ１→ＣＨ→Ｇ→基本ブロックＳａ１〜Ｓａ１２までのクロック信号伝搬経路である。クロック端子ＣＫ１からのクロック信号を伝播する。また、クロックツリーＣＴ２は、ＣＫ２→Ｇａ→基本ブロックＳｂまでのクロック信号伝搬経路である。クロックツリーＣＴ２は、クロック端子ＣＫ２からのクロック信号を伝搬する。
【００６７】
また、ルートクロックバッファＲＣＫ１はセレクタであり、テストモードまたはシステムモードのいずれかのモード、すなわち、スキャンクロック端子ＳＣＫまたはクロック端子ＣＫ１のいずれかの端子を選択する。この選択は図示しないＴＡＰコントローラでおこなう。テストモード時にはスキャンクロック端子ＳＣＫが選択され、スキャンクロック信号がクロックツリーＣＴ１およびクロックツリーＣＴ２に伝搬される。
【００６８】
また、ゲートバッファＧｃは、システムモード時には、クロック端子ＣＫ１からのクロック信号のクロックツリーＣＴ２への伝搬を拒否する。一方、テストモード時には、スキャンクロック端子ＳＣＫからのスキャンクロック信号をクロックツリーＣＴ２に伝搬させる。これにより、システムモード時には、クロック端子ＣＫ１からのクロック信号が不使用配線ＣＬｃに伝搬されないため、電力消費を抑制することができる。また、テストモード時には、ゲートバッファＧｃがスキャンクロック信号の伝搬を許可するため、スキャンクロック信号をクロックツリーＣＴ２にも伝搬することができる。
【００６９】
また、図２１に示したように、２つのネットリストごとのクロックツリーＣＴ１、ＣＴ２を、１つのフレーム３００上に生成することができる。またこれにより、クロックスキューの小さいクロックツリーＣＴ１、ＣＴ２を短時間で生成することができる。さらに、集積密度の高い高性能なＬＳＩを短時間で設計することができる。
【００７０】
図２２は、図２１に示したクロックツリーＣＴ１、ＣＴ２を示す論理回路図である。図２２において、ルートクロックバッファＲＣＫ、クロックハブＣＨ、バッファＧ（Ｇ１１〜Ｇ１３、Ｇ２０）、バッファＬ（Ｌ１１〜Ｌ１３、Ｌ２０）は、フレームにあらかじめ埋め込まれてスキュー調整されたバッファツリーＢＴを構成する。また、ＴＡＰコントローラ２２もあらかじめフレームに埋め込まれており、ルートクロックバッファＲＣＫ、クロックハブＣＨ、バッファＧ、バッファＬにＸＴＳＴ信号を入力して、経路の切替を行う。
【００７１】
ＦＦ（ＦＦ１１〜ＦＦ１３、ＦＦ２０）、ＲＡＭ（ＲＡＭ１１〜ＲＡＭ１３、ＲＡＭ２０）は、それぞれＦＦ配置領域およびＲＡＭ配置領域に埋め込まれた素子である。スキャンクロック端子ＳＣＫ、クロック端子ＣＫ１、およびクロック端子ＣＫ２は、フレームのＩ／Ｏ領域に埋め込まれた端子である。ＦＦ（ＦＦ１１〜ＦＦ１３、ＦＦ２０）、ＲＡＭ（ＲＡＭ１１〜ＲＡＭ１３、ＲＡＭ２０）は、ＴＡＰコントローラ２２からイネーブル信号の入力を受け付ける。
【００７２】
クロックツリーＣＴ１は、クロック端子ＣＫ１→ルートクロックバッファＲＣＫ→クロックハブＣＨ→バッファＧ（Ｇ１１〜Ｇ１３）、バッファＬ（Ｌ１１〜Ｌ１３）、ＦＦ（ＦＦ１１〜ＦＦ１３）、ＲＡＭ（ＲＡＭ１１〜ＲＡＭ１３）までの経路である。また、クロックツリーＣＴ２は、クロック端子ＣＫ２→バッファＬ（Ｌ２０）、ＦＦ（ＦＦ２０）、ＲＡＭ（ＲＡＭ２０）までの経路である。
【００７３】
ルートクロックバッファＲＣＫは、スキャンクロック端子ＳＣＫからのスキャンクロック信号と、クロック端子ＣＫ１からのクロック信号とを入力する。ルートクロックバッファＲＣＫ１はセレクタであり、テストモードまたはシステムモードのいずれかのモード、すなわち、スキャンクロック端子ＳＣＫまたはクロック端子ＣＫ１のいずれかの端子を選択する。この選択はＴＡＰコントローラ２２でおこなう。なお、図中、クロック線ＣＬｃは、図２１に示した不使用配線である。
【００７４】
テストモード時にはスキャンクロック端子ＳＣＫが選択され、スキャンクロック信号がクロックツリーＣＴ１およびクロックツリーＣＴ２に伝搬される。バッファＬ２０は、クロック端子ＣＫ２からのクロック信号と、バッファＧＢ２０からのクロック信号（クロック端子ＣＫ１からのクロック信号）を入力する。
【００７５】
ここで、ＴＡＰコントローラ２２によってシステムモードが選択された場合、ルートクロックバッファＲＣＫは、「０」を選択してクロック端子ＣＫ１からのクロック信号を伝搬させる。同様に、バッファＬ２０も、「０」を選択してクロック端子ＣＫ２からのクロック信号を伝搬させる。一方、ＴＡＰコントローラ２２によってテストモードが選択された場合、ルートクロックバッファＲＣＫおよびバッファＬ２０では「１」が選択され、クロックツリーＣＴ１、ＣＴ２に、スキャンクロック端子ＳＣＫからのスキャンクロック信号が伝搬される。
【００７６】
これにより、システムモード時には、クロック端子ＣＫ１からのクロック信号が不使用配線ＣＬｃに伝搬されないため、電力消費を抑制することができる。また、テストモード時には、バッファＬ２０がスキャンクロック信号の伝搬を許可するため、スキャンクロック信号をクロックツリーＣＴ２にも伝播することができる。
【００７７】
（レイアウト設計装置のレイアウト設計処理手順）
つぎに、この発明の実施の形態３にかかるレイアウト設計処理手順について説明する。図２３は、この発明の実施の形態３にかかるレイアウト設計処理手順を示すフローチャートである。
【００７８】
まず、フレームライブラリ２０１およびネットリストデータベース２０２から、それぞれフレームおよびネットリストを抽出する（ステップＳ２３０１）。そして、ネットリストの配置情報から、フレーム３００の配置領域に被供給素子および入力素子を配置する（ステップＳ２３０２）。つぎに、ネットリストにルートクロックバッファＲＣＫが記述されている場合（ステップＳ２３０３：Ｙｅｓ）、入力素子（クロック端子ＣＫ）とルートクロックバッファＲＣＫとを配線接続する（ステップＳ２３０４）。
【００７９】
つぎに、入力素子から被供給素子（ＦＦ、ＲＡＭ）が配置された基本ブロックＳまでの配線経路を決定する（ステップＳ２３０５）。そして、配線接続部１５０３によって配線接続された入力素子およびルートクロックバッファＲＣＫと、決定部１５０２によって配線経路Ｒが決定されたバッファツリーＢＴとに基づいて、入力素子を起点とし、バッファツリーＢＴの末端に配置された被供給素子を末端とするクロックツリーＣＴを生成する（ステップＳ２３０６）。
【００８０】
一方、ネットリストにルートクロックバッファＲＣＫが記述されていない場合（ステップＳ２３０３：Ｎｏ）、被供給素子が配置された基本ブロックＳのルートとなる分岐バッファ（分配バッファ）と入力素子を配線接続する（ステップＳ２３０７）。そして、配置部１５０１によって被供給素子が配置されたバッファツリーＢＴの中から、分配バッファから被供給素子までの配線経路を決定する（ステップＳ２３０８）。
【００８１】
そして、配線接続部１５０３によって配線接続された入力素子および分配バッファと、決定部１５０２によって配線経路が決定されたバッファツリーＢＴとに基づいて、入力素子を起点とし、バッファツリーＢＴの末端の配置領域に配置された被供給素子を末端とするクロックツリーＣＴを生成する（ステップＳ２３０９）。
【００８２】
この実施の形態３によれば、あらかじめスキュー調整されたバッファツリーＢＴが埋め込まれているフレームを用いて、当該フレームにクロックツリーを作り込むことができるため、クロックスキューの小さいクロックツリーを短時間で実現することができる。
【００８３】
以上説明したように、この実施の形態１〜３にかかるレイアウト設計装置、レイアウト設計プログラム、および記録媒体によれば、無駄な戦力消費の抑制を図りつつレイアウト設計期間の短縮化を図ることができる。また、あらかじめスキュー調整されたバッファツリーＢＴを用いることで、クロックスキューを抑制した状態でカスタマイズすることができる。
【００８４】
なお、本実施の形態で説明したレイアウト設計方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
【００８５】
（付記１）起点となるルートバッファと複数の分岐バッファからなる、クロックスキュー調整されたバッファツリーが埋め込まれているフレームの入力を受け付けるフレーム入力手段と、
クロック信号を入力する入力素子および前記クロック信号が供給される被供給素子に関するネットリストの入力を受け付けるネットリスト入力手段と、
前記ネットリスト入力手段によって入力されたネットリストに基づいて、前記フレーム入力手段によって入力されたフレームのバッファツリーの末端の配置領域に前記被供給素子を配置するとともに、前記フレーム上に前記入力素子を配置する配置手段と、
前記配置手段によって被供給素子が配置されたバッファツリーの中から、前記ルートバッファから前記被供給素子までの配線経路を決定する決定手段と、
前記配置手段によって配置された入力素子と、前記決定手段によって配線経路が決定されたバッファツリーとに基づいて、前記入力素子を起点とし、前記バッファツリーの末端の配置領域に配置された被供給素子を末端とするクロックツリーを生成する生成手段と、
を備えることを特徴とするレイアウト設計装置。
【００８６】
（付記２）さらに、前記配置手段によって配置された入力素子と前記ルートバッファとを配線接続する配線接続手段を備え、
前記生成手段は、
前記配線接続手段によって配線接続された入力素子およびルートバッファと、前記決定手段によって配線経路が決定されたバッファツリーとに基づいて、前記入力素子を起点とし、前記バッファツリーの末端に配置された被供給素子を末端とするクロックツリーを生成することを特徴とする付記１に記載のレイアウト設計装置。
【００８７】
（付記３）さらに、前記配置手段によって配置された入力素子と、前記分岐バッファのうち前記配置手段によって配置されたいずれかの被供給素子に前記クロック信号を分配する分配バッファと、を配線接続する配線接続手段を備え、
前記決定手段は、
前記配置手段によって被供給素子が配置されたバッファツリーの中から、前記分配バッファから前記被供給素子までの配線経路を決定し、
前記生成手段は、
前記配線接続手段によって配線接続された入力素子および分配バッファと、前記決定手段によって配線経路が決定されたバッファツリーとに基づいて、前記入力素子を起点とし、前記バッファツリーの末端の配置領域に配置された被供給素子を末端とするクロックツリーを生成することを特徴とする付記１に記載のレイアウト設計装置。
【００８８】
（付記４）前記生成手段は、
前記バッファツリーから、前記決定手段によって決定された配線経路から外れた不使用配線を検出する不使用配線検出手段と、
前記不使用配線検出手段によって検出された不使用配線を削除する削除手段と、を備え、
さらに、前記削除手段によって不使用配線が削除されたバッファツリーに基づいて、前記クロックツリーを生成することを特徴とする付記１〜３のいずれか一つに記載のレイアウト設計装置。
【００８９】
（付記５）前記生成手段は、
前記バッファツリーから、前記決定手段によって決定された配線経路から外れた不使用配線を検出する不使用配線検出手段と、
前記不使用配線検出手段によって検出された不使用配線上の分岐バッファを、前記クロック信号の伝搬と伝搬拒否との切り替え可能なゲートバッファに置換する置換手段と、を備え、
さらに、前記置換手段によって置換されたゲートバッファを有するバッファツリーに基づいて、前記クロックツリーを生成することを特徴とする付記１〜３のいずれか一つに記載のレイアウト設計装置。
【００９０】
（付記６）前記ネットリスト入力手段は、
複数の前記ネットリストの入力を受け付け、
前記生成手段は、
前記ネットリストごとのクロックツリーを、互いに重複配置しないように生成することを特徴とする付記１〜５のいずれか一つに記載のレイアウト設計装置。
【００９１】
（付記７）起点となるルートバッファと複数の分岐バッファからなる、クロックスキュー調整されたバッファツリーが埋め込まれているフレームを入力するフレーム入力工程と、
クロック信号を入力する入力素子および前記クロック信号が供給される被供給素子に関するネットリストを入力するネットリスト入力工程と、
前記ネットリスト入力工程によって入力されたネットリストに基づいて、前記フレーム入力工程によって入力されたフレームのバッファツリーの末端の配置領域に前記被供給素子を配置するとともに、前記フレーム上に前記入力素子を配置する配置工程と、
前記配置工程によって被供給素子が配置されたバッファツリーの中から、前記ルートバッファから前記被供給素子までの配線経路を決定する決定工程と、
前記配置工程によって配置された入力素子と、前記決定工程によって配線経路が決定されたバッファツリーとに基づいて、前記入力素子を起点とし、前記バッファツリーの末端の配置領域に配置された被供給素子を末端とするクロックツリーを生成する生成工程と、
を含んだことを特徴とするレイアウト設計方法。
【００９２】
（付記８）起点となるルートバッファと複数の分岐バッファからなる、クロックスキュー調整されたバッファツリーが埋め込まれているフレームを入力させるフレーム入力工程と、
クロック信号を入力する入力素子および前記クロック信号が供給される被供給素子に関するネットリストを入力させるネットリスト入力工程と、
前記ネットリスト入力工程によって入力されたネットリストに基づいて、前記フレーム入力工程によって入力されたフレームのバッファツリーの末端の配置領域に前記被供給素子を配置させるとともに、前記フレーム上に前記入力素子を配置させる配置工程と、
前記配置工程によって被供給素子が配置されたバッファツリーの中から、前記ルートバッファから前記被供給素子までの配線経路を決定させる決定工程と、
前記配置工程によって配置された入力素子と、前記決定工程によって配線経路が決定されたバッファツリーとに基づいて、前記入力素子を起点とし、前記バッファツリーの末端の配置領域に配置された被供給素子を末端とするクロックツリーを生成させる生成工程と、
をコンピュータに実行させることを特徴とするレイアウト設計プログラム。
【００９３】
（付記９）付記８に記載のレイアウト設計プログラムを記録したコンピュータ読み取り可能な記録媒体。
【産業上の利用可能性】
【００９４】
以上のように、本発明にかかるレイアウト設計装置、レイアウト設計プログラム、および記録媒体は、ＬＳＩのレイアウト設計に有用である。
【符号の説明】
【００９５】
２０１  フレームライブラリ
２０２  ネットリストデータベース
２０３  フレーム抽出部
２０４  ネットリスト抽出部
２０５  配置部
２０６  未配置位置検出部
２０７  バイパス素子配置部
３００  フレーム
１１０１  割当て部
１１０２  削除部
１５０１  配置部
１５０２  決定部
１５０３  配線接続部
１５０４  生成部
１５０５  不使用配線検出部
１５０６  削除部
１５０７  置換部
【図１】
0004825905.tif 000002
【図２】
0004825905.tif 000003
【図３】
0004825905.tif 000004
【図４】
0004825905.tif 000005
【図５】
0004825905.tif 000006
【図６】
0004825905.tif 000007
【図７】
0004825905.tif 000008
【図８】
0004825905.tif 000009
【図９】
0004825905.tif 000010
【図１０】
0004825905.tif 000011
【図１１】
0004825905.tif 000012
【図１２】
0004825905.tif 000013
【図１３】
0004825905.tif 000014
【図１４】
0004825905.tif 000015
【図１５】
0004825905.tif 000016
【図１６】
0004825905.tif 000017
【図１７】
0004825905.tif 000018
【図１８】
0004825905.tif 000019
【図１９】
0004825905.tif 000020
【図２０】
0004825905.tif 000021
【図２１】
0004825905.tif 000022
【図２２】
0004825905.tif 000023
【図２３】
0004825905.tif 000024