JP2016134083A - 静的タイミング解析方法、静的タイミング解析装置及び自動配置配線装置 - Google Patents

静的タイミング解析方法、静的タイミング解析装置及び自動配置配線装置 Download PDF

Info

Publication number
JP2016134083A
JP2016134083A JP2015009602A JP2015009602A JP2016134083A JP 2016134083 A JP2016134083 A JP 2016134083A JP 2015009602 A JP2015009602 A JP 2015009602A JP 2015009602 A JP2015009602 A JP 2015009602A JP 2016134083 A JP2016134083 A JP 2016134083A
Authority
JP
Japan
Prior art keywords
timing analysis
static timing
driver
unit
load capacity
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.)
Pending
Application number
JP2015009602A
Other languages
English (en)
Inventor
正治 河野
Masaharu Kono
正治 河野
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2015009602A priority Critical patent/JP2016134083A/ja
Publication of JP2016134083A publication Critical patent/JP2016134083A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

【課題】CTSが実施されていないネットリストでのSTAにおける解析の精度を向上させる。【解決手段】コンピュータによる半導体回路の静的タイミング解析方法であって、前記コンピュータが、前記半導体回路の回路設計情報から論理セルの相互接続関係に置き換える論理合成により得られた出力情報の物理的な配置配線を行う前に、前記出力情報と、前記論理合成で使用される入力情報とを参照し、前記半導体回路内のドライバセルの出力に接続される負荷の合計である負荷容量を算出し、前記負荷の合計負荷容量が所定値以下となるまで、前記ドライバセルの後段に複数のドライバセルを接続してツリーを構成し、前記ツリーの段数と、前記入力情報と基づき、信号が前記ツリーを通過するのに掛かる伝搬遅延時間を算出する。【選択図】図6

Description

本発明は、半導体集積回路チップ内の静的タイミング解析方法、静的タイミング解析装置及び自動配置配線装置に関する。
従来から、LSI(Large Scale Integrated Circuit)の設計において、設計回路をVerilog-HDL等のハードウェア記述言語によりレジスタ転送レベルで記述し、このネットリストを自動配置配線することが知られている。
ネットリストにおいては、複数のフリップフロップと論理ゲートと呼ばれる組み合わせ回路の相互接続として電子回路が表現され、複数のフリップフロップが同一のクロックによって駆動されることにより所望の回路動作を実現する。従来では、自動配置配線の工程において、クロック分配回路を生成するCTS(clock tree synthesis)を行って、複数のフリップフロップに同一のクロックを供給する。
ところで、回路上のタイミングを検証する手法の1つとして、静的タイミング解析(Static Timing Analysis:STA)と呼ばれる方法がある。通常、STAは、自動配置配線後のネットリスト及びレイアウト上の配線から抽出した寄生成分を考慮して遅延情報に基づくタイミング制約が設定され、自動配置配線の結果の検証として実施される。
また、STAは、自動配置配線前にタイミング制約の内容を検証する目的で、自動配置配線前にも実施される。タイミング制約は、自動配置配線時の最適化仕様としても使用されるためである。
自動配置配線前に実施されるSTAでは、自動配置配線の工程で実施されるCTSが実施されていないため、出力数の大きいドライバの出力遅延は、仮想配線容量等から計算される。
出力遅延を仮想配線容量のみで計算した場合、通常はライブラリ中のテーブルで想定されている負荷容量を大きく超えた容量が接続されていることになる。したがって、従来のSTAでは、このドライバの出力遅延を理想的に"0"として扱ったり、仮に最少の負荷容量で出力遅延を計算したり、経験上予め見積もられた数値をライブラリ値として定義した特別なセルに置き換える等して解析を実施している。
従来では、自動配置配線前のSTAにおいて、遅延を理想的に"0"としたり、最少遅延としたりしているため、自動配置配線前のSTAの結果と、実際にCTSを実施した後のSTAの結果との差異が大きく、タイミング制約の最適化としてはふさわしくない。
また大規模な回路になれば、クロック以外の部分についても、所謂HighFanoutNetが無数に発生するため、これらを全てセルに置き換えるという作業に大きな工数が発生してしまう。
開示の技術では、CTSが実施されていないネットリストでのSTAにおける解析の精度を向上させることを目的としている。
開示の技術は、コンピュータによる半導体回路の静的タイミング解析方法であって、前記コンピュータが、前記半導体回路の回路設計情報から論理セルの相互接続関係に置き換える論理合成により得られた出力情報の物理的な配置配線を行う前に、前記出力情報と、前記論理合成で使用される入力情報とを参照し、前記半導体回路内のドライバセルの出力に接続される負荷の合計である負荷容量を算出し、前記負荷の合計負荷容量が所定値以下となるまで、前記ドライバセルの後段に複数のドライバセルを接続してツリーを構成し、前記ツリーの段数と、前記入力情報と基づき、信号が前記ツリーを通過するのに掛かる伝搬遅延時間を算出する。
開示の技術によれば、CTSが実施されていないネットリストでのSTAにおける解析の精度を向上させることができる。
第一の実施形態の静的タイミング解析装置を含むシステムを説明する図である。 第一の実施形態の静的タイミング解析装置のハードウェア構成の一例を示す図である。 STA部の機能構成を説明する図である。 静的タイミング解析装置を含むシステムの動作を説明するフローチャートである。 第一の実施形態のSTA部の処理を説明するフローチャートである。 第一の実施形態の遅延予測の処理を説明する第一のフローチャートである。 クロックツリーの段数の追加を説明する図である。 セルライブラリの遅延テーブルの一例を示す図である。 第一の実施形態の遅延予測の処理を説明する第二のフローチャートである。 第一の実施形態の遅延予測の処理を説明する第三のフローチャートである。 第二の実施形態の遅延予測の処理を説明する第一のフローチャートである。 第二の実施形態の遅延予測の処理を説明する第二のフローチャートである。 ツリーの段数の追加を説明する図である。 変形例の自動配置配線装置を示す図である。
以下の実施形態では、配置配線が行われていないネットリストでの静的タイミング解析(Static Timing Analysis)において、配置配線で実施されるであろうCTS(Clock Tree Synthesis)の結果生じるクロックツリー遅延を予め見積もって解析を行うことで、STAにおけるタイミング解析の精度を向上させる。
(第一の実施形態)
以下に図面を参照して第一の実施形態について説明する。図1は、第一の実施形態の静的タイミング解析装置を含むシステムを説明する図である。
本実施形態のシステム1は、サーバ10と、論理合成装置20と、静的タイミング解析装置30と、自動配置配線装置40と、を有する。
サーバ10は、セルライブラリデータベース110、タイミング制約データベース120、RTL(Register Transfer Level)データベース130、ネットリストデータベース140、レイアウトデータベース150を有する。
論理合成装置20は、論理合成部210、ネットリスト出力部220を有する。静的タイミング解析装置30は、STA部230を有する。自動配置配線装置40は、自動配置配線部240、レイアウト出力部250を有する。
本実施形態の各装置は、サーバ10の有する各データベースを参照し、各装置の有する各部の処理を実行する。
以下に、サーバ10の有する各データベースについて説明する。
セルライブラリデータベース110には、スタンダードセルやマクロセルを含むレイアウトデータ、端子位置、サイズ、論理情報等を含むライブラリ情報が格納されている。このライブラリ情報は、ライン幅、スペース幅、ライン間隔等の、各レイヤやレイヤ間で満たすべき論理的、物理的規則に関する情報も含む。
タイミング制約データベース120には、回路を設計通りに動作させるために素子間に要求される遅延時間の制約条件を示すタイミング制約情報が格納されている。
RTLデータベース130には、設計回路をVerilog-HDL等のハードウェア記述言語によりレジスタ転送レベルで記述した記述データが格納されている。
ネットリストデータベース140には、レジスタ転送レベルで記述された回路を論理合成したネットリストが格納されている。ネットリストは、電子回路における端子間の接続情報を示すデータである。ネットリストデータベース140に格納されるネットリストは、後述するネットリスト出力部220により出力される。
レイアウトデータベース150には、後述する自動配置配線部240により自動配置配線され、レイアウト出力部250により出力されたレイアウトデータが格納される。レイアウトデータとは、回路の物理配置と配線の情報である。
次に、本実施形態の各装置の有する各部の機能について説明する。
本実施形態の論理合成装置20において、論理合成部210は、セルライブラリデータベース110、タイミング制約データベース120、RTLデータベース130を参照し、回路設計情報から論理セルの相互接続関係に置き換える論理合成を行う。すなわち、本実施形態では、セルライブラリデータベース110に格納されたライブラリ情報、タイミング制約データベース120に格納されたタイミング制約情報、RTLデータベース130に格納された記述データを入力情報として、論理合成を行う。
ネットリスト出力部220は、論理合成の結果をセルライブラリに登録されたセルの接続関係のみが記述されたネットリストに変換して出力し、ネットリストデータベース140に格納する。このネットリストは、タイミング制約データベース120に格納されたタイミング制約情報に沿うようにセルが組み合わされている。すなわち、本実施形態では、ネットリスト出力部220から出力されるネットリストが、論理合成の結果として出力される出力情報である。
本実施形態の静的タイミング解析装置30において、STA部230は、自動配置配線時のタイミング制約の最適化を行うための静的タイミング解析を行う。すなわち、本実施形態のSTA部230は、自動配置配線部240による自動配置配線の工程の前に静的タイミング解析を実行する。
より具体的には、STA部230は、セルライブラリデータベース110と、タイミング制約データベース120と、ネットリストデータベース140とを参照し、これらの各データベースに格納された情報のみで、CTS(Clock Tree Synthesis)遅延を予測する。本実施形態のSTA部230の詳細は後述する。
本実施形態の自動配置配線装置40において、自動配置配線部240は、ネットリストデータベース140を参照し、自動配置配線を行う。レイアウト出力部250は、自動配置配線の結果のレイアウトデータを出力し、レイアウトデータベース150へ格納する。
以下に、本実施形態の特徴である静的タイミング解析装置30について、さらに説明する。本実施形態の静的タイミング解析装置30は、配置配線が行われていないネットリストでの静的タイミング解析を行う。言い換えれば、本実施形態の静的タイミング解析装置30は、仮想配線容量での静的タイミング解析を行う。
図2は、第一の実施形態の静的タイミング解析装置のハードウェア構成の一例を示す図である。
本実施形態の静的タイミング解析装置30は、それぞれバスBで相互に接続されている入力装置11、出力装置12、ドライブ装置13、補助記憶装置14、メモリ装置15、演算処理装置16及びインターフェース装置17を含む。
入力装置11はキーボードやマウス等を含み、各種信号を入力するために用いられる。出力装置12はディスプレイ装置等を含み、各種ウインドウやデータ等を表示するために用いられる。インターフェース装置17は、モデム、LANカード等を含み、ネットワークに接続する為に用いられる。
静的タイミング解プログラムは、静的タイミング解析装置30を制御する各種プログラムの少なくとも一部である。静的タイミング解析プログラムは例えば記録媒体18の配布やネットワークからのダウンロードなどによって提供される。静的タイミング解析プログラムを記録した記録媒体18は、CD−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的、電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
また、静的タイミング解析装置30は、静的タイミング解析プログラムを記録した記録媒体18がドライブ装置13にセットされると、静的タイミング解析プログラムを記録媒体18からドライブ装置13を介して補助記憶装置14にインストールする。ネットワークからダウンロードされた静的タイミング解析プログラムは、インターフェース装置17を介して補助記憶装置14にインストールされる。
補助記憶装置14は、インストールされた静的タイミング解析プログラムを格納すると共に、必要なファイル、データ等を格納する。メモリ装置15は、コンピュータの起動時に補助記憶装置14から静的タイミング解析プログラムを読み出して格納する。そして、演算処理装置16はメモリ装置15に格納された静的タイミング解析プログラムに従って、後述するような各種処理を実現している。
尚、本実施形態の論理合成装置20と自動配置配線装置40は、一般的なコンピュータであり、そのハードウェア構成は、図2に示す静的タイミング解析装置30と同様であるから説明を省略する。
次に、図3を参照してSTA部230について説明する。図3は、STA部の機能構成を説明する図である。
本実施形態のSTA部230は、回路構造解析部231、タイミング制約取得部232、CTS遅延予測部233、タイミングパス解析部234、レポート出力部235を有する。
回路構造解析部231は、セルライブラリデータベース110からセルライブラリを読み込み、ネットリストデータベース140からネットリストを読み込み、回路構造を解析する。
タイミング制約取得部232は、タイミング制約データベース120から、タイミング制約情報を取得する。
CTS遅延予測部233は、回路構造とタイミング制約に基づき、CTS遅延を予測する。すなわち、CTS遅延予測部233は、クロックを分配するクロック分配回路の生成における遅延時間を予測する。CTS遅延予測部233の詳細は後述する。
タイミングパス解析部234は、タイミング制約と、CTS遅延予測部233による遅延予測の結果に応じて、タイミングパスを解析する。
レポート出力部235は、タイミングパスの解析結果をレポートとして出力する。出力されたレポートは、例えばメモリ装置15等に一時的に保持されても良い。
以下に、CTS遅延予測部233について説明する。本実施形態のCTS遅延予測部233は、ドライバ抽出部236、ファンアウト数解析部237、負荷容量算出部238、ドライバ追加部239を有する。
ドライバ抽出部236は、回路構造解析部231による解析結果から、回路においてクロック信号を伝達するドライバを抽出する。ファンアウト数解析部237は、クロック信号のドライバにおけるファンアウト(Fanout)を求める。
負荷容量算出部238は、ドライバの出力に接続される全ての負荷容量を算出し、算出した負荷容量の値が、セルライブラリデータベース110に格納されているドライバセルの最大許容量を超えるか否かを判定する。ここで、負荷容量値算出部238は、負荷容量値に代わり、ファンアウト数に基づき、最大ファンアウト数を超えるか否かの判定に置き換えても良い。尚、ファンアウトとは、ドライバの出力に接続されるセルであり、接続されるセルの大きさによって、1より大きい値を持ち得る。最大ファンアウト数は、ドライバの出力に接続できる最大のファンアウト数である。
ドライバ追加部239は、負荷容量の値が最大許容量を超えるとき、クロック分配回路におけるドライバの段数を後段に一段追加する。このとき、ドライバ追加部239は、1つのドライバの後段に複数のドライバを追加する。
本実施形態では、このように、ドライバの段数を一段増やすことで、ファンアウト数を減らし、ドライバセル1つにつき接続される負荷容量の値を減少させることができる。
次に、本実施形態の静的タイミング解析装置30を含むシステム1の動作について説明する。図4は、静的タイミング解析装置を含むシステムの動作を説明するフローチャートである。
本実施形態のシステム1において、論理合成装置20は、論理合成の実行指示を受け付けると、論理合成部210により、セルライブラリデータベース110と、タイミング制約データベース120と、RTLデータベース130を参照し、論理合成を行う(ステップS41)。続いて論理合成装置20は、ネットリスト出力部220により、論理合成の結果をネットリストとして出力し、ネットリストデータベース140へ格納する(ステップS42)。
次に、静的タイミング解析装置30は、STAの実行指示を受け付けると、STA部230により、セルライブラリデータベース110と、タイミング制約データベース120を参照し、静的タイミング解析を行う(ステップS43)。続いて自動配置配線装置40は、自動配置配線の実行指示を受け付けると、自動配置配線部240により、自動配置配線を行い(ステップS44)、レイアウト出力部250によりその結果を出力してレイアウトデータベース150に格納する(ステップS45)。
次に、図5を参照して、本実施形態の静的タイミング解析装置30におけるSTA部230の処理について説明する。図5は、第一の実施形態のSTA部の処理を説明するフローチャートである。
本実施形態のSTA部230は、回路構造解析部231により、ネットリストデータベース140に格納されたネットリストと、セルライブラリデータベース110に格納されたセルに関する情報を読み込む(ステップS501)。尚、ここで読み込まれるセルに関する情報は、ネットリストにおいて接続関係が定義されたセルに関する情報である。続いて回路構造解析部231は、ネットリストにより示される回路構造を解析する(ステップS502)。
続いてSTA部230は、タイミング制約取得部232により、タイミング制約データベース120からタイミング制約情報を読み込む(ステップS503)。続いてSTA部230は、CTS遅延予測部233は、クロックの遅延予測を行う(ステップS504)。
続いてSTA部230は、タイミングパス解析部234により、遅延予測の結果に基づくタイミングパスの解析を行い(ステップS505)、その結果をタイミングレポート51として出力する(ステップS506)。
次に、図6を参照してCTS遅延予測部233による遅延予測の処理を説明する。図6は、第一の実施形態の遅延予測の処理を説明する第一のフローチャートである。
本実施形態のCTS遅延予測部233は、ドライバ抽出部236により、回路解析結果からドライバを抽出する(ステップS601)。続いてCTS遅延予測部233は、ファンアウト数解析部237により、ドライバの最大ファンアウト数を解析する(ステップS602)。
次に、CTS遅延予測部233は、負荷容量算出部238により、最大ファンアウト数に基づきドライバの出力に接続される全ての負荷容量を算出する(ステップS603)。
続いて負荷容量算出部238は、算出した負荷容量の値がセルライブラリデータベース110に格納されているドライバセルの最大許容量(max_capacitance)を超えるか否かを判定する(ステップS604)。
ステップS604において、最大許容量を超える場合、ドライバ追加部239は、クロックを分配するためのクロックツリーの段数を一段追加する(ステップS605)。ここでは、ドライバ追加部239は、1つのドライバの後段に接続されるドライバの数Nを2とした。尚、1つのドライバセルの後段に接続するドライバの数Nを任意の数であり、例えば静的タイミング解析装置30の利用者により設定される値とした。
そして、負荷容量算出部238は、ステップS603で算出した負荷容量の値を、接続したドライバの個数Nで除算し(ステップS606)、ステップS603へ戻る。
ステップS604において、算出した負荷容量の値が最大許容量内である場合、CTS遅延予測部233はクロックツリーの段数分の遅延時間をこのクロックの遅延予測値として算出し(ステップS607)、処理を終了する。より具体的には、CTS遅延予測部233は、セルライブラリデータベース110とネットリストデータベース140を参照し、クロックの伝搬における遅延時間を算出する。
ここで、図7を参照し、クロックツリーの段数の追加について説明する。図7は、クロックツリーの段数の追加を説明する図である。図7(A)は、クロックツリーの段数が追加される前の状態を示しており、図7(B)は、クロックツリーの段数が追加された状態を示している。
図7(A)では、ドライバ72の後段に8つのフリップフロップ73が接続されている。すなわち、ドライバ72の最大ファンアウト数は8である。この場合に、ドライバ72に接続された負荷容量の値が、セルライブラリデータベース110に格納されたドライバ72の最大許容量よりも大きい場合、ドライバ72の後段に、複数のドライバを追加する。
すなわち、ドライバ72の後段に2つのドライバ81、82が接続される。この場合、ドライバ81、82のそれぞれに接続されるフリップフロップ73の数は4つずつとなる。ドライバ81、82のファンアウト数は4となる。
したがって、1つのドライバの後段に2つのドライバが接続された場合、ドライバセル1つにつき接続される負荷容量の値が2分割され、1/2となる。
この状態において、負荷容量算出部238は、再度ドライバセル1つにつき接続される負荷容量の値を算出し、その結果がセルライブラリデータベース110に格納された最大許容量より大きいか否かを判定する。
最大許容量より大きい場合、ドライバ追加部239は、ドライバ81、82のそれぞれの後段に、ドライバ83〜86を追加し、上述したように再度負荷容量を算出して最大許容量との比較を行う。そして、算出した負荷容量の値が最大許容量より小さくなると、ドライバ72からフリップフロップ73までの伝搬遅延時間の計算を行う。より具体的には、CTS遅延予測部233は、ドライバ72に入力されたクロックがドライバ83〜86を出力するまでにかかる時間(伝搬遅延時間)を算出する。
以上のように、本実施形態では、ドライバセル1つにつき接続される負荷容量の値が、セルライブラリデータベース110に格納された最大許容量より大きい場合、ドライバセルの後段に複数のドライバを追加し、1つのドライバの負荷容量を削減する。尚、本実施形態では、後段に追加するドライバの数を2つとしたが、これに限定されない。後段に追加するドライバの数は、2以上であれば良く、3つであっても良い。
本実施形態では、後段に接続されるドライバの数Nを任意に設定できるようにすることで、負荷の分散の割合を調整することができ、自動配置配線部240による自動配置配線において実施されるCTS遅延予測に近づけることができる。
図8は、セルライブラリの遅延テーブルの一例を示す図である。図8に示す遅延テーブル181は、例えばセルライブラリデータベース110内に格納されており、ある入力ピンから出力ピンへの遅延時間を示している。
遅延テーブル181において、index_1はセルの入力トランジション値を意味しており、index_2はセルの出力負荷容量を意味している。index_2の最後の値(0.0479102)は、このセルの出力最大負荷容量となる。
このセルに、出力最大負荷容量を超える負荷が接続されている場合、このセルの出力の遅延値は、外挿により求められることになりその信頼性が著しく低下するのが一般的である。
これに対し、本実施形態では、セルに接続される負荷が出力最大負荷容量より小さくなるようにするため、タイミング解析の精度を向上させることができる。
尚、本実施形態では、ドライバセル1つにつき接続される負荷容量の値と、最大許容量とを比較するものとして接続したが、これに限定されない。本実施形態では、ドライバセル1つにつき接続される負荷容量と、予め設定された所定の許容量とを比較しても良い。この場合の処理を、図9を参照して説明する。
図9は、第一の実施形態の遅延予測の処理を説明する第二のフローチャートである。
図9のステップS901からステップS903までの処理は、図6のステップS601からステップS603までの処理と同様であるから、説明を省略する。
ステップS903に続いて、負荷容量算出部238は、算出した負荷容量の値が、指定の許容量(capacitance)以下に収まっているか否かを判定する(ステップS904)。
ステップS904において、所定の許容量に収まっていない場合、ドライバ追加部239は、クロックツリーの段数を一段追加する(ステップS905)。ここでは、ドライバ追加部239は、1つのドライバの後段にN個のドライバを接続させるものとした。
続いて負荷容量算出部238は、ステップS903で算出した負荷容量の値を追加したドライバの数Nで除算し(ステップS906)、ステップS904へ戻る。
ステップS907の処理は、図6のステップS607の処理と同様であるから、説明を省略する。
また、本実施形態では、タイミング制約取得部232により取得したタイミング制約情報を考慮して遅延予測値を算出しても良い。タイミング制約情報には、通常はクロックの指定や例外パスの指定等が含まれている。そこで、本実施形態のCTS遅延予測部233は、例外パスとして指定された負荷を遅延予測の対象から除外する。この場合の処理を、図10を参照して説明する。
図10は、第一の実施形態の遅延予測の処理を説明する第三のフローチャートである。本実施形態のCTS遅延予測部233は、ドライバ抽出部236によりドライバを抽出する(ステップS1001)。続いて、ファンアウト数解析部237は、タイミング制約情報からもクロック信号の速度や例外パスの指定を取得し(ステップS1002)、取得した例外パスを除外して、1つのドライバセルのファンアウト数を解析する(ステップS1003)。
図10のステップS1004からステップS1008までの処理は、図6のステップS603からステップS607までの処理と同様であるから、説明を省略する。
以上のように、本実施形態では、CTS遅延予測部233による遅延予測の処理の段階で、例外パスの負荷を除外することができるため、STAにおけるタイミング解析の精度を向上させることができる。
尚、本実施形態では、後段に接続されるドライバの数Nを静的タイミング解析装置30の利用者により設定されるものとしたが、これに限定されない。本実施形態のドライバ数Nは、例えばレポート出力部235により出力されるレポートに基づき、自動的に変更されても良い。具体的には、例えば、本実施形態の静的タイミング解析装置30は、予め設定されたドライバ数Nとして、CTS遅延予測を行った結果のレポートを解析し、解析結果に応じて、ドライバ数Nを変更し、再度CTS遅延予測を行っても良い。
(第二の実施形態)
以下に、図面を参照して第二の実施形態について説明する。第二の実施形態は、クロック以外の信号について遅延予測を行う点が、第一の実施形態と相違する。よって、以下の第二の実施形態の説明では、第一の実施形態との相違点についてのみ説明し、第一の実施形態と同様の機能構成を有するものには、第一の実施形態の説明で用いた符号と同様の符号を付与し、その説明を省略する。
通常、セルライブラリデータベース110には、クロック以外の信号についてもひとつのセルが駆動できる許容負荷容量が規定されている。
本実施形態では、セルが、許容負荷容量を超える負荷を駆動する場合には、このセルの出力もCST遅延と同様にバッファリングを行い、負荷を軽減させる。
図11は、第二の実施形態の遅延予測の処理を説明する第一のフローチャートである。
本実施形態において、ドライバ抽出部236は、クロック以外の信号のドライバを抽出する(ステップS1101)。図11のステップS1102、ステップS1103の処理は、図6のステップS602、ステップS603の処理と同様であるから説明を省略する。
続いて負荷容量算出部238は、ステップS1103で算出した負荷容量が、ステップS1101で抽出したドライバセルの、セルライブラリデータベース110に格納された最大許容量以下に収まっている否かを判定する(ステップS1104)。
ステップS1104において、最大許容量以下に収まっていない場合、ドライバ追加部239は、ステップS1101で抽出したドライバの後段に、複数(N個)のドライバを接続する(ステップS1105)。
ステップS1106とステップS1107の処理は、図6のステップS606とステップS607と同様であるから、説明を省略する。
本実施形態では、図11の処理により、負荷を分散する際の遅延時間が等しくなる。
また、本実施形態では、例えばタイミング制約情報にクリティカルパスが含まれる場合、
はこのクリティカルパスを除外しても良い。以下に、図12を参照し、クリティカルパスを除外する場合の処理を説明する。
図12は、第二の実施形態の遅延予測の処理を説明する第二のフローチャートである。
本実施形態のドライバ抽出部236は、クロック以外の信号のドライバを抽出する(ステップS1201)。続いて、ファンアウト数解析部237は、クリティカルパスの指定を取得する(ステップS1202)。
ステップS1203とステップS1204の処理は、図11のステップS1102とステップS1103の処理と同様であるから説明を省略する。
続いて、負荷容量算出部238は、ステップS1204で算出した負荷容量が、予め設定された所定の許容量以内に収まっているか否かを判定する(ステップS1205)。ステップS1206からステップS1208までの処理は、図11のステップS1105からステップS1107までの処理と同様であるから、説明を省略する。
本実施形態では、以上の処理により、負荷を分散させる際にクリティカルパスを除外してツリーを構成し、遅延時間を求めることができる。
図13は、ツリーの段数の追加を説明する図である。図13(A)は、ツリーの段数が追加される前の状態を示しており、図13(B)は、ツリーの段数が追加された状態を示している。
本実施形態では、ドライバ131の後段に8つのフリップフロップ132が接続されている。すなわち、ドライバ131の最大ファンアウト数は8である。
この場合に、ドライバ131に接続された負荷容量の値が、セルライブラリデータベース110に格納されたドライバ131の最大許容量よりも大きい場合、ドライバ131の後段に、複数のドライバを追加する。
すなわち、ドライバ13の後段に2つのドライバ133、134が接続される。この場合、ドライバ133、34のそれぞれに接続されるフリップフロップ132の数は4つずつとなる。ドライバ133、134のファンアウト数は4となる。
ここで、ドライバ133に接続される2つのフリップフロップに対しては、クリティカルパスが指定されている。したがって、本実施形態のドライバ追加部239は、これらを除外し、ドライバ133の後段にドライバ135のみを接続させる。また、ドライバ134に関しても、後段にドライバ136のみを接続させる。
以上のように、本実施形態では、予め指定されたクリティカルパスを考慮することで、STAにおけるタイミング解析の精度をさらに向上させることができる。
(変形例)
上述の各実施形態では、システム1は、論理合成装置20、静的タイミング解析装置30、自動配置配線装置40を有するものとしたが、これに限定されない。例えば論理合成装置20、静的タイミング解析装置30、自動配置配線装置40が1つの自動配置配線装置を構成していても良い。
図14は、変形例の自動配置配線装置を示す図である。変形例では、サーバ10の有する各データベースと、論理合成装置20、静的タイミング解析装置30、自動配置配線装置40とが1つの自動配置配線装置2を構成する例を示している。
尚、図14の例では、各データベースも各装置と同一の装置に含まれるものとしたが、これに限定されない。
論理合成装置20、静的タイミング解析装置30及び自動配置配線装置40は、1つの装置を形成し、サーバ10に格納された各データベースを参照しても良い。
また、図14に示す各部のそれぞれが1つの装置を構成しても良い。
以上、各実施形態に基づき本発明の説明を行ってきたが、上記実施形態に示した要件に本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することができ、その応用形態に応じて適切に定めることができる。
10 サーバ
20 論理合成装置
30 静的タイミング解析装置
40 自動配置配線装置
110 セルライブラリデータベース
120 タイミング制約データベース
130 RTLデータベース
140 ネットリストデータベース
150 レイテアウトデータベース
200 自動配置配線プログラム
230 STA部
231 回路構造解析部
233 CTS遅延予測部
236 ドライバ抽出部
237 ファンアウト数解析部
238 負荷容量算出部
239 ドライバ追加部
240 自動配置配線部
特開2007−249492号公報 特開2006−268165号公報 特開2012−063886号公報

Claims (8)

  1. コンピュータによる半導体回路の静的タイミング解析方法であって、
    前記コンピュータが、
    前記半導体回路の回路設計情報から論理セルの相互接続関係に置き換える論理合成により得られた出力情報の物理的な配置配線を行う前に、前記出力情報と、前記論理合成で使用される入力情報とを参照し、前記半導体回路内のドライバセルの出力に接続される負荷の合計である負荷容量を算出し、
    前記負荷の合計負荷容量が所定値以下となるまで、前記ドライバセルの後段に複数のドライバセルを接続してツリーを構成し、
    前記ツリーの段数と、前記入力情報と基づき、信号が前記ツリーを通過するのに掛かる伝搬遅延時間を算出する静的タイミング解析方法。
  2. 前記所定値は、
    前記ドライバセルの最大許容負荷容量であるか、又は予め設定された許容負荷量である請求項1記載の静的タイミング解析方法。
  3. 前記複数のドライバセルの数は、任意に設定される請求項1又は2記載の静的タイミング解析方法。
  4. 前記半導体回路におけるタイミングの制約条件を示すタイミング制約情報を参照し、
    前記タイミング制約情報に基づく所定の負荷を除外した負荷容量を、前記ドライバセルの出力に接続される負荷の合計とする請求項1乃至3の何れか一項に記載の静的タイミング解析方法。
  5. 前記信号はクロック信号であり、前記ドライバセルは前記クロック信号を伝搬させる請求項1乃至4の何れか一項に記載の静的タイミング解析方法。
  6. 前記信号はクロック信号以外の信号であり、前記ドライバセルは前記クロック信号以外の信号を伝搬させる請求項1乃至4の何れか一項に記載の静的タイミング解析方法。
  7. 請求項1乃至6の何れか一項に記載の静的タイミング解析方法を実行する静的タイミング解析装置。
  8. 請求項7記載の静的タイミング解析装置を有し、
    前記静的タイミング解析装置による静的タイミング解析を行った後に、前記出力情報の物理的な配置配線を行う自動配置配線装置。
JP2015009602A 2015-01-21 2015-01-21 静的タイミング解析方法、静的タイミング解析装置及び自動配置配線装置 Pending JP2016134083A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015009602A JP2016134083A (ja) 2015-01-21 2015-01-21 静的タイミング解析方法、静的タイミング解析装置及び自動配置配線装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015009602A JP2016134083A (ja) 2015-01-21 2015-01-21 静的タイミング解析方法、静的タイミング解析装置及び自動配置配線装置

Publications (1)

Publication Number Publication Date
JP2016134083A true JP2016134083A (ja) 2016-07-25

Family

ID=56438169

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015009602A Pending JP2016134083A (ja) 2015-01-21 2015-01-21 静的タイミング解析方法、静的タイミング解析装置及び自動配置配線装置

Country Status (1)

Country Link
JP (1) JP2016134083A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112100969A (zh) * 2020-09-21 2020-12-18 Oppo广东移动通信有限公司 时序分析方法、电路、装置及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112100969A (zh) * 2020-09-21 2020-12-18 Oppo广东移动通信有限公司 时序分析方法、电路、装置及存储介质

Similar Documents

Publication Publication Date Title
US11500674B2 (en) Circuitry with adaptive memory assistance capabilities
WO2014106038A1 (en) Local clock skew optimization and incremental clock tree synthesis
US11036913B2 (en) Integrated circuit methods using single-pin imaginary devices
US9047434B2 (en) Clustering for processing of circuit design data
US10437946B1 (en) Using implemented core sources for simulation
US10509882B2 (en) Systems and methods for cell abutment
US7512923B2 (en) Automatic estimation method, apparatus, and recording medium
JP2007004563A (ja) ライブラリ作成装置、ライブラリ作成プログラムおよびライブラリ作成方法
US10346573B1 (en) Method and system for performing incremental post layout simulation with layout edits
CN110414029B (zh) 半导体lsi设计装置以及设计方法
JP2016134083A (ja) 静的タイミング解析方法、静的タイミング解析装置及び自動配置配線装置
US20090241082A1 (en) Method and System for Generating an Accurate Physical Realization for an Integrated Circuit Having Incomplete Physical Constraints
JP4644142B2 (ja) クリティカルパス推定プログラム、推定装置、推定方法、および集積回路設計プログラム。
JP2011242825A (ja) 消費電力情報算出プログラム、消費電力情報算出方法、及び消費電力情報算出装置
US9563736B2 (en) Placement aware functional engineering change order extraction
JP4053969B2 (ja) 半導体集積回路の設計装置および半導体集積回路の設計方法
JP4881769B2 (ja) 半導体集積回路設計支援装置、半導体集積回路設計支援方法、半導体集積回路設計支援プログラム
US10255396B2 (en) Graphical analysis of complex clock trees
JP2003178104A (ja) 電源配線設計方法、電源配線設計装置、記録媒体、及びプログラム
JP5059657B2 (ja) マクロ内端子配線を考慮したネットリストによって信号の遅延時間を予測する設計方法、及び、プログラム
US9852259B2 (en) Area and/or power optimization through post-layout modification of integrated circuit (IC) design blocks
CN117907812B (zh) 电路检测方法及装置、电子设备、存储介质、程序产品
JP5262678B2 (ja) 動作合成システム、動作合成方法、及び動作合成用プログラム
WO2023080890A1 (en) Automated cell black boxing for layout versus schematic
JP5954041B2 (ja) レイアウトモデル作成装置