JP2007128429A - 設計支援装置、設計支援方法、設計支援プログラム、および記録媒体 - Google Patents

設計支援装置、設計支援方法、設計支援プログラム、および記録媒体 Download PDF

Info

Publication number
JP2007128429A
JP2007128429A JP2005322335A JP2005322335A JP2007128429A JP 2007128429 A JP2007128429 A JP 2007128429A JP 2005322335 A JP2005322335 A JP 2005322335A JP 2005322335 A JP2005322335 A JP 2005322335A JP 2007128429 A JP2007128429 A JP 2007128429A
Authority
JP
Japan
Prior art keywords
group
path
inter
analysis
design support
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
JP2005322335A
Other languages
English (en)
Other versions
JP4314233B2 (ja
Inventor
Daisuke Fukuda
大輔 福田
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 JP2005322335A priority Critical patent/JP4314233B2/ja
Priority to US11/363,215 priority patent/US7406672B2/en
Publication of JP2007128429A publication Critical patent/JP2007128429A/ja
Application granted granted Critical
Publication of JP4314233B2 publication Critical patent/JP4314233B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/12Timing analysis or timing optimisation

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)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

【課題】LSI設計の効率化および設計期間の短縮化を図ること。
【解決手段】グループG11は、回路素子301,302の除外により再構築されたグループである。また、グループG01から除外された回路素子301,302は、あらたなグループG03としてグループ化される。この再構築処理により、グループG11、グループG02、およびグループG03が構築される。グループG02の回路素子303とグループG03の回路素子302とを接続するデータパスDP1を新規のグループ間パスGP2として特定する。そして、このグループ間パスGP2を解析する。
【選択図】図4

Description

この発明は、設計対象回路(LSI)に関する設計支援をおこなう設計支援装置、設計支援方法、設計支援プログラム、および記録媒体に関する。
タイミング設計とは、LSIの回路遅延を見積もり、最適化をおこなって遅延がLSIの正常動作に必要な範囲内にあることを確認する工程のことである。タイミング設計は、製造したLSIが正しく動作することを保証するために必要不可欠であると同時に、作業量が多く、LSI設計工数の中でも大きな割合を占めているため非常に重要である。LSI設計期間の短縮のためには、まず、タイミング設計工数の削減を図る必要がある。
近年のLSI設計では、低消費電力化、モジュール再利用などの理由により、複雑なタイミング設計上の制約が要求されることが多い。たとえば、速く動く必要がない部分は分周して低いクロック周波数を使用したり、クロックゲートを入れて不要なクロックの供給を停止したりすることによって低消費電力化を図ることが一般的におこなわれている。また、一つのLSIを複数の機器に使うため、タイミング条件が異なる複数の動作モードを用意することもある。このため、LSI設計のタイミング制約は複雑になることが多い。
LSIがターゲット周波数で動作するためには、セットアップ制約とホールド制約の2種類のタイミング制約を満たす必要がある。一般的に、送り側のFF(フリップフロップ)から出た信号が、受け側のFFに到達するタイミングは、現クロックの後、つぎのクロックの前になければならない。信号の到達が現在のクロックよりも後に届くことを保証するのがホールド制約、つぎのクロックよりも前に届くことを保証するのがセットアップ制約であり、それぞれ信号の伝播時間の最小限、最大限の値を定める。
そして、従来の一般的な設計フローでは、全FFが同一時刻にクロックを受けるものと仮定してFF間のタイミング制約を導き出し、タイミング最適化配置を行った後、スキュー(FF間のクロック到達時刻の差)を最小化するようにクロックツリーを構築していた。
図7は、クロックツリーの一例を示す説明図である。図7において、太線はクロックパス、細線はデータパス、CSはクロックソースをあらわしている。クロックツリー700を構築する際、クロック生成回路などを構成するクロックツリー700末端のFF1、FF3、・・・からなるグループGのスキューを0にする必要がある。
データパスDPは、FF1からクロックツリーの非末端であるFF2(たとえば、分周回路やクロックゲート)に対し、データを出力するパスである。この場合、スキュー調整は、配置配線後におこなうこととなる。配置配線後にスキュー調整をおこなう従来技術としては、たとえば、下記特許文献1が挙げられる。
また、論理合成終了後に簡易に配置配線・クロックツリー700を構築する場合、STA(Static Timing Analysis)解析をおこなうことにより、タイミングエラーを早期に発見することができる。これにより、FFにタイミング制約を与えてクロックツリーを生成し直し、エラーの修正をおこなうことができる。
特開2004−185466号公報
しかしながら、図7に示したクロックツリー700では、FF1とFF3は同一のグループであるにもかかわらず、FF1からデータパスDPを介してデータが入力されたFF2の動作の後にFF3が動作するため、FF1とFF3との間にスキューが発生することとなる。したがって、データパスDPが存在することにより、クロックツリー700のタイミング制約の遵守が困難になる場合があるという問題があった。
このように、タイミング制約違反が配置配線終了後に残ると、ECO(Engineering Change Order)による修正を施すことになるが、配置配線終了後の修正は、手戻りが発生するため設計者の労力が増大し、設計期間が長期化するという問題があった。
また、上述したように、論理合成終了後に簡易にクロックツリー700を構築する場合、タイミングエラーを検出するためにSTA解析をおこなうが、一般にSTA解析は全パスを対象としている。また、一部のFFのタイミングを変更した際も、他のパスへの影響が起こりうるために、逐一全パスについてSTA解析をおこなう必要がある。したがって、論理合成終了後にクロックツリーを構築する場合、クロックタイミングを修正する都度、STA解析が必要となるため、設計期間が長期化するという問題があった。
この発明は、上述した従来技術による問題点を解消するため、LSI設計の効率化および設計期間の短縮化を図ることができる設計支援装置、設計支援方法、設計支援プログラム、および記録媒体を提供することを目的とする。
上述した課題を解決し、目的を達成するため、この発明にかかる設計支援装置、設計支援方法、設計支援プログラム、および記録媒体は、設計対象回路に関するクロックツリーを取得し、取得されたクロックツリーに基づいて、スキューが同一となる回路素子群からなるグループを構築し、構築されたグループ間を接続するパス(以下、「グループ間パス」という)のタイミングを解析し、解析された前記グループ間パスの解析結果を出力することを特徴とする。
この発明によれば、配置配線処理前に、エラー発生の蓋然性の高い解析箇所をグループ間パスに絞り込むことができる。
また、上記発明において、前記グループ間パスがクリティカルパスであると解析された場合、前記グループ間パスに接続されている回路素子が、当該回路素子が含まれているグループから除外するようにグループを構築し、構築された新規のグループと他のグループとの間のパス(以下、「新規のグループ間パス」という)のタイミングを解析し、前記新規のグループ間パスの解析結果を出力することとしてもよい。
この発明によれば、配置配線処理前にスキュー調整をしつつ、エラー発生の蓋然性の高いグループ間パスを特定することができる。
また、上記発明において、前記新規のグループ間パスがクリティカルパスでないと解析された場合、前記新規のグループと前記他のグループとが同一のスキューであるか否かを判断し、判断結果に基づいて、前記新規のグループと前記他のグループとを併合するようにグループを構築することとしてもよい。
この発明によれば、配置配線処理前にスキュー調整の最適化を図ることができる。
本発明にかかる設計支援装置、設計支援方法、設計支援プログラム、および記録媒体によれば、LSI設計の効率化および設計期間の短縮化を図ることができるという効果を奏する。
以下に添付図面を参照して、この発明にかかる設計支援装置、設計支援方法、設計支援プログラム、および記録媒体の好適な実施の形態を詳細に説明する。
(設計支援装置のハードウェア構成)
まず、この発明の実施の形態にかかる設計支援装置のハードウェア構成について説明する。図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には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
(設計支援装置の機能的構成)
つぎに、この発明の実施の形態にかかる設計支援装置200の機能的構成について説明する。図2は、この発明の実施の形態にかかる設計支援装置200の機能的構成を示すブロック図である。図2において、設計支援装置200は、取得部201と、構築部202と、解析部203と、出力部204と、判断部205と、から構成されている。
図2において、取得部201は、設計対象回路に関するクロックツリーを取得する。具体的には、たとえば、設計対象回路(LSI)に関するネットリストや論理合成ツールによって生成されたタイミング制約ファイルなど、クロックツリーの生成に必要な回路情報を読み込む。そして、設計対象回路の仮配置・仮配線処理を施す。これにより、設計対象回路に関するクロックツリーが生成される。ここで、クロックツリーについて図面を用いて説明する。
図3は、この発明の実施の形態にかかる設計対象回路に関するクロックツリー300を示す説明図である。図3において、クロックツリー300は、クロックソースCSと複数の回路素子とから構成されている。各回路素子は、バッファ、クロック生成回路、分周回路、クロックゲートバッファなどを構成する設計対象回路内の回路部品であり、たとえば、フリップフロップ(FF)等から構成されている。図3においては、回路素子301,302,304〜307がクロックツリー300の末端に位置する回路素子であり、回路素子303は、非末端の回路素子である。
また、各回路素子301〜307は、クロックソースCSからクロックパス(図3中、太線)によって直接または間接的に接続されている。各回路素子301〜306は、クロックパスを経由してクロックソースCSからクロック信号を入力する。また、各回路素子301〜307は、他の回路素子とデータパス(図3中、細線矢印)によって接続されている。たとえば、データパスDP1の接続先の回路素子303と、データパスDP2の接続先の回路素子304はともに、接続元の回路素子302からデータ信号を入力する。
また、図2において、構築部202は、取得部201によって取得されたクロックツリー300に基づいて、スキューが同一となる回路素子群からなるグループを構築する。スキューとは、回路素子(FF)間のクロックソースCSからのクロック信号の到達時間差である。構築部202は、スキューが0となる回路素子どうしを同一グループになるようにグループ化する。
たとえば、図3においては、クロックツリー300の末端に位置する回路素子301,302,304〜307は、回路素子301,302,304〜307間においてクロック信号の到達時間差が0、すなわち、スキューが0となる回路素子群である。この回路素子群を、ここではグループG01と表記する。
また、構築部202は、同一スキューの回路素子がない場合には、当該回路素子のみかからなるグループにグループ化する。たとえば、回路素子303は、回路素子302からデータパスDP1を介してデータ信号を取り込む。そして、取り込んだデータ信号を処理してから、回路素子304,305に対しクロックパスを介してクロック信号を供給する。
したがって、回路素子303は、他の回路素子301,302,304〜307とはスキューが異なるため、グループG01とは別グループに属することとなる。また、図3においては、回路素子303と同一スキューの回路素子は存在しない。これにより、回路素子303は、単独でグループG02を構成する。
なお、本明細書では、グループに付されている符号『Gxy(x、yは数字)』について、『y』はグループの種類をあらわす番号であり、『x』は後述する再構築回数を示す。たとえば、『グループG01』は、構築部202によって構築されたグループであり、『グループG11』は、グループG01を一度再構築したグループである。
また、構築部202によるグループ化(後述する再構築や新規構築も含む)は、回路素子群のスキューを算出することにより自動的にグループ化することとしてもよく、クロックツリー300をディスプレイ108の表示画面に表示させて、ユーザ操作、たとえば、ドラッグアンドドローにより、グループ化することとしてもよい。
また、図2において、解析部203は、構築部202によって構築されたグループ間を接続するデータパス(以下、「グループ間パス」という)のタイミングを解析する。具体的には、図3に示したクロックツリー300を例に挙げる。
解析部203は、まず、回路素子302および回路素子303を接続するデータパスDP1を、グループG01とグループG02とを接続するグループ間パスGP1として特定する。そして、当該グループ間パスGP1のみをSTA解析の解析対象とする。具体的には、グループ間パスGP1が、グループG01またはグループG02において遅延を生じさせるクリティカルパスであるか否かを解析する。
このように、解析部203は、グループ間パスGP1のみをSTA解析対象とし、他のデータパスをSTA解析の解析対象外とすることで、STA解析の解析処理の高速化、STA解析時間の短縮化を図ることができる。
また、解析部203により、グループ間パスがクリティカルパスであると解析された場合、構築部202は、グループの再構築をおこなう。具体的には、構築部202は、グループ間パスに接続されている回路素子が、当該回路素子が含まれているグループから除外するようにグループを再構築する。より具体的には、たとえば、グループ間パスに接続されているグループ内において、グループ間パスに接続されている回路素子および当該回路素子の前段の回路素子をそのグループから除外し、あらたなグループとして構築する。
たとえば、図3に示したグループ間パスGP1によりグループG01のタイミング制約が遵守されず、グループ間パスGP1がクリティカルパスであると判断された場合、構築部202は、グループの再構築をおこなう。すなわち、図3に示したグループ間パスGP1がクリティカルパスである場合、タイミング制約違反となったグループG01中、グループ間パスGP1に接続されている回路素子302およびその前段の回路素子301を、グループG01から除外する。
図4は、構築部202によるグループの再構築を示す説明図である。図4において、グループG11は、図3において、回路素子301,302の除外により再構築されたグループである。また、グループG01(図3)から除外された回路素子301,302は、あらたなグループG03としてグループ化される。この再構築処理により、グループG11、グループG02、およびグループG03が構築される。
この場合、解析部203は、構築部202によって構築された新規のグループと他のグループとの間のパス(以下、「新規のグループ間パス」という)のタイミングを解析する。すなわち、再構築後のグループ間パスのタイミングを解析する。図4では、たとえば、グループG02の回路素子303とグループG03の回路素子302とを接続するデータパスDP1を新規のグループ間パスGP2として特定する。また、グループG03の回路素子302とグループG11の回路素子304とを接続するデータパスDP2を新規のグループ間パスGP3として特定する。
なお、新規のグループ間パスであっても、新規に構築されたグループと当該グループを構成する回路素子群の除外元のグループとの間のグループ間パスは、解析部203によるSTA解析の解析対象外とすることができる。たとえば、グループ間パスGP3は、グループG03を構成する回路素子301,302の除外元となるグループG01(除外後のグループG11)に接続されているデータパスDP2である。
すなわち、グループG01においてスキューが0となる回路素子302,304間のデータパスDP2である。したがって、STA解析をしなくてもタイミング制約を遵守しているため、STA解析対象外とすることができる。これにより、再構築後も極力解析対象外とすることで、STA解析の解析処理の高速化、STA解析時間の短縮化を図ることができる。
そして、特定されたグループ間パスGP2,GP3のタイミングを解析する。具体的には、グループ間パスGP2,GP3が、グループG11,G02,G03において遅延を生じさせるクリティカルパスであるか否かを解析する。この場合、解析部203により、グループ間パスGP2またはグループ間パスGP3がクリティカルパスであると解析された場合、上記と同様に、構築部202はグループの再構築をおこなう。
また、図2において、出力部204は、解析部203によって解析されたグループ間パスの解析結果を出力する。ここで、解析結果とは、たとえば、図3において、グループ間パスGP1がクリティカルパスでない場合、その旨の情報、またはグループ間パスGP1に接続されているグループ(G01、G02)がタイミング制約を遵守した場合のデータ信号の到達時間などを含むタイミング制約ファイルを、解析結果として出力する。
また、図4に示したようにグループの再構築後のSTA解析により、グループ間パスGP2,GP3がクリティカルパスでないと解析された場合、この解析に応じたタイミング制約ファイルを出力する。これにより、タイミング制約遵守の内容を確認することができる。
また、図2において、判断部205は、解析部203により、新規のグループ間パスがクリティカルパスでないと解析された場合、新規のグループと他のグループとが同一のスキューであるか否かを判断する。具体的には、新規のグループと、当該新規のグループ内の回路素子の除外元となるグループ以外の他のグループとが、同一のスキューであるか否かを判断する。
たとえば、図4に示した新規のグループG03内の回路素子301,302と他のグループG02の回路素子303とが、同一スキュー(たとえば、スキュー値:0)であるか否かを判断する。同一スキューでないと判断された場合、最終的に構築されたクロックツリー300は、図4に示した構造となる。
また、上述した構築部202は、判断部205によって判断された判断結果に基づいて、新規のグループと他のグループとを併合する。具体的には、判断部205によって同一スキューであると判断された場合、新規のグループと他のグループとを併合(マージ処理)する。たとえば、図4に示したグループG02とグループG03とが同一スキューである場合、すなわち、クロックソースCSから回路素子301〜303までのクロック信号の到達時間差が0である場合、グループG02とグループG03とをマージする。
図5は、グループのマージ処理結果を示す説明図である。図5において、グループG04は、グループG02およびグループG03をマージ処理することにより構築されたあらたなグループである。
なお、上述した取得部201、構築部202、解析部203、出力部204、および判断部205は、具体的には、たとえば、図1に示したROM102、RAM103、HD105などの記録媒体に記録されたプログラムを、CPU101が実行することによって、またはI/F109によって、その機能を実現する。
(設計支援装置200の設計支援処理)
つぎに、この発明の実施の形態にかかる設計支援装置200の設計支援処理について説明する。図6は、この発明の実施の形態にかかる設計支援装置200の設計支援処理手順を示すフローチャートである。
図6において、まず、取得部201により、設計対象回路のネットリストやタイミング制約ファイルなどの回路情報が読み込まれるまで待機し(ステップS601:No)、回路情報が読み込まれた場合(ステップS601:Yes)、図3に示した設計対象回路に関するクロックツリー300を生成する(ステップS602)。
そして、図3に示したように、構築部202によりクロックツリー300をグループ分け(グループの構築)する(ステップS603)。つぎに、解析部203により、グループ間パスGP1を特定してグループ間パスGP1のタイミング解析をおこなう(ステップS604)。そして、グループ間パスGP1がクリティカルパスであるか否かを判断する(ステップS605)。
クリティカルパスでない場合(ステップS605:No)、回路情報内のタイミング制約ファイルに記述されているタイミング制約を遵守していることとなり、一連の処理を終了する。この場合、クロックツリー300中、グループ間パスGP1のみをSTA解析すればタイミング制約を遵守しているか否かが判明するため、解析処理の高速化、解析時間の短縮化を実現することができる。
一方、ステップS605において、クリティカルパスであると判断された場合(ステップS605:Yes)、構築部202によるグループの再構築をおこなう(ステップS606)。すなわち、図4に示したように、グループ間パスGP1に接続される回路素子を有するグループG01,G02のうち、タイミング制約違反となったグループG01から、グループ間パスGP1に接続される回路素子302とその前段の回路素子301を、グループG01から除外してグループG11とする。また、除外された回路素子301,302を新規のグループG03として構築する。
このあと、解析部203により、必要に応じて、クロックツリー300におけるクロックタイミングの修正をおこなう(ステップS607)。この修正は、解析部203によるあらかじめ設定された自動修正処理でもよく、また、ユーザ操作による修正処理でもよい。
つぎに、解析部203により、新規のグループG03に関するグループ間パスGP2,GP3のタイミング解析をおこなう(ステップS608)。なお、グループ間パスGP3は、新規のグループG03に属する回路素子301,302の除外元となるグループG01(図4ではG11)に接続されているデータパスDP2である。
したがって、グループ間パスGP3は、解析対象外となり、グループ間パスGP2のみが解析対象となる。これにより、再構築後においても、解析処理の高速化、解析時間の短縮化を実現することができる。
そして、この解析処理により、クリティカルパスがあるか否かを判断する(ステップS609)。すなわち、グループ間パスGP2がクリティカルパスであるか否かを判断する。クリティカルパスである場合(ステップS609:Yes)、ユーザ操作により、クロックタイミング変更入力があったか否かを判断する(ステップS610)。
クロックタイミング変更入力があった場合(ステップS610:Yes)、ステップS607に戻って、クロックタイミングの修正をおこなう。一方、クロックタイミング変更入力がない場合(ステップS610:No)、ユーザ操作により、再構築入力があったか否かを判断する(ステップS611)。再構築入力がない場合(ステップS611:No)、ステップS610に戻る。
一方、再構築入力があった場合(ステップS611:Yes)、グループ変更初期化をおこなう(ステップS612)。グループ変更初期化とは、構築部202において現在構築されているグループを、直前のタイミング解析前のグループに戻す処理である。そして、ステップS606に戻る。
一方、ステップS609において、クリティカルパスがない場合(ステップS609:No)、同一スキューのグループがあるか否かを判断する(ステップS613)。図4に示したグループG02およびグループG03のように、同一スキューのグループがある場合(ステップS613:Yes)、構築部202により、グループG02およびグループG03をマージ処理して(ステップS614)、あらたなグループG04を構築する。そして、ステップS615に移行する。
これにより、同一スキューのグループ数を最小限にとどめて、解析結果を自動的に簡略化することができる。一方、同一スキューのグループがない場合(ステップS613:No)、ステップS615に移行する。そして、ステップS615において、クロックタイミングが修正されたタイミング制約ファイルを修正結果として、出力部204により出力する(ステップS615)。
このように、上述した実施の形態によれば、クロックツリー300をスキューによりグループ化することにより、STA解析対象を、エラー発生の蓋然性の高いグループ間パスに絞り込むことができる。また、STA解析後においてもタイミング制約違反(クリティカルパス検出)がある場合には、グループを構築しなおすことにより、新規のグループ間パスに絞り込むことができる。したがって、修正箇所を容易に把握することができる。
また、全パスのSTA解析をおこなわなくてもよいため、STA解析処理の高速化を実現することができる。さらに、配置配線前にクロックツリーを修正してスキュー調整をおこなうことができるため、ECOによる修正が不要であり、配置配線後の手戻りが軽減される。したがって、ユーザの設計負担の軽減を図ることができるとともに、設計期間の短縮化を図ることができる。
なお、本実施の形態で説明した設計支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
(付記1)設計対象回路に関するクロックツリーを取得する取得手段と、
前記取得手段によって取得されたクロックツリーに基づいて、スキューが同一となる回路素子群からなるグループを構築する構築手段と、
前記構築手段によって構築されたグループ間を接続するパス(以下、「グループ間パス」という)のタイミングを解析する解析手段と、
前記解析手段によって解析された前記グループ間パスの解析結果を出力する出力手段と、
を備えることを特徴とする設計支援装置。
(付記2)前記構築手段は、
前記解析手段により、前記グループ間パスがクリティカルパスであると解析された場合、前記グループ間パスに接続されている回路素子が、当該回路素子が含まれているグループから除外するようにグループを構築し、
前記解析手段は、
前記構築手段によって構築された新規のグループと他のグループとの間のパス(以下、「新規のグループ間パス」という)のタイミングを解析し、
前記出力手段は、
前記新規のグループ間パスの解析結果を出力することを特徴とする付記1に記載の設計支援装置。
(付記3)前記解析手段により、前記新規のグループ間パスがクリティカルパスでないと解析された場合、前記新規のグループと前記他のグループとが同一のスキューであるか否かを判断する判断手段を備え、
前記構築手段は、
前記判断手段によって判断された判断結果に基づいて、前記新規のグループと前記他のグループとを併合するようにグループを構築することを特徴とする付記2に記載の設計支援装置。
(付記4)設計対象回路に関するクロックツリーを取得する取得工程と、
前記取得工程によって取得されたクロックツリーに基づいて、スキューが同一となる回路素子群からなるグループを構築する構築工程と、
前記構築工程によって構築されたグループ間を接続するパス(以下、「グループ間パス」という)のタイミングを解析する解析工程と、
前記解析工程によって解析された前記グループ間パスの解析結果を出力する出力工程と、
を含んだことを特徴とする設計支援方法。
(付記5)設計対象回路に関するクロックツリーを取得させる取得工程と、
前記取得工程によって取得されたクロックツリーに基づいて、スキューが同一となる回路素子群からなるグループを構築させる構築工程と、
前記構築工程によって構築されたグループ間を接続するパス(以下、「グループ間パス」という)のタイミングを解析させる解析工程と、
前記解析工程によって解析された前記グループ間パスの解析結果を出力させる出力工程と、
をコンピュータに実行させることを特徴とする設計支援プログラム。
(付記6)付記5に記載の設計支援プログラムを記録したコンピュータに読み取り可能な記録媒体。
以上のように、本発明にかかる設計支援装置、設計支援方法、設計支援プログラム、および記録媒体は、LSIやシステムLSIなどの設計対象回路の設計支援ツールとして有用であり、特に、設計対象回路に関する複雑な構造のクロックツリーのタイミング制約の解析・修正に適している。
この発明の実施の形態にかかる設計支援装置のハードウェア構成を示すブロック図である。 この発明の実施の形態にかかる設計支援装置の機能的構成を示すブロック図である。 この発明の実施の形態にかかる設計対象回路に関するクロックツリーを示す説明図である。 構築部によるグループの再構築を示す説明図である。 グループのマージ処理結果を示す説明図である。 この発明の実施の形態にかかる設計支援装置の設計支援処理手順を示すフローチャートである。 クロックツリーの一例を示す説明図である。
符号の説明
200 設計支援装置
201 取得部
202 構築部
203 解析部
204 出力部
205 判断部
300 クロックツリー
301〜307 回路素子
CS クロックソース
DP1,DP2 データパス
G01,G11,G02,G03,G04 グループ
GP1,GP2,GP3 グループ間パス

Claims (5)

  1. 設計対象回路に関するクロックツリーを取得する取得手段と、
    前記取得手段によって取得されたクロックツリーに基づいて、スキューが同一となる回路素子群からなるグループを構築する構築手段と、
    前記構築手段によって構築されたグループ間を接続するパス(以下、「グループ間パス」という)のタイミングを解析する解析手段と、
    前記解析手段によって解析された前記グループ間パスの解析結果を出力する出力手段と、
    を備えることを特徴とする設計支援装置。
  2. 前記構築手段は、
    前記解析手段により、前記グループ間パスがクリティカルパスであると解析された場合、前記グループ間パスに接続されている回路素子が、当該回路素子が含まれているグループから除外するようにグループを構築し、
    前記解析手段は、
    前記構築手段によって構築された新規のグループと他のグループとの間のパス(以下、「新規のグループ間パス」という)のタイミングを解析し、
    前記出力手段は、
    前記新規のグループ間パスの解析結果を出力することを特徴とする請求項1に記載の設計支援装置。
  3. 設計対象回路に関するクロックツリーを取得する取得工程と、
    前記取得工程によって取得されたクロックツリーに基づいて、スキューが同一となる回路素子群からなるグループを構築する構築工程と、
    前記構築工程によって構築されたグループ間を接続するパス(以下、「グループ間パス」という)のタイミングを解析する解析工程と、
    前記解析工程によって解析された前記グループ間パスの解析結果を出力する出力工程と、
    を含んだことを特徴とする設計支援方法。
  4. 設計対象回路に関するクロックツリーを取得させる取得工程と、
    前記取得工程によって取得されたクロックツリーに基づいて、スキューが同一となる回路素子群からなるグループを構築させる構築工程と、
    前記構築工程によって構築されたグループ間を接続するパス(以下、「グループ間パス」という)のタイミングを解析させる解析工程と、
    前記解析工程によって解析された前記グループ間パスの解析結果を出力させる出力工程と、
    をコンピュータに実行させることを特徴とする設計支援プログラム。
  5. 請求項4に記載の設計支援プログラムを記録したコンピュータに読み取り可能な記録媒体。

JP2005322335A 2005-11-07 2005-11-07 設計支援装置、設計支援方法、設計支援プログラム、および記録媒体 Expired - Fee Related JP4314233B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005322335A JP4314233B2 (ja) 2005-11-07 2005-11-07 設計支援装置、設計支援方法、設計支援プログラム、および記録媒体
US11/363,215 US7406672B2 (en) 2005-11-07 2006-02-28 Method and apparatus for constructing and optimizing a skew of a clock tree

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005322335A JP4314233B2 (ja) 2005-11-07 2005-11-07 設計支援装置、設計支援方法、設計支援プログラム、および記録媒体

Publications (2)

Publication Number Publication Date
JP2007128429A true JP2007128429A (ja) 2007-05-24
JP4314233B2 JP4314233B2 (ja) 2009-08-12

Family

ID=38005230

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005322335A Expired - Fee Related JP4314233B2 (ja) 2005-11-07 2005-11-07 設計支援装置、設計支援方法、設計支援プログラム、および記録媒体

Country Status (2)

Country Link
US (1) US7406672B2 (ja)
JP (1) JP4314233B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013033360A (ja) * 2011-08-01 2013-02-14 Fujitsu Semiconductor Ltd Lsi設計方法,設計プログラムおよび設計装置
JP2014102640A (ja) * 2012-11-19 2014-06-05 Fujitsu Semiconductor Ltd 回路設計方法、回路設計プログラムおよび回路設計装置

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4734141B2 (ja) * 2006-02-28 2011-07-27 富士通株式会社 遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析方法、および遅延解析装置
US9310831B2 (en) 2008-02-06 2016-04-12 Mentor Graphics Corporation Multi-mode multi-corner clocktree synthesis
US20090199143A1 (en) * 2008-02-06 2009-08-06 Mentor Graphics, Corp. Clock tree synthesis graphical user interface
US20090217225A1 (en) * 2008-02-22 2009-08-27 Mentor Graphics, Corp. Multi-mode multi-corner clocktree synthesis
JP5326471B2 (ja) * 2008-09-30 2013-10-30 富士通株式会社 クロック信号供給回路の設計方法、情報処理装置およびプログラム
US7979819B2 (en) * 2009-01-23 2011-07-12 International Business Machines Corporation Minterm tracing and reporting
US8843872B1 (en) * 2013-03-15 2014-09-23 Synopsys, Inc. Automatic clock tree synthesis exceptions generation
US20140289690A1 (en) * 2013-03-21 2014-09-25 Synopsys, Inc. On-chip-variation (ocv) and timing-criticality aware clock tree synthesis (cts)
US9053281B2 (en) * 2013-03-21 2015-06-09 Synopsys, Inc. Dual-structure clock tree synthesis (CTS)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5980092A (en) * 1996-11-19 1999-11-09 Unisys Corporation Method and apparatus for optimizing a gated clock structure using a standard optimization tool
US6698006B1 (en) * 2001-12-14 2004-02-24 Sequence Design, Inc. Method for balanced-delay clock tree insertion
JP4104354B2 (ja) * 2002-03-13 2008-06-18 富士通株式会社 電源配線の電圧降下による影響を緩和した集積回路のレイアウト方法とそのプログラム
JP2004185466A (ja) 2002-12-05 2004-07-02 Toshiba Corp 半導体集積回路のクロック分配方法および半導体集積回路
US7257782B2 (en) * 2004-10-22 2007-08-14 Synopsys, Inc. Method and apparatus for reducing power consumption in an integrated circuit chip

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013033360A (ja) * 2011-08-01 2013-02-14 Fujitsu Semiconductor Ltd Lsi設計方法,設計プログラムおよび設計装置
JP2014102640A (ja) * 2012-11-19 2014-06-05 Fujitsu Semiconductor Ltd 回路設計方法、回路設計プログラムおよび回路設計装置

Also Published As

Publication number Publication date
US7406672B2 (en) 2008-07-29
US20070106970A1 (en) 2007-05-10
JP4314233B2 (ja) 2009-08-12

Similar Documents

Publication Publication Date Title
JP4314233B2 (ja) 設計支援装置、設計支援方法、設計支援プログラム、および記録媒体
JP4759392B2 (ja) 検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法
JP4707191B2 (ja) 検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法
US10635846B2 (en) Timing error analysis method and information processing apparatus
JP4261502B2 (ja) 検証支援装置、検証支援方法、検証支援プログラム、および記録媒体
JP4549280B2 (ja) 設計支援装置、設計支援方法、および設計支援プログラム
JP4747034B2 (ja) 検証シナリオ作成プログラム、記録媒体、検証シナリオ作成装置および検証シナリオ作成方法
JP2006268479A (ja) 設計支援装置、設計支援方法、設計支援プログラム、および記録媒体
JP4231837B2 (ja) クロックツリー生成装置、クロックツリー生成方法、クロックツリー生成プログラムおよび記録媒体
KR101117397B1 (ko) Lsi 시험 장치, lsi 시험 방법, 및 lsi 시험 프로그램을 기록한 기록 매체
JP4471794B2 (ja) タイミング解析装置、タイミング解析方法、タイミング解析プログラムおよび記録媒体
JP5640790B2 (ja) 検証支援プログラム、検証支援装置、および検証支援方法
US9378316B2 (en) Computer product for supporting design and verification of integrated circuit
JP5262909B2 (ja) 検証支援プログラム、検証支援装置および検証支援方法
JP2008004024A (ja) レイアウト設計プログラム、該プログラムを記録した記録媒体、レイアウト設計装置、およびレイアウト設計方法
US20080209368A1 (en) Layout design method, layout design apparatus, and computer product
JP4759419B2 (ja) 遅延解析プログラム、記録媒体、遅延解析方法、および遅延解析装置
JP4747036B2 (ja) Lsi解析プログラム、該プログラムを記録した記録媒体、lsi解析装置、およびlsi解析方法
JP4448048B2 (ja) 構造解析プログラム
JP2006250651A (ja) テストパターン生成支援装置、テストパターン生成支援方法、テストパターン生成支援プログラム、および記録媒体
JP4645843B2 (ja) データ処理装置、データ処理方法およびプログラム
JP2009153008A (ja) リピータ回路、リピータ回路設計装置、リピータ回路設計プログラムおよびリピータ回路設計方法
US20080235530A1 (en) File information generating method, file information generating apparatus, and storage medium storing file information generation program
JP2008204489A (ja) 論理合成方法
JPH1166120A (ja) 論理合成支援装置、及び、論理合成支援プログラムを記録したコンピュータ読み取り可能な記録媒体

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090402

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

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

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

Free format text: PAYMENT UNTIL: 20120522

Year of fee payment: 3

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130522

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130522

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees