説明

設計支援プログラム、設計支援装置および設計支援方法

【課題】ノイズ発生による回路性能の変化を把握するとともに、ノイズによる性能劣化を回避するクロックツリーの設計を支援する。
【解決手段】設計支援装置100は、対象回路設計情報101を取得すると、ノイズによる影響を把握するためアナログ回路に関する情報を取得して、ノイズ入力タイミングと性能変化との関係を検証する(ステップS110)。また、ノイズを発生させる回路を把握するためデジタル回路に関する情報を取得し、回路内で発生するノイズを算出する(ステップS120)。そして、ステップS110,120にて得た情報を用いてノイズの入力タイミングを回路性能への影響の小さいタイミングに調整する(ステップS130)。最後に、回路全体の動作タイミングを、特定した入力タイミングの期間と、ステップS120によって算出されたノイズのピークとが重複しないようなタイミングに調整したクロックツリーを設計する(ステップS140)。

【発明の詳細な説明】
【技術分野】
【0001】
本開示技術は、半導体集積回路の設計を支援する設計支援プログラム、設計支援装置および設計支援方法に関する。
【背景技術】
【0002】
従来より、半導体集積回路の設計工程には、回路内の各素子(FF回路や論理回路など)へのクロック伝搬を適切なタイミングにするために、クロックツリー設計という工程が存在する。クロックツリーとは、回路内の各素子へのクロックの伝搬のタイミングを調整する機能を備えたクロックの分配網である。具体的には、分配網を構成するパス上に適宜遅延素子を配置することによって、クロックの入力されるタイミングを調整することができる。したがって、クロックツリーを設計することによって、半導体集積回路内の素子のうちデジタル回路など同じタイミングで動作させたい素子へのクロック入力のタイミングを揃えることができる。
【0003】
図14は、従来のクロックツリー設計手順を示すフローチャートである。図14のフローチャートが示すように、従来のクロックツリー設計手順では、回路設計情報としてRTL記述ネットリスト1を取得して論理合成をおこない(ステップS10)、ゲートレベル記述ネットリスト2を取得する。そして、ゲートレベル記述ネットリスト2を用いて、クロックツリー合成処理(以下、「CTS(Clock Tree Synthesis)」とよぶ)がおこなわれる(ステップS20)。なお、ステップS20のCTSでは、あらかじめ与えられたCTS制約条件3を満たすクロックツリーが設計される。設計されたクロックツリーは、ゲートレベル記述ネットリストに追加され、クロックツリーを含んだゲートレベル記述ネットリスト4が出力される。
【0004】
図15は、半導体集積回路の一例を示す回路図である。また、図16は、半導体集積回路内のクロック入力タイミングの一例を示すタイミングチャートである。図15の回路図1500は、3つのフリップ・フロップ回路(FF1〜3)と、アナログ−デジタル変換回路(ADC)1510とを含んだ半導体集積回路であり、CTSによるクロックツリー設計前の回路構成である。そして、回路図1500をそのまま実行させた場合、各素子(FF1〜3、ADC1510)へのクロックの伝搬は、図16のタイミングチャート1600の矢印部分に示すようなばらつきが生じてしまう。
【0005】
図17は、クロックツリー設計例を示す説明図である。上述したCTSでは、回路図1500の素子のうちデジタル回路(FF1〜3)の動作タイミングが同一になるようなクロックツリー1700が設計される。クロックツリー1700の追加は、デジタル回路の動作時間を揃えられるという利点を生む。反面、クロックツリー1700の追加によって半導体集積回路内で同一のタイミングで動作するデジタル回路の数が増えるため、発生するノイズ量(特に電源ノイズ)が増加してしまうという欠点も生んでしまう。
【0006】
さらに、近年では、半導体集積回路の微細化が進み、1つの回路内に低電圧で動作するアナログ回路が多く搭載される傾向にある。アナログ回路は、ノイズによる性能劣化が大きく、デジタル回路のクロックとアナログ回路の動作タイミングによっては、性能劣化によって正しい動作が期待できない。
【0007】
そこで、半導体集積回路の設計の際のノイズ対策としては、主なノイズ発生源であるデジタル回路から、ノイズに弱い回路であるアナログ回路へのノイズ伝搬を解析する技術が用いられる。ノイズ伝搬を解析することによって、アナログ回路などの被ノイズ回路が受けるノイズ量と、被ノイズ回路がノイズに影響された場合の回路性能を計算することができ、クロックツリー設計に役立てることができる(たとえば、下記特許文献1参照。)。
【0008】
また、CTSによるクロックツリー設計に関しても、クロック分配網の空間的ばらつき(クロックスキュー)を、タイミングが許すだけ大きくすることによって電源ノイズの量を減少させる技術も提供されている。クロックツリー設計時のタイミング調整によって、内部で発生する電源ノイズを調整前よりも減少させる効果が期待される(たとえば、下記特許文献2参照。)。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2008−4068号公報
【特許文献2】特開2008−152550号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかしながら、従来技術は、いずれもノイズによる回路性能の劣化を確実に回避できるものではない。たとえば、特許文献1の技術では、発生するノイズやノイズによる性能劣化を正確に見積もることが可能であるが、見積もられた回路性能が、半導体集積回路の要求仕様に満たなかった場合の対処策は提供されていない。したがって、ノイズの影響が大きい場合には、個別の設計修正が必要となり、設計者に大きな処理負荷がかかるとともに、設計期間の増加を招くという問題があった。
【0011】
また、特許文献2の技術では、クロックツリーを調整してノイズ発生のタイミングをずらすことはできるが、この調整処理は、ADC回路などノイズに弱い回路に与える影響を十分小さくする効果は保証されていない。むしろ、クロックツリーの調整具合によっては、ノイズ発生のタイミングがADC回路の回路性能への影響がより大きくなるようなタイミングに変更されてしまうこともある。すなわち、ADC回路の回路性能がクロックツリーの調整前よりも悪化する可能性があり、ノイズ発生への対処策としては不十分であるという問題があった。
【0012】
上述のように、ノイズ発生による回路性能の劣化を確実に回避する技術は提供されていない。また、ノイズ発生による回路性能の変化をシミュレーションで確認するためには、半導体集積回路全体をシミュレーションする必要がある。ところが、上述したように、近年の半導体集積回路は、高集積化が進み規模が大きいため、回路全体のシミュレーションを実行するには、膨大な処理時間を要する。すなわち、シミュレーションによる確認を実用的に利用するのは不可能である。したがって、現状では回路性能の劣化の問題が製造後に露見し、設計のやり直しが迫られるような事態が多々生じているという問題があった。
【0013】
本開示技術は、上述した従来技術による問題点を解消するため、ノイズ発生による回路性能の変化を把握するとともに、ノイズによる性能劣化を回避するクロックツリーの設計を支援する設計支援プログラム、設計支援装置および設計支援方法を提供することを目的とする。
【課題を解決するための手段】
【0014】
上述した課題を解決し、目的を達成するため、本開示技術は、コンピュータにおいて、対象回路のネットリストと、前記対象回路内のノイズに影響される回路についてのノイズ入力タイミングと回路性能との特性情報とを取得する処理と、取得されたネットリストを用いて前記対象回路内のデジタル回路に関するクロックの分配を表す第1のクロックツリーを取得する処理と、取得された第1のクロックツリーの構成に応じて、前記対象回路内のデジタル回路にて発生する1クロックサイクルごとの電源ノイズの波形を算出する処理と、取得されたノイズ入力タイミングと回路性能との特性情報の中から、前記対象回路の回路性能がしきい値以下になるノイズ入力タイミングの期間を特定する処理と、前記対象回路の動作タイミングを、算出された電源ノイズの波形のピークと、ノイズ入力タイミングの期間とが重複しないタイミングに設定する処理と、前記対象回路のネットリストと前記第1のクロックツリーとを用いて、設定された動作タイミングにて動作する場合の回路全体に関するクロックの分配を表す第2のクロックツリーを取得する処理と、取得された第2のクロックツリーを出力する処理と、を含むことを要件とする。
【発明の効果】
【0015】
本設計支援プログラム、設計支援装置および設計支援方法によれば、ノイズ発生による回路性能の変化を把握するとともに、ノイズによる性能劣化を回避するクロックツリーの設計を支援することができるという効果を奏する。
【図面の簡単な説明】
【0016】
【図1】本実施の形態にかかる設計支援処理の一例を示す説明図である。
【図2】ノイズ入力タイミング−回路性能特性の一例を示すグラフである。
【図3】設計支援装置のハードウェア構成を示すブロック図である。
【図4】設計支援装置の機能的構成を示すブロック図である。
【図5】設計支援装置による設計支援処理手順を示すフローチャートである。
【図6】実施例におけるクロックツリー設計手順を示す説明図である。
【図7】FFと各FFの遷移で動作する論理回路を示す回路図である。
【図8】デジタル回路のクロックツリーを含む回路図である。
【図9】テスト用半導体回路の実装例を示す回路図である。
【図10】インバータ回路の発生ノイズ例を示すデータテーブルである。
【図11】NAND回路の発生ノイズ例を示すデータテーブルである。
【図12】ノイズ入力禁止期間の特定例を示す説明図である。
【図13】動作タイミングの修正例を示す説明図である。
【図14】従来のクロックツリー設計手順を示すフローチャートである。
【図15】半導体集積回路の一例を示す回路図である。
【図16】半導体集積回路内のクロック入力タイミングの一例を示すタイミングチャートである。
【図17】クロックツリー設計例を示す説明図である。
【発明を実施するための形態】
【0017】
以下に添付図面を参照して、この発明にかかる設計支援プログラム、設計支援装置および設計支援方法の好適な実施の形態を詳細に説明する。
【0018】
(実施の形態)
図1は、本実施の形態にかかる設計支援処理の一例を示す説明図である。図1のように、本実施の形態では、設計支援装置100を用いて、対象回路設計情報101から、対象回路のノイズ発生による回路性能低下を抑制する機能を備えたクロックツリー設計情報102を生成する。クロックツリー設計情報102は、対象回路内に配置されるクロックツリーの構成を表す情報である。したがって、クロックツリー設計情報102を含んだネットリストを生成することによって、設計者の所望する回路性能を備えた半導体集積回路の設計が可能となる。
【0019】
設計支援装置100は、対象回路設計情報101を取得すると、ノイズに影響される回路の把握と、ノイズを発生させる回路の把握とをおこなう。設計支援装置100は、まず、ノイズに影響される回路を把握するため対象回路設計情報101の中からアナログ回路に関する情報を取得して、ノイズ入力タイミングと性能変化との関係を検証する(ステップS110)。同じく、設計支援装置100は、ノイズを発生させる回路を把握するため、対象回路設計情報101の中からデジタル回路に関する情報を取得して、回路内で発生するノイズを算出する(ステップS120)。
【0020】
図2は、ノイズ入力タイミング−回路性能特性の一例を示すグラフである。図2のグラフは、10ビットのアナログ−デジタル変換回路(ADC回路)の電源線に、大きさ約100mVと約50mVとの2種類の電源ノイズを印加した場合の実測結果の一例を表している。本実施の形態では、回路性能の判断基準として、ADC回路のSignal Noise Distortion Ratio(以下、「SNDR」とよぶ)を参照する。
【0021】
図2のグラフにおいて、縦軸の「SNDR[dB]」は、ADC回路からの出力信号の品質を表す。SNDRは、値が大きいほど、元のアナログデータに忠実にデジタル変換ができていることを意味する。また、横軸の「ノイズ入力タイミングのずれ[ns]」は、ADC回路にクロックが入力するタイミングに対して、ノイズが入力するタイミングがどの程度遅れているかを表す(正の値は入力タイミングの先行、負の値は入力タイミングの遅延を意味する)。
【0022】
図2の実測結果からも明らかなように、一般的にADC回路(対象回路)へのクロック入力タイミングの直前にノイズが入力した場合、SNDRの値は急落し、回路性能が大きく劣化する傾向にある。反対に、クロック入力タイミングの後にノイズが入力しても、SNDRの値に急激な変化はなく、回路性能には大きな影響を及ぼさないことが知られている。図1のステップS110では、対象回路設計情報101の中から取得たアナログ回路について、図2にて説明したようなノイズ入力タイミング−回路性能特性についての検証をおこなう。
【0023】
図1の説明に戻り、ステップS110,S120が実行されると、これらの処理によって取得した情報を用いて、ノイズの入力タイミングを回路性能への影響の小さいタイミングに調整する(ステップS130)。すなわち、ステップS110によって検証された特性のうち、回路性能の劣化が著しい入力タイミング期間を特定する。そして、回路全体の動作タイミングを、特定した入力タイミングの期間と、ステップS120によって算出されたノイズのピークとが重複しないようなタイミングに調整する。
【0024】
ステップS130による調整が完了すると、調整したタイミングで動作するようにクロックツリーを設計する(ステップS140)。ステップS140によって設計されたクロックツリー設計情報102は、ゲートレベル記述のネットリストを作成する際に利用される。すなわち、クロックツリー設計情報102をゲートレベル記述のネットリストに追加することによってクロックツリーを含んだ半導体集積回路のネットリストを作成することができる。
【0025】
以上説明したように、本実施の形態にかかる設計支援処理を用いることによって、検証対象となる半導体集積回路が動作する際のノイズの振る舞い(ノイズ発生状況とノイズ入力による回路への影響)を把握することによって、ノイズによる回路性能の劣化が少ないタイミングで動作するクロックツリーが設計可能となる。したがって、半導体集積回路の設計工程に本実施の形態にかかる設計支援処理を適用することによって、ノイズ発生による回路性能の変化を把握するとともに、ノイズによる性能劣化を回避するクロックツリーの設計を支援することができる。
【0026】
つぎに、図1にて説明した設計支援処理を実現する設計支援装置100の構成について詳しく説明する。
【0027】
(設計支援装置のハードウェア構成)
図3は、設計支援装置のハードウェア構成を示すブロック図である。図3において、設計支援装置100は、CPU(Central Processing Unit)301と、ROM(Read‐Only Memory)302と、RAM(Random Access Memory)303と、磁気ディスクドライブ304と、磁気ディスク305と、光ディスクドライブ306と、光ディスク307と、ディスプレイ308と、I/F(Interface)309と、キーボード310と、マウス311と、スキャナ312と、プリンタ313と、を備えている。また、各構成部はバス300によってそれぞれ接続されている。
【0028】
ここで、CPU301は、設計支援装置100の全体の制御を司る。ROM302は、ブートプログラムや、設計支援処理を実現する設計支援プログラムなどのプログラムを記憶している。RAM303は、CPU301のワークエリアとして使用される。磁気ディスクドライブ304は、CPU301の制御にしたがって磁気ディスク305に対するデータのリード/ライトを制御する。磁気ディスク305は、磁気ディスクドライブ304の制御で書き込まれたデータを記憶する。
【0029】
光ディスクドライブ306は、CPU301の制御にしたがって光ディスク307に対するデータのリード/ライトを制御する。光ディスク307は、光ディスクドライブ306の制御で書き込まれたデータを記憶したり、光ディスク307に記憶されたデータをコンピュータに読み取らせたりする。
【0030】
ディスプレイ308は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ308は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【0031】
インターフェース(以下、「I/F」と略する。)309は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク314に接続され、このネットワーク314を介して他の装置に接続される。そして、I/F309は、ネットワーク314と内部のインターフェースを司り、外部装置からの設計に用いるデータの入出力を制御する。I/F309には、たとえばモデムやLANアダプタなどを採用することができる。
【0032】
キーボード310は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス311は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【0033】
スキャナ312は、画像を光学的に読み取り、設計支援装置100内に設計用の各種データを取り込む。なお、スキャナ312は、OCR(Optical Character Reader)機能を持たせてもよい。また、プリンタ313は、半導体集積回路の設計に関する画像データや文書データを印刷する。プリンタ313には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
【0034】
(設計支援装置の機能的構成)
図4は、設計支援装置の機能的構成を示すブロック図である。設計支援装置100は、回路情報取得部401と、第1のクロックツリー取得部402と、算出部403と、特定部404と、設定部405と、第2のクロックツリー取得部406と、出力部407と、初期設定部408と、判断部409と、修正部410と、生成部411と、原因特定部412と、を含む構成である。上述したように設計支援装置100における制御部となる機能(回路情報取得部401〜原因特定部412)は、具体的には、たとえば、図3に示したROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶された設計支援プログラムをCPU301に実行させることにより、または、I/F309により、その機能を実現する。
【0035】
回路情報取得部401は、クロックツリーの設計に必要な回路情報を取得する機能を有する。具体的には、回路情報取得部401では、回路情報400として、対象回路のネットリストと、ノイズ入力タイミング−回路性能の特性情報とを取得する。ノイズ入力タイミング−回路性能の特性情報とは、回路にクロックが入力するタイミングとノイズが入力するタイミングとのずれと回路性能の変化を表す特性情報である。
【0036】
一般的に回路性能の変化を表す特性は、図2に例示したように、通常ノイズの入力タイミングが遅れると回路性能の劣化を示すことが多いが、対象回路の構成の詳細な振る舞いには差異がある。したがって、設計支援装置100の場合には、あらかじめ回路ごとに特性を測定したデータベースを用意しておくとよい。なお、取得された回路情報400は、RAM303、磁気ディスク305、光ディスク307などの記憶領域に記憶される。
【0037】
第1のクロックツリー取得部402は、クロックツリー設計ツール420を利用して、クロックツリーの設計情報を取得する機能を有する。第1のクロックツリー取得部402の場合、回路情報400に含まれる対象回路のネットリストを用いることによって、クロックツリー設計ツール420から対象回路内のデジタル回路に関するクロックの分配を表す第1のクロックツリーを取得する。なお、取得された第1のクロックツリーは、RAM303、磁気ディスク305、光ディスク307などの記憶領域に記憶される。
【0038】
算出部403は、1クロックサイクルごとに電源ノイズの波形を算出する機能を有する。算出部403では、第1のクロックツリー取得部402によって取得された第1のクロックツリーと、回路情報400のネットリストとによって特定される対象回路内のデジタル回路の構成に応じて、対象回路内のデジタル回路にて発生する電源ノイズの波形を算出する。
【0039】
具体的には、算出部403は、まず、対象回路内のデジタル回路ごとに発生するノイズ量を特定する。ノイズ量はあらかじめ個別に測定した実測値をデータベースとして用意してもよいし、仕様書や、各種ツールによって取得した値を用いてもよい。そして、算出部403は、クロックの入力タイミングごとに同時にノイズが発生する回路ごと特定したノイズ量を加算すれば、1クロックサイクルの電源ノイズの波形を得ることができる。なお、算出された電源ノイズの波形は、RAM303、磁気ディスク305、光ディスク307などの記憶領域に記憶される。
【0040】
特定部404は、対象回路へのノイズ入力タイミング中から、回路性能への影響が大きくなる期間を特定する機能を有する。具体的には、特定部404は、回路情報400として提供されたノイズ入力タイミングと回路性能との特性情報の中から、対象回路の回路性能がしきい値以下になるノイズ入力タイミングの期間を特定する。しきい値は設計者によって調整可能であり、対象回路内の回路性能の目標性能として定めた値を採用すればよい。特定部404によって特定された期間が、すなわち、ノイズの入力を避けたい期間である。なお、特定された期間は、RAM303、磁気ディスク305、光ディスク307などの記憶領域に記憶される。
【0041】
設定部405は、対象回路の動作タイミングを設定する機能を有する。具体的には、設計部405は、算出部403によって算出された電源ノイズの波形のピークと、特定部404によって特定されたノイズ入力タイミングの期間とが重複しないタイミングを動作タイミングに設定する。すなわち、設定部405は、特定の1タイミングを動作タイミングとして設定するのではなく、動作タイミングとして設定したくないタイミング(特定部404によって特定された期間)を除いた期間の中から動作タイミングを設定する。なお、設定された動作タイミングは、RAM303、磁気ディスク305、光ディスク307などの記憶領域に記憶される。
【0042】
第2のクロックツリー取得部406は、設定部405によって特定された動作タイミングにて動作するようなクロックツリーを取得する機能を有する。第1のクロックツリー取得部402と同様に、第2のクロックツリー取得部406も、クロックツリー設計ツール420に接続されている。そして、第2のクロックツリー取得部406は、クロックツリー設計ツール420に対象回路のネットリストと第1のクロックツリーの情報を提供して、設定された動作タイミングにて動作する場合の回路全体のクロックの分配を表す第2のクロックツリーを設計させる。なお、設計された第2のクロックツリーは、第2のクロックツリー取得部406に取得され、RAM303、磁気ディスク305、光ディスク307などの記憶領域に記憶される。
【0043】
なお、図4に例示した設計支援装置100の構成では、装置内に第1のクロックツリー取得部402と第2のクロックツリー取得部406とがクロックツリーを取得するためのクロックツリー設計ツール420を内蔵した構成を採用している。しかしながら、クロックツリー設計ツール420の内蔵は必須ではなく、設計支援装置100から接続可能な外部の装置に配置してもよい。クロックツリー設計ツール420自体が既存の技術であるため、クロックツリーを取得する手法については特に限定はない。
【0044】
出力部407は、設計支援装置100において作成されたクロックツリーに関する情報を出力する機能を有する。クロックツリーに関する情報とは、具体的には、たとえば、取得部406によって取得された第2のクロックツリーが挙げられる。第2のクロックツリーは、ネットリスト用クロックツリー設計情報430として出力され、クロックツリーを含んだネットリストの作成に利用される。
【0045】
また、出力部407では、第2のクロックツリー以外にもクロックツリー設計に関する各種情報を出力するが、詳しくは、各種情報の作成する機能部の説明の際に合わせて述べる。また、出力部407の出力形式としては、たとえば、ディスプレイ308への表示、プリンタ313への印刷出力、I/F309による外部装置への送信がある。また、出力情報をRAM303、磁気ディスク305、光ディスク307などの記憶領域に記憶することとしてもよい。
【0046】
つぎに、設定部405による動作タイミングの設定を補助する機能部である、初期設定部408、判断部409、修正部410、生成部411および原因特定部412について説明する。
【0047】
初期設定部408は、設定部405が動作タイミングを設定する際に動作タイミングの初期設定をおこなう機能を有する。一般的に、半導体集積回路のデジタル回路の動作タイミングを自由に設定できることは少なく、実際には、仕様書や動作設計に応じて、動作タイミングには、設定可能期間の制約がある。したがって、初期設定部408は、回路情報400から設定可能期間についての制約情報を取得すると、設定可能期間の中の任意のタイミングを対象回路の動作タイミングに初期設定する。
【0048】
なお、初期設定された動作タイミングは、RAM303、磁気ディスク305、光ディスク307などの記憶領域に記憶される。また、設定可能期間のどこに初期設定するかは、設計者によって個別に調整できる。たとえば、任意のタイミングを設定可能期間の中間地点に設定すれば、修正時にタイミングを早めることも遅らせることもできるので設計の自由度が高い。
【0049】
判断部409は、初期設定された動作タイミングが適切か否かを判断する機能を有する。具体的には、判断部409は、初期設定部408によって初期設定された動作タイミングで対象回路を動作させた場合に、電源ノイズの波形のピークと、ノイズ入力タイミングの期間とが重複しないか否かを判断する。判断部409によって重複しないと判断された場合は、初期設定された動作タイミングが適切であることを意味する。判断部409によって、初期設定された動作タイミングが適切であると判断された場合、設定部405は、初期設定されたタイミングを対象回路の動作タイミングに設定する。
【0050】
反対に、判断部409によって、電源ノイズの波形のピークと、ノイズ入力タイミングの期間とが重複すると判断された場合、初期設定された動作タイミングが不適切であることを意味する。初期設定された動作タイミングが不適切な場合は、後述する修正部410によって動作タイミングが修正される。なお、判断部409による判断結果は、RAM303、磁気ディスク305、光ディスク307などの記憶領域に記憶される。
【0051】
修正部410は、設定された動作タイミングが不適切な場合に、動作タイミングを適宜修正する機能を有する。具体的には、修正部410によって電源ノイズの波形のピークと、ノイズ入力タイミングの期間とが重複すると判断された場合に、動作タイミングを設定可能期間の中で修正する。動作タイミングの修正の手法としては、たとえば、あらかじめ定めた時間Δt分動作タイミングを早める(−Δt)/遅らせる(+Δt)といった処理がある。他にも設計者が任意に設定してもよい。
【0052】
修正部410による修正がおこなわれると、判断部409では、修正したタイミングについて、再度、適切か否かの判断をおこなう。そして、適切であれば、修正したタイミングを動作タイミングとして第2のクロックツリーが設計される。一方、不適切であると判断された場合には、再度修正部410による修正処理に移行する。すなわち、動作タイミングが適切なタイミングに修正されるまで、修正処理が繰り返される。
【0053】
上述したように、判断部409と修正部410とを備えることによって、動作タイミングが適切なタイミングとなるように自動的にチューニングされる。しかしながら、検証支援回路の回路構成や、動作制約の設定によっては、チューニングを繰り返しても、適切な動作タイミングに収束しない場合も想定される。そこで、設計支援装置100では、所定の条件を満たした場合に、自動的な修正は不可能であると判断する機能を備えている。
【0054】
具体的には、たとえば、判断部409によって所定回数以上、動作タイミングが不適切であると判断された場合、修正部410による自動チューニングは無理であると判断するように設定してもよい。また、設定部405によって所定時間以上、対象回路の動作タイミングが設定されない場合、修正部410による自動チューニングは無理であると判断するように設定してもよい。
【0055】
生成部411は、上述のように自動チューニングが無理であると判断された場合に、再設計指示を生成する機能を有する。生成部411によって生成された再設計指示は、出力部407から出力される。生成部411によって再設計指示を生成することによって、設計者に対象回路の再設計を促すことができる。なお、生成された再設計指示は、RAM303、磁気ディスク305、光ディスク307などの記憶領域に記憶される。
【0056】
原因特定部412は、生成部411によって再設計指示が生成された場合、再設計を要する原因となった可能性の高い回路を特定する機能を有する。具体的には、原因特定部412は、対象回路の中から電源ノイズの波形のピークの時刻に遷移するデジタル回路を特定する。特定されたデジタル回路によって発生したノイズが、すなわち電源ノイズの波形のピーク部分のノイズを構成していることになる。なお、特定された回路の情報は、RAM303、磁気ディスク305、光ディスク307などの記憶領域に記憶される。
【0057】
なお、出力部407は、原因特定部412によって、再設計の原因となった可能性の高いデジタル回路が特定された場合、生成部411によって生成された再設計指示とともに、特定されたデジタル回路の情報を出力する。原因特定部412を備えることによって、性能劣化を抑制できない原因となる回路の情報が提供されるため、設計者による効率的な再設計に役立てることができる。
【0058】
(設計支援処理手順)
図5は、設計支援装置による設計支援処理手順を示すフローチャートである。図5のフローチャートでは、回路情報としてRTL記述のネットリストを取得して、ノイズによる性能劣化を回避するためのクロックツリーを含んだゲートレベル記述のネットリストを出力するまでの手順を表している。図5の各処理を実行することによって、ノイズ発生による回路性能の劣化を抑制する機能を備えたクロックツリーを含んだネットリストを生成することができる。
【0059】
図5において、まず、回路情報取得部401が回路情報400として、RTL記述のネットリストが入力されたか否かを判断する(ステップS501)。このステップS501において、ネットリストが入力されるまで待ち(ステップS501:Noのループ)、ネットリストが入力されると(ステップS501:Yes)、回路情報取得部401は、ネットリストをコンパイルして、ゲートレベル記述のネットリストを作成する(ステップS502)。
【0060】
ステップS502によってゲートレベル記述のネットリストが作成されると、作成されたネットリストを用いて、2系統の処理が実行される。まず、1つめの処理系統として、ステップS503〜S504によって、デジタル回路のクロックツリー生成処理がおこなわれる。同時に、2つめの処理系統として、ステップS505〜S507によって、ノイズ発生源の特定処理がおこなわれる。
【0061】
まず、1つめの処理系統では、第1のクロックツリー取得部402において、まず、ステップS502によって作成されたゲートレベル記述のネットリストからデジタル回路を抽出する(ステップS503)。そして、抽出したデジタル回路に関するクロックツリーを取得する(ステップS504)。なお、ステップS504によって取得されたクロックツリーは、図4にて説明した第1のクロックツリーに相当する。以上の処理によって、ノイズ発生源となるデジタル回路についてのクロックツリーが取得される。取得されたクロックツリーは、対象回路に1クロック入力されるたびにどのような波形のノイズが生じるかを算出する際に利用される。
【0062】
一方、2つめの処理系統では、第1のクロックツリー取得部402において、まず、ステップS502によって作成されたゲートレベル記述のネットリストから対象回路内のFF(フリップ・フロップ回路)とFF関連パスとを抽出する(ステップS505)。FF関連パスとは、抽出したFFからの出力が伝搬されるパスを指す。そして、ステップS505によって抽出されたパスに接続された論理回路を検索する(ステップS506)。
【0063】
ステップS506において、論理回路が検索されると、検索された論理回路をステップS505にて抽出したFFの遷移で動作する論理回路として特定する(ステップS507)。以上の処理によって、対象回路内の回路の中から、ノイズの影響を受ける回路が特定される。
【0064】
つぎに、算出部403では、ステップS504によって取得されたクロックツリーに基づいて、FFと特定した論理回路との遷移タイミングを特定する(ステップS508)。そして、ステップS508の遷移タイミングを参照して対象回路内で1クロックサイクルごとに生じるノイズ波形を算出する(ステップS509)。続いて、特定部404では、つぎに、ノイズ入力タイミングと回路性能との特性情報を参照して、回路性能がしきい値以下となるノイズ禁止期間を特定する(ステップS510)。
【0065】
つぎに、動作タイミングの設定処理へ移行する。まず、初期設定部408は、動作タイミング制約の中の中間のタイミングを動作開始タイミングに設定する(ステップS511)。そして、判断部409によって、設定した動作タイミングの場合に、ノイズ波形のピークとノイズ禁止期間とが重複するか否かを判断する(ステップS512)。
【0066】
ステップS512によって、ノイズ波形のピークとノイズ禁止期間とが重複しないと判断された場合(ステップS512:No)、さらに、すべての電圧のノイズ波形について判定したか否かを判断する(ステップS513)。一方、ノイズ波形のピークとノイズ禁止期間とが重複すると判断された場合には(ステップS512:Yes)、ステップS516のタイミング修正処理に移行する。以下、場合分けしながら順に説明する。
【0067】
まず、ステップS513において、すべての電圧のノイズ波形についての判定が終了するまで、ステップS512の判断処理を繰り返す(ステップS513:Noのループ)。そして、すべての電圧のノイズ波形についての判定が終了したと判断された場合(ステップS513:Yes)、設定部405によって動作タイミングを設定し、第2のクロックツリー取得部406は、設定した動作タイミングにて処理をおこなうようなアナログ回路のクロックツリーを取得する(ステップS514)。
【0068】
なお、ステップS514にて取得されたクロックツリーは、図4にて説明した第2のクロックツリーに相当する。そして、最後に、出力部407から、ステップS514によって取得したクロックツリーを含むネットリストを出力して(ステップS515)、一連の処理を終了する。
【0069】
また、ステップS512によって、ノイズ波形のピークとノイズ禁止期間とが重複すると判断された場合には(ステップS512:Yes)、まず、修正部410によって動作タイミングが修正される(ステップS516)。その後、生成部411によって、動作タイミングを所定回数修正しているか否かを判断する(ステップS517)。ステップS517は、修正部410による修正では、適切な修正が望めない回路を抽出する役割を担う。したがって、動作タイミングを所定回数修正していると判断された場合には(ステップS517:Yes)、生成部411によって生成した再設計指示を出力させ(ステップS518)、修正処理を中断する。
【0070】
また、ステップS517において、動作タイミングの修正が所定回数に満たないと判断された場合には(ステップS517:No)、ステップS512によって動作タイミングが適切であると判断されるまで、可能な限り修正処理を繰り返すことができる。
【0071】
以上説明したように、本実施の形態にかかる設計支援処理は、図3,4にて説明した構成を備えることによって設計支援装置100として提供される。
【0072】
(実施例)
つぎに、具体的な実施例を挙げて、設計支援装置100が、RTL記述のネットリストを取得して、クロックツリーを含んだゲートレベル記述のネットリストを生成するまでの手順について、順を追って説明する。
【0073】
<1,全体の処理の流れ>
図6は、実施例におけるクロックツリー設計手順を示す説明図である。図6のように、設計支援装置100では、RTL(Register Transfer Level)記述されたネットリスト600を論理合成することによってゲートレベル記述ネットリスト610を生成する(ステップS601)。その後、生成したゲートレベル記述ネットリスト610から、FFと関連パスとを抽出して(ステップS602)、各FFの遷移で動作する論理回路の情報630を取得する。
【0074】
図7は、FFと各FFの遷移で動作する論理回路を示す回路図である。ステップS610によって取得された情報によって、対象回路内のFFと各FFの遷移で動作する論理回路を抽出した回路700が特定される。なお、図7に示すように、回路700内には、アナログ回路としてADC701が含まれていることがわかる。ADC701は、ノイズの影響を受ける回路とみなされる。
【0075】
また、設計支援装置100では、ステップS601によって作成されたゲートレベル記述ネットリスト610について、第1のCTS(クロックツリー生成プログラム(Clock Tree Synthesis))を実行する(ステップS603)。なお、ステップS603の実行の際には、デジタル回路の動作タイミングに関する制約条件を表すCTS制約条件620が与えられる。第1のCTSでは、発生するノイズの波形を特定するため、デジタル回路に関連する部分のクロックツリーのみ生成し、アナログ回路のクロックツリーに関しては生成しない。
【0076】
図8は、デジタル回路のクロックツリーを含む回路図である。ステップS603によって生成されたクロックツリーによってデジタル回路のクロックツリーを含むゲートレベル記述ネットリスト650が生成される。クロックツリーを含むゲートレベル記述ネットリスト650は図8に示した回路800のような構成になっており、図7にて説明した回路700にクロックツリー810を追加した構成になっている。
【0077】
つぎに、設計支援装置100では、対象回路内のノイズ量を計算する(ステップS604)。ノイズ量計算のため、まず、デジタル回路のクロックツリーを含むゲートレベル記述ネットリスト650と、各FFの遷移で動作する論理回路の情報630とに基づいて、各FFと各FFの遷移で動作する論理回路の遷移タイミングを計算する。そして、論理回路の遷移タイミング計算結果と、あらかじめ用意した各論理回路の状態遷移時の発生ノイズ量テーブル640の値を各論理回路が動作する時間ごとに加算する。結果として、1クロックサイクルにおける電源ノイズの波形を算出することができる。なお、各論理回路の状態遷移時の発生ノイズ量テーブル640の具体的な内容についは詳しく後述する。
【0078】
ステップS604による算出結果は各クロックで発生するノイズ量660としてデータベースとして提供される。そして、各クロックで発生するノイズ量660とともに、あらかじめ取得しておいた対象回路におけるノイズ入力タイミング−回路性能特性DB670とを使用して、第2のCTSを実行する(ステップS605)。なお、ノイズ入力タイミング−回路性能特性DB670の取得についての具体的な手法については、詳しく後述する。
【0079】
ステップS605の第2のCTSでは、ゲートレベル記述ネットリスト650から対象回路内のアナログ回路のクロックタイミングを定めてクロックツリーを設計する。なお、第2のCTSにおいても、クロックタイミングを決定する際の設計制約として、アナログ回路制約条件680が与えられる。アナログ回路制約条件680は具体的には、対象回路の動作タイミング制約や、対象回路に望まれている目標性能(たとえば、ADCであれば、目標性能を満たすSNDR値)が含まれている。
【0080】
そして、第2のCTSによって設定されクロックタイミングで動作させた場合に目標性能を満たすか否かを判断する(ステップS606)。ステップS606において、第2のCTSによって設定されクロックタイミングで動作させた場合に目標性能を満たさないと判断された場合(ステップS606:No)、ノイズ入力のタイミングを修正するためデジタル回路のクロックツリーを設定する。具体的には、デジタル回路のCTSの修正をおこない(ステップS607)、対象回路の動作タイミングを動作タイミング制約内で回路特性が良くなる方向に移動させる。
【0081】
ステップS607の処理によって生成されたゲートレベル記述ネットリスト650について、再度、ステップS606の判断をおこなう。そして、目標性能を満たすと判断された場合(ステップS606:Yes)、他の電源電圧によるノイズ量についても同等の検証をおこなう。そして、1クロックタイミングのすべての動作時間で、対象回路の回路性能が目標性能以上となる動作タイミングを決定し、第2のCTSの設定に応じたクロックツリーを含むゲートレベル記述ネットリスト690が出力され、一連の処理を終了する。
【0082】
なお、ステップS607の修正処理によって動作タイミングを変更しても、対象回路の回路性能が目標性能に満たない場合もある。こういった場合の対処法として、対象回路内のデジタル回路の動作タイミングを修正して、再度クロックツリーを設計する手法がある。
【0083】
再設計の際には、まず、対象回路の回路性能が目標性能に満たない場合のノイズの大きさ、時間タイミングの範囲から、回路性能劣化の原因となるノイズが発生している時刻を特定する。そして、ステップS602にて生成された各FFの遷移で動作する論理回路の情報630を参照して、特定された時刻に状態遷移している論理回路を抽出する。修正処理の際には、抽出した論理回路の動作タイミングを、CTS制約条件620によって定められた動作タイミング制約の許す範囲で変更することで、効果的な修正が期待できる。
【0084】
なお、上述した手法を用いても、対象回路の回路性能の劣化が著しく、事前に与えた目標性能を満たせない場合も発生する。このような場合には、修正に関する情報を出力すると同時に設計者に対して設計の大幅な変更もしくは設計制約の緩和を促す警告を出力してもよい。
【0085】
<2,ノイズ入力タイミング−回路性能特性の取得>
つぎに、図6のステップS605にて利用したノイズ入力タイミング−回路性能特性DB670の作成について詳しく説明する。半導体集積回路上の対象回路について、ノイズ入力タイミング−回路性能特性を取得するには、様々な手法があるが、ここでは一例として専用のテスト用半導体回路を利用する手法について説明する。
【0086】
図9は、テスト用半導体回路の実装例を示す回路図である。図9に示すテスト用半導体回路900は、ADC回路901についてノイズ入力タイミング−回路性能特性を取得することができる。テスト用半導体回路900では、ADC回路901の電源配線部に、電源電圧変動回路903を挿入する。さらに、テスト用半導体回路900上に、制御回路902を設けている。制御回路902は、制御信号S1によって電源電圧変動回路903が出力する電源電圧を、ADC回路901へのクロック信号S2に合わせて変動させる。
【0087】
さらに、ADC回路901には外部からアナログ入力信号Ainが与えられる。そして、回路特性評価装置904では、AD変換後の出力信号Doutの波形とアナログ入力信号Ainの波形とを比較することにより、ADC回路901の主要特性であるSNDRを得ることができる。また、テスト用半導体回路900は、ADC回路901のクロックのタイミングと、電源電圧905の変動量と、変動するタイミングを変動させてSNDRを測定することにより、ADC回路901の特定動作タイミングで様々な量の電源ノイズが入った場合のSNDRを取得することができる。
【0088】
上述のように回路特性評価装置904によって取得した情報を蓄積することによって、ノイズ入力タイミング−回路性能特性DB670が作成される。なお、他の手法として、テスト用半導体回路900をソフトとウェアによって模擬した回路についてのシミュレーションを実行することにより、同様にノイズ入力タイミング−回路性能特性してもよい。
【0089】
<ノイズ波形算出処理>
つぎに、ノイズ波形算出処理について詳しく説明する。図6のステップS604に述べたように、実施例では、ノイズ波形を算出するために各論理回路の状態遷移時の発生ノイズ量テーブル640を参照している。各論理回路の状態遷移時の発生ノイズ量テーブル640とは、各論理回路が各状態遷移の際にそれぞれどのようなノイズを発生しているかを表したデータテーブルである。
【0090】
図10は、インバータ回路の発生ノイズ例を示すデータテーブルである。また、図11は、NAND回路の発生ノイズ例を示すデータテーブルである。各論理回路の状態遷移時の発生ノイズ量テーブル640には、論理回路ごとに図10,11に示したようなデータテーブル1000,1100が用意されている。例示したデータテーブル1000,1100は対象回路内の論理回路としてインバータ回路とNAND回路について、遷移状態ごとに発生するノイズ量が示されている。
【0091】
なお、図10,11において、clは論理回路の負荷、tsは入力信号の遷移時間を意味する。各ノイズ量を得るには、既存の静的タイミング解析(STA)ツールを用いて計算をおこなう。また、入力データによって論理回路が遷移する方向が異なるため、ノイズの計算時には、信号がrise/fallする場合のうち、発生ノイズが大きくなる方を計算に用いる。また、NAND回路のように、複数の入力がある場合には、ぞれぞれの入力データに応じて場合分けされ、ぞれぞれの状態に応じたノイズ量が特定される。
【0092】
したがって、ステップS604では、各FFと各FFの遷移で動作する論理回路の遷移タイミングごとに、対象となる論理回路について、ノイズ波形を算出するために各論理回路の状態遷移時の発生ノイズ量テーブル640を参照してノイズ量を特定する。そして、特定されたノイズ量を遷移タイミングごとに加算することによって、対象回路内で発生するノイズ波形を得ることができる。
【0093】
<3,ノイズ入力禁止期間の特定処理>
図12は、ノイズ入力禁止期間の特定例を示す説明図である。図12のグラフは、約100mVと約50mVとの2種類の電源ノイズを印加した場合のノイズ入力タイミング−回路性能特性である。図12のグラフ内の実線の波形は100mVの電源電圧のノイズによる影響を表し、破線は50mVの電源電圧のノイズによる影響を表している。たとえば、設計者が定めた目標性能がSNDR=52dB以上の場合、SNDR=SNDR=52dB未満となるノイズ入力タイミングのずれの期間が各種ノイズの入力を避けなければならない禁止期間となる。したがって、禁止期間の特定処理は、設計者がノイズ入力タイミング−回路性能特性を参照して手動でおこなってもよいし、目標性能を設定してノイズ入力タイミング−回路性能特性から自動的に禁止期間を設定するツールを利用してもよい。
【0094】
<4,動作タイミングの修正処理>
図13は、動作タイミングの修正例を示す説明図である。図13のように、まず、1クロックサイクルごとの電源ノイズを表す波形1300と初期設定タイミングとが比較される。そして、電源ノイズのピークが、初期設定動作タイミング内の禁止期間と重複しないかを判断する。なお、実施例では、100mVと50mVとの2種類の電源電圧によるノイズが発生しているため、電圧ごとに電源ノイズのピークが、初期設定動作タイミング内の禁止期間と重複しないかを判断する。
【0095】
図13のように、初期設定タイミングは、動作タイミングt1で動作を開始させるため、50mVの電源電圧による電源ノイズのピークと50mVのノイズ禁止期間とが重複している。したがって、動作タイミングt1のままでは、50mVの電源電圧による電源ノイズによって回路性能が著しく低下してしまう。
【0096】
そこで、動作タイミングt1を修正する。動作タイミングの修正可能期間は、ADC動作タイミング制約の表す期間に限定される。ここでは、一例として、動作タイミングt1を遅延させた動作タイミングt2に修正する。修正タイミングでは、100mVと50mVとのいずれの電源電圧による電源ノイズもノイズ禁止期間と重複していない。したがって、電源ノイズが入力されたとしても、回路性能が目標機能よりも劣化するような事態を防ぐことができる。
【0097】
以上説明したように、本実施の形態にかかる設計支援プログラム、設計支援装置および設計支援方法によれば、対象回路内で発生する電源ノイズの波形と、ノイズ入力のタイミングに応じた回路性能への影響の変化を把握することにより、電源ノイズが入力されるタイミングを回路性能への影響の小さなタイミングに調整することができる。したがって、回路内部で発生するノイズによる回路性能の劣化を、設計工数を増加させることなく、確実に回避させることできる。
【0098】
また、上述の技術を適用する際には、従来の半導体集積回路の設計工程における論理合成およびCTSをそのまま置き換えればよい。他の工程に関しては、従来通りの設計をおこなえばよい。したがって、本実施の形態にかかる設計支援処理は、従来の設計手順や設計支援装置に対して容易に導入できるという利点も併せ持っている。
【0099】
また、上記の技術は、動作タイミングの設定可能期間の制約がある場合には、設定可能期間の中の任意のタイミングを対象回路の動作タイミングに初期設定するとともに、設定した動作タイミングが適切か否かを判断する機能を備えている。したがって、設計者の熟練度にかかわらず、自動的に動作タイミングを設定することができる。
【0100】
また、上記の技術は、対象回路内で発生する電源ノイズの波形のピークと、設定した動作タイミングが不適切であると判断された場合に、自動的に最適な動作タイミングにチューニングする機能を備えている。したがって、回路性能を劣化させるような動作タイミングのクロックツリーの設計を防ぐことができる。
【0101】
また、上記の技術は、所定回数修正が繰り返された場合や、所定時間以上動作タイミングが設定できない場合には、設計者に対して再設計指示を出力する機能を備えている。したがって、自動的な動作タイミング調整が困難な場合であっても、修正処理の無限ループを防ぎ、効率的な検証処理を支援することができる。
【0102】
また、上記の技術は、原因特定機能によって、再設計指示が生成された場合、対象回路の中から電源ノイズの波形のピークの時刻に遷移するデジタル回路を特定して、ノイズ発生の原因となる回路の情報として設計者に提供することができる。したがって、回路性能低下の原因となる回路が特定されるため、効率的に再設計を支援することができる。
【0103】
また、上記の技術は、複数の電源電圧による電源ノイズが発生している場合には、電圧ごとに電源ノイズの波形を算出する。そして、算出された各波形のピークが、回路性能が低下する期間と重複しない対象回路の動作タイミング設定をすることができる。すなわち、電源電圧ごとに発生する電源ノイズのピークのタイミングが異なる場合であっても、アナログ回路への影響が少ないタイミングでノイズが入力されるようなタイミングに修正したクロックツリーを設計することができる。したがって、電源電圧の種類にかかわらず、回路性能を所定値以上に保つことができる。
【0104】
なお、本実施の形態で説明した設計支援方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。本設計支援プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本設計支援プログラムは、インターネットなどのネットワークを介して配布してもよい。
【0105】
また、本実施の形態で説明した設計支援装置100は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けIC(以下、単に「ASIC」と称す。)やFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。具体的には、たとえば、上述した設計支援装置100の機能(回路情報取得部401〜原因特定部412)をHDL記述によって機能定義し、そのHDL記述を論理合成してASICやPLDに与えることにより、設計支援装置100を製造することができる。
【符号の説明】
【0106】
100 設計支援装置
101 対象回路設計情報
102 クロックツリー設計情報
400 回路情報
401 回路情報取得部
402 第1のクロックツリー取得部
403 算出部
404 特定部
405 設定部
406 第2のクロックツリー取得部
407 出力部
408 初期設定部
409 判断部
410 修正部
411 生成部
412 原因特定部
420 クロックツリー設計ツール
430 ネットリスト用クロックツリー設計情報

【特許請求の範囲】
【請求項1】
コンピュータを、
対象回路のネットリストと、前記対象回路内のノイズに影響される回路についてのノイズ入力タイミングと回路性能との特性情報とを取得する回路情報取得手段、
前記回路情報取得手段によって取得されたネットリストを用いて前記対象回路内のデジタル回路に関するクロックの分配を表す第1のクロックツリーを取得する第1のクロックツリー取得手段、
前記第1のクロックツリー取得手段によって取得された第1のクロックツリーと、前記ネットリストとの構成に応じて、前記対象回路内のデジタル回路にて発生する1クロックサイクルごとの電源ノイズの波形を算出する算出手段、
前記回路情報取得手段によって取得されたノイズ入力タイミングと回路性能との特性情報の中から、前記対象回路の回路性能がしきい値以下になるノイズ入力タイミングの期間を特定する特定手段、
前記対象回路の動作タイミングを、前記算出手段によって算出された電源ノイズの波形のピークと、前記特定手段によって特定されたノイズ入力タイミングの期間とが重複しないタイミングに設定する設定手段、
前記対象回路のネットリストと前記第1のクロックツリーとを用いて、前記設定手段によって設定された動作タイミングにて動作する場合の回路全体に関するクロックの分配を表す第2のクロックツリーを取得する第2のクロックツリー取得手段、
前記第2のクロックツリー取得手段によって取得された第2のクロックツリーを出力する出力手段、
として機能させることを特徴とする設計支援プログラム。
【請求項2】
前記コンピュータを、さらに、
動作タイミングの設定可能期間の制約がある場合、前記設定可能期間の中の任意のタイミングを前記対象回路の動作タイミングに初期設定する初期設定手段、
前記初期設定手段によって初期設定された動作タイミングで前記対象回路を動作させた場合に、前記電源ノイズの波形のピークと、前記ノイズ入力タイミングの期間とが重複しないか否かを判断する判断手段、として機能させ、
前記設定手段は、
前記判断手段によって前記電源ノイズの波形のピークと、前記ノイズ入力タイミングの期間とが重複しないと判断された場合に、前記初期設定された前記任意のタイミングを前記対象回路の動作タイミングに設定することを特徴とする請求項1に記載の設計支援プログラム。
【請求項3】
前記コンピュータを、さらに、
前記判断手段によって前記電源ノイズの波形のピークと、前記ノイズ入力タイミングの期間とが重複すると判断された場合に、前記任意のタイミングを前記設定可能期間の中で修正する修正手段、として機能させ、
前記判断手段は、
前記修正手段によって修正されたタイミングで前記対象回路を動作させた場合に、前記電源ノイズの波形のピークと、前記ノイズ入力タイミングの期間とが重複しないか否かを判断し、
前記設定手段は、
前記判断手段によって前記電源ノイズの波形のピークと、前記ノイズ入力タイミングの期間とが重複しないと判断された場合に、前記修正された前記任意のタイミングを前記対象回路の動作タイミングに設定することを特徴とする請求項2に記載の設計支援プログラム。
【請求項4】
対象回路のネットリストと、前記対象回路内のノイズに影響される回路についてのノイズ入力タイミングと回路性能との特性情報とを取得する回路情報取得手段と、
前記回路情報取得手段によって取得されたネットリストを用いて前記対象回路内のデジタル回路に関するクロックの分配を表す第1のクロックツリーを取得する第1のクロックツリー取得手段と、
前記第1のクロックツリー取得手段によって取得された第1のクロックツリーと、前記ネットリストとの構成に応じて、前記対象回路内のデジタル回路にて発生する1クロックサイクルごとの電源ノイズの波形を算出する算出手段と、
前記回路情報取得手段によって取得されたノイズ入力タイミングと回路性能との特性情報の中から、前記対象回路の回路性能がしきい値以下になるノイズ入力タイミングの期間を特定する特定手段と、
前記対象回路の動作タイミングを、前記算出手段によって算出された電源ノイズの波形のピークと、前記特定手段によって特定されたノイズ入力タイミングの期間とが重複しないタイミングに設定する設定手段と、
前記対象回路のネットリストと前記第1のクロックツリーとを用いて、前記設定手段によって設定された動作タイミングにて動作する場合の回路全体に関するクロックの分配を表す第2のクロックツリーを取得する第2のクロックツリー取得手段と、
前記第2のクロックツリー取得手段によって取得された第2のクロックツリーを出力する出力手段と、
を備えたことを特徴とする設計支援装置。
【請求項5】
コンピュータが、
対象回路のネットリストと、前記対象回路内のノイズに影響される回路についてのノイズ入力タイミングと回路性能との特性情報とを取得する回路情報取得工程と、
前記回路情報取得工程によって取得されたネットリストを用いて前記対象回路内のデジタル回路に関するクロックの分配を表す第1のクロックツリーを取得する第1のクロックツリー取得工程と、
前記第1のクロックツリー取得工程によって取得された第1のクロックツリーと、前記ネットリストとの構成に応じて、前記対象回路内のデジタル回路にて発生する1クロックサイクルごとの電源ノイズの波形を算出する算出工程と、
前記回路情報取得工程によって取得されたノイズ入力タイミングと回路性能との特性情報の中から、前記対象回路の回路性能がしきい値以下になるノイズ入力タイミングの期間を特定する特定工程と、
前記対象回路の動作タイミングを、前記算出工程によって算出された電源ノイズの波形のピークと、前記特定工程によって特定されたノイズ入力タイミングの期間とが重複しないタイミングに設定する設定工程と、
前記対象回路のネットリストと前記第1のクロックツリーとを用いて、前記設定工程によって設定された動作タイミングにて動作する場合の回路全体に関するクロックの分配を表す第2のクロックツリーを取得する第2のクロックツリー取得工程と、
前記第2のクロックツリー取得工程によって取得された第2のクロックツリーを出力する出力工程と、
を実行することを特徴とする設計支援方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2011−76192(P2011−76192A)
【公開日】平成23年4月14日(2011.4.14)
【国際特許分類】
【出願番号】特願2009−224335(P2009−224335)
【出願日】平成21年9月29日(2009.9.29)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】