JP6589533B2 - 半導体装置のレイアウト設計方法およびレイアウト設計装置 - Google Patents

半導体装置のレイアウト設計方法およびレイアウト設計装置 Download PDF

Info

Publication number
JP6589533B2
JP6589533B2 JP2015196572A JP2015196572A JP6589533B2 JP 6589533 B2 JP6589533 B2 JP 6589533B2 JP 2015196572 A JP2015196572 A JP 2015196572A JP 2015196572 A JP2015196572 A JP 2015196572A JP 6589533 B2 JP6589533 B2 JP 6589533B2
Authority
JP
Japan
Prior art keywords
clock
buffer
semiconductor device
computer
clock line
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.)
Active
Application number
JP2015196572A
Other languages
English (en)
Other versions
JP2017068779A (ja
Inventor
博之 安藤
博之 安藤
弘樹 杉崎
弘樹 杉崎
直弘 畑
直弘 畑
唯 小出
唯 小出
義彦 寺内
義彦 寺内
山内 学
学 山内
和一 佐藤
和一 佐藤
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.)
Toppan Inc
Original Assignee
Toppan Inc
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 Toppan Inc filed Critical Toppan Inc
Priority to JP2015196572A priority Critical patent/JP6589533B2/ja
Publication of JP2017068779A publication Critical patent/JP2017068779A/ja
Application granted granted Critical
Publication of JP6589533B2 publication Critical patent/JP6589533B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

この発明は、クロックツリー合成(Clock Tree Synthesis;以下、CTSと略す)を利用した半導体装置のレイアウト設計方法およびレイアウト設計装置に関する。
CTSは、クロックの供給元からクロックの供給先である各フリップフロップ(以下、F/Fと略す)のクロック端子までの供給経路であるクロックツリーを合成しつつ半導体装置のレイアウトを行う設計工程である。ここで、半導体装置の設計では、各F/Fへ供給されるクロックの遅延時間が均等であり、各F/Fへのクロックエッジの到着時刻の時間差であるスキューが小さいほど、その後の設計工程のタイミング収束期間の短縮化が可能である。また、半導体装置のチップ(以下、単にチップという)の量産では、半導体装置内の各部の遅延量に製造ばらつきによるOn Chip Variationが発生するが、このOn Chip Variationへの耐性に関しても、スキューの小さい半導体装置の方が、各部の遅延量がばらついても、そのばらつきを吸収するだけのセットアップ時間とホールド時間のマージンを持つことになる。このため、CTSでは、クロックの供給元からクロックの各供給先までの遅延時間を調整することにより、スキューの最小化を図っている。
特開2013−122705号公報
ところで、CTSでは、半導体装置内の各F/Fに供給されるクロックのスキューを最小化するために、最も遅延量の大きなクロックの経路に合わせて、他のクロックの経路に遅延量を揃えるためのクロックバッファを挿入する。このようにして挿入されるクロックバッファの中には、関係するF/Fのセットアップ時間およびホールド時間のマージンを確保するために必要なクロックバッファも含まれているが、そうではない余分なクロックバッファも含まれている。このような余分なクロックバッファは、クロックが変化する度に余分な消費電力を発生する。半導体装置のチップの動作時の消費電力では、クロックにより駆動される回路の消費電力が大きな比率を占める。従って、CTSにより余分なクロックバッファが挿入されると、チップ全体の消費電力が不要にかつ大幅に増加することとなる。また、近年の大規模チップの設計手法では、Usefulスキューなどの、回路の高速化を行うためのセットアップ時間対策のために、クロックバッファを受け側のF/Fに追加する手法が普及している。そのため、クロックバッファは一層増加し、チップが消費する電力は更に大きくなる傾向にある。また、CTSでは、各F/Fに対するクロックエッジの到着タイミングが揃うので、同時に大きな消費電力が発生する問題もある。
本発明は、以上説明した事情に鑑みてなされたものであり、CTSにより余分に挿入されるクロックバッファを削除し、半導体装置の消費電力の低減を可能にする技術的手段を提供することを目的とする。
この発明では、CTSにより得られたクロックツリーの中から次のクロックラインを選択し、選択したクロックラインに接続されたクロックバッファの削除またはサイズ削減の可能性を評価する。
a.ファンアウトが所定値以下であり、かつ、クロックバッファを途中に含み、かつ、総配線長が所定長以上であるクロックライン
b.クロックの供給先である各F/Fの配置の密集の程度が所定程度以上であり、かつ、各F/Fに与えられるクロック間のスキューが所定値以下であるクロックライン
上記aおよびbに該当するクロックラインに接続されたクロックバッファの中には、同クロックラインに接続されたF/Fのセットアップ時間やホールド時間のマージンを確保するために必要でないものが含まれていることが多い。従って、そのような不要なクロックバッファの削除またはサイズ削減を行うことにより半導体装置の消費電力を低減することができる。
なお、特許文献1は、クロックライン上のトランジション制約およびキャパシタンス制約に余裕があるか否かを判別する第1処理と、上記第1処理での判別結果に応じて、上記クロックラインにおけるクロックバッファのサイズダウン又は削除を行う第2処理と、上記第2処理におけるクロックバッファのサイズダウン又は削除によって電力低減が可能であるか否かを判別する第3処理と、上記第3処理での判別結果に応じて上記クロックバッファのサイズ調整を行う第4処理とを実行する演算処理装置を開示している。
しかし、この特許文献1は、クロックバッファの削除またはサイズ低減を検討する対象となるクロックラインをどのようにして選択するかを明らかにしていない。全てのクロックラインを対象にクロックバッファの削除またはサイズ低減を検討するとなると、膨大な時間が必要になって現実的でない。本願発明によれば、短い時間内でクロックバッファの削除またはサイズ低減を検討する対象となるクロックラインを選択することができる。
この発明の一実施形態である半導体装置のレイアウト設計方法を実行するレイアウト装置10の構成を示すブロック図である。 同レイアウト設計方法を実施するための演算処理の内容を示すフローチャートである。 同実施形態においてクロックバッファの削除またはサイズ低減を検討する対象となるクロックラインの第1の例を示す図である。 同実施形態においてクロックバッファの削除またはサイズ低減を検討する対象となるクロックラインの第2の例を示す図である。 一般的に行われるF/Fのセットアップ時間およびホールド時間のマージンの調査を説明する図である。 同実施形態において行われるF/Fのセットアップ時間およびホールド時間のマージンの調査を説明する図である。
以下、図面を参照し、この発明の一実施形態について説明する。
図1は、この発明の一実施形態である半導体装置のレイアウト設計方法を実行するレイアウト装置10の構成を示すブロック図である。このレイアウト装置10は、例えばパーソナルコンピュータ等のコンピュータであり、表示装置11、演算処理装置12、記憶装置13、および入力装置14を含む。
記憶装置13は、例えば磁気ディスクを記録媒体とするハードディスク装置である。この記憶装置13には、各種プログラムや、半導体装置のレイアウトに用いられる各種情報が格納される。半導体装置のレイアウトに用いられる各種情報には、ネットリストやライブラリが含まれる。演算処理装置12は、自動配置配線(Place and Route)処理のためのプログラムを実行可能なマイクロコンピュータ、およびその周辺回路を含む。演算処理装置12での処理には、半導体装置における各部にクロック信号を分配するためのクロックツリーの構築や、このクロックツリー間のクロックスキューの調整が含まれる。上記演算処理装置12においては、必要に応じて、記憶装置13内のネットリストやライブラリが参照される。入力装置14は、キーボードやマウスを含み、半導体装置のレイアウト処理に関する各種情報入力を行うのに用いられる。表示装置11は、液晶ディスプレイなどであり、半導体装置のレイアウト処理に関する各種情報表示を行うことができる。
本実施形態は、半導体装置の消費電力を低減することを目的とする。この目的を達成するため、本実施形態によるレイアウト設計方法では、CTSによりスキューを揃えた後の設計工程を見直し、F/FからF/Fへのデータ転送に必要なセットアップ時間やホールド時間を満たし、遷移時間や最大容量、最大ファンアウトなどのプロセス毎の設計制約を満たし、かつ、製造ばらつきに対する耐性を確保しながら、可能な限り余分なクロックバッファの削除またはサイズダウンを行う。
本実施形態によるレイアウト設計方法では、CTSの実行後において、合成されたクロックツリーの中から次の2種類のクロックラインを選択し、そのクロックラインに接続されたクロックバッファの削除またはサイズ削減の可能性を検討する。
a.クロックツリーにおいてファンアウトが所定値以下であり(例えばファンアウト=1)、かつ、クロックバッファを途中に含み、かつ、総配線長が所定長以上であるクロックライン
b.クロックの供給先である各F/Fの配置の密集の程度が所定程度以上であり、かつ、各F/Fに与えられるクロック間のスキューが所定値以下であるクロックライン
以下、これらのクロックラインをクロックバッファの削除またはサイズ削減の検討対象とする理由について説明する。
まず、市販されている配置配線ツールを利用してCTSを実施すると、CTSでは、同じクロック系統に接続されたF/Fのクロックスキューをできるだけ小さくするために、各F/Fに至る各クロックラインに多数のクロックバッファを挿入して各クロックラインの遅延を一律に調整する。
また、CTSでは、半導体装置内においてF/Fがタイミングドリブンで配置されるため、共通のデータパスを構成する複数のF/Fは、互いに近傍配置される。そして、これらのF/Fとともに各F/Fにクロックを供給するクロックバッファも密集する傾向がある。
そのため、クロックスキューに着目すると、スキュー値が小さいF/F群が密集して配置され、そこにクロックバッファも集まって挿入される傾向がある。また、スキューの小さいF/F群のクロックバッファは、近傍配置されたF/Fの周辺に、比較的に短い距離でドライブさせるCTSのクロックラインが発生する場合がある。このようなクロックバッファの群の中には少ない個数のクロックバッファにまとめても問題のないものもある。
また、半導体装置がRAMなどのハードマクロを含んでいる場合や、回路規模が大きくい場合、全てのF/Fを同じ場所に配置することができないため、複数の場所に分かれたF/F群を構成することがある。ただし、クロックドメインは1つであるため、クロックの供給元が1つのままでCTSによるスキュー調整を行うと、ハードマクロや分かれた場所に配置されたF/F群も含めて、全て同じ遅延値になるように調整を行うようになる。そのため、ハードマクロが搭載されている場合や、密集して配置されるF/F群が複数存在するような場合には、CTSにより得られるクロックツリーに、ファンアウトが1つで長距離をドライブさせるクロックラインが発生する場合がある。
これらのクロックラインに接続された各クロックバッファの中には、クロックラインに接続されたF/Fを適切に動作させるために必ずしも必要ではなく、むしろ消費電力を減らすために削除またはサイズ低減を行った方がよいものが含まれている可能性がある。そこで、本実施形態では、この特徴に着目し、選択したクロックラインに接続されたF/Fについてセットアップ時間やホールド時間に関する要求を満たしつつ、スキュー調整のためのクロックバッファの削除またはサイズ削減を行うのである。
以上が上記aおよびbに該当するクロックラインを選択する理由である。
図2は本実施形態における演算処理装置12が半導体装置のレイアウト設計のために実行する処理の内容を示すフローチャートである。まず、演算処理装置12は記憶装置13から設計対象である半導体装置のネットリストを読み込む(ステップS10)。このネットリストは、半導体装置を構成するF/F等の各種の回路間の接続状態を定義した情報である。次に演算処理装置12は、ネットリストと記憶装置13内のライブラリを参照し、ネットリストに定義された各回路の半導体チップ内での配置を決定する(ステップS20)。次に演算処理装置12は、半導体チップ内の各回路の配置情報とネットリストに基づいて、本実施形態に特有の処理である改良型CTSを実行し、半導体装置内の各F/Fにクロックを分配するクロックツリーを合成する(ステップS30)。なお、この改良型CTSの詳細については後述する。
次に演算処理装置12は、改良型CTSにより得られたクロックツリーを利用して、半導体装置内の配線についての詳細設計を行う(ステップS40)。次に演算処理装置12は、配線の詳細設計の結果に基づいて、半導体装置の各部の動作のシミュレーションを実行し、遅延調整等により各部の動作タイミングの最適化を行う(ステップS50)。次に演算処理装置12は、各部の動作タイミングが適正な範囲内のものか否かを判断し(ステップS60)、適正(Met)である場合は処理を終了し、不適正(Violation)である場合には、その症状に応じて、ステップS10〜S50のいずれかに戻って処理を繰り返す。
以上が演算処理装置12が半導体装置のレイアウト設計のために実行する処理の概略である。
次に本実施形態の特有な処理である改良型CTS(ステップS30)について説明する。まず、演算処理装置12は、ステップS10において読み込んだネットリストとステップS20の配置結果に基づいて通常のCTSを実行する(ステップS31)。このCTSでは、クロックの分配先である各F/Fに対して同時刻にクロックエッジが到着するように、クロックラインにクロックバッファを挿入してクロックラインの遅延調整を行う。次に演算処理装置12は、CTSにより得られたクロックツリーに基づいて仮配線を行う(ステップS32)。次に演算処理装置12は、仮配線により得られた各配線の抵抗と容量値を抽出する(ステップS33)。次に演算処理装置12は、各配線の抵抗および容量値に基づき、クロックツリーについて静的タイミング・アナリシス(STA)を実施する(ステップS34)。次に演算処理装置12は、クロックツリーに介在するクロックバッファの削除またはサイズ低減の可能性の判断を行う(ステップS35)。このステップS35の処理の詳細は次の通りである。
まず、ステップS35の処理において、演算処理装置12は、クロックツリーにおいてファンアウトが所定値以下であり(例えばファンアウト=1)、かつ、クロックバッファを途中に含み、かつ、総配線長が所定長以上であるクロックラインを選択する。
図3はこの処理により選択されるクロックラインの例を示している。このクロックラインは、クロックツリーの分岐後のクロックバッファ(以下、ルートクロックバッファという)40からクロックバッファ41、42、43を経てF/F50に至っている。このようなクロックラインに接続される各クロックバッファは、消費電力低減の観点から削除またはサイズ削減を検討する余地がある。
また、ステップS35の処理において、演算処理装置12は、クロックツリーにおいてクロックの供給先である各F/Fの配置の密集の程度が所定程度以上であり、かつ、各F/Fに与えられるクロック間のスキューが所定値以下であるクロックラインを選択する。
図4には、この処理により選択されるクロックラインが存在する領域A0と、この領域A0の比較例である領域A1が例示されている。これらの領域A0およびA1には、F/Fの位置がXマークにより示されている。領域A1では、各F/Fに到達するクロックのクロックレイテンシー(遅延)が揃っておらず、領域A1内のクロック間のスキュー(すなわち、領域A1内のローカルスキュー)が大きい。これに対し、領域A0では、各F/Fに到達するクロックのクロックレイテンシーが揃っており、ローカルスキューが小さい。ここで、領域A0内のクロックラインに接続された各クロックバッファは、消費電力低減の観点から削除またはサイズ削減を検討する余地がある。
次に、ステップS35の処理において、演算処理装置12は、以上のようにして選択したクロックラインについて、当該クロックライン上のF/Fのクロック端子に接続されているクロックバッファの遅延値と該当F/Fの全てのパスのセットアップ時間のマージン、および該当F/Fの次段F/Fの全てのパスのホールド時間のマージン値を調査し、調査結果に基づいて、当該クロックバッファの削除またはサイズ削減の可能性を検討する。
以下、この調査および検討の方法について説明する。まず、図5(a)〜(c)を参照し、一般的に行われるF/Fのセットアップ時間およびホールド時間のマージンの調査について説明する。
図5(a)に示す例では、データはF/F110→F/F120→F/F130というデータパスを通過する。一方、クロックは、クロックバッファ210および210aを介してF/F110に供給され、クロックバッファ210、220および220aを介してF/F120に供給され、クロックバッファ210、220、230および230aを介してF/F130に供給される。この例では、F/F110のセットアップ時間のマージンが不足している。このため、クロックバッファ210aを削除することができない。また、この例ではF/F120のセットアップ時間のマージンも不足している。このため、F/F120のクロック端子の手前にクロックバッファ210bを追加する必要がある。
図5(b)に示す例では、図5(a)と同様な状況であるが、さらにF/F130のホールド時間のマージンが不足している。この例では、F/F120のセットアップ時間のマージン確保とF/F130のホールド時間のマージン確保の両方の理由によりクロックバッファ220aおよび220bの両方が必要になっている。
図5(c)に示す例では、クロックバッファ220aを削除したとしても、F/F120のセットアップ時間のマージン不足にならず、F/F130のホールド時間のマージン不足にならない。このような場合にはクロックバッファ220aを削除することが可能である。
一般的な半導体装置のタイミング設計ではこのようにF/Fのセットアップ時間およびホールド時間の調査検討が行われる。
次に図6(a)および(b)を参照し、より具体的なセットアップ時間およびホールド時間の調査検討について説明する。上述したように、本実施形態では、クロックバッファの削減またはサイズ削減の検討対象として、クロックの供給先である各F/Fの配置の密集の程度が所定程度以上であり、かつ、各F/Fに与えられるクロック間のスキューが所定値以下であるクロックラインを選択する。図6(a)はこのようなクロックラインおよびそれに接続されたF/F群の例を示している。この例ではクロックバッファ210を通過したクロックがF/F111〜118に供給され、クロックバッファ210および220を通過したクロックがF/F121〜128に供給され、クロックバッファ210、220および230を通過したクロックがF/F131〜138に供給される。
この例では、クロックバッファ220の削除が可能かどうかを次のようにして検討する。まず、クロックバッファ220の出力するクロックが供給されるF/F121〜128のうちF/F121をチェック対象とし、このチェック対象F/F121のデータ入力端子に至る全てのパスについて、クロックバッファ220の削除を行った場合にセットアップ時間のマージン不足が生じないか否かを調べる。ここで、クロックバッファ220の遅延値よりもセットアップ時間のマージンが大きい場合には、クロックバッファ220を削除してもセットアップ時間のマージン不足は生じないと考えられる。
全てのパスについてセットアップ時間のマージン不足が生じない場合、クロックバッファ220の次段のクロックバッファ230からのクロックの供給を受けるF/F131〜138について、クロックバッファ220の削除を行った場合にホールド時間のマージン不足が生じないか否かを調べる。ここで、クロックバッファ220の遅延値よりもホールド時間のマージンが大きい場合には、クロックバッファ220を削除してもホールド時間のマージン不足は生じないと考えられる。
F/F131〜138の全てについてホールド時間のマージン不足が生じない場合には、図6(b)に示すようにチェック対象F/FをF/F121からF/F122に切り換え、上記と同様に、クロックバッファ220を削除した場合にセットアップ時間およびホールド時間のマージン不足が発生するか否かを検討する。以下、クロックバッファ220からのクロックの供給を受ける他の全てのF/F123〜128について同様な検討を行う。
この検討の結果、クロックバッファ220を削除したとしてもセットアップ時間およびホールド時間のマージン不足が生じないことが判明した場合、クロックバッファ220は削除可能である可能性が高い。
そこで、タイミング的な余裕があることが判明した後、配置性の確認、遷移時間や最大容量、最大ファンアウトなどのマージンを持っているかの確認を行う。クロックバッファ220を削除すると、配置性、および遷移時間や最大容量、最大ファンアウトなどの、プロセスルールを満たすことが難しい場合には削除は行わず、クロックバッファ220のサイズダウンを行うようにする。
以上が図2におけるステップS35の処理の詳細である。
本実施形態では、ステップS35においてクロックツリー内のクロックバッファの削除またはサイズ削減が可能であることが判明した場合、そのクロックバッファの削除またはサイズ削減を行ってステップS31に戻り、CTSを再度実行する。
ここで、図3を参照し、この再度のCTSの実行例について説明する。この図3に示すクロックラインは、ルートクロックバッファ40からクロックバッファ41、42、43を経てF/F50に至っている。このクロックラインに接続されたF/F50のセットアップ時間およびホールド時間に十分なマージンがあり、クロックバッファ41、42、43の少なくとも一部の削除が可能であるとする。この場合、クロックバッファ41、42、43を削除するとともに、F/F50の近傍に、F/F50のセットアップ時間およびホールド時間のマージンを確保可能な遅延量を持ったアンカークロックバッファ49を配置し、CTSを実行することによりルートクロックバッファ40からアンカークロックバッファ49を経由してF/F50に至るクロックラインを生成する。
演算処理装置12は、このCTSの実行を終えると、上述と同様、ステップS32〜S34の処理を実行し、再度、ステップS35において、クロックバッファの削除、サイズ削減の余地があるか否かを判断する。そして、クロックバッファの削除またはサイズ削減の余地がある場合には、そのクロックバッファの削除またはサイズ削減を行うべくステップS31に戻り、余地がない場合にはステップS30の改良型CTSを終える。
本実施形態では、以上のようにステップS31〜S35のフローを繰り返すことにより、求められる制約を満たしながら、クロックバッファの削除またはサイズ削減が可能な候補を見つけ、整っているスキューを崩しながら、低消費電力化に向けた調整を行っていく。もし、半導体装置がテストモードなどを備えていた場合、そのテストモード等でのタイミング解析を実施し、同じ確認を実施する。結果的に、セットアップ時間やホールド時間マージンの確保に無理がある場合、候補となったクロックバッファは削除せず、サイズの変更も行わない。
以上が本実施形態における改良型CTSの詳細である。
そして、この改良型CTSを全て終えた後、通常フローに戻り、実配線を行い(ステップS40)、各部の動作タイミングの最適化を実施してOn Chip Variationに耐えるマージンを持っていることを確認してから(ステップS50、S60)、サインオフを行う。最後のサインオフの工程は、低消費電力化のための調整を行うフローの有無によらず、通常のサインオフと全く同じ工程となるため、製品の品質は同等のもの、と判断することができる。
本実施形態によれば、従来のフローと比べ、CTS後にクロックバッファの調整を行うフロー(ステップS32〜S35)を加えることで、クロックが動く際に動作する回路(クロックバッファ)を極力低駆動のものにするか、その数を減らし、チップのダイナミックな消費電力を抑えることできる。
また、クロックの立上りおよび立下りのスキューを崩した結果、それぞれのクロックエッジがずれることになるため、クロックの同時スイッチング回数が減り、ピーク電力消費を同時に抑える効果も期待することができる。
また、2次的な効果として、CTS直後の早い段階で、クロックに関連したセットアップ時間やホールド時間のマージンを把握することができる。これは、モードにより複数のクロックを選択することが可能なマルチモードを持った製品に対して、特に有効性を発揮する。一見、1つのモードだけでは、スキューが揃っているように見えるクロックツリーが、マルチモードの観点から見た場合、実際にはスキューが崩れたクロックツリーとなっているケースが存在する。こういった場合、スキューの崩れたクロックツリーを修正せずに、そのままタイミング収束を行う工程に移ると、その収束性は非常に悪いものとなり、予定していた工期よりも大幅に遅延する危険を伴うことになる。追加したフロー(ステップS32〜S35)は、こういった危険を事前に回避することにもなり、かつ、タイミング調整工程の収束性(ステップS60からステップS10〜S50への戻り回数)は非常によくなり、設計期間を短縮する効果を得ることが期待できる。
10……レイアウト装置、11……表示装置、12……演算処理装置、13……記憶装置、14……入力装置。

Claims (8)

  1. 半導体装置の各部にクロック信号を分配するためのクロックツリーをコンピュータが合成するクロックツリー合成過程と、
    前記クロックツリーにおいてファンアウトが所定値以下であり、かつ、クロックバッファを途中に含み、かつ、総配線長が所定長以上であるクロックラインを前記コンピュータが選択するクロックライン選択過程と、
    前記クロックライン選択過程において選択されたクロックラインに接続されたクロックバッファの削除またはサイズ削減の可能性を前記コンピュータが評価する可能性評価過程と
    を具備することを特徴とする半導体装置のレイアウト設計方法。
  2. 半導体装置の各部にクロック信号を分配するためのクロックツリーをコンピュータが合成するクロックツリー合成過程と、
    前記クロックツリーにおいてクロックの供給先である各フリップフロップの配置の密集の程度が所定程度以上であり、かつ、各フリップフロップに与えられるクロック間のスキューが所定値以下であるクロックラインを前記コンピュータが選択するクロックライン選択過程と、
    前記クロックライン選択過程において選択されたクロックラインに接続されたクロックバッファの削除またはサイズ削減の可能性を前記コンピュータが評価する可能性評価過程と
    を具備することを特徴とする半導体装置のレイアウト設計方法。
  3. 前記クロックツリー合成過程により得られたクロックツリーに基づいて前記半導体装置の仮配線を前記コンピュータが行う仮配線工程を具備し、
    前記クロックライン選択過程では、前記仮配線の結果に基づいて、前記クロックラインの選択を前記コンピュータが行うことを特徴とする請求項1または2に記載のレイアウト設計方法。
  4. 前記仮配線過程により得られた仮配線の結果に基づいて、前記クロックツリーについての静的タイミング・アナリシスを前記コンピュータが実行するタイミング解析過程を具備し、
    前記可能性評価過程では、前記静的タイミング・アナリシスの結果に基づいて前記評価を前記コンピュータが行うことを特徴とする請求項3に記載のレイアウト設計方法。
  5. 前記可能性評価過程では、前記評価の対象であるクロックバッファからクロックの供給を受ける全てのフリップフロップのセットアップ時間のマージンと、当該フリップフロップから直接にまたは他の回路を介してデータの供給を受け、かつ、前記クロックバッファ以外のクロックバッファを介して当該クロックの供給を受ける他の全てのフリップフロップのホールド時間のマージンとに基づき、前記評価を前記コンピュータが行うことを特徴とする請求項4に記載のレイアウト設計方法。
  6. 前記クロックライン選択過程により選択されたクロックラインの始点となるルートバッファから当該クロックラインの終点となるフリップフロップまでの途中に介在するクロックバッファを前記コンピュータが削除し、当該フリップフロップの近傍にアンカーバッファを前記コンピュータが配置し、前記ルートバッファから前記アンカーバッファを介して当該フリップフロップに至るクロックラインを前記コンピュータがクロックツリー合成により生成するクロックライン変更過程を具備することを特徴とする請求項3〜5のいずれか1の請求項に記載のレイアウト設計方法。
  7. 半導体装置の各部にクロック信号を分配するためのクロックツリーを合成するクロックツリー合成手段と、
    前記クロックツリーにおいてファンアウトが所定値以下であり、かつ、クロックバッファを途中に含み、かつ、総配線長が所定長以上であるクロックラインを選択するクロックライン選択手段と、
    前記クロックライン選択手段により選択されたクロックラインに接続されたクロックバッファの削除またはサイズ削減の可能性を評価する可能性評価手段と
    を具備することを特徴とする半導体装置のレイアウト設計装置。
  8. 半導体装置の各部にクロック信号を分配するためのクロックツリーを合成するクロックツリー合成手段と、
    前記クロックツリーにおいてクロックの供給先である各フリップフロップの配置の密集の程度が所定程度以上であり、かつ、各フリップフロップに与えられるクロック間のスキューが所定値以下であるクロックラインを選択するクロックライン選択手段と、
    前記クロックライン選択手段により選択されたクロックラインに接続されたクロックバッファの削除またはサイズ削減の可能性を評価する可能性評価手段と
    を具備することを特徴とする半導体装置のレイアウト設計装置。
JP2015196572A 2015-10-02 2015-10-02 半導体装置のレイアウト設計方法およびレイアウト設計装置 Active JP6589533B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015196572A JP6589533B2 (ja) 2015-10-02 2015-10-02 半導体装置のレイアウト設計方法およびレイアウト設計装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015196572A JP6589533B2 (ja) 2015-10-02 2015-10-02 半導体装置のレイアウト設計方法およびレイアウト設計装置

Publications (2)

Publication Number Publication Date
JP2017068779A JP2017068779A (ja) 2017-04-06
JP6589533B2 true JP6589533B2 (ja) 2019-10-16

Family

ID=58492686

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015196572A Active JP6589533B2 (ja) 2015-10-02 2015-10-02 半導体装置のレイアウト設計方法およびレイアウト設計装置

Country Status (1)

Country Link
JP (1) JP6589533B2 (ja)

Also Published As

Publication number Publication date
JP2017068779A (ja) 2017-04-06

Similar Documents

Publication Publication Date Title
US7890909B2 (en) Automatic block composition tool for composing custom blocks having non-standard library cells in an integrated circuit design flow
JP4655240B2 (ja) タイミング解析支援装置
US8327308B2 (en) Method and apparatus for designing integrated circuit
JP5883676B2 (ja) Lsi設計方法
US8572543B2 (en) Automation of tie cell insertion, optimization and replacement by scan flip-flops to increase fault coverage
US20080216043A1 (en) Structure for Optimizing the Signal Time Behavior of an Electronic Circuit Design
Guth et al. Timing-driven placement based on dynamic net-weighting for efficient slack histogram compression
JP4918934B2 (ja) 半導体集積回路の遅延解析装置及び遅延解析方法並びにそのプログラム
US9965581B1 (en) Fanout optimization to facilitate timing improvement in circuit designs
US20130055187A1 (en) Floorplan creation information generating method, floorplan creation information generating program, floorplan creation information generating device, floorplan optimizing method, floorplan optimizing program, and floorplan optimizing device
JP6787045B2 (ja) 検証支援プログラム、検証支援方法、および情報処理装置
US8381159B2 (en) Method of semiconductor integrated circuit, and computer readable medium
JP6589533B2 (ja) 半導体装置のレイアウト設計方法およびレイアウト設計装置
US9235660B1 (en) Selective addition of clock buffers to a circuit design
JP2009134439A (ja) ソフトマクロを用いたレイアウト設計方法、ソフトマクロのデータ構造及びソフトマクロライブラリの作成方法
US8473887B2 (en) Event scheduler for an electrical circuit design to account for hold time violations
US8832633B2 (en) Generating a convergent circuit design from a functional description using entities having access to the functional description and to physical design information
JP7334580B2 (ja) 自動配置配線装置、自動配置配線方法、自動配置配線プログラム、自動配置配線プログラムを格納した記憶媒体および半導体集積回路
JP6428207B2 (ja) 設計方法、設計装置及びプログラム
JP2015053001A (ja) 半導体集積回路のレイアウト方法、及び、半導体集積回路のレイアウトプログラム
JP6613971B2 (ja) 情報処理装置、設計支援方法、および設計支援プログラム
JP2006310469A (ja) 半導体集積回路装置のレイアウト方法、そのレイアウトシステムおよびそのレイアウトプログラム
Iizuka et al. An ASIC design support tool set for non-pipelined asynchronous circuits with bundled-data implementation
JP2020047060A (ja) スキャンテスト回路の設計方法、スキャンテスト回路の設計プログラム、及び、半導体集積回路
JP2013191025A (ja) Lsi設計方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180919

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190709

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190716

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190801

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190902

R150 Certificate of patent or registration of utility model

Ref document number: 6589533

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250