JP2005309624A - レイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体 - Google Patents

レイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体 Download PDF

Info

Publication number
JP2005309624A
JP2005309624A JP2004123549A JP2004123549A JP2005309624A JP 2005309624 A JP2005309624 A JP 2005309624A JP 2004123549 A JP2004123549 A JP 2004123549A JP 2004123549 A JP2004123549 A JP 2004123549A JP 2005309624 A JP2005309624 A JP 2005309624A
Authority
JP
Japan
Prior art keywords
input
supplied
frame
netlist
buffer
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
JP2004123549A
Other languages
English (en)
Other versions
JP4388847B2 (ja
Inventor
Masahiro Sano
昌弘 佐野
Koji Abe
康治 阿部
Hitoshi Watanabe
仁 渡辺
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2004123549A priority Critical patent/JP4388847B2/ja
Priority to US10/924,768 priority patent/US7194718B2/en
Publication of JP2005309624A publication Critical patent/JP2005309624A/ja
Priority to US11/704,274 priority patent/US7552414B2/en
Priority to US11/704,273 priority patent/US7360194B2/en
Application granted granted Critical
Publication of JP4388847B2 publication Critical patent/JP4388847B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/396Clock trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • 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
    • 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/394Routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Architecture (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

【課題】LSIチップの無駄な電力消費の抑制およびレイアウト設計期間の短縮化を図ること。
【解決手段】未配置位置511には、ダミーFF701が配置されている。このダミーFF701は、未配置位置511に隣接配置されたFF504、505間をバイパスしてスキャン信号を伝搬させるバイパス素子であり、他のFF501〜508のような信号処理はおこなわない。この配置処理により、分断されていたスキャン信号線500を、ダミーFF701、702によって接続することができる。
【選択図】 図7

Description

この発明は、LSIチップをレイアウト設計するレイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体に関する。
従来、LSIチップのレイアウトでは、クロックツリーを作成し、スキャンチェーンを配線してから、タイミング収束をおこなっていた。このため、タイミング収束作業をおこなうための工数が増加し、設計時間の長期化を招いていた。そこで、近年、あらかじめ設計済みのSCAN回路やBIST回路が埋め込まれたストラクチャードASICが開発されている(下記非特許文献1を参照。)。
富士通株式会社ホームページ [2004年4月17日検索] インターネット[URL:http://pr.fujitsu.com/jp/news/2003/06/26.html]
しかしながら、すでに設計済みの回路のうちユーザが必要としない回路をそのままにしておくと、当該回路にも電力供給がされてしまい、消費電力が大きくなるという問題があった。また、近年の回路の複雑化、高速化にともない、クロックスキューの小さいクロックツリーをレイアウトすることが困難であり、設計期間の長期化を招く原因となっている。また、レイアウトにてスキャンチェーンのタイミングを収束させるために多くの工数を必要としていた。
この発明は、上述した従来技術による問題点を解消するため、LSIチップの無駄な電力消費の抑制およびレイアウト設計期間の短縮化を図ることができるレイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体を提供することを目的とする。また、クロックスキューを抑制するレイアウト設計期間の短縮化を図ることができるレイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体を提供することを目的とする。
上述した課題を解決し、目的を達成するため、この発明にかかるレイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体は、所定の信号が供給される被供給素子を配置する配置領域を有するフレームを入力し、前記被供給素子に関するネットリストを入力し、入力されたネットリストに基づいて、入力されたフレームの配置領域に、前記被供給素子を配置し、被供給素子が配置された配置領域内において、前記被供給素子が配置されていない位置があるかどうかを検出し、検出された未配置位置に、当該未配置位置に隣接配置された被供給素子間をバイパスして前記所定の信号を伝搬させるバイパス素子を配置することを特徴とする。
この発明によれば、不要な被供給素子への信号伝搬を防止することができる。
また、他の発明にかかるレイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体は、所定の信号が供給される被供給素子があらかじめ配置されたフレームを入力し、前記被供給素子に関するネットリストを入力し、入力されたネットリストの被供給素子を、入力されたフレームに配置された被供給素子に割り当て、前記フレームに配置された被供給素子のうち、割り当てられなかった被供給素子を削除することを特徴とする。
この発明によれば、不要な被供給素子への信号伝搬を防止することができる。
さらに、別の発明にかかるレイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体は、起点となるルートバッファと複数の分岐バッファからなる、クロックスキュー調整されたバッファツリーが埋め込まれているフレームを入力し、クロック信号を入力する入力素子および前記クロック信号が供給される被供給素子に関するネットリストを入力し、入力されたネットリストに基づいて、フレームのバッファツリーの末端の配置領域に前記被供給素子を配置するとともに、前記フレーム上に前記入力素子を配置し、被供給素子が配置されたバッファツリーの中から、前記ルートバッファから前記被供給素子までの配線経路を決定し、配置された入力素子と、配線経路が決定されたバッファツリーとに基づいて、前記入力素子を起点とし、前記バッファツリーの末端の配置領域に配置された被供給素子を末端とするクロックツリーを生成することを特徴とする。
この発明によれば、クロックスキューの小さいクロックツリーを生成することができる。
本発明にかかるレイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体によれば、LSIチップの無駄な電力消費の抑制およびレイアウト設計期間の短縮化を図ることができるという効果を奏する。また、クロックスキューを抑制するレイアウト設計期間の短縮化を図ることができるという効果を奏する。
以下に添付図面を参照して、この発明にかかるレイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体の好適な実施の形態を詳細に説明する。
(実施の形態1)
(レイアウト設計装置のハードウェア構成)
まず、この発明の実施の形態1にかかるレイアウト設計装置のハードウェア構成について説明する。図1は、この発明の実施の形態1にかかるレイアウト設計装置のハードウェア構成を示すブロック図である。
図1において、レイアウト設計装置は、CPU101と、ROM102と、RAM103と、HDD(ハードディスクドライブ)104と、HD(ハードディスク)105と、FDD(フレキシブルディスクドライブ)106と、着脱可能な記録媒体の一例としてのFD(フレキシブルディスク)107と、ディスプレイ108と、I/F(インターフェース)109と、キーボード110と、マウス111と、スキャナ112と、プリンタ113と、を備えている。また、各構成部はバス100によってそれぞれ接続されている。
ここで、CPU101は、レイアウト設計装置の全体の制御を司る。ROM102は、ブートプログラムなどのプログラムを記憶している。RAM103は、CPU101のワークエリアとして使用される。HDD104は、CPU101の制御にしたがってHD105に対するデータのリード/ライトを制御する。HD105は、HDD104の制御で書き込まれたデータを記憶する。
FDD106は、CPU101の制御にしたがってFD107に対するデータのリード/ライトを制御する。FD107は、FDD106の制御で書き込まれたデータを記憶したり、FD107に記憶されたデータをレイアウト設計装置に読み取らせたりする。
また、着脱可能な記録媒体として、FD107のほか、CD−ROM(CD−R、CD−RW)、MO、DVD(Digital Versatile Disk)、メモリーカードなどであってもよい。ディスプレイ108は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ108は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
I/F109は、通信回線を通じてインターネットなどのネットワーク114に接続され、このネットワーク114を介して他の装置に接続される。そして、I/F109は、ネットワーク114と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F109には、たとえばモデムやLANアダプタなどを採用することができる。
キーボード110は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス111は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
スキャナ112は、画像を光学的に読み取り、レイアウト設計装置内に画像データを取り込む。なお、スキャナ112は、OCR機能を持たせてもよい。また、プリンタ113は、画像データや文書データを印刷する。プリンタ113には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
(レイアウト設計装置の機能的構成)
つぎに、この発明の実施の形態1にかかるレイアウト設計装置の機能的構成について説明する。図2は、この発明の実施の形態1にかかるレイアウト設計装置の機能的構成を示すブロック図である。
図2において、レイアウト設計装置200は、フレームライブラリ201と、ネットリストデータベース202と、フレーム抽出部203と、ネットリスト抽出部204と、配置部205と、未配置位置検出部206と、バイパス素子配置部207と、から構成されている。
フレームライブラリ201は、所定の信号が供給される被供給素子を配置する配置領域を有するフレームを記憶する。ここで、フレームの具体的な一例を説明する。図3は、フレームライブラリ201に記憶されているフレームの一例を示す説明図である。フレーム300は、設計済みのSCAN回路やBIST回路が埋め込まれたストラクチャードASICに関するデータであり、スキャンチェーンの配線情報が含まれている。
フレーム300は、マスタと呼ばれるLSIの基盤回路部301を有する。基盤回路部301には、起点となるルートクロックバッファRCKと複数の分岐バッファBとこれらを接続するクロック線CL(図中、太線)からなるバッファツリーBTが埋め込まれている。分岐バッファBのうち、中央に配置されている分岐バッファBは、クロックハブCHである。他の分岐バッファBは、GBMと呼ばれるセレクタであり、伝搬されてくるクロック信号を分配する。また、図中、太線はバッファツリーBTを構成するクロック線である。
また、バッファツリーBTの末端には、16個の基本ブロックSが形成されている。各基本ブロックSは、直近の分岐バッファGaに接続されており、この分岐バッファGaからクロック信号が伝搬される。各基本ブロックSは、LBMと呼ばれるセレクタである分岐バッファLと、スキャン信号やクロック信号の供給を受ける被供給素子である順序回路素子(以下、「FF」と略す。なお、図3においては不図示。)を配置するFF配置領域311と、同じく被供給素子である記憶素子(たとえば、RAM。なお、図3においては不図示。)を配置するRAM配置領域312と、を有する。
分岐バッファLはFF配置領域311内に設けられている。直近の分岐バッファGaと分岐バッファL、分岐バッファLおよびRAM配置領域312は、クロック線CLによって接続されている。FF配置領域311上のクロック線CLにはFFが配置される。また、RAM配置領域312にはRAMが配置される。また、図3中、符号SC01〜SC08は、各FFを接続するスキャン信号線(スキャンチェーン)である。
また、基盤回路部301の四周にはI/O領域313が形成されている。I/O領域313には、外部からのクロック信号が入力されるクロック端子が配置される。また、基板回路部313の周縁には、PLL302が設けられている。
また、図2において、ネットリストデータベース202には、ユーザによって作成されたネットリストが記憶されている。図4は、ネットリストデータベース202に記憶されているネットリストの一例を示す説明図である。このネットリスト400は、クロック信号が入力されるクロック端子401と、PLL402と、被供給素子を示すFFおよびRAMと、によって構成されている。
この図2に示したフレームライブラリ201およびネットリストデータベース202は、図1に示したROM102、RAM103、HD105またはFD107などの記録媒体によってその機能を実現する。また、フレームライブラリ201およびネットリストデータベース202は、図1に示したネットワーク114を介して取得可能な外部サーバに設けられることとしてもよい。
また、図2において、フレーム抽出部203は、フレームライブラリ201からフレーム300を抽出する。具体的には、設計依頼のあったユーザのネットリストに適合するフレーム300を、図1に示したキーボード110やマウス111を操作することによって抽出する。また、ネットリスト抽出部204は、ネットリストデータベース202からネットリストを抽出する。具体的には、設計依頼があったユーザのネットリストを、図1に示したキーボード110やマウス111を操作することによって抽出する。
配置部205は、ネットリスト抽出部204によって抽出されたネットリストに基づいて、フレーム抽出部203によって抽出されたフレーム300の配置領域に、FFやRAMなどの被供給素子を配置する。具体的には、抽出されたネットリストに記述されているFFやRAMの接続関係から、FFをFF配置領域311に、RAMをRAM配置領域312に自動配置する。
未配置位置検出部206は、配置部205によって被供給素子が配置された配置領域内において、被供給素子が配置されていない位置があるかどうかを検出する。ここで、被供給素子がFFの場合について具体的に説明する。図5は、配置部205によって配置処理にされるFF配置領域311を示す説明図である。
図5において、FF配置領域311内に配線されているクロック線CLおよびスキャン信号線500に接続するように、複数のFF501〜508が配置されている。ここで、FF504とFF505との間の配置位置511、およびFF507とFF508との間の配置位置512には、FFが配置されていないため、この配置位置511、512を未配置位置として検出する。これにより、スキャン信号線500が分断されているかどうかを検出することができる。
また、被供給素子がRAMの場合について具体的に説明する。図6は、配置部205によってRAM配置領域312にRAMが配置される基本ブロックSを示す説明図である。図6において、RAM配置領域312内に配線されているクロック線およびスキャン信号線600に接続するように、複数のRAM601〜603が配置されている。ここで、RAM601とRAM602との間の配置位置611には、RAMが配置されていないため、この配置位置611を未配置位置として検出する。これにより、スキャン信号線600が分断されているかどうかを検出することができる。
また、図2において、バイパス素子配置部207は、未配置位置検出部206によって検出された未配置位置に、当該未配置位置に隣接配置された被供給素子間をバイパスして所定の信号を伝搬させるバイパス素子を配置する。ここで、被供給素子がFFの場合について具体的に説明する。図7は、図5に示したFF配置領域311内の未配置位置に配置されたバイパス素子を示す説明図である。
図7において、未配置位置511には、バイパス素子となるダミーFF701が配置されている。このダミーFF701は、未配置位置511に隣接配置されたFF504、505間をバイパスしてスキャン信号を伝搬させるバイパス素子であり、他のFF501〜508のような信号処理はおこなわない。
同様に、未配置位置512には、バイパス素子となるダミーFF702が配置されている。このダミーFF702は、未配置位置512に隣接配置されたFF507、508間をバイパスしてスキャン信号を伝搬させるバイパス素子であり、他のFF501〜508のような信号処理はおこなわない。この配置処理により、図5において分断されていたスキャン信号線500を、ダミーFF701、702によって接続することができる。
また、被供給素子がRAMの場合について具体的に説明する。図8は、図6に示したRAM配置領域312内の未配置位置に配置されたバイパス素子を示す説明図である。図8において、未配置位置611には、バイパス素子となるダミーRAM800が配置されている。このダミーRAM800は、未配置位置611に隣接配置されたRAM601、602間をバイパスしてスキャン信号を伝搬させるバイパス素子であり、他のRAM601〜603のような信号処理はおこなわない。この配置処理により、図6において分断されていたスキャン信号線600を、ダミーRAM800によって接続することができる。
また、FFの他のバイパス例について説明する。図9は、FFの未配置位置に生成されたスキャン信号線を示す説明図である。図9において、ネットリストに記述されているFFの配置情報(サイト定義)により、FFを配置するFF配置領域311内において、任意のバッファから他のバッファまでの領域(島領域)を作成する。符号900は、フレーム300に埋め込まれたスキャン信号線であり、図3に示したスキャン信号線SC01〜SC08に相当する。
つぎに、FFの配置情報(サイト定義)により、各島領域に配置されるFFを決定する。そして、FFの配置情報(サイト定義)をスキャン信号の伝搬方向にソートすることにより、バッファとFFとの間の未配置位置901に、バッファとFFとを接続するスキャン信号線911を生成する。同様に、FF間の未配置位置902にFF間を接続するスキャン信号線912を生成する。これにより、スキャン信号線911、912をFFの配置順に生成することができる。
なお、上述した各機能部203〜207は、具体的には、たとえば、図1に示したROM102、RAM103、HD105、FD107などに記録されたプログラムをCPU101が実行することによって、またはI/F109によって、その機能を実現する。
(レイアウト設計装置のレイアウト設計処理手順)
つぎに、この発明の実施の形態1にかかるレイアウト設計処理手順について説明する。図10は、この発明の実施の形態1にかかるレイアウト設計処理手順を示すフローチャートである。
まず、フレームライブラリ201およびネットリストデータベース202から、それぞれフレームおよびネットリストを抽出する(ステップS1001)。そして、ネットリストの配置情報から、フレームの配置領域に被供給素子を配置する(ステップS1002)。つぎに、被供給素子が配置された配置領域内に、被供給素子が配置されていない未配置位置があるかどうかを検出する(ステップS1003)。未配置位置がある場合(ステップS1003:Yes)、当該未配置位置にバイパス素子を配置する(ステップS1004)。そして、バイパス素子を配置した後、または未配置位置がない場合(ステップS1003:No)、スキャンチェーンを出力する(ステップS1005)。これにより、フレームにスキャンチェーンを生成することができる。
この実施の形態1によれば、レイアウト設計において、テスト回路のタイミング収束の容易化を図ることができる。また、ダミーFFを配置することにより、スキャンチェーンを、タイミングエラーがない状態で作成することができ、スキャン信号量を抑制することができる。
また、RAMについても、クロックタイミングの調整が不要とすることができる。また、ダミーRAM800にはクロック信号があたえられないため、LSIの消費電力を抑制することができる。さらに、ダミーRAM800によって、他の信号線、たとえば制御線もバイパスすることにより、省スペース化およびLSIの小型化を図ることができる。
(実施の形態2)
つぎに、この発明の実施の形態2にかかるレイアウト設計装置について説明する。実施の形態2にかかるレイアウト設計装置のハードウェア構成については、図1に示した実施の形態1にかかるレイアウト設計装置のハードウェア構成と同一であるため、その説明を省略する。
(レイアウト設計装置の機能的構成)
つぎに、この発明の実施の形態2にかかるレイアウト設計装置の機能的構成について説明する。図11は、この発明の実施の形態2にかかるレイアウト設計装置の機能的構成を示すブロック図である。なお、図2に示した構成と同一構成については同一符号を付し、その説明を省略する。また、この実施の形態2における被供給素子は、図3に示したフレームにあらかじめ配置された被供給素子であり、ここでは、一例として、この被供給素子を、クロック信号が供給されるPLLとして説明する。
図11において、レイアウト設計装置1100は、フレームライブラリ201と、ネットリストデータベース202と、フレーム抽出部203と、ネットリスト抽出部204と、割当て部1101と、削除部1102と、から構成されている。割当て部1101は、ネットリスト抽出部204によって抽出されたネットリストのPLLを、フレーム抽出部203によって抽出されたフレーム300に配置されたPLL302に割り当てる。また、削除部1102は、フレーム300に配置された被供給素子のうち、割当て部1101によって割り当てられなかったPLL302を削除する。
ここで、削除部1102による削除例について説明する。図12は、フレーム300にあらかじめ埋め込まれているPLL302を示すブロック図である。PLL302は、PLLコア1201とテスト回路1202とを備えている。このPLLコア1201およびテスト回路1202には、クロック信号をはじめ各種信号が入出力される。削除部1102では、PLL302が割当て部1101によって割り当てられなかったPLLであるとすると、このPLL302内のPLLコア1201およびテスト回路1202を削除する。
図13は、削除部1102によって削除処理されたPLLを示すブロック図である。図13において、PLL302では、図12に示したPLLコア1201はダミーコア1301に、図12に示したテスト回路1202はダミーテスト回路1302に置き換えられている。これにより、使用しないPLL302による電力消費を回避することができ、設計されたLSIの省電力化を図ることができる。
また、図13においては、ダミーコア1301およびダミーテスト回路1302に置換することにより、PLLコア1201およびテスト回路1202を削除することとしているが、PLL302を削除することとしてもよい。なお、上述した各機能部1101、1102は、具体的には、たとえば、図1に示したROM102、RAM103、HD105、FD107などに記録されたプログラムをCPU101が実行することによって、またはI/F109によって、その機能を実現する。
(レイアウト設計装置1100のレイアウト設計処理手順)
つぎに、この発明の実施の形態2にかかるレイアウト設計処理手順について説明する。図14は、この発明の実施の形態2にかかるレイアウト設計処理手順を示すフローチャートである。
まず、フレームライブラリ201およびネットリストデータベース202から、それぞれフレームおよびネットリストを抽出する(ステップS1401)。そして、ネットリスト抽出部204によって抽出されたネットリストのPLLを、フレーム抽出部203によって抽出されたフレーム300に配置されたPLL302に割り当てる(ステップS1402)。
つぎに、割り当てられなかったPLL302が存在するかどうかを検出する(ステップS1403)。割り当てられなかったPLL302がない場合(ステップS1403:No)、レイアウト設計処理を終了する。一方、割り当てられなかったPLL302がある場合(ステップS1403:Yes)、削除部1102による削除処理をおこなう(ステップS1404)。
この実施の形態2によれば、使用しないPLL302による電力消費を回避することができ、設計されたLSIの省電力化を図ることができる。
(実施の形態3)
つぎに、この発明の実施の形態3にかかるレイアウト設計装置について説明する。実施の形態3にかかるレイアウト設計装置のハードウェア構成については、図1に示した実施の形態1にかかるレイアウト設計装置のハードウェア構成と同一であるため、その説明を省略する。
(レイアウト設計装置の機能的構成)
つぎに、この発明の実施の形態3にかかるレイアウト設計装置の機能的構成について説明する。図15は、この発明の実施の形態3にかかるレイアウト設計装置の機能的構成を示すブロック図である。なお、図2に示した構成と同一構成については同一符号を付し、その説明を省略する。
このレイアウト設計装置1500では、配置部1501は、ネットリスト抽出部204によって抽出されたネットリストに基づいて、フレーム抽出部203によって抽出されたフレーム300の配置領域に、FFやRAMなどの被供給素子を配置する。具体的には、抽出されたネットリストに記述されているクロック端子、FF、RAMなどの接続関係から、FFをFF配置領域311に、RAMをRAM配置領域312に自動配置する。
また、配置部1501は、ネットリスト抽出部204によって抽出されたネットリストに基づいて、フレーム抽出部203によって抽出されたフレーム300上に入力素子となるクロック端子を配置する。具体的には、抽出されたネットリストに記述されているクロック端子、FF、RAMなどの接続関係から、クロック端子をI/O配置領域に自動配置する。
図16は、配置部1501によって入力素子および被供給素子が配置されたフレーム300を示す説明図である。図16において、I/O領域313には、クロック端子CKが配置されている。また、図16中、ハッチングが施されている基本ブロックS(Sa)は、当該基本ブロックSaのFF配置領域311およびRAM配置領域312に、FFおよびRAMが配置されていることを示している。
また、図15において、決定部1502は、配置部1501によって被供給素子が配置されたバッファツリーBTの中から、ルートクロックバッファRCKから被供給素子が配置された基本ブロックSまでの配線経路を決定する。図17は、図16に示した配置状態から決定された配線経路の一例を示す説明図である。決定部1502によって決定された配線経路は、図17中、ルートクロックバッファRCK(RCK1)から、ハッチングが施されている基本ブロックSa内部に配置されているFFおよびRAMまでの太線で示した配線経路Rである。
なお、フレーム300には2つのルートロックバッファRCK1、RCK2が埋め込まれているが、いずれのルートクロックバッファRCKを使用するかは、I/O領域313に配置されたクロック端子CKの配置位置によって決定される。すなわち、配置されたクロック端子CKに近い方のルートクロックバッファRCK1が選ばれる。
配線接続部1503は、配置部1501によって配置されたクロック端子CKとルートクロックバッファRCK1とを配線接続する。図18は、配線接続部1503による配線接続状態の一例を示す説明図である。図18において、I/O領域313に配置されたクロック端子CKとフレーム300上のルートクロックバッファRCK1との間に、クロック線CLaを生成して配線接続する。また、ネットリストにおいて、クロック端子CKとルートクロックバッファRCK1との間にPLLが接続されている場合、このクロック端子CKとルートクロックバッファRCK1との間に、PLL302を接続する。
配線接続部1503は、さらに、配置部1501によって配置された入力素子と、分岐バッファのうち配置部1501によって配置されたいずれかの被供給素子にクロック信号を分配する分岐バッファ(分配バッファ)と、を配線接続する。図19は、配線接続部1503による配線接続状態の他の例を示す説明図である。ネットリストにルートクロックバッファが含まれていない場合、図19において、FFおよびRAMが配置された基本ブロックSaのルートとなる分配バッファ(図中、黒塗りの分岐バッファ)Gaと、I/O領域313に配置されたクロック端子CKとを配線接続し、クロック線CLbを生成する。これにより、配線経路を短縮化することができ、クロック信号の伝搬遅延を抑制することができる。
また、生成部1504は、配線接続部1503によって配線接続された入力素子およびルートバッファと、決定部1502によって配線経路が決定されたバッファツリーBTとに基づいて、入力素子を起点とし、バッファツリーBTの末端に配置された被供給素子を末端とするクロックツリーを生成する。図20は、生成部1504によって生成されたクロックツリーの一例を示す説明図である。図20に示したクロックツリーCTは、図17中、太線で示した配線経路Rと、図18中、太線で示した、クロック端子CKからPLL302を介してルートクロックバッファRCK1まで配線接続されたクロック線CLaとから構成される。
また、生成部1504は、不使用配線検出部1505と、削除部1506と、置換部1507とを有する。不使用配線検出部1505は、バッファツリーBTから、決定部1502によって決定された配線経路Rから外れた不使用配線を検出する。図17を用いて説明すると、中太線で示されたクロック線CLが、太線で示された配線経路Rから外れた不使用配線であり、この不使用配線CLcを検出する。削除部1506は、不使用配線検出部1505によって検出された不使用配線CLcを削除する。図17を用いて説明すると、中太線で示された不使用配線CLcを削除する。
置換部1507は、不使用配線検出部1505によって検出された不使用配線CLc上の分岐バッファを、クロック信号の伝搬が切り替え可能なイネーブルバッファに置換する。図21は、複数のクロックツリーが生成されるフレームを示す説明図である。なお、図21では、便宜上、クロックツリーが生成されたこととされており、この置換処理の段階では、配線経路が決定されただけであり、クロックツリーは生成されていない。
図21において、図中黒塗りで示した分岐バッファGbをゲートバッファGcに置換する。ゲートバッファGcは、イネーブル信号の入力によりクロック信号を伝搬したり、クロック信号の伝搬を拒否するイネーブルバッファである。クロックツリーCT1は、CK1→PLL302→RCK1→CH→G→基本ブロックSa1〜Sa12までのクロック信号伝搬経路である。クロック端子CK1からのクロック信号を伝播する。また、クロックツリーCT2は、CK2→Ga→基本ブロックSbまでのクロック信号伝搬経路である。クロックツリーCT2は、クロック端子CK2からのクロック信号を伝搬する。
また、ルートクロックバッファRCK1はセレクタであり、テストモードまたはシステムモードのいずれかのモード、すなわち、スキャンクロック端子SCKまたはクロック端子CK1のいずれかの端子を選択する。この選択は図示しないTAPコントローラでおこなう。テストモード時にはスキャンクロック端子SCKが選択され、スキャンクロック信号がクロックツリーCT1およびクロックツリーCT2に伝搬される。
また、ゲートバッファGcは、システムモード時には、クロック端子CK1からのクロック信号のクロックツリーCT2への伝搬を拒否する。一方、テストモード時には、スキャンクロック端子SCKからのスキャンクロック信号をクロックツリーCT2に伝搬させる。これにより、システムモード時には、クロック端子CK1からのクロック信号が不使用配線CLcに伝搬されないため、電力消費を抑制することができる。また、テストモード時には、ゲートバッファGcがスキャンクロック信号の伝搬を許可するため、スキャンクロック信号をクロックツリーCT2にも伝搬することができる。
また、図21に示したように、2つのネットリストごとのクロックツリーCT1、CT2を、1つのフレーム300上に生成することができる。またこれにより、クロックスキューの小さいクロックツリーCT1、CT2を短時間で生成することができる。さらに、集積密度の高い高性能なLSIを短時間で設計することができる。
図22は、図21に示したクロックツリーCT1、CT2を示す論理回路図である。図22において、ルートクロックバッファRCK、クロックハブCH、バッファG(G11〜G13、G20)、バッファL(L11〜L13、L20)は、フレームにあらかじめ埋め込まれてスキュー調整されたバッファツリーBTを構成する。また、TAPコントローラ22もあらかじめフレームに埋め込まれており、ルートクロックバッファRCK、クロックハブCH、バッファG、バッファLにXTST信号を入力して、経路の切替を行う。
FF(FF11〜FF13、FF20)、RAM(RAM11〜RAM13、RAM20)は、それぞれFF配置領域およびRAM配置領域に埋め込まれた素子である。スキャンクロック端子SCK、クロック端子CK1、およびクロック端子CK2は、フレームのI/O領域に埋め込まれた端子である。FF(FF11〜FF13、FF20)、RAM(RAM11〜RAM13、RAM20)は、TAPコントローラ22からイネーブル信号の入力を受け付ける。
クロックツリーCT1は、クロック端子CK1→ルートクロックバッファRCK→クロックハブCH→バッファG(G11〜G13)、バッファL(L11〜L13)、FF(FF11〜FF13)、RAM(RAM11〜RAM13)までの経路である。また、クロックツリーCT2は、クロック端子CK2→バッファL(L20)、FF(FF20)、RAM(RAM20)までの経路である。
ルートクロックバッファRCKは、スキャンクロック端子SCKからのスキャンクロック信号と、クロック端子CK1からのクロック信号とを入力する。ルートクロックバッファRCK1はセレクタであり、テストモードまたはシステムモードのいずれかのモード、すなわち、スキャンクロック端子SCKまたはクロック端子CK1のいずれかの端子を選択する。この選択はTAPコントローラ22でおこなう。なお、図中、クロック線CLcは、図21に示した不使用配線である。
テストモード時にはスキャンクロック端子SCKが選択され、スキャンクロック信号がクロックツリーCT1およびクロックツリーCT2に伝搬される。バッファL20は、クロック端子CK2からのクロック信号と、バッファGB20からのクロック信号(クロック端子CK1からのクロック信号)を入力する。
ここで、TAPコントローラ22によってシステムモードが選択された場合、ルートクロックバッファRCKは、「0」を選択してクロック端子CK1からのクロック信号を伝搬させる。同様に、バッファL20も、「0」を選択してクロック端子CK2からのクロック信号を伝搬させる。一方、TAPコントローラ22によってテストモードが選択された場合、ルートクロックバッファRCKおよびバッファL20では「1」が選択され、クロックツリーCT1、CT2に、スキャンクロック端子SCKからのスキャンクロック信号が伝搬される。
これにより、システムモード時には、クロック端子CK1からのクロック信号が不使用配線CLcに伝搬されないため、電力消費を抑制することができる。また、テストモード時には、バッファL20がスキャンクロック信号の伝搬を許可するため、スキャンクロック信号をクロックツリーCT2にも伝播することができる。
(レイアウト設計装置のレイアウト設計処理手順)
つぎに、この発明の実施の形態3にかかるレイアウト設計処理手順について説明する。図23は、この発明の実施の形態3にかかるレイアウト設計処理手順を示すフローチャートである。
まず、フレームライブラリ201およびネットリストデータベース202から、それぞれフレームおよびネットリストを抽出する(ステップS2301)。そして、ネットリストの配置情報から、フレーム300の配置領域に被供給素子および入力素子を配置する(ステップS2302)。つぎに、ネットリストにルートクロックバッファRCKが記述されている場合(ステップS2303:Yes)、入力素子(クロック端子CK)とルートクロックバッファRCKとを配線接続する(ステップS2304)。
つぎに、入力素子から被供給素子(FF、RAM)が配置された基本ブロックSまでの配線経路を決定する(ステップS2305)。そして、配線接続部1503によって配線接続された入力素子およびルートクロックバッファRCKと、決定部1502によって配線経路Rが決定されたバッファツリーBTとに基づいて、入力素子を起点とし、バッファツリーBTの末端に配置された被供給素子を末端とするクロックツリーCTを生成する(ステップS2306)。
一方、ネットリストにルートクロックバッファRCKが記述されていない場合(ステップS2303:No)、被供給素子が配置された基本ブロックSのルートとなる分岐バッファ(分配バッファ)と入力素子を配線接続する(ステップS2307)。そして、配置部1501によって被供給素子が配置されたバッファツリーBTの中から、分配バッファから被供給素子までの配線経路を決定する(ステップS2308)。
そして、配線接続部1503によって配線接続された入力素子および分配バッファと、決定部1502によって配線経路が決定されたバッファツリーBTとに基づいて、入力素子を起点とし、バッファツリーBTの末端の配置領域に配置された被供給素子を末端とするクロックツリーCTを生成する(ステップS2309)。
この実施の形態3によれば、あらかじめスキュー調整されたバッファツリーBTが埋め込まれているフレームを用いて、当該フレームにクロックツリーを作り込むことができるため、クロックスキューの小さいクロックツリーを短時間で実現することができる。
以上説明したように、この実施の形態1〜3にかかるレイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体によれば、無駄な戦力消費の抑制を図りつつレイアウト設計期間の短縮化を図ることができる。また、あらかじめスキュー調整されたバッファツリーBTを用いることで、クロックスキューを抑制した状態でカスタマイズすることができる。
なお、本実施の形態で説明したレイアウト設計方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
(付記1)所定の信号が供給される被供給素子を配置する配置領域を有するフレームの入力を受け付けるフレーム入力手段と、
前記被供給素子に関するネットリストの入力を受け付けるネットリスト入力手段と、
前記ネットリスト入力手段によって入力されたネットリストに基づいて、前記フレーム入力手段によって入力されたフレームの配置領域に、前記被供給素子を配置する配置手段と、
前記配置手段によって被供給素子が配置された配置領域内において、前記被供給素子が配置されていない位置があるかどうかを検出する検出手段と、
前記検出手段によって検出された未配置位置に、当該未配置位置に隣接配置された被供給素子間をバイパスして前記所定の信号を伝搬させるバイパス素子を配置するバイパス素子配置手段と、
を備えることを特徴とするレイアウト設計装置。
(付記2)前記所定の信号は、前記被供給素子をテストするスキャン信号であり、
前記被供給素子は、順序回路素子または記憶素子であることを特徴とする付記1に記載のレイアウト設計装置。
(付記3)所定の信号が供給される被供給素子があらかじめ配置されたフレームの入力を受け付けるフレーム入力手段と、
前記被供給素子に関するネットリストの入力を受け付けるネットリスト入力手段と、
前記ネットリスト入力手段によって入力されたネットリストの被供給素子を、前記フレーム入力手段によって入力されたフレームに配置された被供給素子に割り当てる割当て手段と、
前記フレームに配置された被供給素子のうち、前記割当て手段によって割り当てられなかった被供給素子を削除する削除手段と、
を備えることを特徴とするレイアウト設計装置。
(付記4)前記所定の信号は、クロック信号であり、
前記被供給素子は、PLLであることを特徴とする付記3に記載のレイアウト設計装置。
(付記5)起点となるルートバッファと複数の分岐バッファからなる、クロックスキュー調整されたバッファツリーが埋め込まれているフレームの入力を受け付けるフレーム入力手段と、
クロック信号を入力する入力素子および前記クロック信号が供給される被供給素子に関するネットリストの入力を受け付けるネットリスト入力手段と、
前記ネットリスト入力手段によって入力されたネットリストに基づいて、前記フレーム入力手段によって入力されたフレームのバッファツリーの末端の配置領域に前記被供給素子を配置するとともに、前記フレーム上に前記入力素子を配置する配置手段と、
前記配置手段によって被供給素子が配置されたバッファツリーの中から、前記ルートバッファから前記被供給素子までの配線経路を決定する決定手段と、
前記配置手段によって配置された入力素子と、前記決定手段によって配線経路が決定されたバッファツリーとに基づいて、前記入力素子を起点とし、前記バッファツリーの末端の配置領域に配置された被供給素子を末端とするクロックツリーを生成する生成手段と、
を備えることを特徴とするレイアウト設計装置。
(付記6)さらに、前記配置手段によって配置された入力素子と前記ルートバッファとを配線接続する配線接続手段を備え、
前記生成手段は、
前記配線接続手段によって配線接続された入力素子およびルートバッファと、前記決定手段によって配線経路が決定されたバッファツリーとに基づいて、前記入力素子を起点とし、前記バッファツリーの末端に配置された被供給素子を末端とするクロックツリーを生成することを特徴とする付記5に記載のレイアウト設計装置。
(付記7)さらに、前記配置手段によって配置された入力素子と、前記分岐バッファのうち前記配置手段によって配置されたいずれかの被供給素子に前記クロック信号を分配する分配バッファと、を配線接続する配線接続手段を備え、
前記決定手段は、
前記配置手段によって被供給素子が配置されたバッファツリーの中から、前記分配バッファから前記被供給素子までの配線経路を決定し、
前記生成手段は、
前記配線接続手段によって配線接続された入力素子および分配バッファと、前記決定手段によって配線経路が決定されたバッファツリーとに基づいて、前記入力素子を起点とし、前記バッファツリーの末端の配置領域に配置された被供給素子を末端とするクロックツリーを生成することを特徴とする付記5に記載のレイアウト設計装置。
(付記8)前記生成手段は、
前記バッファツリーから、前記決定手段によって決定された配線経路から外れた不使用配線を検出する不使用配線検出手段と、
前記不使用配線検出手段によって検出された不使用配線を削除する削除手段と、を備え、
さらに、前記削除手段によって不使用配線が削除されたバッファツリーに基づいて、前記クロックツリーを生成することを特徴とする付記5〜7のいずれか一つに記載のレイアウト設計装置。
(付記9)前記生成手段は、
前記バッファツリーから、前記決定手段によって決定された配線経路から外れた不使用配線を検出する不使用配線検出手段と、
前記不使用配線検出手段によって検出された不使用配線上の分岐バッファを、前記クロック信号の伝搬と伝搬拒否との切り替え可能なゲートバッファに置換する置換手段と、を備え、
さらに、前記置換手段によって置換されたゲートバッファを有するバッファツリーに基づいて、前記クロックツリーを生成することを特徴とする付記5〜7のいずれか一つに記載のレイアウト設計装置。
(付記10)前記ネットリスト入力手段は、
複数の前記ネットリストの入力を受け付け、
前記生成手段は、
前記ネットリストごとのクロックツリーを、互いに重複配置しないように生成することを特徴とする付記5〜9のいずれか一つに記載のレイアウト設計装置。
(付記11)所定の信号が供給される被供給素子を配置する配置領域を有するフレームを入力するフレーム入力工程と、
前記被供給素子に関するネットリストを入力するネットリスト入力工程と、
前記ネットリスト入力工程によって入力されたネットリストに基づいて、前記フレーム入力工程によって入力されたフレームの配置領域に、前記被供給素子を配置する配置工程と、
前記配置工程によって被供給素子が配置された配置領域内において、前記被供給素子が配置されていない位置があるかどうかを検出する検出工程と、
前記検出工程によって検出された未配置位置に、当該未配置位置に隣接配置された被供給素子間をバイパスして前記所定の信号を伝搬させるバイパス素子を配置するバイパス素子配置工程と、
を含んだことを特徴とするレイアウト設計方法。
(付記12)所定の信号が供給される被供給素子があらかじめ配置されたフレームを入力するフレーム入力工程と、
前記被供給素子に関するネットリストを入力するネットリスト入力工程と、
前記ネットリスト入力工程によって入力されたネットリストの被供給素子を、前記フレーム入力工程によって入力されたフレームに配置された被供給素子に割り当てる割当て工程と、
前記フレームに配置された被供給素子のうち、前記割当て工程によって割り当てられなかった被供給素子を削除する削除工程と、
を含んだことを特徴とするレイアウト設計方法。
(付記13)起点となるルートバッファと複数の分岐バッファからなる、クロックスキュー調整されたバッファツリーが埋め込まれているフレームを入力するフレーム入力工程と、
クロック信号を入力する入力素子および前記クロック信号が供給される被供給素子に関するネットリストを入力するネットリスト入力工程と、
前記ネットリスト入力工程によって入力されたネットリストに基づいて、前記フレーム入力工程によって入力されたフレームのバッファツリーの末端の配置領域に前記被供給素子を配置するとともに、前記フレーム上に前記入力素子を配置する配置工程と、
前記配置工程によって被供給素子が配置されたバッファツリーの中から、前記ルートバッファから前記被供給素子までの配線経路を決定する決定工程と、
前記配置工程によって配置された入力素子と、前記決定工程によって配線経路が決定されたバッファツリーとに基づいて、前記入力素子を起点とし、前記バッファツリーの末端の配置領域に配置された被供給素子を末端とするクロックツリーを生成する生成工程と、
を含んだことを特徴とするレイアウト設計方法。
(付記14)所定の信号が供給される被供給素子を配置する配置領域を有するフレームを入力させるフレーム入力工程と、
前記被供給素子に関するネットリストを入力させるネットリスト入力工程と、
前記ネットリスト入力工程によって入力されたネットリストに基づいて、前記フレーム入力工程によって入力されたフレームの配置領域に、前記被供給素子を配置させる配置工程と、
前記配置工程によって被供給素子が配置された配置領域内において、前記被供給素子が配置されていない位置があるかどうかを検出させる検出工程と、
前記検出工程によって検出された未配置位置に、当該未配置位置に隣接配置された被供給素子間をバイパスして前記所定の信号を伝搬させるバイパス素子を配置させるバイパス素子配置工程と、
をコンピュータに実行させることを特徴とするレイアウト設計プログラム。
(付記15)所定の信号が供給される被供給素子があらかじめ配置されたフレームを入力させるフレーム入力工程と、
前記被供給素子に関するネットリストを入力させるネットリスト入力工程と、
前記ネットリスト入力工程によって入力されたネットリストの被供給素子を、前記フレーム入力工程によって入力されたフレームに配置された被供給素子に割り当てさせる割当て工程と、
前記フレームに配置された被供給素子のうち、前記割当て工程によって割り当てられなかった被供給素子を削除させる削除工程と、
をコンピュータに実行させることを特徴とするレイアウト設計プログラム。
(付記16)起点となるルートバッファと複数の分岐バッファからなる、クロックスキュー調整されたバッファツリーが埋め込まれているフレームを入力させるフレーム入力工程と、
クロック信号を入力する入力素子および前記クロック信号が供給される被供給素子に関するネットリストを入力させるネットリスト入力工程と、
前記ネットリスト入力工程によって入力されたネットリストに基づいて、前記フレーム入力工程によって入力されたフレームのバッファツリーの末端の配置領域に前記被供給素子を配置するとともに、前記フレーム上に前記入力素子を配置させる配置工程と、
前記配置工程によって被供給素子が配置されたバッファツリーの中から、前記ルートバッファから前記被供給素子までの配線経路を決定させる決定工程と、
前記配置工程によって配置された入力素子と、前記決定工程によって配線経路が決定されたバッファツリーとに基づいて、前記入力素子を起点とし、前記バッファツリーの末端の配置領域に配置された被供給素子を末端とするクロックツリーを生成させる生成工程と、
をコンピュータに実行させることを特徴とするレイアウト設計プログラム。
(付記17)付記14〜16のいずれか一つに記載のレイアウト設計プログラムを記録したコンピュータ読み取り可能な記録媒体。
以上のように、本発明にかかるレイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体は、LSIのレイアウト設計に有用である。
この発明の実施の形態1にかかるレイアウト設計装置のハードウェア構成を示すブロック図である。 この発明の実施の形態1にかかるレイアウト設計装置の機能的構成を示すブロック図である。 フレームライブラリに記憶されているフレームの一例を示す説明図である。 ネットリストデータベースに記憶されているネットリストの一例を示す説明図である。 配置部によって配置処理にされるFF配置領域を示す説明図である。 配置部によってRAM配置領域にRAMが配置される基本ブロックを示す説明図である。 図5に示したFF配置領域内の未配置位置に配置されたバイパス素子を示す説明図である。 図6に示したRAM配置領域内の未配置位置に配置されたバイパス素子を示す説明図である。 FFの未配置位置に生成されたスキャン信号線を示す説明図である。 この発明の実施の形態1にかかるレイアウト設計処理手順を示すフローチャートである。 この発明の実施の形態2にかかるレイアウト設計装置の機能的構成を示すブロック図である。 フレームにあらかじめ埋め込まれているPLLを示すブロック図である。 削除部によって削除処理されたPLLを示すブロック図である。 この発明の実施の形態2にかかるレイアウト設計処理手順を示すフローチャートである。 この発明の実施の形態3にかかるレイアウト設計装置の機能的構成を示すブロック図である。 配置部によって入力素子および被供給素子が配置されたフレームを示す説明図である。 図16に示した配置状態から決定された配線経路の一例を示す説明図である。 配線接続部による配線接続状態の一例を示す説明図である。 配線接続部による配線接続状態の他の例を示す説明図である。 生成部によって生成されたクロックツリーの一例を示す説明図である。 複数のクロックツリーが生成されるフレームを示す説明図である。 図21に示したクロックツリーを示す論理回路図である。 この発明の実施の形態3にかかるレイアウト設計処理手順を示すフローチャートである。
符号の説明
201 フレームライブラリ
202 ネットリストデータベース
203 フレーム抽出部
204 ネットリスト抽出部
205 配置部
206 未配置位置検出部
207 バイパス素子配置部
300 フレーム
1101 割当て部
1102 削除部
1501 配置部
1502 決定部
1503 配線接続部
1504 生成部
1505 不使用配線検出部
1506 削除部
1507 置換部

Claims (10)

  1. 所定の信号が供給される被供給素子を配置する配置領域を有するフレームの入力を受け付けるフレーム入力手段と、
    前記被供給素子に関するネットリストの入力を受け付けるネットリスト入力手段と、
    前記ネットリスト入力手段によって入力されたネットリストに基づいて、前記フレーム入力手段によって入力されたフレームの配置領域に、前記被供給素子を配置する配置手段と、
    前記配置手段によって被供給素子が配置された配置領域内において、前記被供給素子が配置されていない位置があるかどうかを検出する検出手段と、
    前記検出手段によって検出された未配置位置に、当該未配置位置に隣接配置された被供給素子間をバイパスして前記所定の信号を伝搬させるバイパス素子を配置するバイパス素子配置手段と、
    を備えることを特徴とするレイアウト設計装置。
  2. 所定の信号が供給される被供給素子があらかじめ配置されたフレームの入力を受け付けるフレーム入力手段と、
    前記被供給素子に関するネットリストの入力を受け付けるネットリスト入力手段と、
    前記ネットリスト入力手段によって入力されたネットリストの被供給素子を、前記フレーム入力手段によって入力されたフレームに配置された被供給素子に割り当てる割当て手段と、
    前記フレームに配置された被供給素子のうち、前記割当て手段によって割り当てられなかった被供給素子を削除する削除手段と、
    を備えることを特徴とするレイアウト設計装置。
  3. 起点となるルートバッファと複数の分岐バッファからなる、クロックスキュー調整されたバッファツリーが埋め込まれているフレームの入力を受け付けるフレーム入力手段と、
    クロック信号を入力する入力素子および前記クロック信号が供給される被供給素子に関するネットリストの入力を受け付けるネットリスト入力手段と、
    前記ネットリスト入力手段によって入力されたネットリストに基づいて、前記フレーム入力手段によって入力されたフレームのバッファツリーの末端の配置領域に前記被供給素子を配置するとともに、前記フレーム上に前記入力素子を配置する配置手段と、
    前記配置手段によって被供給素子が配置されたバッファツリーの中から、前記ルートバッファから前記被供給素子までの配線経路を決定する決定手段と、
    前記配置手段によって配置された入力素子と、前記決定手段によって配線経路が決定されたバッファツリーとに基づいて、前記入力素子を起点とし、前記バッファツリーの末端の配置領域に配置された被供給素子を末端とするクロックツリーを生成する生成手段と、
    を備えることを特徴とするレイアウト設計装置。
  4. 所定の信号が供給される被供給素子を配置する配置領域を有するフレームを入力するフレーム入力工程と、
    前記被供給素子に関するネットリストを入力するネットリスト入力工程と、
    前記ネットリスト入力工程によって入力されたネットリストに基づいて、前記フレーム入力工程によって入力されたフレームの配置領域に、前記被供給素子を配置する配置工程と、
    前記配置工程によって被供給素子が配置された配置領域内において、前記被供給素子が配置されていない位置があるかどうかを検出する検出工程と、
    前記検出工程によって検出された未配置位置に、当該未配置位置に隣接配置された被供給素子間をバイパスして前記所定の信号を伝搬させるバイパス素子を配置するバイパス素子配置工程と、
    を含んだことを特徴とするレイアウト設計方法。
  5. 所定の信号が供給される被供給素子があらかじめ配置されたフレームを入力するフレーム入力工程と、
    前記被供給素子に関するネットリストを入力するネットリスト入力工程と、
    前記ネットリスト入力工程によって入力されたネットリストの被供給素子を、前記フレーム入力工程によって入力されたフレームに配置された被供給素子に割り当てる割当て工程と、
    前記フレームに配置された被供給素子のうち、前記割当て工程によって割り当てられなかった被供給素子を削除する削除工程と、
    を含んだことを特徴とするレイアウト設計方法。
  6. 起点となるルートバッファと複数の分岐バッファからなる、クロックスキュー調整されたバッファツリーが埋め込まれているフレームを入力するフレーム入力工程と、
    クロック信号を入力する入力素子および前記クロック信号が供給される被供給素子に関するネットリストを入力するネットリスト入力工程と、
    前記ネットリスト入力工程によって入力されたネットリストに基づいて、前記フレーム入力工程によって入力されたフレームのバッファツリーの末端の配置領域に前記被供給素子を配置するとともに、前記フレーム上に前記入力素子を配置する配置工程と、
    前記配置工程によって被供給素子が配置されたバッファツリーの中から、前記ルートバッファから前記被供給素子までの配線経路を決定する決定工程と、
    前記配置工程によって配置された入力素子と、前記決定工程によって配線経路が決定されたバッファツリーとに基づいて、前記入力素子を起点とし、前記バッファツリーの末端の配置領域に配置された被供給素子を末端とするクロックツリーを生成する生成工程と、
    を含んだことを特徴とするレイアウト設計方法。
  7. 所定の信号が供給される被供給素子を配置する配置領域を有するフレームを入力させるフレーム入力工程と、
    前記被供給素子に関するネットリストを入力させるネットリスト入力工程と、
    前記ネットリスト入力工程によって入力されたネットリストに基づいて、前記フレーム入力工程によって入力されたフレームの配置領域に、前記被供給素子を配置させる配置工程と、
    前記配置工程によって被供給素子が配置された配置領域内において、前記被供給素子が配置されていない位置があるかどうかを検出させる検出工程と、
    前記検出工程によって検出された未配置位置に、当該未配置位置に隣接配置された被供給素子間をバイパスして前記所定の信号を伝搬させるバイパス素子を配置させるバイパス素子配置工程と、
    をコンピュータに実行させることを特徴とするレイアウト設計プログラム。
  8. 所定の信号が供給される被供給素子があらかじめ配置されたフレームを入力させるフレーム入力工程と、
    前記被供給素子に関するネットリストを入力させるネットリスト入力工程と、
    前記ネットリスト入力工程によって入力されたネットリストの被供給素子を、前記フレーム入力工程によって入力されたフレームに配置された被供給素子に割り当てさせる割当て工程と、
    前記フレームに配置された被供給素子のうち、前記割当て工程によって割り当てられなかった被供給素子を削除させる削除工程と、
    をコンピュータに実行させることを特徴とするレイアウト設計プログラム。
  9. 起点となるルートバッファと複数の分岐バッファからなる、クロックスキュー調整されたバッファツリーが埋め込まれているフレームを入力させるフレーム入力工程と、
    クロック信号を入力する入力素子および前記クロック信号が供給される被供給素子に関するネットリストを入力させるネットリスト入力工程と、
    前記ネットリスト入力工程によって入力されたネットリストに基づいて、前記フレーム入力工程によって入力されたフレームのバッファツリーの末端の配置領域に前記被供給素子を配置するとともに、前記フレーム上に前記入力素子を配置させる配置工程と、
    前記配置工程によって被供給素子が配置されたバッファツリーの中から、前記ルートバッファから前記被供給素子までの配線経路を決定させる決定工程と、
    前記配置工程によって配置された入力素子と、前記決定工程によって配線経路が決定されたバッファツリーとに基づいて、前記入力素子を起点とし、前記バッファツリーの末端の配置領域に配置された被供給素子を末端とするクロックツリーを生成させる生成工程と、
    をコンピュータに実行させることを特徴とするレイアウト設計プログラム。
  10. 請求項7〜9のいずれか一つに記載のレイアウト設計プログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2004123549A 2004-04-19 2004-04-19 レイアウト設計装置、レイアウト設計プログラム、および記録媒体 Expired - Fee Related JP4388847B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2004123549A JP4388847B2 (ja) 2004-04-19 2004-04-19 レイアウト設計装置、レイアウト設計プログラム、および記録媒体
US10/924,768 US7194718B2 (en) 2004-04-19 2004-08-25 Layout design apparatus, layout design method, and computer product
US11/704,274 US7552414B2 (en) 2004-04-19 2007-02-09 Layout design apparatus, layout design method, and computer product
US11/704,273 US7360194B2 (en) 2004-04-19 2007-02-09 Layout design apparatus, layout design method, and computer product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004123549A JP4388847B2 (ja) 2004-04-19 2004-04-19 レイアウト設計装置、レイアウト設計プログラム、および記録媒体

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP2009188337A Division JP4825905B2 (ja) 2009-08-17 2009-08-17 レイアウト設計装置、レイアウト設計プログラム、および記録媒体
JP2009188336A Division JP4968294B2 (ja) 2009-08-17 2009-08-17 レイアウト設計装置、レイアウト設計プログラム、および記録媒体

Publications (2)

Publication Number Publication Date
JP2005309624A true JP2005309624A (ja) 2005-11-04
JP4388847B2 JP4388847B2 (ja) 2009-12-24

Family

ID=35097726

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004123549A Expired - Fee Related JP4388847B2 (ja) 2004-04-19 2004-04-19 レイアウト設計装置、レイアウト設計プログラム、および記録媒体

Country Status (2)

Country Link
US (3) US7194718B2 (ja)
JP (1) JP4388847B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009038072A (ja) * 2007-07-31 2009-02-19 Nec Electronics Corp 半導体集積回路及びその開発方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7818705B1 (en) 2005-04-08 2010-10-19 Altera Corporation Method and apparatus for implementing a field programmable gate array architecture with programmable clock skew
US7404169B2 (en) * 2005-05-31 2008-07-22 Altera Corporation Clock signal networks for structured ASIC devices
US7587686B1 (en) 2006-08-01 2009-09-08 Altera Corporation Clock gating in a structured ASIC
US20090128581A1 (en) * 2007-11-20 2009-05-21 Microsoft Corporation Custom transition framework for application state transitions
US8957920B2 (en) 2010-06-25 2015-02-17 Microsoft Corporation Alternative semantics for zoom operations in a zoomable scene

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6493658B1 (en) * 1994-04-19 2002-12-10 Lsi Logic Corporation Optimization processing for integrated circuit physical design automation system using optimally switched fitness improvement algorithms
US6442743B1 (en) * 1998-06-12 2002-08-27 Monterey Design Systems Placement method for integrated circuit design using topo-clustering
US6539536B1 (en) * 2000-02-02 2003-03-25 Synopsys, Inc. Electronic design automation system and methods utilizing groups of multiple cells having loop-back connections for modeling port electrical characteristics
US6889370B1 (en) * 2000-06-20 2005-05-03 Unisys Corporation Method and apparatus for selecting and aligning cells using a placement tool
JP4971557B2 (ja) * 2001-07-03 2012-07-11 パナソニック株式会社 半導体集積回路
US6701505B1 (en) * 2001-11-30 2004-03-02 Sequence Design, Inc. Circuit optimization for minimum path timing violations
US6668365B2 (en) * 2001-12-18 2003-12-23 Cadence Design Systems, Inc. Quadratic programming method for eliminating cell overlap and routing congestion in an IC layout
WO2004061724A1 (en) 2002-12-17 2004-07-22 International Business Machines Corporation Asic clock floor planning method and structure
US7073149B2 (en) 2004-03-03 2006-07-04 Xilinx, Inc. System for representing the logical and physical information of an integrated circuit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009038072A (ja) * 2007-07-31 2009-02-19 Nec Electronics Corp 半導体集積回路及びその開発方法

Also Published As

Publication number Publication date
US7194718B2 (en) 2007-03-20
US20050235238A1 (en) 2005-10-20
US7552414B2 (en) 2009-06-23
US7360194B2 (en) 2008-04-15
US20070136710A1 (en) 2007-06-14
US20070136711A1 (en) 2007-06-14
JP4388847B2 (ja) 2009-12-24

Similar Documents

Publication Publication Date Title
JP5495336B2 (ja) 遅延ライブラリ生成装置、遅延ライブラリ生成装置の制御方法、コンピュータプログラム、及び記録媒体
US8689170B2 (en) Changing the location of a buffer bay in a netlist
US20090293033A1 (en) System and method for layout design of integrated circuit
US7360194B2 (en) Layout design apparatus, layout design method, and computer product
JP2006004056A (ja) レイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体
JP4825905B2 (ja) レイアウト設計装置、レイアウト設計プログラム、および記録媒体
JP2010087244A (ja) 半導体集積回路、半導体集積回路のレイアウト方法、及び半導体集積回路のレイアウトプログラム
US6487707B1 (en) Layout design system of semiconductor ic device, layout design method of semiconductor ic device and computer-readable recording medium on which programs for allowing computer to execute respective means in the system or respective steps in the method are recorded
JP5167740B2 (ja) 設計支援プログラム、設計支援装置、および設計支援方法
JP5359655B2 (ja) 生成方法
JP4968294B2 (ja) レイアウト設計装置、レイアウト設計プログラム、および記録媒体
KR101117397B1 (ko) Lsi 시험 장치, lsi 시험 방법, 및 lsi 시험 프로그램을 기록한 기록 매체
US20080209368A1 (en) Layout design method, layout design apparatus, and computer product
JP5263393B2 (ja) 設計支援方法、設計支援装置、および設計支援プログラム
JP4231837B2 (ja) クロックツリー生成装置、クロックツリー生成方法、クロックツリー生成プログラムおよび記録媒体
JP2008004024A (ja) レイアウト設計プログラム、該プログラムを記録した記録媒体、レイアウト設計装置、およびレイアウト設計方法
JP4682059B2 (ja) フォールスパス記述情報生成プログラム、フォールスパス記述情報生成装置およびフォールスパス記述情報生成方法
JP7136496B1 (ja) レイアウト装置、レイアウト方法およびプログラム
JP5212218B2 (ja) 設計支援プログラム、設計支援装置、および設計支援方法
JP2010198293A (ja) 設計支援プログラム、設計支援装置、および設計支援方法
JP4391300B2 (ja) レイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体
JP2008071000A (ja) 半導体集積回路の設計装置、設計方法、設計プログラムおよび該プログラムを記録した記録媒体
JP2006005018A (ja) レイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体
JP6428207B2 (ja) 設計方法、設計装置及びプログラム
JP2006049638A (ja) 半導体装置の設計方法および半導体装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070223

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080730

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090605

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090616

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090817

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20121009

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121009

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20121009

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20121009

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131009

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees